@nklisch/pi-enhanced 0.1.0 → 0.1.1

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 (77) hide show
  1. package/node_modules/@nklisch/pi-plugins/dist/application/automatic-trust-continuity.d.ts +34 -0
  2. package/node_modules/@nklisch/pi-plugins/dist/application/automatic-trust-continuity.js +310 -0
  3. package/node_modules/@nklisch/pi-plugins/dist/application/automatic-trust-continuity.js.map +1 -0
  4. package/node_modules/@nklisch/pi-plugins/dist/application/automatic-update-coordinator.d.ts +2 -0
  5. package/node_modules/@nklisch/pi-plugins/dist/application/automatic-update-coordinator.js +19 -0
  6. package/node_modules/@nklisch/pi-plugins/dist/application/automatic-update-coordinator.js.map +1 -1
  7. package/node_modules/@nklisch/pi-plugins/dist/application/hook-visibility-contract.d.ts +40 -0
  8. package/node_modules/@nklisch/pi-plugins/dist/application/hook-visibility-contract.js +28 -0
  9. package/node_modules/@nklisch/pi-plugins/dist/application/hook-visibility-contract.js.map +1 -0
  10. package/node_modules/@nklisch/pi-plugins/dist/application/hook-visibility-service.d.ts +24 -0
  11. package/node_modules/@nklisch/pi-plugins/dist/application/hook-visibility-service.js +67 -0
  12. package/node_modules/@nklisch/pi-plugins/dist/application/hook-visibility-service.js.map +1 -0
  13. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-contract.d.ts +1 -0
  14. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-dispatcher.js +1 -0
  15. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-dispatcher.js.map +1 -1
  16. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-help.d.ts +3 -1
  17. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-mutation-dispatch.js +9 -0
  18. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-mutation-dispatch.js.map +1 -1
  19. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-parser.d.ts +1 -0
  20. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-parser.js +1 -0
  21. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-parser.js.map +1 -1
  22. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-progress.d.ts +2 -0
  23. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-registry.d.ts +23 -0
  24. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-registry.js +2 -0
  25. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-registry.js.map +1 -1
  26. package/node_modules/@nklisch/pi-plugins/dist/application/ports/mcp-runtime.d.ts +0 -2
  27. package/node_modules/@nklisch/pi-plugins/dist/application/ports/mcp-runtime.js +2 -1
  28. package/node_modules/@nklisch/pi-plugins/dist/application/ports/mcp-runtime.js.map +1 -1
  29. package/node_modules/@nklisch/pi-plugins/dist/application/ports/native-control-applications.d.ts +2 -0
  30. package/node_modules/@nklisch/pi-plugins/dist/application/state-contract.d.ts +28 -0
  31. package/node_modules/@nklisch/pi-plugins/dist/composition/create-native-update-management-service.d.ts +2 -0
  32. package/node_modules/@nklisch/pi-plugins/dist/composition/create-native-update-management-service.js +9 -0
  33. package/node_modules/@nklisch/pi-plugins/dist/composition/create-native-update-management-service.js.map +1 -1
  34. package/node_modules/@nklisch/pi-plugins/dist/composition/create-packaged-plugin-host.js +6 -1
  35. package/node_modules/@nklisch/pi-plugins/dist/composition/create-packaged-plugin-host.js.map +1 -1
  36. package/node_modules/@nklisch/pi-plugins/dist/composition/create-skill-hook-runtime.d.ts +2 -0
  37. package/node_modules/@nklisch/pi-plugins/dist/composition/create-skill-hook-runtime.js +1 -1
  38. package/node_modules/@nklisch/pi-plugins/dist/composition/create-skill-hook-runtime.js.map +1 -1
  39. package/node_modules/@nklisch/pi-plugins/dist/domain/hook-output-contract.d.ts +7 -1
  40. package/node_modules/@nklisch/pi-plugins/dist/domain/hook-output-contract.js.map +1 -1
  41. package/node_modules/@nklisch/pi-plugins/dist/domain/hook-visibility.d.ts +16 -0
  42. package/node_modules/@nklisch/pi-plugins/dist/domain/hook-visibility.js +12 -0
  43. package/node_modules/@nklisch/pi-plugins/dist/domain/hook-visibility.js.map +1 -0
  44. package/node_modules/@nklisch/pi-plugins/dist/domain/state/codec.js +1 -1
  45. package/node_modules/@nklisch/pi-plugins/dist/domain/state/codec.js.map +1 -1
  46. package/node_modules/@nklisch/pi-plugins/dist/domain/state/config-state.d.ts +15 -0
  47. package/node_modules/@nklisch/pi-plugins/dist/domain/state/config-state.js +7 -0
  48. package/node_modules/@nklisch/pi-plugins/dist/domain/state/config-state.js.map +1 -1
  49. package/node_modules/@nklisch/pi-plugins/dist/domain/state/registry.d.ts +7 -0
  50. package/node_modules/@nklisch/pi-plugins/dist/index.d.ts +2 -0
  51. package/node_modules/@nklisch/pi-plugins/dist/index.js +1 -0
  52. package/node_modules/@nklisch/pi-plugins/dist/index.js.map +1 -1
  53. package/node_modules/@nklisch/pi-plugins/dist/pi/hooks/pi-hook-context-renderer.d.ts +18 -0
  54. package/node_modules/@nklisch/pi-plugins/dist/pi/hooks/pi-hook-context-renderer.js +47 -0
  55. package/node_modules/@nklisch/pi-plugins/dist/pi/hooks/pi-hook-context-renderer.js.map +1 -0
  56. package/node_modules/@nklisch/pi-plugins/dist/pi/hooks/pi-hook-decision-adapter.d.ts +3 -1
  57. package/node_modules/@nklisch/pi-plugins/dist/pi/hooks/pi-hook-decision-adapter.js +28 -11
  58. package/node_modules/@nklisch/pi-plugins/dist/pi/hooks/pi-hook-decision-adapter.js.map +1 -1
  59. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-component.js +1 -1
  60. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-component.js.map +1 -1
  61. package/node_modules/@nklisch/pi-plugins/dist/runtime/hooks/hook-decision-aggregator.js +1 -1
  62. package/node_modules/@nklisch/pi-plugins/dist/runtime/hooks/hook-decision-aggregator.js.map +1 -1
  63. package/node_modules/@nklisch/pi-plugins/dist/runtime/mcp/pi-mcp-adapter-package.js +1 -7
  64. package/node_modules/@nklisch/pi-plugins/dist/runtime/mcp/pi-mcp-adapter-package.js.map +1 -1
  65. package/node_modules/@nklisch/pi-plugins/dist/runtime/mcp/pi-mcp-adapter-runtime.js +1 -2
  66. package/node_modules/@nklisch/pi-plugins/dist/runtime/mcp/pi-mcp-adapter-runtime.js.map +1 -1
  67. package/node_modules/@nklisch/pi-plugins/dist/runtime/published-package-receipt.d.ts +10 -13
  68. package/node_modules/@nklisch/pi-plugins/dist/runtime/published-package-receipt.js +7 -92
  69. package/node_modules/@nklisch/pi-plugins/dist/runtime/published-package-receipt.js.map +1 -1
  70. package/node_modules/@nklisch/pi-plugins/dist/runtime/subagents/pi-subagents-lifecycle.js +2 -2
  71. package/node_modules/@nklisch/pi-plugins/dist/runtime/subagents/pi-subagents-package.js +1 -7
  72. package/node_modules/@nklisch/pi-plugins/dist/runtime/subagents/pi-subagents-package.js.map +1 -1
  73. package/node_modules/@nklisch/pi-plugins/dist/runtime/subagents/subagent-hook-coordinator.js +2 -2
  74. package/node_modules/@nklisch/pi-plugins/dist/runtime/subagents/subagent-hook-coordinator.js.map +1 -1
  75. package/node_modules/@nklisch/pi-plugins/node_modules/@nklisch/pi-subagents/package.json +5 -2
  76. package/node_modules/@nklisch/pi-plugins/package.json +3 -3
  77. package/package.json +1 -1
