@dsh-enhanced/plugin-control-plane 0.1.47 → 0.1.49

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.
Files changed (167) hide show
  1. package/README.md +183 -15
  2. package/bin/dsh-live-qualification-authority.js +15 -0
  3. package/bin/dsh-local-release-adapter.js +328 -8
  4. package/bin/dsh-systemd-host-attestor.js +359 -9
  5. package/bin/dsh-systemd-host-authority.js +12 -0
  6. package/lib/adoption-coordinator.d.ts +3 -1
  7. package/lib/adoption-coordinator.d.ts.map +1 -1
  8. package/lib/adoption-coordinator.js +24 -9
  9. package/lib/adoption-coordinator.js.map +1 -1
  10. package/lib/cli.d.ts.map +1 -1
  11. package/lib/cli.js +33 -14
  12. package/lib/cli.js.map +1 -1
  13. package/lib/creation-capability-feedback.d.ts +23 -0
  14. package/lib/creation-capability-feedback.d.ts.map +1 -0
  15. package/lib/creation-capability-feedback.js +132 -0
  16. package/lib/creation-capability-feedback.js.map +1 -0
  17. package/lib/creation-capability-journal.d.ts +66 -0
  18. package/lib/creation-capability-journal.d.ts.map +1 -0
  19. package/lib/creation-capability-journal.js +751 -0
  20. package/lib/creation-capability-journal.js.map +1 -0
  21. package/lib/creation-capability-runtime.d.ts +63 -0
  22. package/lib/creation-capability-runtime.d.ts.map +1 -0
  23. package/lib/creation-capability-runtime.js +564 -0
  24. package/lib/creation-capability-runtime.js.map +1 -0
  25. package/lib/creation-capability-source.d.ts +37 -0
  26. package/lib/creation-capability-source.d.ts.map +1 -0
  27. package/lib/creation-capability-source.js +328 -0
  28. package/lib/creation-capability-source.js.map +1 -0
  29. package/lib/creation-capability-types.d.ts +252 -0
  30. package/lib/creation-capability-types.d.ts.map +1 -0
  31. package/lib/creation-capability-types.js +2 -0
  32. package/lib/creation-capability-types.js.map +1 -0
  33. package/lib/deployment-readiness.d.ts +16 -0
  34. package/lib/deployment-readiness.d.ts.map +1 -1
  35. package/lib/deployment-readiness.js +48 -1
  36. package/lib/deployment-readiness.js.map +1 -1
  37. package/lib/effect-blocked-replay.js +2 -2
  38. package/lib/effect-blocked-replay.js.map +1 -1
  39. package/lib/foreground-deployment-runtime.d.ts +3 -0
  40. package/lib/foreground-deployment-runtime.d.ts.map +1 -1
  41. package/lib/foreground-deployment-runtime.js +55 -13
  42. package/lib/foreground-deployment-runtime.js.map +1 -1
  43. package/lib/foreground-deployment.d.ts.map +1 -1
  44. package/lib/foreground-deployment.js +5 -0
  45. package/lib/foreground-deployment.js.map +1 -1
  46. package/lib/host-attestor.d.ts +2 -0
  47. package/lib/host-attestor.d.ts.map +1 -1
  48. package/lib/host-attestor.js +8 -1
  49. package/lib/host-attestor.js.map +1 -1
  50. package/lib/host-inputs.d.ts +13 -0
  51. package/lib/host-inputs.d.ts.map +1 -0
  52. package/lib/host-inputs.js +162 -0
  53. package/lib/host-inputs.js.map +1 -0
  54. package/lib/host-maintenance.d.ts +61 -0
  55. package/lib/host-maintenance.d.ts.map +1 -0
  56. package/lib/host-maintenance.js +158 -0
  57. package/lib/host-maintenance.js.map +1 -0
  58. package/lib/host-readiness.d.ts +5 -0
  59. package/lib/host-readiness.d.ts.map +1 -0
  60. package/lib/host-readiness.js +22 -0
  61. package/lib/host-readiness.js.map +1 -0
  62. package/lib/index.d.ts +16 -0
  63. package/lib/index.d.ts.map +1 -1
  64. package/lib/index.js +7 -0
  65. package/lib/index.js.map +1 -1
  66. package/lib/live-qualification-authority.d.ts +32 -0
  67. package/lib/live-qualification-authority.d.ts.map +1 -0
  68. package/lib/live-qualification-authority.js +280 -0
  69. package/lib/live-qualification-authority.js.map +1 -0
  70. package/lib/live-qualification-client.d.ts +4 -0
  71. package/lib/live-qualification-client.d.ts.map +1 -0
  72. package/lib/live-qualification-client.js +22 -0
  73. package/lib/live-qualification-client.js.map +1 -0
  74. package/lib/live-qualification-runtime.d.ts +78 -0
  75. package/lib/live-qualification-runtime.d.ts.map +1 -0
  76. package/lib/live-qualification-runtime.js +367 -0
  77. package/lib/live-qualification-runtime.js.map +1 -0
  78. package/lib/live-qualification.d.ts +73 -0
  79. package/lib/live-qualification.d.ts.map +1 -0
  80. package/lib/live-qualification.js +164 -0
  81. package/lib/live-qualification.js.map +1 -0
  82. package/lib/owner-task-gaps.d.ts +2 -0
  83. package/lib/owner-task-gaps.d.ts.map +1 -1
  84. package/lib/owner-task-gaps.js +9 -1
  85. package/lib/owner-task-gaps.js.map +1 -1
  86. package/lib/runtime-epoch.d.ts +69 -0
  87. package/lib/runtime-epoch.d.ts.map +1 -0
  88. package/lib/runtime-epoch.js +139 -0
  89. package/lib/runtime-epoch.js.map +1 -0
  90. package/lib/runtime-observer.d.ts.map +1 -1
  91. package/lib/runtime-observer.js +42 -6
  92. package/lib/runtime-observer.js.map +1 -1
  93. package/lib/service.d.ts +247 -4
  94. package/lib/service.d.ts.map +1 -1
  95. package/lib/service.js +1332 -27
  96. package/lib/service.js.map +1 -1
  97. package/lib/source-adoption-authority.d.ts +3 -0
  98. package/lib/source-adoption-authority.d.ts.map +1 -1
  99. package/lib/source-adoption-authority.js +13 -3
  100. package/lib/source-adoption-authority.js.map +1 -1
  101. package/lib/source-adoption-runner.d.ts +3 -0
  102. package/lib/source-adoption-runner.d.ts.map +1 -1
  103. package/lib/source-adoption-runner.js +16 -4
  104. package/lib/source-adoption-runner.js.map +1 -1
  105. package/lib/source-baseline.d.ts +37 -0
  106. package/lib/source-baseline.d.ts.map +1 -0
  107. package/lib/source-baseline.js +250 -0
  108. package/lib/source-baseline.js.map +1 -0
  109. package/lib/source-build.d.ts +17 -1
  110. package/lib/source-build.d.ts.map +1 -1
  111. package/lib/source-build.js +501 -7
  112. package/lib/source-build.js.map +1 -1
  113. package/lib/source-context.d.ts +18 -0
  114. package/lib/source-context.d.ts.map +1 -1
  115. package/lib/source-context.js +85 -11
  116. package/lib/source-context.js.map +1 -1
  117. package/lib/source-creation.d.ts +106 -0
  118. package/lib/source-creation.d.ts.map +1 -0
  119. package/lib/source-creation.js +664 -0
  120. package/lib/source-creation.js.map +1 -0
  121. package/lib/source-job-types.d.ts +19 -0
  122. package/lib/source-job-types.d.ts.map +1 -1
  123. package/lib/source-jobs.d.ts +30 -3
  124. package/lib/source-jobs.d.ts.map +1 -1
  125. package/lib/source-jobs.js +382 -40
  126. package/lib/source-jobs.js.map +1 -1
  127. package/lib/source-maintenance.d.ts +66 -0
  128. package/lib/source-maintenance.d.ts.map +1 -0
  129. package/lib/source-maintenance.js +177 -0
  130. package/lib/source-maintenance.js.map +1 -0
  131. package/lib/source-revision.d.ts +57 -0
  132. package/lib/source-revision.d.ts.map +1 -0
  133. package/lib/source-revision.js +175 -0
  134. package/lib/source-revision.js.map +1 -0
  135. package/lib/source-workspace.d.ts +19 -14
  136. package/lib/source-workspace.d.ts.map +1 -1
  137. package/lib/source-workspace.js +90 -17
  138. package/lib/source-workspace.js.map +1 -1
  139. package/lib/sqlite.d.ts +13 -3
  140. package/lib/sqlite.d.ts.map +1 -1
  141. package/lib/sqlite.js +362 -1
  142. package/lib/sqlite.js.map +1 -1
  143. package/lib/store.d.ts +258 -3
  144. package/lib/store.d.ts.map +1 -1
  145. package/lib/store.js +2211 -95
  146. package/lib/store.js.map +1 -1
  147. package/lib/systemd-host-authority.d.ts +68 -0
  148. package/lib/systemd-host-authority.d.ts.map +1 -0
  149. package/lib/systemd-host-authority.js +424 -0
  150. package/lib/systemd-host-authority.js.map +1 -0
  151. package/lib/task-observation-evidence.d.ts +32 -0
  152. package/lib/task-observation-evidence.d.ts.map +1 -0
  153. package/lib/task-observation-evidence.js +62 -0
  154. package/lib/task-observation-evidence.js.map +1 -0
  155. package/lib/task-observation-runtime.d.ts +2 -3
  156. package/lib/task-observation-runtime.d.ts.map +1 -1
  157. package/lib/task-observation-runtime.js +7 -39
  158. package/lib/task-observation-runtime.js.map +1 -1
  159. package/lib/task-observation-store.js +1 -1
  160. package/lib/trust.d.ts.map +1 -1
  161. package/lib/trust.js +0 -0
  162. package/lib/trust.js.map +1 -1
  163. package/lib/types.d.ts +43 -6
  164. package/lib/types.d.ts.map +1 -1
  165. package/lib/version.d.ts +1 -1
  166. package/lib/version.js +1 -1
  167. package/package.json +21 -14
