Commit Graph
6868 Commits
Author SHA1 Message Date
kingwl 751b970997 fix(web): align queue panel with responsive composer 2026-07-30 12:25:48 +08:00
imccyu 1642b8f7d2 Merge pull request #925 from deepseek-harness/codex/web-queue-actions
feat(agent): add addressable queue operations
2026-07-30 11:47:21 +08:00
kingwl ad1bb84425 Merge remote-tracking branch 'origin/master' into codex/web-queue-actions
# Conflicts:
#	packages/client/ui-conversation/README.i18n.yaml
2026-07-30 11:38:54 +08:00
imccyu 6b93f85fac Merge pull request #924 from deepseek-harness/fix/ui-action-display
fix: chat agent message actions display
2026-07-30 11:31:41 +08:00
imccyu a9813a2801 Merge branch 'master' into codex/web-queue-actions 2026-07-30 11:20:57 +08:00
07akioni b92c6bcc66 Merge branch 'master' into fix/ui-action-display 2026-07-30 11:15:35 +08:00
Tianyi Cui b9e240bbef Merge pull request #828 from deepseek-harness/fix/hook-matcher-validation
fix(hooks): reject invalid matcher regexes
2026-07-30 11:08:42 +08:00
Tianyi Cui c38a7c3a89 Merge branch 'master' into fix/hook-matcher-validation 2026-07-30 10:57:24 +08:00
imccyu b94df7348f Merge branch 'master' into codex/web-queue-actions 2026-07-30 10:50:34 +08:00
imccyu c56e52d8e3 Merge pull request #920 from deepseek-harness/worktree-locale
feat(client): typed locale standard seat and first adopters
2026-07-30 10:38:39 +08:00
kingwl ff570ea04c test(agent): refresh inbox action snapshot 2026-07-30 04:20:20 +08:00
kingwl 112b0fbad1 fix(web): address queue review feedback 2026-07-30 04:12:38 +08:00
kingwl ebbcfdd03b Merge remote-tracking branch 'origin/master' into codex/web-queue-actions
# Conflicts:
#	packages/core/agent-loop/src/agent.ts
2026-07-30 03:33:41 +08:00
kingwl 7ce330f0e4 refactor(agent): scope queue actions to edit and remove 2026-07-30 01:58:51 +08:00
imccyu 606b6aa78c Merge remote-tracking branch 'origin/master' into worktree-locale
# Conflicts:
#	packages/client/ui-slots/src/index.ts
2026-07-30 01:53:28 +08:00
imccyu 622450192d fix(client): mark the parallel register overloads for the clone gate
The two overload declarations differ only in the inject share; folding them
would lose per-overload inference of I, so the duplication is deliberate.
2026-07-30 01:40:10 +08:00
Tianyi Cui 78cf5de686 Merge origin/master into fix/hook-matcher-validation 2026-07-30 01:38:18 +08:00
Tianyi Cui 2a53806275 Merge pull request #885 from deepseek-harness/codex/migrate-to-oxlint
refactor: migrate linting to Oxlint
2026-07-30 01:33:20 +08:00
imccyu e56c0699a9 Merge branch 'master' into codex/web-queue-actions 2026-07-30 01:21:13 +08:00
Tianyi Cui 4582e1425c Merge commit 'refs/codex/pr885/master-20260730' into worktree/retarget-pr885-20260729
# Conflicts:
#	eslint.config.mjs
2026-07-30 01:18:28 +08:00
Tianyi Cui 014e39203e Merge commit '3a1b995e4fc3eb9acd6324c4b581f7aeb110b8be' into worktree/retarget-pr828-20260729 2026-07-30 01:18:18 +08:00
Tianyi Cui 4c15041fc9 test(hooks): normalize matcher snapshot workdirs 2026-07-30 01:16:37 +08:00
imccyu d00d1009f7 Merge remote-tracking branch 'origin/master' into worktree-locale
# Conflicts:
#	docs/module-graph.md
#	packages/client/locale/README.i18n.yaml
#	packages/client/locale/README.zh.md
2026-07-30 01:10:57 +08:00
imccyu 2c5114c060 feat(client): adopt the locale seat in theme, sidebar, question, and model
Each package ships its zh/en dictionaries as satisfies-typed pairs (zh is
the key-set source of truth; en is checked complete against it), merges its
namespace into LocaleNamespaceMap, and declares locale: NS at register —
components read the framework-injected typed t seat instead of a
hand-carried inject member. Overlapping verbatim words (retry, submit,
submitting) drop out of package dictionaries in favor of the shared common
vocabulary; the question composer stores validation feedback as dictionary
keys so shown feedback follows a locale switch.
2026-07-30 01:04:58 +08:00
imccyu c317fbc489 feat(client): typed locale standard seat in the slot framework
Registrations declare a dictionary namespace (locale: NS) and the renderer
synthesizes a typed t prop for the entry's component from the installed
LocaleFace; the seat binding is re-derived per locale revision, so a language
switch hands out fresh t references and memoized consumers re-render through
ordinary shallow comparison. LocaleNamespaceMap is the declare-merge table
(namespace -> dictionary key union); TranslateNS<'ns'> is the
namespace-addressed translate type (namespace keys plus the shared common
vocabulary), carried by the t seat and by the locale service's typed bind.

