Commit graph

192 commits

Author SHA1 Message Date
Chinesezjc
3648331b11 Merge remote-tracking branch 'origin/master' into feat/toolcard-image-result
# Conflicts:
#	packages/client/ui-chat/src/client/chat/ChatNodeSeat.tsx
#	packages/client/ui-chat/src/client/chat/ChatView.tsx
#	packages/extensions/cordis-client-runner/src/client/slot-catalog.ts
2026-09-02 12:02:25 +08:00
Turtle
8b799cd7ac Merge pull request #3266 from deepseek-harness/refactor/session-persistence-handle-seam
refactor(session-persistence)!: handle-based seam with a lifecycle-owned write path
2026-09-02 00:50:53 +08:00
Turtle
bec6805d6a refactor(session-persistence)!: handle-based seam with a lifecycle-owned write path
The persistence seam is now create/open/stat/list returning per-session
SessionHandles (read/append/flush/close); every log read and write flows
through the owning handle. The seam package exports only the service and
handle contracts, consumer-visible errors, and pure durable-data
validation helpers; each backend owns its complete storage runtime, and
the shared contract suites pin equivalent observable behavior. The
backend routes published sessions' live events by id into the active
write handle; agent-loop only acquires, seeds, and closes the handle.
Resume appends interruptedTurnClosers through its write handle;
session-query owns the revision-keyed cold cache. Legacy-only surfaces
are removed in the same swap: locate/readRaw/supportsRawArtifacts, the
legacy event-shape read migration, zstd torn-frame salvage,
DSH_SESSION_JSONL, and hook transcript_path population; a torn final
zstd frame is discarded whole; the session-list cold blank probe returns
on stat metadata (eventCount derived from the last physical row,
sizeBytes). The WebUI ZIP export serializes the logical log from a read
handle, so both backends export identically.

