Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
299 commits
Select commit Hold shift + click to select a range
5e382a6
chore: files changed crates/openhuman-core/src/storage/lease_local.rs
senamakel Oct 10, 2026
200c509
chore: files changed crates/openhuman-core/src/profiles/host.rs,crate…
senamakel Oct 10, 2026
6fea0b9
chore: files changed crates/openhuman-core/src/storage/lease_local_te…
senamakel Oct 10, 2026
0cc1527
chore: files changed crates/openhuman-core/src/skills/write_root.rs
senamakel Oct 10, 2026
50f1276
chore: files changed crates/openhuman-core/src/storage/lease_local_te…
senamakel Oct 10, 2026
19ea1ab
chore: files changed crates/openhuman-core/src/skills/ops_install/uni…
senamakel Oct 10, 2026
2ba07c9
feat(security): add approval gate for tool call interception
senamakel Oct 10, 2026
43dc9a7
refactor(profiles): extract host profile helpers into dedicated module
senamakel Oct 10, 2026
67c61ab
feat(mcp): add host module for MCP server management
senamakel Oct 10, 2026
4a66ff8
chore: files changed crates/openhuman-core/src/profiles/host.rs,crate…
senamakel Oct 10, 2026
4b507fe
chore(session): remove unused imports and dead code
senamakel Oct 10, 2026
e753c3b
chore: files changed crates/openhuman-core/src/profiles/lifecycle.rs
senamakel Oct 10, 2026
01125cb
feat(profiles): add profile lifecycle management
senamakel Oct 10, 2026
51ef874
test(profiles): cover lifecycle transitions for profile activation
senamakel Oct 10, 2026
db26d64
docs(runtime): clarify current_agent_id is not a tenant key
senamakel Oct 10, 2026
befe2ac
feat(profiles): add property and host tests for gateway profiles
senamakel Oct 10, 2026
c4d3524
test(security): add approval gate tenant isolation tests
senamakel Oct 10, 2026
be60d3f
feat(mcp): add host agent and write root tests
senamakel Oct 10, 2026
ec9c0e9
test(skills): add write_root tests for skill file writes
senamakel Oct 10, 2026
7b9c06d
style: apply rustfmt formatting to profile and lease code
senamakel Oct 10, 2026
5f201fb
refactor(profiles): extract lifecycle helpers into dedicated module
senamakel Oct 10, 2026
375b5c8
test(session_store): cover profile-scoped session keys and transcript…
senamakel Oct 10, 2026
e923616
chore(ci): refresh saas ambient baseline
senamakel Oct 10, 2026
0ba012c
docs(profiles): add README for profile system
senamakel Oct 10, 2026
5916675
docs(readme): add module documentation for runtime and storage
senamakel Oct 10, 2026
eba37ac
fix(storage): persist lease release records unconditionally
senamakel Oct 10, 2026
026e06d
docs(profiles): add README for profile system
senamakel Oct 10, 2026
fa44f60
docs(profiles): add README for profiles module
senamakel Oct 10, 2026
ccce03d
docs(profiles): add README for the profiles module
senamakel Oct 10, 2026
47c918c
Merge remote-tracking branch 'upstream/main' into cve-keyring-encryption
senamakel Oct 10, 2026
2805676
style: apply rustfmt formatting to session store and approval tests
senamakel Oct 10, 2026
3895280
docs(profiles): clarify credential and deprovision ordering
senamakel Oct 10, 2026
286273d
test(saas_mode): add coverage for hashed id handling
senamakel Oct 10, 2026
efa66e8
test(saas): register hashed ids module in saas e2e suite
senamakel Oct 10, 2026
b300fc7
fix(agent): deliver background results to the originating channel
senamakel Oct 10, 2026
7e95522
test(saas_mode): reformat hashed id assertions
senamakel Oct 10, 2026
e46c3c4
test(keyring): cover encrypted default and migration safeguards
senamakel Oct 10, 2026
4602439
Merge remote-tracking branch 'upstream/main' into storage-sqlite-default
senamakel Oct 10, 2026
8b4912c
refactor(relay): extract thread lock map type alias
senamakel Oct 10, 2026
16ddddf
chore(ci): add profiles/surface_tests.rs to gated test allowlist
senamakel Oct 10, 2026
3256542
fix: avoid ambient home lookup in command path check
senamakel Oct 10, 2026
b69c0e1
Merge remote-tracking branch 'upstream/main' into cve-shell-paths
senamakel Oct 10, 2026
fa4b056
test: cover protected command literals with autonomy off
senamakel Oct 10, 2026
1aed845
fix(keyring): durably publish encrypted migration before plaintext cl…
senamakel Oct 10, 2026
54888cb
test: cover protected literals in interpreter tools
senamakel Oct 10, 2026
653b2a3
fix(keyring): retry durable publication before removing legacy copy
senamakel Oct 10, 2026
adfd654
Merge remote-tracking branch 'upstream/main' into storage-sqlite-default
senamakel Oct 10, 2026
3db12dd
chore(vendor): bump tinybus submodule
senamakel Oct 10, 2026
a3681ff
chore(deps): add libc to lockfile dependencies
senamakel Oct 10, 2026
c8871f9
Merge remote-tracking branch 'upstream/main' into saas-profile-lifecycle
senamakel Oct 10, 2026
a391609
test(saas): retry core startup when the chosen port is taken
senamakel Oct 10, 2026
262a251
test(saas_mode): share core startup helper and log tail
senamakel Oct 10, 2026
0b1d81e
test(saas_mode): cover a core that takes a port already in use
senamakel Oct 10, 2026
7eb3520
test(saas_mode): remove unused Child import
senamakel Oct 10, 2026
78ac2ca
chore(ci): add profiles/surface_tests.rs to gated test allowlist
senamakel Oct 10, 2026
a5bf53f
chore(tests): add tenant isolation test coverage
senamakel Oct 10, 2026
6a949ce
style(tests): reorder imports and reformat assertion
senamakel Oct 10, 2026
425ebf6
fix(notifications): key core notifications by workspace scope
senamakel Oct 10, 2026
7bffc98
test(notifications): cover core notifications after workspace move
senamakel Oct 10, 2026
12e163b
fix(profiles): serialize release with lifecycle lock and roll back ar…
senamakel Oct 10, 2026
9ef9f43
refactor(orchestration): simplify drain_target fallback arm
senamakel Oct 10, 2026
ccdae80
Merge remote-tracking branch 'upstream/main' into saas-profile-lifecycle
senamakel Oct 10, 2026
428cafb
Merge remote-tracking branch 'upstream/main' into saas-default-agent-…
senamakel Oct 10, 2026
c0e8ee9
Merge remote-tracking branch 'upstream/main' into storage-sqlite-default
senamakel Oct 10, 2026
8890665
Merge remote-tracking branch 'upstream/main' into storage-sqlite-default
senamakel Oct 10, 2026
a9e5865
chore: files changed crates/openhuman-core/src/storage/agents_tests.rs
senamakel Oct 10, 2026
968d1eb
refactor: simplify negated boolean conditions
senamakel Oct 10, 2026
f46f06b
Merge remote-tracking branch 'upstream/main' into storage-sqlite-default
senamakel Oct 10, 2026
25f64a2
chore: bump vendored submodules and reorder test modules
senamakel Oct 10, 2026
dd80fbe
chore(deps): bump workspace crate versions and align windows-sys
senamakel Oct 10, 2026
06a4064
Merge remote-tracking branch 'upstream/main' into ci-e2e-green-followup
senamakel Oct 10, 2026
16058dd
Merge remote-tracking branch 'upstream/main' into pr/7214
senamakel Oct 10, 2026
01b22be
fix(inference): preserve custom provider CA settings
senamakel Oct 10, 2026
fdf73da
test(todo-list): cover compact floating card styling
senamakel Oct 10, 2026
6da0e76
feat(assistant-ui): add compact todo list variant and restyle progres…
senamakel Oct 10, 2026
3f9be7a
fix(conversations): widen composer cards to match the input
senamakel Oct 10, 2026
5922661
refactor(styles): move composer surface width overrides out of layer
senamakel Oct 10, 2026
401d783
fix(todo-list): raise completed text contrast in compact mode
senamakel Oct 10, 2026
94d1e49
style: reformat todo list and composer surface selectors
senamakel Oct 10, 2026
75473a1
style(css): widen task and subagent cards in thread root
senamakel Oct 10, 2026
7bcadc4
fix(todo-list): use opaque background on progress card
senamakel Oct 10, 2026
275a534
test(assistant-ui): cover scroll-to-bottom anchor behaviour
senamakel Oct 10, 2026
16b297f
feat(assistant-ui): hand scroll anchoring to a dedicated component
senamakel Oct 10, 2026
698f8e0
refactor(thread): inline scroll anchor return
senamakel Oct 10, 2026
55c8757
test(providers): add identity tests for useOpenHumanExternalStore
senamakel Oct 10, 2026
971f98b
chore: files changed app/src/components/assistant-ui/elements/scroll-…
senamakel Oct 10, 2026
a36cda8
chore: files changed app/src/components/assistant-ui/thread.followBot…
senamakel Oct 10, 2026
41552f6
test(assistant-ui): cover edit composer behaviour in thread
senamakel Oct 10, 2026
7324ed3
test(assistant-ui): add missing runtime props to edit composer harness
senamakel Oct 10, 2026
0e7a8f6
test(assistant-ui): drop unused assistant message from edit composer …
senamakel Oct 10, 2026
efa3932
refactor(assistant-ui): inline edit composer markup
senamakel Oct 10, 2026
1b6da2d
refactor(message-queue): render queue items through assistant-ui prim…
senamakel Oct 10, 2026
fae21e0
style(assistant-ui): reformat thread and queue components
senamakel Oct 10, 2026
9c28c1c
refactor(assistant-ui): drop custom scroll controller and document co…
senamakel Oct 10, 2026
c713a4c
test(assistant-ui): type edit composer harness callbacks as async
senamakel Oct 10, 2026
0fbd773
chore: files changed app/src/components/assistant-ui/thread.editCompo…
senamakel Oct 10, 2026
b050272
docs(conversations): clarify assistant-ui runtime ownership comments
senamakel Oct 10, 2026
a667092
docs(frontend): reformat markdown tables
senamakel Oct 10, 2026
f854327
fix(ai): preserve provider CA updates across async saves
senamakel Oct 10, 2026
691e020
test(conversations): cover hover-triggered context breakdown
senamakel Oct 10, 2026
9ac9040
feat(context): add tooltip toggle and refine token formatting
senamakel Oct 10, 2026
b390234
refactor(assistant-ui): make thread list item reusable by host adapters
senamakel Oct 10, 2026
6eea02e
test(threadList): update tests for assistant-ui search and rename props
senamakel Oct 10, 2026
a1a740e
refactor(conversations): rebuild thread list on assistant-ui primitives
senamakel Oct 10, 2026
285fcb6
fix(thread-list): mark running thread titles as busy
senamakel Oct 10, 2026
4e68063
feat(conversations): show failed todo steps in pinned plan card
senamakel Oct 10, 2026
5cb212d
style: reformat conversation and thread list components
senamakel Oct 10, 2026
0671ec1
fix(threadList): pass convertMessage to external store runtime
senamakel Oct 10, 2026
c06a1da
fix(conversations): label context cost and stabilize thread list memo
senamakel Oct 10, 2026
f12e5e5
fix(threadList): guard against missing threads during async list updates
senamakel Oct 10, 2026
3441f39
style(conversations): reformat thread list and update tests
senamakel Oct 10, 2026
7a815cf
fix(threadList): re-sync route when reselecting active thread
senamakel Oct 10, 2026
d691e48
feat(thread-list): add label prop to ThreadListNew
senamakel Oct 10, 2026
d66f868
feat(thread-list): replace running spinner with title shimmer
senamakel Oct 10, 2026
e177cd7
fix(ai): preserve transactional CA provider updates
senamakel Oct 10, 2026
0c8734b
style(assistant-ui): add gap to context breakdown header
senamakel Oct 10, 2026
55ce260
fix(ai): make provider connection writes failure-safe
senamakel Oct 10, 2026
7c65b1a
test: align upstream guards with shared policy
senamakel Oct 10, 2026
64b8743
fix(ai): serialize same-provider connection updates
senamakel Oct 10, 2026
3bb6316
chore: files changed app/src/components/layout/shell/AppSidebar.test.…
senamakel Oct 10, 2026
1f9612b
refactor(assistant-ui): migrate elements to semantic color tokens
senamakel Oct 10, 2026
62be54e
test(conversations): drop unused search and storage mocks
senamakel Oct 10, 2026
e8a7790
refactor(assistant-ui): replace opacity-based text colors with muted-…
senamakel Oct 10, 2026
e2e0733
chore(vendor): bump tiny* submodule pins
senamakel Oct 10, 2026
6c6e737
fix(ai): serialize provider connection updates
senamakel Oct 10, 2026
6fe7ab8
style(assistant-ui): apply prettier formatting to chat elements
senamakel Oct 10, 2026
2ec78d5
test(ai): assert provider rollback restores settings
senamakel Oct 10, 2026
e0a17db
fix: bound optional memory work in agent runs
senamakel Oct 10, 2026
fb752cc
fix(assistant-ui): remove content-visibility from message roots
senamakel Oct 10, 2026
59bd631
chore(vendor): bump tinyagents, tinybox, tinybus, tinychannels and ti…
senamakel Oct 10, 2026
b85b477
fix(config): document provider CA schema field
senamakel Oct 10, 2026
92f1990
chore: pin TinyMemory v1.27.2 and verify harness integration
senamakel Oct 10, 2026
cdaddc0
test(conversations): cover plan cards rendering in composer overlay
senamakel Oct 10, 2026
76cb2ec
fix(ai): retain published provider settings in queue
senamakel Oct 10, 2026
438cba8
fix(conversations): overlay composer surfaces above the input
senamakel Oct 10, 2026
66d3b59
style: reformat edit composer and todo overlay test
senamakel Oct 10, 2026
24917a8
fix(ai): normalize provider slugs when reconnecting
senamakel Oct 10, 2026
c6d3c40
fix: retain active memory budgets and refund cancelled calls
senamakel Oct 10, 2026
ac1b745
Merge remote-tracking branch 'upstream/main' into saas-default-agent-…
senamakel Oct 10, 2026
a2fc4a1
Merge remote-tracking branch 'upstream/main' into saas-profile-lifecycle
senamakel Oct 10, 2026
4dd13ba
refactor(profiles): pass host directly to release_all
senamakel Oct 10, 2026
c627b58
test(profiles): import paths in hashed-id test
senamakel Oct 10, 2026
fdf9bce
Merge pull request #7281 from senamakel/saas-profile-lifecycle
senamakel Oct 10, 2026
d3dc117
Merge remote-tracking branch 'upstream/main' into issue/5579
senamakel Oct 10, 2026
748c1e5
Merge remote-tracking branch 'upstream/main' into saas-default-agent-…
senamakel Oct 10, 2026
09c72e1
feat(conversations): add task card history tracking
senamakel Oct 10, 2026
17b80aa
test(conversations): assert live task cards render in assistant messages
senamakel Oct 10, 2026
e2673c5
feat(conversations): render turn task cards inside assistant messages
senamakel Oct 10, 2026
3bc9695
style(conversations): reformat turn task card modules
senamakel Oct 10, 2026
fac2749
test(conversations): mock user scoped storage and seed task turn mess…
senamakel Oct 10, 2026
d90279d
fix(assistant-ui): keep active task card pinned below message content
senamakel Oct 10, 2026
e2054d7
fix(conversations): render task tool calls as standalone
senamakel Oct 10, 2026
4233006
style(assistant-ui): reformat task card and conversation test files
senamakel Oct 10, 2026
a358e48
fix(assistant-ui): offset sticky task cards above the composer
senamakel Oct 10, 2026
5ebe659
fix(tauri): relay private core websockets
senamakel Oct 10, 2026
84b5564
test(conversations): register goal and todos reducers in chat test st…
senamakel Oct 10, 2026
1550ddb
feat(assistant-ui): dock active task cards above the composer
senamakel Oct 10, 2026
1050ecf
fix(conversations): show task card state and persist cards per thread
senamakel Oct 10, 2026
15fb28c
fix(conversations): import ActiveTurnTaskCards in AssistantUiChat
senamakel Oct 10, 2026
8594fa9
style(conversations): reformat turn task card derivation
senamakel Oct 10, 2026
2bbfd34
feat(assistant-ui): show running loader and refine task card layout
senamakel Oct 10, 2026
2608757
style(thread-list): drop shimmer from running thread title
senamakel Oct 10, 2026
2c7d696
style(assistant-ui): fix task card formatting
senamakel Oct 10, 2026
5128efd
chore(assistant-ui): drop redundant margin on task state icon
senamakel Oct 10, 2026
43616e4
fix(conversations): derive task card state from todos and goals
senamakel Oct 10, 2026
bbbe350
test(conversations): cover completed task cards staying with their turn
senamakel Oct 10, 2026
8e841a0
test(conversations): reformat composer surface test assertions
senamakel Oct 10, 2026
68267b2
chore: files changed app/src/components/assistant-ui/elements/task-ca…
senamakel Oct 10, 2026
33999e8
style(conversations): reformat task card code and tests
senamakel Oct 10, 2026
95c7af8
feat: queue memory writes and prefetch context off live turns
senamakel Oct 10, 2026
e0e9106
Merge remote-tracking branch 'upstream/main' into swiggy-memory-stall
senamakel Oct 10, 2026
414b99a
fix(assistant-ui): remove stray observer cleanup from thread root
senamakel Oct 10, 2026
251c453
chore: files changed app/src/pages/__tests__/Conversations.auiCompose…
senamakel Oct 10, 2026
2fef82d
chore: files changed app/src/pages/__tests__/Conversations.auiCompose…
senamakel Oct 10, 2026
b161efb
fix(conversations): stop spinner on active todo while task is waiting
senamakel Oct 10, 2026
f2283c8
chore: files changed app/src/components/assistant-ui/elements/agent-p…
senamakel Oct 10, 2026
8700a8d
feat(assistant-ui): constrain thread content width
senamakel Oct 10, 2026
a107572
Merge pull request #7277 from senamakel/saas-default-agent-tenant
senamakel Oct 10, 2026
16d83ae
fix: stabilize CI and browser e2e
senamakel Oct 10, 2026
93caf1a
test(assistant-ui): add render isolation test for thread
senamakel Oct 10, 2026
2c3071f
chore: files changed app/src/components/assistant-ui/thread.renderIso…
senamakel Oct 10, 2026
17eb02f
perf(assistant-ui): isolate message renderers from composer updates
senamakel Oct 10, 2026
22776df
Merge upstream/main into cve-keyring-encryption
senamakel Oct 10, 2026
180c6dc
fix(keyring): make encrypted migration durable and available
senamakel Oct 10, 2026
c475c5a
fix(tauri): allow private socket relay IPC
senamakel Oct 10, 2026
18ff2ff
Merge remote-tracking branch 'upstream/main' into cve-keyring-encryption
senamakel Oct 10, 2026
f1205c0
Merge remote-tracking branch 'upstream/main' into issue/5579
senamakel Oct 10, 2026
295f971
Merge remote-tracking branch 'upstream/main' into cve-shell-paths
senamakel Oct 10, 2026
3a4098b
Merge remote-tracking branch 'upstream/main' into storage-sqlite-default
senamakel Oct 10, 2026
9d35caa
Merge pull request #7267 from senamakel/cve-keyring-encryption
senamakel Oct 10, 2026
a51d991
test: cover history stability across turns
senamakel Oct 10, 2026
9c79a20
perf(thread): avoid redundant message merges and state updates
senamakel Oct 10, 2026
24682e8
test: cover transcript history refresh stability
senamakel Oct 10, 2026
0d50116
chore: files changed app/test/e2e/specs/ui-polish.browser.mjs
senamakel Oct 10, 2026
3232d8f
test(providers): cover repeated next-turn history stability
senamakel Oct 10, 2026
98e3ffb
test(thread): cover next-turn history stability
senamakel Oct 10, 2026
b2db2c4
test(e2e): fix ui polish width assertion
senamakel Oct 10, 2026
e71e3f3
test(e2e): add missing globals and url imports to ui-polish spec
senamakel Oct 10, 2026
69c79c2
test(e2e): reorder imports and wrap long expression
senamakel Oct 10, 2026
ac098ea
fix: address e2e review findings
senamakel Oct 10, 2026
c20f0d3
test(providers): cover message converter stability across turns
senamakel Oct 10, 2026
c5b4e63
test: stabilize next turn runtime test state reads
senamakel Oct 10, 2026
5bebc58
feat(assistant-ui): keep a stable message id for the live streaming tail
senamakel Oct 10, 2026
8178750
fix(conversations): anchor turn task cards to the thread's own messages
senamakel Oct 10, 2026
da68fe6
test(e2e): start a new conversation and send with enter
senamakel Oct 10, 2026
648baa4
chore(vendor): remove unused motosan OAuth crate
senamakel Oct 10, 2026
d185f2d
fix(conversations): refresh thread todos and goal when a turn settles
senamakel Oct 10, 2026
73a2488
Merge pull request #7329 from senamakel/audit-motosan-oauth
senamakel Oct 10, 2026
9c1a7c4
chore(conversations): tidy imports and formatting in thread hooks
senamakel Oct 10, 2026
012d8f1
fix: preserve selected thread rows during stale loads
senamakel Oct 10, 2026
c0b1509
chore: files changed app/test/e2e/specs/ui-polish.browser.mjs
senamakel Oct 10, 2026
8f7d4e1
chore: pin released wallet and channels with compatible HTTP adapter
senamakel Oct 10, 2026
706c844
fix: restore CI gates and native runtime tests
senamakel Oct 10, 2026
eb59de2
fix: fence queued memory work and preserve harness budgets
senamakel Oct 10, 2026
e265feb
docs(assistant-ui): correct reasoning panel scroll comment
senamakel Oct 10, 2026
d6f55df
test(e2e): format ui polish spec assertions
senamakel Oct 10, 2026
1e7aa0e
fix: handle superseded thread clears and init dialog states
senamakel Oct 10, 2026
b31fdc2
feat(observability): enable sampled Sentry profiling
senamakel Oct 10, 2026
2753bc2
Merge pull request #7293 from senamakel/swiggy-memory-stall
senamakel Oct 10, 2026
b0ea725
Merge remote-tracking branch 'upstream/main' into ui-polish
senamakel Oct 10, 2026
21d5ea9
chore(vendor): bump tinychannels, tinymemory and tinywallet
senamakel Oct 10, 2026
cf16716
Merge pull request #7330 from senamakel/sentry-profiling
senamakel Oct 10, 2026
f417fe7
chore(deps): downgrade vendored crates and pin windows-sys versions
senamakel Oct 10, 2026
72ffe89
chore(vendor): bump tinychannels, tinymemory and tinywallet
senamakel Oct 10, 2026
ef5c6ef
feat(ui): centralize toast messages and history
senamakel Oct 10, 2026
48fff55
chore(i18n): remove unused translation keys
senamakel Oct 10, 2026
c61cb2f
style(i18n): format locale maps
senamakel Oct 10, 2026
19b64aa
chore(deps): refresh lockfile with dependency upgrades
senamakel Oct 10, 2026
a1bf86f
Merge pull request #7334 from senamakel/global-toast-log
senamakel Oct 10, 2026
7e9107b
test(conversations): merge duplicate threadSlice imports
senamakel Oct 10, 2026
0c1a7fb
style(conversations): reorder test imports and reformat store setup
senamakel Oct 10, 2026
7acd109
fix(security): pass sync_parent_dir directly to avoid closure type mi…
senamakel Oct 10, 2026
57aa9bd
Merge pull request #7337 from senamakel/i18n-sync
senamakel Oct 10, 2026
7135a11
Merge remote-tracking branch 'upstream/main' into storage-sqlite-default
senamakel Oct 10, 2026
618386a
Merge pull request #7338 from senamakel/ui-polish
senamakel Oct 10, 2026
3ebdbf3
fix(ci): align app lock and x402 test with current pins
senamakel Oct 10, 2026
a794c36
fix(storage): preserve non-UTF-8 notification workspace keys
senamakel Oct 10, 2026
f5ecd06
fix(ci): include default storage import e2e lane
senamakel Oct 10, 2026
32c3295
fix(ci): satisfy clippy after main merge
senamakel Oct 10, 2026
5331f5d
fix(ci): account for sqlite-only storage e2e target
senamakel Oct 10, 2026
e324a4b
Merge pull request #7244 from senamakel/storage-sqlite-default
senamakel Oct 10, 2026
606d255
feat(embed): add dynamic runtime APIs and verified documentation
senamakel Oct 10, 2026
ee5cce6
Merge remote-tracking branch 'upstream/main' into embed-dynamic-7306
senamakel Oct 10, 2026
477cc30
Merge branch 'fix-custom-ai-certs-6905' of github.com:senamakel/openh…
senamakel Oct 10, 2026
2946e58
Merge pull request #7214 from senamakel/fix-custom-ai-certs-6905
senamakel Oct 10, 2026
aa35626
Merge pull request #7340 from senamakel/embed-dynamic-7306
senamakel Oct 10, 2026
b7dce83
Merge pull request #7226 from senamakel/issue/5579
senamakel Oct 10, 2026
8350e90
Merge pull request #7266 from senamakel/cve-shell-paths
senamakel Oct 10, 2026
b390512
Merge upstream/main into ci-e2e-green-followup
senamakel Oct 10, 2026
1da9b39
fix: resolve PR 7268 review findings
senamakel Oct 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
9 changes: 5 additions & 4 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -91,10 +91,11 @@ OPENHUMAN_MODEL=
# [optional] Workspace directory (default: ~/.openhuman or ~/.openhuman-staging when OPENHUMAN_APP_ENV=staging)
# Leave commented out to use the default. Setting to empty string is treated as unset.
# OPENHUMAN_WORKSPACE=
# [optional] Master key for the `encrypted_file` keyring used in staging/production,
# as 64 hex characters (`openssl rand -hex 32`). Headless/container deploys have no
# OS keychain to hold it; set exactly one of these two, injected from your secret
# manager. Losing the key orphans every secret encrypted under it.
# [required without an OS keychain] Master key for the `encrypted_file` keyring,
# which is the default unless OPENHUMAN_APP_ENV=dev/development or an explicit
# backend override is set. Use 64 hex characters (`openssl rand -hex 32`).
# Headless/container deploys should set exactly one of these two through a
# secret manager. Losing the key orphans every secret encrypted under it.
# OPENHUMAN_KEYRING_MASTER_KEY=
# OPENHUMAN_KEYRING_MASTER_KEY_FILE=/run/secrets/openhuman_master_key
# [optional] Default: 0.7
Expand Down
14 changes: 14 additions & 0 deletions .github/ci-paths-filter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,20 @@ docs:
- 'scripts/generate-architecture-docs.mjs'
- 'scripts/__tests__/generate-architecture-docs.test.mjs'
- 'gitbooks/developing/architecture/frontend.md'
- 'gitbooks/developing/embed/**'
- 'gitbooks/developing/embedding.md'
- 'gitbooks/SUMMARY.md'
- 'docs/gitbooks/en/developing/embed/**'
- 'docs/gitbooks/en/developing/embedding.md'
- 'docs/gitbooks/en/SUMMARY.md'
- 'crates/openhuman-embed/**'
- 'scripts/generate-embed-docs.mjs'
- 'scripts/run-embed-examples.mjs'
- 'scripts/__tests__/generate-embed-docs.test.mjs'
- 'scripts/__tests__/run-embed-examples.test.mjs'
- 'llms.txt'
- 'llms-full.txt'
- 'EMBED.md'
- 'package.json'
rust-core:
- '.github/workflows/ci-*.yml'
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/test-reusable.yml
Original file line number Diff line number Diff line change
Expand Up @@ -244,6 +244,9 @@ jobs:
# The core binary and developer bins live in the CLI crate.
bash scripts/ci-cancel-aware.sh cargo test -p openhuman-cli --bins --features "${CLI_FEATURES}"
bash scripts/ci-cancel-aware.sh cargo test -p openhuman --doc --features "${FEATURES}"
bash scripts/ci-cancel-aware.sh cargo test -p openhuman-embed --doc --features "${FEATURES}"
RUSTDOCFLAGS="-D warnings" bash scripts/ci-cancel-aware.sh cargo doc -p openhuman-embed --no-deps --features "${FEATURES}"
node scripts/run-embed-examples.mjs
while IFS= read -r target; do
[ -n "${target}" ] || continue
Expand Down
3 changes: 0 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,3 @@ diff-coverage.md
ci-out/
ci-out-ex63/

