@sema-agent/core 1.407.0 → 1.410.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/dist/agents/roster-store.d.ts.map +1 -1
- package/dist/agents/roster-store.js +2 -1
- package/dist/agents/roster-store.js.map +1 -1
- package/dist/agents/subagent.d.ts.map +1 -1
- package/dist/agents/subagent.js +14 -4
- package/dist/agents/subagent.js.map +1 -1
- package/dist/core/background-agent-store.d.ts.map +1 -1
- package/dist/core/background-agent-store.js +3 -3
- package/dist/core/background-agent-store.js.map +1 -1
- package/dist/core/canonical-json.js +10 -2
- package/dist/core/canonical-json.js.map +1 -1
- package/dist/core/checkpoint-store.d.ts +3 -3
- package/dist/core/checkpoint-store.d.ts.map +1 -1
- package/dist/core/checkpoint-store.js +10 -1
- package/dist/core/checkpoint-store.js.map +1 -1
- package/dist/core/hooks.d.ts.map +1 -1
- package/dist/core/hooks.js +3 -3
- package/dist/core/hooks.js.map +1 -1
- package/dist/core/mailbox-store.d.ts.map +1 -1
- package/dist/core/mailbox-store.js +4 -3
- package/dist/core/mailbox-store.js.map +1 -1
- package/dist/core/mcp.d.ts.map +1 -1
- package/dist/core/mcp.js +16 -2
- package/dist/core/mcp.js.map +1 -1
- package/dist/core/runner/prepare-task.d.ts +1 -0
- package/dist/core/runner/prepare-task.d.ts.map +1 -1
- package/dist/core/runner/prepare-task.js +19 -9
- package/dist/core/runner/prepare-task.js.map +1 -1
- package/dist/core/runner/runtask.d.ts.map +1 -1
- package/dist/core/runner/runtask.js +27 -1
- package/dist/core/runner/runtask.js.map +1 -1
- package/dist/core/session-reconcile.d.ts.map +1 -1
- package/dist/core/session-reconcile.js +27 -11
- package/dist/core/session-reconcile.js.map +1 -1
- package/dist/core/task-notification.d.ts +1 -0
- package/dist/core/task-notification.d.ts.map +1 -1
- package/dist/core/task-notification.js +26 -1
- package/dist/core/task-notification.js.map +1 -1
- package/dist/core/task-registry.d.ts +1 -1
- package/dist/core/task-registry.d.ts.map +1 -1
- package/dist/core/task-registry.js +9 -5
- package/dist/core/task-registry.js.map +1 -1
- package/dist/core/tighten-task-spec.d.ts.map +1 -1
- package/dist/core/tighten-task-spec.js +7 -0
- package/dist/core/tighten-task-spec.js.map +1 -1
- package/dist/core/tool-policy.d.ts.map +1 -1
- package/dist/core/tool-policy.js +24 -8
- package/dist/core/tool-policy.js.map +1 -1
- package/dist/{stores/pg.d.ts → examples/adapters/pg-adapter.d.ts} +5 -5
- package/dist/examples/adapters/pg-adapter.d.ts.map +1 -0
- package/dist/{stores/pg.js → examples/adapters/pg-adapter.js} +11 -6
- package/dist/examples/adapters/pg-adapter.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/stores/cc/mailbox-store.d.ts.map +1 -1
- package/dist/stores/cc/mailbox-store.js +3 -2
- package/dist/stores/cc/mailbox-store.js.map +1 -1
- package/dist/stores/cc/sidecar-transcript.d.ts.map +1 -1
- package/dist/stores/cc/sidecar-transcript.js +25 -3
- package/dist/stores/cc/sidecar-transcript.js.map +1 -1
- package/dist/stores/cc/task-list-store.d.ts.map +1 -1
- package/dist/stores/cc/task-list-store.js +26 -12
- package/dist/stores/cc/task-list-store.js.map +1 -1
- package/dist/stores/file/background-agent-store.d.ts +8 -4
- package/dist/stores/file/background-agent-store.d.ts.map +1 -1
- package/dist/stores/file/background-agent-store.js +41 -6
- package/dist/stores/file/background-agent-store.js.map +1 -1
- package/dist/stores/file/checkpoint-store.d.ts.map +1 -1
- package/dist/stores/file/checkpoint-store.js +3 -2
- package/dist/stores/file/checkpoint-store.js.map +1 -1
- package/dist/stores/file/fs-atomic.d.ts.map +1 -1
- package/dist/stores/file/fs-atomic.js +8 -2
- package/dist/stores/file/fs-atomic.js.map +1 -1
- package/dist/stores/file/mailbox-store.d.ts.map +1 -1
- package/dist/stores/file/mailbox-store.js +19 -9
- package/dist/stores/file/mailbox-store.js.map +1 -1
- package/dist/stores/file/session-store.d.ts.map +1 -1
- package/dist/stores/file/session-store.js +35 -6
- package/dist/stores/file/session-store.js.map +1 -1
- package/dist/stores/file/task-list-store.d.ts.map +1 -1
- package/dist/stores/file/task-list-store.js +36 -4
- package/dist/stores/file/task-list-store.js.map +1 -1
- package/dist/stores/file/workflow-journal-store.d.ts +1 -1
- package/dist/stores/file/workflow-journal-store.d.ts.map +1 -1
- package/dist/stores/file/workflow-journal-store.js +15 -16
- package/dist/stores/file/workflow-journal-store.js.map +1 -1
- package/dist/stores/file/workflow-run-store.d.ts +8 -4
- package/dist/stores/file/workflow-run-store.d.ts.map +1 -1
- package/dist/stores/file/workflow-run-store.js +39 -5
- package/dist/stores/file/workflow-run-store.js.map +1 -1
- package/dist/tools/fs/index.d.ts.map +1 -1
- package/dist/tools/fs/index.js +26 -1
- package/dist/tools/fs/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/stores/pg.d.ts.map +0 -1
- package/dist/stores/pg.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtask.d.ts","sourceRoot":"","sources":["../../../src/core/runner/runtask.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAoB,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EASL,KAAK,UAAU,EAEf,KAAK,eAAe,EACpB,KAAK,YAAY,EAGjB,KAAK,aAAa,EACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAgC,YAAY,EAAE,MAAM,mBAAmB,CAAC;AASpF,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAQvE,OAAO,EAAgB,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAM1F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAyBlD,OAAO,KAAK,EAAE,eAAe,EAAsC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAwBhJ,eAAO,MAAM,iBAAiB,OAAO,CAAC;AA4HtC,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,EAAE,WAAW,GAAG,WAAW,CAAC,CAAC;AAGzE,UAAU,SAAS;IACjB,EAAE,EAAE,UAAU,CAAC;IAQf,OAAO,EAAE,OAAO,CAAC,aAAa,EAAE;QAAE,IAAI,EAAE,YAAY,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,aAAa,GAAG,MAAM,CAAA;KAAE,CAAC,CAAC;IAMvH,WAAW,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IASjD,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9D;AAgMD,qBAAa,MAAM;IACjB,OAAO,CAAC,IAAI,CAAa;IACzB,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAEhC,OAAO,CAAC,YAAY,CAAoC;IAOxD,OAAO,CAAC,qBAAqB,CAA6B;IAK1D,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAqC;IAYjF,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAA+E;IACxH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,8BAA8B,CAAQ;gBAElD,IAAI,EAAE,UAAU;IA+E5B,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAS3C,IAAI,YAAY,IAAI;QAAE,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;QAAC,aAAa,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;KAAE,CAU1G;IAOD,IAAI,YAAY,IAAI;QAAE,UAAU,CAAC,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAA;KAAE,CAmDzF;YAGa,kBAAkB;IAwBhC,SAAS,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC;IAYxD,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,YAAY,GAAG,UAAU;
|
|
1
|
+
{"version":3,"file":"runtask.d.ts","sourceRoot":"","sources":["../../../src/core/runner/runtask.ts"],"names":[],"mappings":"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"}
|
|
@@ -397,7 +397,7 @@ export class Runner {
|
|
|
397
397
|
})();
|
|
398
398
|
const settled = run.catch(async (err) => {
|
|
399
399
|
let code = errorCodeOf(err);
|
|
400
|
-
const reopenReason = code === "resume.env_failed"
|
|
400
|
+
const reopenReason = code === "resume.env_failed" || code === "resume.session_not_found"
|
|
401
401
|
? "env_failed"
|
|
402
402
|
: code === "resume.tool_unavailable"
|
|
403
403
|
? "tool_unavailable"
|
|
@@ -3157,6 +3157,19 @@ export class Runner {
|
|
|
3157
3157
|
sanitizeUntrustedText(outcome.editedPlan) !== outcome.editedPlan) {
|
|
3158
3158
|
throw new CheckpointError("checkpoint.invalid_outcome", "resume editedPlan must not contain a </system-reminder> tag");
|
|
3159
3159
|
}
|
|
3160
|
+
if ((outcome.gate === "plan_review" || outcome.gate === "dry_run_review") && cp.reopenReason === "env_failed") {
|
|
3161
|
+
const winner = cp.resolvedOutcome;
|
|
3162
|
+
if (winner === undefined) {
|
|
3163
|
+
throw new CheckpointError("checkpoint.reopen_revote", "review checkpoint was reopened after an env-restore failure (env_failed) but carries no persisted winner to replay — refusing to resume (inconsistent row, fail-closed)");
|
|
3164
|
+
}
|
|
3165
|
+
if (winner.decision !== outcome.decision) {
|
|
3166
|
+
throw new CheckpointError("checkpoint.reopen_revote", `an env_failed reopen replays the ALREADY-RECORDED review decision ("${winner.decision}") — refusing a re-vote with a different decision ("${outcome.decision}")`);
|
|
3167
|
+
}
|
|
3168
|
+
const replayedPlan = outcome.gate === "plan_review" ? outcome.editedPlan : undefined;
|
|
3169
|
+
if (winner.updatedInput !== replayedPlan) {
|
|
3170
|
+
throw new CheckpointError("checkpoint.reopen_revote", "an env_failed reopen replays the ALREADY-RECORDED review decision — refusing a re-vote whose edited plan differs from the recorded one");
|
|
3171
|
+
}
|
|
3172
|
+
}
|
|
3160
3173
|
if (outcome.gate === "policy_ask") {
|
|
3161
3174
|
const boundTo = cp.pendingAction.kind === "tool_approval" ? cp.pendingAction.toolCallId : undefined;
|
|
3162
3175
|
if (outcome.boundCallId !== boundTo) {
|
|
@@ -3184,6 +3197,9 @@ export class Runner {
|
|
|
3184
3197
|
if (checkpointVersionOf(cp) > MAX_SUPPORTED_CHECKPOINT_VERSION) {
|
|
3185
3198
|
throw new CheckpointError("checkpoint.unsupported_version", `checkpoint version ${checkpointVersionOf(cp)} is newer than this worker supports (max ${MAX_SUPPORTED_CHECKPOINT_VERSION})`);
|
|
3186
3199
|
}
|
|
3200
|
+
if (taskConfig.signal?.aborted === true) {
|
|
3201
|
+
throw new CheckpointError("checkpoint.resume_aborted", "the resume was handed an ALREADY-ABORTED signal — refusing to consume the approval on a leg that cannot run it (the checkpoint stays pending and is resumable with a live signal)");
|
|
3202
|
+
}
|
|
3187
3203
|
if (cp.state.workspaceHandle !== undefined && this.deps.executionEnvFactory === undefined) {
|
|
3188
3204
|
throw new CheckpointError("checkpoint.unsupported_version", "checkpoint has a remote workspaceHandle but no RunnerDeps.executionEnvFactory is wired to rebuild the env");
|
|
3189
3205
|
}
|
|
@@ -3218,6 +3234,7 @@ export class Runner {
|
|
|
3218
3234
|
...taskConfig,
|
|
3219
3235
|
objective: "",
|
|
3220
3236
|
sessionId: cp.sessionId,
|
|
3237
|
+
requireExistingSession: true,
|
|
3221
3238
|
preemptSignal: taskConfig.preemptSignal?.aborted ? undefined : taskConfig.preemptSignal,
|
|
3222
3239
|
};
|
|
3223
3240
|
const reopenFn = store.reopen?.bind(store);
|
|
@@ -3288,6 +3305,15 @@ export class Runner {
|
|
|
3288
3305
|
emitCommitted(eid, "toolResult", pendingAction.toolCallId);
|
|
3289
3306
|
return;
|
|
3290
3307
|
}
|
|
3308
|
+
if (outcome.decision === "allow" && outcome.updatedInput !== undefined && prepared.basePolicyForResumeEdit) {
|
|
3309
|
+
const rechecked = await prepared.basePolicyForResumeEdit.check({ toolName: pendingAction.toolName, args: resolvedArgs, toolCallId: pendingAction.toolCallId }, prepared.abortController.signal);
|
|
3310
|
+
if (rechecked.action === "deny") {
|
|
3311
|
+
emitEnd(true);
|
|
3312
|
+
const eid = await prepared.session.appendMessage(toolResultMsg(pendingAction.toolCallId, pendingAction.toolName, formatHookFeedback(`The approver EDITED this call's input; the edited call is denied by the deployment's tool policy and was not executed${rechecked.reason ? `: ${rechecked.reason}` : ""}.`), true));
|
|
3313
|
+
emitCommitted(eid, "toolResult", pendingAction.toolCallId);
|
|
3314
|
+
return;
|
|
3315
|
+
}
|
|
3316
|
+
}
|
|
3291
3317
|
if (prepared.denyNarrowingPolicy) {
|
|
3292
3318
|
const narrowed = await prepared.denyNarrowingPolicy.check({ toolName: pendingAction.toolName, args: resolvedArgs, toolCallId: pendingAction.toolCallId }, prepared.abortController.signal);
|
|
3293
3319
|
if (narrowed.action === "deny") {
|