Refs #3245
2026-09-01 23:19:02 +08:00
fz
0cdcc9c3c5 feat(presets): omit workflow from PTC mode 2026-09-01 22:45:09 +08:00
Chinesezjc
d2954806de fix(snapshots): project read-image-attachment-path fixture into canonical packed layout 2026-09-01 15:19:37 +08:00
fz
0a0f9e59ff feat(base): expose web fetch by default 2026-09-01 15:18:18 +08:00
Chinesezjc
a23c3dd64e Merge branch 'origin/master' into feat/toolcard-image-result 2026-09-01 14:45:24 +08:00
fz
aefbee95e2 test(acp): refresh adjacent messaging schema 2026-09-01 14:22:49 +08:00
fz
ab9dcd5a2a Merge remote-tracking branch 'origin/master' into feat/sdk-default-web-fetch 2026-09-01 14:17:15 +08:00
Dudu-0223
d960d90a98 test(snapshot): refresh Python PTC prompt 2026-09-01 13:46:36 +08:00
Dudu-0223
4093ce465b Merge remote-tracking branch 'origin/master' into feat/3220-steer-service 2026-09-01 13:46:35 +08:00
fz
1bd880c587 Merge remote-tracking branch 'origin/master' into feat/sdk-default-web-fetch
# Conflicts:
#	packages/bundle/headless/README.i18n.yaml
#	packages/bundle/headless/README.md
#	packages/bundle/headless/README.zh.md
2026-09-01 13:45:44 +08:00
fz
036abf8c6c test(snapshots): refresh remaining headless web headers 2026-09-01 12:02:29 +08:00
fz
aaf10753a1 test(snapshots): separate ACP web headers 2026-09-01 11:49:55 +08:00
Chinesezjc
666bd48eae fix(ui-tool): scope the image-card path fallback to nested calls; repair merge-broken docs and snapshot fixtures 2026-09-01 11:40:21 +08:00
fz
cf7b0bd5a4 feat(headless): expose web fetch by default 2026-09-01 11:40:10 +08:00
fz
ca723d9273 feat(sdk): expose web fetch by default 2026-08-31 20:18:50 +08:00
Chinesezjc
974fca9f5a fix(code-runtime-python): restore oxlint suppressions lost in the #3289 merge-forward and re-pack the ptc-python fixture
The #3289 merge-forward dropped four typescript/no-unnecessary-condition
suppressions from index.ts (boot-write-failure fake child stdin, the
admit()-closure logsTruncated recheck, and both settled rechecks whose
guards flip mid-wait), turning the lint:contracts-ready gate red. Re-add
them with their reasons. The merge also carried a ptc-python-turn session
fixture that was not in canonical packed layout; migrate-packed-session-fixtures
re-writes it so session-fixture-layout passes.
2026-08-31 17:52:25 +08:00
Chinesezjc
5bb2c46453 Merge branch 'master' into feat/toolcard-image-result 2026-08-31 17:11:15 +08:00
Tianyi Cui
d15610a66b test(snapshot): refresh Python PTC fixture for latest master 2026-08-31 17:00:18 +08:00
Tianyi Cui
711ec7ffac test(snapshot): canonicalize Python PTC fixture 2026-08-31 15:50:45 +08:00
Tianyi Cui
7f84a825c9 fix(code-runtime): settle Python provider contracts 2026-08-31 15:50:45 +08:00
Turtle
244de7c18a refactor(bundle): remove the agent spine demo 2026-08-31 11:23:30 +08:00
Dudu-0223
43840d6ece fix(subagent): harden adjacent message guidance 2026-08-31 11:16:00 +08:00
CreatixChu
c3672eb1e3 Merge pull request #3277 from deepseek-harness/worktree/fix-3269-read-image
fix(tool-fs): accept extension-less attachment paths in read_image
2026-08-31 11:12:47 +08:00
creatixchu
6516fbcde8 Merge origin/master into worktree/steer-followup-images 2026-08-31 10:37:39 +08:00
creatixchu
90a8467213 Merge remote-tracking branch 'origin/master' into worktree/fix-3269-read-image 2026-08-31 10:00:53 +08:00
Dudu-0223
3091bdc257 fix(subagent): address steer review findings 2026-08-30 16:08:20 +08:00
Dudu-0223
9f86f31411 test: align catalogs and packed session fixtures 2026-08-30 14:44:12 +08:00
Dudu-0223
b91e7ce366 Unify adjacent Agent messaging 2026-08-30 14:14:46 +08:00
Chinesezjc
a4d4404708 feat(ui-tool): render read_image results as the image
A settled top-level `read_image` call printed its raw attachment object as
literal text in the tool card — `{"type":"image","attachment":{…}}` —
instead of the image, because no presentation metadata told a client card
how to present the reference and the tool-card layer had no image concept.

Host: `read_image` declares an `output.presentationMeta` persisting
`{ path }` only. The attachment reference deliberately lives in the
settled result content — the single record a `tools/post-execute`
replacement rewrites — not in `meta`; the id is opaque and
provider-owned, checked for existence only.

Client: `imageCardModel` derives the card from the call head, the meta
path, the result's own image block, and a shape-matched envelope. ToolRow
gains an `image` card slot; the `read_image` toolview declares the
Tool-owned `tool.call.images` slot as its child and dispatches the
gallery through it. ui-chat down-threads the session-authorized loader
(`ChatNodeOwnerProps.loadImage`), so the tool layer supplies only derived
references plus the loader and never imports an attachment
implementation; ui-attachment fills the slot with its message gallery
renderer. The card keeps the envelope text below the gallery for the
no-attachment-plugin deployment. An image-bearing tool registers a keyed
toolview; the generic fallback keeps its flattened text. `read_image`
joins the read variant with its own locale title key; both rows share
`read-family-row.tsx`.