# Cargo build output inside the in-tree motosan-ai-oauth crate
vendor/motosan-ai-oauth/target/

7 changes: 6 additions & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -405,6 +405,12 @@ Additional rules:

## Tool, harness, and runtime boundaries

Embed public API documentation: [Embedding](gitbooks/developing/embed/README.md),
[concepts](gitbooks/developing/embed/concepts/README.md), and the source-generated
[builder setters](gitbooks/developing/embed/builder-setters.md). Snippets come from
compiled examples; run `pnpm docs:generate` and `pnpm docs:check` after changing them.


`tinyagents` owns tool-call dialects, parsing, catalog rendering, transcript
replay, session identity, and the agent loop. `tinytools` owns the shared
`Tool` trait and tool types. OpenHuman owns execution policy, approvals,
Expand Down Expand Up @@ -553,7 +559,6 @@ Direct rendered submodules under `vendor/`:
| `tinyskills` | Host-independent skill/workflow bundle parsing, discovery, scope resolution, resource inventory, and safe reads. OpenHuman owns trust and execution policy. |
| `tinyvoice` | Host-agnostic voice primitives such as audio framing, VAD, wake-word gating, routing, and STT hallucination detection. |
| `tinywallet` | Multi-chain wallet: `tinywallet-crypto` (address, asset, chain, `rpc::Transport`, tx codec), `tinywallet-x402` (x402 wire, payment, spending ledger, `x402_request` tool), `tinywallet-web3` (wallet engine, per-chain build/sign/broadcast flows, swap/bridge/dapp quotes, agent tools) behind host seams (`WalletSigner`, `PaymentSigner`, `WalletAccounts`, `RpcEndpoints`, `QuoteScope`, `Web3Backend`, `ProxyPolicy`), and the loadable `tinywallet-module` that derives keys and signs. OpenHuman keeps keyring, consent, credentials, config, controllers and the seam impls under `web3/`. |
| `motosan-ai-oauth` | Provider-agnostic PKCE OAuth login and token-refresh primitives. |

Some rendered submodules are shared dependencies nested inside those projects,
not separate OpenHuman feature implementations. Make changes to them in their
Expand Down
Loading
Loading