@@ -0,0 +1,34 @@
1
+ import type { Sha256 } from "../domain/source.js";
2
+ import { type ScopeContext } from "../domain/state/scope.js";
3
+ import type { GenerationMutationCoordinator } from "./generation-mutation-coordinator.js";
4
+ import type { InstalledPluginLoader } from "./ports/installed-plugin-loader.js";
5
+ import type { LifecycleStateStore } from "./ports/lifecycle-state-store.js";
6
+ import type { ProjectTrustPort } from "./ports/project-trust.js";
7
+ /**
8
+ * Automatic trust continuity. Enabling automatic updates is the operator's
9
+ * consent to acquire, validate, and activate compatible new revisions from the
10
+ * same trusted source, including revisions that change hook or MCP execution
11
+ * definitions. Exact-subject trust evaluation never infers that consent at
12
+ * read time, so this service records the exact grant for the selected
13
+ * revision itself whenever the automatic policy, an unchanged source lineage,
14
+ * and a granted baseline all hold. Explicit revocation of the exact subject
15
+ * still wins; a lineage with no granted baseline still requires interactive
16
+ * consent.
17
+ */
18
+ export interface AutomaticTrustContinuity {
19
+ ensure(scope: ScopeContext, signal: AbortSignal): Promise<AutomaticTrustContinuityResult>;
20
+ }
21
+ export type AutomaticTrustContinuityResult = Readonly<{
22
+ kind: "ensured";
23
+ granted: readonly string[];
24
+ }> | Readonly<{
25
+ kind: "unavailable";
26
+ }>;
27
+ export type AutomaticTrustContinuityDependencies = Readonly<{
28
+ state: LifecycleStateStore;
29
+ mutations: GenerationMutationCoordinator;
30
+ installed: InstalledPluginLoader;
31
+ projectTrust?: ProjectTrustPort;
32
+ sha256: Sha256;
33
+ }>;
34
+ export declare function createAutomaticTrustContinuity(dependencies: AutomaticTrustContinuityDependencies): AutomaticTrustContinuity;
@@ -0,0 +1,310 @@
1
+ import { compareUtf8 } from "../domain/canonical-json.js";
2
+ import { MarketplaceNameSchema } from "../domain/identity.js";
3
+ import { createTrustCandidate, grantTrust } from "../domain/trust-policy.js";
4
+ import { createTrustStateDocument, verifyTrustStateRecord, } from "../domain/state/trust-state.js";
5
+ import { toScopeReference } from "../domain/state/scope.js";
6
+ import { deriveMarketplaceSourceIdentity } from "../domain/update-policy.js";
7
+ import { parseStateMutation } from "./state-contract.js";
8
+ import { resolveEffectiveUpdatePolicy } from "./update-policy-resolution.js";
9
+ function installedPlugins(snapshot) {
10
+ return "installed" in snapshot ? snapshot.installed.plugins : snapshot.project.plugins;
11
+ }
12
+ function trustRecordsOf(snapshot) {
13
+ return "trust" in snapshot ? snapshot.trust.records : [];
14
+ }
15
+ function marketplaceOf(plugin) {
16
+ return plugin.slice(plugin.lastIndexOf("@") + 1);
17
+ }
18
+ /**
19
+ * Load-free presence check for the selected revision's exact subject. The
20
+ * subject is derived from evidence whose revision-embedded fields are fully
21
+ * determined by the materialization binding, so a record matching plugin,
22
+ * scope, immutable revision, and executable surface IS the exact subject.
23
+ */
24
+ function hasExactSubjectRecord(records, pluginRecord, selected, scope, sha256) {
25
+ for (const raw of records) {
26
+ let record;
27
+ try {
28
+ record = verifyTrustStateRecord(raw, sha256);
29
+ }
30
+ catch {
31
+ continue;
32
+ }
33
+ if (record.evidence.plugin !== pluginRecord.plugin)
34
+ continue;
35
+ if (record.evidence.scope.kind !== scope.kind ||
36
+ (scope.kind === "project" && (record.evidence.scope.kind !== "project" || record.evidence.scope.projectKey !== scope.projectKey)))
37
+ continue;
38
+ if (record.evidence.immutableRevision === selected.revision &&
39
+ record.evidence.executableSurfaceDigest === selected.evidence.trust.executableSurfaceDigest) {
40
+ return true;
41
+ }
42
+ }
43
+ return false;
44
+ }
45
+ /**
46
+ * Lineage consent: an exact grant for another installed revision of the same
47
+ * plugin whose stable source identities match the selected revision. Trust
48
+ * evidence embeds the immutable revision in its canonical sources, so lineage
49
+ * is anchored on installed revision records (revision digest plus executable
50
+ * surface) rather than on the grant's canonical source text.
51
+ */
52
+ function hasGrantedBaseline(records, pluginRecord, selected, scope, sha256) {
53
+ const selectedIdentity = selected.evidence.source;
54
+ if (selectedIdentity.marketplaceSourceIdentity === undefined || selectedIdentity.pluginSourceIdentity === undefined)
55
+ return false;
56
+ for (const raw of records) {
57
+ let record;
58
+ try {
59
+ record = verifyTrustStateRecord(raw, sha256);
60
+ }
61
+ catch {
62
+ return false;
63
+ }
64
+ if (record.status !== "granted")
65
+ continue;
66
+ if (record.evidence.plugin !== pluginRecord.plugin)
67
+ continue;
68
+ if (record.evidence.scope.kind !== scope.kind ||
69
+ (scope.kind === "project" && (record.evidence.scope.kind !== "project" || record.evidence.scope.projectKey !== scope.projectKey)))
70
+ continue;
71
+ const anchor = pluginRecord.revisions.find((revision) => revision.revision === record.evidence.immutableRevision &&
72
+ revision.evidence.trust.executableSurfaceDigest === record.evidence.executableSurfaceDigest);
73
+ if (anchor === undefined)
74
+ continue;
75
+ if (anchor.evidence.source.marketplaceSourceIdentity !== selectedIdentity.marketplaceSourceIdentity ||
76
+ anchor.evidence.source.pluginSourceIdentity !== selectedIdentity.pluginSourceIdentity)
77
+ continue;
78
+ return true;
79
+ }
80
+ return false;
81
+ }
82
+ function exactRecord(records, subject, sha256) {
83
+ for (const raw of records) {
84
+ try {
85
+ const record = verifyTrustStateRecord(raw, sha256);
86
+ if (record.subject === subject)
87
+ return record;
88
+ }
89
+ catch {
90
+ return undefined;
91
+ }
92
+ }
93
+ return undefined;
94
+ }
95
+ class NoContinuityGrants extends Error {
96
+ constructor() {
97
+ super("locked snapshot already adjudicated every planned subject");
98
+ this.name = "NoContinuityGrants";
99
+ }
100
+ }
101
+ class ProjectAuthorityStale extends Error {
102
+ constructor() {
103
+ super("project authority changed between planning and commit");
104
+ this.name = "ProjectAuthorityStale";
105
+ }
106
+ }
107
+ export function createAutomaticTrustContinuity(dependencies) {
108
+ if (dependencies === null || typeof dependencies !== "object" || typeof dependencies.sha256 !== "function") {
109
+ throw new TypeError("automatic trust continuity dependencies are required");
110
+ }
111
+ async function projectTrusted(scope, signal) {
112
+ if (scope.kind === "user")
113
+ return true;
114
+ if (dependencies.projectTrust === undefined)
115
+ return false;
116
+ try {
117
+ return (await dependencies.projectTrust.assess(scope.projectKey, signal)).kind === "trusted";
118
+ }
119
+ catch (error) {
120
+ if (signal.aborted)
121
+ throw signal.reason ?? error;
122
+ return false;
123
+ }
124
+ }
125
+ async function planGrants(scope, snapshot, userSnapshot, signal) {
126
+ const policyRecords = "config" in snapshot ? snapshot.config.records : snapshot.project.marketplaceUpdates;
127
+ const scopedPolicy = "config" in snapshot ? snapshot.config.scope.application : snapshot.project.scope.application;
128
+ const globalPolicy = "config" in userSnapshot ? userSnapshot.config.global.application : undefined;
129
+ if (globalPolicy === undefined)
130
+ return undefined;
131
+ const records = trustRecordsOf(userSnapshot);
132
+ const trusted = await projectTrusted(scope, signal);
133
+ if (!trusted)
134
+ return [];
135
+ const planned = [];
136
+ for (const pluginRecord of installedPlugins(snapshot)) {
137
+ const plugin = pluginRecord.plugin;
138
+ const policyRecord = policyRecords.find((record) => record.marketplace === MarketplaceNameSchema.parse(marketplaceOf(plugin)));
139
+ if (policyRecord === undefined)
140
+ continue;
141
+ const selected = pluginRecord.revisions.find((revision) => revision.revision === pluginRecord.selectedRevision);
142
+ if (selected === undefined)
143
+ continue;
144
+ const effective = resolveEffectiveUpdatePolicy({
145
+ plugin,
146
+ record: policyRecord,
147
+ global: globalPolicy,
148
+ ...(scopedPolicy === undefined ? {} : { scope: scopedPolicy }),
149
+ marketplaceSourceIdentity: selected.evidence.source.marketplaceSourceIdentity ?? "legacy-unavailable",
150
+ registeredMarketplaceSourceIdentity: deriveMarketplaceSourceIdentity(policyRecord.source, dependencies.sha256),
151
+ pluginSourceIdentity: selected.evidence.source.pluginSourceIdentity ?? "legacy-unavailable",
152
+ });
153
+ if (effective.application !== "automatic" || effective.sourceGuard !== "none")
154
+ continue;
155
+ // Already-adjudicated subjects (granted or revoked) and plugins with no
156
+ // granted lineage never need their retained content loaded. Continuity
157
+ // runs every background cycle, so keep the steady state disk-free.
158
+ if (hasExactSubjectRecord(records, pluginRecord, selected, scope, dependencies.sha256))
159
+ continue;
160
+ if (!hasGrantedBaseline(records, pluginRecord, selected, scope, dependencies.sha256))
161
+ continue;
162
+ let loaded;
163
+ try {
164
+ loaded = await dependencies.installed.load({ scope, revision: selected }, signal);
165
+ }
166
+ catch (error) {
167
+ if (signal.aborted)
168
+ throw signal.reason ?? error;
169
+ // Fail closed for this subject only; one unavailable plugin must not
170
+ // block continuity for every other plugin in the scope.
171
+ continue;
172
+ }
173
+ let candidate;
174
+ try {
175
+ candidate = createTrustCandidate({
176
+ scope: toScopeReference(scope),
177
+ marketplaceSource: loaded.marketplaceSource,
178
+ plugin: loaded.plugin,
179
+ compatibility: loaded.compatibility,
180
+ content: loaded.content,
181
+ materializationBinding: loaded.binding,
182
+ }, dependencies.sha256);
183
+ }
184
+ catch {
185
+ continue;
186
+ }
187
+ // The load-free checks above established absence of any exact record
188
+ // and the presence of a baseline; the candidate only names the subject
189
+ // being granted.
190
+ planned.push({ plugin, candidate, record: pluginRecord, selected });
191
+ }
192
+ return planned;
193
+ }
194
+ async function ensure(scope, signal) {
195
+ for (let attempt = 0; attempt < 2; attempt += 1) {
196
+ signal.throwIfAborted();
197
+ const loaded = await dependencies.state.read(scope, signal).catch((error) => {
198
+ if (signal.aborted)
199
+ throw error;
200
+ return undefined;
201
+ });
202
+ if (loaded === undefined)
203
+ return { kind: "unavailable" };
204
+ if (!loaded.ok)
205
+ return { kind: "unavailable" };
206
+ // Trust authority is always user state, even for project-scope plugins.
207
+ const userLoaded = scope.kind === "user"
208
+ ? loaded
209
+ : await dependencies.state.read({ kind: "user" }, signal).catch((error) => {
210
+ if (signal.aborted)
211
+ throw error;
212
+ return undefined;
213
+ });
214
+ if (userLoaded === undefined || !userLoaded.ok || !("trust" in userLoaded.snapshot))
215
+ return { kind: "unavailable" };
216
+ const planned = await planGrants(scope, loaded.snapshot, userLoaded.snapshot, signal);
217
+ if (planned === undefined)
218
+ return { kind: "unavailable" };
219
+ if (planned.length === 0)
220
+ return { kind: "ensured", granted: [] };
221
+ const outcome = await (async () => {
222
+ try {
223
+ return { result: await dependencies.mutations.runPreparedMutation({
224
+ scope: { kind: "user" },
225
+ plugins: planned.map((entry) => entry.plugin),
226
+ expectedGeneration: userLoaded.snapshot.generation,
227
+ }, async (context) => {
228
+ if (!("trust" in context.snapshot))
229
+ throw new Error("trust authority is not user state");
230
+ const current = context.snapshot.trust.records;
231
+ const additions = [];
232
+ for (const entry of planned) {
233
+ // Re-adjudicate inside the locked snapshot: a concurrent grant or
234
+ // revocation of the exact subject since planning wins.
235
+ if (exactRecord(current, entry.candidate.subject, dependencies.sha256) !== undefined)
236
+ continue;
237
+ if (!hasGrantedBaseline(current, entry.record, entry.selected, scope, dependencies.sha256))
238
+ continue;
239
+ additions.push(grantTrust(entry.candidate, dependencies.sha256));
240
+ }
241
+ // Re-adjudication can remove every planned subject (concurrent
242
+ // grant or baseline revocation). Never commit a no-op trust
243
+ // replacement: churning the user generation moves authority under
244
+ // foreground readers for no semantic change.
245
+ if (additions.length === 0)
246
+ throw new NoContinuityGrants();
247
+ const records = [...current, ...additions].sort((left, right) => compareUtf8(left.subject, right.subject));
248
+ const trust = createTrustStateDocument({
249
+ schemaVersion: 1,
250
+ generation: context.snapshot.generation,
251
+ records,
252
+ }, dependencies.sha256);
253
+ return {
254
+ mutation: parseStateMutation({
255
+ scope: { kind: "user" },
256
+ expectedGeneration: context.snapshot.generation,
257
+ replace: { trust },
258
+ }, dependencies.sha256),
259
+ value: additions.map((record) => record.subject),
260
+ ...(scope.kind === "project" ? {
261
+ // The locked snapshot is user state; project authority (trust,
262
+ // policy, selected revision, baseline) can move underneath the
263
+ // plan from another session without advancing the user
264
+ // generation. Re-adjudicate the exact plan against fresh
265
+ // project authority immediately before commit.
266
+ beforeCommit: async () => {
267
+ if (!await projectTrusted(scope, signal))
268
+ throw new ProjectAuthorityStale();
269
+ const fresh = await dependencies.state.read(scope, signal);
270
+ if (!fresh.ok)
271
+ throw new ProjectAuthorityStale();
272
+ const replanned = await planGrants(scope, fresh.snapshot, context.snapshot, signal);
273
+ if (replanned === undefined)
274
+ throw new ProjectAuthorityStale();
275
+ const wanted = planned.map((entry) => entry.candidate.subject).sort(compareUtf8);
276
+ const current = replanned.map((entry) => entry.candidate.subject).sort(compareUtf8);
277
+ if (wanted.length !== current.length || wanted.some((subject, index) => subject !== current[index])) {
278
+ throw new ProjectAuthorityStale();
279
+ }
280
+ },
281
+ } : {}),
282
+ };
283
+ }, signal) };
284
+ }
285
+ catch (error) {
286
+ if (error instanceof NoContinuityGrants)
287
+ return { noGrants: true };
288
+ // The project moved between planning and commit; the retry loop
289
+ // replans against fresh authority.
290
+ if (error instanceof ProjectAuthorityStale)
291
+ return { projectStale: true };
292
+ throw error;
293
+ }
294
+ })();
295
+ if ("noGrants" in outcome)
296
+ return { kind: "ensured", granted: [] };
297
+ if ("projectStale" in outcome)
298
+ continue;
299
+ const result = outcome.result;
300
+ if (result.kind === "committed")
301
+ return { kind: "ensured", granted: result.value };
302
+ if (result.kind === "stale-generation")
303
+ continue;
304
+ return { kind: "unavailable" };
305
+ }
306
+ return { kind: "unavailable" };
307
+ }
308
+ return Object.freeze({ ensure });
309
+ }
310
+ //# sourceMappingURL=automatic-trust-continuity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"automatic-trust-continuity.js","sourceRoot":"","sources":["../../src/application/automatic-trust-continuity.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { type UpdateNoticeId } from "../domain/update-policy.js";
2
2
  import type { Sha256 } from "../domain/source.js";
