@remnic/core 10.0.75 → 10.0.77
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/access-admin-ops-surface.js +2 -2
- package/dist/access-authorization-probe.js +3 -3
- package/dist/access-boundary.js +2 -2
- package/dist/access-cli.js +17 -17
- package/dist/access-extraction-force-flush.js +2 -2
- package/dist/access-http-briefing.js +3 -3
- package/dist/access-http-query.js +2 -2
- package/dist/access-http.js +14 -14
- package/dist/access-identity-continuity-surface.js +2 -2
- package/dist/access-lcm-surface.js +2 -2
- package/dist/access-mcp.js +9 -9
- package/dist/access-namespace-preflight.js +2 -2
- package/dist/access-observe-helpers.d.ts.map +1 -1
- package/dist/access-observe-helpers.js +1 -1
- package/dist/access-observe-write-surface.js +2 -2
- package/dist/access-operations-batch.js +3 -3
- package/dist/access-operations.js +8 -8
- package/dist/access-recall-concurrency.js +2 -2
- package/dist/access-recall-response.js +2 -2
- package/dist/access-recall-surface.js +2 -2
- package/dist/access-service.js +2 -2
- package/dist/access-surface-catalog.js +4 -4
- package/dist/{chunk-R24RYSQX.js → chunk-2JRLKDHV.js} +2 -2
- package/dist/{chunk-N6GEGRCT.js → chunk-4NDDRYBY.js} +2 -2
- package/dist/{chunk-VEWTHVX2.js → chunk-5HVEYVNQ.js} +2 -2
- package/dist/{chunk-KAED7IBB.js → chunk-6L62IDS6.js} +2 -2
- package/dist/{chunk-IPHIIRDN.js → chunk-CYTTY4M2.js} +5 -7
- package/dist/chunk-CYTTY4M2.js.map +1 -0
- package/dist/{chunk-SZBZOUHR.js → chunk-D26XMQP5.js} +2 -2
- package/dist/{chunk-VPEMGBTI.js → chunk-D3USVQIV.js} +2 -2
- package/dist/{chunk-E22CQZ3H.js → chunk-EYIBIGIU.js} +8 -8
- package/dist/{chunk-IBQ7LGUJ.js → chunk-FQU65RJX.js} +3 -3
- package/dist/{chunk-FP2AT4WL.js → chunk-G3PBNYDH.js} +2 -2
- package/dist/{chunk-VYOAYFDV.js → chunk-I4W2ADBP.js} +144 -26
- package/dist/chunk-I4W2ADBP.js.map +1 -0
- package/dist/{chunk-ZG57BEUS.js → chunk-LXDERMOU.js} +2 -2
- package/dist/{chunk-SY4AFWUZ.js → chunk-MAURCRPQ.js} +4 -4
- package/dist/{chunk-3GGCMRO7.js → chunk-MUZWS6KB.js} +2 -2
- package/dist/{chunk-URS56HGW.js → chunk-MXQKGSMW.js} +2 -2
- package/dist/{chunk-RXGFITWS.js → chunk-NUBOY2LQ.js} +2 -2
- package/dist/{chunk-PLGBPFEO.js → chunk-TWHVCSLX.js} +2 -2
- package/dist/{chunk-VEQVXNWR.js → chunk-TX627XOF.js} +2 -2
- package/dist/cli.js +15 -15
- package/dist/external-wiki-access.js +3 -3
- package/dist/index.js +17 -17
- package/dist/memory-browse-operations.js +3 -3
- package/dist/orchestration/backlog-scheduler.js +18 -18
- package/dist/orchestration/buffer-drain-runner.js +18 -18
- package/dist/orchestration/extraction-queue-coordinator.d.ts +4 -9
- package/dist/orchestration/extraction-queue-coordinator.d.ts.map +1 -1
- package/dist/orchestration/extraction-queue-snapshot-sharing.d.ts +113 -0
- package/dist/orchestration/extraction-queue-snapshot-sharing.d.ts.map +1 -0
- package/dist/orchestration/turn-ingestion.d.ts +3 -0
- package/dist/orchestration/turn-ingestion.d.ts.map +1 -1
- package/dist/orchestrator.js +17 -17
- package/dist/recall-navigation-operations.js +3 -3
- package/dist/recall-navigation.js +2 -2
- package/dist/support-passport/index.js +5 -5
- package/package.json +2 -2
- package/src/access-observe-helpers.test.ts +156 -0
- package/src/access-observe-helpers.ts +6 -6
- package/src/orchestration/extraction-queue-bounded-retention.test.ts +548 -0
- package/src/orchestration/extraction-queue-coordinator.ts +4 -19
- package/src/orchestration/extraction-queue-snapshot-sharing.ts +257 -0
- package/src/orchestration/turn-ingestion.ts +19 -6
- package/src/orchestrator-extraction-queue.test.ts +70 -13
- package/dist/chunk-IPHIIRDN.js.map +0 -1
- package/dist/chunk-VYOAYFDV.js.map +0 -1
- /package/dist/{chunk-R24RYSQX.js.map → chunk-2JRLKDHV.js.map} +0 -0
- /package/dist/{chunk-N6GEGRCT.js.map → chunk-4NDDRYBY.js.map} +0 -0
- /package/dist/{chunk-VEWTHVX2.js.map → chunk-5HVEYVNQ.js.map} +0 -0
- /package/dist/{chunk-KAED7IBB.js.map → chunk-6L62IDS6.js.map} +0 -0
- /package/dist/{chunk-SZBZOUHR.js.map → chunk-D26XMQP5.js.map} +0 -0
- /package/dist/{chunk-VPEMGBTI.js.map → chunk-D3USVQIV.js.map} +0 -0
- /package/dist/{chunk-E22CQZ3H.js.map → chunk-EYIBIGIU.js.map} +0 -0
- /package/dist/{chunk-IBQ7LGUJ.js.map → chunk-FQU65RJX.js.map} +0 -0
- /package/dist/{chunk-FP2AT4WL.js.map → chunk-G3PBNYDH.js.map} +0 -0
- /package/dist/{chunk-ZG57BEUS.js.map → chunk-LXDERMOU.js.map} +0 -0
- /package/dist/{chunk-SY4AFWUZ.js.map → chunk-MAURCRPQ.js.map} +0 -0
- /package/dist/{chunk-3GGCMRO7.js.map → chunk-MUZWS6KB.js.map} +0 -0
- /package/dist/{chunk-URS56HGW.js.map → chunk-MXQKGSMW.js.map} +0 -0
- /package/dist/{chunk-RXGFITWS.js.map → chunk-NUBOY2LQ.js.map} +0 -0
- /package/dist/{chunk-PLGBPFEO.js.map → chunk-TWHVCSLX.js.map} +0 -0
- /package/dist/{chunk-VEQVXNWR.js.map → chunk-TX627XOF.js.map} +0 -0
|
@@ -88,11 +88,9 @@ var PendingObserveExtractionTracker = class {
|
|
|
88
88
|
);
|
|
89
89
|
if (rejected) throw rejected.reason;
|
|
90
90
|
}) : extraction;
|
|
91
|
-
const
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
controllers: new Set(previous ? [...previous.controllers, controller] : [controller])
|
|
95
|
-
};
|
|
91
|
+
const controllers = previous?.controllers ?? /* @__PURE__ */ new Set();
|
|
92
|
+
controllers.add(controller);
|
|
93
|
+
const entry = { promise, running: previous?.running ?? extraction, controllers };
|
|
96
94
|
this.entries.set(key, entry);
|
|
97
95
|
void promise.then(() => {
|
|
98
96
|
if (this.entries.get(key) === entry) this.entries.delete(key);
|
|
@@ -119,7 +117,7 @@ var PendingObserveExtractionTracker = class {
|
|
|
119
117
|
for (const [key, entry] of this.entries) {
|
|
120
118
|
const [entrySessionKey, entryPrincipal, entryNamespace] = key.split("\0");
|
|
121
119
|
if (entrySessionKey !== sessionKey || principal !== void 0 && entryPrincipal !== (principal ?? "") || namespace !== void 0 && entryNamespace !== (namespace ?? "")) continue;
|
|
122
|
-
for (const controller of entry.controllers) controller.abort(reason);
|
|
120
|
+
for (const controller of [...entry.controllers]) controller.abort(reason);
|
|
123
121
|
}
|
|
124
122
|
}
|
|
125
123
|
async wait(sessionKey, principal, namespace, abortSignal, registerCancellation, scopeHint, preemptAfterAdmission) {
|
|
@@ -171,4 +169,4 @@ export {
|
|
|
171
169
|
pendingObserveScopeHint,
|
|
172
170
|
PendingObserveExtractionTracker
|
|
173
171
|
};
|
|
174
|
-
//# sourceMappingURL=chunk-
|
|
172
|
+
//# sourceMappingURL=chunk-CYTTY4M2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/access-observe-helpers.ts"],"sourcesContent":["import { isPreemptedExtraction } from \"./abort-error.js\";\n\ntype PendingObservePreparation = {\n cancelled: boolean;\n scopeHint?: string;\n principal?: string;\n namespace?: string;\n scopeResolved: boolean;\n resolvedScopeFences: Array<{ principal?: string; namespace?: string }>;\n released: Promise<void>;\n release: () => void;\n};\n\nfunction resolvedScopesMatch(\n left: { principal?: string; namespace?: string },\n right: { principal?: string; namespace?: string },\n): boolean {\n return left.principal === right.principal && left.namespace === right.namespace;\n}\n\nfunction preparationMatchesScope(\n reservation: PendingObservePreparation,\n principal: string | undefined,\n namespace: string | undefined,\n scopeHint: string | undefined,\n): boolean {\n if (reservation.scopeResolved) {\n return resolvedScopesMatch(reservation, { principal, namespace });\n }\n return reservation.scopeHint === undefined || scopeHint === undefined || reservation.scopeHint === scopeHint;\n}\n\nexport type PendingObservePreparationHandle = {\n isCancelled(): boolean;\n setScope(principal?: string, namespace?: string): void;\n release(): void;\n};\n\nexport function pendingObserveScopeHint(options: {\n namespace?: string;\n projectTag?: string;\n cwd?: string;\n}): string | undefined {\n const namespace = options.namespace?.trim();\n if (namespace) return `namespace:${namespace}`;\n const projectTag = options.projectTag?.trim();\n if (projectTag) return `projectTag:${projectTag}`;\n const cwd = options.cwd?.trim();\n return cwd ? `cwd:${cwd}` : undefined;\n}\n\ntype PendingObserveExtraction = {\n promise: Promise<void>;\n running: Promise<void>;\n controllers: Set<AbortController>;\n};\n\nexport class PendingObserveExtractionTracker {\n private readonly entries = new Map<string, PendingObserveExtraction>();\n private readonly preparations = new Map<string, Set<PendingObservePreparation>>();\n\n reserve(sessionKey: string, scopeHint?: string): PendingObservePreparationHandle {\n let released = false;\n let resolveReleased: () => void = () => {};\n const reservation: PendingObservePreparation = {\n cancelled: false,\n scopeResolved: false,\n resolvedScopeFences: [],\n scopeHint,\n released: new Promise<void>((resolve) => {\n resolveReleased = resolve;\n }),\n release: () => {\n if (released) return;\n released = true;\n const entries = this.preparations.get(sessionKey);\n entries?.delete(reservation);\n if (entries?.size === 0) this.preparations.delete(sessionKey);\n resolveReleased();\n },\n };\n const entries = this.preparations.get(sessionKey) ?? new Set<PendingObservePreparation>();\n entries.add(reservation);\n this.preparations.set(sessionKey, entries);\n return {\n isCancelled: () => reservation.cancelled,\n setScope: (principal, namespace) => {\n reservation.principal = principal;\n reservation.namespace = namespace;\n reservation.scopeResolved = true;\n if (reservation.resolvedScopeFences.some((fence) => resolvedScopesMatch(reservation, fence))) {\n reservation.cancelled = true;\n }\n },\n release: reservation.release,\n };\n }\n\n private async waitForPreparations(\n sessionKey: string,\n principal: string | undefined,\n namespace: string | undefined,\n scopeHint: string | undefined,\n ): Promise<void> {\n while (true) {\n const reservations = [...(this.preparations.get(sessionKey) ?? [])];\n for (const reservation of reservations) {\n if (\n !reservation.cancelled &&\n !reservation.scopeResolved &&\n !preparationMatchesScope(reservation, principal, namespace, scopeHint) &&\n !reservation.resolvedScopeFences.some((fence) =>\n resolvedScopesMatch(fence, { principal, namespace }),\n )\n ) {\n reservation.resolvedScopeFences.push({ principal, namespace });\n }\n }\n const pending = reservations.filter(\n (reservation) =>\n !reservation.cancelled && preparationMatchesScope(reservation, principal, namespace, scopeHint),\n );\n if (pending.length === 0) return;\n await Promise.all(pending.map((reservation) => reservation.released));\n }\n }\n\n\n key(sessionKey: string, principal: string | undefined, namespace: string | undefined): string {\n return `${sessionKey}\\u0000${principal ?? \"\"}\\u0000${namespace ?? \"\"}`;\n }\n\n track(key: string, extraction: Promise<void>, controller: AbortController): void {\n const previous = this.entries.get(key);\n const promise = previous\n ? Promise.allSettled([previous.promise, extraction]).then((results) => {\n const rejected = results.find(\n (result): result is PromiseRejectedResult =>\n result.status === \"rejected\" &&\n !(result.reason instanceof Error && isPreemptedExtraction(result.reason)),\n );\n if (rejected) throw rejected.reason;\n })\n : extraction;\n const controllers = previous?.controllers ?? new Set<AbortController>();\n controllers.add(controller);\n const entry = { promise, running: previous?.running ?? extraction, controllers };\n this.entries.set(key, entry);\n // Any settle (success OR rejection — preemption is just one rejection\n // kind) ends the pending entry; leaving a settled failure tracked wedged\n // the key and kept every controller ever registered for it alive.\n void promise\n .then(() => {\n if (this.entries.get(key) === entry) this.entries.delete(key);\n })\n .catch(() => {\n if (this.entries.get(key) === entry) this.entries.delete(key);\n });\n }\n\n cancelPreparations(sessionKey: string, scopeHint?: string): void {\n for (const reservation of this.preparations.get(sessionKey) ?? []) {\n if (\n scopeHint !== undefined &&\n reservation.scopeHint !== undefined &&\n reservation.scopeHint !== scopeHint\n ) {\n continue;\n }\n reservation.cancelled = true;\n }\n }\n\n cancel(\n sessionKey: string,\n principal?: string,\n namespace?: string,\n scopeHint?: string,\n reason?: Error,\n ): void {\n for (const reservation of this.preparations.get(sessionKey) ?? []) {\n if (!preparationMatchesScope(reservation, principal, namespace, scopeHint)) continue;\n reservation.cancelled = true;\n }\n\n this.abortTracked(sessionKey, principal, namespace, reason);\n }\n\n private abortTracked(\n sessionKey: string,\n principal: string | undefined,\n namespace: string | undefined,\n reason?: Error,\n ): void {\n for (const [key, entry] of this.entries) {\n const [entrySessionKey, entryPrincipal, entryNamespace] = key.split(\"\\u0000\");\n if (\n entrySessionKey !== sessionKey ||\n (principal !== undefined && entryPrincipal !== (principal ?? \"\")) ||\n (namespace !== undefined && entryNamespace !== (namespace ?? \"\"))\n ) continue;\n // Snapshot: an abort listener may track() synchronously; iterating the\n // shared live set would abort that new admission or never terminate.\n for (const controller of [...entry.controllers]) controller.abort(reason);\n }\n }\n\n async wait(\n sessionKey: string,\n principal: string | undefined,\n namespace: string | undefined,\n abortSignal?: AbortSignal,\n registerCancellation?: (cancel: () => void) => void,\n scopeHint?: string,\n preemptAfterAdmission?: () => void,\n ): Promise<void> {\n const key = this.key(sessionKey, principal, namespace);\n let cancelled = abortSignal?.aborted === true;\n const abortTracked = (): void => {\n cancelled = true;\n this.cancel(sessionKey, principal, namespace, scopeHint);\n };\n registerCancellation?.(abortTracked);\n abortSignal?.addEventListener(\"abort\", abortTracked, { once: true });\n try {\n await this.waitForPreparations(sessionKey, principal, namespace, scopeHint);\n if (cancelled || abortSignal?.aborted) return;\n if (preemptAfterAdmission) {\n preemptAfterAdmission();\n const running = this.entries.get(key)?.running;\n if (!running) return;\n try {\n await running;\n } catch (error) {\n if (this.entries.get(key)?.running === running) this.entries.delete(key);\n if (!(error instanceof Error && isPreemptedExtraction(error))) throw error;\n }\n return;\n }\n while (true) {\n const entry = this.entries.get(key);\n if (!entry) return;\n try {\n await entry.promise;\n } catch (error) {\n if (this.entries.get(key) !== entry) continue;\n this.entries.delete(key);\n if (error instanceof Error && isPreemptedExtraction(error)) return;\n throw error;\n }\n if (this.entries.get(key) !== entry) continue;\n this.entries.delete(key);\n return;\n }\n } finally {\n abortSignal?.removeEventListener(\"abort\", abortTracked);\n }\n }\n}\n"],"mappings":"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","names":["entries"]}
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
SupportPassportError,
|
|
3
3
|
SupportPassportOwnerCreateGrantRequestSchema,
|
|
4
4
|
getOperation
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-2JRLKDHV.js";
|
|
6
6
|
|
|
7
7
|
// src/support-passport/access-http.ts
|
|
8
8
|
var OWNER_ROOT = "/engram/v1/support-passport";
|
|
@@ -137,4 +137,4 @@ export {
|
|
|
137
137
|
SUPPORT_PASSPORT_OWNER_HTTP_ROUTES,
|
|
138
138
|
handleSupportPassportOwnerHttp
|
|
139
139
|
};
|
|
140
|
-
//# sourceMappingURL=chunk-
|
|
140
|
+
//# sourceMappingURL=chunk-D26XMQP5.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-7T4TOGMS.js";
|
|
4
4
|
import {
|
|
5
5
|
defineOperation
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-2JRLKDHV.js";
|
|
7
7
|
|
|
8
8
|
// src/external-wiki-access.ts
|
|
9
9
|
import { z } from "zod";
|
|
@@ -26,4 +26,4 @@ var externalWikiSearchOperation = defineOperation({
|
|
|
26
26
|
export {
|
|
27
27
|
externalWikiSearchOperation
|
|
28
28
|
};
|
|
29
|
-
//# sourceMappingURL=chunk-
|
|
29
|
+
//# sourceMappingURL=chunk-D3USVQIV.js.map
|
|
@@ -21,10 +21,10 @@ import {
|
|
|
21
21
|
} from "./chunk-FETPTCQZ.js";
|
|
22
22
|
import {
|
|
23
23
|
handleSupportPassportOwnerHttp
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-D26XMQP5.js";
|
|
25
25
|
import {
|
|
26
26
|
buildSupportPassportPublicRequestHandler
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-5HVEYVNQ.js";
|
|
28
28
|
import {
|
|
29
29
|
handleMcpGetSse
|
|
30
30
|
} from "./chunk-SRT6SHVZ.js";
|
|
@@ -37,10 +37,10 @@ import {
|
|
|
37
37
|
processChatMessage,
|
|
38
38
|
sessionBelongsToPrincipal,
|
|
39
39
|
subscribeChatTranscript
|
|
40
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-TX627XOF.js";
|
|
41
41
|
import {
|
|
42
42
|
RelayMissionStoreError
|
|
43
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-FQU65RJX.js";
|
|
44
44
|
import {
|
|
45
45
|
handleRecallWhyHttpQuery,
|
|
46
46
|
handleRecallXrayHttpQuery
|
|
@@ -64,7 +64,7 @@ import {
|
|
|
64
64
|
} from "./chunk-KNZDGZSY.js";
|
|
65
65
|
import {
|
|
66
66
|
respondBriefingHttp
|
|
67
|
-
} from "./chunk-
|
|
67
|
+
} from "./chunk-6L62IDS6.js";
|
|
68
68
|
import {
|
|
69
69
|
maybeHandleLifecycleFlush
|
|
70
70
|
} from "./chunk-2BPPGNAQ.js";
|
|
@@ -75,11 +75,11 @@ import {
|
|
|
75
75
|
authorizationProbeNamespaces,
|
|
76
76
|
authorizationProbeRequiresPrincipalNamespace,
|
|
77
77
|
probeOperationAuthorization
|
|
78
|
-
} from "./chunk-
|
|
78
|
+
} from "./chunk-G3PBNYDH.js";
|
|
79
79
|
import {
|
|
80
80
|
getOperation,
|
|
81
81
|
resolveQueryNamespaceWritablePreflight
|
|
82
|
-
} from "./chunk-
|
|
82
|
+
} from "./chunk-2JRLKDHV.js";
|
|
83
83
|
import {
|
|
84
84
|
handleWhoKnowsHttpQuery
|
|
85
85
|
} from "./chunk-ELUG6NKQ.js";
|
|
@@ -3573,4 +3573,4 @@ export {
|
|
|
3573
3573
|
resolveDefaultAdminConsolePublicDir,
|
|
3574
3574
|
EngramAccessHttpServer
|
|
3575
3575
|
};
|
|
3576
|
-
//# sourceMappingURL=chunk-
|
|
3576
|
+
//# sourceMappingURL=chunk-EYIBIGIU.js.map
|
|
@@ -12,13 +12,13 @@ import {
|
|
|
12
12
|
} from "./chunk-233S3MXC.js";
|
|
13
13
|
import {
|
|
14
14
|
externalWikiSearchOperation
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-D3USVQIV.js";
|
|
16
16
|
import {
|
|
17
17
|
DECISION_SUBCOMMANDS,
|
|
18
18
|
DELTA_SUBCOMMANDS,
|
|
19
19
|
defineOperation,
|
|
20
20
|
isCodegraphToolName
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-2JRLKDHV.js";
|
|
22
22
|
import {
|
|
23
23
|
CorrectionContractError
|
|
24
24
|
} from "./chunk-ETSJD5IV.js";
|
|
@@ -1916,4 +1916,4 @@ export {
|
|
|
1916
1916
|
codegraphIngestTracesOperation,
|
|
1917
1917
|
REGISTERED_OPERATIONS
|
|
1918
1918
|
};
|
|
1919
|
-
//# sourceMappingURL=chunk-
|
|
1919
|
+
//# sourceMappingURL=chunk-FQU65RJX.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
getOperation,
|
|
4
4
|
operationRequiresAuthorizedNamespace,
|
|
5
5
|
operationUsesPrincipalNamespace
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-2JRLKDHV.js";
|
|
7
7
|
import {
|
|
8
8
|
assertOperationAuthorizationAllowed
|
|
9
9
|
} from "./chunk-YO2JEX2Z.js";
|
|
@@ -60,4 +60,4 @@ export {
|
|
|
60
60
|
authorizationProbeNamespaces,
|
|
61
61
|
authorizationProbeRequiresPrincipalNamespace
|
|
62
62
|
};
|
|
63
|
-
//# sourceMappingURL=chunk-
|
|
63
|
+
//# sourceMappingURL=chunk-G3PBNYDH.js.map
|
|
@@ -234,7 +234,7 @@ import {
|
|
|
234
234
|
runTimelinePublishCli,
|
|
235
235
|
screenCandidateFact,
|
|
236
236
|
summarizeVaultPublish
|
|
237
|
-
} from "./chunk-
|
|
237
|
+
} from "./chunk-MAURCRPQ.js";
|
|
238
238
|
import {
|
|
239
239
|
RoutingRulesStore
|
|
240
240
|
} from "./chunk-TBUEE7XF.js";
|
|
@@ -373,7 +373,7 @@ import {
|
|
|
373
373
|
} from "./chunk-MI2OTWV5.js";
|
|
374
374
|
import {
|
|
375
375
|
MeetingsInputError
|
|
376
|
-
} from "./chunk-
|
|
376
|
+
} from "./chunk-EYIBIGIU.js";
|
|
377
377
|
import {
|
|
378
378
|
WearablesInputError,
|
|
379
379
|
describeErrorForOperator
|
|
@@ -400,7 +400,7 @@ import {
|
|
|
400
400
|
detectPassiveCorrections,
|
|
401
401
|
renderSessionExperiencePreview,
|
|
402
402
|
scoreSessionExperienceForPrompt
|
|
403
|
-
} from "./chunk-
|
|
403
|
+
} from "./chunk-2JRLKDHV.js";
|
|
404
404
|
import {
|
|
405
405
|
importCapsule
|
|
406
406
|
} from "./chunk-2R7OCBRR.js";
|
|
@@ -671,7 +671,8 @@ import {
|
|
|
671
671
|
import {
|
|
672
672
|
bufferTurnsEqual,
|
|
673
673
|
describeError,
|
|
674
|
-
groupTurnsByExtractionScope
|
|
674
|
+
groupTurnsByExtractionScope,
|
|
675
|
+
scopeProfilePlanIdentity
|
|
675
676
|
} from "./chunk-4KLQI3L2.js";
|
|
676
677
|
import {
|
|
677
678
|
FallbackLlmClient,
|
|
@@ -1119,29 +1120,14 @@ var ExtractionQueueCoordinator = class {
|
|
|
1119
1120
|
return this.concurrency;
|
|
1120
1121
|
}
|
|
1121
1122
|
/**
|
|
1122
|
-
* Enqueue a task and start the processor when capacity is free.
|
|
1123
|
-
*
|
|
1124
|
-
*
|
|
1125
|
-
*
|
|
1126
|
-
* Per-key coalescing: a queued-not-started task for key K is superseded by
|
|
1127
|
-
* a newer enqueue for K instead of stacking another full turn snapshot
|
|
1128
|
-
* behind it (extraction reads live state at run time, so the newest
|
|
1129
|
-
* closure is the authoritative one). Keyless tasks are independent work
|
|
1130
|
-
* and never coalesce.
|
|
1123
|
+
* Enqueue a task and start the processor when capacity is free. Each task
|
|
1124
|
+
* keeps its own captured work and settlement; keyed tasks serialize behind
|
|
1125
|
+
* other tasks for that key. A front task may jump the queue but does not
|
|
1126
|
+
* discard queued work.
|
|
1131
1127
|
*/
|
|
1132
1128
|
enqueue(task, options) {
|
|
1133
1129
|
if (!this.accepting) return false;
|
|
1134
1130
|
const key = options?.key;
|
|
1135
|
-
if (key !== void 0) {
|
|
1136
|
-
const queuedAt = this.queue.findIndex((entry2) => entry2.key === key);
|
|
1137
|
-
if (!options?.front && queuedAt >= 0) {
|
|
1138
|
-
this.queue[queuedAt] = { run: task, key };
|
|
1139
|
-
return true;
|
|
1140
|
-
}
|
|
1141
|
-
if (options?.front && queuedAt >= 0) {
|
|
1142
|
-
this.queue.splice(queuedAt, 1);
|
|
1143
|
-
}
|
|
1144
|
-
}
|
|
1145
1131
|
const entry = { run: task, key };
|
|
1146
1132
|
if (options?.front) {
|
|
1147
1133
|
this.preemptRunning(options.key);
|
|
@@ -16369,6 +16355,132 @@ function queueBufferedCaptureScopeGroups(queueBufferedExtraction, extractionTurn
|
|
|
16369
16355
|
}
|
|
16370
16356
|
}
|
|
16371
16357
|
|
|
16358
|
+
// src/orchestration/extraction-queue-snapshot-sharing.ts
|
|
16359
|
+
function automaticSnapshotSharingEligible(options) {
|
|
16360
|
+
return options.execution === void 0 && options.preemptable === true && options.failOnExtractionFailure !== true && options.forceExtractionAttempt !== true && options.preemptRunning !== true;
|
|
16361
|
+
}
|
|
16362
|
+
function turnRepresentationEquivalent(left, right) {
|
|
16363
|
+
return bufferTurnsEqual(left, right) && left.extractionContextOnly === right.extractionContextOnly && left.importProvenance === right.importProvenance && left.parts === right.parts && left.rawContent === right.rawContent && left.sourceFormat === right.sourceFormat;
|
|
16364
|
+
}
|
|
16365
|
+
function scopeClassKey(turn) {
|
|
16366
|
+
return [
|
|
16367
|
+
turn.writeNamespaceOverride ?? "",
|
|
16368
|
+
turn.principalOverride ?? "",
|
|
16369
|
+
scopeProfilePlanIdentity(turn.scopeProfileWritePlan),
|
|
16370
|
+
turn.acceptedCapture === true ? "accepted" : "",
|
|
16371
|
+
turn.codingContext?.projectId ?? "",
|
|
16372
|
+
turn.codingContext?.rootPath ?? "",
|
|
16373
|
+
turn.codingContext?.branch ?? "",
|
|
16374
|
+
turn.codingContext?.defaultBranch ?? ""
|
|
16375
|
+
].join("\0");
|
|
16376
|
+
}
|
|
16377
|
+
function chainNodes(chain) {
|
|
16378
|
+
const nodes = [];
|
|
16379
|
+
for (let node = chain; node; node = node.base) nodes.push(node);
|
|
16380
|
+
return [...nodes].reverse();
|
|
16381
|
+
}
|
|
16382
|
+
function chainPrefixEquivalent(chain, turns) {
|
|
16383
|
+
let offset = 0;
|
|
16384
|
+
for (const node of chainNodes(chain)) {
|
|
16385
|
+
for (const chained of node.tail) {
|
|
16386
|
+
const incoming = turns[offset];
|
|
16387
|
+
if (incoming === void 0) return false;
|
|
16388
|
+
if (!turnRepresentationEquivalent(chained, incoming)) return false;
|
|
16389
|
+
offset += 1;
|
|
16390
|
+
}
|
|
16391
|
+
}
|
|
16392
|
+
return offset === chain.total;
|
|
16393
|
+
}
|
|
16394
|
+
function materializeChain(chain) {
|
|
16395
|
+
const out = [];
|
|
16396
|
+
for (const node of chainNodes(chain)) {
|
|
16397
|
+
for (const turn of node.tail) out.push(turn);
|
|
16398
|
+
}
|
|
16399
|
+
return out;
|
|
16400
|
+
}
|
|
16401
|
+
var ExtractionSnapshotSharingRegistry = class {
|
|
16402
|
+
buckets = /* @__PURE__ */ new Map();
|
|
16403
|
+
/**
|
|
16404
|
+
* Admit one automatic snapshot for `bufferKey`: chain it onto the newest
|
|
16405
|
+
* queued same-scope snapshot when that is a verified prefix-extension,
|
|
16406
|
+
* otherwise start a fresh chain. The caller's array is never mutated.
|
|
16407
|
+
*/
|
|
16408
|
+
admit(bufferKey, turns) {
|
|
16409
|
+
const scopeClass = turns.length > 0 ? scopeClassKey(turns[0]) : "";
|
|
16410
|
+
const bucketKey = `${bufferKey}\0${scopeClass}`;
|
|
16411
|
+
const list = this.buckets.get(bucketKey);
|
|
16412
|
+
const base = list !== void 0 && list.length > 0 ? list[list.length - 1] : void 0;
|
|
16413
|
+
if (base && base.total === turns.length && chainPrefixEquivalent(base, turns)) {
|
|
16414
|
+
base.holders += 1;
|
|
16415
|
+
return base;
|
|
16416
|
+
}
|
|
16417
|
+
const node = base && base.total <= turns.length && chainPrefixEquivalent(base, turns) ? {
|
|
16418
|
+
key: bufferKey,
|
|
16419
|
+
scopeClass,
|
|
16420
|
+
base,
|
|
16421
|
+
baseLength: base.total,
|
|
16422
|
+
tail: turns.slice(base.total),
|
|
16423
|
+
total: turns.length,
|
|
16424
|
+
holders: 1
|
|
16425
|
+
} : {
|
|
16426
|
+
key: bufferKey,
|
|
16427
|
+
scopeClass,
|
|
16428
|
+
base: void 0,
|
|
16429
|
+
baseLength: 0,
|
|
16430
|
+
tail: [...turns],
|
|
16431
|
+
total: turns.length,
|
|
16432
|
+
holders: 1
|
|
16433
|
+
};
|
|
16434
|
+
if (list) list.push(node);
|
|
16435
|
+
else this.buckets.set(bucketKey, [node]);
|
|
16436
|
+
return node;
|
|
16437
|
+
}
|
|
16438
|
+
/** Release one holder of a node when its task exits (or on enqueue
|
|
16439
|
+
* refusal). CONTRACT: called EXACTLY ONCE per admit, by the task that
|
|
16440
|
+
* admitted it — the registry has no task identity, so a second call by the
|
|
16441
|
+
* same task would steal another holder's count. The only production caller
|
|
16442
|
+
* (queueBufferedExtraction) enforces this structurally: the closure-finally
|
|
16443
|
+
* and the enqueue-refusal branch are mutually exclusive. Defensively, a
|
|
16444
|
+
* release past zero is a no-op. */
|
|
16445
|
+
release(node) {
|
|
16446
|
+
if (node.holders <= 0) return;
|
|
16447
|
+
node.holders -= 1;
|
|
16448
|
+
if (node.holders > 0) return;
|
|
16449
|
+
const list = this.buckets.get(`${node.key}\0${node.scopeClass}`);
|
|
16450
|
+
if (!list) return;
|
|
16451
|
+
const index = list.indexOf(node);
|
|
16452
|
+
if (index >= 0) list.splice(index, 1);
|
|
16453
|
+
if (list.length === 0) this.buckets.delete(`${node.key}\0${node.scopeClass}`);
|
|
16454
|
+
}
|
|
16455
|
+
/** Proof seam: what the queue retains right now. */
|
|
16456
|
+
stats() {
|
|
16457
|
+
const visited = /* @__PURE__ */ new Set();
|
|
16458
|
+
let queuedNodes = 0;
|
|
16459
|
+
let queuedTailRefs = 0;
|
|
16460
|
+
let queuedReachableDepth = 0;
|
|
16461
|
+
let queuedHolders = 0;
|
|
16462
|
+
let unsharedEquivalentRefs = 0;
|
|
16463
|
+
let queuedTotalRefs = 0;
|
|
16464
|
+
for (const list of this.buckets.values()) {
|
|
16465
|
+
for (const node of list) {
|
|
16466
|
+
queuedNodes += 1;
|
|
16467
|
+
unsharedEquivalentRefs += node.total * node.holders;
|
|
16468
|
+
queuedTotalRefs += node.total;
|
|
16469
|
+
let depth = 0;
|
|
16470
|
+
for (let walk = node; walk; walk = walk.base) {
|
|
16471
|
+
depth += 1;
|
|
16472
|
+
if (visited.has(walk)) continue;
|
|
16473
|
+
visited.add(walk);
|
|
16474
|
+
queuedTailRefs += walk.tail.length;
|
|
16475
|
+
queuedHolders += walk.holders;
|
|
16476
|
+
}
|
|
16477
|
+
if (depth > queuedReachableDepth) queuedReachableDepth = depth;
|
|
16478
|
+
}
|
|
16479
|
+
}
|
|
16480
|
+
return { queuedNodes, queuedTotalRefs, queuedTailRefs, queuedReachableDepth, queuedHolders, unsharedEquivalentRefs };
|
|
16481
|
+
}
|
|
16482
|
+
};
|
|
16483
|
+
|
|
16372
16484
|
// src/orchestration/turn-ingestion.ts
|
|
16373
16485
|
var ReplayAdmissionRefusedError = class extends Error {
|
|
16374
16486
|
constructor(message) {
|
|
@@ -16382,13 +16494,15 @@ function isFlushPlanRecoveryTurn(turn) {
|
|
|
16382
16494
|
return typeof provenance?.sourceId === "string" && /:flush-plan(:\d+\/\d+)?$/.test(provenance.sourceId);
|
|
16383
16495
|
}
|
|
16384
16496
|
var TurnIngestionCoordinator = class {
|
|
16385
|
-
// chunked trigger-drain (extraction-drain.ts)
|
|
16386
16497
|
constructor(deps) {
|
|
16387
16498
|
this.deps = deps;
|
|
16388
16499
|
this.drain = new ExtractionDrain(deps);
|
|
16389
16500
|
}
|
|
16390
16501
|
deps;
|
|
16391
16502
|
drain;
|
|
16503
|
+
// chunked trigger-drain (extraction-drain.ts)
|
|
16504
|
+
/** Queued automatic-snapshot chains: bounded-queue retention via structural sharing. */
|
|
16505
|
+
snapshotSharing = new ExtractionSnapshotSharingRegistry();
|
|
16392
16506
|
async processTurn(role, content, sessionKey, options = {}) {
|
|
16393
16507
|
if (role !== "user" && role !== "assistant") {
|
|
16394
16508
|
log.debug(`processTurn: ignoring unsupported role=${String(role)}`);
|
|
@@ -16870,6 +16984,8 @@ var TurnIngestionCoordinator = class {
|
|
|
16870
16984
|
}
|
|
16871
16985
|
if (settled) return;
|
|
16872
16986
|
const preemptable = options.preemptable === true && options.preemptRunning !== true;
|
|
16987
|
+
const sharingNode = automaticSnapshotSharingEligible(options) && turnsToExtract.length > 0 ? this.snapshotSharing.admit(bufferKey, turnsToExtract) : void 0;
|
|
16988
|
+
const queuedTurnsSource = sharingNode ? { chain: sharingNode } : { direct: turnsToExtract };
|
|
16873
16989
|
const accepted = this.deps.extractionQueueCoordinator.enqueue(async (preemptHandle) => {
|
|
16874
16990
|
try {
|
|
16875
16991
|
await this.deps.extractionQueueCoordinator.runPreemptable(preemptHandle, preemptable, options.abortSignal, async (abortSignal) => {
|
|
@@ -16881,7 +16997,7 @@ var TurnIngestionCoordinator = class {
|
|
|
16881
16997
|
clearQueueWaitTimer();
|
|
16882
16998
|
if (options.execution === void 0 && skipClaimedSession(this.deps.buffer, bufferKey, (result) => settleTask(void 0, result))) return;
|
|
16883
16999
|
try {
|
|
16884
|
-
let effectiveTurns =
|
|
17000
|
+
let effectiveTurns = "chain" in queuedTurnsSource ? materializeChain(queuedTurnsSource.chain) : queuedTurnsSource.direct;
|
|
16885
17001
|
let effectiveScopePlan = options.scopeProfileWritePlan;
|
|
16886
17002
|
const executionBuffer = options.execution?.buffer;
|
|
16887
17003
|
if (effectiveTurns.some((turn) => turn.acceptedCapture === true)) {
|
|
@@ -16998,10 +17114,12 @@ var TurnIngestionCoordinator = class {
|
|
|
16998
17114
|
}
|
|
16999
17115
|
});
|
|
17000
17116
|
} finally {
|
|
17117
|
+
if (sharingNode) this.snapshotSharing.release(sharingNode);
|
|
17001
17118
|
options.onTaskExit?.();
|
|
17002
17119
|
}
|
|
17003
17120
|
}, { front: options.preemptRunning === true, key: bufferKey });
|
|
17004
17121
|
if (!accepted) {
|
|
17122
|
+
if (sharingNode) this.snapshotSharing.release(sharingNode);
|
|
17005
17123
|
settleTask(new Error("extraction queue is stopped"));
|
|
17006
17124
|
options.onTaskExit?.();
|
|
17007
17125
|
return;
|
|
@@ -32100,4 +32218,4 @@ export {
|
|
|
32100
32218
|
qmdStartupCollectionChecksWithTimeout,
|
|
32101
32219
|
Orchestrator
|
|
32102
32220
|
};
|
|
32103
|
-
//# sourceMappingURL=chunk-
|
|
32221
|
+
//# sourceMappingURL=chunk-I4W2ADBP.js.map
|