Commit Graph

2178 Commits

Author SHA1 Message Date
imccyu
472a683bdc feat(create-sdk): headless creation via --config/--config-json + NDJSON + skill
Add a headless create path: --config <file> / --config-json <json> supply a
structured project spec (answers + feature plan) that drives CreateWizard through
a HeadlessPromptPort, bypassing the TTY. --json emits NDJSON lifecycle events
(done / action-required / error) so an agent can fill a missing input and re-run.
Ship a thin SKILL.md playbook for agent-driven creation. Per-file 100% coverage.
2026-07-18 16:11:26 +08:00
imccyu
a66b98d270 fix(telemetry): report unless telemetry entry is explicitly disabled
Per ccyu's decision (option A), remove the consent asymmetry in ConsentResolver:
telemetry is OFF only when cordis.yml has a telemetry entry with disabled: true.
A cordis.yml with no telemetry entry now reports (allowWhenEntryAbsent defaults
to true) rather than denying. No cordis.yml, an enabled entry, and DO_NOT_TRACK/CI
are unchanged. Both no-config and absent-entry defaults stay configurable.

Updates the module/README docs and the unit tests (file-present-but-no-entry and
non-object/non-sequence roots now report). Per-file 100% coverage holds.
2026-07-18 16:11:25 +08:00
imccyu
fe668a6dfe feat(telemetry): greenfield dsh-sdk telemetry modules
Add @deepseek-ai/dsh-telemetry, a launcher-side (non-plugin) library for the
ConsentResolver (parses cordis.yml consent + DO_NOT_TRACK/CI), buildTelemetryPayload
(redacted cordis.yml + package.json full content, never .env), getOrCreateAnonymousId
(random UUID in a per-machine global config file), and TelemetryReporter
(fire-and-forget, never blocks or crashes the command).

Endpoint is a fixed .invalid placeholder pending the real endpoint. Launcher
dispatch wiring and the helper feature-catalog entry are intentionally out of
scope. Registers the package in tsconfig references, the module graph, and the
README model-experience audit map. Per-file 100% coverage.
2026-07-18 16:11:25 +08:00
imccyu
825a63ab01 feat(sdk): add dsh-plugin-fetch source + fetcher seam
Greenfield #2 "建插件" modules for the forthcoming `dsh-sdk create <source>`
command, in a new foundation-independent package so it touches none of the
dsh-scripts / dsh-helper / create-sdk hotspots the foundation refactor edits.

- `resolvePluginSource(spec)` parses `owner/repo[/subdir]#ref` (github) or
  `pkg@version` (npm) into a `PluginSource` discriminated union, failing loud on
  an ambiguous or malformed spec.
- `PluginFetcher<S>` seam + `fetchPlugin` tag dispatch returning a common
  `FetchedPlugin` (temp dir + immutable provenance).
- `GigetFetcher` (github) over @bluwy/giget-core: resolve `#ref` to a commit SHA
  first, download that SHA; provenance pins the SHA. Chosen over unjs/giget for
  its single runtime dep and absent install/action surface.
- `PacoteFetcher` (npm) over pacote: resolve the manifest, then extract the
  tarball verified against its registry integrity. Registry-only is enforced by
  the source resolver; extract runs no lifecycle scripts.
- Branded `CommitSha`/`Integrity`; network + temp-dir boundaries are injected so
  the logic is unit-tested at 100% per-file coverage without network.