Verification: `read-image.spec.ts` (metadata projection, envelope by
shape, reference narrowing, real-execution round trip, rejection
branches incl. non-digest ids), `image-card.client.spec.tsx` (derivation,
row render site dispatching the slot, keyed registration with the
child-slot declaration, empty-slot fallbacks, media-type enum), keyless
snapshots (`read-image-gif` added; read-image/-dimension/-reencode
updated to the `{path}` meta), five injected-defect negative controls,
and a demo GIF recorded from this PR's head through the official
image-capable model.
2026-08-29 17:41:05 +08:00
imccyu
4d92a61e00 test(e2e): reserve pro for adapter coverage 2026-08-29 17:08:44 +08:00
Yichen Jiang
ee309c0794 Merge pull request #3299 from deepseek-harness/worktree/fix-subagent-settings-label-color
fix(snapshot): bind fixture servers to OS-assigned ports
2026-08-29 13:17:27 +08:00
Yichen Jiang
7fbd33de00 fix(snapshot): keep fixture lifecycle tests source-clean 2026-08-29 11:50:13 +08:00
Yichen Jiang
1f8d7b73af fix(snapshot): own fixture listener lifecycle 2026-08-29 11:29:46 +08:00
imccyu
84c7ae3398 fix(web): align connection indicator labels 2026-08-29 11:18:58 +08:00
imccyu
18480ff902 test(connection): verify and document recovery behavior 2026-08-29 11:18:58 +08:00
imccyu
39a5a1d7e4 chore(docs): regenerate catalogs, graphs, and the message-feedback golden
- gen-cordis-catalog / gen-cordis-inspect-catalog / gen-client-catalog /
  gen-config-catalog / gen-doc-graphs / gen-module-graph outputs pick up
  the converged Remote vocabulary (gateway/* codes, RemoteError JSDoc)
  and the dsh-util-time package; the zh sides of the three
  English-generated pages follow the same line-number shifts.
- the message-feedback protocol golden records the accepted wire
  change: a boundary-validation failure now reports
  gateway/input-invalid with structured details instead of a bare
  internal code.
2026-08-28 22:37:42 +08:00
Yichen Jiang
9055a8af3a fix(snapshot): bind fixture servers to OS-assigned ports 2026-08-28 21:37:38 +08:00
Yif
3a0dd5d38b Merge remote-tracking branch 'origin/master' into feat/session-turn-stats-display
# Conflicts:
#	packages/client/ui-primitives/tests/icons.client.spec.tsx
2026-08-28 16:04:13 +08:00
creatixchu
8d337b2b32 Merge remote-tracking branch 'origin/master' into worktree/fix-3269-read-image 2026-08-28 15:37:32 +08:00
creatixchu
adfd7074f3 Merge remote-tracking branch 'origin/master' into worktree/steer-followup-images 2026-08-28 15:23:15 +08:00
pku-xht
28e8e86bc3 Merge pull request #3065 from deepseek-harness/schedule-web-catalog
feat(web): surface active schedules in session views
2026-08-28 15:20:36 +08:00
creatixchu
3b2e5105e6 Merge remote-tracking branch 'origin/master' into worktree/steer-followup-images 2026-08-28 15:19:28 +08:00
creatixchu
aaa692033b test(snapshots): project new attachment-path fixtures into packed layout 2026-08-28 15:16:20 +08:00
CreatixChu
0fba5d1406 Merge pull request #3238 from deepseek-harness/fix/web-search-config-guidance
fix(web-search): guide endpoint recovery after failures
2026-08-28 15:09:46 +08:00
creatixchu
7222e17dc0 fix(tool-fs): accept extension-less attachment paths in read_image 2026-08-28 15:02:04 +08:00
pku-xht
6c5bb90b48 Merge remote-tracking branch 'origin/master' into schedule-web-catalog 2026-08-28 14:45:30 +08:00
creatixchu
aa70a737ae fix(web-search): guide users to endpoint settings 2026-08-28 11:45:27 +08:00
Yif
d6b30db252 Merge remote-tracking branch 'origin/master' into feat/session-turn-stats-display 2026-08-28 11:19:23 +08:00