@@ -0,0 +1,132 @@
1
+ import { controlPlaneDigest } from './store.js';
2
+ const same = (a, b) => controlPlaneDigest(a) === controlPlaneDigest(b);
3
+ /** Read the current canonical head and the corresponding authenticated Delivery source. */
4
+ function readTask(input, inboxId) {
5
+ const { owner, evaluation, delivery } = input;
6
+ const scope = evaluation.canonicalHostScope({ workspace: owner.workspace, preset: owner.agentPreset });
7
+ const canonical = evaluation.getTrustedForegroundLearningProjection({ scope, inboxId });
8
+ if (!canonical || canonical.projection.subjectKind !== 'foreground-turn'
9
+ || canonical.projection.subjectRef !== inboxId || canonical.projection.disposition !== 'upsert')
10
+ return undefined;
11
+ const source = delivery.inspectOwnerForegroundLearningTask({ authorityId: owner.authorityId,
12
+ principalId: owner.principalId, workspace: owner.workspace, agentPreset: owner.agentPreset,
13
+ outcomeId: canonical.triggerOutcomeId });
14
+ if (!source || source.protocol !== 'assistant-delivery/owner-foreground-learning/v1'
15
+ || !same(source.canonical, canonical)
16
+ || source.source.inboxId !== inboxId || source.source.truncated || !source.source.quiescent
17
+ || source.owner.authorityId !== owner.authorityId || source.owner.authorityHash !== owner.authorityHash
18
+ || source.owner.principalId !== owner.principalId || source.owner.principalRecordId !== owner.principalRecordId
19
+ || source.owner.principalVersion !== owner.principalVersion || source.owner.workspace !== owner.workspace
20
+ || source.owner.agentPreset !== owner.agentPreset || source.ownerRevision?.action === 'withdraw'
21
+ || !['owner-feedback', 'independent-verifier'].includes(source.judgement)
22
+ || !['achieved', 'not-achieved'].includes(source.canonical.objective?.status ?? ''))
23
+ return undefined;
24
+ return source;
25
+ }
26
+ /** No cache: every result is checked against the current canonical writer and owner route. */
27
+ export function inspectCreationCapabilityTaskAssociations(input) {
28
+ const { record, calls, owner, delivery, evaluation } = input;
29
+ const receipt = record.receipt;
30
+ if (!receipt || receipt.planId !== record.planId || input.triggerInboxId.length === 0)
31
+ return [];
32
+ const now = input.now ?? Date.now();
33
+ const receiptDigest = controlPlaneDigest(receipt);
34
+ const grouped = new Map();
35
+ for (const call of calls) {
36
+ const proof = call.foreground;
37
+ if (call.planId !== record.planId || call.status !== 'completed' || call.attribution !== 'foreground'
38
+ || proof?.protocol !== 'assistant-delivery/foreground-tool-call/v1'
39
+ || proof.task.protocol !== 'assistant-delivery/foreground-task/v1'
40
+ || proof.task.inboxId === input.triggerInboxId || !call.claimedAt || !call.settledAt
41
+ || proof.task.dispatchedAt <= receipt.adoptedAt
42
+ || proof.task.dispatchedAt > call.claimedAt || call.claimedAt < receipt.adoptedAt
43
+ || call.claimedAt >= receipt.expiresAt || call.claimedAt > now
44
+ || call.settledAt < call.claimedAt || call.settledAt >= receipt.expiresAt || call.settledAt > now
45
+ || call.receiptDigest !== receiptDigest || call.artifactSha256 !== receipt.artifactSha256
46
+ || call.schemaDigest !== receipt.schemaDigest || call.toolAlias !== proof.call.toolName
47
+ || !record.tools?.some(tool => tool.name === call.toolAlias && tool.originalName === call.originalName)
48
+ || proof.task.scope.workspace !== owner.workspace || proof.task.scope.preset !== owner.agentPreset
49
+ || proof.task.owner.principalRecordId !== owner.principalRecordId
50
+ || proof.task.owner.principalVersion !== owner.principalVersion)
51
+ continue;
52
+ const prior = grouped.get(proof.task.inboxId);
53
+ if (prior && prior.sessionId !== proof.task.sessionId)
54
+ return [];
55
+ if (prior)
56
+ prior.calls.push(call);
57
+ else
58
+ grouped.set(proof.task.inboxId, { sessionId: proof.task.sessionId, calls: [call] });
59
+ }
60
+ if (grouped.size === 0)
61
+ return [];
62
+ const scope = evaluation.canonicalHostScope({ workspace: owner.workspace, preset: owner.agentPreset });
63
+ const read = () => {
64
+ const original = input.readSourceCurrent();
65
+ if (original.projection.subjectKind !== 'foreground-turn'
66
+ || original.projection.subjectRef !== input.triggerInboxId || original.projection.disposition !== 'upsert') {
67
+ throw new Error('created capability original task is no longer current');
68
+ }
69
+ const evidence = [original.projection];
70
+ const items = [];
71
+ let watermark = original.scopeWatermark;
72
+ for (const [inboxId, group] of grouped) {
73
+ const source = readTask(input, inboxId);
74
+ if (!source)
75
+ continue;
76
+ const originalSource = delivery.inspectOwnerForegroundTaskSource({ authorityId: owner.authorityId,
77
+ principalId: owner.principalId, workspace: owner.workspace, agentPreset: owner.agentPreset,
78
+ expectedOwner: { authorityHash: owner.authorityHash, principalRecordId: owner.principalRecordId,
79
+ principalVersion: owner.principalVersion }, inboxId });
80
+ if (!originalSource || originalSource.binding.sessionId !== group.sessionId
81
+ || source.source.sessionId !== group.sessionId
82
+ || source.owner.bindingVersion !== originalSource.binding.version
83
+ || source.owner.generation !== originalSource.binding.generation
84
+ || originalSource.authorityId !== owner.authorityId || originalSource.authorityHash !== owner.authorityHash
85
+ || originalSource.principalId !== owner.principalId
86
+ || originalSource.owner.principalRecordId !== owner.principalRecordId
87
+ || originalSource.owner.principalVersion !== owner.principalVersion)
88
+ continue;
89
+ const valid = group.calls.filter(call => {
90
+ const task = call.foreground.task;
91
+ return task.binding.id === originalSource.binding.id && task.binding.version === originalSource.binding.version
92
+ && task.binding.generation === originalSource.binding.generation;
93
+ });
94
+ if (valid.length === 0)
95
+ continue;
96
+ evidence.push(source.canonical.projection);
97
+ watermark = Math.max(watermark, source.canonical.scopeWatermark);
98
+ const projection = source.canonical.projection;
99
+ items.push({ protocol: 'dsh-created-capability-task-association/v1', planId: record.planId,
100
+ inboxId, sessionId: group.sessionId, callKeys: valid.map(call => call.key).sort(),
101
+ receiptDigest, artifactSha256: receipt.artifactSha256, schemaDigest: receipt.schemaDigest,
102
+ adoptionStatus: record.status,
103
+ withinSignedUseWindow: now >= receipt.adoptedAt && now < receipt.expiresAt,
104
+ task: { projection: { subjectKind: 'foreground-turn', subjectRef: inboxId, version: projection.version,
105
+ digest: projection.digest, disposition: 'upsert' }, scopeWatermark: source.canonical.scopeWatermark,
106
+ outcomeId: source.canonical.triggerOutcomeId,
107
+ judgement: source.judgement,
108
+ status: source.canonical.objective.status,
109
+ sourceDigest: controlPlaneDigest({ protocol: source.protocol, source: source.source,
110
+ judgement: source.judgement, ownerRevision: source.ownerRevision }) } });
111
+ }
112
+ return { original, items, evidence, watermark };
113
+ };
114
+ try {
115
+ const before = read();
116
+ const result = evaluation.withTrustedCanonicalTaskWriterFence({ scope,
117
+ scopeWatermark: before.watermark, evidence: before.evidence }, () => {
118
+ const during = read();
119
+ if (!same(during, before))
120
+ throw new Error('created capability task association source changed');
121
+ return during.items;
122
+ });
123
+ return result.matched ? Object.freeze(result.value.map(item => Object.freeze({ ...item,
124
+ callKeys: Object.freeze([...item.callKeys]),
125
+ task: Object.freeze({ ...item.task, projection: Object.freeze({ ...item.task.projection }) }),
126
+ }))) : [];
127
+ }
128
+ catch {
129
+ return [];
130
+ }
131
+ }
132
+ //# sourceMappingURL=creation-capability-feedback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"creation-capability-feedback.js","sourceRoot":"","sources":["../src/creation-capability-feedback.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ import { type CreationCapabilitySourceSnapshot } from './creation-capability-source.js';
2
+ import type { CreationCapabilityCall, CreationCapabilityCallEvidence, CreationCapabilityConfig, CreationCapabilityForegroundCallWitness, CreationCapabilityJournalPort, CreationCapabilityReceipt, CreationCapabilityRecord, CreationCapabilitySourceArchive, CreationCapabilityTool } from './creation-capability-types.js';
3
+ export declare function verifyCreationCapabilityReceipt(value: unknown, authorityDigest: string, publicKey: string, now?: number): value is CreationCapabilityReceipt;
4
+ /** Read-only preflight; it never creates a signing key or ledger. */
5
+ export declare function validateCreationCapabilityConfig(value: unknown): asserts value is CreationCapabilityConfig;
6
+ /** Stable public identity for preflight comparison with the independent verifier key. */
7
+ export declare function creationCapabilityPublicKey(config: CreationCapabilityConfig): string;
8
+ /** Reservations consume quota before any external invocation; recovery only marks uncertainty. */
9
+ export declare class CreationCapabilityJournal implements CreationCapabilityJournalPort {
10
+ readonly authorityDigest: string;
11
+ readonly publicKey: string;
12
+ private readonly db;
13
+ private readonly key;
14
+ private readonly identity;
15
+ private readonly path;
16
+ private readonly config;
17
+ constructor(input: {
18
+ path: string;
19
+ config: CreationCapabilityConfig;
20
+ });
21
+ private checkFiles;
22
+ private syncDirectory;
23
+ private transaction;
24
+ private row;
25
+ private decode;
26
+ inspect(planId: string): CreationCapabilityRecord | undefined;
27
+ list(): readonly CreationCapabilityRecord[];
28
+ private checkCalls;
29
+ private decodeCall;
30
+ claim(input: {
31
+ certificate: CreationCapabilityRecord['certificate'];
32
+ artifact: Buffer;
33
+ source?: CreationCapabilitySourceSnapshot;
34
+ }): {
35
+ created: boolean;
36
+ record: CreationCapabilityRecord;
37
+ };
38
+ /** Archive validation is lazy; adoption reconciliation never loads source text. */
39
+ inspectSourceArchive(planId: string): CreationCapabilitySourceArchive | undefined;
40
+ private validateTools;
41
+ authorize(planId: string, tools: readonly CreationCapabilityTool[]): CreationCapabilityRecord;
42
+ activate(planId: string): CreationCapabilityRecord;
43
+ settle(planId: string, status: 'closed' | 'unknown' | 'rejected', reason: string): void;
44
+ claimCall(input: {
45
+ planId: string;
46
+ key: string;
47
+ argumentsDigest: string;
48
+ toolAlias?: string;
49
+ foreground?: CreationCapabilityForegroundCallWitness;
50
+ }): {
51
+ created: boolean;
52
+ call: CreationCapabilityCall;
53
+ };
54
+ settleCall(input: {
55
+ planId: string;
56
+ key: string;
57
+ status: 'completed' | 'unknown';
58
+ result?: unknown;
59
+ jobId?: string;
60
+ }): void;
61
+ /** Host-only bounded metadata; never expose candidate arguments, results or private artifact bytes. */
62
+ listCallEvidence(planId: string): readonly CreationCapabilityCallEvidence[];
63
+ recoverClaims(): void;
64
+ close(): void;
65
+ }
66
+ //# sourceMappingURL=creation-capability-journal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"creation-capability-journal.d.ts","sourceRoot":"","sources":["../src/creation-capability-journal.ts"],"names":[],"mappings":"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"}