Wiring (package.json pin, cordis.yml via ProjectEditSession with a confirmed
diff, install --ignore-scripts) and the launcher command registration land
later with the foundation.
2026-07-18 16:08:12 +08:00
imccyu
dcd886798f feat(sdk): headless PromptPort + create/config headless plan
Add HeadlessPromptPort (fail-loud non-interactive PromptPort), thread
prefilled feature values through FeatureConfigurator, and let CreateWizard
and ConfigWorkflow accept a headless feature plan that skips the interactive
tree/suggests prompts. Per-file 100% coverage on all changed files.
2026-07-18 16:05:14 +08:00
imccyu
923b04606e docs: DeepSeek Harness SDK follow-up work design draft 2026-07-18 16:05:14 +08:00
Tianyi Cui
7a29676c01 Merge pull request #320 from deepseek-harness/debug-pangwenjie
Fix async injection tool-result ordering
2026-07-18 14:40:58 +08:00
Tianyi Cui
aacedf2700 Merge current master into debug-pangwenjie
# Conflicts:
#	docs/cordis-catalog/events.md
#	docs/core-data-structures/core.md
#	docs/core-data-structures/tools.md
#	docs/event-producer-consumer.md
#	docs/rfc/implemented/feature/2026-06-30-interception-seams.md
#	docs/tool-execution-pipeline.md
#	packages/core/agent-loop/src/agent.ts
#	packages/core/agent-loop/src/loop.ts
#	packages/core/agent-loop/tests/loop.spec.ts
#	packages/core/agent/README.md
#	packages/core/tools/src/index.ts
#	scripts/gen-doc-graphs.ts
2026-07-18 13:39:12 +08:00
Tianyi Cui
f07ae453cc Merge pull request #361 from deepseek-harness/worktree-example-lib
feat(examples): run CI example execution and testing from built lib
2026-07-18 13:17:16 +08:00
imccyu
6bc8ab5c57 fix: verify-package-paths 2026-07-18 12:39:20 +08:00
imccyu
de19c6ca08 fix(examples): run coverage subprocesses from built libs 2026-07-18 12:19:48 +08:00
imccyu
b4ab7debb7 fix(ci): avoid unbound TypeScript reader 2026-07-17 23:43:20 +08:00
imccyu
df21d22e28 fix(examples): enforce config dependency resolution 2026-07-17 23:38:05 +08:00
imccyu
5ed531acba ci(examples): run examples / testing from built lib/js 2026-07-17 23:07:51 +08:00
Tianyi Cui
8d5f08892b Merge pull request #366 from deepseek-harness/token-meter-service
llm: add replay token-meter service
2026-07-17 23:01:20 +08:00
Tianyi Cui
06ea8643ff Merge newest origin/master into token-meter-service 2026-07-17 22:49:54 +08:00
Tianyi Cui
35ff333e51 docs: move website context window to token meter 2026-07-17 22:44:11 +08:00
Tianyi Cui
350a636ece Merge pull request #278 from deepseek-harness/codex/simp-session-log-representation
Simplify session log representation
2026-07-17 22:41:22 +08:00
Tianyi Cui
f943bc8d4c Merge latest origin/master into token-meter-service 2026-07-17 22:38:46 +08:00
Tianyi Cui
7a2d5cd28d Merge master into codex/simp-session-log-representation 2026-07-17 22:33:42 +08:00
Tianyi Cui
1c6a36e4a3 Merge origin/master into token-meter-service 2026-07-17 22:22:55 +08:00
Tianyi Cui
ad16d306cb Merge pull request #311 from deepseek-harness/worktree/provider-routed-llm-adapters
feat(llm): route adapters by provider
2026-07-17 22:21:33 +08:00
Tianyi Cui
b79e7a5e30 Merge master into codex/simp-session-log-representation 2026-07-17 22:20:06 +08:00
Tianyi Cui
847a1a1a5a Merge remote-tracking branch 'origin/master' into worktree/provider-routed-llm-adapters
# Conflicts:
#	docs/cordis-catalog/services.md
#	docs/event-producer-consumer.md
#	packages/core/session/README.md
#	packages/core/session/tests/tool-pairing.spec.ts
#	website/zh-CN/api/harness/sessions.md
2026-07-17 22:07:37 +08:00
Tianyi Cui
43cf795b2a Merge pull request #330 from deepseek-harness/compact-tool-pairing
compact: move tool-pairing helpers to compact seam
2026-07-17 22:03:07 +08:00
Tianyi Cui
cfa5d60ccb docs(website): align LLM references with provider routing 2026-07-17 22:02:54 +08:00
Tianyi Cui
578e89a29e Merge current master into codex/simp-session-log-representation 2026-07-17 22:01:08 +08:00
Tianyi Cui
35e45af081 Merge remote-tracking branch 'origin/master' into worktree/provider-routed-llm-adapters 2026-07-17 21:56:43 +08:00
Tianyi Cui
53680ee6bc Merge remote-tracking branch 'origin/master' into worktree/provider-routed-llm-adapters
# Conflicts:
#	docs/cordis-catalog/events.md
#	docs/cordis-catalog/services.md
#	docs/event-producer-consumer.md
#	docs/module-graph.md
#	packages/context/time-context/tests/time-context.spec.ts
#	packages/cordis/tool-cordis/src/api-catalog.ts
#	packages/core/session/README.md
#	packages/core/session/src/types.ts
#	packages/core/session/tests/surface.spec.ts
#	packages/examples/acp-demo/tests/acp-agent.spec.ts
#	packages/examples/stdio-demo/tests/stdio-agent.spec.ts
#	packages/hooks/hooks-claude/tests/coverage.spec.ts
#	packages/hooks/hooks-codex/tests/coverage.spec.ts
#	packages/session-query/session-query/tests/session-query.spec.ts
#	packages/support/invariants/tests/invariants.spec.ts
#	packages/ui/acp/tests/harness.ts
2026-07-17 21:56:10 +08:00
Tianyi Cui
24bd0f3832 Merge origin/master into compact-tool-pairing 2026-07-17 21:55:51 +08:00
Tianyi Cui
487f120604 Merge latest master into codex/simp-session-log-representation 2026-07-17 21:55:29 +08:00
Tianyi Cui
e73cadb99d Merge pull request #228 from deepseek-harness/feat/website-docs
feat: add docs website
2026-07-17 21:52:10 +08:00
Tianyi Cui
ce393ccb93 Merge master into codex/simp-session-log-representation 2026-07-17 21:51:36 +08:00
Tianyi Cui
644245f581 Merge latest master into feat/website-docs 2026-07-17 21:47:19 +08:00
Tianyi Cui
a770c8b093 Merge origin/master into compact-tool-pairing 2026-07-17 21:44:30 +08:00
Tianyi Cui
e7ba36f554 Merge pull request #358 from deepseek-harness/worktree/fix-disposed-session-retirement
fix(session-persistence): retire disposed coordinator state
2026-07-17 21:42:10 +08:00
Tianyi Cui
e00d04a0c1 fix(website): normalize generated paths on Windows 2026-07-17 21:39:47 +08:00
Tianyi Cui
ecd84f7eb9 Merge origin/master into compact-tool-pairing 2026-07-17 21:36:06 +08:00
Tianyi Cui
a385b3e465 Merge remote-tracking branch 'origin/master' into codex/pr358-merge-master-20260717
# Conflicts:
#	docs/event-producer-consumer.md
#	packages/session-persistence/session-persistence/README.md
2026-07-17 21:35:43 +08:00
Tianyi Cui
a921fcb7e1 fix(website): resolve package manifests on Windows 2026-07-17 21:32:35 +08:00
Tianyi Cui
447a4ef9fb Merge latest master into feat/website-docs 2026-07-17 21:25:24 +08:00
Tianyi Cui
cc6cdc9c08 Merge pull request #199 from deepseek-harness/rfc-recallable-compaction
docs(rfc): propose recallable compaction — split checkpoints and in-session history recall
2026-07-17 21:22:44 +08:00
Tianyi Cui
d447a7efb8 Merge branch 'master' into feat/website-docs 2026-07-17 21:19:33 +08:00
Tianyi Cui
92b8abdd88 Merge remote-tracking branch 'origin/master' into codex/pr199-merge-master-20260717
# Conflicts:
#	docs/rfc/INDEX.md
2026-07-17 21:13:43 +08:00
Tianyi Cui
cf872d002f Merge pull request #339 from deepseek-harness/worktree-fast-gates
perf: speed up local pre-push gates
2026-07-17 20:46:20 +08:00
Tianyi Cui
e9a1f63ebd Merge latest master into worktree-fast-gates 2026-07-17 20:39:05 +08:00
Tianyi Cui
8f859686f2 Merge pull request #352 from deepseek-harness/time-context-history
Make time context durable per step
2026-07-17 20:38:25 +08:00
Tianyi Cui
8462bdb041 Merge latest master into worktree-fast-gates 2026-07-17 20:33:24 +08:00
Tianyi Cui
256300c58d Merge branch 'master' into time-context-history 2026-07-17 20:32:55 +08:00
Tianyi Cui
83a80caa09 Merge pull request #350 from deepseek-harness/worktree/agent-loop-testkit
test(support): add shared AgentLoop testkit
2026-07-17 20:28:21 +08:00