@sema-agent/core 5.46.0 → 5.47.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 +41 -0
- package/dist/agents/subagent.js +129 -2
- package/dist/core/governance-codes.d.ts +13 -0
- package/dist/core/governance-codes.js +33 -0
- package/dist/core/memory-engine/delegation-settlement.d.ts +318 -0
- package/dist/core/memory-engine/delegation-settlement.js +661 -0
- package/dist/core/memory-engine/engine.d.ts +159 -1
- package/dist/core/memory-engine/engine.js +699 -15
- package/dist/core/memory-engine/file-backend.d.ts +1 -0
- package/dist/core/memory-engine/file-backend.js +3 -1
- package/dist/core/memory-engine/frontmatter.d.ts +46 -19
- package/dist/core/memory-engine/frontmatter.js +91 -77
- package/dist/core/memory-engine/index.d.ts +4 -3
- package/dist/core/memory-engine/index.js +3 -2
- package/dist/core/memory-engine/layout.d.ts +14 -0
- package/dist/core/memory-engine/layout.js +2 -2
- package/dist/core/memory-engine/memory-backend-contract.js +43 -0
- package/dist/core/memory-engine/origin-clearance.d.ts +66 -0
- package/dist/core/memory-engine/origin-clearance.js +84 -0
- package/dist/core/memory-engine/provenance-wording.d.ts +50 -0
- package/dist/core/memory-engine/provenance-wording.js +15 -0
- package/dist/core/memory-engine/tools.d.ts +61 -7
- package/dist/core/memory-engine/tools.js +34 -9
- package/dist/core/memory-engine/types.d.ts +70 -2
- package/dist/core/runner/prepare-memory.js +50 -15
- package/dist/core/runner/prepare-task.d.ts +24 -0
- package/dist/core/runner/prepare-task.js +80 -10
- package/dist/core/session-reconcile.js +3 -2
- package/dist/core/types.d.ts +38 -3
- package/dist/core/types.js +3 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +2 -1
- package/dist/tools/task-list.d.ts +5 -1
- package/package.json +1 -1
- package/test/export-surface.snapshot.json +10 -2
|
@@ -433,6 +433,30 @@ export interface Prepared {
|
|
|
433
433
|
trustedTools: ReadonlySet<string>;
|
|
434
434
|
execIsExternalContent: boolean;
|
|
435
435
|
};
|
|
436
|
+
/**
|
|
437
|
+
* design/336 §3.3 — the delegation-settlement handle: the control-plane coordinates a
|
|
438
|
+
* settlement writer needs, as PURE DATA. Consumers (the subagent background leg's write-ahead
|
|
439
|
+
* + terminal observation, the tool wrap's sync unattestable row) can outlive this prepared
|
|
440
|
+
* leg, so they rebuild their write handle from these fields alone — never from the live
|
|
441
|
+
* engine/session objects above. Present only under `memoryProvenance: "carry"` (the default):
|
|
442
|
+
* an `"off"` deployment keeps the pre-336 accepted-cost posture byte-level.
|
|
443
|
+
*/
|
|
444
|
+
settlement?: {
|
|
445
|
+
/** The WRITE plane's control-plane dir (the pollution-marker/lineage sidecar home). */
|
|
446
|
+
controlDir: string;
|
|
447
|
+
sessionId: string;
|
|
448
|
+
provenance: "carry";
|
|
449
|
+
};
|
|
450
|
+
/**
|
|
451
|
+
* design/336 §5.5 (file-face half) — the Read-tool recall-taint judgment, present only under
|
|
452
|
+
* `memoryProvenance: "carry"`. True ⇔ the delivered ABSOLUTE path sits inside a mounted memory
|
|
453
|
+
* plane and its head bytes carry a committed external-origin marker; the tool wrap then marks
|
|
454
|
+
* the session derived (same seat and cause as the memory_get propagation). Never throws;
|
|
455
|
+
* relative paths and unreadable files answer false (named residuals beside the Bash channel).
|
|
456
|
+
*/
|
|
457
|
+
recallTaint?: {
|
|
458
|
+
judgeDeliveredPath: (absPath: string) => boolean;
|
|
459
|
+
};
|
|
436
460
|
};
|
|
437
461
|
/** A per-task env minted by `RunnerDeps.executionEnvFactory` (design/48 remote seam) that THIS task owns
|
|
438
462
|
* and the Runner must tear down on task end. Undefined when the env came from a (caller-owned) static
|
|
@@ -47,9 +47,10 @@ import { TOOL_SEARCH_NAME, buildDeferredRegistry, classifyDeferred, extractDisco
|
|
|
47
47
|
import { createSharedMemoryTools } from "../shared-memory/tools.js";
|
|
48
48
|
import { SHARED_MEMORY_TOOL_NAMES } from "../shared-memory/types.js";
|
|
49
49
|
import { MEMORY_ENGINE_TOOL_NAMES } from "../memory-engine/tools.js";
|
|
50
|
-
import {
|
|
50
|
+
import { memoryRecallDisciplineSegment } from "../memory-engine/engine.js";
|
|
51
51
|
import { classifyToolContentOrigin, contentOriginPollutes, delegationCallIsExternal } from "../memory-engine/content-origin.js";
|
|
52
52
|
import { narrowContentSafety, readCardAttestation } from "../memory-engine/delegation-provenance.js";
|
|
53
|
+
import { recordSyncUnattestable, sessionSettlements } from "../memory-engine/delegation-settlement.js";
|
|
53
54
|
import { composeMemoryBlock } from "../memory.js";
|
|
54
55
|
import { COMPLIANCE_CAPABILITIES, WEB_FETCH_TOOL_NAME, complianceCallDenial, resolveComplianceDenies } from "../compliance.js";
|
|
55
56
|
import { foldAdmissionFreeze } from "../memory-admission.js";
|
|
@@ -733,6 +734,8 @@ export async function prepareTask(spec, deps, sessions, resume, internals, runne
|
|
|
733
734
|
const frozenOnQuestion = spec.onQuestion ?? deps.onQuestion;
|
|
734
735
|
const provenanceForChildrenRef = {};
|
|
735
736
|
const delegationProvenanceForChildren = () => provenanceForChildrenRef.current;
|
|
737
|
+
const delegationSettlementRef = {};
|
|
738
|
+
const delegationSettlementForChildren = () => delegationSettlementRef.current;
|
|
736
739
|
const inheritedGateForChildren = () => {
|
|
737
740
|
const ancestorRules = [
|
|
738
741
|
...(inheritedAncestorRules ?? []),
|
|
@@ -828,6 +831,7 @@ export async function prepareTask(spec, deps, sessions, resume, internals, runne
|
|
|
828
831
|
activeSkillScope: () => skillScope.active(),
|
|
829
832
|
inheritedGateForChildren,
|
|
830
833
|
delegationProvenanceForChildren,
|
|
834
|
+
delegationSettlement: delegationSettlementForChildren,
|
|
831
835
|
...(autoModeDecider ? { autoModeReview: { decider: autoModeDecider } } : {}),
|
|
832
836
|
...(spec.durableApproval !== undefined ? { durableApprovalForChildren: { ...spec.durableApproval } } : {}),
|
|
833
837
|
...(spec.checkpointStore === null ? { checkpointStoreDisabledForChildren: true } : {}),
|
|
@@ -1863,12 +1867,13 @@ export async function prepareTask(spec, deps, sessions, resume, internals, runne
|
|
|
1863
1867
|
if (memoryEnginePair.length > 0) {
|
|
1864
1868
|
memoryEnginePairMounted = false;
|
|
1865
1869
|
if (memoryBlock !== undefined) {
|
|
1866
|
-
|
|
1870
|
+
const segment = memoryRecallDisciplineSegment(memoryProvenance);
|
|
1871
|
+
if (memoryBlock === segment)
|
|
1867
1872
|
memoryBlock = undefined;
|
|
1868
|
-
else if (memoryBlock.includes(`\n\n${
|
|
1869
|
-
memoryBlock = memoryBlock.replace(`\n\n${
|
|
1870
|
-
else if (memoryBlock.startsWith(`${
|
|
1871
|
-
memoryBlock = memoryBlock.slice(
|
|
1873
|
+
else if (memoryBlock.includes(`\n\n${segment}`))
|
|
1874
|
+
memoryBlock = memoryBlock.replace(`\n\n${segment}`, "");
|
|
1875
|
+
else if (memoryBlock.startsWith(`${segment}\n\n`))
|
|
1876
|
+
memoryBlock = memoryBlock.slice(segment.length + 2);
|
|
1872
1877
|
}
|
|
1873
1878
|
deps.onError?.(new Error(`Memory tools ${MEMORY_ENGINE_TOOL_NAMES.join("/")} were NOT mounted: mounting them would inject ` +
|
|
1874
1879
|
`the "${TOOL_SEARCH_NAME}" tool, whose name this task already declares — the pair mounts together or not at all.`), { phase: "config", sessionId, classification: "memory-tools-not-mounted" });
|
|
@@ -1891,6 +1896,9 @@ export async function prepareTask(spec, deps, sessions, resume, internals, runne
|
|
|
1891
1896
|
const trustedTools = effectiveSafety.trustedTools;
|
|
1892
1897
|
const execIsExternalContent = effectiveSafety.execIsExternalContent;
|
|
1893
1898
|
provenanceForChildrenRef.current = { trustedTools: [...trustedTools], execIsExternalContent };
|
|
1899
|
+
if (memoryEngineSession?.settlement !== undefined) {
|
|
1900
|
+
delegationSettlementRef.current = { controlDir: memoryEngineSession.settlement.controlDir, sessionId: memoryEngineSession.settlement.sessionId };
|
|
1901
|
+
}
|
|
1894
1902
|
const recordExternal = () => {
|
|
1895
1903
|
if (delegationProvenanceChannel !== undefined)
|
|
1896
1904
|
delegationProvenanceChannel.ref.current.sawExternal = true;
|
|
@@ -1920,6 +1928,7 @@ export async function prepareTask(spec, deps, sessions, resume, internals, runne
|
|
|
1920
1928
|
isCallerTool: true,
|
|
1921
1929
|
trusted: trustedTools.has(t.name),
|
|
1922
1930
|
}), execIsExternalContent);
|
|
1931
|
+
const recallTaintJudge = memoryEngineSession?.recallTaint?.judgeDeliveredPath;
|
|
1923
1932
|
contentOriginWrapRef.current = () => {
|
|
1924
1933
|
for (let i = 0; i < tools.length; i++) {
|
|
1925
1934
|
const t = tools[i];
|
|
@@ -1929,7 +1938,8 @@ export async function prepareTask(spec, deps, sessions, resume, internals, runne
|
|
|
1929
1938
|
const delegation = delegationByName.get(t.name);
|
|
1930
1939
|
const isDelegation = delegation !== undefined;
|
|
1931
1940
|
const pollutes = contentOriginPollutes(origin, execIsExternalContent);
|
|
1932
|
-
|
|
1941
|
+
const readsMemoryPlane = recallTaintJudge !== undefined && t.name === "Read";
|
|
1942
|
+
if (!pollutes && !isDelegation && !readsMemoryPlane) {
|
|
1933
1943
|
contentOriginWrapped.add(t);
|
|
1934
1944
|
continue;
|
|
1935
1945
|
}
|
|
@@ -1948,8 +1958,39 @@ export async function prepareTask(spec, deps, sessions, resume, internals, runne
|
|
|
1948
1958
|
mark(`tool "${t.name}" (${origin} content class) was invoked in this session`, "observed");
|
|
1949
1959
|
recordExternal();
|
|
1950
1960
|
}
|
|
1951
|
-
if (!isDelegation)
|
|
1952
|
-
|
|
1961
|
+
if (!isDelegation) {
|
|
1962
|
+
if (!readsMemoryPlane)
|
|
1963
|
+
return inner(toolCallId, params, signal, onUpdate);
|
|
1964
|
+
const result = await inner(toolCallId, params, signal, onUpdate);
|
|
1965
|
+
const raw = result;
|
|
1966
|
+
const contentField = typeof raw === "object" && raw !== null ? raw.content : undefined;
|
|
1967
|
+
const headText = typeof raw === "string"
|
|
1968
|
+
? raw
|
|
1969
|
+
: typeof contentField === "string"
|
|
1970
|
+
? contentField
|
|
1971
|
+
: Array.isArray(contentField) && typeof contentField[0]?.text === "string"
|
|
1972
|
+
? contentField[0].text
|
|
1973
|
+
: "";
|
|
1974
|
+
const delivered = result?.isError !== true &&
|
|
1975
|
+
result?.details?.type !== "file_unchanged" &&
|
|
1976
|
+
!headText.startsWith("<system-reminder");
|
|
1977
|
+
const fp = params?.file_path;
|
|
1978
|
+
if (delivered && typeof fp === "string" && recallTaintJudge(fp)) {
|
|
1979
|
+
mark(`the "${t.name}" tool delivered the content of an external-origin memory entry file`, "derived");
|
|
1980
|
+
}
|
|
1981
|
+
return result;
|
|
1982
|
+
}
|
|
1983
|
+
let preCallLaunchRows;
|
|
1984
|
+
if (delegationEvidenceAttestedOnly && memoryEngineSession?.settlement !== undefined) {
|
|
1985
|
+
try {
|
|
1986
|
+
preCallLaunchRows = new Set(sessionSettlements(memoryEngineSession.settlement.controlDir, memoryEngineSession.settlement.sessionId)
|
|
1987
|
+
.filter((r) => r.row.lane === "background" && r.row.toolUseId === toolCallId)
|
|
1988
|
+
.map((r) => r.row.settleId));
|
|
1989
|
+
}
|
|
1990
|
+
catch {
|
|
1991
|
+
preCallLaunchRows = undefined;
|
|
1992
|
+
}
|
|
1993
|
+
}
|
|
1953
1994
|
const requested = params?.subagent_type;
|
|
1954
1995
|
const external = delegationCallIsExternal({
|
|
1955
1996
|
requestedType: typeof requested === "string" ? requested : undefined,
|
|
@@ -1971,7 +2012,36 @@ export async function prepareTask(spec, deps, sessions, resume, internals, runne
|
|
|
1971
2012
|
if (!delegationEvidenceAttestedOnly) {
|
|
1972
2013
|
mark(staticFaceReason, "static");
|
|
1973
2014
|
}
|
|
1974
|
-
else
|
|
2015
|
+
else {
|
|
2016
|
+
const receiptDetails = result?.details;
|
|
2017
|
+
const claimsLaunchReceipt = receiptDetails !== undefined && receiptDetails !== null && receiptDetails.status === "async_launched";
|
|
2018
|
+
const claimedSettleId = claimsLaunchReceipt && typeof receiptDetails.settle_id === "string" ? receiptDetails.settle_id : undefined;
|
|
2019
|
+
const settlementSeat = memoryEngineSession?.settlement;
|
|
2020
|
+
let isLaunchReceipt = false;
|
|
2021
|
+
if (claimsLaunchReceipt && settlementSeat !== undefined) {
|
|
2022
|
+
try {
|
|
2023
|
+
isLaunchReceipt =
|
|
2024
|
+
preCallLaunchRows !== undefined &&
|
|
2025
|
+
claimedSettleId !== undefined &&
|
|
2026
|
+
!preCallLaunchRows.has(claimedSettleId) &&
|
|
2027
|
+
sessionSettlements(settlementSeat.controlDir, settlementSeat.sessionId).some((r) => r.row.lane === "background" && r.row.settleId === claimedSettleId && r.row.toolUseId === toolCallId);
|
|
2028
|
+
}
|
|
2029
|
+
catch {
|
|
2030
|
+
isLaunchReceipt = false;
|
|
2031
|
+
}
|
|
2032
|
+
}
|
|
2033
|
+
if (!isLaunchReceipt && settlementSeat !== undefined) {
|
|
2034
|
+
try {
|
|
2035
|
+
recordSyncUnattestable(settlementSeat.controlDir, { sessionId: settlementSeat.sessionId, toolCallId, now: Date.now });
|
|
2036
|
+
}
|
|
2037
|
+
catch (err) {
|
|
2038
|
+
const e = new Error(`delegated output withheld (fail-closed): the delegation delivered without a provable attestation and the settlement account could not record the fact (${err instanceof Error ? err.message : String(err)}) — repair the memory control plane or retry`);
|
|
2039
|
+
e.code = "memory.settlement_record_failed";
|
|
2040
|
+
throw e;
|
|
2041
|
+
}
|
|
2042
|
+
}
|
|
2043
|
+
}
|
|
2044
|
+
if (delegationEvidenceAttestedOnly && pollution !== undefined && !staticMarkWaiverAnnounced) {
|
|
1975
2045
|
staticMarkWaiverAnnounced = true;
|
|
1976
2046
|
const waivedReason = inlineUntrusted(staticFaceReason, 200);
|
|
1977
2047
|
deliverEngineNotice(deps.onNotice, {
|
|
@@ -9,7 +9,8 @@ const INTERRUPTED_IDEMPOTENT = "[INTERRUPTED] The previous run ended before this
|
|
|
9
9
|
"may not have taken effect. It is safe to REPLAY: re-issuing the same call converges the state to " +
|
|
10
10
|
"what you intended. If you decide not to re-issue it, verify the current state first.";
|
|
11
11
|
const INTERRUPTED_NEVER_STARTED = "[INTERRUPTED] The run was aborted before this tool call started. It was never executed and had " +
|
|
12
|
-
"no side effects
|
|
12
|
+
"no side effects. If the run was stopped by a pending approval or an unresolved gate, wait for it " +
|
|
13
|
+
"to be resolved before re-issuing; re-issuing is otherwise safe if you still need this call.";
|
|
13
14
|
const INTERRUPTED_REPEAT_UNKNOWN = "[INTERRUPTED] Same as an earlier interrupted call in this batch: no result was recorded and the outcome is " +
|
|
14
15
|
"UNKNOWN — verify before relying on it.";
|
|
15
16
|
const INTERRUPTED_REPEAT_SAFE = "[INTERRUPTED] Same as an earlier interrupted call in this batch: this tool is read-only/idempotent, so just " +
|
|
@@ -17,7 +18,7 @@ const INTERRUPTED_REPEAT_SAFE = "[INTERRUPTED] Same as an earlier interrupted ca
|
|
|
17
18
|
const INTERRUPTED_REPEAT_IDEMPOTENT = "[INTERRUPTED] Same as an earlier interrupted call in this batch: it is safe to REPLAY — re-issue it, or verify " +
|
|
18
19
|
"the current state if you decide not to.";
|
|
19
20
|
const INTERRUPTED_REPEAT_NEVER_STARTED = "[INTERRUPTED] Same as an earlier interrupted call in this batch: it never started and had no side effects — " +
|
|
20
|
-
"safe
|
|
21
|
+
"re-issuing is safe once whatever stopped the run is resolved.";
|
|
21
22
|
const REPEAT_TEXT = {
|
|
22
23
|
never_started: INTERRUPTED_REPEAT_NEVER_STARTED,
|
|
23
24
|
read: INTERRUPTED_REPEAT_SAFE,
|
package/dist/core/types.d.ts
CHANGED
|
@@ -868,6 +868,20 @@ export interface ToolExecuteContext {
|
|
|
868
868
|
* {@link inheritedGateForChildren}: never a model/tool argument, never a TaskSpec field.
|
|
869
869
|
*/
|
|
870
870
|
delegationProvenanceForChildren?: () => import("./memory-engine/delegation-provenance.js").DelegationContentSafety | undefined;
|
|
871
|
+
/**
|
|
872
|
+
* design/336 §3.3 — the delegation-settlement account's coordinates (the WRITE plane's memory
|
|
873
|
+
* control dir + this session's id), Runner-filled when the run mounts a memory session under
|
|
874
|
+
* `memoryProvenance: "carry"`. A delegation tool's BACKGROUND lane writes its launch write-ahead
|
|
875
|
+
* (pending row BEFORE registration and invoke) and its terminal settle through these — as pure
|
|
876
|
+
* data, because the terminal observation can run after this task leg returned and must rebuild
|
|
877
|
+
* its write handle from the coordinates alone. Undefined ⇒ no settlement account (memory-less
|
|
878
|
+
* run, or `"off"`): the background lane launches without rows, the pre-336 accepted-cost shape.
|
|
879
|
+
* Same trust posture as {@link delegationProvenanceForChildren}: never a model/tool argument.
|
|
880
|
+
*/
|
|
881
|
+
delegationSettlement?: () => {
|
|
882
|
+
controlDir: string;
|
|
883
|
+
sessionId: string;
|
|
884
|
+
} | undefined;
|
|
871
885
|
/**
|
|
872
886
|
* RB-201 FO-3 (form-one audit, CC 220 `Ipd`/`ein` parity) — the auto-mode classifier decider ARMED
|
|
873
887
|
* for THIS task (`RuntimeCaps.autoMode === true` AND `RunnerDeps.autoMode` both present; the same
|
|
@@ -4751,9 +4765,24 @@ export interface EngineNotice {
|
|
|
4751
4765
|
* HARVEST that withheld at least one entry file (a checkpoint harvest and the terminal harvest
|
|
4752
4766
|
* are distinct facts), never minted for a clean session; `detail: { count, moved, escalated,
|
|
4753
4767
|
* reason?, sessionId? }` (`reason` absent ⇔ the pollution marker could not be re-read at report
|
|
4754
|
-
* time — the withheld count stays true either way).
|
|
4755
|
-
*
|
|
4756
|
-
*
|
|
4768
|
+
* time — the withheld count stays true either way). The formerly registered index-only gap is
|
|
4769
|
+
* CLOSED under `memoryProvenance: "carry"` (design/336 §6.3, #331): the mint condition reads
|
|
4770
|
+
* `HarvestReport.containment`, so a containment whose only act was the derived-index rollback
|
|
4771
|
+
* announces with `count: 0` and `detail.indexRolledBack: true`; under `"off"` the pre-336
|
|
4772
|
+
* count>0 condition (and its silence on index-only containment) is kept byte-level.
|
|
4773
|
+
* - `"memory.hold_opened"` / `"memory.hold_released"` / `"memory.hold_disposed"` (design/336
|
|
4774
|
+
* §4/§6.3) — the instruction-hold lifecycle, derived from the same structured
|
|
4775
|
+
* `HarvestReport.containment` signal (hold seats are only ever filled under
|
|
4776
|
+
* `memoryProvenance: "carry"`): a PENDING session's instruction-form entry files were captured
|
|
4777
|
+
* off the model-visible plane (`hold_opened`, `detail: { count, paths, sessionId? }` — paths
|
|
4778
|
+
* neutralized/length-bounded); previously held entries re-walked the full gate set and
|
|
4779
|
+
* committed after their writer session settled clean or a host valve released them
|
|
4780
|
+
* (`hold_released`); held entries moved to control-plane quarantine (`hold_disposed`,
|
|
4781
|
+
* `detail.disposed: [{ path, terminal }]` with the closed terminal set
|
|
4782
|
+
* dirty/expired/conflict/capture_lost/discarded — an `expired` terminal is explicitly a
|
|
4783
|
+
* TIMEOUT, not a conviction, and the message names `resolveHold` as the recovery valve). At
|
|
4784
|
+
* most one notice per family per harvest report; wording is factual, never threat-flavored
|
|
4785
|
+
* (the design/336 §13-2 model-psyche guardrail).
|
|
4757
4786
|
* - `"memory.delegation_static_mark_waived"` (design/324, #324 ruling ①) — the deployment set
|
|
4758
4787
|
* {@link RunnerDeps.memoryDelegationEvidence} to `"attested-only"` and a delegation call whose
|
|
4759
4788
|
* STATIC tool-face verdict would have marked this session's memory polluted (attestation
|
|
@@ -4781,6 +4810,12 @@ export interface EngineNotice {
|
|
|
4781
4810
|
message: string;
|
|
4782
4811
|
/** Machine-readable facts of the notice (knob names, arriving values, values in force). */
|
|
4783
4812
|
detail?: Record<string, unknown>;
|
|
4813
|
+
/** The owning session, when the notice HAS one — the wire-routing attribution key (a
|
|
4814
|
+
* session-scoped notice can be projected onto that session's event stream; a session-less code
|
|
4815
|
+
* structurally cannot). Mint sites do not set this: {@link deliverEngineNotice} — the ONE
|
|
4816
|
+
* delivery throat — lifts a string `detail.sessionId` here, so the typed key and the detail
|
|
4817
|
+
* carriage can never disagree. Optional and absent for process/config-scoped codes. */
|
|
4818
|
+
sessionId?: string;
|
|
4784
4819
|
}
|
|
4785
4820
|
/** Test seam (mirrors `__resetBashTimeoutAnnouncements`): never called by production code. */
|
|
4786
4821
|
export declare function __resetMalformedNoticeSeatAnnouncement(): void;
|
package/dist/core/types.js
CHANGED
|
@@ -24,6 +24,9 @@ export function __resetMalformedNoticeSeatAnnouncement() {
|
|
|
24
24
|
malformedNoticeSeatAnnounced = false;
|
|
25
25
|
}
|
|
26
26
|
export function deliverEngineNotice(onNotice, notice) {
|
|
27
|
+
if (notice.sessionId === undefined && typeof notice.detail?.["sessionId"] === "string") {
|
|
28
|
+
notice = { ...notice, sessionId: notice.detail["sessionId"] };
|
|
29
|
+
}
|
|
27
30
|
if (typeof onNotice === "function") {
|
|
28
31
|
try {
|
|
29
32
|
const r = onNotice(notice);
|
package/dist/index.d.ts
CHANGED
|
@@ -61,6 +61,7 @@ export { BUILTIN_COMPLIANCE_DENIES, COMPLIANCE_CAPABILITIES, WEB_FETCH_TOOL_NAME
|
|
|
61
61
|
export { admitMemoryScopes, foldAdmissionFreeze, type OwnOrgAdmissionVerdict, type MemoryAdmissionInput, type MemoryAdmissionOutcome, type MemoryAdmissionVerdict, type MemoryScopeAdmission, type MemoryScopeOrigin, type MemoryScopeRequest, } from "./core/memory-admission.js";
|
|
62
62
|
export { assertRetentionCapability, type ManagedRetentionCapability, type RetentionDeclaration, type RetentionDeclaring, type RetentionPolicy, type RetentionReceipt, } from "./core/retention.js";
|
|
63
63
|
export { GOVERNANCE_CODES, governanceRetryClass, type GovernanceCode, type GovernanceRetryClass } from "./core/governance-codes.js";
|
|
64
|
+
export { NOTICE_AUDIENCE, noticeAudienceOf } from "./core/governance-codes.js";
|
|
64
65
|
export { TtlSessionStore, type TtlSessionStoreOptions, type EvictPolicy } from "./core/session-store.js";
|
|
65
66
|
export { reconcileInterruptedSession, findOrphanToolCalls, type OrphanToolCall, type ReconcileReport, } from "./core/session-reconcile.js";
|
|
66
67
|
export { StoredSession, InMemorySessionRepo, InMemorySessionStorage, BaseSessionStorage, leafIdAfterEntry, validateEntriesForImport, StreamingImportValidator, boundedTail, SessionError, isSessionConflict, hasSessionFork, uuidv7, type Session, type SessionStore, type AcquiredSession, type SessionStoreSummary, type SessionStorage, type SessionRepo, type SessionMetadata, type SessionTreeEntry, type SessionWriteOptions, } from "./core/session.js";
|
|
@@ -167,7 +168,7 @@ export { AdoptionError, assertAdoptionBootGate, readRootAdoptionFile, writeRootA
|
|
|
167
168
|
export { adoptLocalDataRoot, ackAdoptionConfig, witnessAdoptionConfig, listAdoptionQuarantine, readAdoptionStatus, type AdoptionStatus, type AdoptLocalDataRootOptions, type AdoptLocalDataRootResult, type AdoptionCarriageLeg, type AdoptionCarriageLegContext, type AdoptionConfigWitnessReceipt, } from "./stores/file/adoption/adopt.js";
|
|
168
169
|
export { formatHookFeedback, runToolGate, createHookEnvCapabilities, createPreToolUseConstraintPolicy, type PersistedRuleHit, type PersistedRuleUnreadable, type PersistedRuleAnswer, normalizePersistedRuleHit, type Hooks, type HookToolContext, type HookInvocationIdentity, type UserPromptSubmitContext, type PostToolBatchContext, type HookEnvCapabilities, type HookToolOutput, type PreToolUseResult, type PostToolUseResult, type UserPromptSubmitResult, type HookToolFailure, type PostToolUseFailureResult, type PostToolBatchCall, type PostToolBatchResult, type PreCompactContext, type PreCompactResult, type PostCompactContext, type StopFailureContext, type PermissionDeniedPayload, type PermissionDeniedSource, } from "./core/hooks.js";
|
|
169
170
|
export { InMemoryMemoryStore, composeMemoryBlock, composeLayeredMemoryBlock, normalizeMemorySpec, type NormalizedMemorySpec, type MemorySpecInput, supportsConsolidation, supportsPeriodicConsolidation, firstSentence, expandLexicalTerms, lexicalSearchMatch, type Embedder, classifyPromotable, enforcePromotableWriteGate, guardedMemoryStore, MemoryGateError, detectSecret, enforceSecretWriteGate, enforceStructuredNoteSecretGate, type UtilityGate, type MemoryStore, type MemoryVectorMode, type ScoredMemory, type MemoryNoteHeader, type MemoryNoteRecord, type MemoryNoteType, type StructuredNoteInput, } from "./core/memory.js";
|
|
170
|
-
export { MemoryEngine, FileMemoryEngineBackend, memoryBackendContract, assertMemoryBackendSearchEquivalence, type MemoryBackendContractHooks, buildMemoryInstruction, truncateIndex, scanEntryFiles, deriveRepoKey, deriveRepoMemoryDir, deriveControlPlaneDir, deriveRepoControlPlaneDir, resolveMemoryEngineRoot, scopeDirName, ControlPlaneCorruptError, parseEntryFile, serializeEntryFile, computeEntryRev, entryFromFile, MEMORY_ORIGIN_CAUSES, committedOriginOf, originEquals, isInstructionEntry, type MemoryEntryOrigin, type MemoryOriginCause, MEMORY_INSTRUCTION_TEMPLATE, MEMORY_RECALL_DISCIPLINE, MEMORY_PREFERENCE_DISCIPLINE, MEMORY_READONLY_NOTICE, readV2HeaderHints, type V2HeaderHints, LINEAGE_FILE, CHALLENGES_FILE, CHALLENGED_HISTORY_FILE, CHALLENGE_LEDGER_MAX_EVENTS, rebuildStrictControlPlaneLedger, type ControlPlaneRebuildReceipt, type StrictControlPlaneLedger, type ChallengeAssignment, type ChallengeEvent, type ChallengedHistoryRow, type LineagePendingTxn, type LineagePromotion, MEMORY_INDEX_FILENAME, MEMORY_INDEX_MAX_LINES, MEMORY_INDEX_MAX_BYTES, MEMORY_SEARCH_TOOL_NAME, MEMORY_GET_TOOL_NAME, MEMORY_ENGINE_TOOL_NAMES, type MemorySearchDetails, type MemorySearchHit, type MemoryGetDetails, STUB_ARCHIVED_LINE, DEFAULT_MAX_MEMORY_FILES, DEFAULT_MAX_ENTRY_DEPTH, DEFAULT_HARVEST_DEADLINE_MS, DEFAULT_HARVEST_FILE_BUDGET, MASS_DELETION_FUSE_RATIO, scanMemoryWrite, scanMemoryFileName, scanRemediation, MEMORY_FILENAME_SEGMENT_RE, renderAnnouncements, enqueueMemoryAnnouncement, drainMemoryAnnouncements, peekMemoryAnnouncements, bumpScanFuse, scanFuseCount, clearScanFuse, ANNOUNCEMENTS_FILE, MEMORY_ANNOUNCEMENTS_MAX, SCAN_FUSE_FILE, SCAN_FUSE_THRESHOLD, type MemoryAnnouncement, type ScanFinding, type MemoryEngineOptions, type MemoryInjection, type EntryProvenanceAccount, type TransferEvidence, type CommittedBinding, type CommittedEntrySnapshot, type CommittedScopeSnapshots, type EntryCustodyReport, erasureSelectHash, type EraseMemoryEntriesInput, type ErasureSelect, type ErasedBinding, type MemoryErasureAttestation, computeMemoryBundleHash, type MemoryExportBundle, type MemoryImportReport, type MemoryExportSnapshot, type MemoryBundleImportPlan, type BundleChallengeRow, type BundleLineageRow, type BundlePollutedSession, type MemoryBackend, type MemoryEntry, type MemoryEntryFrontmatter, type MemoryEntryHeader, type ScoredMemoryEntry, type NotePatch, type PatchReport, type MaterializedFile, type MemorySessionHandle, type HarvestReport, type HarvestRejection, type HarvestRejectionCode, type ParsedEntryFile, type ScannedEntryFile, SCOPE_SEGMENT_MAX_ENCODED, PROJECT_MARKER_PATH, encodeScopeSegment, decodeScopeSegment, parseScopeKey, formatUserScope, formatOrgScope, formatProjScope, formatUserProjScope, isPersonalScope, assertScopeContractPlacement, formatProjectMarker, parseProjectMarker, resolveProjectId, PROJECT_ID_REGEX, type ParsedScopeKey, migrateScope, type MigrateScopeReport, materializeEntriesToFiles, harvestFilesToPatches, projectionsToWriteBack, screenInboundEntries, REMOTE_HARVEST_PER_FILE_BYTES, REMOTE_MASS_DELETION_FUSE_RATIO, type RemoteMemoryFile, type RemoteMemoryBaseline, type RemoteMaterialization, type RemoteHarvestResult, type InboundEntryFinding, deriveProjectMemoryDir, deriveProjectControlDir, recordProjectIdHint, lookupProjectIdHint, PROJECT_ID_HINTS_FILE, reconcileMemoryEntries, nextSyncBaseline, mergeRecallHits, type MemorySyncCursor, type MemorySyncConflict, type MemorySyncPlan, type RecallSource, syncMemoryScope, type MemorySyncTransport, type MemorySyncRequestBody, type MemorySyncResponseBody, type MemorySyncClientConflict, type SyncMemoryScopeOptions, type MemorySyncClientResult, } from "./core/memory-engine/index.js";
|
|
171
|
+
export { MemoryEngine, FileMemoryEngineBackend, memoryBackendContract, assertMemoryBackendSearchEquivalence, type MemoryBackendContractHooks, buildMemoryInstruction, truncateIndex, scanEntryFiles, deriveRepoKey, deriveRepoMemoryDir, deriveControlPlaneDir, deriveRepoControlPlaneDir, resolveMemoryEngineRoot, scopeDirName, ControlPlaneCorruptError, parseEntryFile, serializeEntryFile, computeEntryRev, entryFromFile, MEMORY_ORIGIN_CAUSES, committedOriginOf, originEquals, ambiguousOriginRepresentation, isInstructionEntry, type MemoryEntryOrigin, type MemoryOriginCause, MEMORY_INSTRUCTION_TEMPLATE, MEMORY_RECALL_DISCIPLINE, MEMORY_PREFERENCE_DISCIPLINE, MEMORY_READONLY_NOTICE, readV2HeaderHints, type V2HeaderHints, LINEAGE_FILE, CHALLENGES_FILE, CHALLENGED_HISTORY_FILE, CHALLENGE_LEDGER_MAX_EVENTS, rebuildStrictControlPlaneLedger, type ControlPlaneRebuildReceipt, type StrictControlPlaneLedger, type ChallengeAssignment, type ChallengeEvent, type ChallengedHistoryRow, type LineagePendingTxn, type LineagePromotion, MEMORY_INDEX_FILENAME, MEMORY_INDEX_MAX_LINES, MEMORY_INDEX_MAX_BYTES, MEMORY_SEARCH_TOOL_NAME, MEMORY_GET_TOOL_NAME, MEMORY_ENGINE_TOOL_NAMES, type MemorySearchDetails, type MemorySearchHit, type CleanMemorySearchHit, type ExposedMemorySearchHit, MEMORY_EXPOSURE_BANNER, MEMORY_EXPOSURE_HANDLE_TAG, memoryExposureIndexRow, type MemoryGetDetails, STUB_ARCHIVED_LINE, DEFAULT_MAX_MEMORY_FILES, DEFAULT_MAX_ENTRY_DEPTH, DEFAULT_HARVEST_DEADLINE_MS, DEFAULT_HARVEST_FILE_BUDGET, MASS_DELETION_FUSE_RATIO, scanMemoryWrite, scanMemoryFileName, scanRemediation, MEMORY_FILENAME_SEGMENT_RE, renderAnnouncements, enqueueMemoryAnnouncement, drainMemoryAnnouncements, peekMemoryAnnouncements, bumpScanFuse, scanFuseCount, clearScanFuse, ANNOUNCEMENTS_FILE, MEMORY_ANNOUNCEMENTS_MAX, SCAN_FUSE_FILE, SCAN_FUSE_THRESHOLD, type MemoryAnnouncement, type ScanFinding, type MemoryEngineOptions, type MemoryInjection, type EntryProvenanceAccount, type TransferEvidence, type CommittedBinding, type CommittedEntrySnapshot, type CommittedScopeSnapshots, type EntryCustodyReport, erasureSelectHash, type EraseMemoryEntriesInput, type ErasureSelect, type ErasedBinding, type MemoryErasureAttestation, computeMemoryBundleHash, type MemoryExportBundle, type MemoryImportReport, type MemoryExportSnapshot, type MemoryBundleImportPlan, type BundleChallengeRow, type BundleLineageRow, type BundlePollutedSession, type MemoryBackend, type MemoryEntry, type MemoryEntryFrontmatter, type MemoryEntryHeader, type ScoredMemoryEntry, type NotePatch, type PatchReport, type MaterializedFile, type MemorySessionHandle, type HarvestReport, type HarvestRejection, type HarvestRejectionCode, type ParsedEntryFile, type ScannedEntryFile, SCOPE_SEGMENT_MAX_ENCODED, PROJECT_MARKER_PATH, encodeScopeSegment, decodeScopeSegment, parseScopeKey, formatUserScope, formatOrgScope, formatProjScope, formatUserProjScope, isPersonalScope, assertScopeContractPlacement, formatProjectMarker, parseProjectMarker, resolveProjectId, PROJECT_ID_REGEX, type ParsedScopeKey, migrateScope, type MigrateScopeReport, materializeEntriesToFiles, harvestFilesToPatches, projectionsToWriteBack, screenInboundEntries, REMOTE_HARVEST_PER_FILE_BYTES, REMOTE_MASS_DELETION_FUSE_RATIO, type RemoteMemoryFile, type RemoteMemoryBaseline, type RemoteMaterialization, type RemoteHarvestResult, type InboundEntryFinding, deriveProjectMemoryDir, deriveProjectControlDir, recordProjectIdHint, lookupProjectIdHint, PROJECT_ID_HINTS_FILE, reconcileMemoryEntries, nextSyncBaseline, mergeRecallHits, type MemorySyncCursor, type MemorySyncConflict, type MemorySyncPlan, type RecallSource, syncMemoryScope, type MemorySyncTransport, type MemorySyncRequestBody, type MemorySyncResponseBody, type MemorySyncClientConflict, type SyncMemoryScopeOptions, type MemorySyncClientResult, } from "./core/memory-engine/index.js";
|
|
171
172
|
export { SHARED_MEMORY_READ_CAP_BYTES, SHARED_MEMORY_LIST_PAGE_SIZE, SharedMemoryStoreError, type SharedMemoryStoreProvider, type SharedMemoryStoreReader, type SharedMemoryPagedList, type SharedMemoryStoreInfo, type SharedMemoryDocumentEntry, type SharedMemorySnapshot, type SharedMemoryRequestContext, type MemoryListDetails, type MemoryReadDetails, } from "./core/shared-memory/types.js";
|
|
172
173
|
export { sharedMemoryStoreContract, type SharedMemoryFixture, type SharedMemoryStoreContractHooks, } from "./core/shared-memory/contract.js";
|
|
173
174
|
export { termSet, jaccardDistance, cosineDistance } from "./core/memory-vector.js";
|
package/dist/index.js
CHANGED
|
@@ -49,6 +49,7 @@ export { BUILTIN_COMPLIANCE_DENIES, COMPLIANCE_CAPABILITIES, WEB_FETCH_TOOL_NAME
|
|
|
49
49
|
export { admitMemoryScopes, foldAdmissionFreeze, } from "./core/memory-admission.js";
|
|
50
50
|
export { assertRetentionCapability, } from "./core/retention.js";
|
|
51
51
|
export { GOVERNANCE_CODES, governanceRetryClass } from "./core/governance-codes.js";
|
|
52
|
+
export { NOTICE_AUDIENCE, noticeAudienceOf } from "./core/governance-codes.js";
|
|
52
53
|
export { TtlSessionStore } from "./core/session-store.js";
|
|
53
54
|
export { reconcileInterruptedSession, findOrphanToolCalls, } from "./core/session-reconcile.js";
|
|
54
55
|
export { StoredSession, InMemorySessionRepo, InMemorySessionStorage, BaseSessionStorage, leafIdAfterEntry, validateEntriesForImport, StreamingImportValidator, boundedTail, SessionError, isSessionConflict, hasSessionFork, uuidv7, } from "./core/session.js";
|
|
@@ -129,7 +130,7 @@ export { AdoptionError, assertAdoptionBootGate, readRootAdoptionFile, writeRootA
|
|
|
129
130
|
export { adoptLocalDataRoot, ackAdoptionConfig, witnessAdoptionConfig, listAdoptionQuarantine, readAdoptionStatus, } from "./stores/file/adoption/adopt.js";
|
|
130
131
|
export { formatHookFeedback, runToolGate, createHookEnvCapabilities, createPreToolUseConstraintPolicy, normalizePersistedRuleHit, } from "./core/hooks.js";
|
|
131
132
|
export { InMemoryMemoryStore, composeMemoryBlock, composeLayeredMemoryBlock, normalizeMemorySpec, supportsConsolidation, supportsPeriodicConsolidation, firstSentence, expandLexicalTerms, lexicalSearchMatch, classifyPromotable, enforcePromotableWriteGate, guardedMemoryStore, MemoryGateError, detectSecret, enforceSecretWriteGate, enforceStructuredNoteSecretGate, } from "./core/memory.js";
|
|
132
|
-
export { MemoryEngine, FileMemoryEngineBackend, memoryBackendContract, assertMemoryBackendSearchEquivalence, buildMemoryInstruction, truncateIndex, scanEntryFiles, deriveRepoKey, deriveRepoMemoryDir, deriveControlPlaneDir, deriveRepoControlPlaneDir, resolveMemoryEngineRoot, scopeDirName, ControlPlaneCorruptError, parseEntryFile, serializeEntryFile, computeEntryRev, entryFromFile, MEMORY_ORIGIN_CAUSES, committedOriginOf, originEquals, isInstructionEntry, MEMORY_INSTRUCTION_TEMPLATE, MEMORY_RECALL_DISCIPLINE, MEMORY_PREFERENCE_DISCIPLINE, MEMORY_READONLY_NOTICE, readV2HeaderHints, LINEAGE_FILE, CHALLENGES_FILE, CHALLENGED_HISTORY_FILE, CHALLENGE_LEDGER_MAX_EVENTS, rebuildStrictControlPlaneLedger, MEMORY_INDEX_FILENAME, MEMORY_INDEX_MAX_LINES, MEMORY_INDEX_MAX_BYTES, MEMORY_SEARCH_TOOL_NAME, MEMORY_GET_TOOL_NAME, MEMORY_ENGINE_TOOL_NAMES, STUB_ARCHIVED_LINE, DEFAULT_MAX_MEMORY_FILES, DEFAULT_MAX_ENTRY_DEPTH, DEFAULT_HARVEST_DEADLINE_MS, DEFAULT_HARVEST_FILE_BUDGET, MASS_DELETION_FUSE_RATIO, scanMemoryWrite, scanMemoryFileName, scanRemediation, MEMORY_FILENAME_SEGMENT_RE, renderAnnouncements, enqueueMemoryAnnouncement, drainMemoryAnnouncements, peekMemoryAnnouncements, bumpScanFuse, scanFuseCount, clearScanFuse, ANNOUNCEMENTS_FILE, MEMORY_ANNOUNCEMENTS_MAX, SCAN_FUSE_FILE, SCAN_FUSE_THRESHOLD, erasureSelectHash, computeMemoryBundleHash, SCOPE_SEGMENT_MAX_ENCODED, PROJECT_MARKER_PATH, encodeScopeSegment, decodeScopeSegment, parseScopeKey, formatUserScope, formatOrgScope, formatProjScope, formatUserProjScope, isPersonalScope, assertScopeContractPlacement, formatProjectMarker, parseProjectMarker, resolveProjectId, PROJECT_ID_REGEX, migrateScope, materializeEntriesToFiles, harvestFilesToPatches, projectionsToWriteBack, screenInboundEntries, REMOTE_HARVEST_PER_FILE_BYTES, REMOTE_MASS_DELETION_FUSE_RATIO, deriveProjectMemoryDir, deriveProjectControlDir, recordProjectIdHint, lookupProjectIdHint, PROJECT_ID_HINTS_FILE, reconcileMemoryEntries, nextSyncBaseline, mergeRecallHits, syncMemoryScope, } from "./core/memory-engine/index.js";
|
|
133
|
+
export { MemoryEngine, FileMemoryEngineBackend, memoryBackendContract, assertMemoryBackendSearchEquivalence, buildMemoryInstruction, truncateIndex, scanEntryFiles, deriveRepoKey, deriveRepoMemoryDir, deriveControlPlaneDir, deriveRepoControlPlaneDir, resolveMemoryEngineRoot, scopeDirName, ControlPlaneCorruptError, parseEntryFile, serializeEntryFile, computeEntryRev, entryFromFile, MEMORY_ORIGIN_CAUSES, committedOriginOf, originEquals, ambiguousOriginRepresentation, isInstructionEntry, MEMORY_INSTRUCTION_TEMPLATE, MEMORY_RECALL_DISCIPLINE, MEMORY_PREFERENCE_DISCIPLINE, MEMORY_READONLY_NOTICE, readV2HeaderHints, LINEAGE_FILE, CHALLENGES_FILE, CHALLENGED_HISTORY_FILE, CHALLENGE_LEDGER_MAX_EVENTS, rebuildStrictControlPlaneLedger, MEMORY_INDEX_FILENAME, MEMORY_INDEX_MAX_LINES, MEMORY_INDEX_MAX_BYTES, MEMORY_SEARCH_TOOL_NAME, MEMORY_GET_TOOL_NAME, MEMORY_ENGINE_TOOL_NAMES, MEMORY_EXPOSURE_BANNER, MEMORY_EXPOSURE_HANDLE_TAG, memoryExposureIndexRow, STUB_ARCHIVED_LINE, DEFAULT_MAX_MEMORY_FILES, DEFAULT_MAX_ENTRY_DEPTH, DEFAULT_HARVEST_DEADLINE_MS, DEFAULT_HARVEST_FILE_BUDGET, MASS_DELETION_FUSE_RATIO, scanMemoryWrite, scanMemoryFileName, scanRemediation, MEMORY_FILENAME_SEGMENT_RE, renderAnnouncements, enqueueMemoryAnnouncement, drainMemoryAnnouncements, peekMemoryAnnouncements, bumpScanFuse, scanFuseCount, clearScanFuse, ANNOUNCEMENTS_FILE, MEMORY_ANNOUNCEMENTS_MAX, SCAN_FUSE_FILE, SCAN_FUSE_THRESHOLD, erasureSelectHash, computeMemoryBundleHash, SCOPE_SEGMENT_MAX_ENCODED, PROJECT_MARKER_PATH, encodeScopeSegment, decodeScopeSegment, parseScopeKey, formatUserScope, formatOrgScope, formatProjScope, formatUserProjScope, isPersonalScope, assertScopeContractPlacement, formatProjectMarker, parseProjectMarker, resolveProjectId, PROJECT_ID_REGEX, migrateScope, materializeEntriesToFiles, harvestFilesToPatches, projectionsToWriteBack, screenInboundEntries, REMOTE_HARVEST_PER_FILE_BYTES, REMOTE_MASS_DELETION_FUSE_RATIO, deriveProjectMemoryDir, deriveProjectControlDir, recordProjectIdHint, lookupProjectIdHint, PROJECT_ID_HINTS_FILE, reconcileMemoryEntries, nextSyncBaseline, mergeRecallHits, syncMemoryScope, } from "./core/memory-engine/index.js";
|
|
133
134
|
export { SHARED_MEMORY_READ_CAP_BYTES, SHARED_MEMORY_LIST_PAGE_SIZE, SharedMemoryStoreError, } from "./core/shared-memory/types.js";
|
|
134
135
|
export { sharedMemoryStoreContract, } from "./core/shared-memory/contract.js";
|
|
135
136
|
export { termSet, jaccardDistance, cosineDistance } from "./core/memory-vector.js";
|
|
@@ -43,7 +43,11 @@ export interface TaskListItem {
|
|
|
43
43
|
* process ({@link createTaskListTools} keeps a per-store promise chain) — a store shared across
|
|
44
44
|
* PROCESSES additionally needs its own transactional guarantees for those sequences, which is the
|
|
45
45
|
* deployment's half (documented, not solved here; CC's file-backed team list has the same window).
|
|
46
|
-
* - `allocateId` is store-owned so concurrent teammates never mint colliding ids
|
|
46
|
+
* - `allocateId` is store-owned so concurrent teammates never mint colliding ids, and the
|
|
47
|
+
* high-water mark is MONOTONIC ACROSS REOPENS for any backend that outlives one wrapper
|
|
48
|
+
* instance: a restart/reconnect must never re-mint an id the backend has already handed out
|
|
49
|
+
* (the conformance suite's durable tier pins exactly this — a counter that resets while the
|
|
50
|
+
* rows survive makes every receipt lie and every subsequent update miss).
|
|
47
51
|
* - Value semantics: `get`/`list` return detached copies; `set` stores a detached copy. Callers
|
|
48
52
|
* mutate their copy and write it back — a live-reference store would alias already-emitted events.
|
|
49
53
|
* - RB-274: `list` is ordered by ID (numeric ascending), not by write order. The tool lane always
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"_comment": "design/87 L3 — frozen public export surface of src/index.ts (name -> kind). DO NOT edit by hand to silence a red test. A removed/changed entry = a SemVer-BREAKING change; bump MAJOR and update this fixture in the SAME commit (design/87 §4.2 / §5.2). Regenerate via REGEN in test/export-surface.test.ts.",
|
|
3
|
-
"count":
|
|
3
|
+
"count": 1625,
|
|
4
4
|
"exports": {
|
|
5
5
|
"A2ATaskState": "type",
|
|
6
6
|
"A2ATaskStateReversal": "type",
|
|
@@ -172,6 +172,7 @@
|
|
|
172
172
|
"CheckpointSummary": "interface",
|
|
173
173
|
"CheckpointToken": "type",
|
|
174
174
|
"CircuitBreakerOptions": "interface",
|
|
175
|
+
"CleanMemorySearchHit": "interface",
|
|
175
176
|
"CodeReviewMode": "type",
|
|
176
177
|
"CodeToolsConfig": "interface",
|
|
177
178
|
"CommittedBinding": "type",
|
|
@@ -279,6 +280,7 @@
|
|
|
279
280
|
"ExecutionError": "class",
|
|
280
281
|
"ExecutionErrorCode": "type",
|
|
281
282
|
"ExplainInput": "interface",
|
|
283
|
+
"ExposedMemorySearchHit": "interface",
|
|
282
284
|
"ExternalNotificationInput": "interface",
|
|
283
285
|
"F012_CHECKPOINT_VERSION": "variable",
|
|
284
286
|
"FABLE_5_COMPAT": "variable",
|
|
@@ -429,6 +431,8 @@
|
|
|
429
431
|
"MCP_PREFIX": "variable",
|
|
430
432
|
"MEMORY_ANNOUNCEMENTS_MAX": "variable",
|
|
431
433
|
"MEMORY_ENGINE_TOOL_NAMES": "variable",
|
|
434
|
+
"MEMORY_EXPOSURE_BANNER": "variable",
|
|
435
|
+
"MEMORY_EXPOSURE_HANDLE_TAG": "variable",
|
|
432
436
|
"MEMORY_FILENAME_SEGMENT_RE": "variable",
|
|
433
437
|
"MEMORY_GET_TOOL_NAME": "variable",
|
|
434
438
|
"MEMORY_GUIDANCE": "variable",
|
|
@@ -498,7 +502,7 @@
|
|
|
498
502
|
"MemoryScopeOrigin": "type",
|
|
499
503
|
"MemoryScopeRequest": "interface",
|
|
500
504
|
"MemorySearchDetails": "interface",
|
|
501
|
-
"MemorySearchHit": "
|
|
505
|
+
"MemorySearchHit": "type",
|
|
502
506
|
"MemorySelectRequest": "interface",
|
|
503
507
|
"MemorySelector": "type",
|
|
504
508
|
"MemorySessionHandle": "interface",
|
|
@@ -525,6 +529,7 @@
|
|
|
525
529
|
"ModelTier": "type",
|
|
526
530
|
"MonitorTimers": "interface",
|
|
527
531
|
"MonitorToolOptions": "interface",
|
|
532
|
+
"NOTICE_AUDIENCE": "variable",
|
|
528
533
|
"NO_PERSISTENT_MEMORY_NOTICE": "variable",
|
|
529
534
|
"NamedToolPolicy": "type",
|
|
530
535
|
"NamedWorkflowListing": "interface",
|
|
@@ -1105,6 +1110,7 @@
|
|
|
1105
1110
|
"adoptLocalDataRoot": "function",
|
|
1106
1111
|
"advanceCursorAfterInline": "function",
|
|
1107
1112
|
"agentWhenToUseText": "function",
|
|
1113
|
+
"ambiguousOriginRepresentation": "function",
|
|
1108
1114
|
"analyzePromptCacheFriendliness": "function",
|
|
1109
1115
|
"appendHopToken": "function",
|
|
1110
1116
|
"appendPendingSteer": "function",
|
|
@@ -1393,6 +1399,7 @@
|
|
|
1393
1399
|
"materializeMcpTools": "function",
|
|
1394
1400
|
"maybeCompact": "function",
|
|
1395
1401
|
"memoryBackendContract": "function",
|
|
1402
|
+
"memoryExposureIndexRow": "function",
|
|
1396
1403
|
"mergeRecallHits": "function",
|
|
1397
1404
|
"mergeWorkflowArgs": "function",
|
|
1398
1405
|
"migrateScope": "function",
|
|
@@ -1412,6 +1419,7 @@
|
|
|
1412
1419
|
"normalizePromptEpoch": "function",
|
|
1413
1420
|
"normalizeRules": "function",
|
|
1414
1421
|
"normalizeToolResultProvenance": "function",
|
|
1422
|
+
"noticeAudienceOf": "function",
|
|
1415
1423
|
"ok": "function",
|
|
1416
1424
|
"openSystemReminder": "function",
|
|
1417
1425
|
"orgRuleStatePersistenceOf": "function",
|