@dharma-ai-labs/agent-fabric 0.2.185 → 0.2.187
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 +22 -0
- package/dist/index.d.ts +74 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +311 -12
- package/dist/index.js.map +1 -1
- package/dist/namedSessionBudget.d.ts +6 -0
- package/dist/namedSessionBudget.d.ts.map +1 -1
- package/dist/namedSessionBudget.js +7 -0
- package/dist/namedSessionBudget.js.map +1 -1
- package/dist/namedSessionBudget.test.js +21 -0
- package/dist/namedSessionBudget.test.js.map +1 -1
- package/dist/namedSessionNativeAudit.d.ts +78 -0
- package/dist/namedSessionNativeAudit.d.ts.map +1 -0
- package/dist/namedSessionNativeAudit.js +158 -0
- package/dist/namedSessionNativeAudit.js.map +1 -0
- package/dist/namedSessionNativeAudit.test.d.ts +2 -0
- package/dist/namedSessionNativeAudit.test.d.ts.map +1 -0
- package/dist/namedSessionNativeAudit.test.js +238 -0
- package/dist/namedSessionNativeAudit.test.js.map +1 -0
- package/dist/namedSessionService.d.ts.map +1 -1
- package/dist/namedSessionService.js +15 -0
- package/dist/namedSessionService.js.map +1 -1
- package/dist/namedSessionService.test.js +29 -2
- package/dist/namedSessionService.test.js.map +1 -1
- package/dist/repositoryCandidateSync.d.ts +109 -2
- package/dist/repositoryCandidateSync.d.ts.map +1 -1
- package/dist/repositoryCandidateSync.js +327 -22
- package/dist/repositoryCandidateSync.js.map +1 -1
- package/dist/repositoryCandidateSync.test.js +912 -6
- package/dist/repositoryCandidateSync.test.js.map +1 -1
- package/dist/repositoryKnowledgeRetention.test.js +319 -3
- package/dist/repositoryKnowledgeRetention.test.js.map +1 -1
- package/dist/repositorySourceInventoryClient.d.ts +1 -0
- package/dist/repositorySourceInventoryClient.d.ts.map +1 -1
- package/dist/repositorySourceInventoryClient.js +4 -1
- package/dist/repositorySourceInventoryClient.js.map +1 -1
- package/dist/repositorySourceRestoration.d.ts +47 -0
- package/dist/repositorySourceRestoration.d.ts.map +1 -0
- package/dist/repositorySourceRestoration.js +140 -0
- package/dist/repositorySourceRestoration.js.map +1 -0
- package/dist/repositorySourceRestorationCommand.test.d.ts +2 -0
- package/dist/repositorySourceRestorationCommand.test.d.ts.map +1 -0
- package/dist/repositorySourceRestorationCommand.test.js +754 -0
- package/dist/repositorySourceRestorationCommand.test.js.map +1 -0
- package/dist/repositorySourceSync.d.ts +1 -0
- package/dist/repositorySourceSync.d.ts.map +1 -1
- package/dist/repositorySourceSync.js +10 -4
- package/dist/repositorySourceSync.js.map +1 -1
- package/dist/repositorySourceSync.test.js +38 -4
- package/dist/repositorySourceSync.test.js.map +1 -1
- package/dist/schemas/named-session-native-audit.schema.json +64 -0
- package/dist/schemas/repository-candidate-fence-v1.schema.json +55 -0
- package/dist/schemas/repository-candidate-upload-v1.schema.json +60 -0
- package/dist/schemas/repository-knowledge-restoration-v1.schema.json +16 -0
- package/dist/usage.d.ts.map +1 -1
- package/dist/usage.js +4 -2
- package/dist/usage.js.map +1 -1
- package/dist/usage.test.js +6 -1
- package/dist/usage.test.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -67,6 +67,28 @@ correlation, not execution authority; signed target/session, expiry, ownership
|
|
|
67
67
|
and budget checks still apply. Actual read containment and customer journeys
|
|
68
68
|
must be qualified separately from these policy tests.
|
|
69
69
|
|
|
70
|
+
## Exact-work native audit
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
dharma sessions audit --name NAME --workspace-id WORKSPACE_UUID --work-id WORK_UUID
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Use the existing running, enrolled named session in its normal protected-store
|
|
77
|
+
context. The command verifies one recorded work receipt, capture integrity and
|
|
78
|
+
all organization/member/device/repository/workspace/endpoint/session identities.
|
|
79
|
+
It does not export raw commands, outputs, arguments, paths, prompts or reasoning;
|
|
80
|
+
it returns bounded hashes and explicitly provider-reported facts. It does not
|
|
81
|
+
start a provider turn, revive an owner, read an arbitrary vault object or establish
|
|
82
|
+
independent grading or accepted learning. Unavailable, unfinished, foreign or
|
|
83
|
+
corrupt work fails closed. Preserve coverage, exclusions and truncation.
|
|
84
|
+
|
|
85
|
+
Compare command, output, per-command cwd and tool-response hashes only against
|
|
86
|
+
independently known authorized values. Dynamic replies preserve nullable status
|
|
87
|
+
and success with hashes of their actual content. TAP totals are returned only
|
|
88
|
+
when all supported categories reconcile exactly; nonzero, duplicate or malformed
|
|
89
|
+
TODO summaries return null. Missing evidence is not success. Never extract keys
|
|
90
|
+
or use another storage route if the normal owner is unavailable.
|
|
91
|
+
|
|
70
92
|
## Owned Linux container lifecycle
|
|
71
93
|
|
|
72
94
|
An unprivileged Linux container may use `relay container-entrypoint` as its
|
package/dist/index.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ import { AgentFabricClient, type DeviceConfig, type SecureSecretStore } from '@d
|
|
|
7
7
|
import { type SkillBundle } from '@dharma-ai-labs/agent-fabric-skill-manager';
|
|
8
8
|
import { type TaskEnvelope, type TaskReceipt } from '@dharma-ai-labs/agent-fabric-task-runner';
|
|
9
9
|
import { type RepositoryInstallerInput } from './repositoryInstallerFiles.js';
|
|
10
|
+
import { type RepositoryCandidateReceipt } from './repositoryCandidateSync.js';
|
|
10
11
|
import { type CodexSetupFailureDiagnostic, type CodexSetupFailureObserver } from './codexSetupDiagnostic.js';
|
|
11
12
|
import { type BootstrapHostScope, type CodexBootstrapHostInput } from './bootstrapHostScope.js';
|
|
12
13
|
import { startCodexSetupNativeHost } from './codexSetupNativeHost.js';
|
|
@@ -300,6 +301,79 @@ export declare function installRepositoryAgentFabricSkill(input: RepositoryInsta
|
|
|
300
301
|
disposition: "signed_release_reused";
|
|
301
302
|
} | null;
|
|
302
303
|
}>;
|
|
304
|
+
export declare function repositoryRestoreCommand(flags: Map<string, string | boolean>): Promise<{
|
|
305
|
+
ok: boolean;
|
|
306
|
+
stage: string;
|
|
307
|
+
fence: {
|
|
308
|
+
fenceId: string;
|
|
309
|
+
operationId: string;
|
|
310
|
+
workspaceId: string;
|
|
311
|
+
repositoryBindingId: string;
|
|
312
|
+
repositoryAgentId: string;
|
|
313
|
+
sourceSnapshotHash: string;
|
|
314
|
+
sourceManifestHash: string;
|
|
315
|
+
policyGenerationId: string;
|
|
316
|
+
requestPolicyGenerationId?: string;
|
|
317
|
+
state: "fenced";
|
|
318
|
+
createdAt: string;
|
|
319
|
+
} | null;
|
|
320
|
+
candidate: RepositoryCandidateReceipt | null;
|
|
321
|
+
localMutation: boolean;
|
|
322
|
+
serverSourceMutation: boolean;
|
|
323
|
+
serverOperationFenced: boolean;
|
|
324
|
+
activated: boolean;
|
|
325
|
+
nextAction: string;
|
|
326
|
+
planHash?: undefined;
|
|
327
|
+
priorReleaseId?: undefined;
|
|
328
|
+
dryRun?: undefined;
|
|
329
|
+
priorGeneration?: undefined;
|
|
330
|
+
headCandidateId?: undefined;
|
|
331
|
+
operationId?: undefined;
|
|
332
|
+
expectedLatestSourceFingerprint?: undefined;
|
|
333
|
+
snapshotHash?: undefined;
|
|
334
|
+
protocolSessionCreated?: undefined;
|
|
335
|
+
published?: undefined;
|
|
336
|
+
} | {
|
|
337
|
+
ok: boolean;
|
|
338
|
+
stage: string;
|
|
339
|
+
planHash: string;
|
|
340
|
+
candidate: RepositoryCandidateReceipt;
|
|
341
|
+
priorReleaseId: string;
|
|
342
|
+
localMutation: boolean;
|
|
343
|
+
serverSourceMutation: boolean;
|
|
344
|
+
activated: boolean;
|
|
345
|
+
nextAction: string;
|
|
346
|
+
fence?: undefined;
|
|
347
|
+
serverOperationFenced?: undefined;
|
|
348
|
+
dryRun?: undefined;
|
|
349
|
+
priorGeneration?: undefined;
|
|
350
|
+
headCandidateId?: undefined;
|
|
351
|
+
operationId?: undefined;
|
|
352
|
+
expectedLatestSourceFingerprint?: undefined;
|
|
353
|
+
snapshotHash?: undefined;
|
|
354
|
+
protocolSessionCreated?: undefined;
|
|
355
|
+
published?: undefined;
|
|
356
|
+
} | {
|
|
357
|
+
ok: boolean;
|
|
358
|
+
stage: string;
|
|
359
|
+
dryRun: boolean;
|
|
360
|
+
planHash: string;
|
|
361
|
+
priorReleaseId: string;
|
|
362
|
+
priorGeneration: number;
|
|
363
|
+
headCandidateId: string;
|
|
364
|
+
operationId: string;
|
|
365
|
+
expectedLatestSourceFingerprint: string;
|
|
366
|
+
snapshotHash: string;
|
|
367
|
+
localMutation: boolean;
|
|
368
|
+
serverSourceMutation: boolean;
|
|
369
|
+
protocolSessionCreated: boolean;
|
|
370
|
+
activated: boolean;
|
|
371
|
+
published: boolean;
|
|
372
|
+
fence?: undefined;
|
|
373
|
+
candidate?: undefined;
|
|
374
|
+
serverOperationFenced?: undefined;
|
|
375
|
+
nextAction?: undefined;
|
|
376
|
+
}>;
|
|
303
377
|
export declare function repositorySourceResolutionCommand(flags: Map<string, string | boolean>): Promise<{
|
|
304
378
|
ok: boolean;
|
|
305
379
|
stage: string;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAUA,OAAO,EAGL,KAAK,kBAAkB,EAAE,KAAK,UAAU,EAAE,KAAK,0BAA0B,EAC1E,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAwI,KAAK,iBAAiB,EAAE,MAAM,iDAAiD,CAAC;AAC/N,OAAO,EAAsE,KAAK,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAClJ,OAAO,EAAkI,KAAK,eAAe,EAAE,MAAM,gDAAgD,CAAC;AACtN,OAAO,EACL,iBAAiB,EAIyC,KAAK,YAAY,EAAE,KAAK,iBAAiB,EACpG,MAAM,2CAA2C,CAAC;AAOnD,OAAO,EAA8O,KAAK,WAAW,EAAE,MAAM,4CAA4C,CAAC;AAC1T,OAAO,EAKL,KAAK,YAAY,EACjB,KAAK,WAAW,EACjB,MAAM,0CAA0C,CAAC;AAoBlD,OAAO,EACL,KAAK,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAoBvE,OAAO,EAEL,KAAK,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAKxE,OAAO,EAA0B,KAAK,2BAA2B,EAAE,KAAK,yBAAyB,EAAC,MAAM,2BAA2B,CAAC;AAuCpI,OAAO,EAAsM,KAAK,kBAAkB,EAAE,KAAK,uBAAuB,EAAC,MAAM,yBAAyB,CAAC;AAEnS,OAAO,EAAC,yBAAyB,EAAC,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAC,yBAAyB,EAAC,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAC,0BAA0B,EAAC,MAAM,6BAA6B,CAAC;AAEvE,OAAO,EAAC,8BAA8B,EAAC,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAiC,KAAK,wBAAwB,EAAE,KAAK,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAE9H,OAAO,KAAK,EAA4C,gBAAgB,EAAC,MAAM,0CAA0C,CAAC;AAG1H,OAAO,EAAE,2BAA2B,EAAE,KAAK,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAC3G,YAAY,EAAC,uBAAuB,EAAC,MAAM,yBAAyB,CAAC;AAMrE,KAAK,MAAM,GAAG,OAAO,CAAC;AAItB,wBAAsB,iCAAiC;;;GAOtD;AAMD,UAAU,eAAe;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,yBAAyB,CAAC,EAAE,eAAe,GAAG,WAAW,CAAC;IAC1D,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,iBAAiB,CAAC,EAAE;QAClB,KAAK,EAAE,QAAQ,GAAG,UAAU,GAAG,YAAY,GAAG,WAAW,GAAG,SAAS,CAAC;QACtE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;QAClC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,UAAU,EAAE,MAAM,CAAC;QACnB,iBAAiB,EAAE,oBAAoB,GAAG,mBAAmB,GAAG,IAAI,CAAC;QACrE,wBAAwB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACzC,yBAAyB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1C,0BAA0B,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3C,wBAAwB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACzC,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACzC,CAAC;IACF,cAAc,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAClE,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,MAAM,EAAE,QAAQ,CAAC;IACjB,UAAU,CAAC,EAAE,QAAQ,GAAG,gBAAgB,CAAC;CAC1C;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;IAC/C,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC;IACrC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;CAChD,CAuBA;AAQD,wBAAgB,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,QAAQ,SAA6B,GAAG,MAAM,CAE7G;AAMD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAQrE;AAyCD,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAO1F;AAWD,wBAAsB,0BAA0B,CAAC,IAAI,SAA6B,GAAG,OAAO,CAAC,MAAM,CAAC,CA4CnG;AAqDD,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,KAAK,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAU,oBASnD;AAED,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,MAAM,mBAEzD;AA2BD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG,MAAM,CAM3F;AAED,wBAAsB,4BAA4B,CAChD,KAAK,EAAE;IACL,uBAAuB,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC,CAAA;KAAE,CAAC,CAAC,CAAC;IACpI,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChF,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1G,EACD,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,kBAAkB,EAC1B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC,CAsFjB;AA2BD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,QAKtE;AAWD,wBAAgB,sCAAsC,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,kBAAkB,QAqLlH;AAoOD,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,KAAK,CAAC,EAAE,iBAAiB,iBAOxF;AAED,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,CAAC,EAAE,iBAAiB,iBAmBzF;AAoBD,wBAAsB,iBAAiB,CAAC,IAAI,SAAe,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC,CAEvG;AAED,wBAAsB,2BAA2B,CAAC,IAAI,SAAe,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC,CAEjH;AAED,wBAAsB,wBAAwB,CAAC,IAAI,SAAe,GAAG,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAoBhG;AAED,wBAAsB,2BAA2B,CAAC,IAAI,SAAe,GAAG,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAoBnG;AAED,wBAAsB,0BAA0B,CAAC,KAAK,EAAE;IACtD,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,iBAAiB,CAAC;CACjC;;;;GAiGA;AAoBD,wBAAsB,wBAAwB,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,SAAe,GAAG,OAAO,CAAC,CAAC,CAAC,CAS9G;AAED,wBAAsB,8BAA8B,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAOpH;AAED,wBAAsB,gCAAgC,CAAC,CAAC,EACtD,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,UAAU,EACpB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAC1B,OAAO,CAAC,CAAC,CAAC,CAUZ;AAuGD,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,kBAAkB,EACxB,KAAK,EAAE,OAAO,EACd,sBAAsB,EAAE,MAAM,EAC9B,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,EACnB,GAAG,OAAa,GACf,kBAAkB,CAsFpB;AAUD,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CA4BhE;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG;IAC/F,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,QAAQ,GAAG,cAAc,CAAC;CACnC,CAiBA;AAED,wBAAsB,mCAAmC,CACvD,SAAS,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAC1B,OAAO,CAAC,UAAU,CAAC,OAAO,2BAA2B,CAAC,CAAC,CAKzD;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAmBnE;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,WAAW;;;;;SAqBvD;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,YAAY,CAAC,aAAa,CAAC,EACnC,MAAM,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,GACtD,IAAI,CAaN;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAM9D;AA4FD,KAAK,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,EAAE,QAAQ,GAAG,aAAa,CAAC,CAAC;AAE1E,wBAAsB,oBAAoB,CACxC,UAAU,GAAE,MAAM,OAAO,CAAC,gBAAgB,CAIxC;;;;;;GAYH;AA0BD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAMjE;AAED,wBAAsB,wBAAwB,CAAC,CAAC,EAC9C,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,OAAO,GAAE;IACP,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACtC,GACL,OAAO,CAAC,CAAC,CAAC,CAYZ;AAED,KAAK,gCAAgC,GAAG;IACtC,KAAK,EAAE,cAAc,GAAG,UAAU,GAAG,mBAAmB,CAAC;IACzD,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,iBAAiB,GAAG,qBAAqB,GAAG,qBAAqB,CAAC;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAgBF,wBAAgB,sCAAsC,CACpD,QAAQ,EAAE,gCAAgC,EAC1C,iBAAiB,EAAE,WAAW,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC,EACpE,wBAAwB,EAAE,MAAM,GAC/B,OAAO,CAIT;AAED,wBAAgB,mCAAmC,CACjD,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,OAAO,GACvB,gCAAgC,CAQlC;AAED,wBAAsB,4BAA4B,CAChD,SAAS,EAAE,MAAM,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,GAC7D,OAAO,CAAC,gCAAgC,CAAC,CAgB3C;AAED,wBAAsB,8BAA8B,CAAC,CAAC,EACpD,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAC1B,OAAO,CAAC;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,qBAAqB,CAAA;CAAE,CAAC,CAUlG;AAED,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,gCAAgC,EACxC,UAAU,EAAE,MAAM,GACjB,IAAI,CAQN;AAkDD,wBAAgB,gCAAgC,CAAC,OAAO,SAAU,EAChE,OAAO,CAAC,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE;;;EAE7G;AA+ID,wBAAsB,qBAAqB,CAAC,OAAO,GAAE;IACnD,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC,CAAC;IAChE,KAAK,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAC,CAAC;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,eAAe,CAAC,EAAE,MAAM,CAAC;CACrB;;;;;;;;;GA6BL;AAwVD,wBAAgB,2BAA2B,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,UAAU,GAAG,IAAI,CAMnG;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,UAAU,GAAG,IAAI,CAkBlF;AAsDD,wBAAgB,8BAA8B,CAAC,KAAK,EAAE;IACpD,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC;IACrC,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC;IAChE,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;CACf,QAQA;AAED;2EAC2E;AAC3E,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,CAQ7F;AAED,oFAAoF;AACpF,wBAAsB,4BAA4B,CAAC,KAAK,EAAE,kBAAkB,EAC1E,cAAc,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,CAgB7D;AAED,KAAK,oBAAoB,GAAG,IAAI,CAAC,gBAAgB,EAAE,2BAA2B,GAAG,wBAAwB,GACrG,2BAA2B,GAAG,wBAAwB,GAAG,uBAAuB,CAAC,CAAC;AAwNtF,mEAAmE;AACnE,wBAAsB,mCAAmC,CAAC,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,oBAAoB,EAC9G,cAAc,CAAC,EAAE,yBAAyB;qBAYjB,QAAQ,CAAC,wBAAwB,CAAC;;;;;;;;IAsB5D;AAED,yFAAyF;AACzF,wBAAsB,4BAA4B,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC,CAAC,CAAC,EAChH,WAAW,GAAG,2BAA2B,CAAC,GAAG;IAAC,oBAAoB,EAAE,MAAM,CAAA;CAAC;;;;;;IA6C5E;AAED,4FAA4F;AAC5F,wBAAsB,mCAAmC,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC,CAAC,CAAC,GAC/G;IAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAA;CAAC;;;;;;IA+ClC;AAED;iFACiF;AACjF,wBAAsB,6BAA6B,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC,CAAC,CAAC,EAC7G,aAAa,GAAG,SAAS,GAAG,iBAAiB,CAAC;;;;;;IAwC/C;AAkiBD,wBAAgB,iCAAiC,CAAC,KAAK,EAAE;IACvD,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;CAChB;;;;;;;;;;;EAqBA;AA6FD,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,QAI/F;AA2GD,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,iBAAiB,EACxD,0BAA0B,GACxB,2BAA2B,GAC3B,2BAA2B,GAC3B,wBAAwB,CAC3B,CAAC;AAEF,KAAK,4BAA4B,GAAG,MAAM,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAezE,wBAAgB,uBAAuB,CAAC,KAAK,EAAE;IAC7C,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,UAUA;AAED,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,EACpC,UAAU,GAAE,4BAAqC,EACjD,OAAO,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAuB,GAC/D,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAqElC;AA6MD,KAAK,sBAAsB,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC;AAE/E,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,GAAG,sBAAsB,CAiBnG;AA0eD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,UAAU,EAAE,GAAG,IAAI,CAW7F;AAED,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,0BAA0B,EAClC,kBAAkB,EAAE,MAAM,EAAE,EAC5B,GAAG,OAAa,GACf,MAAM,CASR;AAQD,wBAAsB,gCAAgC,CACpD,SAAS,EAAE,kBAAkB,EAAE,EAC/B,GAAG,OAAa,GACf,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAgD/B;AAgCD,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,eAAe,EACrB,aAAa,GAAE,CAAC,SAAS,EAAE,eAAe,KAAK,OAAO,CAAC,OAAO,CAAgC,oBAI/F;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC,CAyB5G;AAED,wBAAgB,0CAA0C,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAMpG;AAED,wBAAgB,mCAAmC,CACjD,iBAAiB,EAAE,WAAW,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC,EACpE,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAIT;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,CAAC,gBAAgB,CAAC,CAUvF;AAs2BD,wBAAsB,iCAAiC,CAAC,KAAK,EAAE,wBAAwB;;;;;;;;;;;;;;;;;GAgFtF;AAiCD,wBAAsB,wBAAwB,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyOlF;AAED,wBAAsB,iCAAiC,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;;;;;;;;;;;;;;GA4D3F;AAwhBD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,GAAG,eAAe,CAmE/G;AAmGD,wBAAgB,kCAAkC,CAAC,KAAK,EAAE;IACxD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3D,MAAM,EAAE,IAAI,CAAC,kBAAkB,EAAE,gBAAgB,GAAG,qBAAqB,CAAC,CAAC;CAC5E,GAAG,IAAI,CASP;AAED,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,EACpD,aAAa,EAAE,IAAI,CAAC,kBAAkB,EAAE,UAAU,CAAC,GAClD,OAAO,CAET;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE;IAC/C,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,gBAAgB,GAAG,aAAa,CAAC,CAAC;IAC3D,SAAS,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3D,MAAM,EAAE,IAAI,CAAC,kBAAkB,EAAE,gBAAgB,GAAG,qBAAqB,CAAC,CAAC;CAC5E,GAAG,IAAI,CAQP;AAED,wBAAsB,6BAA6B,CAAC,KAAK,EAAE;IACzD,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,gBAAgB,CAAC,CAAC;IACtD,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC;IACpD,eAAe,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC/H,GAAG,OAAO,CAAC,OAAO,CAAC,CAUnB;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE;IAC3C,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,gBAAgB,CAAC,CAAC;IACtD,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,uBAAuB,CAAC,CAAC;IAC/D,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,eAAe,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9H,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACrH,oBAGA;AAiUD,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,UAAU,EACpB,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,IAAI,SAAY,UAMjB;AAED,wBAAsB,gCAAgC,CAAC,KAAK,EAAE;IAC5D,QAAQ,EAAE,UAAU,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,mBAoDA;AAED,wBAAsB,oCAAoC,CAAC,KAAK,EAAE;IAChE,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAiBzB;AA0BD,wBAAsB,uCAAuC,CAAC,cAAc,EAAE,MAAM;;;;;GAoCnF;AAED,KAAK,mBAAmB,GAAG,CACzB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,KAC9D,OAAO,CAAC;IAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC,CAAC;AAE3C,wBAAsB,kBAAkB,CAAC,KAAK,EAAE;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,OAAO,CAAC,EAAE,mBAAmB,CAAC;CAC/B;;;GASA;AAED,wBAAsB,iCAAiC,CAAC,KAAK,EAAE;IAC7D,QAAQ,EAAE,UAAU,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,mBAAmB,CAAC;CACrC;;;;;;;;;;;;GA+DA;AAED,KAAK,yBAAyB,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC;AAC5E,KAAK,wBAAwB,GAAG,OAAO,iCAAiC,CAAC;AAEzE,wBAAsB,2CAA2C,CAAC,KAAK,EAAE;IACvE,SAAS,EAAE,yBAAyB,EAAE,CAAC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,wBAAwB,CAAC;CACpC;;;;;;;;;;;;;;;kBAGmC,MAAM;cAAQ,6BAA6B;iBAAW,MAAM;;GAoB/F;AAED,wBAAsB,kCAAkC,CAAC,KAAK,EAAE;IAC9D,QAAQ,EAAE,UAAU,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,CACf,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAA;KAAE,KACjD,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1C,gBAAgB,CAAC,EAAE,mBAAmB,CAAC;CACxC;;;;;;;;;;;;;;;;;;;;GAsIA;AAED,wBAAsB,iCAAiC,CAAC,KAAK,EAAE;IAC7D,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,OAAO,CAAC,EAAE,mBAAmB,CAAC;CAC/B;;;;;;;;;;;;GA2DA;AAED,KAAK,iBAAiB,GAAG,CACvB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAA;CAAE,KACjD,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB,wBAAsB,iBAAiB,CAAC,KAAK,GAAE;IAC7C,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,iBAAiB,CAAC;CACxB,iBAYL;AAKD,wBAAsB,sCAAsC,CAAC,KAAK,GAAE;IAClE,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;CACV;;;;GA8BL;AAED,KAAK,sBAAsB,GAAG,CAC5B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,KAC9D,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC,CAAC;AAe1C,wBAAsB,wBAAwB,CAAC,KAAK,EAAE;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,OAAO,CAAC,EAAE,sBAAsB,CAAC;CAClC;;;;;;;;;;;;GAqEA;AAED,wBAAsB,8BAA8B,CAAC,KAAK,EAAE;IAC1D,MAAM,EAAE,WAAW,CAAC;IACpB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB;;;;;;;;;;;;GAsBA;AAcD,wBAAsB,2BAA2B,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,GAAE,MAAM,IAAe,oBAmC9H;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,WAAW;;;EAiB7D;AAED,wBAAsB,mDAAmD,CAAC,KAAK,EAAE;IAC/E,oBAAoB,EAAE,MAAM,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,OAAO,CAAC;CAC7B,GAAG,OAAO,CAAC,MAAM,CAAC,CAQlB;AAED,wBAAsB,sDAAsD,CAAC,KAAK,EAAE;IAClF,oBAAoB,EAAE,MAAM,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,OAAO,CAAC;CAC7B,GAAG,OAAO,CAAC,MAAM,CAAC,CAElB;AAED,wBAAsB,8BAA8B,CAClD,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,iBAAiB;;;;;GAyBhC;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAaxJ;AAED,wBAAsB,kBAAkB,CAAC,KAAK,EAAE;IAC9C,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,UAAU,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAC9D,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC;IACtD,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;CACjD;;;;;;;YAnB2F,MAAM;gBAAU,OAAO;4BAAsB,OAAO;;;;;;;;;;;;;;UAqK/I;AA4HD,wBAAsB,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAmBtH;AA+hBD,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA4XzD"}
|
package/dist/index.js
CHANGED
|
@@ -41,6 +41,7 @@ import { isIsolatedDeviceSession, runInIsolatedDeviceSession } from './connectio
|
|
|
41
41
|
import { resolveBootstrapRepositoryWorkspace } from './bootstrapRepositorySelection.js';
|
|
42
42
|
import { receiveRepositoryPackageDelivery } from './repositoryPackageDelivery.js';
|
|
43
43
|
import { selectInstalledRepositoryKnowledge } from './repositoryInstalledKnowledge.js';
|
|
44
|
+
import { collectRepositorySourceRestoration } from './repositorySourceRestoration.js';
|
|
44
45
|
import { planRepositorySourceResolution, reconcileRepositorySourceSnapshot } from './repositorySourceReconciliation.js';
|
|
45
46
|
import { fetchPublishedRepositorySource } from './repositorySourceInventoryClient.js';
|
|
46
47
|
import { activateRepositorySourceResolution, readActiveRepositorySourceResolution, readRepositorySourceResolutionPlan, saveRepositorySourceResolutionPlan } from './repositorySourceResolutionStore.js';
|
|
@@ -48,7 +49,7 @@ import { prepareProvidersIndependently, startSkillPreparationPump } from './skil
|
|
|
48
49
|
import { serializeSkillPreparationRecord } from './skillPreparationRecord.js';
|
|
49
50
|
import { skillPreparationScopeRoot, withSkillPreparationTransaction } from './skillPreparationTransaction.js';
|
|
50
51
|
import { publishSkillPreparationCache, takeSkillPreparationCache } from './skillPreparationCache.js';
|
|
51
|
-
import { adoptRepositoryCandidate, pollRepositoryCandidate, synchronizeRepositoryCandidate } from './repositoryCandidateSync.js';
|
|
52
|
+
import { adoptRepositoryCandidate, checkpointRepositoryRestorationCandidate, checkpointRepositoryRestorationFence, checkpointRepositoryRestorationRegistry, fenceRepositoryRestorationUpload, readRepositoryRestorationAttempt, pollRepositoryCandidate, recoverRepositoryRestorationCandidate, synchronizeRepositoryCandidate } from './repositoryCandidateSync.js';
|
|
52
53
|
import { registerRepositoryRoleMetadata, discoverRepositoryRoleMetadata } from './repositoryRoleMetadata.js';
|
|
53
54
|
import { askRepositoryRoleQuestion, readRepositoryRoleReply } from './repositoryRoleQuestion.js';
|
|
54
55
|
import { deriveRepositoryRole } from './repositoryRoleDerivation.js';
|
|
@@ -99,7 +100,7 @@ import { assertCodexSetupExecutionLease } from './codexSetupAdmission.js';
|
|
|
99
100
|
import { parseLocalCodexSetupReadiness } from '@dharma-ai-labs/agent-fabric-local-vault/setup-readiness';
|
|
100
101
|
import { writeBootstrapHostJson, writeBootstrapHostText } from './bootstrapHostFiles.js';
|
|
101
102
|
export { openCooperativeInboxSession } from './cooperativeInboxSession.js';
|
|
102
|
-
const VERSION = '0.2.
|
|
103
|
+
const VERSION = '0.2.187';
|
|
103
104
|
const USAGE = CLI_USAGE;
|
|
104
105
|
const execFileAsync = promisify(execFile);
|
|
105
106
|
const LOCAL_PROVIDER_IDS = ['codex', 'claude', 'agy', 'hermes'];
|
|
@@ -1594,13 +1595,14 @@ async function saveRegistry(items) {
|
|
|
1594
1595
|
throw new Error('workspace_registry_write_failed');
|
|
1595
1596
|
}
|
|
1596
1597
|
}
|
|
1597
|
-
async function saveWorkspaceRecord(entry) {
|
|
1598
|
+
async function saveWorkspaceRecord(entry, guard) {
|
|
1598
1599
|
const scope = currentBootstrapHostScope();
|
|
1599
1600
|
const step = (operation) => scope ? scope.step(operation) : operation();
|
|
1600
1601
|
let release;
|
|
1601
1602
|
try {
|
|
1602
1603
|
await scope?.assert();
|
|
1603
|
-
|
|
1604
|
+
let snapshot = structuredClone(entry);
|
|
1605
|
+
const expected = guard ? structuredClone(guard.expected) : undefined;
|
|
1604
1606
|
await step(async () => {
|
|
1605
1607
|
release = await acquirePidLock(`${workspaceRegistryPath()}.mutation.lock`, 10_000, 'Workspace registry is busy; preserve it for recovery.');
|
|
1606
1608
|
});
|
|
@@ -1612,7 +1614,16 @@ async function saveWorkspaceRecord(entry) {
|
|
|
1612
1614
|
const items = JSON.parse(value);
|
|
1613
1615
|
if (!Array.isArray(items))
|
|
1614
1616
|
throw new Error('Workspace registry is invalid; preserve it for recovery.');
|
|
1617
|
+
if (expected && canonicalize(items.find(item => item.workspaceId === snapshot.workspaceId) ?? null) !== canonicalize(expected)) {
|
|
1618
|
+
throw new Error('workspace_registry_compare_and_swap_failed');
|
|
1619
|
+
}
|
|
1620
|
+
if (guard?.beforeSave)
|
|
1621
|
+
await step(guard.beforeSave);
|
|
1622
|
+
if (guard?.preparePackage)
|
|
1623
|
+
snapshot = { ...snapshot, repositoryPackage: await step(guard.preparePackage) };
|
|
1615
1624
|
await saveRegistry([...items.filter(item => item.workspaceId !== snapshot.workspaceId), snapshot]);
|
|
1625
|
+
if (guard?.afterSave)
|
|
1626
|
+
await step(() => guard.afterSave(snapshot));
|
|
1616
1627
|
}
|
|
1617
1628
|
catch (error) {
|
|
1618
1629
|
if (!scope)
|
|
@@ -5010,6 +5021,21 @@ async function namedSessionCommand(action, flags) {
|
|
|
5010
5021
|
if (action === 'work')
|
|
5011
5022
|
return namedSessionRequest(dharmaHome(), name, { action: 'work',
|
|
5012
5023
|
workId: String(flags.get('work-id') || randomUUID()), prompt: required(flags, 'prompt') });
|
|
5024
|
+
if (action === 'audit') {
|
|
5025
|
+
if (!existing?.enabled || [...flags.keys()].some(key => !['name', 'workspace-id', 'work-id'].includes(key))) {
|
|
5026
|
+
throw new Error('named_session_audit_unavailable');
|
|
5027
|
+
}
|
|
5028
|
+
const workId = required(flags, 'work-id');
|
|
5029
|
+
if (!/^[A-Za-z0-9_-]{1,128}$(?![\s\S])/.test(workId))
|
|
5030
|
+
throw new Error('named_session_work_invalid');
|
|
5031
|
+
const result = await namedSessionRequest(dharmaHome(), name, { action: 'audit', workId });
|
|
5032
|
+
if (!(await validateContract(resolve(dirname(fileURLToPath(import.meta.url)), 'schemas'), 'https://schemas.dharma-ai.io/named-session-native-audit/v1', result)).ok
|
|
5033
|
+
|| result.bindingId !== existing.bindingId || result.workId !== workId
|
|
5034
|
+
|| Object.entries(existing.identity).some(([key, value]) => result[key] !== value)) {
|
|
5035
|
+
throw new Error('named_session_audit_scope_mismatch');
|
|
5036
|
+
}
|
|
5037
|
+
return result;
|
|
5038
|
+
}
|
|
5013
5039
|
if (action === 'stop') {
|
|
5014
5040
|
if (!flags.has('apply'))
|
|
5015
5041
|
return { ok: true, planned: true, name, action: 'stop' };
|
|
@@ -5788,6 +5814,254 @@ async function repositoryInstallerRecoveryCommand(flags) {
|
|
|
5788
5814
|
return { ok: true, dryRun: !recovery.applied, serverMutation: false, recovery,
|
|
5789
5815
|
nextAction: 'Resume pinned onboarding; recovery is not signed skill installation or activation.' };
|
|
5790
5816
|
}
|
|
5817
|
+
export async function repositoryRestoreCommand(flags) {
|
|
5818
|
+
flags = new Map(flags);
|
|
5819
|
+
const allowed = new Set(['workspace-id', 'dry-run', 'apply', 'plan-hash', 'fence-upload', 'json']);
|
|
5820
|
+
if ([...flags].some(([key, value]) => !allowed.has(key)
|
|
5821
|
+
|| (['workspace-id', 'plan-hash'].includes(key) ? typeof value !== 'string' || !value : value !== true))
|
|
5822
|
+
|| flags.has('apply') === flags.has('dry-run') || flags.has('apply') !== flags.has('plan-hash')
|
|
5823
|
+
|| flags.has('fence-upload') && !flags.has('apply')) {
|
|
5824
|
+
throw new Error('repository_source_restoration_option_invalid');
|
|
5825
|
+
}
|
|
5826
|
+
const workspaceId = required(flags, 'workspace-id'), apply = flags.has('apply');
|
|
5827
|
+
const config = await readDeviceConfig();
|
|
5828
|
+
const workspace = (await registry()).find(row => row.workspaceId === workspaceId && row.organizationId === config?.organizationId);
|
|
5829
|
+
if (!config || !workspace?.repositoryBindingId || !workspace.repositoryAgentId
|
|
5830
|
+
|| workspace.accessMode === 'knowledge_only' || !workspace.repositoryPackage
|
|
5831
|
+
|| workspace.repositoryPackage.generation < 1 || !apply && workspace.repositoryPackage.pendingLocalOperationId) {
|
|
5832
|
+
throw new Error('repository_source_restoration_workspace_not_authorized');
|
|
5833
|
+
}
|
|
5834
|
+
// An explicit recovery must not race the relay's candidate outbox or silently
|
|
5835
|
+
// undo containment. The operator uses the normal owned relay stop/start flow.
|
|
5836
|
+
if (apply && (await relaySupervisorProcessState() !== 'stopped' || await relayProcessState() !== 'stopped')) {
|
|
5837
|
+
throw new Error('repository_source_restoration_requires_stopped_relay');
|
|
5838
|
+
}
|
|
5839
|
+
const policy = await loadVerifiedWorkspacePolicy(resolve(workspace.path, '.dharma', 'approved-policy.json'), workspaceId);
|
|
5840
|
+
if (!policy.serverAuthorization)
|
|
5841
|
+
throw new Error('repository_source_restoration_workspace_not_authorized');
|
|
5842
|
+
await assertWorkspaceAuthorizationCurrent(workspaceId, policy.serverAuthorization);
|
|
5843
|
+
const enrollment = await loadDeviceEnrollmentAnchor({ config, hostScope: currentBootstrapHostScope(), readOnly: !apply });
|
|
5844
|
+
const fabric = await AgentFabricClient.open({ configPath: configPath(), statePath: protocolStatePath(),
|
|
5845
|
+
hostScope: currentBootstrapHostScope(), readOnly: !apply });
|
|
5846
|
+
await fabric.openSession(VERSION);
|
|
5847
|
+
const scope = { organizationId: workspace.organizationId, workspaceId,
|
|
5848
|
+
repositoryBindingId: workspace.repositoryBindingId, repositoryAgentId: workspace.repositoryAgentId };
|
|
5849
|
+
if (apply) {
|
|
5850
|
+
const authorization = validateRepositorySourceAuthorization(await fetchRepositorySourceAuthorization(fabric, scope), scope, new Date());
|
|
5851
|
+
if (!authorization.policy.automaticValidatedPublication)
|
|
5852
|
+
throw new Error('repository_source_restoration_publication_denied');
|
|
5853
|
+
if (flags.has('fence-upload')) {
|
|
5854
|
+
if (workspace.repositoryPackage.pendingLocalOperationId)
|
|
5855
|
+
throw new Error('repository_source_restoration_workspace_not_authorized');
|
|
5856
|
+
let fenced;
|
|
5857
|
+
const assertFenceAuthority = async () => {
|
|
5858
|
+
const current = validateRepositorySourceAuthorization(await fetchRepositorySourceAuthorization(fabric, scope), scope, new Date());
|
|
5859
|
+
if (canonicalize(current) !== canonicalize(authorization))
|
|
5860
|
+
throw new Error('repository_source_restoration_policy_changed');
|
|
5861
|
+
await assertWorkspaceAuthorizationCurrent(workspaceId, policy.serverAuthorization);
|
|
5862
|
+
if (await relaySupervisorProcessState() !== 'stopped' || await relayProcessState() !== 'stopped') {
|
|
5863
|
+
throw new Error('repository_source_restoration_requires_stopped_relay');
|
|
5864
|
+
}
|
|
5865
|
+
};
|
|
5866
|
+
await saveWorkspaceRecord(workspace, { expected: workspace, beforeSave: async () => {
|
|
5867
|
+
await assertFenceAuthority();
|
|
5868
|
+
fenced = await fenceRepositoryRestorationUpload({ transport: fabric, scope,
|
|
5869
|
+
outboxRoot: resolve(dharmaHome(), 'relay', 'repository-candidates'), planHash: required(flags, 'plan-hash'),
|
|
5870
|
+
policyGenerationId: authorization.generationId,
|
|
5871
|
+
expectedPreviousOperationId: workspace.repositoryPackage.operationId ?? null });
|
|
5872
|
+
// Persist acknowledged containment even if source authority rolls over
|
|
5873
|
+
// during the request. This receipt cannot authorize another upload.
|
|
5874
|
+
if (await relaySupervisorProcessState() !== 'stopped' || await relayProcessState() !== 'stopped') {
|
|
5875
|
+
throw new Error('repository_source_restoration_requires_stopped_relay');
|
|
5876
|
+
}
|
|
5877
|
+
if (fenced.fence)
|
|
5878
|
+
await checkpointRepositoryRestorationFence({ scope, fenced,
|
|
5879
|
+
outboxRoot: resolve(dharmaHome(), 'relay', 'repository-candidates') });
|
|
5880
|
+
await assertFenceAuthority();
|
|
5881
|
+
} });
|
|
5882
|
+
if (!fenced)
|
|
5883
|
+
throw new Error('repository_source_restoration_fence_unavailable');
|
|
5884
|
+
return { ok: true, stage: fenced.fence ? 'repository_restoration_upload_fenced' : 'repository_restoration_admission_found',
|
|
5885
|
+
fence: fenced.fence, candidate: fenced.candidate, localMutation: true, serverSourceMutation: false,
|
|
5886
|
+
serverOperationFenced: Boolean(fenced.fence), activated: false,
|
|
5887
|
+
nextAction: fenced.fence ? 'Obtain a fresh restoration dry-run plan before applying; retain the terminal fence archive.'
|
|
5888
|
+
: 'Retry the original plan without --fence-upload to reconcile the admitted candidate; no operation was cancelled.' };
|
|
5889
|
+
}
|
|
5890
|
+
const recovered = await recoverRepositoryRestorationCandidate({ transport: fabric, scope,
|
|
5891
|
+
outboxRoot: resolve(dharmaHome(), 'relay', 'repository-candidates'), planHash: required(flags, 'plan-hash') });
|
|
5892
|
+
if (recovered) {
|
|
5893
|
+
const currentOperationId = workspace.repositoryPackage.operationId ?? null;
|
|
5894
|
+
if (currentOperationId !== recovered.previousOperationId && currentOperationId !== recovered.candidate.operationId) {
|
|
5895
|
+
throw new Error('repository_source_restoration_checkpoint_registry_changed');
|
|
5896
|
+
}
|
|
5897
|
+
if (workspace.repositoryPackage.pendingLocalOperationId
|
|
5898
|
+
&& workspace.repositoryPackage.pendingLocalOperationId !== recovered.candidate.operationId) {
|
|
5899
|
+
throw new Error('repository_source_restoration_checkpoint_registry_changed');
|
|
5900
|
+
}
|
|
5901
|
+
if (recovered.candidate.state === 'published' && recovered.candidate.releaseId === recovered.priorReleaseId) {
|
|
5902
|
+
throw new Error('repository_source_restoration_archived_release_reused');
|
|
5903
|
+
}
|
|
5904
|
+
let admissionAuthorization;
|
|
5905
|
+
for (const hash of new Set([recovered.candidate.snapshotHash, recovered.localSnapshotHash,
|
|
5906
|
+
...(recovered.baselineSnapshotHash ? [recovered.baselineSnapshotHash] : [])])) {
|
|
5907
|
+
const snapshot = await readRepositoryPackageSnapshot(workspace.path, hash);
|
|
5908
|
+
if (!snapshot || snapshot.manifest.organizationId !== scope.organizationId || snapshot.manifest.workspaceId !== workspaceId
|
|
5909
|
+
|| snapshot.manifest.knowledge?.repositoryAgentId !== scope.repositoryAgentId
|
|
5910
|
+
|| hash === recovered.candidate.snapshotHash && sha256(canonicalize(snapshot.manifest)) !== recovered.sourceManifestHash) {
|
|
5911
|
+
throw new Error('repository_source_restoration_checkpoint_snapshot_invalid');
|
|
5912
|
+
}
|
|
5913
|
+
// Historical policy may predate admission, but every retained snapshot
|
|
5914
|
+
// must belong to this exact repository binding, including the baseline.
|
|
5915
|
+
const historical = validateRepositorySourceAuthorization(snapshot.manifest.sourceAuthorization, scope);
|
|
5916
|
+
if (hash === recovered.localSnapshotHash || hash === recovered.candidate.snapshotHash) {
|
|
5917
|
+
if (admissionAuthorization && canonicalize(historical) !== canonicalize(admissionAuthorization)) {
|
|
5918
|
+
throw new Error('repository_source_restoration_checkpoint_snapshot_invalid');
|
|
5919
|
+
}
|
|
5920
|
+
admissionAuthorization = historical;
|
|
5921
|
+
}
|
|
5922
|
+
}
|
|
5923
|
+
if (!admissionAuthorization)
|
|
5924
|
+
throw new Error('repository_source_restoration_checkpoint_snapshot_invalid');
|
|
5925
|
+
const currentAuthorization = validateRepositorySourceAuthorization(await fetchRepositorySourceAuthorization(fabric, scope), scope, new Date());
|
|
5926
|
+
if (canonicalize(currentAuthorization) !== canonicalize(authorization))
|
|
5927
|
+
throw new Error('repository_source_restoration_policy_changed');
|
|
5928
|
+
if (await relaySupervisorProcessState() !== 'stopped' || await relayProcessState() !== 'stopped') {
|
|
5929
|
+
throw new Error('repository_source_restoration_requires_stopped_relay');
|
|
5930
|
+
}
|
|
5931
|
+
await assertWorkspaceAuthorizationCurrent(workspaceId, policy.serverAuthorization);
|
|
5932
|
+
const candidate = recovered.candidate;
|
|
5933
|
+
const pending = candidate.state === 'accepted' || candidate.state === 'processing';
|
|
5934
|
+
await saveWorkspaceRecord({ ...workspace, repositoryPackage: { ...workspace.repositoryPackage,
|
|
5935
|
+
...candidate, sourceManifestHash: recovered.sourceManifestHash, consolidationMode: 'repository_update',
|
|
5936
|
+
sourcePolicyGenerationId: admissionAuthorization.generationId,
|
|
5937
|
+
localBaselineSnapshotHash: candidate.state === 'blocked' ? recovered.baselineSnapshotHash : recovered.localSnapshotHash,
|
|
5938
|
+
publishedLocalSnapshotHash: candidate.state === 'published' ? recovered.localSnapshotHash : recovered.baselineSnapshotHash,
|
|
5939
|
+
pendingLocalSnapshotHash: pending ? recovered.localSnapshotHash : null,
|
|
5940
|
+
pendingLocalOperationId: pending ? candidate.operationId : null } }, { expected: workspace,
|
|
5941
|
+
beforeSave: async () => {
|
|
5942
|
+
const lockedAuthorization = validateRepositorySourceAuthorization(await fetchRepositorySourceAuthorization(fabric, scope), scope, new Date());
|
|
5943
|
+
if (canonicalize(lockedAuthorization) !== canonicalize(authorization))
|
|
5944
|
+
throw new Error('repository_source_restoration_policy_changed');
|
|
5945
|
+
await assertWorkspaceAuthorizationCurrent(workspaceId, policy.serverAuthorization);
|
|
5946
|
+
if (await relaySupervisorProcessState() !== 'stopped' || await relayProcessState() !== 'stopped') {
|
|
5947
|
+
throw new Error('repository_source_restoration_requires_stopped_relay');
|
|
5948
|
+
}
|
|
5949
|
+
await checkpointRepositoryRestorationCandidate({ scope, recovered,
|
|
5950
|
+
outboxRoot: resolve(dharmaHome(), 'relay', 'repository-candidates') });
|
|
5951
|
+
},
|
|
5952
|
+
afterSave: saved => checkpointRepositoryRestorationRegistry({ scope, repositoryPackage: saved.repositoryPackage,
|
|
5953
|
+
outboxRoot: resolve(dharmaHome(), 'relay', 'repository-candidates') }) });
|
|
5954
|
+
return { ok: candidate.state !== 'blocked', stage: 'repository_restoration_candidate_recovered',
|
|
5955
|
+
planHash: recovered.planHash, candidate, priorReleaseId: recovered.priorReleaseId,
|
|
5956
|
+
localMutation: true, serverSourceMutation: false, activated: false,
|
|
5957
|
+
nextAction: 'Resume the owned relay; recovery only reconciled the existing candidate receipt.' };
|
|
5958
|
+
}
|
|
5959
|
+
}
|
|
5960
|
+
if (workspace.repositoryPackage.pendingLocalOperationId)
|
|
5961
|
+
throw new Error('repository_source_restoration_workspace_not_authorized');
|
|
5962
|
+
if (!['published', 'blocked'].includes(workspace.repositoryPackage.state)) {
|
|
5963
|
+
throw new Error('repository_source_restoration_publication_pending');
|
|
5964
|
+
}
|
|
5965
|
+
const baseline = repositorySourceComparisonBaseline(workspace.repositoryPackage, workspace.repositoryPackage.publishedLocalSnapshotHash ?? null);
|
|
5966
|
+
const restorationAttempt = await readRepositoryRestorationAttempt({ scope,
|
|
5967
|
+
outboxRoot: resolve(dharmaHome(), 'relay', 'repository-candidates') });
|
|
5968
|
+
const collected = await collectRepositorySourceRestoration({ ...scope, workspace: workspace.path, transport: fabric,
|
|
5969
|
+
restorationAttempt,
|
|
5970
|
+
serverPublicKey: createPublicKey({ key: { kty: 'OKP', crv: 'Ed25519', x: enrollment.serverPublicKeyEd25519 }, format: 'jwk' }),
|
|
5971
|
+
loadPublishedLocalBaseline: () => baseline ? readRepositoryPackageSnapshot(workspace.path, baseline) : Promise.resolve(null),
|
|
5972
|
+
loadResolution: () => readActiveRepositorySourceResolution(workspace.path) });
|
|
5973
|
+
const planHash = sha256(canonicalize({ schema: 'dharma.repository-restoration-plan/v1', ...scope,
|
|
5974
|
+
priorReleaseId: collected.priorReleaseId, priorGeneration: collected.priorGeneration,
|
|
5975
|
+
headCandidateId: collected.headCandidateId, headSnapshotHash: collected.headSnapshotHash, operationId: collected.operationId,
|
|
5976
|
+
expectedLatestSourceFingerprint: collected.expectedLatestSourceFingerprint,
|
|
5977
|
+
localSnapshotHash: collected.local.manifest.snapshotHash, snapshotHash: collected.snapshot.manifest.snapshotHash }));
|
|
5978
|
+
if (!apply)
|
|
5979
|
+
return { ok: true, stage: 'repository_restoration_planned', dryRun: true, planHash,
|
|
5980
|
+
priorReleaseId: collected.priorReleaseId, priorGeneration: collected.priorGeneration,
|
|
5981
|
+
headCandidateId: collected.headCandidateId, operationId: collected.operationId,
|
|
5982
|
+
expectedLatestSourceFingerprint: collected.expectedLatestSourceFingerprint,
|
|
5983
|
+
snapshotHash: collected.snapshot.manifest.snapshotHash, localMutation: false, serverSourceMutation: false,
|
|
5984
|
+
protocolSessionCreated: true, activated: false, published: false };
|
|
5985
|
+
if (required(flags, 'plan-hash') !== planHash)
|
|
5986
|
+
throw new Error('repository_source_restoration_plan_changed');
|
|
5987
|
+
let candidate;
|
|
5988
|
+
await saveWorkspaceRecord(workspace, { expected: workspace, preparePackage: async () => {
|
|
5989
|
+
await assertWorkspaceAuthorizationCurrent(workspaceId, policy.serverAuthorization);
|
|
5990
|
+
if (await relaySupervisorProcessState() !== 'stopped' || await relayProcessState() !== 'stopped') {
|
|
5991
|
+
throw new Error('repository_source_restoration_requires_stopped_relay');
|
|
5992
|
+
}
|
|
5993
|
+
await collected.assertCurrent();
|
|
5994
|
+
if (await relaySupervisorProcessState() !== 'stopped' || await relayProcessState() !== 'stopped') {
|
|
5995
|
+
throw new Error('repository_source_restoration_requires_stopped_relay');
|
|
5996
|
+
}
|
|
5997
|
+
const finalAuthorization = validateRepositorySourceAuthorization(await fetchRepositorySourceAuthorization(fabric, scope), scope, new Date());
|
|
5998
|
+
if (canonicalize(finalAuthorization) !== canonicalize(collected.snapshot.manifest.sourceAuthorization)) {
|
|
5999
|
+
throw new Error('repository_source_restoration_policy_changed');
|
|
6000
|
+
}
|
|
6001
|
+
await assertWorkspaceAuthorizationCurrent(workspaceId, policy.serverAuthorization);
|
|
6002
|
+
const sourcePolicyGenerationId = collected.snapshot.manifest.sourceAuthorization?.generationId;
|
|
6003
|
+
if (!sourcePolicyGenerationId)
|
|
6004
|
+
throw new Error('repository_source_restoration_policy_changed');
|
|
6005
|
+
if (await relaySupervisorProcessState() !== 'stopped' || await relayProcessState() !== 'stopped') {
|
|
6006
|
+
throw new Error('repository_source_restoration_requires_stopped_relay');
|
|
6007
|
+
}
|
|
6008
|
+
await collected.assertLocalCurrent();
|
|
6009
|
+
await collected.assertHeadCurrent();
|
|
6010
|
+
const postScanAuthorization = validateRepositorySourceAuthorization(await fetchRepositorySourceAuthorization(fabric, scope), scope, new Date());
|
|
6011
|
+
if (canonicalize(postScanAuthorization) !== canonicalize(collected.snapshot.manifest.sourceAuthorization)) {
|
|
6012
|
+
throw new Error('repository_source_restoration_policy_changed');
|
|
6013
|
+
}
|
|
6014
|
+
await assertWorkspaceAuthorizationCurrent(workspaceId, policy.serverAuthorization);
|
|
6015
|
+
if (await relaySupervisorProcessState() !== 'stopped' || await relayProcessState() !== 'stopped') {
|
|
6016
|
+
throw new Error('repository_source_restoration_requires_stopped_relay');
|
|
6017
|
+
}
|
|
6018
|
+
// Network head/authority waits can outlive the preceding local scan.
|
|
6019
|
+
await collected.assertLocalCurrent();
|
|
6020
|
+
// These are bounded observations, not a filesystem/server transaction.
|
|
6021
|
+
// Later edits require a new plan; never replace the immutable plan bytes.
|
|
6022
|
+
await collected.assertHeadCurrent();
|
|
6023
|
+
const admissionAuthorization = validateRepositorySourceAuthorization(await fetchRepositorySourceAuthorization(fabric, scope), scope, new Date());
|
|
6024
|
+
if (canonicalize(admissionAuthorization) !== canonicalize(collected.snapshot.manifest.sourceAuthorization)) {
|
|
6025
|
+
throw new Error('repository_source_restoration_policy_changed');
|
|
6026
|
+
}
|
|
6027
|
+
await assertWorkspaceAuthorizationCurrent(workspaceId, policy.serverAuthorization);
|
|
6028
|
+
if (await relaySupervisorProcessState() !== 'stopped' || await relayProcessState() !== 'stopped') {
|
|
6029
|
+
throw new Error('repository_source_restoration_requires_stopped_relay');
|
|
6030
|
+
}
|
|
6031
|
+
await writeRepositoryPackageSnapshot({ workspace: workspace.path, snapshot: collected.local, candidateOnly: true });
|
|
6032
|
+
if (collected.snapshot.manifest.snapshotHash !== collected.local.manifest.snapshotHash) {
|
|
6033
|
+
await writeRepositoryPackageSnapshot({ workspace: workspace.path, snapshot: collected.snapshot, candidateOnly: true });
|
|
6034
|
+
}
|
|
6035
|
+
candidate = await synchronizeRepositoryCandidate({ transport: fabric,
|
|
6036
|
+
outboxRoot: resolve(dharmaHome(), 'relay', 'repository-candidates'), scope,
|
|
6037
|
+
snapshot: collected.snapshot, initialRepository: false,
|
|
6038
|
+
expectedLatestSourceFingerprint: collected.expectedLatestSourceFingerprint,
|
|
6039
|
+
restoration: { planHash, localSnapshotHash: collected.local.manifest.snapshotHash,
|
|
6040
|
+
baselineSnapshotHash: baseline, previousOperationId: workspace.repositoryPackage.operationId ?? null,
|
|
6041
|
+
priorReleaseId: collected.priorReleaseId, headCandidateId: collected.headCandidateId,
|
|
6042
|
+
...(restorationAttempt ? { attemptId: restorationAttempt } : {}) } });
|
|
6043
|
+
if (await relaySupervisorProcessState() !== 'stopped' || await relayProcessState() !== 'stopped') {
|
|
6044
|
+
throw new Error('repository_source_restoration_requires_stopped_relay');
|
|
6045
|
+
}
|
|
6046
|
+
if (candidate.state === 'published' && candidate.releaseId === collected.priorReleaseId) {
|
|
6047
|
+
throw new Error('repository_source_restoration_archived_release_reused');
|
|
6048
|
+
}
|
|
6049
|
+
const pending = candidate.state === 'accepted' || candidate.state === 'processing';
|
|
6050
|
+
return { ...workspace.repositoryPackage,
|
|
6051
|
+
...candidate, sourceManifestHash: sha256(canonicalize(collected.snapshot.manifest)), consolidationMode: 'repository_update',
|
|
6052
|
+
sourcePolicyGenerationId,
|
|
6053
|
+
localBaselineSnapshotHash: candidate.state === 'blocked' ? baseline : collected.local.manifest.snapshotHash,
|
|
6054
|
+
publishedLocalSnapshotHash: candidate.state === 'published' ? collected.local.manifest.snapshotHash : baseline,
|
|
6055
|
+
pendingLocalSnapshotHash: pending ? collected.local.manifest.snapshotHash : null,
|
|
6056
|
+
pendingLocalOperationId: pending ? candidate.operationId : null };
|
|
6057
|
+
}, afterSave: saved => checkpointRepositoryRestorationRegistry({ scope, repositoryPackage: saved.repositoryPackage,
|
|
6058
|
+
outboxRoot: resolve(dharmaHome(), 'relay', 'repository-candidates') }) });
|
|
6059
|
+
if (!candidate)
|
|
6060
|
+
throw new Error('repository_source_restoration_admission_unavailable');
|
|
6061
|
+
return { ok: candidate.state !== 'blocked', stage: 'repository_restoration_candidate_submitted', planHash, candidate,
|
|
6062
|
+
priorReleaseId: collected.priorReleaseId, localMutation: true, serverSourceMutation: true, activated: false,
|
|
6063
|
+
nextAction: 'Resume the owned relay; evaluation, signing, delivery and activation must pass independently.' };
|
|
6064
|
+
}
|
|
5791
6065
|
export async function repositorySourceResolutionCommand(flags) {
|
|
5792
6066
|
flags = new Map(flags);
|
|
5793
6067
|
const allowed = new Set(['workspace-id', 'dry-run', 'prepare', 'apply', 'plan-hash', 'choose-reviewed-local', 'json']);
|
|
@@ -6053,6 +6327,8 @@ async function onboard(flags) {
|
|
|
6053
6327
|
snapshotHash: canonicalPackage.snapshotHash, state: canonicalPackage.state,
|
|
6054
6328
|
releaseId: canonicalPackage.releaseId,
|
|
6055
6329
|
} }));
|
|
6330
|
+
const beforePackageSave = registered;
|
|
6331
|
+
const restorationRegistryBaseline = candidate.restorationRegistryBaseline;
|
|
6056
6332
|
registered = { ...registered, repositoryPackage: {
|
|
6057
6333
|
state: candidate.state, candidateId: candidate.candidateId, operationId: candidate.operationId,
|
|
6058
6334
|
snapshotHash: candidate.snapshotHash,
|
|
@@ -6060,7 +6336,7 @@ async function onboard(flags) {
|
|
|
6060
6336
|
? sha256(canonicalize(initialSnapshot.manifest)) : canonicalPackage.sourceManifestHash,
|
|
6061
6337
|
releaseId: candidate.releaseId,
|
|
6062
6338
|
generation: candidate.state === 'published' ? Math.max(1, canonicalPackage.generation) : canonicalPackage.generation,
|
|
6063
|
-
consolidationMode: canonicalPackage.generation === 0 ? 'initial_repository'
|
|
6339
|
+
consolidationMode: restorationRegistryBaseline ? 'repository_update' : canonicalPackage.generation === 0 ? 'initial_repository'
|
|
6064
6340
|
: refreshPolicy ? 'repository_update' : canonicalPackage.consolidationMode,
|
|
6065
6341
|
sourcePolicyGenerationId: submitPackage ? sourceAuthorization.generationId : canonicalPackage.sourcePolicyGenerationId,
|
|
6066
6342
|
localBaselineSnapshotHash: initialSnapshot.manifest.snapshotHash,
|
|
@@ -6073,8 +6349,13 @@ async function onboard(flags) {
|
|
|
6073
6349
|
pendingLocalOperationId: submitPackage
|
|
6074
6350
|
? candidate.state === 'accepted' || candidate.state === 'processing'
|
|
6075
6351
|
? candidate.operationId : null : null,
|
|
6352
|
+
...restorationRegistryBaseline,
|
|
6076
6353
|
} };
|
|
6077
|
-
await saveWorkspaceRecord(registered
|
|
6354
|
+
await saveWorkspaceRecord(registered, restorationRegistryBaseline ? {
|
|
6355
|
+
expected: beforePackageSave,
|
|
6356
|
+
afterSave: saved => checkpointRepositoryRestorationRegistry({ outboxRoot, scope: candidateScope,
|
|
6357
|
+
repositoryPackage: saved.repositoryPackage }),
|
|
6358
|
+
} : undefined);
|
|
6078
6359
|
const providers = await staged('role_registration', async () => receiptAwareProviderCapabilities(await Promise.all(selectedProviderAdapters(providerIds).map((adapter) => adapter.capability()))));
|
|
6079
6360
|
const roleRequested = ['role-name', 'question-categories', 'role-description'].some(key => flags.has(key));
|
|
6080
6361
|
if (roleRequested && !['role-name', 'question-categories', 'role-description'].every(key => flags.has(key))) {
|
|
@@ -6138,7 +6419,8 @@ async function onboard(flags) {
|
|
|
6138
6419
|
writePaths: generatedPolicy.tasks.writePaths,
|
|
6139
6420
|
},
|
|
6140
6421
|
repositorySkill: installed,
|
|
6141
|
-
repositoryCandidate: candidate,
|
|
6422
|
+
repositoryCandidate: { candidateId: candidate.candidateId, operationId: candidate.operationId,
|
|
6423
|
+
snapshotHash: candidate.snapshotHash, state: candidate.state, releaseId: candidate.releaseId },
|
|
6142
6424
|
firstLearningEvidence: {
|
|
6143
6425
|
discovered: discoveredTrajectories,
|
|
6144
6426
|
disclosureReady,
|
|
@@ -8304,15 +8586,26 @@ async function relayWorkspaceLoop(flags, signal, serialized) {
|
|
|
8304
8586
|
}
|
|
8305
8587
|
const baseline = advanceRepositorySourceBaseline(canonicalWorkspace.repositoryPackage, current);
|
|
8306
8588
|
const invalidateSourceWatcher = repositorySourcePollInvalidatesWatcher(canonicalWorkspace.repositoryPackage, current);
|
|
8307
|
-
|
|
8589
|
+
const previousWorkspace = canonicalWorkspace;
|
|
8590
|
+
const updatedWorkspace = { ...canonicalWorkspace, repositoryPackage: { ...canonicalWorkspace.repositoryPackage,
|
|
8308
8591
|
state: current.state, candidateId: current.candidateId, operationId: current.operationId,
|
|
8309
8592
|
snapshotHash: current.snapshotHash, releaseId: current.releaseId,
|
|
8310
8593
|
...baseline,
|
|
8311
8594
|
generation: current.state === 'published' ? Math.max(1, canonicalWorkspace.repositoryPackage.generation) : canonicalWorkspace.repositoryPackage.generation } };
|
|
8312
|
-
|
|
8313
|
-
|
|
8314
|
-
|
|
8315
|
-
|
|
8595
|
+
await saveWorkspaceRecord(updatedWorkspace, { expected: previousWorkspace,
|
|
8596
|
+
afterSave: async (saved) => {
|
|
8597
|
+
// The registry is committed even if the following marker fails.
|
|
8598
|
+
// Keep the next poll's CAS anchored to that saved state.
|
|
8599
|
+
canonicalWorkspace = saved;
|
|
8600
|
+
publishedLocalSnapshotHash = baseline.publishedLocalSnapshotHash;
|
|
8601
|
+
if (invalidateSourceWatcher)
|
|
8602
|
+
repositorySourceWatcher.invalidate();
|
|
8603
|
+
await checkpointRepositoryRestorationRegistry({
|
|
8604
|
+
scope: { organizationId: saved.organizationId, workspaceId: saved.workspaceId,
|
|
8605
|
+
repositoryBindingId: saved.repositoryBindingId, repositoryAgentId: saved.repositoryAgentId },
|
|
8606
|
+
repositoryPackage: saved.repositoryPackage, outboxRoot: resolve(dharmaHome(), 'relay', 'repository-candidates')
|
|
8607
|
+
});
|
|
8608
|
+
} });
|
|
8316
8609
|
}
|
|
8317
8610
|
}
|
|
8318
8611
|
catch {
|
|
@@ -8721,6 +9014,12 @@ export async function run(argv) {
|
|
|
8721
9014
|
}
|
|
8722
9015
|
return repositorySourceResolutionCommand(flags);
|
|
8723
9016
|
}
|
|
9017
|
+
if (command === 'repositories' && subcommand === 'restore') {
|
|
9018
|
+
if (positional.length !== 2 || [...repeated.values()].some(values => values.length !== 1)) {
|
|
9019
|
+
throw new Error('repository_source_restoration_option_invalid');
|
|
9020
|
+
}
|
|
9021
|
+
return repositoryRestoreCommand(flags);
|
|
9022
|
+
}
|
|
8724
9023
|
if (command === 'repositories' && ['role-register', 'role-discover', 'ask', 'reply'].includes(String(subcommand))) {
|
|
8725
9024
|
const action = subcommand === 'role-register' ? 'register' : subcommand === 'role-discover' ? 'discover' : subcommand;
|
|
8726
9025
|
return repositoryRoleCommand(action, flags);
|