@sema-agent/core 5.64.0 → 6.0.0
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 +70 -0
- package/dist/agents/subagent.d.ts +2 -2
- package/dist/agents/subagent.js +11 -0
- package/dist/agents/verify.d.ts +1 -1
- package/dist/brain/anthropic.js +1 -1
- package/dist/brain/errors.d.ts +29 -0
- package/dist/brain/errors.js +20 -0
- package/dist/brain/open-responses.js +2 -2
- package/dist/brain/route-adjudicator.d.ts +8 -1
- package/dist/brain/route-adjudicator.js +1 -0
- package/dist/brain/status-sink.js +12 -1
- package/dist/brain/stream-engine.js +17 -6
- package/dist/core/auto-compaction.d.ts +26 -0
- package/dist/core/auto-compaction.js +7 -2
- package/dist/core/auto-mode-arming.d.ts +138 -0
- package/dist/core/auto-mode-arming.js +181 -0
- package/dist/core/auto-mode-defaults.d.ts +13 -0
- package/dist/core/auto-mode-defaults.js +5 -0
- package/dist/core/auto-mode-prompt.d.ts +14 -3
- package/dist/core/auto-mode-prompt.js +10 -7
- package/dist/core/auto-mode-rebuild.d.ts +75 -0
- package/dist/core/auto-mode-rebuild.js +41 -0
- package/dist/core/auto-mode.d.ts +15 -0
- package/dist/core/auto-mode.js +4 -2
- package/dist/core/checkpoint-store.d.ts +113 -4
- package/dist/core/context-edit.d.ts +47 -5
- package/dist/core/context-guard.d.ts +1 -1
- package/dist/core/file-history-retention.d.ts +106 -0
- package/dist/core/file-history-retention.js +36 -0
- package/dist/core/file-history-store.d.ts +768 -0
- package/dist/core/file-history-store.js +880 -0
- package/dist/core/governance-codes.d.ts +2 -1
- package/dist/core/governance-codes.js +14 -0
- package/dist/core/hooks.d.ts +48 -8
- package/dist/core/hooks.js +39 -22
- package/dist/core/lsp.d.ts +2 -2
- package/dist/core/mcp.d.ts +29 -7
- package/dist/core/memory-engine/consolidation-driver.d.ts +11 -0
- package/dist/core/memory-engine/consolidation-driver.js +71 -4
- package/dist/core/memory-engine/consolidation.d.ts +25 -2
- package/dist/core/memory-engine/consolidation.js +4 -1
- package/dist/core/memory-engine/distiller.d.ts +84 -1
- package/dist/core/memory-engine/distiller.js +68 -0
- package/dist/core/memory-engine/dual-root.js +6 -0
- package/dist/core/memory-engine/engine.d.ts +329 -15
- package/dist/core/memory-engine/engine.js +364 -34
- package/dist/core/memory-engine/file-backend.d.ts +30 -0
- package/dist/core/memory-engine/file-backend.js +14 -13
- package/dist/core/memory-engine/frontmatter.d.ts +22 -1
- package/dist/core/memory-engine/frontmatter.js +3 -0
- package/dist/core/memory-engine/header-hints.d.ts +5 -0
- package/dist/core/memory-engine/index.d.ts +5 -4
- package/dist/core/memory-engine/index.js +5 -4
- package/dist/core/memory-engine/layout.d.ts +88 -2
- package/dist/core/memory-engine/layout.js +112 -3
- package/dist/core/memory-engine/provenance-wording.d.ts +7 -0
- package/dist/core/memory-engine/provenance-wording.js +3 -0
- package/dist/core/memory-engine/tools.d.ts +89 -8
- package/dist/core/memory-engine/tools.js +263 -22
- package/dist/core/memory-engine/types.d.ts +80 -1
- package/dist/core/memory-recall.d.ts +6 -0
- package/dist/core/memory.d.ts +27 -1
- package/dist/core/memory.js +16 -2
- package/dist/core/permission-rule-consent.d.ts +20 -0
- package/dist/core/permission-rule-consent.js +12 -3
- package/dist/core/permission-rule-model.d.ts +67 -7
- package/dist/core/permission-rule-model.js +53 -7
- package/dist/core/permission-rule-store.js +15 -10
- package/dist/core/permission-rule-sync.js +15 -11
- package/dist/core/remote-env.d.ts +3 -3
- package/dist/core/retention-policy.d.ts +9 -0
- package/dist/core/retention-policy.js +5 -2
- package/dist/core/retention.d.ts +13 -2
- package/dist/core/runner/assemble-result.d.ts +19 -1
- package/dist/core/runner/assemble-result.js +17 -2
- package/dist/core/runner/compaction-call-options.d.ts +93 -0
- package/dist/core/runner/compaction-call-options.js +3 -0
- package/dist/core/runner/memory-capture-optout.d.ts +80 -0
- package/dist/core/runner/memory-capture-optout.js +53 -0
- package/dist/core/runner/prepare-config-doors.d.ts +5 -0
- package/dist/core/runner/prepare-config-doors.js +16 -0
- package/dist/core/runner/prepare-hands-readface.d.ts +119 -5
- package/dist/core/runner/prepare-hands-readface.js +103 -8
- package/dist/core/runner/prepare-memory.d.ts +88 -0
- package/dist/core/runner/prepare-memory.js +306 -25
- package/dist/core/runner/prepare-task.d.ts +156 -5
- package/dist/core/runner/prepare-task.js +488 -98
- package/dist/core/runner/runtask.d.ts +27 -20
- package/dist/core/runner/runtask.js +283 -99
- package/dist/core/runner/session-file-state-replay.d.ts +18 -10
- package/dist/core/runner/session-file-state-replay.js +52 -1
- package/dist/core/runner/tool-disclosure.js +2 -1
- package/dist/core/runner/turn-attachments.d.ts +22 -12
- package/dist/core/session-store.d.ts +1 -1
- package/dist/core/session-store.js +6 -1
- package/dist/core/session.d.ts +34 -1
- package/dist/core/store-contracts/file-history-store-contract.d.ts +3 -0
- package/dist/core/store-contracts/file-history-store-contract.js +720 -0
- package/dist/core/stub-env.d.ts +4 -0
- package/dist/core/stub-env.js +1 -0
- package/dist/core/task-registry-shared.js +30 -2
- package/dist/core/tool-errors.js +1 -0
- package/dist/core/tool-policy.d.ts +172 -1
- package/dist/core/tool-policy.js +32 -1
- package/dist/core/tool-result-store.js +2 -1
- package/dist/core/trace.d.ts +24 -0
- package/dist/core/types.d.ts +875 -97
- package/dist/core/types.js +4 -3
- package/dist/core/untrusted-text.d.ts +1 -1
- package/dist/core/untrusted-text.js +8 -0
- package/dist/core/workflow-run-store-contract.js +17 -0
- package/dist/core/workflow-run-store.d.ts +20 -0
- package/dist/core/workflow-run-store.js +1 -0
- package/dist/engine/compaction/compaction.d.ts +88 -10
- package/dist/engine/compaction/compaction.js +109 -30
- package/dist/engine/execution-env/node-execution-env.d.ts +9 -1
- package/dist/engine/execution-env/node-execution-env.js +28 -0
- package/dist/engine/harness/agent-harness.d.ts +52 -1
- package/dist/engine/harness/agent-harness.js +36 -1
- package/dist/engine/harness/types.d.ts +44 -1
- package/dist/engine/llm/types.d.ts +50 -4
- package/dist/engine/loop/agent-loop.d.ts +5 -1
- package/dist/engine/loop/agent-loop.js +25 -0
- package/dist/engine/loop/types.d.ts +19 -0
- package/dist/engine/lsp/node-lsp-manager.d.ts +1 -1
- package/dist/engine/session/session.js +1 -1
- package/dist/index.d.ts +18 -8
- package/dist/index.js +14 -6
- package/dist/orchestration/run-workflow-tool.d.ts +20 -2
- package/dist/orchestration/run-workflow-tool.js +22 -3
- package/dist/orchestration/workflow-governance.d.ts +59 -1
- package/dist/orchestration/workflow-governance.js +61 -8
- package/dist/orchestration/workflow-meta.d.ts +4 -2
- package/dist/orchestration/workflow-primitives.js +56 -13
- package/dist/orchestration/workflow-types.d.ts +112 -1
- package/dist/orchestration/workflow-types.js +2 -2
- package/dist/orchestration/workflow.d.ts +20 -0
- package/dist/orchestration/workflow.js +182 -14
- package/dist/prompt-assembly/event-registry.js +1 -1
- package/dist/prompts/default.d.ts +15 -7
- package/dist/prompts/default.js +3 -0
- package/dist/stores/file/file-history-store.d.ts +368 -0
- package/dist/stores/file/file-history-store.js +1248 -0
- package/dist/stores/file/index.d.ts +22 -13
- package/dist/stores/file/index.js +4 -4
- package/dist/stores/file/permission-rule-store.js +1 -0
- package/dist/stores/file/strategy-store.d.ts +3 -3
- package/dist/tools/fs/bash-readonly-classifier.d.ts +87 -3
- package/dist/tools/fs/bash-readonly-classifier.js +106 -4
- package/dist/tools/fs/fs-bash.js +9 -5
- package/dist/tools/fs/fs-shared.d.ts +52 -1
- package/dist/tools/fs/fs-shared.js +14 -0
- package/dist/tools/fs/fs-write.d.ts +5 -5
- package/dist/tools/fs/fs-write.js +71 -14
- package/dist/tools/fs/index.d.ts +6 -1
- package/dist/tools/fs/index.js +1 -1
- package/dist/tools/web.js +2 -1
- package/package.json +5 -1
- package/test/export-surface.snapshot.json +159 -23
- package/dist/core/file-snapshot-store.d.ts +0 -165
- package/dist/core/file-snapshot-store.js +0 -259
- package/dist/core/store-contracts/file-snapshot-store-contract.d.ts +0 -13
- package/dist/core/store-contracts/file-snapshot-store-contract.js +0 -134
- package/dist/stores/file/file-snapshot-store.d.ts +0 -58
- package/dist/stores/file/file-snapshot-store.js +0 -353
|
@@ -152,16 +152,11 @@ export declare class Runner {
|
|
|
152
152
|
readonly sessions: SessionStore;
|
|
153
153
|
/** Per-sessionId serialization so two tasks never mutate one session concurrently. */
|
|
154
154
|
private sessionLocks;
|
|
155
|
-
/**
|
|
156
|
-
*
|
|
157
|
-
*
|
|
158
|
-
*
|
|
159
|
-
|
|
160
|
-
* user later SHRINKS re-probes instead of being locked out until restart.
|
|
161
|
-
* RB-430-b: `skipAnnounced` makes the SKIP itself observable — one announcement per cooldown window,
|
|
162
|
-
* so an operator can tell "this turn produced no snapshot" from "snapshots are working", without the
|
|
163
|
-
* per-turn log spam the latch exists to prevent. Cleared with the entry when the window elapses. */
|
|
164
|
-
private snapshotTooLargeRoots;
|
|
155
|
+
/** #483 rung-1 — per-session read-file-state seats (CC parity: readFileState is session-scoped;
|
|
156
|
+
* sema's map stays per-task, so the session scope lives here). A bounded CACHE, never an
|
|
157
|
+
* authority: a durable resume's checkpoint seed wins on its leg, and a miss (cross-process,
|
|
158
|
+
* evicted) falls back to the transcript-replay rung. See {@link SessionReadFileStates}. */
|
|
159
|
+
private readonly sessionReadStates;
|
|
165
160
|
/** task notifications born BETWEEN turns (run torn down / harness already idle), parked
|
|
166
161
|
* per session and drained into the session's next run at its first boundary. Runner-lived (outlives any
|
|
167
162
|
* single run, like the registry handles that produce into it); bounded + drop-disclosing, see
|
|
@@ -179,6 +174,24 @@ export declare class Runner {
|
|
|
179
174
|
* observed `already_resolved` and by the FIFO cap — an evicted entry only ever degrades to the explicit
|
|
180
175
|
* re-supply requirement (fail-loud), never fail-open. */
|
|
181
176
|
private readonly parentConstraintRegistry;
|
|
177
|
+
/** rescan C2 — same-process suspended-env reap handles by token: the design/51 fence contract is
|
|
178
|
+
* "only the expire WINNER destroys the paused env", and the terminal resume-preflight arm
|
|
179
|
+
* (resumeStream) can now BE that winner — without this registry the losing stream-side
|
|
180
|
+
* reapSuspended returned early and the paused env this process holds leaked forever. Registered
|
|
181
|
+
* when a suspend publishes its reap handle; retired when the stream's own reap runs, when a
|
|
182
|
+
* resume wins the resolve CAS (the restore path owns the env from there — a later reopen keeps
|
|
183
|
+
* the ORIGINAL stream's closure as the reaping owner, deliberately), and when the terminal arm
|
|
184
|
+
* wins. Bounded by live suspended streams (the closures hold the same handles). */
|
|
185
|
+
private readonly suspendedEnvReaps;
|
|
186
|
+
/** rescan C2 review r3 — SAME-RUNNER claim marks for {@link suspendedEnvReaps}: a token appears
|
|
187
|
+
* here from the moment an in-process actor ATTEMPTS its settling CAS (the terminal preflight's
|
|
188
|
+
* expire; a resume's resolve) until that actor's duty decision is done. The losing stream-side
|
|
189
|
+
* reap preserves a record ONLY while a local claim is in flight — a CROSS-Runner settlement
|
|
190
|
+
* leaves no local claim, so the loser retires the record (drops the strong ref; physical cleanup
|
|
191
|
+
* belongs to the winning owner, unprovable from here) instead of retaining env handles without
|
|
192
|
+
* bound in a long-lived Runner. A stale claim's failure direction is retention (the status quo),
|
|
193
|
+
* never a wrong destroy. */
|
|
194
|
+
private readonly locallyClaimedTokens;
|
|
182
195
|
private static readonly PARENT_CONSTRAINT_REGISTRY_CAP;
|
|
183
196
|
constructor(deps: RunnerDeps);
|
|
184
197
|
/** design/73 §1 v1 — fire `RunnerDeps.onTaskOutcome` through the single swallow-guarded chokepoint
|
|
@@ -256,13 +269,6 @@ export declare class Runner {
|
|
|
256
269
|
* never rejects. Also fills the budget-excluded `stats.suggestions` line.
|
|
257
270
|
*/
|
|
258
271
|
private suggestNextPrompts;
|
|
259
|
-
/**
|
|
260
|
-
* design/101 §E19 — capture a working-tree snapshot of the just-finished turn, keyed by the leaf
|
|
261
|
-
* `SessionTreeEntry.id`. Best-effort + never throws (errors route to `onError(phase:"rewind")`). Runs against
|
|
262
|
-
* ANY ExecutionEnv (local or remote) when a `fileSnapshotStore` is wired (GATE-SPLIT) — the
|
|
263
|
-
* snapshot is portable (env FileSystem ops). A deployment wanting VM-snapshot instead wires a VM-backed store.
|
|
264
|
-
*/
|
|
265
|
-
private snapshotTurn;
|
|
266
272
|
/** Run a task to completion and return a machine-readable result. */
|
|
267
273
|
runTask(spec: TaskSpec, internals?: RunInternals): Promise<TaskResult>;
|
|
268
274
|
/**
|
|
@@ -411,9 +417,10 @@ export declare class Runner {
|
|
|
411
417
|
* reaper is the backstop for an env orphaned by a rare pre-teardown throw (same posture as `mcp`).
|
|
412
418
|
*
|
|
413
419
|
* Runs from the run-loop tail AFTER every env-reader (finish()'s compaction `attachWorkingFiles` +
|
|
414
|
-
*
|
|
415
|
-
* fix for a teardown-order defect: the old in-`finish` destroy ran BEFORE
|
|
416
|
-
* remote/worktree lane
|
|
420
|
+
* the file-history boundary settle), so the working tree is still readable when they run. This ORDER is
|
|
421
|
+
* the fix for a teardown-order defect: the old in-`finish` destroy ran BEFORE the capture seat, so a
|
|
422
|
+
* factory-minted remote/worktree lane captured an already-destroyed env (plain host/static lanes were
|
|
423
|
+
* false-green).
|
|
417
424
|
*
|
|
418
425
|
* design/49 v1.5 / design/76 §2.5: a SUSPENDED (`suspendRef.token`) or `needs_review` (`reviewRef.token`) pause
|
|
419
426
|
* `suspendVM`-paused the env and persisted its `workspaceHandle` into the checkpoint — destroying it would
|