Tianyi Cui
515d48875e
fix: harden Web image admission
2026-07-30 01:58:36 +08:00
Tianyi Cui
6312e43a11
fix: preserve multi-image prompt batches
2026-07-30 00:58:35 +08:00
Tianyi Cui
3a4c436d83
refactor: narrow web image input v1
2026-07-29 23:18:57 +08:00
Yichen Jiang
6601830907
Merge remote-tracking branch 'origin/master' into worktree/web-multimodal-image-input
...
# Conflicts:
# apps/cli/README.i18n.yaml
# docs/core-data-structures/core.i18n.yaml
# docs/core-data-structures/llm-streaming.i18n.yaml
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# packages/client/connection/src/client/fixture.ts
# packages/client/connection/src/client/index.ts
# packages/client/runtime/README.i18n.yaml
# packages/client/runtime/README.md
# packages/client/runtime/README.zh.md
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/src/client/input/hub.ts
# packages/client/ui-conversation/src/client/service.ts
# packages/client/ui-conversation/src/client/skeleton/InputBar.tsx
# packages/compact/compact-basic/src/summarizer.ts
# packages/compact/compact-basic/tests/compact-basic.spec.ts
# packages/host/apiproxy/src/api-proxy.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/tests/rpc-schemas.spec.ts
# packages/llm/llm-deepseek/tests/serialize.spec.ts
# packages/llm/llm-pi-ai/tests/adapter.spec.ts
# packages/llm/llm-pi-ai/tests/convert.spec.ts
# packages/llm/llm-pi-ai/tests/provider-apis.e2e.ts
# packages/llm/token-meter/tests/token-meter.spec.ts
# packages/ui/tui/README.i18n.yaml
2026-07-29 10:18:53 +08:00
_Kerman
971f20b66e
fix: restore message migration CI coverage
2026-07-28 14:29:54 +08:00
_Kerman
350c296cff
fix: complete immutable message migration
2026-07-28 14:15:23 +08:00
_Kerman
fbf87e660c
refactor: identify and freeze messages at creation
2026-07-28 13:55:59 +08:00
Yichen Jiang
004f598917
Merge remote-tracking branch 'origin/master' into worktree/web-multimodal-image-input
...
# Conflicts:
# docs/architecture.i18n.yaml
# docs/architecture.md
# docs/architecture.zh.md
# docs/config-catalog.md
# docs/core-data-structures/core.i18n.yaml
# docs/core-data-structures/llm-streaming.i18n.yaml
# docs/module-graph.md
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# packages/README.i18n.yaml
# packages/client/connection/src/client/fixture.ts
# packages/client/connection/src/index.ts
# packages/client/runtime/README.i18n.yaml
# packages/client/runtime/README.md
# packages/client/runtime/README.zh.md
# packages/client/runtime/src/client/sessions/conversation.ts
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/src/client/apply.ts
# packages/client/ui-conversation/src/client/chat/ChatView.tsx
# packages/client/ui-conversation/src/client/chat/MessageItem.tsx
# packages/client/ui-conversation/src/client/contract/slots.ts
# packages/client/ui-trajectory/tests/views.spec.tsx
# packages/compact/compact-basic/README.i18n.yaml
# packages/cordis/tool-cordis/src/api-catalog.ts
# 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/index.ts
# packages/host/apiproxy/tests/fetch-carrier.spec.ts
# packages/llm/llm-deepseek/src/adapter.ts
# packages/llm/llm-deepseek/tests/adapter.spec.ts
# packages/llm/llm-deepseek/tests/serialize.spec.ts
# packages/llm/llm-pi-ai/README.i18n.yaml
# packages/llm/llm-pi-ai/src/adapter.ts
# packages/llm/llm-pi-ai/src/index.ts
# packages/llm/llm-pi-ai/tests/adapter.spec.ts
# packages/llm/llm/src/types.ts
# packages/ui/tui/README.i18n.yaml
# packages/ui/tui/src/index.ts
# packages/ui/tui/tests/tui.spec.ts
2026-07-28 11:41:40 +08:00
Tianyi Cui
5f49a81514
Merge remote-tracking branch 'origin/master' into worktree/pr717-merge-20260728
...
# Conflicts:
# pnpm-workspace.yaml
2026-07-28 00:13:04 +08:00
Tianyi Cui
f6a450102e
Merge updated origin/master into feat/tui-master-port
2026-07-27 23:55:53 +08:00
Tianyi Cui
861b7a7b8f
Merge branch 'master' into codex/bump-pi-ai-0.82.1
2026-07-27 23:49:33 +08:00
Tianyi Cui
4866a76d86
test(llm): match pi-ai 0.82.1 reasoning catalog
2026-07-27 23:29:01 +08:00
Tianyi Cui
8a952ab433
Merge remote-tracking branch 'origin/master' into worktree/pr628-merge-20260727
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-06-21-bounded-llm-request-recovery.md
# docs/architecture.i18n.yaml
# docs/config-catalog.md
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/core-data-structures/llm-streaming.i18n.yaml
# docs/core-data-structures/llm-streaming.md
# docs/core-data-structures/llm-streaming.zh.md
# docs/event-producer-consumer.md
# docs/module-graph.md
# examples/headless-agent/tests/headless.snapshot.ts
# packages/compact/compact-basic/tests/compact-loop-repro.spec.ts
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/core/agent-loop/README.md
# packages/core/agent-loop/src/loop.ts
# packages/examples/agent-spine-demo/README.md
# packages/llm/README.md
# packages/llm/llm-deepseek/src/adapter.ts
# packages/llm/llm-pi-ai/src/adapter.ts
# packages/llm/llm-retry/README.md
# packages/llm/llm/README.md
# packages/llm/llm/src/index.ts
# packages/llm/llm/tests/service.spec.ts
# packages/support/llm-replay/src/index.ts
# packages/support/llm-replay/tests/llm-replay.spec.ts
2026-07-27 22:44:43 +08:00
Turtle
6a7307de37
fix(llm-pi-ai): classify transport truncations
...
Personal customization replayed onto upstream master source.
2026-07-27 18:53:29 +08:00
Yichen Jiang
73e7e27799
refactor(llm): resolve model metadata together
2026-07-26 13:07:27 +08:00
Yichen Jiang
c981f18921
Merge remote-tracking branch 'origin/master' into worktree/web-multimodal-image-input
...
# Conflicts:
# apps/cli/README.md
# apps/cli/src/web.ts
# apps/web/tests/smoke-fixture.e2e.ts
# docs/architecture.i18n.yaml
# docs/module-graph.md
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/stdout.expected.jsonl
# packages/client/connection/src/client/api.ts
# packages/client/connection/src/client/fixture.ts
# packages/client/runtime/README.md
# packages/client/runtime/src/client/index.ts
# packages/client/runtime/src/client/sessions/conversation.ts
# packages/client/runtime/src/client/sessions/service.ts
# packages/client/runtime/src/client/sessions/session.ts
# packages/client/ui-conversation/src/client/apply.ts
# packages/client/ui-conversation/src/client/contract/slots.ts
# packages/client/ui-conversation/src/client/index.ts
# packages/client/ui-conversation/src/client/service.ts
# packages/client/ui-conversation/src/client/skeleton/ConversationRoot.tsx
# packages/client/ui-conversation/src/client/skeleton/EmptyState.tsx
# packages/client/ui-conversation/src/client/skeleton/InputBar.tsx
# packages/client/ui-conversation/src/client/stores.ts
# packages/client/ui-conversation/tests/apply-inject.spec.tsx
# packages/client/ui-conversation/tests/service-orchestration.spec.ts
# packages/client/ui-conversation/tests/skeleton-branches.spec.tsx
# packages/client/ui-conversation/tests/skeleton.spec.tsx
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/host/apiproxy/package.json
# packages/host/apiproxy/src/api-proxy.ts
# packages/host/apiproxy/src/api/sessions.schema.ts
# packages/host/runtime/package.json
# packages/host/runtime/src/boot.ts
# packages/host/runtime/tests/host-runtime.spec.ts
# packages/host/runtime/tsconfig.json
# packages/host/webserver/README.md
# packages/host/webserver/src/index.ts
# packages/host/webserver/tests/webserver.spec.ts
# packages/llm/llm-pi-ai/tests/convert.spec.ts
# packages/ui/acp/src/codec.ts
# packages/ui/acp/tests/codec.spec.ts
# pnpm-lock.yaml
2026-07-25 22:35:22 +08:00
Yichen Jiang
478376acaf
Merge remote-tracking branch 'origin/master' into worktree/llm-reasoning-effort
...
# Conflicts:
# .agents/notes/implemented/feature/2026-07-17-dedicated-full-screen-tui-front-door.i18n.yaml
# docs/architecture.i18n.yaml
# docs/core-data-structures/llm-streaming.i18n.yaml
# docs/core-data-structures/session.i18n.yaml
# docs/event-producer-consumer.md
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/stdout.expected.jsonl
2026-07-25 22:24:25 +08:00
Turtle
5345e93ceb
Merge remote-tracking branch 'origin/master' into codex/provider-retry-policy
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-06-21-bounded-llm-request-recovery.md
# docs/core-data-structures/llm-streaming.i18n.yaml
# packages/llm/llm-retry/README.md
# packages/llm/llm-retry/src/index.ts
# packages/llm/llm-retry/tests/retry.spec.ts
2026-07-25 16:05:05 +08:00
Turtle
b58e33268a
feat(llm): add per-provider retry policies
2026-07-25 10:18:16 +08:00
Yichen Jiang
8372340f9c
feat(llm): add model-specific reasoning effort controls
2026-07-25 07:47:51 +08:00
creatixchu
f57a4a044a
fix(gui): address ds-review-bot findings on image attachments
...
- dsh web gains --provider/--model: a non-deepseek provider mounts the
matching pi-ai catalog route (ambient credentials), making image input
reachable from the shipped Web assembly; requires an explicit --model
- attachment-local syncs the publication directories after the hard-link
publish so a reported durable reference survives a crash (POSIX; Windows
relies on filesystem metadata journaling)
- the attachment seam gains storage-free validateImage; the host validates a
complete multi-image prompt before persisting any member, so one malformed
image cannot strand valid members as unreferenced objects
- startSession sends before navigating: a rejected first send keeps the empty
state, its error strip, and the complete draft mounted
- the webserver rejects an undeclared-length body the moment it crosses the
configured limit instead of draining a potentially endless stream to EOF
2026-07-24 20:55:25 +08:00
creatixchu
304f034c83
fix(ci): repair branch gates after the master merge
...
- regenerate docs/module-graph.md for the attachment packages
- pack @deepseek-ai/dsh-attachment in the packed-install e2e closure so npm
resolves the new dsh-llm peer from the tarball set instead of the registry
- gate the pi-ai anthropic e2e profile strictly on ANTHROPIC_API_KEY: the
DeepSeek endpoint does not serve anthropic-messages, so the DEEPSEEK_API_KEY
fallback turned the keyless skip into a 404 across the whole suite
2026-07-24 20:07:40 +08:00
Turtle
207aab9d8d
fix(llm): classify empty model completions as retryable EMPTY_RESPONSE
...
A well-formed provider stream that ends with finish_reason stop and zero
content blocks previously became a successful empty assistant message: the
turn completed silently, and drivers like goal-session counted the no-op
round. Both adapters now map that degenerate completion to a finish
{kind:'error'} with the new canonical EMPTY_RESPONSE code from dsh-llm, and
dsh-llm-retry adds the code to its default retryable set, so the existing
closed-step recovery path retries it and fails loud once the budget is
exhausted.
Covered by adapter unit tests, an llm-retry default-policy test, and a new
authored keyless ACP snapshot (empty-response-retry) with a deterministic
1 ms zero-jitter retry overlay.
2026-07-24 19:23:12 +08:00
Yichen Jiang
580e05b794
fix(gui): harden multimodal image attachments
2026-07-23 19:38:37 +08:00
Yichen Jiang
cb4c11b869
Add web multimodal image attachments
2026-07-23 15:20:47 +08:00
Turtle
a58229187f
chore(llm-pi-ai): bump pi-ai to 0.81.1 for the gpt-5.6 model catalog
...
pi-ai 0.80 restructured its entrypoints: the static catalog reads now
live on /providers/all as getBuiltinModels/getBuiltinProviders (keyed by
the catalog-only BuiltinProvider type, replacing KnownProvider at those
call sites), and the global streamSimple moved to /compat. The config
schema gains the new 'max' reasoning level.
2026-07-22 14:30:01 +08:00
Yichen Jiang
b6f6c58435
Merge remote-tracking branch 'origin/master' into worktree/routed-model-compaction-policy
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-07-10-after-call-compaction-pressure-and-overflow-recovery.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-10-after-call-compaction-pressure-and-overflow-recovery.md
# .agents/notes/implemented/architecture/2026-07-10-after-call-compaction-pressure-and-overflow-recovery.zh.md
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/event-producer-consumer.md
# examples/headless-agent/tests/harness.ts
# examples/repl-agent/cordis.yml
# packages/compact/compact-basic/README.md
# packages/compact/compact-basic/src/index.ts
# packages/compact/compact-basic/tests/compact-basic.spec.ts
# packages/compact/compact-basic/tests/loader-composition.spec.ts
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/llm/README.md
# packages/llm/llm-deepseek/src/adapter.ts
# packages/llm/llm-pi-ai/src/adapter.ts
# packages/llm/llm/README.md
# packages/llm/llm/src/index.ts
# scripts/gen-cordis-catalog.ts
# website/zh-CN/api/harness/events.md
# website/zh-CN/api/harness/llm.md
# website/zh-CN/api/harness/token-meter.md
# website/zh-CN/guide/config.md
2026-07-21 10:17:55 +08:00
Tianyi Cui
cc2e14f76e
fix: close recovery review gaps
2026-07-20 22:11:26 +08:00
Yichen Jiang
cfa180c127
Resolve compaction policy per routed model
2026-07-20 15:34:00 +08:00
Tianyi Cui
3b0b0cefeb
feat: implement bounded LLM request recovery
2026-07-20 03:34:19 +08:00
Yichen Jiang
299059665d
Merge branch 'master' into worktree/pi-ai-manual-e2e
2026-07-19 21:47:04 +08:00
Tianyi Cui
4791b40b26
fix(llm-pi-ai): classify usage-based context overflow
...
Pass each resolved catalog model capacity into pi-ai stream conversion so the upstream full-message classifier can recognize provider-specific, silent, and length-stop overflow signals. Retain the harness text fallback for legacy provider wording and cover the catalog-resolution path with a mock-provider regression.
2026-07-19 14:18:13 +08:00
Yichen Jiang
fc478d675c
fix(ci): suppress bearer auth for Azure API keys
2026-07-19 14:10:47 +08:00
Yichen Jiang
39dea6107e
fix(ci): target Azure Foundry OpenAI v1 route
2026-07-19 14:06:18 +08:00
Yichen Jiang
51425dd61a
test(llm-pi-ai): surface provider e2e failures
2026-07-19 13:51:25 +08:00
Yichen Jiang
1fdcd5a773
ci: run pi-ai OpenAI e2e through Azure
2026-07-19 13:42:21 +08:00
Yichen Jiang
cb8cdafbe3
Merge remote-tracking branch 'origin/master' into worktree/pi-ai-manual-e2e
2026-07-19 13:39:27 +08:00
Tianyi Cui
7be78c7d4c
Merge latest origin/master into compact-post-step-overflow-recovery
...
# Conflicts:
# docs/agent-lifecycle.md
# docs/architecture.md
# docs/cookbook/extension-cookbook.i18n.yaml
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/event-producer-consumer.md
# docs/rfc/INDEX.md
# docs/rfc/implemented/architecture/2026-07-05-reconstructable-requests.md
# docs/rfc/implemented/architecture/2026-07-15-replay-token-meter-service.i18n.yaml
# docs/rfc/implemented/architecture/2026-07-15-replay-token-meter-service.md
# docs/rfc/implemented/architecture/2026-07-15-replay-token-meter-service.zh.md
# docs/rfc/implemented/feature/2026-06-18-compaction-capability-seam.md
# docs/rfc/implemented/feature/2026-07-07-session-prefix.md
# packages/compact/compact-basic/README.md
# packages/compact/compact-basic/src/config.ts
# packages/compact/compact-basic/src/index.ts
# packages/compact/compact-basic/src/summarizer.ts
# packages/compact/compact-basic/tests/compact-basic.spec.ts
# packages/compact/compact-basic/tests/compact-loop-repro.spec.ts
# packages/compact/compact/README.md
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/core/agent-loop/src/loop.ts
# packages/core/agent-loop/tests/cancel.spec.ts
# packages/llm/llm-deepseek/src/adapter.ts
# packages/llm/llm-pi-ai/README.md
# packages/llm/llm-pi-ai/src/stream.ts
# packages/llm/llm-pi-ai/tests/convert.spec.ts
# packages/llm/llm/README.md
# packages/llm/llm/src/index.ts
# packages/llm/llm/tests/service.spec.ts
# scripts/gen-doc-graphs.ts
2026-07-19 12:06:23 +08:00
Tianyi Cui
42863d7c24
Merge branch 'codex/simp-prune-llm-contract' into codex/simp-hide-llm-adapter-helpers
...
# Conflicts:
# docs/config-catalog.md
# packages/llm/llm-deepseek/src/index.ts
# packages/llm/llm-deepseek/tests/adapter.spec.ts
# packages/llm/llm-pi-ai/README.md
# packages/llm/llm-pi-ai/src/index.ts
# packages/llm/llm-pi-ai/tests/adapter.spec.ts
# packages/llm/llm-pi-ai/tests/convert.spec.ts
2026-07-18 12:47:53 +08:00
Yichen Jiang
b50e02a2b3
ci: add manual pi-ai provider e2e
2026-07-17 23:33:30 +08:00
Hypatia May
e8d066f750
feat(core): add post-step request recovery (PR3 phase 1)
2026-07-15 16:03:52 +08:00
Yichen Jiang
634840d406
fix(llm-pi-ai): validate replay provenance
2026-07-15 15:26:03 +08:00
Yichen Jiang
d3f8cb0f23
fix: harden replay and pi-ai request boundaries
2026-07-15 13:45:19 +08:00
Yichen Jiang
f1d39921c9
feat(acp): advertise and switch llm models
2026-07-15 13:33:42 +08:00
Yichen Jiang
e547980d77
feat(llm): route adapters by provider
2026-07-14 21:57:52 +08:00
Tianyi Cui
9361402c68
Merge branch 'codex/simp-prune-llm-contract' into codex/simp-hide-llm-adapter-helpers
...
# Conflicts:
# docs/config-catalog.md
2026-07-14 19:10:48 +08:00
Tianyi Cui
91075e010a
refactor: hide llm adapter helpers
2026-07-14 04:03:44 +08:00
Tianyi Cui
148046b9c8
docs: rebalance prose cleanup and add trimming skill
2026-07-13 23:27:00 +08:00
Tianyi Cui
b9e2d7ed85
Merge master into app attribution RFC
2026-07-05 00:45:39 +08:00
Tianyi Cui
544cc0439e
Merge remote app attribution branch
...
Resolve the RFC and implementation to defer OpenRouter-specific attribution headers and keep mandatory attribution to User-Agent only.
2026-07-04 22:47:53 +08:00