@dsh-enhanced/assistant-delivery 0.1.65 → 0.1.67
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/README.md +128 -4
- package/lib/agent-runtime.d.ts +6 -2
- package/lib/agent-runtime.d.ts.map +1 -1
- package/lib/agent-runtime.js +60 -14
- package/lib/agent-runtime.js.map +1 -1
- package/lib/attention-audit-store.d.ts +54 -0
- package/lib/attention-audit-store.d.ts.map +1 -0
- package/lib/attention-audit-store.js +213 -0
- package/lib/attention-audit-store.js.map +1 -0
- package/lib/attention-enforcement.d.ts +75 -0
- package/lib/attention-enforcement.d.ts.map +1 -0
- package/lib/attention-enforcement.js +84 -0
- package/lib/attention-enforcement.js.map +1 -0
- package/lib/attention.d.ts +203 -0
- package/lib/attention.d.ts.map +1 -0
- package/lib/attention.js +288 -0
- package/lib/attention.js.map +1 -0
- package/lib/coordinator.d.ts.map +1 -1
- package/lib/coordinator.js +6 -0
- package/lib/coordinator.js.map +1 -1
- package/lib/feedback-command.d.ts +23 -0
- package/lib/feedback-command.d.ts.map +1 -1
- package/lib/feedback-command.js +176 -0
- package/lib/feedback-command.js.map +1 -1
- package/lib/foreground-observation.d.ts +21 -0
- package/lib/foreground-observation.d.ts.map +1 -1
- package/lib/foreground-observation.js.map +1 -1
- package/lib/foreground-termination.d.ts +31 -0
- package/lib/foreground-termination.d.ts.map +1 -0
- package/lib/foreground-termination.js +42 -0
- package/lib/foreground-termination.js.map +1 -0
- package/lib/in-process-reload-runtime.d.ts +87 -0
- package/lib/in-process-reload-runtime.d.ts.map +1 -0
- package/lib/in-process-reload-runtime.js +319 -0
- package/lib/in-process-reload-runtime.js.map +1 -0
- package/lib/index.d.ts +20 -6
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +9 -3
- package/lib/index.js.map +1 -1
- package/lib/native-termination.d.ts +12 -0
- package/lib/native-termination.d.ts.map +1 -0
- package/lib/native-termination.js +57 -0
- package/lib/native-termination.js.map +1 -0
- package/lib/native-web-owner.d.ts +7 -0
- package/lib/native-web-owner.d.ts.map +1 -1
- package/lib/native-web-owner.js +40 -10
- package/lib/native-web-owner.js.map +1 -1
- package/lib/operator-snapshot.d.ts +31 -3
- package/lib/operator-snapshot.d.ts.map +1 -1
- package/lib/operator-snapshot.js +120 -47
- package/lib/operator-snapshot.js.map +1 -1
- package/lib/progress-attention.d.ts +55 -0
- package/lib/progress-attention.d.ts.map +1 -0
- package/lib/progress-attention.js +128 -0
- package/lib/progress-attention.js.map +1 -0
- package/lib/service.d.ts +515 -4
- package/lib/service.d.ts.map +1 -1
- package/lib/service.js +2183 -130
- package/lib/service.js.map +1 -1
- package/lib/sqlite.d.ts +1 -1
- package/lib/sqlite.d.ts.map +1 -1
- package/lib/sqlite.js +102 -2
- package/lib/sqlite.js.map +1 -1
- package/lib/store.d.ts +113 -2
- package/lib/store.d.ts.map +1 -1
- package/lib/store.js +450 -39
- package/lib/store.js.map +1 -1
- package/lib/types.d.ts +175 -0
- package/lib/types.d.ts.map +1 -1
- package/lib/types.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/work-item-engineering-context.d.ts +127 -0
- package/lib/work-item-engineering-context.d.ts.map +1 -0
- package/lib/work-item-engineering-context.js +151 -0
- package/lib/work-item-engineering-context.js.map +1 -0
- package/lib/work-item-feedback-schema.d.ts +2 -0
- package/lib/work-item-feedback-schema.d.ts.map +1 -0
- package/lib/work-item-feedback-schema.js +29 -0
- package/lib/work-item-feedback-schema.js.map +1 -0
- package/lib/work-item-feedback-store.d.ts +29 -0
- package/lib/work-item-feedback-store.d.ts.map +1 -0
- package/lib/work-item-feedback-store.js +111 -0
- package/lib/work-item-feedback-store.js.map +1 -0
- package/lib/work-item-feedback.d.ts +157 -0
- package/lib/work-item-feedback.d.ts.map +1 -0
- package/lib/work-item-feedback.js +2 -0
- package/lib/work-item-feedback.js.map +1 -0
- package/lib/work-item-replies-schema.d.ts +3 -0
- package/lib/work-item-replies-schema.d.ts.map +1 -0
- package/lib/work-item-replies-schema.js +45 -0
- package/lib/work-item-replies-schema.js.map +1 -0
- package/lib/work-item-replies-store.d.ts +43 -0
- package/lib/work-item-replies-store.d.ts.map +1 -0
- package/lib/work-item-replies-store.js +203 -0
- package/lib/work-item-replies-store.js.map +1 -0
- package/lib/work-item-replies.d.ts +93 -0
- package/lib/work-item-replies.d.ts.map +1 -0
- package/lib/work-item-replies.js +15 -0
- package/lib/work-item-replies.js.map +1 -0
- package/package.json +24 -24
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-web-owner.d.ts","sourceRoot":"","sources":["../src/native-web-owner.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AACxG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AAC5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"native-web-owner.d.ts","sourceRoot":"","sources":["../src/native-web-owner.ts"],"names":[],"mappings":"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"}
|
package/lib/native-web-owner.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { createHash, randomUUID } from 'node:crypto';
|
|
2
2
|
import { isAbsolute } from 'node:path';
|
|
3
|
+
import { observeNativeTermination } from './native-termination.js';
|
|
3
4
|
import { externalPrincipalId, canonicalPrincipal } from './canonical.js';
|
|
4
5
|
import { DeliverySessionLeases, SessionLeaseUnavailable } from './session-lease-runtime.js';
|
|
5
6
|
/** Fixed single-owner Host capability. No RPC payload may choose its principal or scope. */
|
|
@@ -41,8 +42,10 @@ export class NativeWebOwner {
|
|
|
41
42
|
if (entry.closing !== undefined)
|
|
42
43
|
continue;
|
|
43
44
|
try {
|
|
44
|
-
if (Date.now() >= entry.deadlineAt)
|
|
45
|
+
if (entry.deadlineSignal.aborted || Date.now() >= entry.deadlineAt) {
|
|
46
|
+
entry.terminationCause = 'execution-timeout';
|
|
45
47
|
throw new SessionLeaseUnavailable('denied');
|
|
48
|
+
}
|
|
46
49
|
this.assertSession(id);
|
|
47
50
|
entry.lease.assertAgent(entry.handle.agent);
|
|
48
51
|
if (entry.input !== undefined && !store.renewInboxClaim({ inboxId: entry.input.inboxId,
|
|
@@ -54,6 +57,7 @@ export class NativeWebOwner {
|
|
|
54
57
|
void this.#close(id, entry);
|
|
55
58
|
}
|
|
56
59
|
catch {
|
|
60
|
+
entry.terminationCause ??= 'lease-or-authority-lost';
|
|
57
61
|
entry.lease.cancel();
|
|
58
62
|
void this.#close(id, entry);
|
|
59
63
|
}
|
|
@@ -119,8 +123,10 @@ export class NativeWebOwner {
|
|
|
119
123
|
}
|
|
120
124
|
const conversation = { channel: 'web', account: this.#config.principal.account,
|
|
121
125
|
tenant: this.#config.principal.tenant, kind: 'dm', chat: sessionId };
|
|
126
|
+
const deadlineAt = Date.now() + this.#config.maxExecutionMs;
|
|
127
|
+
const deadlineSignal = AbortSignal.timeout(this.#config.maxExecutionMs);
|
|
122
128
|
const lease = this.leases.open({ kind: 'construction', sessionId, conversation,
|
|
123
|
-
principal: this.#config.principal, workspace: this.#config.workspace, agentPreset: this.#config.preset, generation: 1 }, AbortSignal.any([this.#controller.signal,
|
|
129
|
+
principal: this.#config.principal, workspace: this.#config.workspace, agentPreset: this.#config.preset, generation: 1 }, AbortSignal.any([this.#controller.signal, deadlineSignal]));
|
|
124
130
|
let handle;
|
|
125
131
|
try {
|
|
126
132
|
lease.dispatch();
|
|
@@ -130,7 +136,7 @@ export class NativeWebOwner {
|
|
|
130
136
|
this.#assertOwner();
|
|
131
137
|
this.store.createBinding({ conversation, principal: this.#config.principal, workspace: this.#config.workspace,
|
|
132
138
|
agentPreset: this.#config.preset, sessionId, policyRef: this.port.policyRef, expectedGeneration: 1, constructionLease: lease.token });
|
|
133
|
-
return this.#track(sessionId, lease, handle);
|
|
139
|
+
return this.#track(sessionId, lease, handle, deadlineAt, deadlineSignal);
|
|
134
140
|
}
|
|
135
141
|
catch (error) {
|
|
136
142
|
lease.cancel();
|
|
@@ -142,13 +148,15 @@ export class NativeWebOwner {
|
|
|
142
148
|
}
|
|
143
149
|
async resume(options) {
|
|
144
150
|
const binding = this.#binding(String(options.resumeSessionId));
|
|
145
|
-
const
|
|
151
|
+
const deadlineAt = Date.now() + this.#config.maxExecutionMs;
|
|
152
|
+
const deadlineSignal = AbortSignal.timeout(this.#config.maxExecutionMs);
|
|
153
|
+
const lease = this.leases.open({ kind: 'bound', binding }, AbortSignal.any([this.#controller.signal, deadlineSignal]));
|
|
146
154
|
let handle;
|
|
147
155
|
try {
|
|
148
156
|
lease.dispatch();
|
|
149
157
|
handle = await this.leases.resume(this.ownerCtx, { ...options, setup: this.#setup(options.setup) });
|
|
150
158
|
this.#binding(binding.sessionId);
|
|
151
|
-
return this.#track(binding.sessionId, lease, handle);
|
|
159
|
+
return this.#track(binding.sessionId, lease, handle, deadlineAt, deadlineSignal);
|
|
152
160
|
}
|
|
153
161
|
catch (error) {
|
|
154
162
|
lease.cancel();
|
|
@@ -170,9 +178,18 @@ export class NativeWebOwner {
|
|
|
170
178
|
return { commit: () => { this.#assertOwner(); prepared?.commit?.(); this.#assertOwner(); } };
|
|
171
179
|
};
|
|
172
180
|
}
|
|
173
|
-
#track(id, lease, handle) {
|
|
174
|
-
const entry = { lease, handle, deadlineAt
|
|
181
|
+
#track(id, lease, handle, deadlineAt, deadlineSignal) {
|
|
182
|
+
const entry = { lease, handle, deadlineAt, deadlineSignal };
|
|
175
183
|
this.#entries.set(id, entry);
|
|
184
|
+
// The native header is emitted after adapter defaults resolve the actual
|
|
185
|
+
// paid route. Never substitute the current UI/preset selection for it.
|
|
186
|
+
entry.removeModelObservation = this.ownerCtx.on('session/event', (session, event) => {
|
|
187
|
+
if (session !== handle.agent.session || event.type !== 'request/header')
|
|
188
|
+
return;
|
|
189
|
+
const inboxId = entry.input?.executionInboxId;
|
|
190
|
+
if (inboxId !== undefined)
|
|
191
|
+
this.port.recordExecutionModelSelection(inboxId, event.data.header.config);
|
|
192
|
+
});
|
|
176
193
|
return { agent: handle.agent, dispose: () => this.#close(id, entry) };
|
|
177
194
|
}
|
|
178
195
|
async prompt(input, invoke, signal) {
|
|
@@ -229,6 +246,7 @@ export class NativeWebOwner {
|
|
|
229
246
|
}
|
|
230
247
|
catch (error) {
|
|
231
248
|
if (entry.input !== undefined) {
|
|
249
|
+
entry.terminationCause ??= entry.deadlineSignal.aborted ? 'execution-timeout' : 'runtime-error';
|
|
232
250
|
entry.lease.cancel();
|
|
233
251
|
await this.#close(input.sessionId, entry);
|
|
234
252
|
}
|
|
@@ -245,9 +263,13 @@ export class NativeWebOwner {
|
|
|
245
263
|
// A Store or sink outage retains its fenced claim for recovery, never replay.
|
|
246
264
|
entry.lease.cancel();
|
|
247
265
|
entry.lease.close();
|
|
248
|
-
});
|
|
266
|
+
}).finally(() => entry.removeModelObservation?.());
|
|
249
267
|
}
|
|
250
268
|
async #drain(id, entry) {
|
|
269
|
+
// Reuse the exact deadline that fenced construction; slow create/flush
|
|
270
|
+
// must not turn its earlier timeout into an apparent lease revocation.
|
|
271
|
+
if (entry.deadlineSignal.aborted)
|
|
272
|
+
entry.terminationCause ??= 'execution-timeout';
|
|
251
273
|
if (entry.input?.turn !== undefined) {
|
|
252
274
|
const terminal = entry.handle.agent.session.snapshotEvents().findLast(event => event.type === 'turn/end' && event.data.turn === entry.input.turn);
|
|
253
275
|
if (terminal?.type === 'turn/end')
|
|
@@ -265,8 +287,13 @@ export class NativeWebOwner {
|
|
|
265
287
|
entry.input?.permit.dispose();
|
|
266
288
|
if (entry.input !== undefined) {
|
|
267
289
|
const status = !quiescent ? 'unknown' : succeeded ? 'succeeded' : entry.input.completed === false ? 'failed' : 'cancelled';
|
|
290
|
+
const terminal = entry.input.turn === undefined ? undefined : entry.handle.agent.session.snapshotEvents().findLast(event => event.type === 'turn/end' && event.data.turn === entry.input.turn);
|
|
268
291
|
if (entry.input.executionInboxId !== undefined)
|
|
269
|
-
this.port.completeExecution(entry.input.executionInboxId, { status, quiescent
|
|
292
|
+
this.port.completeExecution(entry.input.executionInboxId, { status, quiescent,
|
|
293
|
+
termination: observeNativeTermination({ producer: 'native-web',
|
|
294
|
+
reason: terminal?.type === 'turn/end' ? terminal.data.reason : undefined,
|
|
295
|
+
cause: entry.terminationCause, handleDisposed: quiescent, completed: status === 'succeeded' }),
|
|
296
|
+
});
|
|
270
297
|
if (entry.input.acceptance !== undefined)
|
|
271
298
|
await this.port.complete(entry.input.acceptance, { status, quiescent });
|
|
272
299
|
this.store.finishInbox({ inboxId: entry.input.inboxId, ownerId: this.#ownerId, fencingToken: entry.input.fencingToken,
|
|
@@ -286,7 +313,10 @@ export class NativeWebOwner {
|
|
|
286
313
|
clearInterval(this.#timer);
|
|
287
314
|
this.#controller.abort();
|
|
288
315
|
try {
|
|
289
|
-
await Promise.all([...this.#entries].map(([id, entry]) =>
|
|
316
|
+
await Promise.all([...this.#entries].map(([id, entry]) => {
|
|
317
|
+
entry.terminationCause ??= 'host-disposed';
|
|
318
|
+
return this.#close(id, entry);
|
|
319
|
+
}));
|
|
290
320
|
}
|
|
291
321
|
finally {
|
|
292
322
|
this.port.released();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-web-owner.js","sourceRoot":"","sources":["../src/native-web-owner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAKtC,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAExE,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAyD,MAAM,4BAA4B,CAAA;AAsDlJ,4FAA4F;AAC5F,MAAM,OAAO,cAAc;IASI;IACV;IAAuC;IACvC;IAAiD;IAV3D,OAAO,CAAgC;IACvC,QAAQ,CAAsB;IAC9B,WAAW,GAAG,IAAI,eAAe,EAAE,CAAA;IACnC,QAAQ,GAAG,IAAI,GAAG,EAAqB,CAAA;IACvC,QAAQ,GAAG,cAAc,UAAU,EAAE,EAAE,CAAA;IACvC,MAAM,CAAgC;IAC/C,SAAS,GAAG,KAAK,CAAA;IACjB,UAAU,CAA2B;IACrC,YAA6B,QAAiB,EAC3B,KAAoB,EAAmB,MAA6B,EACpE,MAA8B,EAAmB,IAAe,EAAE,MAA4B;QAFpF,aAAQ,GAAR,QAAQ,CAAS;QAC3B,UAAK,GAAL,KAAK,CAAe;QAAmB,WAAM,GAAN,MAAM,CAAuB;QACpE,WAAM,GAAN,MAAM,CAAwB;QAAmB,SAAI,GAAJ,IAAI,CAAW;QACjF,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QACtD,IAAI,SAAS,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;eACpF,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,OAAO,EAAE,CAAC;YACvJ,MAAM,IAAI,KAAK,CAAC,oFAAoF,CAAC,CAAA;QACvG,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,OAAO,EAAE,CAAC,CAAA;QAC3K,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;QAC3C,IAAI,KAAK,EAAE,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACzD,MAAM,IAAI,KAAK,CAAC,gFAAgF,CAAC,CAAA;QACnG,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,EAAE,gBAAgB,EAAE,KAAK,CAAC,OAAO,EAAE,CAAA;QAChF,2EAA2E;QAC3E,6EAA6E;QAC7E,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE;YAC7B,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACxC,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;oBAAE,SAAQ;gBACzC,IAAI,CAAC;oBACH,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC,UAAU;wBAAE,MAAM,IAAI,uBAAuB,CAAC,QAAQ,CAAC,CAAA;oBAC/E,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;oBACtB,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;oBAC3C,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO;wBACpF,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;wBAC3F,MAAM,IAAI,uBAAuB,CAAC,QAAQ,CAAC,CAAA;oBAC7C,CAAC;oBACD,IAAI,KAAK,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;2BACzK,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;wBAAE,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;gBACjF,CAAC;gBAAC,MAAM,CAAC;oBAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;oBAAC,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;gBAAC,CAAC;YAC/D,CAAC;QACH,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC5D,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAA;QACrB,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,qCAAqC,CAAC,CAAA;IACpF,CAAC;IACD,YAAY;QACV,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAA;QACxB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,cAAc,EAAE,CAAA;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QAC7D,IAAI,KAAK,EAAE,EAAE,KAAK,IAAI,CAAC,QAAQ,CAAC,iBAAiB,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,QAAQ,CAAC,gBAAgB;eAChG,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;YAAE,MAAM,IAAI,uBAAuB,CAAC,QAAQ,CAAC,CAAA;IACvG,CAAC;IACD,QAAQ,CAAC,SAAiB;QACxB,IAAI,CAAC,YAAY,EAAE,CAAA;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAA;QACzD,IAAI,OAAO,EAAE,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI,CAAC,OAAO,CAAC,SAAS;eAC3E,OAAO,CAAC,WAAW,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM;eAC3C,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5F,MAAM,IAAI,uBAAuB,CAAC,QAAQ,CAAC,CAAA;QAC7C,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IACD,4FAA4F;IAC5F,mBAAmB,CAAC,KAAY;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAgB,CAA4C,CAAA;QAC5F,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,CAAA;QACrC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAC7B,OAAO,IAAI,EAAE,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,KAAK,OAAO;eACxD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAyB,CAA0D;gBACvG,EAAE,6BAA6B,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,CAAA;IACvD,CAAC;IACD,aAAa,CAAC,SAAiB,IAAU,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA,CAAC,CAAC;IACnE,WAAW,CAAC,SAAiB,IAAa,IAAI,CAAC;QAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAAC,OAAO,IAAI,CAAA;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,KAAK,CAAA;IAAC,CAAC,CAAC,CAAC;IACrH,aAAa,CAAC,SAAiB,IAAoE,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAA,CAAC,CAAC;IAC7J,GAAG,CAAC,SAAiB;QACnB,IAAI,CAAC,YAAY,EAAE,CAAA;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAC1C,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAA;QACzC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;QAC7B,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;YAAE,MAAM,IAAI,uBAAuB,CAAC,MAAM,CAAC,CAAA;QAC1E,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC3C,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAA;IAC3B,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,OAA2B;QACtC,IAAI,CAAC,YAAY,EAAE,CAAA;QACnB,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QAC3C,IAAI,OAAO,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM;eAChG,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE,CAAC;YAC1F,MAAM,IAAI,uBAAuB,CAAC,QAAQ,CAAC,CAAA;QAC7C,CAAC;QACD,MAAM,YAAY,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO;YAC5E,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,IAAa,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;QAC/E,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY;YAC5E,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,EACzH,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,cAAe,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9F,IAAI,MAA+B,CAAA;QACnC,IAAI,CAAC;YACH,KAAK,CAAC,QAAQ,EAAE,CAAA;YAChB,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YACnG,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;YACjI,IAAI,CAAC,YAAY,EAAE,CAAA;YACnB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;gBACzG,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,EAAE,CAAC,EAAE,iBAAiB,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAA;YACzI,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;QAC9C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,KAAK,CAAC,MAAM,EAAE,CAAC;YAAC,KAAK,CAAC,KAAK,EAAE,CAAA;YAC7B,IAAI,MAAM,KAAK,SAAS;gBAAE,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;YAC/D,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,OAA2B;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAA;QAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,cAAe,CAAC,CAAC,CAAC,CAAC,CAAA;QACzJ,IAAI,MAA+B,CAAA;QACnC,IAAI,CAAC;YACH,KAAK,CAAC,QAAQ,EAAE,CAAA;YAChB,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YACnG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;YAChC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;QACtD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,KAAK,CAAC,MAAM,EAAE,CAAC;YAAC,KAAK,CAAC,KAAK,EAAE,CAAA;YAC7B,IAAI,MAAM,KAAK,SAAS;gBAAE,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;YAC/D,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IACD,MAAM,CAAC,QAAqC;QAC1C,OAAO,KAAK,EAAE,GAAG,EAAE,aAAqB,EAAE,EAAE;YAC1C,IAAI,CAAC,YAAY,EAAE,CAAA;YACnB,MAAM,KAAK,GAAG,aAAa,CAAA;YAC3B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,SAAS;mBACzE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM;gBAAE,MAAM,IAAI,uBAAuB,CAAC,QAAQ,CAAC,CAAA;YAC1G,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;YAC3G,MAAM,QAAQ,GAAG,MAAO,QAA6C,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;YACnF,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAA,CAAC,CAAC,EAAE,CAAA;QAC7F,CAAC,CAAA;IACH,CAAC;IACD,MAAM,CAAC,EAAU,EAAE,KAA4B,EAAE,MAAmB;QAClE,MAAM,KAAK,GAAc,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,cAAe,EAAE,CAAA;QACjG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;QAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAA;IACvE,CAAC;IACD,KAAK,CAAC,MAAM,CAAI,KAA0F,EACxG,MAAwB,EAAE,MAAmB;QAC7C,MAAM,CAAC,cAAc,EAAE,CAAA;QACvB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;eAC3F,IAA2B,CAAC,IAAI,KAAK,MAAM,IAAI,OAAQ,IAA2B,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;YAC5G,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAA;QAC3F,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAE,IAAyB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAA;QAC3K,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QAChD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;eAC9E,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;YAAE,MAAM,IAAI,uBAAuB,CAAC,MAAM,CAAC,CAAA;QACtL,MAAM,QAAQ,GAAoB,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO;YACzF,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS;YAC9E,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI;YAClE,QAAQ,EAAE,EAAE,uBAAuB,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAA;QACnH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;QACpJ,IAAI,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,YAAY,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAA;QACxJ,MAAM,KAAK,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAA;QAC1G,IAAI,UAAwC,CAAA;QAC5C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAChH,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,eAAe,QAAQ,CAAC,OAAO,EAAE,EAAE;gBACtF,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,mBAAmB,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;YAC/F,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO;gBAAE,MAAM,IAAI,uBAAuB,CAAC,QAAQ,CAAC,CAAA;YAC5E,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;YACjD,IAAI,CAAC,YAAY,EAAE,CAAA;YACnB,MAAM,CAAC,cAAc,EAAE,CAAA;YACvB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO;gBAClH,SAAS,EAAE,IAAI,CAAC,EAAE;oBAChB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;oBAC9B,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;wBAAE,MAAM,IAAI,uBAAuB,CAAC,QAAQ,CAAC,CAAA;oBAC1E,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAA;oBACvB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;gBACvD,CAAC,EAAE,CAAC,CAAA;YACN,KAAK,CAAC,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAA;YAClH,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;YACpE,IAAI,gBAAgB,KAAK,SAAS;gBAAE,KAAK,CAAC,KAAK,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;YACnF,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;YACtD,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAA;YACpB,MAAM,MAAM,GAAG,MAAM,MAAM,EAAE,CAAA;YAC7B,KAAK,CAAC,KAAM,CAAC,SAAS,GAAG,KAAK,CAAA;YAC9B,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAA;YACtH,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YAC3C,OAAO,MAAM,CAAA;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;YAAC,CAAC;iBAC7F,CAAC;gBACJ,IAAI,UAAU,KAAK,SAAS;oBAAE,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;gBACzG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,uBAAuB,EAAE,CAAC,CAAA;YACpG,CAAC;YACD,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IACD,MAAM,CAAC,EAAU,EAAE,KAAgB;QACjC,OAAO,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACzD,8EAA8E;YAC9E,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;QAC3C,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,KAAgB;QACvC,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAC5E,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,KAAM,CAAC,IAAI,CAAC,CAAA;YACrE,IAAI,QAAQ,EAAE,IAAI,KAAK,UAAU;gBAAE,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,CAAA;QACtG,CAAC;QACD,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAA;QAChF,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAA;QACpB,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;QACnB,IAAI,OAAkD,CAAA;QACtD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;YACnC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;YACpD,IAAI,OAAO,CAAU,OAAO,CAAC,EAAE,GAAG,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAA,CAAC,CAAC,CAAC;SACvF,CAAC,CAAA;QACF,YAAY,CAAC,OAAO,CAAC,CAAA;QACrB,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,CAAA;QAC7B,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAA;YAC1H,IAAI,KAAK,CAAC,KAAK,CAAC,gBAAgB,KAAK,SAAS;gBAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAA;YAChI,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS;gBAAE,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAA;YACjH,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY;gBACnH,OAAO,EAAE,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa;gBAC7D,GAAG,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,qBAAqB,EAAE,CAAC,EAAE,CAAC,CAAA;QACpH,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,KAAK;YAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAC/D,CAAC;IACD,KAAK,CAAC,OAAO;QACX,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;IACpD,CAAC;IACD,KAAK,CAAC,QAAQ;QACZ,IAAI,IAAI,CAAC,SAAS;YAAE,OAAM;QAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QACrB,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC1B,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAA;QACxB,IAAI,CAAC;YAAC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;QAAC,CAAC;gBAClF,CAAC;YAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAA;QAAC,CAAC;IAClC,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"native-web-owner.js","sourceRoot":"","sources":["../src/native-web-owner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ConversationBinding, DeliveryPrincipal, ExternalPrincipalKey } from './types.js';
|
|
1
|
+
import type { ConversationBinding, DeliveryPrincipal, ExternalPrincipalKey, OwnerRouteAuthority, OwnerRouteStateInspection } from './types.js';
|
|
2
2
|
export interface ActiveWebOwnerBindingQuery {
|
|
3
3
|
databasePath: string;
|
|
4
4
|
sessionId: string;
|
|
@@ -51,7 +51,7 @@ export interface ActiveLarkOwnerBinding extends Readonly<ConversationBinding> {
|
|
|
51
51
|
}
|
|
52
52
|
export interface ActiveLarkOwnerBindingsSnapshot {
|
|
53
53
|
readonly protocol: typeof activeLarkOwnerBindingsSnapshotProtocol;
|
|
54
|
-
readonly schemaVersion: 23 | 24 | 25 | 26 | 27;
|
|
54
|
+
readonly schemaVersion: 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31;
|
|
55
55
|
readonly scope: Readonly<Omit<ActiveLarkOwnerBindingsQuery, 'databasePath'>>;
|
|
56
56
|
readonly database: DeliveryOperatorFileIdentity;
|
|
57
57
|
readonly sidecars: Readonly<{
|
|
@@ -65,7 +65,29 @@ export interface ActiveLarkOwnerBindingsSnapshot {
|
|
|
65
65
|
/** Canonical SHA-256 consistency digest; this is not an authenticity attestation. */
|
|
66
66
|
readonly snapshotDigest: string;
|
|
67
67
|
}
|
|
68
|
-
export
|
|
68
|
+
export declare const revokedOwnerRouteSnapshotProtocol: "assistant-delivery/revoked-owner-route-snapshot/v1";
|
|
69
|
+
/** Frozen installer configuration and exact durable owner lineage; never model input. */
|
|
70
|
+
export interface RevokedOwnerRouteQuery {
|
|
71
|
+
databasePath: string;
|
|
72
|
+
authority: OwnerRouteAuthority;
|
|
73
|
+
principalRecordId: string;
|
|
74
|
+
frozenPrincipalVersion: number;
|
|
75
|
+
}
|
|
76
|
+
/** An observation of revocation, not authorization for writes or execution. */
|
|
77
|
+
export interface RevokedOwnerRouteSnapshot {
|
|
78
|
+
readonly protocol: typeof revokedOwnerRouteSnapshotProtocol;
|
|
79
|
+
readonly schemaVersion: ActiveLarkOwnerBindingsSnapshot['schemaVersion'];
|
|
80
|
+
readonly authority: Readonly<OwnerRouteAuthority>;
|
|
81
|
+
readonly frozenPrincipalVersion: number;
|
|
82
|
+
readonly state: Readonly<Extract<OwnerRouteStateInspection, {
|
|
83
|
+
status: 'revoked';
|
|
84
|
+
}>>;
|
|
85
|
+
readonly database: DeliveryOperatorFileIdentity;
|
|
86
|
+
readonly sidecars: ActiveLarkOwnerBindingsSnapshot['sidecars'];
|
|
87
|
+
readonly storageDigest: string;
|
|
88
|
+
readonly snapshotDigest: string;
|
|
89
|
+
}
|
|
90
|
+
export type ActiveLarkOwnerBindingsSnapshotErrorCode = 'invalid-path' | 'invalid-scope' | 'database-missing' | 'unsafe-path' | 'unsafe-parent' | 'database-busy' | 'schema-unsupported' | 'database-corrupt' | 'database-drift' | 'too-many-bindings' | 'owner-not-revoked';
|
|
69
91
|
export declare class ActiveLarkOwnerBindingsSnapshotError extends Error {
|
|
70
92
|
readonly code: ActiveLarkOwnerBindingsSnapshotErrorCode;
|
|
71
93
|
constructor(code: ActiveLarkOwnerBindingsSnapshotErrorCode, message: string);
|
|
@@ -76,4 +98,10 @@ export declare class ActiveLarkOwnerBindingsSnapshotError extends Error {
|
|
|
76
98
|
* is used when WAL state exists so SQLite cannot update the source WAL index.
|
|
77
99
|
*/
|
|
78
100
|
export declare function inspectActiveLarkOwnerBindingsLocally(input: ActiveLarkOwnerBindingsQuery): ActiveLarkOwnerBindingsSnapshot;
|
|
101
|
+
/**
|
|
102
|
+
* Observe the exact revoked durable owner using trusted frozen installer
|
|
103
|
+
* authority. No active binding is required, and no permission is granted.
|
|
104
|
+
* Uses the same pinned, source-preserving SQLite reader as the active inventory.
|
|
105
|
+
*/
|
|
106
|
+
export declare function inspectRevokedOwnerRouteLocally(input: RevokedOwnerRouteQuery): RevokedOwnerRouteSnapshot;
|
|
79
107
|
//# sourceMappingURL=operator-snapshot.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operator-snapshot.d.ts","sourceRoot":"","sources":["../src/operator-snapshot.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"operator-snapshot.d.ts","sourceRoot":"","sources":["../src/operator-snapshot.ts"],"names":[],"mappings":"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"}
|
package/lib/operator-snapshot.js
CHANGED
|
@@ -4,7 +4,7 @@ import { tmpdir } from 'node:os';
|
|
|
4
4
|
import { dirname, isAbsolute, join, basename, resolve } from 'node:path';
|
|
5
5
|
import { pathToFileURL } from 'node:url';
|
|
6
6
|
import { DatabaseSync } from 'node:sqlite';
|
|
7
|
-
import { canonicalConversation, canonicalPrincipal } from './canonical.js';
|
|
7
|
+
import { canonicalConversation, canonicalOwnerRouteAuthority, canonicalPrincipal, externalPrincipalId, ownerRouteAuthorityHash } from './canonical.js';
|
|
8
8
|
import { deliverySchemaVersion } from './sqlite.js';
|
|
9
9
|
function unavailable() { return Object.freeze({ status: 'unavailable' }); }
|
|
10
10
|
function mismatch() { return Object.freeze({ status: 'mismatch' }); }
|
|
@@ -179,6 +179,7 @@ export function listActiveIdleWebOwnerBindingsLocally(input) {
|
|
|
179
179
|
}
|
|
180
180
|
}
|
|
181
181
|
export const activeLarkOwnerBindingsSnapshotProtocol = 'assistant-delivery/active-lark-owner-bindings-snapshot/v1';
|
|
182
|
+
export const revokedOwnerRouteSnapshotProtocol = 'assistant-delivery/revoked-owner-route-snapshot/v1';
|
|
182
183
|
export class ActiveLarkOwnerBindingsSnapshotError extends Error {
|
|
183
184
|
code;
|
|
184
185
|
constructor(code, message) {
|
|
@@ -685,14 +686,9 @@ function operatorClassifySqlite(error) {
|
|
|
685
686
|
operatorFail('database-busy', 'database is busy');
|
|
686
687
|
operatorFail('database-corrupt', 'database cannot produce a valid snapshot');
|
|
687
688
|
}
|
|
688
|
-
/**
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
* is used when WAL state exists so SQLite cannot update the source WAL index.
|
|
692
|
-
*/
|
|
693
|
-
export function inspectActiveLarkOwnerBindingsLocally(input) {
|
|
694
|
-
const scope = operatorScope(input);
|
|
695
|
-
const path = operatorDatabasePath(input.databasePath);
|
|
689
|
+
/** Shared source-preserving reader: every operator proof uses the same storage fences. */
|
|
690
|
+
function operatorInspectDatabase(databasePath, inspect) {
|
|
691
|
+
const path = operatorDatabasePath(databasePath);
|
|
696
692
|
// Pin the private parent directory for the whole snapshot so an ancestor
|
|
697
693
|
// rename or a same-name directory swap cannot retarget the database path
|
|
698
694
|
// between the path checks and the read.
|
|
@@ -805,47 +801,20 @@ export function inspectActiveLarkOwnerBindingsLocally(input) {
|
|
|
805
801
|
const version = database.prepare('PRAGMA user_version').get().user_version;
|
|
806
802
|
// A staged upgrade reads owner identity before starting the new Host.
|
|
807
803
|
// v24 adds natural feedback, v25 foreground completion ordering, v26
|
|
808
|
-
// restart fences,
|
|
809
|
-
// are unchanged in these
|
|
810
|
-
if (version !== 23 && version !== 24 && version !== 25 && version !== 26 && version !== 27) {
|
|
811
|
-
operatorFail('schema-unsupported', 'expected schema 23, 24, 25, 26 or
|
|
804
|
+
// restart fences, v27 progress handles, v28 foreground termination, v29 WorkItems reply sidecars, v30 owner feedback and v31 attention audit.
|
|
805
|
+
// The owner tables read here are unchanged in these six reviewed schemas. Do not accept future versions.
|
|
806
|
+
if (version !== 23 && version !== 24 && version !== 25 && version !== 26 && version !== 27 && version !== 28 && version !== 29 && version !== 30 && version !== 31) {
|
|
807
|
+
operatorFail('schema-unsupported', 'expected schema 23, 24, 25, 26, 27, 28, 29, 30 or 31');
|
|
812
808
|
}
|
|
813
809
|
const quick = database.prepare('PRAGMA quick_check').all();
|
|
814
810
|
if (quick.length !== 1 || quick[0]?.quick_check !== 'ok')
|
|
815
811
|
operatorFail('database-corrupt', 'SQLite quick_check failed');
|
|
816
812
|
if (database.prepare('PRAGMA foreign_key_check').all().length !== 0)
|
|
817
813
|
operatorFail('database-corrupt', 'foreign-key integrity check failed');
|
|
818
|
-
const
|
|
819
|
-
|
|
820
|
-
binding.principal_id, binding.principal_json AS binding_principal_json, binding.workspace,
|
|
821
|
-
binding.agent_preset, binding.session_id, binding.generation, binding.policy_ref,
|
|
822
|
-
binding.status AS binding_status, binding.created_at AS binding_created_at,
|
|
823
|
-
binding.updated_at AS binding_updated_at, binding.version AS binding_version,
|
|
824
|
-
owner.id AS owner_id, owner.key_hash AS owner_key_hash, owner.principal_json AS owner_principal_json,
|
|
825
|
-
owner.role AS owner_role, owner.status AS owner_status, owner.linked_to_id,
|
|
826
|
-
owner.created_at AS owner_created_at, owner.updated_at AS owner_updated_at, owner.version AS owner_version,
|
|
827
|
-
NULL AS lease_state
|
|
828
|
-
FROM conversation_bindings AS binding
|
|
829
|
-
JOIN delivery_principals AS owner ON owner.id = binding.principal_id
|
|
830
|
-
WHERE binding.status = 'active' AND owner.role = 'owner' AND owner.status = 'active'
|
|
831
|
-
AND binding.workspace = ? AND binding.agent_preset = ?
|
|
832
|
-
AND json_extract(owner.principal_json, '$.channel') = 'lark'
|
|
833
|
-
AND json_extract(owner.principal_json, '$.account') = ?
|
|
834
|
-
AND json_extract(owner.principal_json, '$.tenant') = ?
|
|
835
|
-
AND json_extract(binding.conversation_json, '$.channel') = 'lark'
|
|
836
|
-
AND json_extract(binding.conversation_json, '$.account') = ?
|
|
837
|
-
AND json_extract(binding.conversation_json, '$.tenant') = ?
|
|
838
|
-
AND json_extract(binding.conversation_json, '$.kind') = 'dm'
|
|
839
|
-
ORDER BY binding.id COLLATE BINARY
|
|
840
|
-
LIMIT ?
|
|
841
|
-
`).all(scope.workspace, scope.agentPreset, scope.account, scope.tenant, scope.account, scope.tenant, operatorMaximumBindings + 1);
|
|
842
|
-
if (rows.length > operatorMaximumBindings)
|
|
843
|
-
operatorFail('too-many-bindings', `more than ${operatorMaximumBindings} bindings match`);
|
|
844
|
-
// The main query has now opened the WAL/SHM fds; re-prove every inode the
|
|
845
|
-
// result depends on is still the pinned one (non-WAL keeps just the source).
|
|
814
|
+
const value = inspect(database);
|
|
815
|
+
// The caller query has opened the WAL/SHM fds; prove all represented inodes.
|
|
846
816
|
if (operatorInodeBindSupported)
|
|
847
817
|
operatorAssertConnectionBound(bound, selfDescriptors());
|
|
848
|
-
const bindings = operatorFreeze(rows.map(row => operatorBinding(row, scope)));
|
|
849
818
|
database.exec('ROLLBACK');
|
|
850
819
|
transaction = false;
|
|
851
820
|
database.close();
|
|
@@ -858,11 +827,7 @@ export function inspectActiveLarkOwnerBindingsLocally(input) {
|
|
|
858
827
|
const storageDigest = operatorSha256(operatorCanonicalJson({
|
|
859
828
|
protocol: 'assistant-delivery/operator-storage/v1', database: source.digest, wal: wal?.digest ?? null,
|
|
860
829
|
}));
|
|
861
|
-
|
|
862
|
-
protocol: activeLarkOwnerBindingsSnapshotProtocol, schemaVersion: version, scope,
|
|
863
|
-
database: databaseIdentity, sidecars, storageDigest, bindings,
|
|
864
|
-
});
|
|
865
|
-
result = operatorFreeze({ ...unsigned, snapshotDigest: operatorSha256(operatorCanonicalJson(unsigned)) });
|
|
830
|
+
result = operatorFreeze({ schemaVersion: version, database: databaseIdentity, sidecars, storageDigest, value });
|
|
866
831
|
}
|
|
867
832
|
catch (error) {
|
|
868
833
|
deferred = error;
|
|
@@ -937,4 +902,112 @@ export function inspectActiveLarkOwnerBindingsLocally(input) {
|
|
|
937
902
|
}
|
|
938
903
|
return result;
|
|
939
904
|
}
|
|
905
|
+
/**
|
|
906
|
+
* Produces one exact, content-free Lark owner-DM inventory without opening a
|
|
907
|
+
* writable connection to the source. A temporary private byte-for-byte view
|
|
908
|
+
* is used when WAL state exists so SQLite cannot update the source WAL index.
|
|
909
|
+
*/
|
|
910
|
+
export function inspectActiveLarkOwnerBindingsLocally(input) {
|
|
911
|
+
const scope = operatorScope(input);
|
|
912
|
+
const snapshot = operatorInspectDatabase(input.databasePath, database => {
|
|
913
|
+
const rows = database.prepare(`
|
|
914
|
+
SELECT binding.id AS binding_id, binding.conversation_hash, binding.conversation_json,
|
|
915
|
+
binding.principal_id, binding.principal_json AS binding_principal_json, binding.workspace,
|
|
916
|
+
binding.agent_preset, binding.session_id, binding.generation, binding.policy_ref,
|
|
917
|
+
binding.status AS binding_status, binding.created_at AS binding_created_at,
|
|
918
|
+
binding.updated_at AS binding_updated_at, binding.version AS binding_version,
|
|
919
|
+
owner.id AS owner_id, owner.key_hash AS owner_key_hash, owner.principal_json AS owner_principal_json,
|
|
920
|
+
owner.role AS owner_role, owner.status AS owner_status, owner.linked_to_id,
|
|
921
|
+
owner.created_at AS owner_created_at, owner.updated_at AS owner_updated_at, owner.version AS owner_version,
|
|
922
|
+
NULL AS lease_state
|
|
923
|
+
FROM conversation_bindings AS binding
|
|
924
|
+
JOIN delivery_principals AS owner ON owner.id = binding.principal_id
|
|
925
|
+
WHERE binding.status = 'active' AND owner.role = 'owner' AND owner.status = 'active'
|
|
926
|
+
AND binding.workspace = ? AND binding.agent_preset = ?
|
|
927
|
+
AND json_extract(owner.principal_json, '$.channel') = 'lark'
|
|
928
|
+
AND json_extract(owner.principal_json, '$.account') = ?
|
|
929
|
+
AND json_extract(owner.principal_json, '$.tenant') = ?
|
|
930
|
+
AND json_extract(binding.conversation_json, '$.channel') = 'lark'
|
|
931
|
+
AND json_extract(binding.conversation_json, '$.account') = ?
|
|
932
|
+
AND json_extract(binding.conversation_json, '$.tenant') = ?
|
|
933
|
+
AND json_extract(binding.conversation_json, '$.kind') = 'dm'
|
|
934
|
+
ORDER BY binding.id COLLATE BINARY
|
|
935
|
+
LIMIT ?
|
|
936
|
+
`).all(scope.workspace, scope.agentPreset, scope.account, scope.tenant, scope.account, scope.tenant, operatorMaximumBindings + 1);
|
|
937
|
+
if (rows.length > operatorMaximumBindings)
|
|
938
|
+
operatorFail('too-many-bindings', `more than ${operatorMaximumBindings} bindings match`);
|
|
939
|
+
return operatorFreeze(rows.map(row => operatorBinding(row, scope)));
|
|
940
|
+
});
|
|
941
|
+
const unsigned = operatorFreeze({
|
|
942
|
+
protocol: activeLarkOwnerBindingsSnapshotProtocol, schemaVersion: snapshot.schemaVersion, scope,
|
|
943
|
+
database: snapshot.database, sidecars: snapshot.sidecars, storageDigest: snapshot.storageDigest, bindings: snapshot.value,
|
|
944
|
+
});
|
|
945
|
+
return operatorFreeze({ ...unsigned, snapshotDigest: operatorSha256(operatorCanonicalJson(unsigned)) });
|
|
946
|
+
}
|
|
947
|
+
/**
|
|
948
|
+
* Observe the exact revoked durable owner using trusted frozen installer
|
|
949
|
+
* authority. No active binding is required, and no permission is granted.
|
|
950
|
+
* Uses the same pinned, source-preserving SQLite reader as the active inventory.
|
|
951
|
+
*/
|
|
952
|
+
export function inspectRevokedOwnerRouteLocally(input) {
|
|
953
|
+
try {
|
|
954
|
+
let authority;
|
|
955
|
+
try {
|
|
956
|
+
authority = canonicalOwnerRouteAuthority(input.authority);
|
|
957
|
+
}
|
|
958
|
+
catch {
|
|
959
|
+
return operatorFail('invalid-scope', 'frozen owner authority is invalid');
|
|
960
|
+
}
|
|
961
|
+
if (!operatorText(input.principalRecordId, 128) || !identifier(input.principalRecordId, 'principal_')
|
|
962
|
+
|| !operatorInteger(input.frozenPrincipalVersion, 1)) {
|
|
963
|
+
operatorFail('invalid-scope', 'frozen owner lineage is invalid');
|
|
964
|
+
}
|
|
965
|
+
const principalId = externalPrincipalId(authority.principal);
|
|
966
|
+
const authorityHash = ownerRouteAuthorityHash(authority);
|
|
967
|
+
const snapshot = operatorInspectDatabase(input.databasePath, database => {
|
|
968
|
+
const row = database.prepare(`
|
|
969
|
+
SELECT id, key_hash, principal_json, role, status, linked_to_id, created_at, updated_at, version
|
|
970
|
+
FROM delivery_principals WHERE id = ?
|
|
971
|
+
`).get(input.principalRecordId);
|
|
972
|
+
if (row === undefined)
|
|
973
|
+
operatorFail('owner-not-revoked', 'exact revoked owner was not observed');
|
|
974
|
+
let principal;
|
|
975
|
+
try {
|
|
976
|
+
if (typeof row.principal_json !== 'string')
|
|
977
|
+
throw new Error('invalid identity');
|
|
978
|
+
principal = canonicalPrincipal(JSON.parse(row.principal_json));
|
|
979
|
+
if (row.principal_json !== JSON.stringify(principal)
|
|
980
|
+
|| row.key_hash !== operatorSha256(row.principal_json))
|
|
981
|
+
throw new Error('invalid identity');
|
|
982
|
+
}
|
|
983
|
+
catch {
|
|
984
|
+
return operatorFail('database-corrupt', 'owner identity metadata is inconsistent');
|
|
985
|
+
}
|
|
986
|
+
if (!operatorInteger(row.version, 1) || !operatorInteger(row.created_at)
|
|
987
|
+
|| !operatorInteger(row.updated_at) || row.updated_at < row.created_at) {
|
|
988
|
+
operatorFail('database-corrupt', 'owner lineage metadata is inconsistent');
|
|
989
|
+
}
|
|
990
|
+
if (row.id !== input.principalRecordId || externalPrincipalId(principal) !== principalId
|
|
991
|
+
|| row.role !== 'owner' || row.status !== 'revoked' || row.linked_to_id !== null
|
|
992
|
+
|| row.version < input.frozenPrincipalVersion) {
|
|
993
|
+
operatorFail('owner-not-revoked', 'exact revoked owner was not observed');
|
|
994
|
+
}
|
|
995
|
+
const state = operatorFreeze({
|
|
996
|
+
status: 'revoked', authorityId: authority.id, authorityHash, principalId,
|
|
997
|
+
principalRecordId: input.principalRecordId, principalVersion: row.version,
|
|
998
|
+
});
|
|
999
|
+
return state;
|
|
1000
|
+
});
|
|
1001
|
+
const unsigned = operatorFreeze({
|
|
1002
|
+
protocol: revokedOwnerRouteSnapshotProtocol, schemaVersion: snapshot.schemaVersion,
|
|
1003
|
+
authority, frozenPrincipalVersion: input.frozenPrincipalVersion, state: snapshot.value,
|
|
1004
|
+
database: snapshot.database, sidecars: snapshot.sidecars, storageDigest: snapshot.storageDigest,
|
|
1005
|
+
});
|
|
1006
|
+
return operatorFreeze({ ...unsigned, snapshotDigest: operatorSha256(operatorCanonicalJson(unsigned)) });
|
|
1007
|
+
}
|
|
1008
|
+
catch (error) {
|
|
1009
|
+
// Keep database rows, caller configuration and source paths out of failures.
|
|
1010
|
+
throw new ActiveLarkOwnerBindingsSnapshotError(error instanceof ActiveLarkOwnerBindingsSnapshotError ? error.code : 'database-corrupt', 'delivery revoked owner snapshot: inspection failed');
|
|
1011
|
+
}
|
|
1012
|
+
}
|
|
940
1013
|
//# sourceMappingURL=operator-snapshot.js.map
|