3
3
  import { type AutomaticUpdateEligibility } from "./automatic-update-eligibility.js";
4
+ import type { AutomaticTrustContinuity } from "./automatic-trust-continuity.js";
4
5
  import type { GenerationMutationCoordinator } from "./generation-mutation-coordinator.js";
5
6
  import { type NativeAutomaticUpdateRunRequest, type NativeAutomaticUpdateRunResult } from "./native-update-contract.js";
6
7
  import type { AutomaticUpdateLifecyclePort } from "./ports/automatic-update-lifecycle.js";
@@ -24,6 +25,7 @@ export type AutomaticUpdateCoordinatorDependencies = Readonly<{
24
25
  policy: UpdatePolicyAuthorityPort;
25
26
  lifecycle: AutomaticUpdateLifecyclePort;
26
27
  activation: UpdateActivationContextPort;
28
+ continuity: AutomaticTrustContinuity;
27
29
  clock: LifecycleClock;
28
30
  sha256: Sha256;
29
31
  }> & CurrentScopeAuthorityDependencies;
@@ -180,6 +180,15 @@ export function createAutomaticUpdateCoordinator(dependencies) {
180
180
  for (const context of await contexts(signal)) {
181
181
  if (!await authorized(context, signal))
182
182
  continue;
183
+ // Heal already-installed revisions whose exact trust grant predates an
184
+ // authorized automatic update. Continuity never blocks notice work.
185
+ try {
186
+ await dependencies.continuity.ensure(context, signal);
187
+ }
188
+ catch (error) {
189
+ if (signal.aborted)
190
+ throw signal.reason ?? error;
191
+ }
183
192
  const loaded = await dependencies.state.read(context, signal);
184
193
  if (!loaded.ok)
185
194
  continue;
@@ -210,6 +219,16 @@ export function createAutomaticUpdateCoordinator(dependencies) {
210
219
  continue;
211
220
  }
212
221
  const result = await dependencies.lifecycle.apply(latest.notice, signal);
222
+ if (result.kind === "changed") {
223
+ // Chain the exact trust grant for the just-activated revision within
224
+ // this run so its hooks and MCP servers launch without re-consent.
225
+ // Like ledger settlement, this local write outranks caller
226
+ // cancellation once the update has committed.
227
+ try {
228
+ await dependencies.continuity.ensure(latest.context, new AbortController().signal);
229
+ }
230
+ catch { /* healed by the next scheduler cycle */ }
231
+ }
213
232
  const projected = lifecycleOutcome(latest.notice, result);
214
233
  // Once lifecycle may have committed, rollback/recovery truth outranks the
215
234
  // caller's cancellation. Settle the durable ledger with fresh authority.
@@ -1 +1 @@
1
- {"version":3,"file":"automatic-update-coordinator.js","sourceRoot":"","sources":["../../src/application/automatic-update-coordinator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"automatic-update-coordinator.js","sourceRoot":"","sources":["../../src/application/automatic-update-coordinator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * One command reads and writes the preference: a `visibility` positional
4
+ * sets it, an omitted positional returns the current value unchanged.
5
+ */
6
+ export declare const NativeHookVisibilityRequestSchema: z.ZodReadonly<z.ZodObject<{
7
+ visibility: z.ZodOptional<z.ZodEnum<{
8
+ full: "full";
9
+ hidden: "hidden";
10
+ line: "line";
11
+ }>>;
12
+ }, z.core.$strict>>;
13
+ export type NativeHookVisibilityRequest = z.infer<typeof NativeHookVisibilityRequestSchema>;
14
+ export declare const NativeHookVisibilityResultSchema: z.ZodDiscriminatedUnion<[z.ZodReadonly<z.ZodObject<{
15
+ kind: z.ZodLiteral<"current">;
16
+ visibility: z.ZodEnum<{
17
+ full: "full";
18
+ hidden: "hidden";
19
+ line: "line";
20
+ }>;
21
+ }, z.core.$strict>>, z.ZodReadonly<z.ZodObject<{
22
+ kind: z.ZodEnum<{
23
+ changed: "changed";
24
+ unchanged: "unchanged";
25
+ }>;
26
+ visibility: z.ZodEnum<{
27
+ full: "full";
28
+ hidden: "hidden";
29
+ line: "line";
30
+ }>;
31
+ }, z.core.$strict>>, z.ZodReadonly<z.ZodObject<{
32
+ kind: z.ZodLiteral<"rejected">;
33
+ code: z.ZodEnum<{
34
+ STATE_UNAVAILABLE: "STATE_UNAVAILABLE";
35
+ }>;
36
+ }, z.core.$strict>>, z.ZodReadonly<z.ZodObject<{
37
+ kind: z.ZodLiteral<"stale">;
38
+ reason: z.ZodLiteral<"generation">;
39
+ }, z.core.$strict>>], "kind">;
40
+ export type NativeHookVisibilityResult = z.infer<typeof NativeHookVisibilityResultSchema>;
@@ -0,0 +1,28 @@
1
+ import { z } from "zod";
2
+ import { HookContextVisibilitySchema } from "../domain/hook-visibility.js";
3
+ /**
4
+ * One command reads and writes the preference: a `visibility` positional
5
+ * sets it, an omitted positional returns the current value unchanged.
6
+ */
7
+ export const NativeHookVisibilityRequestSchema = z.object({
8
+ visibility: HookContextVisibilitySchema.optional(),
9
+ }).strict().readonly();
10
+ export const NativeHookVisibilityResultSchema = z.discriminatedUnion("kind", [
11
+ z.object({
12
+ kind: z.literal("current"),
13
+ visibility: HookContextVisibilitySchema,
14
+ }).strict().readonly(),
15
+ z.object({
16
+ kind: z.enum(["changed", "unchanged"]),
17
+ visibility: HookContextVisibilitySchema,
18
+ }).strict().readonly(),
19
+ z.object({
20
+ kind: z.literal("rejected"),
21
+ code: z.enum(["STATE_UNAVAILABLE"]),
22
+ }).strict().readonly(),
23
+ z.object({
24
+ kind: z.literal("stale"),
25
+ reason: z.literal("generation"),
26
+ }).strict().readonly(),
27
+ ]);
28
+ //# sourceMappingURL=hook-visibility-contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook-visibility-contract.js","sourceRoot":"","sources":["../../src/application/hook-visibility-contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAE3E;;;GAGG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,CAAC,MAAM,CAAC;IACxD,UAAU,EAAE,2BAA2B,CAAC,QAAQ,EAAE;CACnD,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC;AAGvB,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAC3E,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;QAC1B,UAAU,EAAE,2BAA2B;KACxC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtB,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACtC,UAAU,EAAE,2BAA2B;KACxC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtB,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;QAC3B,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC;KACpC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtB,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QACxB,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;KAChC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACvB,CAAC,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { type HookContextVisibility } from "../domain/hook-visibility.js";
2
+ import type { Sha256 } from "../domain/source.js";
3
+ import type { GenerationMutationCoordinator } from "./generation-mutation-coordinator.js";
4
+ import type { LifecycleStateStore } from "./ports/lifecycle-state-store.js";
5
+ import { type NativeHookVisibilityRequest, type NativeHookVisibilityResult } from "./hook-visibility-contract.js";
6
+ export interface HookVisibilityService {
7
+ /** Persist a new context-visibility preference in the user-scope host configuration. */
8
+ setVisibility(request: NativeHookVisibilityRequest, signal: AbortSignal): Promise<NativeHookVisibilityResult>;
9
+ /** Read the CURRENT preference; shorthand for the read branch of the command. */
10
+ currentVisibility(): Promise<NativeHookVisibilityResult>;
11
+ }
12
+ export type HookVisibilityServiceDependencies = Readonly<{
13
+ state: LifecycleStateStore;
14
+ mutations: GenerationMutationCoordinator;
15
+ sha256: Sha256;
16
+ }>;
17
+ /**
18
+ * Call-time provider over the state store. The hook decision adapter reads
19
+ * the preference per event so a change takes effect without a restart;
20
+ * unavailable state degrades to the default transcript-line visibility
21
+ * rather than failing hook delivery.
22
+ */
23
+ export declare function createHookContextVisibilityProvider(state: LifecycleStateStore): () => Promise<HookContextVisibility>;
24
+ export declare function createHookVisibilityService(dependencies: HookVisibilityServiceDependencies): HookVisibilityService;