LocaleService implements the face (lookup ns -> common -> zh -> key,
revision-carrying snapshots with subscriber isolation) and installs it
through the boot-once slots.installLocale seam, mirroring the renderer
install. The typed register(ns, {zh, en}) overload checks each dictionary
against the namespace's key union and requires every shipped locale, so a
missing or extra key and an unbalanced translation are compile errors.
Dictionary registration bumps the face revision without emitting
locale/change — the event now means exactly 'the active locale switched',
so registration-heavy boot cannot storm event listeners.
2026-07-30 01:04:56 +08:00
kingwl 76e14793a9 Merge remote-tracking branch 'origin/master' into codex/web-queue-actions
# Conflicts:
#	docs/architecture.i18n.yaml
#	docs/cordis-catalog/events.md
#	docs/core-data-structures/core.i18n.yaml
#	docs/event-producer-consumer.md
2026-07-30 01:04:25 +08:00
Tianyi Cui 1224061723 Merge pull request #921 from deepseek-harness/webtest-migrate
Sink assembled-app jsdom snapshots into package suites; keep one boot smoke
2026-07-30 00:57:34 +08:00
kingwl 77479f5ab0 test(queue): close CI coverage gaps 2026-07-30 00:55:02 +08:00
imccyu 7f0c69fb78 Merge branch 'master' into webtest-migrate 2026-07-30 00:50:46 +08:00
imccyu 1e98797e7a Merge pull request #857 from deepseek-harness/worktree-trpc
Add compiler-independent Typert pipeline
2026-07-30 00:48:27 +08:00
kingwl c97b1d025e Merge remote-tracking branch 'origin/master' into codex/web-queue-actions
# Conflicts:
#	apps/web/tsconfig.json
#	docs/architecture.i18n.yaml
#	docs/event-producer-consumer.md
#	packages/client/runtime/README.i18n.yaml
#	packages/client/tsdown.client.ts
#	packages/client/ui-conversation/README.i18n.yaml
#	packages/core/agent-loop/README.i18n.yaml
#	packages/core/agent/README.i18n.yaml
#	packages/core/agent/README.zh.md
#	packages/host/apiproxy/README.i18n.yaml
#	tsconfig.host.json
2026-07-30 00:30:38 +08:00
imccyu 41b0ba9ac5 fix: coverage 2026-07-30 00:25:51 +08:00
Tianyi Cui 3d5fe9ffab Merge branch 'master' into fix/hook-matcher-validation 2026-07-30 00:21:43 +08:00
Tianyi Cui 0440c4cc0c Merge latest master into codex/migrate-to-oxlint 2026-07-30 00:13:30 +08:00
imccyu ed1ae0d636 fix: docs budget 2026-07-30 00:12:03 +08:00
07akioni a150cbc63b Merge branch 'master' into fix/ui-action-display 2026-07-30 00:10:25 +08:00
07akioni b71fbe770d fix: ci 2026-07-30 00:08:59 +08:00
Tianyi Cui 492eef806a Merge commit 'refs/codex/pr921/master' into worktree/retarget-pr921-20260729
# Conflicts:
#	apps/web/tests/slash-flow.snapshot.ts
2026-07-30 00:06:50 +08:00
kingwl f893e2281d feat(agent): add addressable queue operations 2026-07-30 00:05:00 +08:00
imccyu dcb8b592ee Merge remote-tracking branch 'origin/master' into worktree-trpc 2026-07-30 00:04:52 +08:00
07akioni 4e7f90667a fix: chat agent message actions display 2026-07-30 00:01:49 +08:00
Tianyi Cui bd8315cb1b Merge pull request #922 from deepseek-harness/worktree/pr885-bot-thread-fixes
fix: harden Oxlint migration contracts
2026-07-29 23:58:57 +08:00
Tianyi Cui a58bc6f1e9 Merge pull request #823 from deepseek-harness/worktree/skill-invocation-controls
feat(skill): add model and user invocation controls
2026-07-29 23:58:19 +08:00
imccyu b5ec489c9f refactor(typert): share type node traversal 2026-07-29 23:55:13 +08:00
imccyu 49fbfc2249 git: add .typert ignore 2026-07-29 23:55:13 +08:00
imccyu c269febc9a refactor(cordis): generate catalogs from Typert models 2026-07-29 23:55:12 +08:00
imccyu 4d1ab81f05 test(web): shrink the assembled jsdom lane to one built-bundle boot smoke
The seven behavior-pinning snapshots (workspace-flow, slash-flow,
todo-display, session-title, session-actions, terminal-card,
code-mode-fixture) asserted per-package behavior through the whole
built app: every assertion now lives in the owning package's suite at
equal strength (SlotTestRuntime benches assemble the same plugin apply
over the production slot machinery), while the assembled layer kept
re-failing on unrelated churn at 10s-timeout debugging cost.

