dsh-plugin-dev-kb 1.0.2 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +31 -0
- package/kb/README.md +1 -1
- package/kb/extra/cookbook/adding-a-vendored-package.zh.md +3 -3
- package/kb/extra/cookbook/maintaining-dsh-code-review.zh.md +1 -1
- package/kb/extra/cookbook/responding-to-pr-review-on-a-stack.zh.md +1 -1
- package/kb/extra/defensive-patterns.zh.md +3 -1
- package/kb/extra/development.zh.md +15 -9
- package/kb/extra/event-producer-consumer.md +5 -2
- package/kb/extra/event-producer-consumer.zh.md +5 -2
- package/kb/extra/graph-atlas.zh.md +7 -7
- package/kb/extra/i18n/README.md +3 -3
- package/kb/extra/i18n/README.zh.md +9 -7
- package/kb/extra/i18n/style-samples.md +1 -1
- package/kb/extra/i18n/translation-prompt.md +3 -3
- package/kb/extra/i18n/translation-rules.md +2 -2
- package/kb/extra/i18n/translation-rules.zh.md +3 -3
- package/kb/extra/module-graph.md +18 -9
- package/kb/extra/module-graph.zh.md +18 -9
- package/kb/extra/postmortem/0001-acp-default-export-drops-inject.zh.md +1 -1
- package/kb/extra/postmortem/0002-js-expression-disabled-filesystem-tools.zh.md +1 -1
- package/kb/extra/postmortem/0004-landlock-partial-notice-misclassified-child-failures.zh.md +1 -1
- package/kb/extra/postmortem/README.zh.md +5 -5
- package/kb/extra/rescope.zh.md +1 -1
- package/kb/extra/subsystems/agent-team.md +2 -2
- package/kb/extra/subsystems/agent-team.zh.md +6 -6
- package/kb/extra/subsystems/attachment.md +63 -12
- package/kb/extra/subsystems/attachment.zh.md +63 -12
- package/kb/extra/subsystems/extensions.md +9 -9
- package/kb/extra/subsystems/extensions.zh.md +12 -12
- package/kb/extra/subsystems/feedback.md +2 -2
- package/kb/extra/subsystems/feedback.zh.md +2 -2
- package/kb/extra/testing.md +1 -1
- package/kb/extra/testing.zh.md +7 -7
- package/kb/extra/web-styling.zh.md +2 -2
- package/kb/meta/search-index.json +132 -132
- package/kb/meta/source.json +2 -2
- package/kb/meta/topics.md +2 -2
- package/kb/site/develop/basic/index.md +1 -1
- package/kb/site/develop/basic/publish.md +3 -3
- package/kb/site/develop/cordis-tutorial/index.md +1 -1
- package/kb/site/en/reference/capability-seams.md +5 -0
- package/kb/site/en/reference/config-catalog.md +52 -17
- package/kb/site/en/reference/persistence-catalog.md +1 -1
- package/kb/site/en/reference/subsystems/approval.md +3 -3
- package/kb/site/en/reference/subsystems/client-modules.md +7 -7
- package/kb/site/en/reference/subsystems/code-runtime.md +2 -2
- package/kb/site/en/reference/subsystems/commands.md +3 -3
- package/kb/site/en/reference/subsystems/compaction.md +3 -3
- package/kb/site/en/reference/subsystems/core.md +19 -19
- package/kb/site/en/reference/subsystems/credentials.md +163 -8
- package/kb/site/en/reference/subsystems/filesystem.md +5 -5
- package/kb/site/en/reference/subsystems/goal.md +3 -3
- package/kb/site/en/reference/subsystems/invariants.md +2 -2
- package/kb/site/en/reference/subsystems/jobs.md +2 -2
- package/kb/site/en/reference/subsystems/llm-streaming.md +16 -4
- package/kb/site/en/reference/subsystems/lsp.md +2 -2
- package/kb/site/en/reference/subsystems/permission-presets.md +2 -2
- package/kb/site/en/reference/subsystems/persistence.md +2 -2
- package/kb/site/en/reference/subsystems/plan.md +2 -2
- package/kb/site/en/reference/subsystems/sandbox.md +3 -3
- package/kb/site/en/reference/subsystems/session-projection.md +60 -35
- package/kb/site/en/reference/subsystems/session-query.md +2 -2
- package/kb/site/en/reference/subsystems/session-reference.md +3 -3
- package/kb/site/en/reference/subsystems/session-telemetry.md +3 -3
- package/kb/site/en/reference/subsystems/session-title.md +2 -2
- package/kb/site/en/reference/subsystems/session.md +6 -6
- package/kb/site/en/reference/subsystems/settings.md +4 -4
- package/kb/site/en/reference/subsystems/shell.md +3 -3
- package/kb/site/en/reference/subsystems/skills.md +3 -3
- package/kb/site/en/reference/subsystems/spill.md +2 -2
- package/kb/site/en/reference/subsystems/storage.md +4 -4
- package/kb/site/en/reference/subsystems/subagent.md +6 -6
- package/kb/site/en/reference/subsystems/subprocess.md +3 -3
- package/kb/site/en/reference/subsystems/system-prompt.md +4 -4
- package/kb/site/en/reference/subsystems/terminal.md +2 -2
- package/kb/site/en/reference/subsystems/token-meter.md +2 -2
- package/kb/site/en/reference/subsystems/tools.md +8 -8
- package/kb/site/en/reference/subsystems/typert.md +4 -4
- package/kb/site/en/reference/subsystems/user-questions.md +2 -2
- package/kb/site/en/reference/subsystems/web-server.md +46 -6
- package/kb/site/en/reference/subsystems/web.md +2 -2
- package/kb/site/en/reference/subsystems/workflow.md +8 -8
- package/kb/site/en/reference/subsystems/workspace.md +3 -3
- package/kb/site/en/reference/tool-catalog.md +3 -3
- package/kb/site/guide/providers.md +2 -2
- package/kb/site/guide/python-sdk.md +2 -2
- package/kb/site/guide/quickstart.md +2 -2
- package/kb/site/reference/capability-seams.md +5 -0
- package/kb/site/reference/config-catalog.md +53 -18
- package/kb/site/reference/cookbook/adding-a-conversation-node.md +1 -1
- package/kb/site/reference/cookbook/adding-a-package.md +5 -3
- package/kb/site/reference/cookbook/adding-a-settings-card.md +1 -1
- package/kb/site/reference/cookbook/adding-a-tool.md +6 -6
- package/kb/site/reference/cookbook/adding-an-llm-adapter.md +2 -2
- package/kb/site/reference/cookbook/extension-cookbook.md +6 -4
- package/kb/site/reference/index.md +4 -4
- package/kb/site/reference/persistence-catalog.md +5 -5
- package/kb/site/reference/subsystems/approval.md +3 -3
- package/kb/site/reference/subsystems/client-modules.md +8 -8
- package/kb/site/reference/subsystems/code-runtime.md +4 -4
- package/kb/site/reference/subsystems/commands.md +5 -5
- package/kb/site/reference/subsystems/compaction.md +7 -7
- package/kb/site/reference/subsystems/core.md +26 -24
- package/kb/site/reference/subsystems/credentials.md +163 -8
- package/kb/site/reference/subsystems/filesystem.md +6 -6
- package/kb/site/reference/subsystems/goal.md +5 -5
- package/kb/site/reference/subsystems/index.md +5 -5
- package/kb/site/reference/subsystems/invariants.md +5 -5
- package/kb/site/reference/subsystems/jobs.md +4 -4
- package/kb/site/reference/subsystems/llm-streaming.md +21 -9
- package/kb/site/reference/subsystems/lsp.md +3 -3
- package/kb/site/reference/subsystems/permission-presets.md +3 -3
- package/kb/site/reference/subsystems/persistence.md +6 -6
- package/kb/site/reference/subsystems/plan.md +4 -4
- package/kb/site/reference/subsystems/sandbox.md +7 -5
- package/kb/site/reference/subsystems/schedule.md +1 -1
- package/kb/site/reference/subsystems/scope.md +1 -1
- package/kb/site/reference/subsystems/session-projection.md +61 -36
- package/kb/site/reference/subsystems/session-query.md +2 -2
- package/kb/site/reference/subsystems/session-reference.md +3 -3
- package/kb/site/reference/subsystems/session-telemetry.md +5 -5
- package/kb/site/reference/subsystems/session-title.md +2 -2
- package/kb/site/reference/subsystems/session.md +13 -11
- package/kb/site/reference/subsystems/settings.md +4 -4
- package/kb/site/reference/subsystems/shell.md +6 -6
- package/kb/site/reference/subsystems/skills.md +3 -3
- package/kb/site/reference/subsystems/spill.md +3 -3
- package/kb/site/reference/subsystems/storage.md +7 -7
- package/kb/site/reference/subsystems/subagent.md +11 -9
- package/kb/site/reference/subsystems/subprocess.md +4 -4
- package/kb/site/reference/subsystems/system-prompt.md +5 -5
- package/kb/site/reference/subsystems/terminal.md +3 -3
- package/kb/site/reference/subsystems/token-meter.md +2 -2
- package/kb/site/reference/subsystems/tools.md +9 -9
- package/kb/site/reference/subsystems/typert.md +5 -5
- package/kb/site/reference/subsystems/user-questions.md +2 -2
- package/kb/site/reference/subsystems/web-server.md +48 -8
- package/kb/site/reference/subsystems/web.md +3 -3
- package/kb/site/reference/subsystems/workflow.md +11 -11
- package/kb/site/reference/subsystems/workspace.md +5 -5
- package/kb/site/reference/tool-catalog.md +9 -5
- package/lib/index.js +9 -1
- package/package.json +2 -1
- package/skills/dsh-plugin-dev-kb.md +1 -1
|
@@ -164,7 +164,7 @@ Provider selection, probing, caching, and backend-specific enforcement reports b
|
|
|
164
164
|
|
|
165
165
|
## Cordis API
|
|
166
166
|
|
|
167
|
-
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) —
|
|
167
|
+
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) — the language sides differ only in locale-specific paired document paths. Signature blocks use a `ts cordis-catalog` fence and keep the original source JSDoc; dispatch modes are defined in the [primer](../cordis-primer.md#dispatch-modes), and the framework-inherited `ctx` API lives in [cordis-api/inherited.md](../cordis-api/inherited.md).
|
|
168
168
|
|
|
169
169
|
<a id="ctxsandbox--sandboxprovider-abstract-seam"></a>
|
|
170
170
|
|
|
@@ -187,7 +187,7 @@ Abstract process-sandbox service. confine must return enforcing argv or fail clo
|
|
|
187
187
|
abstract confine(argv: readonly string[], policy: SandboxPolicy): ConfinedArgv
|
|
188
188
|
```
|
|
189
189
|
|
|
190
|
-
Source: [`packages/sandbox/sandbox/src/index.ts
|
|
190
|
+
Source: [`packages/sandbox/sandbox/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/sandbox/sandbox/src/index.ts)
|
|
191
191
|
|
|
192
192
|
<a id="ctxsandboxpolicy--sandboxpolicyservice"></a>
|
|
193
193
|
|
|
@@ -217,5 +217,5 @@ overrideOf(session: Session): SandboxMode | undefined
|
|
|
217
217
|
|
|
218
218
|
Types: [Session](./session.md)
|
|
219
219
|
|
|
220
|
-
Source: [`packages/sandbox/sandbox-policy/src/index.ts
|
|
220
|
+
Source: [`packages/sandbox/sandbox-policy/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/sandbox/sandbox-policy/src/index.ts)
|
|
221
221
|
<!-- END GENERATED cordis-surface -->
|
|
@@ -11,27 +11,30 @@ Source: [`packages/session/session-projection/src/index.ts`](https://github.com/
|
|
|
11
11
|
|
|
12
12
|
## The unit
|
|
13
13
|
|
|
14
|
-
`
|
|
14
|
+
`SessionProjectionStateMap` is the merge-extensible table of host fold states, while `SessionProjectionMap` retains the client-visible whole values. A domain contributes one `ProjectionDefinition` per state key; a `wire` block makes that key client-visible, and rendering belongs to the slot system, never this layer:
|
|
15
15
|
|
|
16
16
|
```ts type-equiv
|
|
17
17
|
/**
|
|
18
|
-
* One domain's state-driven computation unit:
|
|
19
|
-
*
|
|
18
|
+
* One domain's state-driven computation unit: a pure synchronous fold plus
|
|
19
|
+
* declarations and an optional client view — never an opaque getter. The framework drives
|
|
20
20
|
* `apply` on every committed session event; the domain holds no
|
|
21
|
-
* subscriptions and owns only the
|
|
22
|
-
* synchronous (an async unit would tear the carriers' consistency cut) and
|
|
21
|
+
* subscriptions and owns only the computation. All functions MUST be
|
|
22
|
+
* synchronous (an async unit would tear the carriers' consistency cut), and
|
|
23
23
|
* `state` MUST be plain JSON (the persisted-cache precondition).
|
|
24
24
|
*/
|
|
25
|
-
interface ProjectionDefinition<
|
|
26
|
-
|
|
25
|
+
interface ProjectionDefinition<
|
|
26
|
+
K extends keyof SessionProjectionStateMap,
|
|
27
|
+
S extends SessionProjectionStateMap[K] = SessionProjectionStateMap[K],
|
|
28
|
+
> {
|
|
29
|
+
/** The projection key this unit owns (its `SessionProjectionStateMap` entry). */
|
|
27
30
|
key: K
|
|
28
|
-
/** Validates
|
|
29
|
-
|
|
31
|
+
/** Validates persisted state before it seeds a fold. */
|
|
32
|
+
stateSchema: ZodType<S>
|
|
30
33
|
/**
|
|
31
34
|
* State for the empty log.
|
|
32
35
|
* @returns the initial state.
|
|
33
36
|
*/
|
|
34
|
-
init(): S
|
|
37
|
+
init(): NoInfer<S>
|
|
35
38
|
/**
|
|
36
39
|
* Pure transition: previous state + one committed event → next state. A
|
|
37
40
|
* unit uninterested in an event MUST return the same state reference — an
|
|
@@ -40,13 +43,18 @@ interface ProjectionDefinition<K extends keyof SessionProjectionMap, S> {
|
|
|
40
43
|
* @param event - the next committed session event.
|
|
41
44
|
* @returns the next state (same reference when the event is not the unit's).
|
|
42
45
|
*/
|
|
43
|
-
apply(state: S
|
|
44
|
-
/**
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
46
|
+
apply(state: NoInfer<S>, event: SessionEvent): NoInfer<S>
|
|
47
|
+
/** Client view. Omit for host-only units. */
|
|
48
|
+
wire?: K extends keyof SessionProjectionMap ? {
|
|
49
|
+
/** Validates the wire payload before it leaves the host. */
|
|
50
|
+
viewSchema: ZodType<SessionProjectionMap[K]>
|
|
51
|
+
/**
|
|
52
|
+
* State → wire payload (the read-side projection).
|
|
53
|
+
* @param state - the current state.
|
|
54
|
+
* @returns the whole current value for this unit's key.
|
|
55
|
+
*/
|
|
56
|
+
view(state: NoInfer<S>): SessionProjectionMap[K]
|
|
57
|
+
} : never
|
|
50
58
|
/**
|
|
51
59
|
* Persisted-cache invalidation version: bump whenever the serialized state fields or the
|
|
52
60
|
* fold semantics change, so persisted `(sessionId, key, ver, seq, val)`
|
|
@@ -63,14 +71,14 @@ The whole-value event rule is load-bearing: a state-carrying log event carries t
|
|
|
63
71
|
|
|
64
72
|
```ts type-equiv
|
|
65
73
|
/**
|
|
66
|
-
* One consistent read cut over every registered unit for one session.
|
|
74
|
+
* One consistent read cut over every registered client-visible unit for one session.
|
|
67
75
|
* `asOfSeq` is the shared watermark — the seq of the last event every value
|
|
68
76
|
* reflects (`-1` for an empty log, mirroring `session/subscribed.lastSeq`).
|
|
69
77
|
*/
|
|
70
78
|
interface ProjectionSnapshot {
|
|
71
79
|
/** Seq of the last event the values reflect; -1 for an empty log. */
|
|
72
80
|
asOfSeq: number
|
|
73
|
-
/** Whole current value per registered key. */
|
|
81
|
+
/** Whole current client value per registered key. */
|
|
74
82
|
values: Partial<SessionProjectionMap>
|
|
75
83
|
}
|
|
76
84
|
```
|
|
@@ -89,7 +97,7 @@ type ProjectionChangeListener = (
|
|
|
89
97
|
) => void
|
|
90
98
|
```
|
|
91
99
|
|
|
92
|
-
`snapshot(session)` is fully synchronous: a carrier reads it in the same tick as its page slice, so `asOfSeq` covers both reads at one sequence number.
|
|
100
|
+
`snapshot(session)` is fully synchronous: a carrier reads it in the same tick as its page slice, so `asOfSeq` covers both reads at one sequence number. It returns only client views, and every value passes its unit's `viewSchema` before return. `stateOf(session, key)` reads one live host state without computing unrelated views; callers must not mutate the borrowed reference. The change feed fires once per client-visible unit whose state *reference* changed for each committed event; `apply` must return the same reference when its state did not change.
|
|
93
101
|
|
|
94
102
|
## The registry: `ctx.sessionProjections`
|
|
95
103
|
|
|
@@ -101,7 +109,7 @@ type ProjectionChangeListener = (
|
|
|
101
109
|
|
|
102
110
|
## Cordis API
|
|
103
111
|
|
|
104
|
-
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) —
|
|
112
|
+
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) — the language sides differ only in locale-specific paired document paths. Signature blocks use a `ts cordis-catalog` fence and keep the original source JSDoc; dispatch modes are defined in the [primer](../cordis-primer.md#dispatch-modes), and the framework-inherited `ctx` API lives in [cordis-api/inherited.md](../cordis-api/inherited.md).
|
|
105
113
|
|
|
106
114
|
<a id="ctxsessionprojectioncache--sessionprojectioncache"></a>
|
|
107
115
|
|
|
@@ -151,13 +159,13 @@ async coldSnapshot(id: SessionId, signal?: AbortSignal): Promise<ProjectionSnaps
|
|
|
151
159
|
|
|
152
160
|
Types: [Session](./session.md) · [SessionHeader](./persistence.md) · [SessionId](./core.md)
|
|
153
161
|
|
|
154
|
-
Source: [`packages/session/session-projection-cache/src/index.ts
|
|
162
|
+
Source: [`packages/session/session-projection-cache/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-projection-cache/src/index.ts)
|
|
155
163
|
|
|
156
164
|
<a id="ctxsessionprojections--sessionprojectionregistry"></a>
|
|
157
165
|
|
|
158
166
|
### `ctx.sessionProjections` — `SessionProjectionRegistry`
|
|
159
167
|
|
|
160
|
-
`ctx.sessionProjections`: the projection unit table and its drive. The service subscribes to `session/event` once; every committed event passes every registered unit's `apply` (eager drive), and a changed state reference notifies the change feed with the schema-validated view. Cells build lazily — a unit registered after events flowed, or a session older than the registry, folds `init` over the in-memory log on first touch (event or read). Registration is an effect (disposer rides the calling fiber): an unloaded domain plugin's key disappears from snapshots and clients read it as capability absence. Domain plugins register under `ctx.inject(['sessionProjections'], …)` so headless assemblies without the registry stay unaffected. Registrants sharing a key share one unit and are counted: the same tool package mounted in N agent presets registers N times, and the key survives until the last one unloads.
|
|
168
|
+
`ctx.sessionProjections`: the projection unit table and its drive. The service subscribes to `session/event` once; every committed event passes every registered unit's `apply` (eager drive), and a changed state reference in a client-visible unit notifies the change feed with the schema-validated view. Cells build lazily — a unit registered after events flowed, or a session older than the registry, folds `init` over the in-memory log on first touch (event or read). Registration is an effect (disposer rides the calling fiber): an unloaded domain plugin's key disappears from snapshots and clients read it as capability absence. Domain plugins register under `ctx.inject(['sessionProjections'], …)` so headless assemblies without the registry stay unaffected. Registrants sharing a key share one unit and are counted: the same tool package mounted in N agent presets registers N times, and the key survives until the last one unloads.
|
|
161
169
|
|
|
162
170
|
```ts cordis-catalog
|
|
163
171
|
/**
|
|
@@ -168,28 +176,45 @@ Source: [`packages/session/session-projection-cache/src/index.ts:71`](https://gi
|
|
|
168
176
|
* @param definition - key, state schema, pure unit functions, and stateVersion.
|
|
169
177
|
* @returns the exact disposer that unregisters this unit.
|
|
170
178
|
*/
|
|
171
|
-
register<K extends keyof SessionProjectionMap, S>(definition: ProjectionDefinition<K, S>): () => void
|
|
179
|
+
register< K extends keyof SessionProjectionMap, S extends SessionProjectionStateMap[K], >( definition: Omit<ProjectionDefinition<K, S>, 'wire'> & { wire: NonNullable<ProjectionDefinition<K, S>['wire']> }, ): () => void
|
|
180
|
+
|
|
181
|
+
/**
|
|
182
|
+
* Register one host-only unit. Its state is omitted from client snapshots
|
|
183
|
+
* and always checkpointed like every other unit.
|
|
184
|
+
* @param definition - key, state schema, pure unit functions, and stateVersion.
|
|
185
|
+
* @returns the exact disposer that unregisters this unit.
|
|
186
|
+
*/
|
|
187
|
+
register< K extends Exclude<keyof SessionProjectionStateMap, keyof SessionProjectionMap>, S extends SessionProjectionStateMap[K], >( definition: Omit<ProjectionDefinition<K, S>, 'wire'>, ): () => void
|
|
172
188
|
|
|
173
189
|
/**
|
|
174
190
|
* Subscribe to the change feed. The registration is an effect on the
|
|
175
191
|
* calling context's fiber.
|
|
176
|
-
* @param listener - called once per unit whose state reference changed, per committed event.
|
|
192
|
+
* @param listener - called once per client-visible unit whose state reference changed, per committed event.
|
|
177
193
|
* @returns the exact disposer that unsubscribes.
|
|
178
194
|
*/
|
|
179
195
|
onChanged(listener: ProjectionChangeListener): () => void
|
|
180
196
|
|
|
181
197
|
/**
|
|
182
|
-
*
|
|
198
|
+
* Read one unit's current host state without computing unrelated views.
|
|
199
|
+
* The returned value is live; callers must not mutate it.
|
|
200
|
+
* @param session - the session whose state is read.
|
|
201
|
+
* @param key - the registered unit key.
|
|
202
|
+
* @returns current state, or `undefined` when the key is not registered.
|
|
203
|
+
*/
|
|
204
|
+
stateOf<K extends keyof SessionProjectionStateMap>( session: Session, key: K, ): SessionProjectionStateMap[K] | undefined
|
|
205
|
+
|
|
206
|
+
/**
|
|
207
|
+
* One consistent cut over every registered client-visible unit for one session, read from
|
|
183
208
|
* the watermark cache (missing cells fold lazily over the in-memory log).
|
|
184
209
|
* Fully synchronous — every value and `asOfSeq` reflect the same log
|
|
185
|
-
* position. Each value passes its unit's
|
|
210
|
+
* position. Each value passes its unit's `viewSchema` before leaving.
|
|
186
211
|
* @param session - the session whose projection values are read.
|
|
187
|
-
* @returns the snapshot; `values` is empty when no unit is registered.
|
|
212
|
+
* @returns the snapshot; `values` is empty when no client-visible unit is registered.
|
|
188
213
|
*/
|
|
189
214
|
snapshot(session: Session): ProjectionSnapshot
|
|
190
215
|
|
|
191
216
|
/**
|
|
192
|
-
* State-level checkpoint of every
|
|
217
|
+
* State-level checkpoint of every persisted unit for one session, read
|
|
193
218
|
* from the watermark cache (missing cells fold lazily over the in-memory
|
|
194
219
|
* log). This is the write side of the persisted projection cache: the
|
|
195
220
|
* returned rows are the `(key → {ver, seq, val})` part of the durable
|
|
@@ -200,7 +225,7 @@ snapshot(session: Session): ProjectionSnapshot
|
|
|
200
225
|
* every subsequent snapshot and frame through it (plain JSON by the unit
|
|
201
226
|
* contract, so the clone is total).
|
|
202
227
|
* @param session - the session whose unit states are checkpointed.
|
|
203
|
-
* @returns one row per registered key
|
|
228
|
+
* @returns one row per registered key.
|
|
204
229
|
*/
|
|
205
230
|
checkpoint(session: Session): ProjectionCheckpoint
|
|
206
231
|
|
|
@@ -224,8 +249,8 @@ restoreFloor(checkpoint: ProjectionCheckpoint): number | undefined
|
|
|
224
249
|
|
|
225
250
|
/**
|
|
226
251
|
* View a checkpoint's rows without any log read: for every registered
|
|
227
|
-
* unit whose row's `ver` matches, serve the schema-validated
|
|
228
|
-
* `view` of the stored state; mismatched or absent rows leave their key
|
|
252
|
+
* client-visible unit whose row's `ver` matches, serve the schema-validated
|
|
253
|
+
* `view` of the schema-validated stored state; mismatched, malformed, or absent rows leave their key
|
|
229
254
|
* absent (a cold or listing consumer treats it as not-yet-available and a
|
|
230
255
|
* fuller read path refolds it). The zero-I/O rung of the read ladder —
|
|
231
256
|
* values are as stale as their rows, never wrong.
|
|
@@ -235,7 +260,7 @@ restoreFloor(checkpoint: ProjectionCheckpoint): number | undefined
|
|
|
235
260
|
viewCheckpoint(checkpoint: ProjectionCheckpoint): Partial<SessionProjectionMap>
|
|
236
261
|
|
|
237
262
|
/**
|
|
238
|
-
* Cold read: fold every
|
|
263
|
+
* Cold read: fold every persisted unit over a stored log suffix, seeding
|
|
239
264
|
* each from its checkpoint row when usable — the one read recipe (cached
|
|
240
265
|
* state + forward tail replay + `view`) applied without a live `Session`.
|
|
241
266
|
* Call with the events returned by a persistence
|
|
@@ -256,10 +281,10 @@ viewCheckpoint(checkpoint: ProjectionCheckpoint): Partial<SessionProjectionMap>
|
|
|
256
281
|
* supplied event's seq, `baseSeq - 1` for an empty tail) plus the
|
|
257
282
|
* refreshed checkpoint rows at that cut, ready for a durable write-back.
|
|
258
283
|
*/
|
|
259
|
-
restore(checkpoint: ProjectionCheckpoint, events: readonly SessionEvent[], baseSeq: number): { snapshot: ProjectionSnapshot; checkpoint: ProjectionCheckpoint }
|
|
284
|
+
restore( checkpoint: ProjectionCheckpoint, events: readonly SessionEvent[], baseSeq: number, ): { snapshot: ProjectionSnapshot; checkpoint: ProjectionCheckpoint }
|
|
260
285
|
```
|
|
261
286
|
|
|
262
287
|
Types: [Session](./session.md) · [SessionEvent](./session.md)
|
|
263
288
|
|
|
264
|
-
Source: [`packages/session/session-projection/src/index.ts
|
|
289
|
+
Source: [`packages/session/session-projection/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-projection/src/index.ts)
|
|
265
290
|
<!-- END GENERATED cordis-surface -->
|
|
@@ -365,7 +365,7 @@ type SessionQueryErrorCode =
|
|
|
365
365
|
|
|
366
366
|
## Cordis API
|
|
367
367
|
|
|
368
|
-
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) —
|
|
368
|
+
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) — the language sides differ only in locale-specific paired document paths. Signature blocks use a `ts cordis-catalog` fence and keep the original source JSDoc; dispatch modes are defined in the [primer](../cordis-primer.md#dispatch-modes), and the framework-inherited `ctx` API lives in [cordis-api/inherited.md](../cordis-api/inherited.md).
|
|
369
369
|
|
|
370
370
|
<a id="ctxsessionquery--sessionqueryengine-abstract-seam"></a>
|
|
371
371
|
|
|
@@ -494,5 +494,5 @@ async readEvent(request: SessionEventReadRequest, signal?: AbortSignal): Promise
|
|
|
494
494
|
|
|
495
495
|
Types: [SessionId](./core.md) · [SessionTitleSnapshot](./session-title.md)
|
|
496
496
|
|
|
497
|
-
Source: [`packages/session-query/session-query/src/index.ts
|
|
497
|
+
Source: [`packages/session-query/session-query/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session-query/session-query/src/index.ts)
|
|
498
498
|
<!-- END GENERATED cordis-surface -->
|
|
@@ -99,7 +99,7 @@ type SessionReferenceErrorCode =
|
|
|
99
99
|
|
|
100
100
|
## Cordis API
|
|
101
101
|
|
|
102
|
-
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) —
|
|
102
|
+
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) — the language sides differ only in locale-specific paired document paths. Signature blocks use a `ts cordis-catalog` fence and keep the original source JSDoc; dispatch modes are defined in the [primer](../cordis-primer.md#dispatch-modes), and the framework-inherited `ctx` API lives in [cordis-api/inherited.md](../cordis-api/inherited.md).
|
|
103
103
|
|
|
104
104
|
<a id="ctxfilereferences--filereferenceservice-abstract-seam"></a>
|
|
105
105
|
|
|
@@ -130,7 +130,7 @@ abstract list( agent: Agent, query: string, signal: AbortSignal, ): Promise<File
|
|
|
130
130
|
|
|
131
131
|
Types: [Agent](./core.md)
|
|
132
132
|
|
|
133
|
-
Source: [`packages/context/file-reference/src/index.ts
|
|
133
|
+
Source: [`packages/context/file-reference/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/context/file-reference/src/index.ts)
|
|
134
134
|
|
|
135
135
|
<a id="ctxsessionreferenceresolver--sessionreferenceresolver"></a>
|
|
136
136
|
|
|
@@ -173,5 +173,5 @@ async prepare( agent: Agent, content: ContentBlock[], references: SessionReferen
|
|
|
173
173
|
|
|
174
174
|
Types: [Agent](./core.md) · [ContentBlock](./llm-streaming.md)
|
|
175
175
|
|
|
176
|
-
Source: [`packages/context/session-reference/src/index.ts
|
|
176
|
+
Source: [`packages/context/session-reference/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/context/session-reference/src/index.ts)
|
|
177
177
|
<!-- END GENERATED cordis-surface -->
|
|
@@ -134,7 +134,7 @@ Every record passes the `session-telemetry/record` [waterfall](../cordis-primer.
|
|
|
134
134
|
|
|
135
135
|
## Cordis API
|
|
136
136
|
|
|
137
|
-
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) —
|
|
137
|
+
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) — the language sides differ only in locale-specific paired document paths. Signature blocks use a `ts cordis-catalog` fence and keep the original source JSDoc; dispatch modes are defined in the [primer](../cordis-primer.md#dispatch-modes), and the framework-inherited `ctx` API lives in [cordis-api/inherited.md](../cordis-api/inherited.md).
|
|
138
138
|
|
|
139
139
|
<a id="ctxsessiontelemetry--sessiontelemetrybackend-abstract-seam"></a>
|
|
140
140
|
|
|
@@ -159,7 +159,7 @@ flush?(): void
|
|
|
159
159
|
abstract shutdown(): Promise<void>
|
|
160
160
|
```
|
|
161
161
|
|
|
162
|
-
Source: [`packages/session/session-telemetry/src/index.ts
|
|
162
|
+
Source: [`packages/session/session-telemetry/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-telemetry/src/index.ts)
|
|
163
163
|
|
|
164
164
|
<a id="session-telemetry-events"></a>
|
|
165
165
|
|
|
@@ -193,5 +193,5 @@ Transform one outbound record before it reaches the backend. This waterfall is t
|
|
|
193
193
|
'session-telemetry/record'(record: SessionTelemetryRecord, next: () => SessionTelemetryRecord): SessionTelemetryRecord
|
|
194
194
|
```
|
|
195
195
|
|
|
196
|
-
Source: [`packages/session/session-telemetry/src/index.ts
|
|
196
|
+
Source: [`packages/session/session-telemetry/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-telemetry/src/index.ts)
|
|
197
197
|
<!-- END GENERATED cordis-surface -->
|
|
@@ -154,7 +154,7 @@ interface SessionTitleProvider {
|
|
|
154
154
|
|
|
155
155
|
## Cordis API
|
|
156
156
|
|
|
157
|
-
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) —
|
|
157
|
+
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) — the language sides differ only in locale-specific paired document paths. Signature blocks use a `ts cordis-catalog` fence and keep the original source JSDoc; dispatch modes are defined in the [primer](../cordis-primer.md#dispatch-modes), and the framework-inherited `ctx` API lives in [cordis-api/inherited.md](../cordis-api/inherited.md).
|
|
158
158
|
|
|
159
159
|
<a id="ctxsessiontitle--sessiontitleservice"></a>
|
|
160
160
|
|
|
@@ -203,5 +203,5 @@ register(provider: SessionTitleProvider): () => Promise<void>
|
|
|
203
203
|
|
|
204
204
|
Types: [Session](./session.md)
|
|
205
205
|
|
|
206
|
-
Source: [`packages/session/session-title/src/index.ts
|
|
206
|
+
Source: [`packages/session/session-title/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-title/src/index.ts)
|
|
207
207
|
<!-- END GENERATED cordis-surface -->
|
|
@@ -617,7 +617,7 @@ The backends that consume this contract are on [persistence.md](./persistence.md
|
|
|
617
617
|
|
|
618
618
|
## Cordis API
|
|
619
619
|
|
|
620
|
-
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) —
|
|
620
|
+
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) — the language sides differ only in locale-specific paired document paths. Signature blocks use a `ts cordis-catalog` fence and keep the original source JSDoc; dispatch modes are defined in the [primer](../cordis-primer.md#dispatch-modes), and the framework-inherited `ctx` API lives in [cordis-api/inherited.md](../cordis-api/inherited.md).
|
|
621
621
|
|
|
622
622
|
<a id="ctxsessions--sessionstore"></a>
|
|
623
623
|
|
|
@@ -753,7 +753,7 @@ fork(source: SessionForkSource, boundary?: number, childSessionId?: SessionId):
|
|
|
753
753
|
|
|
754
754
|
Types: [CreateSessionOptions](./persistence.md) · [PrepareSessionOptions](./persistence.md) · [SessionId](./core.md)
|
|
755
755
|
|
|
756
|
-
Source: [`packages/core/session/src/index.ts
|
|
756
|
+
Source: [`packages/core/session/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/core/session/src/index.ts)
|
|
757
757
|
|
|
758
758
|
<a id="session-events"></a>
|
|
759
759
|
|
|
@@ -782,7 +782,7 @@ Creation announcement during session publication. A synchronous throw vetoes and
|
|
|
782
782
|
|
|
783
783
|
Types: [Scoped](./scope.md)
|
|
784
784
|
|
|
785
|
-
Source: [`packages/core/session/src/index.ts
|
|
785
|
+
Source: [`packages/core/session/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/core/session/src/index.ts)
|
|
786
786
|
|
|
787
787
|
<a id="sessiondisposed--emit"></a>
|
|
788
788
|
|
|
@@ -805,7 +805,7 @@ Emitted once when an announced session leaves the store, including publication r
|
|
|
805
805
|
|
|
806
806
|
Types: [Scoped](./scope.md)
|
|
807
807
|
|
|
808
|
-
Source: [`packages/core/session/src/index.ts
|
|
808
|
+
Source: [`packages/core/session/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/core/session/src/index.ts)
|
|
809
809
|
|
|
810
810
|
<a id="sessionevent--emit"></a>
|
|
811
811
|
|
|
@@ -830,7 +830,7 @@ Post-commit, fire-and-forget append feed. The listener snapshot resolves before
|
|
|
830
830
|
|
|
831
831
|
Types: [Scoped](./scope.md)
|
|
832
832
|
|
|
833
|
-
Source: [`packages/core/session/src/index.ts
|
|
833
|
+
Source: [`packages/core/session/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/core/session/src/index.ts)
|
|
834
834
|
|
|
835
835
|
<a id="sessionflush--parallel"></a>
|
|
836
836
|
|
|
@@ -852,5 +852,5 @@ Awaited parallel durability checkpoint: every listener runs and the caller await
|
|
|
852
852
|
|
|
853
853
|
Types: [Scoped](./scope.md)
|
|
854
854
|
|
|
855
|
-
Source: [`packages/core/session/src/index.ts
|
|
855
|
+
Source: [`packages/core/session/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/core/session/src/index.ts)
|
|
856
856
|
<!-- END GENERATED cordis-surface -->
|
|
@@ -170,7 +170,7 @@ type SettingsUpdateSource = 'update' | 'provider'
|
|
|
170
170
|
|
|
171
171
|
## Cordis API
|
|
172
172
|
|
|
173
|
-
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) —
|
|
173
|
+
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) — the language sides differ only in locale-specific paired document paths. Signature blocks use a `ts cordis-catalog` fence and keep the original source JSDoc; dispatch modes are defined in the [primer](../cordis-primer.md#dispatch-modes), and the framework-inherited `ctx` API lives in [cordis-api/inherited.md](../cordis-api/inherited.md).
|
|
174
174
|
|
|
175
175
|
<a id="ctxsettings--settingsprovider-abstract-seam"></a>
|
|
176
176
|
|
|
@@ -255,7 +255,7 @@ async replace(ns: SettingsNamespace, section: object, expectedRevision?: number)
|
|
|
255
255
|
async mutate(ns: SettingsNamespace, ops: readonly SettingsPathOp[], expectedRevision?: number): Promise<void>
|
|
256
256
|
```
|
|
257
257
|
|
|
258
|
-
Source: [`packages/settings/settings/src/index.ts
|
|
258
|
+
Source: [`packages/settings/settings/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/settings/settings/src/index.ts)
|
|
259
259
|
|
|
260
260
|
<a id="settings-events"></a>
|
|
261
261
|
|
|
@@ -282,7 +282,7 @@ One registered namespace's RAW user section changed, whether or not the resolved
|
|
|
282
282
|
'settings/document-updated'(ns: SettingsNamespace, revision: number): void
|
|
283
283
|
```
|
|
284
284
|
|
|
285
|
-
Source: [`packages/settings/settings/src/types.ts
|
|
285
|
+
Source: [`packages/settings/settings/src/types.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/settings/settings/src/types.ts)
|
|
286
286
|
|
|
287
287
|
<a id="settingsupdated--emit"></a>
|
|
288
288
|
|
|
@@ -309,5 +309,5 @@ Committed change to one registered namespace's resolved value. Emitted after the
|
|
|
309
309
|
'settings/updated'(ns: SettingsNamespace, next: unknown, prev: unknown, source: SettingsUpdateSource): void
|
|
310
310
|
```
|
|
311
311
|
|
|
312
|
-
Source: [`packages/settings/settings/src/types.ts
|
|
312
|
+
Source: [`packages/settings/settings/src/types.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/settings/settings/src/types.ts)
|
|
313
313
|
<!-- END GENERATED cordis-surface -->
|
|
@@ -229,7 +229,7 @@ interface ShellProcessRead {
|
|
|
229
229
|
|
|
230
230
|
## Cordis API
|
|
231
231
|
|
|
232
|
-
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) —
|
|
232
|
+
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) — the language sides differ only in locale-specific paired document paths. Signature blocks use a `ts cordis-catalog` fence and keep the original source JSDoc; dispatch modes are defined in the [primer](../cordis-primer.md#dispatch-modes), and the framework-inherited `ctx` API lives in [cordis-api/inherited.md](../cordis-api/inherited.md).
|
|
233
233
|
|
|
234
234
|
<a id="ctxshell--shellexecutor-abstract-seam"></a>
|
|
235
235
|
|
|
@@ -269,7 +269,7 @@ abstract run(spec: ShellExecSpec): Promise<ShellRunResult>
|
|
|
269
269
|
abstract start(spec: ShellExecSpec): ShellProcess
|
|
270
270
|
```
|
|
271
271
|
|
|
272
|
-
Source: [`packages/shell/shell/src/index.ts
|
|
272
|
+
Source: [`packages/shell/shell/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/shell/shell/src/index.ts)
|
|
273
273
|
|
|
274
274
|
<a id="ctxshellenv--shellenvregistry"></a>
|
|
275
275
|
|
|
@@ -302,5 +302,5 @@ list(): BashEnvVariableInfo[]
|
|
|
302
302
|
|
|
303
303
|
Types: [DshEnvironment](./subprocess.md) · [ToolExecution](./tools.md)
|
|
304
304
|
|
|
305
|
-
Source: [`packages/shell/shell-env/src/index.ts
|
|
305
|
+
Source: [`packages/shell/shell-env/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/shell/shell-env/src/index.ts)
|
|
306
306
|
<!-- END GENERATED cordis-surface -->
|
|
@@ -243,7 +243,7 @@ The model-facing `skill({ name })` tool validates the kebab-case name, finds the
|
|
|
243
243
|
|
|
244
244
|
## Cordis API
|
|
245
245
|
|
|
246
|
-
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) —
|
|
246
|
+
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) — the language sides differ only in locale-specific paired document paths. Signature blocks use a `ts cordis-catalog` fence and keep the original source JSDoc; dispatch modes are defined in the [primer](../cordis-primer.md#dispatch-modes), and the framework-inherited `ctx` API lives in [cordis-api/inherited.md](../cordis-api/inherited.md).
|
|
247
247
|
|
|
248
248
|
<a id="ctxskills--skillregistry"></a>
|
|
249
249
|
|
|
@@ -307,7 +307,7 @@ async snapshot(options: SkillViewOptions = {}): Promise<SkillCatalogSnapshot>
|
|
|
307
307
|
async get(name: string, options: SkillViewOptions = {}): Promise<SkillDefinition | undefined>
|
|
308
308
|
```
|
|
309
309
|
|
|
310
|
-
Source: [`packages/skill/skill/src/index.ts
|
|
310
|
+
Source: [`packages/skill/skill/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/skill/skill/src/index.ts)
|
|
311
311
|
|
|
312
312
|
<a id="skills-events"></a>
|
|
313
313
|
|
|
@@ -330,5 +330,5 @@ A skill provider, runtime contribution, or provider-backed catalog may have chan
|
|
|
330
330
|
'skills/change'(): void
|
|
331
331
|
```
|
|
332
332
|
|
|
333
|
-
Source: [`packages/skill/skill/src/index.ts
|
|
333
|
+
Source: [`packages/skill/skill/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/skill/skill/src/index.ts)
|
|
334
334
|
<!-- END GENERATED cordis-surface -->
|
|
@@ -93,7 +93,7 @@ The local backend ([dsh-spill-local](https://github.com/deepseek-ai/deepseek-har
|
|
|
93
93
|
|
|
94
94
|
## Cordis API
|
|
95
95
|
|
|
96
|
-
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) —
|
|
96
|
+
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) — the language sides differ only in locale-specific paired document paths. Signature blocks use a `ts cordis-catalog` fence and keep the original source JSDoc; dispatch modes are defined in the [primer](../cordis-primer.md#dispatch-modes), and the framework-inherited `ctx` API lives in [cordis-api/inherited.md](../cordis-api/inherited.md).
|
|
97
97
|
|
|
98
98
|
<a id="ctxspillstore--spillstore-abstract-seam"></a>
|
|
99
99
|
|
|
@@ -116,5 +116,5 @@ Semantics every implementation must honor:
|
|
|
116
116
|
abstract saveText(input: SaveTextSpill): Promise<SpillRef>
|
|
117
117
|
```
|
|
118
118
|
|
|
119
|
-
Source: [`packages/spill/spill/src/index.ts
|
|
119
|
+
Source: [`packages/spill/spill/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/spill/spill/src/index.ts)
|
|
120
120
|
<!-- END GENERATED cordis-surface -->
|
|
@@ -133,7 +133,7 @@ type DomainChanged = DomainChangedPut | DomainChangedDeleted
|
|
|
133
133
|
|
|
134
134
|
## Cordis API
|
|
135
135
|
|
|
136
|
-
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) —
|
|
136
|
+
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) — the language sides differ only in locale-specific paired document paths. Signature blocks use a `ts cordis-catalog` fence and keep the original source JSDoc; dispatch modes are defined in the [primer](../cordis-primer.md#dispatch-modes), and the framework-inherited `ctx` API lives in [cordis-api/inherited.md](../cordis-api/inherited.md).
|
|
137
137
|
|
|
138
138
|
<a id="ctxstorage--storage"></a>
|
|
139
139
|
|
|
@@ -159,7 +159,7 @@ mount<K extends keyof StorageForms>(form: K, facility: StorageForms[K]): () => v
|
|
|
159
159
|
form<K extends keyof StorageForms>(form: K): StorageForms[K]
|
|
160
160
|
```
|
|
161
161
|
|
|
162
|
-
Source: [`packages/storage/storage/src/index.ts
|
|
162
|
+
Source: [`packages/storage/storage/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/storage/storage/src/index.ts)
|
|
163
163
|
|
|
164
164
|
<a id="ctxstoragedomain--domainfacility"></a>
|
|
165
165
|
|
|
@@ -204,7 +204,7 @@ get(name: string): DomainImpl | undefined
|
|
|
204
204
|
async closeAll(): Promise<void>
|
|
205
205
|
```
|
|
206
206
|
|
|
207
|
-
Source: [`packages/storage/storage-domain/src/index.ts
|
|
207
|
+
Source: [`packages/storage/storage-domain/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/storage/storage-domain/src/index.ts)
|
|
208
208
|
|
|
209
209
|
<a id="domain-events"></a>
|
|
210
210
|
|
|
@@ -228,5 +228,5 @@ A domain record or the global singleton changed, emitted once per write strictly
|
|
|
228
228
|
'domain/changed'(change: DomainChanged): void
|
|
229
229
|
```
|
|
230
230
|
|
|
231
|
-
Source: [`packages/storage/storage-domain/src/events.ts
|
|
231
|
+
Source: [`packages/storage/storage-domain/src/events.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/storage/storage-domain/src/events.ts)
|
|
232
232
|
<!-- END GENERATED cordis-surface -->
|
|
@@ -483,7 +483,7 @@ The spawn and fork backends create an ordinary one-shot agent through `parent.ct
|
|
|
483
483
|
|
|
484
484
|
## Cordis API
|
|
485
485
|
|
|
486
|
-
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) —
|
|
486
|
+
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) — the language sides differ only in locale-specific paired document paths. Signature blocks use a `ts cordis-catalog` fence and keep the original source JSDoc; dispatch modes are defined in the [primer](../cordis-primer.md#dispatch-modes), and the framework-inherited `ctx` API lives in [cordis-api/inherited.md](../cordis-api/inherited.md).
|
|
487
487
|
|
|
488
488
|
<a id="ctxsubagents--subagentruntime"></a>
|
|
489
489
|
|
|
@@ -668,7 +668,7 @@ async start(name: string, request: SubagentStartRequest): Promise<SubagentRun>
|
|
|
668
668
|
|
|
669
669
|
Types: [Agent](./core.md) · [ContentBlock](./llm-streaming.md) · [MessageId](./llm-streaming.md) · [SessionId](./core.md)
|
|
670
670
|
|
|
671
|
-
Source: [`packages/subagent/subagent/src/index.ts
|
|
671
|
+
Source: [`packages/subagent/subagent/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/subagent/subagent/src/index.ts)
|
|
672
672
|
|
|
673
673
|
<a id="subagent-events"></a>
|
|
674
674
|
|
|
@@ -694,7 +694,7 @@ A published child settled. Scope-filtered dispatch uses the same delegating pare
|
|
|
694
694
|
|
|
695
695
|
Types: [Scoped](./scope.md)
|
|
696
696
|
|
|
697
|
-
Source: [`packages/subagent/subagent/src/index.ts
|
|
697
|
+
Source: [`packages/subagent/subagent/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/subagent/subagent/src/index.ts)
|
|
698
698
|
|
|
699
699
|
<a id="subagentprovider-added--emit"></a>
|
|
700
700
|
|
|
@@ -711,7 +711,7 @@ A provider became resolvable in the registry.
|
|
|
711
711
|
'subagent/provider-added'(provider: SubagentProvider): void
|
|
712
712
|
```
|
|
713
713
|
|
|
714
|
-
Source: [`packages/subagent/subagent/src/index.ts
|
|
714
|
+
Source: [`packages/subagent/subagent/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/subagent/subagent/src/index.ts)
|
|
715
715
|
|
|
716
716
|
<a id="subagentprovider-removed--emit"></a>
|
|
717
717
|
|
|
@@ -728,7 +728,7 @@ A provider left the registry. Accepted runs remain holder-owned.
|
|
|
728
728
|
'subagent/provider-removed'(name: string): void
|
|
729
729
|
```
|
|
730
730
|
|
|
731
|
-
Source: [`packages/subagent/subagent/src/index.ts
|
|
731
|
+
Source: [`packages/subagent/subagent/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/subagent/subagent/src/index.ts)
|
|
732
732
|
|
|
733
733
|
<a id="subagentstart--emit"></a>
|
|
734
734
|
|
|
@@ -752,5 +752,5 @@ A provider established a published child. For in-process providers, `ctx.agents.
|
|
|
752
752
|
|
|
753
753
|
Types: [Scoped](./scope.md)
|
|
754
754
|
|
|
755
|
-
Source: [`packages/subagent/subagent/src/index.ts
|
|
755
|
+
Source: [`packages/subagent/subagent/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/subagent/subagent/src/index.ts)
|
|
756
756
|
<!-- END GENERATED cordis-surface -->
|
|
@@ -257,7 +257,7 @@ The abstract [`SubprocessRuntime`](https://github.com/deepseek-ai/deepseek-harne
|
|
|
257
257
|
|
|
258
258
|
## Cordis API
|
|
259
259
|
|
|
260
|
-
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) —
|
|
260
|
+
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) — the language sides differ only in locale-specific paired document paths. Signature blocks use a `ts cordis-catalog` fence and keep the original source JSDoc; dispatch modes are defined in the [primer](../cordis-primer.md#dispatch-modes), and the framework-inherited `ctx` API lives in [cordis-api/inherited.md](../cordis-api/inherited.md).
|
|
261
261
|
|
|
262
262
|
<a id="ctxe2b--e2bruntime"></a>
|
|
263
263
|
|
|
@@ -274,7 +274,7 @@ Creates one lazily consumable E2B SDK handle and deletes the sandbox at timeout
|
|
|
274
274
|
async getSandbox(): Promise<Sandbox>
|
|
275
275
|
```
|
|
276
276
|
|
|
277
|
-
Source: [`packages/e2b/e2b/src/index.ts
|
|
277
|
+
Source: [`packages/e2b/e2b/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/e2b/e2b/src/index.ts)
|
|
278
278
|
|
|
279
279
|
<a id="ctxsubprocess--subprocessruntime-abstract-seam"></a>
|
|
280
280
|
|
|
@@ -323,5 +323,5 @@ abstract spawn(spec: SubprocessSpawnSpec): SubprocessHandle
|
|
|
323
323
|
abstract spawnTerminal(spec: SubprocessTerminalSpawnSpec): Promise<SubprocessTerminalHandle>
|
|
324
324
|
```
|
|
325
325
|
|
|
326
|
-
Source: [`packages/subprocess/subprocess/src/index.ts
|
|
326
|
+
Source: [`packages/subprocess/subprocess/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/subprocess/subprocess/src/index.ts)
|
|
327
327
|
<!-- END GENERATED cordis-surface -->
|