_Kerman
7d0301fe05
Merge master into scoped tool executors
2026-10-19 21:53:41 +08:00
_Kerman
455686626d
refactor(tools): separate scoped executors from tool registration
2026-10-19 14:49:55 +08:00
_Kerman
c3efd4bff8
refactor(session-projection): keep state reads inside owning services
2026-10-15 18:18:58 +08:00
Tianyi Cui
d5edd3294b
test(context): mount directory provider for deferred guidance
2026-10-06 01:27:55 +08:00
Tianyi Cui
79bd3d8da7
feat(session): centralize working directories and directory context
2026-10-06 01:27:54 +08:00
_Kerman
0a382becb3
Merge latest origin/master into xtr/agent-setup-hook
2026-09-14 13:57:18 +08:00
Tianyi Cui
deb0d7e1b5
test(file-reference): publish restored workspace fixtures atomically
2026-09-13 04:56:35 +08:00
_Kerman
aeb13413c7
test(agent): complete awaited creation migration
2026-09-09 17:14:53 +08:00
_Kerman
9b7a8ccc9f
feat(agent): await initialization through agent/created
2026-09-09 16:20:00 +08:00
Tianyi Cui
40792330c0
fix(system-prompt): keep model persona prefix and place cwd in suffix
2026-09-06 20:35:42 +08:00
Turtle
15f2997bcb
cleanup: omit unneeded invariant companions
2026-08-28 13:12:52 +08:00
Chinesezjc
6ac1b82939
test(file-reference-local): pin the unreadable-subtree test to POSIX non-root
...
chmod 0 can only deny directory reads on POSIX to a non-root owner:
Windows exposes no directory permission bits for readdir, and root
bypasses them. Where the fixture stays readable the sealed candidate is
indexed, so the unreadable-branch behavior is pinned on POSIX non-root.
An injected readdir failure keeps that branch covered on every platform.
2026-08-27 21:12:14 +08:00
Yichen Jiang
8e9da9debf
refactor(session-reference): label discovery from projections alone
...
A title now comes from an attached session's live projection cut or a cold
one's durable checkpoint, and from nothing else. Attachment is decided by the
session store at read time, so a session that attached after the listing is no
longer answered from a checkpoint its log has moved past — the stale-title case
`api-session.list` already handles this way.
The log fold and its per-log memo are gone. Folding one title costs a whole
log, and this call sits under every keystroke; a session no projection answers
for is labeled by its id and regains its title the first time it is opened.
`lib` leaves the default exclusions: Ruby gems and many npm packages keep
sources there, and the miss would be silent and total. A traversal whose root
is unreadable now rejects instead of publishing an empty index over entries
that are still good, which is what the stale-while-revalidate path claimed but
could not do while every readdir error was swallowed. A drill marks the menu
drilled only when its edit actually reached the draft.
Refs #3154
Refs #3180
2026-08-27 15:21:08 +08:00
Yichen Jiang
97e0299f74
feat(web): trim @ mention rows and cut their discovery cost
...
Session candidates labelled from projection checkpoints instead of a full
log fold per keystroke, with the uncheckpointed remainder folded once and
memoized while its log stays cold. The file index keeps answering while an
invalidated traversal rebuilds behind the caret, and its default exclusions
now cover build outputs so deep sources stay reachable.
Rows carry only what distinguishes them: a file names its parent directory,
a session names its workspace only when that workspace is not the current
one, and a drilled listing names none because its new breadcrumb does.
Resolves #3180
Related to #3154
2026-08-27 11:42:06 +08:00
Yichen Jiang
9b0f6f9017
Merge remote-tracking branch 'origin/master' into worktree/web-file-session-references
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-07-25-web-command-surfaces-and-assembly.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-25-web-command-surfaces-and-assembly.md
# .agents/notes/implemented/architecture/2026-07-25-web-command-surfaces-and-assembly.zh.md
# .agents/notes/implemented/feature/2026-07-21-cross-session-references.i18n.yaml
# .agents/notes/implemented/feature/2026-07-21-cross-session-references.md
# .agents/notes/implemented/feature/2026-07-21-cross-session-references.zh.md
# .agents/notes/implemented/feature/2026-07-27-web-subagent-conversations.i18n.yaml
# apps/cli/config/web.cordis.yml
# apps/cli/package.json
# apps/web/tests/scaffold.ts
# docs/capability-seams.md
# docs/config-catalog.md
# docs/cordis-catalog/services.md
# docs/event-producer-consumer.md
# docs/module-graph.md
# packages/client/connection/src/client/api.ts
# packages/client/connection/src/client/fixture.ts
# packages/client/connection/src/client/index.ts
# packages/client/runtime/src/client/contract/session.ts
# packages/client/runtime/src/client/sessions/session.ts
# packages/client/runtime/tests/session.client.spec.ts
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/README.md
# packages/client/ui-conversation/README.zh.md
# packages/client/ui-conversation/src/client/chat/ChatView.tsx
# packages/client/ui-conversation/src/client/chat/MessageItem.tsx
# packages/client/ui-conversation/src/client/chat/chat-flow.ts
# packages/client/ui-conversation/src/client/input/facade.ts
# packages/client/ui-conversation/src/client/input/hub.ts
# packages/client/ui-conversation/tests/apply-inject.client.spec.tsx
# packages/client/ui-conversation/tests/chat-branch-tails.client.spec.tsx
# packages/client/ui-conversation/tests/chat-view.client.spec.tsx
# packages/client/ui-conversation/tests/input-bar.client.spec.tsx
# packages/client/ui-conversation/tests/input-matrix.client.spec.tsx
# packages/client/ui-conversation/tests/input-scenarios.client.spec.tsx
# packages/client/ui-conversation/tests/skeleton.client.spec.tsx
# packages/client/ui-input-trigger/package.json
# packages/client/ui-input-trigger/src/types.ts
# packages/client/ui-jobs/README.i18n.yaml
# packages/client/ui-slash/README.md
# packages/client/ui-slash/README.zh.md
# packages/client/ui-subagent/README.i18n.yaml
# packages/client/ui-subagent/README.md
# packages/client/ui-subagent/README.zh.md
# packages/client/ui-subagent/package.json
# packages/client/ui-subagent/src/client/index.ts
# packages/client/ui-subagent/tests/browser-plugin.client.spec.ts
# packages/client/ui-subagent/tsconfig.json
# packages/context/session-reference/README.i18n.yaml
# packages/context/session-reference/README.md
# packages/context/session-reference/README.zh.md
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/core/session/README.i18n.yaml
# packages/core/session/README.zh.md
# packages/host/apiproxy/README.i18n.yaml
# packages/host/apiproxy/README.md
# packages/host/apiproxy/README.zh.md
# packages/host/apiproxy/src/api-proxy.ts
# packages/host/apiproxy/src/api/index.ts
# packages/host/apiproxy/src/api/rpc-map.ts
# packages/host/apiproxy/src/api/rpc.schema.ts
# packages/host/apiproxy/src/api/rpc.ts
# packages/host/apiproxy/src/api/sessions.ts
# packages/host/apiproxy/src/fetch/client.ts
# packages/host/apiproxy/src/fetch/handler.ts
# packages/host/apiproxy/src/index.ts
# packages/host/apiproxy/tests/client-handler.spec.ts
# packages/host/apiproxy/tsconfig.json
# pnpm-lock.yaml
# scripts/gen-cordis-catalog.ts
# scripts/gen-doc-graphs.ts
# scripts/verify-package-readme-model-experience.ts
# tsconfig.base.json
# tsconfig.client.json
# vitest.config.ts
2026-08-14 16:18:40 +08:00
Yichen Jiang
634306156e
Merge remote-tracking branch 'origin/master' into worktree/web-file-session-references
...
# Conflicts:
# apps/cli/config/base.cordis.yml
# apps/cli/config/web.cordis.yml
# apps/cli/package.json
# apps/web/tests/queue-actions.e2e.ts
# apps/web/tests/snapshots/code-mode-round/ui.expected.md
# apps/web/tests/snapshots/cordis-tool-round/ui.expected.md
# apps/web/tests/snapshots/fresh-round-trip/ui.expected.md
# apps/web/tests/snapshots/lifecycle-chrome/reloaded.expected.md
# apps/web/tests/snapshots/live-interactions/cancel.expected.md
# apps/web/tests/snapshots/live-interactions/error-auth.expected.md
# apps/web/tests/snapshots/live-interactions/retry.expected.md
# apps/web/tests/snapshots/question-composer/answered.expected.md
# apps/web/tests/snapshots/queue-actions/editing.expected.md
# apps/web/tests/snapshots/queue-actions/ui.expected.md
# apps/web/tests/snapshots/steering/mid-steer.expected.md
# apps/web/tests/snapshots/steering/settled.expected.md
# docs/config-catalog.md
# docs/cordis-catalog/services.md
# docs/event-producer-consumer.md
# docs/module-graph.md
# packages/client/runtime/src/client/sessions/session.ts
# packages/client/runtime/tests/fold-adapter.spec.ts
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/README.zh.md
# packages/client/ui-conversation/src/client/chat/ChatView.tsx
# packages/client/ui-conversation/src/client/chat/MessageItem.module.css
# packages/client/ui-conversation/src/client/chat/MessageItem.tsx
# packages/client/ui-conversation/src/client/chat/chat-flow.ts
# packages/client/ui-conversation/src/client/input/contract.ts
# packages/client/ui-conversation/src/client/input/facade.ts
# packages/client/ui-conversation/src/client/input/hub.ts
# packages/client/ui-conversation/src/client/input/machine.ts
# packages/client/ui-conversation/tests/apply-inject.spec.tsx
# packages/client/ui-conversation/tests/chat-branch-tails.spec.tsx
# packages/client/ui-conversation/tests/chat-view.spec.tsx
# packages/client/ui-conversation/tests/input-bar.spec.tsx
# packages/client/ui-conversation/tests/input-machine.spec.ts
# packages/client/ui-conversation/tests/skeleton.spec.tsx
# packages/client/ui-reference/README.i18n.yaml
# packages/client/ui-reference/package.json
# packages/client/ui-reference/tsconfig.json
# packages/client/ui-slash/README.i18n.yaml
# packages/client/ui-slash/README.md
# packages/client/ui-slash/README.zh.md
# packages/client/ui-subagent/README.md
# packages/client/ui-subagent/README.zh.md
# packages/client/ui-subagent/src/client/index.ts
# packages/client/ui-subagent/tests/browser-plugin.spec.ts
# packages/client/ui-trajectory/tests/client-bundle.spec.ts
# packages/core/session/README.i18n.yaml
# packages/host/apiproxy/README.i18n.yaml
# packages/host/apiproxy/README.md
# packages/host/apiproxy/README.zh.md
# packages/host/apiproxy/package.json
# packages/host/apiproxy/src/api-proxy.ts
# packages/host/apiproxy/src/api/index.ts
# packages/host/apiproxy/src/api/sessions.ts
# packages/host/apiproxy/src/fetch/handler.ts
# packages/host/apiproxy/src/index.ts
# packages/ui/tui/src/index.ts
# packages/ui/tui/tests/tui.spec.ts
# pnpm-lock.yaml
2026-08-03 19:34:40 +08:00
Yichen Jiang
9943451f3a
Merge remote-tracking branch 'origin/master' into worktree/web-file-session-references
...
# Conflicts:
# apps/cli/cordis.yml
# docs/cordis-catalog/services.md
# docs/event-producer-consumer.md
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/README.zh.md
# packages/client/ui-conversation/src/client/chat/MessageItem.module.css
# packages/host/apiproxy/README.i18n.yaml
# packages/host/apiproxy/src/api-proxy.ts
# packages/host/apiproxy/src/api/index.ts
# packages/host/apiproxy/src/api/rpc.schema.ts
# packages/host/apiproxy/src/api/rpc.ts
# packages/host/apiproxy/src/fetch/handler.ts
# pnpm-lock.yaml
2026-07-30 20:13:55 +08:00
Yichen Jiang
c4bb19dfb0
Merge remote-tracking branch 'origin/master' into worktree/web-file-session-references
...
# Conflicts:
# .agents/notes/implemented/feature/2026-07-21-cross-session-references.i18n.yaml
# apps/cli/package.json
# docs/cordis-catalog/services.md
# docs/event-producer-consumer.md
# docs/module-graph.md
# packages/client/connection/src/client/fixture.ts
# packages/client/connection/tests/fake-api.ts
# packages/client/runtime/tests/fake-api.ts
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/src/client/input/hub.ts
# packages/client/ui-conversation/tests/apply-inject.spec.tsx
# packages/context/session-reference/README.i18n.yaml
# packages/context/session-reference/tests/session-reference.spec.ts
# packages/core/session/README.i18n.yaml
# packages/core/session/README.md
# packages/core/session/README.zh.md
# packages/host/apiproxy/README.i18n.yaml
# packages/host/apiproxy/README.md
# packages/host/apiproxy/README.zh.md
# packages/host/apiproxy/package.json
# packages/host/apiproxy/src/api-proxy.ts
# packages/host/apiproxy/src/api/rpc-map.ts
# packages/host/apiproxy/src/api/rpc.schema.ts
# packages/host/apiproxy/src/api/rpc.ts
# packages/host/apiproxy/src/api/sessions.ts
# packages/host/apiproxy/src/fetch/client.ts
# packages/host/apiproxy/src/fetch/handler.ts
# packages/host/apiproxy/tests/client-handler.spec.ts
# packages/host/apiproxy/tests/fetch-carrier.spec.ts
# packages/ui/tui/src/index.ts
# pnpm-lock.yaml
# tsconfig.base.json
# tsconfig.client.json
2026-07-29 10:22:36 +08:00
Yichen Jiang
2a549c244c
Merge remote-tracking branch 'origin/master' into worktree/web-file-session-references
...
# Conflicts:
# .agents/notes/implemented/feature/2026-07-21-cross-session-references.i18n.yaml
# .agents/notes/implemented/feature/2026-07-21-cross-session-references.md
# .agents/notes/implemented/feature/2026-07-21-cross-session-references.zh.md
# docs/config-catalog.md
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/event-producer-consumer.md
# docs/module-graph.md
# packages/client/connection/src/client/api.ts
# packages/client/connection/src/client/index.ts
# packages/client/runtime/src/client/sessions/conversation.ts
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/src/client/chat/MessageItem.module.css
# packages/client/ui-conversation/src/client/chat/MessageItem.tsx
# packages/client/ui-conversation/tests/chat-branch-tails.spec.tsx
# packages/context/file-reference-local/src/search.ts
# packages/context/file-reference-local/tests/search.spec.ts
# packages/core/session/src/index.ts
# packages/host/apiproxy/README.i18n.yaml
# packages/host/apiproxy/src/api-proxy.ts
# packages/host/apiproxy/src/fetch/handler.ts
# packages/ui/tui/src/chat/file-autocomplete.ts
# packages/ui/tui/src/file-autocomplete.ts
# packages/ui/tui/src/index.ts
# packages/ui/tui/tests/tui.spec.ts
# scripts/verify-package-readme-model-experience.ts
# tsconfig.client.json
2026-07-28 11:33:33 +08:00
Yichen Jiang
ad3632f122
feat(web): add file and session references
2026-07-27 15:25:33 +08:00