What only this lane can prove is the artifact plane: lib/client.js
bundles loading through the ModuleLoader path, staged boot activation
across the inject layers, per-plugin CSS injection, and a journey
reaching chat content over the fixture transport. built-boot.snapshot.ts
pins exactly that, and nothing else — behavior assertions belong to the
package suites.
2026-07-29 23:51:21 +08:00
imccyu 3980de695e test(client): pin assembled-app journeys at package level on SlotTestRuntime
Sink the behavior previously held only by the apps/web jsdom snapshots
into the owning packages, each bench mounting the real apply on the
production slot machinery with fixture-fed data:

- ui-conversation/assembly-surfaces: the todo_write turn reaches both
  product surfaces (keyed toolview row + dock plan strip via the todos
  projection) and the strip follows projection retirement; the keyed
  bash row carries its resident terminal card while the fallback row
  reaches one through expand; the locked no-session view state; the
  composer textarea surviving the blank→active conversion as the same
  DOM node; the promptError alert strip with the machine-restored
  draft; one summary update re-labeling the breadcrumb.
- ui-workspace/rename-assembly: the session-rename chain (row menu →
  dialog → the injected renameSession hop → ISession.rename with the
  edge-trimmed draft → dialog close and row re-label from the list),
  plus the rejected arm keeping the dialog open with the error.
- runtime/workspaces-service: startInitialSelection — connects the
  recent Workspace once both baselines are ready and opens the session,
  stays idle with a current session or no recent target (double start
  fails loud), and a failed connect returns to waiting and retries on
  the next list change.

Component-level arms stay in the existing package suites; these files
prove only the assembled wiring.
2026-07-29 23:51:21 +08:00
imccyu 989b80791f feat(test-runtime): add TestSessions.updateSummary
The wire-echo stand-in for list-row settlement (title from the rename
unary response, running flips): benches mirror what the production
manager writes into the list store, so row re-label assertions need no
assembled app. Fixture ISession stubs must NOT call it re-entrantly —
they run inside a React event dispatch already wrapped in act, and a
nested act corrupts the global act queue (the next test renders an empty
tree); tests echo from their own top level instead.
2026-07-29 23:49:27 +08:00
Tianyi Cui 4146e403ea test(web): refresh skill menu snapshot after retarget 2026-07-29 23:47:50 +08:00