@sema-agent/core 1.410.0 → 1.413.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 +6 -5
- package/dist/agents/roster-store.js.map +1 -1
- package/dist/agents/subagent.d.ts.map +1 -1
- package/dist/agents/subagent.js +17 -11
- package/dist/agents/subagent.js.map +1 -1
- package/dist/core/auto-compaction.d.ts +5 -0
- package/dist/core/auto-compaction.d.ts.map +1 -1
- package/dist/core/auto-compaction.js +11 -5
- package/dist/core/auto-compaction.js.map +1 -1
- package/dist/core/exec-output-tail.d.ts.map +1 -1
- package/dist/core/exec-output-tail.js +1 -1
- package/dist/core/exec-output-tail.js.map +1 -1
- package/dist/core/mcp.d.ts.map +1 -1
- package/dist/core/mcp.js +8 -3
- package/dist/core/mcp.js.map +1 -1
- package/dist/core/runner/prepare-task.d.ts.map +1 -1
- package/dist/core/runner/prepare-task.js +37 -9
- package/dist/core/runner/prepare-task.js.map +1 -1
- package/dist/core/runner/runtask.d.ts +1 -0
- package/dist/core/runner/runtask.d.ts.map +1 -1
- package/dist/core/runner/runtask.js +50 -9
- package/dist/core/runner/runtask.js.map +1 -1
- package/dist/core/runner/turn-attachments.js +3 -0
- package/dist/core/runner/turn-attachments.js.map +1 -1
- package/dist/core/task-notification.d.ts +4 -0
- package/dist/core/task-notification.d.ts.map +1 -1
- package/dist/core/task-notification.js +43 -26
- package/dist/core/task-notification.js.map +1 -1
- package/dist/core/task-registry.d.ts.map +1 -1
- package/dist/core/task-registry.js +14 -5
- package/dist/core/task-registry.js.map +1 -1
- package/dist/core/tool-policy.d.ts.map +1 -1
- package/dist/core/tool-policy.js +98 -16
- package/dist/core/tool-policy.js.map +1 -1
- package/dist/core/tool-result-budget.d.ts +5 -0
- package/dist/core/tool-result-budget.d.ts.map +1 -1
- package/dist/core/tool-result-budget.js +58 -27
- package/dist/core/tool-result-budget.js.map +1 -1
- package/dist/core/tool-result-store.d.ts +4 -1
- package/dist/core/tool-result-store.d.ts.map +1 -1
- package/dist/core/tool-result-store.js +5 -3
- package/dist/core/tool-result-store.js.map +1 -1
- package/dist/core/types.d.ts +5 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/untrusted-egress.d.ts.map +1 -1
- package/dist/core/untrusted-egress.js +5 -2
- package/dist/core/untrusted-egress.js.map +1 -1
- package/dist/core/untrusted-text.d.ts +1 -1
- package/dist/core/untrusted-text.d.ts.map +1 -1
- package/dist/core/untrusted-text.js +9 -3
- package/dist/core/untrusted-text.js.map +1 -1
- package/dist/engine/compaction/compaction.d.ts.map +1 -1
- package/dist/engine/compaction/compaction.js +0 -10
- package/dist/engine/compaction/compaction.js.map +1 -1
- package/dist/engine/compaction/utils.d.ts.map +1 -1
- package/dist/engine/compaction/utils.js +2 -1
- package/dist/engine/compaction/utils.js.map +1 -1
- package/dist/engine/harness/types.d.ts +16 -0
- package/dist/engine/harness/types.d.ts.map +1 -1
- package/dist/engine/harness/types.js +31 -0
- package/dist/engine/harness/types.js.map +1 -1
- package/dist/engine/session/import-validate.d.ts +1 -0
- package/dist/engine/session/import-validate.d.ts.map +1 -1
- package/dist/engine/session/import-validate.js +40 -3
- package/dist/engine/session/import-validate.js.map +1 -1
- package/dist/engine/session/repo-utils.d.ts.map +1 -1
- package/dist/engine/session/repo-utils.js +15 -2
- package/dist/engine/session/repo-utils.js.map +1 -1
- package/dist/engine/session/session.d.ts.map +1 -1
- package/dist/engine/session/session.js +26 -2
- package/dist/engine/session/session.js.map +1 -1
- package/dist/prompt-assembly/assemble.d.ts.map +1 -1
- package/dist/prompt-assembly/assemble.js +7 -6
- package/dist/prompt-assembly/assemble.js.map +1 -1
- package/dist/stores/file/background-agent-store.d.ts +1 -0
- package/dist/stores/file/background-agent-store.d.ts.map +1 -1
- package/dist/stores/file/background-agent-store.js +11 -7
- package/dist/stores/file/background-agent-store.js.map +1 -1
- package/dist/stores/file/checkpoint-store.d.ts +9 -4
- package/dist/stores/file/checkpoint-store.d.ts.map +1 -1
- package/dist/stores/file/checkpoint-store.js +56 -8
- package/dist/stores/file/checkpoint-store.js.map +1 -1
- package/dist/stores/file/fs-atomic.d.ts +1 -0
- package/dist/stores/file/fs-atomic.d.ts.map +1 -1
- package/dist/stores/file/fs-atomic.js +25 -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 +37 -13
- package/dist/stores/file/mailbox-store.js.map +1 -1
- package/dist/stores/file/memory-store.d.ts +3 -1
- package/dist/stores/file/memory-store.d.ts.map +1 -1
- package/dist/stores/file/memory-store.js +24 -2
- package/dist/stores/file/memory-store.js.map +1 -1
- package/dist/stores/file/session-store.d.ts.map +1 -1
- package/dist/stores/file/session-store.js +6 -5
- 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 +4 -3
- package/dist/stores/file/task-list-store.js.map +1 -1
- package/dist/stores/file/workflow-run-store.d.ts +1 -0
- package/dist/stores/file/workflow-run-store.d.ts.map +1 -1
- package/dist/stores/file/workflow-run-store.js +7 -3
- 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 +11 -8
- package/dist/tools/fs/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -224,8 +224,8 @@ export async function prepareTask(spec, deps, sessions, resume, _memorySelector,
|
|
|
224
224
|
? resolveModel(spec.compactionModel, deps.models)
|
|
225
225
|
: roleModelIfSet("summarize", spec, deps);
|
|
226
226
|
const toolEffects = new Map();
|
|
227
|
-
const
|
|
228
|
-
const
|
|
227
|
+
const ownToolNames = new Set((spec.tools ?? []).map((t) => t.name));
|
|
228
|
+
const claimedAliases = new Set();
|
|
229
229
|
const egressTools = new Set();
|
|
230
230
|
const irreversibleTools = new Set();
|
|
231
231
|
const irreversibilityTier = new Map();
|
|
@@ -241,8 +241,6 @@ export async function prepareTask(spec, deps, sessions, resume, _memorySelector,
|
|
|
241
241
|
if (t.effect) {
|
|
242
242
|
toolEffects.set(t.name, t.effect);
|
|
243
243
|
}
|
|
244
|
-
for (const alias of t.aliases ?? [])
|
|
245
|
-
toolNameForSafety.set(alias, t.name);
|
|
246
244
|
const tier = t.irreversibility ?? (t.reversibilityProbe ? "maybe" : undefined);
|
|
247
245
|
if (tier !== undefined) {
|
|
248
246
|
irreversibilityTier.set(t.name, tier);
|
|
@@ -259,6 +257,24 @@ export async function prepareTask(spec, deps, sessions, resume, _memorySelector,
|
|
|
259
257
|
}
|
|
260
258
|
egressTools.add(t.name);
|
|
261
259
|
}
|
|
260
|
+
for (const alias of t.aliases ?? []) {
|
|
261
|
+
if (alias === t.name || ownToolNames.has(alias))
|
|
262
|
+
continue;
|
|
263
|
+
if (claimedAliases.has(alias))
|
|
264
|
+
continue;
|
|
265
|
+
claimedAliases.add(alias);
|
|
266
|
+
if (t.effect)
|
|
267
|
+
toolEffects.set(alias, t.effect);
|
|
268
|
+
if (tier !== undefined) {
|
|
269
|
+
irreversibilityTier.set(alias, tier);
|
|
270
|
+
if (tier === "always" || tier === "maybe")
|
|
271
|
+
irreversibleTools.add(alias);
|
|
272
|
+
}
|
|
273
|
+
if (t.reversibilityProbe)
|
|
274
|
+
reversibilityProbes.set(alias, t.reversibilityProbe);
|
|
275
|
+
if (t.egress)
|
|
276
|
+
egressTools.add(alias);
|
|
277
|
+
}
|
|
262
278
|
}
|
|
263
279
|
toolEffects.set(OFFLOAD_TOOL_NAME, "read");
|
|
264
280
|
if (deps.executionEnvFactory || deps.executionEnv) {
|
|
@@ -1772,6 +1788,7 @@ export async function prepareTask(spec, deps, sessions, resume, _memorySelector,
|
|
|
1772
1788
|
}
|
|
1773
1789
|
}
|
|
1774
1790
|
let centerAdoption;
|
|
1791
|
+
let centerAdoptionFresh = false;
|
|
1775
1792
|
{
|
|
1776
1793
|
const failUnavailable = (digest, via) => {
|
|
1777
1794
|
const e = new Error(`prompt snapshot unavailable: ${via} center prompt artifact ${digest.slice(0, 23)}… has no verified resolvable copy (artifact store miss/corrupt${deps.promptSource === undefined ? "; RunnerDeps.promptSource is not configured" : ""}) — refusing to recompose a hybrid prompt (protocol §9.2)`);
|
|
@@ -1799,6 +1816,7 @@ export async function prepareTask(spec, deps, sessions, resume, _memorySelector,
|
|
|
1799
1816
|
const candidate = deps.promptSource?.current();
|
|
1800
1817
|
if (candidate !== undefined && (await session.getBranch()).length === 0) {
|
|
1801
1818
|
centerAdoption = { artifact: candidate.artifact, sourceRevision: candidate.sourceRevision };
|
|
1819
|
+
centerAdoptionFresh = true;
|
|
1802
1820
|
}
|
|
1803
1821
|
}
|
|
1804
1822
|
}
|
|
@@ -1828,9 +1846,19 @@ export async function prepareTask(spec, deps, sessions, resume, _memorySelector,
|
|
|
1828
1846
|
});
|
|
1829
1847
|
const assembled = assemblePrompt(buildAssembleInputs(centerAdoption !== undefined ? artifactDeclarations(centerAdoption.artifact) : undefined));
|
|
1830
1848
|
if (centerAdoption !== undefined && assembled.centerMounted !== true) {
|
|
1831
|
-
const
|
|
1832
|
-
|
|
1833
|
-
|
|
1849
|
+
const ownsWholePrompt = assembled.constitution === "legacy" || assembled.constitution === "provider-assembled";
|
|
1850
|
+
const digest = centerAdoption.artifact.artifactDigest.slice(0, 23);
|
|
1851
|
+
if (!ownsWholePrompt && centerAdoptionFresh) {
|
|
1852
|
+
deps.onError?.(new Error(`prompt-constitution: center prompt artifact ${digest}… contributed NO section to this prompt — every section it declares collides with a PromptProvider stableBlocks declaration of the same id, and the deployment-local declaration wins. This session runs on the bundled prompt and is deliberately NOT pinned to the artifact (a pin claiming content the model never received would be durable and wrong). Rename the colliding section ids on either side to adopt it; the per-section collisions are reported individually on this channel.`), { phase: "prompt-constitution", sessionId });
|
|
1853
|
+
centerAdoption = undefined;
|
|
1854
|
+
}
|
|
1855
|
+
else {
|
|
1856
|
+
const e = new Error(ownsWholePrompt
|
|
1857
|
+
? `center prompt artifact ${digest}… cannot mount: this PromptProvider owns the whole prompt (legacy system()/assembled-identity pass-through) — upgrade the provider to stableBlocks/stableSystem or remove RunnerDeps.promptSource for this deployment`
|
|
1858
|
+
: `center prompt artifact ${digest}… cannot mount: every one of its sections collides with a PromptProvider stableBlocks declaration of the same id, so zero center content would reach the model — but this session is ALREADY pinned to that artifact (or inherited it from a spawning parent), so quietly dropping it would rewrite what the session claims about itself. Rename the colliding section ids on either side, or start a fresh session`);
|
|
1859
|
+
e.code = "prompt.center_unmountable";
|
|
1860
|
+
throw e;
|
|
1861
|
+
}
|
|
1834
1862
|
}
|
|
1835
1863
|
let systemPrompt = assembled.systemPrompt;
|
|
1836
1864
|
const renderWithDate = assembled.renderWithDate
|
|
@@ -3069,8 +3097,8 @@ export async function prepareTask(spec, deps, sessions, resume, _memorySelector,
|
|
|
3069
3097
|
adjudicate,
|
|
3070
3098
|
resolveAsk: resolveAskBound,
|
|
3071
3099
|
suspendAsk,
|
|
3072
|
-
egress: egressTools.has(
|
|
3073
|
-
irreversibility: irreversibilityTier.get(
|
|
3100
|
+
egress: egressTools.has(e.toolName),
|
|
3101
|
+
irreversibility: irreversibilityTier.get(e.toolName),
|
|
3074
3102
|
reversibilityProbe: reversibilityProbes.get(e.toolName),
|
|
3075
3103
|
abortSignal: abortController.signal,
|
|
3076
3104
|
...(notifyPermissionDenied ? { permissionDenied: notifyPermissionDenied } : {}),
|