@nklisch/pi-enhanced 0.1.1 → 0.1.3

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 (169) hide show
  1. package/README.md +3 -2
  2. package/node_modules/@nklisch/pi-clearance/docs/ARCHITECTURE.md +6 -4
  3. package/node_modules/@nklisch/pi-clearance/docs/DEVELOPER_GUIDE.md +21 -23
  4. package/node_modules/@nklisch/pi-clearance/native/clearance-core.darwin-arm64.node +0 -0
  5. package/node_modules/@nklisch/pi-clearance/native/clearance-core.linux-x64-gnu.node +0 -0
  6. package/node_modules/@nklisch/pi-clearance/package.json +1 -1
  7. package/node_modules/@nklisch/pi-clearance/src/native/loader.ts +17 -36
  8. package/node_modules/@nklisch/pi-conveniences/package.json +5 -2
  9. package/node_modules/@nklisch/pi-fff-compat/package.json +5 -2
  10. package/node_modules/@nklisch/pi-plugins/README.md +16 -13
  11. package/node_modules/@nklisch/pi-plugins/dist/application/automatic-update-coordinator.d.ts +0 -2
  12. package/node_modules/@nklisch/pi-plugins/dist/application/automatic-update-coordinator.js +15 -21
  13. package/node_modules/@nklisch/pi-plugins/dist/application/automatic-update-coordinator.js.map +1 -1
  14. package/node_modules/@nklisch/pi-plugins/dist/application/automatic-update-eligibility.d.ts +0 -3
  15. package/node_modules/@nklisch/pi-plugins/dist/application/automatic-update-eligibility.js +0 -1
  16. package/node_modules/@nklisch/pi-plugins/dist/application/automatic-update-eligibility.js.map +1 -1
  17. package/node_modules/@nklisch/pi-plugins/dist/application/installed-trust-grant-service.d.ts +110 -0
  18. package/node_modules/@nklisch/pi-plugins/dist/application/installed-trust-grant-service.js +186 -0
  19. package/node_modules/@nklisch/pi-plugins/dist/application/installed-trust-grant-service.js.map +1 -0
  20. package/node_modules/@nklisch/pi-plugins/dist/application/lifecycle-transition-reconciler.d.ts +3 -0
  21. package/node_modules/@nklisch/pi-plugins/dist/application/lifecycle-transition-reconciler.js.map +1 -1
  22. package/node_modules/@nklisch/pi-plugins/dist/application/marketplace-plugin-probe.d.ts +0 -1
  23. package/node_modules/@nklisch/pi-plugins/dist/application/marketplace-plugin-probe.js +38 -11
  24. package/node_modules/@nklisch/pi-plugins/dist/application/marketplace-plugin-probe.js.map +1 -1
  25. package/node_modules/@nklisch/pi-plugins/dist/application/marketplace-refresh-service.d.ts +2 -0
  26. package/node_modules/@nklisch/pi-plugins/dist/application/marketplace-refresh-service.js +22 -2
  27. package/node_modules/@nklisch/pi-plugins/dist/application/marketplace-refresh-service.js.map +1 -1
  28. package/node_modules/@nklisch/pi-plugins/dist/application/native-automatic-run-presenter.d.ts +11 -0
  29. package/node_modules/@nklisch/pi-plugins/dist/application/native-automatic-run-presenter.js +58 -0
  30. package/node_modules/@nklisch/pi-plugins/dist/application/native-automatic-run-presenter.js.map +1 -0
  31. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-contract.d.ts +1 -0
  32. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-dispatcher.js +1 -0
  33. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-dispatcher.js.map +1 -1
  34. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-help.d.ts +3 -1
  35. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-mutation-dispatch.js +38 -2
  36. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-mutation-dispatch.js.map +1 -1
  37. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-operation.d.ts +2505 -2439
  38. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-parser.d.ts +1 -0
  39. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-parser.js +2 -1
  40. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-parser.js.map +1 -1
  41. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-progress.d.ts +2 -0
  42. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-registry.d.ts +23 -0
  43. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-registry.js +5 -2
  44. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-registry.js.map +1 -1
  45. package/node_modules/@nklisch/pi-plugins/dist/application/native-diagnostic-registry.d.ts +12 -1
  46. package/node_modules/@nklisch/pi-plugins/dist/application/native-diagnostic-registry.js +2 -1
  47. package/node_modules/@nklisch/pi-plugins/dist/application/native-diagnostic-registry.js.map +1 -1
  48. package/node_modules/@nklisch/pi-plugins/dist/application/native-failure-presenter.js +1 -1
  49. package/node_modules/@nklisch/pi-plugins/dist/application/native-failure-presenter.js.map +1 -1
  50. package/node_modules/@nklisch/pi-plugins/dist/application/native-inspection-contract.d.ts +5 -0
  51. package/node_modules/@nklisch/pi-plugins/dist/application/native-installed-inspection.js +7 -2
  52. package/node_modules/@nklisch/pi-plugins/dist/application/native-installed-inspection.js.map +1 -1
  53. package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-operation-contract.d.ts +464 -0
  54. package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-operation-contract.js +3 -2
  55. package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-operation-contract.js.map +1 -1
  56. package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-operation-session.js +1 -1
  57. package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-operation-session.js.map +1 -1
  58. package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-operation.d.ts +77 -11
  59. package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-result.js +3 -0
  60. package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-result.js.map +1 -1
  61. package/node_modules/@nklisch/pi-plugins/dist/application/native-update-contract.d.ts +11 -1
  62. package/node_modules/@nklisch/pi-plugins/dist/application/native-update-contract.js +9 -1
  63. package/node_modules/@nklisch/pi-plugins/dist/application/native-update-contract.js.map +1 -1
  64. package/node_modules/@nklisch/pi-plugins/dist/application/plugin-lifecycle-service.d.ts +22 -1
  65. package/node_modules/@nklisch/pi-plugins/dist/application/plugin-lifecycle-service.js +21 -2
  66. package/node_modules/@nklisch/pi-plugins/dist/application/plugin-lifecycle-service.js.map +1 -1
  67. package/node_modules/@nklisch/pi-plugins/dist/application/ports/automatic-update-lifecycle.d.ts +4 -0
  68. package/node_modules/@nklisch/pi-plugins/dist/application/ports/native-control-applications.d.ts +2 -0
  69. package/node_modules/@nklisch/pi-plugins/dist/application/trusted-install-contract.d.ts +15 -0
  70. package/node_modules/@nklisch/pi-plugins/dist/application/trusted-install-contract.js +1 -1
  71. package/node_modules/@nklisch/pi-plugins/dist/application/trusted-install-contract.js.map +1 -1
  72. package/node_modules/@nklisch/pi-plugins/dist/application/trusted-install-service.js +4 -0
  73. package/node_modules/@nklisch/pi-plugins/dist/application/trusted-install-service.js.map +1 -1
  74. package/node_modules/@nklisch/pi-plugins/dist/composition/automatic-update-lifecycle-adapter.js +88 -80
  75. package/node_modules/@nklisch/pi-plugins/dist/composition/automatic-update-lifecycle-adapter.js.map +1 -1
  76. package/node_modules/@nklisch/pi-plugins/dist/composition/complete-plugin-reload.js +32 -4
  77. package/node_modules/@nklisch/pi-plugins/dist/composition/complete-plugin-reload.js.map +1 -1
  78. package/node_modules/@nklisch/pi-plugins/dist/composition/create-native-update-management-service.d.ts +0 -2
  79. package/node_modules/@nklisch/pi-plugins/dist/composition/create-native-update-management-service.js +0 -1
  80. package/node_modules/@nklisch/pi-plugins/dist/composition/create-native-update-management-service.js.map +1 -1
  81. package/node_modules/@nklisch/pi-plugins/dist/composition/create-packaged-plugin-host.js +43 -9
  82. package/node_modules/@nklisch/pi-plugins/dist/composition/create-packaged-plugin-host.js.map +1 -1
  83. package/node_modules/@nklisch/pi-plugins/dist/composition/packaged-host-startup.js +4 -3
  84. package/node_modules/@nklisch/pi-plugins/dist/composition/packaged-host-startup.js.map +1 -1
  85. package/node_modules/@nklisch/pi-plugins/dist/composition/packaged-plugin-host-contract.d.ts +2 -2
  86. package/node_modules/@nklisch/pi-plugins/dist/composition/runtime-desired-state.js +21 -7
  87. package/node_modules/@nklisch/pi-plugins/dist/composition/runtime-desired-state.js.map +1 -1
  88. package/node_modules/@nklisch/pi-plugins/dist/domain/mcp-session-environment.d.ts +23 -0
  89. package/node_modules/@nklisch/pi-plugins/dist/domain/mcp-session-environment.js +30 -0
  90. package/node_modules/@nklisch/pi-plugins/dist/domain/mcp-session-environment.js.map +1 -0
  91. package/node_modules/@nklisch/pi-plugins/dist/domain/update-policy.js +2 -0
  92. package/node_modules/@nklisch/pi-plugins/dist/domain/update-policy.js.map +1 -1
  93. package/node_modules/@nklisch/pi-plugins/dist/index.d.ts +0 -1
  94. package/node_modules/@nklisch/pi-plugins/dist/index.js.map +1 -1
  95. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/project/node-project-root-resolver.js +8 -1
  96. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/project/node-project-root-resolver.js.map +1 -1
  97. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/local-recovery-filesystem.d.ts +0 -2
  98. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/local-recovery-filesystem.js +3 -52
  99. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/local-recovery-filesystem.js.map +1 -1
  100. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/process-revision-leases.js +6 -8
  101. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/process-revision-leases.js.map +1 -1
  102. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/sqlite-revision-retention.js +6 -6
  103. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/sqlite-revision-retention.js.map +1 -1
  104. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/sqlite-transition-journal.js +4 -49
  105. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/sqlite-transition-journal.js.map +1 -1
  106. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/state/sqlite-lifecycle-state-store.js +9 -18
  107. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/state/sqlite-lifecycle-state-store.js.map +1 -1
  108. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/state/sqlite-open.d.ts +23 -0
  109. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/state/sqlite-open.js +80 -0
  110. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/state/sqlite-open.js.map +1 -0
  111. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/state/sqlite-scope-lock.d.ts +1 -11
  112. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/state/sqlite-scope-lock.js +59 -593
  113. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/state/sqlite-scope-lock.js.map +1 -1
  114. package/node_modules/@nklisch/pi-plugins/dist/pi/extension.js +2 -1
  115. package/node_modules/@nklisch/pi-plugins/dist/pi/extension.js.map +1 -1
  116. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-install-component.js +2 -2
  117. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-install-component.js.map +1 -1
  118. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-actions.d.ts +7 -1
  119. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-actions.js +26 -2
  120. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-actions.js.map +1 -1
  121. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-commands.d.ts +1 -1
  122. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-commands.js +1 -1
  123. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-commands.js.map +1 -1
  124. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-component.d.ts +4 -0
  125. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-component.js +24 -2
  126. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-component.js.map +1 -1
  127. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-controller.js +9 -1
  128. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-controller.js.map +1 -1
  129. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-model.d.ts +4 -0
  130. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-model.js +5 -0
  131. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-model.js.map +1 -1
  132. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-render.d.ts +3 -0
  133. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-render.js +20 -12
  134. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-render.js.map +1 -1
  135. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-session.js +43 -14
  136. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-session.js.map +1 -1
  137. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-operation-view.js +13 -8
  138. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-operation-view.js.map +1 -1
  139. package/node_modules/@nklisch/pi-plugins/dist/pi/native-control-human.js +2 -2
  140. package/node_modules/@nklisch/pi-plugins/dist/pi/native-control-human.js.map +1 -1
  141. package/node_modules/@nklisch/pi-plugins/dist/pi/pi-reload-broker.d.ts +2 -2
  142. package/node_modules/@nklisch/pi-plugins/dist/pi/pi-trust-review.d.ts +8 -0
  143. package/node_modules/@nklisch/pi-plugins/dist/pi/pi-trust-review.js +93 -0
  144. package/node_modules/@nklisch/pi-plugins/dist/pi/pi-trust-review.js.map +1 -0
  145. package/node_modules/@nklisch/pi-plugins/dist/pi/plugin-command.js +3 -3
  146. package/node_modules/@nklisch/pi-plugins/dist/pi/plugin-command.js.map +1 -1
  147. package/node_modules/@nklisch/pi-plugins/dist/pi/plugin-manager-lifecycle.d.ts +2 -0
  148. package/node_modules/@nklisch/pi-plugins/dist/pi/plugin-manager-lifecycle.js +8 -2
  149. package/node_modules/@nklisch/pi-plugins/dist/pi/plugin-manager-lifecycle.js.map +1 -1
  150. package/node_modules/@nklisch/pi-plugins/dist/runtime/mcp/launch-value-provider.js +24 -0
  151. package/node_modules/@nklisch/pi-plugins/dist/runtime/mcp/launch-value-provider.js.map +1 -1
  152. package/node_modules/@nklisch/pi-plugins/dist/runtime/mcp/pi-mcp-adapter-package.js +1 -1
  153. package/node_modules/@nklisch/pi-plugins/dist/runtime/mcp/pi-mcp-adapter-package.js.map +1 -1
  154. package/node_modules/@nklisch/pi-plugins/dist/runtime/mcp/pi-mcp-adapter-runtime.js +1 -1
  155. package/node_modules/@nklisch/pi-plugins/dist/runtime/mcp/pi-mcp-adapter-runtime.js.map +1 -1
  156. package/node_modules/@nklisch/pi-plugins/package.json +2 -2
  157. package/package.json +7 -7
  158. package/test/verify-bundle.mjs +24 -1
  159. package/node_modules/@nklisch/pi-conveniences/extensions/agents-context.test.ts +0 -140
  160. package/node_modules/@nklisch/pi-conveniences/extensions/context-window-footer.test.ts +0 -30
  161. package/node_modules/@nklisch/pi-conveniences/extensions/exit.test.ts +0 -44
  162. package/node_modules/@nklisch/pi-conveniences/extensions/model-list.test.ts +0 -34
  163. package/node_modules/@nklisch/pi-fff-compat/extensions/fff-compat-search.test.ts +0 -76
  164. package/node_modules/@nklisch/pi-plugins/dist/application/ports/update-activation-context.d.ts +0 -4
  165. package/node_modules/@nklisch/pi-plugins/dist/application/ports/update-activation-context.js +0 -2
  166. package/node_modules/@nklisch/pi-plugins/dist/application/ports/update-activation-context.js.map +0 -1
  167. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/state/identity-bound-sqlite.d.ts +0 -22
  168. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/state/identity-bound-sqlite.js +0 -256
  169. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/state/identity-bound-sqlite.js.map +0 -1
@@ -0,0 +1,186 @@
1
+ import { z } from "zod";
2
+ import { PluginKeySchema } from "../domain/identity.js";
3
+ import { ScopeReferenceSchema, createScopeContext, } from "../domain/state/scope.js";
4
+ import { TrustSubjectRefSchema } from "../domain/state/references.js";
5
+ import { createTrustCandidate, evaluateTrust } from "../domain/trust-policy.js";
6
+ import { digestCompatibilityReport } from "./ports/runtime-projection.js";
7
+ /**
8
+ * Exact re-trust of the currently installed revision. Updates grant trust as
9
+ * one lifecycle phase, but no other surface can re-grant trust for a revision
10
+ * that is already installed — without this service a trust-required verdict
11
+ * on an unchanged install is only fixable by remove + add.
12
+ */
13
+ export const NativeTrustGrantResultSchema = z.discriminatedUnion("kind", [
14
+ z.object({ kind: z.literal("granted"), plugin: PluginKeySchema, scope: ScopeReferenceSchema, subject: TrustSubjectRefSchema }).strict().readonly(),
15
+ z.object({ kind: z.literal("current-state"), plugin: PluginKeySchema, scope: ScopeReferenceSchema, reason: z.literal("already-authorized") }).strict().readonly(),
16
+ z.object({ kind: z.literal("stale"), plugin: PluginKeySchema, scope: ScopeReferenceSchema, reason: z.enum(["revision", "generation", "project", "capability"]) }).strict().readonly(),
17
+ z.object({ kind: z.literal("rejected"), plugin: PluginKeySchema, scope: ScopeReferenceSchema, code: z.enum(["PROJECT_UNTRUSTED", "INCOMPATIBLE"]) }).strict().readonly(),
18
+ z.object({ kind: z.literal("unavailable"), plugin: PluginKeySchema, scope: ScopeReferenceSchema }).strict().readonly(),
19
+ z.object({ kind: z.literal("recovery-required"), plugin: PluginKeySchema, scope: ScopeReferenceSchema }).strict().readonly(),
20
+ ]);
21
+ export const InstalledTrustGrantRequestSchema = z.object({
22
+ // Facade-level reference; the full project context is resolved against the
23
+ // host's one bound project inside the service.
24
+ scope: ScopeReferenceSchema,
25
+ plugin: PluginKeySchema,
26
+ // The exact revision the caller inspected. Anything newer in state is a
27
+ // concurrent change and must be re-inspected, never silently trusted.
28
+ expectedRevision: z.string().min(1),
29
+ // The compatibility report fingerprint the caller reviewed. The service
30
+ // re-assesses live (matching the runtime's construction); a drifted report
31
+ // means the granted evidence would differ from the reviewed evidence, so
32
+ // the grant must fail stale rather than trust content nobody confirmed.
33
+ expectedCompatibilityFingerprint: z.string().min(1),
34
+ }).strict().readonly();
35
+ export function createInstalledTrustGrantService(dependencies) {
36
+ if (dependencies === null || typeof dependencies !== "object" || typeof dependencies.sha256 !== "function") {
37
+ throw new TypeError("installed trust grant dependencies are required");
38
+ }
39
+ const service = {
40
+ async grant(requestInput, signal) {
41
+ signal.throwIfAborted();
42
+ const request = InstalledTrustGrantRequestSchema.parse(requestInput);
43
+ const base = { plugin: request.plugin, scope: request.scope };
44
+ let scope;
45
+ if (request.scope.kind === "user") {
46
+ scope = createScopeContext({ kind: "user" }, dependencies.sha256);
47
+ }
48
+ else if (dependencies.projectScope.projectKey === request.scope.projectKey) {
49
+ scope = dependencies.projectScope;
50
+ }
51
+ else {
52
+ return NativeTrustGrantResultSchema.parse({ ...base, kind: "stale", reason: "project" });
53
+ }
54
+ let installedSnapshot;
55
+ try {
56
+ installedSnapshot = await dependencies.state.read(scope, signal);
57
+ }
58
+ catch (error) {
59
+ if (signal.aborted)
60
+ throw signal.reason ?? error;
61
+ return NativeTrustGrantResultSchema.parse({ ...base, kind: "unavailable" });
62
+ }
63
+ if (!installedSnapshot.ok)
64
+ return NativeTrustGrantResultSchema.parse({ ...base, kind: "unavailable" });
65
+ const records = "installed" in installedSnapshot.snapshot ? installedSnapshot.snapshot.installed.plugins : installedSnapshot.snapshot.project.plugins;
66
+ const record = records.find((candidate) => candidate.plugin === request.plugin);
67
+ const revision = record?.revisions.find((candidate) => candidate.revision === record.selectedRevision);
68
+ if (record === undefined || revision === undefined || record.selectedRevision !== request.expectedRevision) {
69
+ return NativeTrustGrantResultSchema.parse({ ...base, kind: "stale", reason: "revision" });
70
+ }
71
+ let loaded;
72
+ try {
73
+ loaded = await dependencies.installed.load({ scope, revision }, signal);
74
+ }
75
+ catch (error) {
76
+ if (signal.aborted)
77
+ throw signal.reason ?? error;
78
+ return NativeTrustGrantResultSchema.parse({ ...base, kind: "unavailable" });
79
+ }
80
+ if (loaded.plugin.identity.key !== request.plugin || loaded.binding !== record.selectedRevision) {
81
+ return NativeTrustGrantResultSchema.parse({ ...base, kind: "stale", reason: "revision" });
82
+ }
83
+ let compatibility;
84
+ try {
85
+ // Re-assess live with the install-time policy so the granted evidence
86
+ // is byte-identical to the candidate the runtime will evaluate at
87
+ // hook/MCP execution time. The stored install-time report would
88
+ // authorize evidence the runtime no longer computes.
89
+ compatibility = await dependencies.compatibility.assess({
90
+ plugin: loaded.plugin,
91
+ ...(loaded.installationPolicy === undefined ? {} : { marketplacePolicy: loaded.installationPolicy }),
92
+ }, signal);
93
+ }
94
+ catch (error) {
95
+ if (signal.aborted)
96
+ throw signal.reason ?? error;
97
+ return NativeTrustGrantResultSchema.parse({ ...base, kind: "unavailable" });
98
+ }
99
+ if (!compatibility.activatable) {
100
+ return NativeTrustGrantResultSchema.parse({ ...base, kind: "rejected", code: "INCOMPATIBLE" });
101
+ }
102
+ if (digestCompatibilityReport(compatibility, dependencies.sha256) !== request.expectedCompatibilityFingerprint) {
103
+ return NativeTrustGrantResultSchema.parse({ ...base, kind: "stale", reason: "capability" });
104
+ }
105
+ const candidate = createTrustCandidate({
106
+ scope: request.scope,
107
+ marketplaceSource: loaded.marketplaceSource,
108
+ plugin: loaded.plugin,
109
+ compatibility,
110
+ content: loaded.content,
111
+ materializationBinding: loaded.binding,
112
+ }, dependencies.sha256);
113
+ // The granted evidence must be byte-identical to the installed record's
114
+ // install-time evidence; a divergence means the content store drifted
115
+ // and nothing here should be trusted.
116
+ if (candidate.evidence.executableSurfaceDigest !== revision.evidence.trust.executableSurfaceDigest) {
117
+ return NativeTrustGrantResultSchema.parse({ ...base, kind: "unavailable" });
118
+ }
119
+ // Trust authority is the user state document regardless of the
120
+ // plugin's install scope.
121
+ let trustSnapshot;
122
+ try {
123
+ trustSnapshot = await dependencies.state.read({ kind: "user" }, signal);
124
+ }
125
+ catch (error) {
126
+ if (signal.aborted)
127
+ throw signal.reason ?? error;
128
+ return NativeTrustGrantResultSchema.parse({ ...base, kind: "unavailable" });
129
+ }
130
+ if (!trustSnapshot.ok || !("trust" in trustSnapshot.snapshot)) {
131
+ return NativeTrustGrantResultSchema.parse({ ...base, kind: "unavailable" });
132
+ }
133
+ const decision = evaluateTrust(candidate, trustSnapshot.snapshot.trust.records, dependencies.sha256);
134
+ if (decision.kind === "authorized") {
135
+ return NativeTrustGrantResultSchema.parse({ ...base, kind: "current-state", reason: "already-authorized" });
136
+ }
137
+ let projectRoot;
138
+ if (scope.kind === "project") {
139
+ try {
140
+ projectRoot = await dependencies.projectRoots.acquire(signal);
141
+ }
142
+ catch (error) {
143
+ if (signal.aborted)
144
+ throw signal.reason ?? error;
145
+ return NativeTrustGrantResultSchema.parse({ ...base, kind: "stale", reason: "project" });
146
+ }
147
+ }
148
+ const granted = await dependencies.trust.grant({
149
+ candidate,
150
+ scope,
151
+ ...(projectRoot === undefined ? {} : { projectRoot }),
152
+ }, signal);
153
+ if (granted.kind === "recorded") {
154
+ // The grant guards the trust generation, not the installed record; a
155
+ // concurrent update/uninstall could have moved the selection while the
156
+ // mutation committed. The recorded grant is evidence-keyed and inert
157
+ // in that case, but the honest answer is stale, not granted.
158
+ try {
159
+ const settled = await dependencies.state.read(scope, signal);
160
+ const settledRecord = settled.ok
161
+ ? ("installed" in settled.snapshot ? settled.snapshot.installed.plugins : settled.snapshot.project.plugins).find((entry) => entry.plugin === request.plugin)
162
+ : undefined;
163
+ if (settledRecord?.selectedRevision !== request.expectedRevision) {
164
+ return NativeTrustGrantResultSchema.parse({ ...base, kind: "stale", reason: "revision" });
165
+ }
166
+ }
167
+ catch (error) {
168
+ if (signal.aborted)
169
+ throw signal.reason ?? error;
170
+ }
171
+ return NativeTrustGrantResultSchema.parse({ ...base, kind: "granted", subject: granted.subject });
172
+ }
173
+ if (granted.kind === "already-recorded")
174
+ return NativeTrustGrantResultSchema.parse({ ...base, kind: "current-state", reason: "already-authorized" });
175
+ if (granted.kind === "stale")
176
+ return NativeTrustGrantResultSchema.parse({ ...base, kind: "stale", reason: "generation" });
177
+ if (granted.kind === "project-stale")
178
+ return NativeTrustGrantResultSchema.parse({ ...base, kind: "stale", reason: "project" });
179
+ if (granted.kind === "project-untrusted")
180
+ return NativeTrustGrantResultSchema.parse({ ...base, kind: "rejected", code: "PROJECT_UNTRUSTED" });
181
+ return NativeTrustGrantResultSchema.parse({ ...base, kind: "recovery-required" });
182
+ },
183
+ };
184
+ return Object.freeze(service);
185
+ }
186
+ //# sourceMappingURL=installed-trust-grant-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installed-trust-grant-service.js","sourceRoot":"","sources":["../../src/application/installed-trust-grant-service.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,9 @@ import type { LifecycleOperation } from "./plugin-lifecycle-contract.js";
13
13
  export type LifecycleActivationFailure = Readonly<{
14
14
  kind: "reload-rejected";
15
15
  code: "RELOAD_REJECTED";
16
+ }> | Readonly<{
17
+ kind: "activation-unavailable";
18
+ code: "PI_RELOAD_CONTEXT_UNAVAILABLE";
16
19
  }> | Readonly<{
17
20
  kind: "observation-mismatch";
18
21
  code: "OBSERVATION_MISMATCH";
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle-transition-reconciler.js","sourceRoot":"","sources":["../../src/application/lifecycle-transition-reconciler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lifecycle-transition-reconciler.js","sourceRoot":"","sources":["../../src/application/lifecycle-transition-reconciler.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,6 @@ import type { ContentStorePort } from "./ports/content-store.js";
5
5
  import type { LifecycleStateStore } from "./ports/lifecycle-state-store.js";
6
6
  import type { PluginMaterializer } from "./source-materialization.js";
7
7
  import type { Sha256 } from "../domain/source.js";
8
- /** Probe installed catalog entries without promoting or retaining staging bytes. */
9
8
  export declare function createMarketplacePluginProbe(input: Readonly<{
10
9
  state: LifecycleStateStore;
11
10
  content: ContentStorePort;
@@ -10,6 +10,7 @@ function sourceRevision(source) {
10
10
  }
11
11
  }
12
12
  /** Probe installed catalog entries without promoting or retaining staging bytes. */
13
+ const PROBE_CONCURRENCY = 4;
13
14
  export function createMarketplacePluginProbe(input) {
14
15
  if (input === null || typeof input !== "object" || typeof input.sha256 !== "function") {
15
16
  throw new TypeError("marketplace plugin probe dependencies are required");
@@ -22,13 +23,16 @@ export function createMarketplacePluginProbe(input) {
22
23
  const installed = ("installed" in loaded.snapshot ? loaded.snapshot.installed.plugins : loaded.snapshot.project.plugins)
23
24
  .filter((record) => record.plugin.endsWith(`@${request.snapshot.marketplace}`));
24
25
  const byPlugin = new Map(request.catalog.marketplace.entries.map((entry) => [entry.identity.value.key, entry]));
25
- const results = [];
26
- for (const record of installed.sort((left, right) => left.plugin.localeCompare(right.plugin))) {
27
- request.signal.throwIfAborted();
26
+ const targets = installed.sort((left, right) => left.plugin.localeCompare(right.plugin));
27
+ // Each iteration owns its staging slot and is read-only against state, so
28
+ // probes run with bounded parallelism. Indexed results preserve the
29
+ // sorted plugin order: the notice array lands in state and must stay
30
+ // deterministic.
31
+ const probeOne = async (record) => {
28
32
  const entry = byPlugin.get(record.plugin);
29
33
  const current = record.revisions.find((revision) => revision.revision === record.selectedRevision);
30
34
  if (entry === undefined || current === undefined)
31
- continue;
35
+ return undefined;
32
36
  const allocation = await input.content.allocateStaging(request.signal);
33
37
  try {
34
38
  const context = entry.source.value.kind === "marketplace-path"
@@ -44,7 +48,7 @@ export function createMarketplacePluginProbe(input) {
44
48
  const materialized = await input.materializer.materialize(entry.source.value, context, allocation.slot, request.signal);
45
49
  const inspected = await input.inspector.inspect({ entry, materialized }, request.signal);
46
50
  if (!inspected.ok)
47
- continue;
51
+ return undefined;
48
52
  const plugin = inspected.value;
49
53
  if (plugin.identity.key !== record.plugin)
50
54
  throw new Error("catalog plugin identity changed during update probe");
@@ -53,7 +57,7 @@ export function createMarketplacePluginProbe(input) {
53
57
  ...(entry.policy === undefined ? {} : { marketplacePolicy: entry.policy }),
54
58
  }, request.signal);
55
59
  if (!compatibility.activatable)
56
- continue;
60
+ return undefined;
57
61
  const declaredVersion = plugin.version?.value ?? entry.version?.value;
58
62
  const marketplaceSourceIdentity = deriveMarketplaceSourceIdentity(request.record.source, input.sha256);
59
63
  const pluginSourceIdentity = derivePluginSourceIdentity(entry.source.value, input.sha256);
@@ -67,7 +71,7 @@ export function createMarketplacePluginProbe(input) {
67
71
  ...(declaredVersion === undefined ? {} : { declaredVersion }),
68
72
  }, input.sha256);
69
73
  if (revision.revision === current.revision)
70
- continue;
74
+ return undefined;
71
75
  const available = AvailableRevisionSchema.parse({
72
76
  immutableRevision: revision.revision,
73
77
  marketplaceSourceIdentity,
@@ -75,7 +79,7 @@ export function createMarketplacePluginProbe(input) {
75
79
  ...(declaredVersion === undefined ? {} : { declaredVersion }),
76
80
  sourceRevision: sourceRevision(materialized.source),
77
81
  });
78
- results.push(Object.freeze({
82
+ return Object.freeze({
79
83
  plugin: record.plugin,
80
84
  entry,
81
85
  available,
@@ -90,13 +94,36 @@ export function createMarketplacePluginProbe(input) {
90
94
  installed: current.evidence.source.declaredVersion ?? current.evidence.source.sourceRevision ?? current.revision,
91
95
  available: available.declaredVersion ?? available.sourceRevision,
92
96
  }),
93
- }));
97
+ });
94
98
  }
95
99
  finally {
96
100
  await input.content.discardStaging(allocation, new AbortController().signal).catch(() => undefined);
97
101
  }
98
- }
99
- return Object.freeze(results);
102
+ };
103
+ const indexed = new Array(targets.length);
104
+ let cursor = 0;
105
+ // First failure wins: stop scheduling new probes, but let every STARTED
106
+ // probe finish its staging cleanup before the error propagates. Plain
107
+ // Promise.all rejection would strand sibling workers mid-materialize
108
+ // while the caller discards the marketplace staging they read from.
109
+ let firstError;
110
+ const worker = async () => {
111
+ while (firstError === undefined && cursor < targets.length) {
112
+ const index = cursor;
113
+ cursor += 1;
114
+ try {
115
+ request.signal.throwIfAborted();
116
+ indexed[index] = await probeOne(targets[index]);
117
+ }
118
+ catch (error) {
119
+ firstError ??= error;
120
+ }
121
+ }
122
+ };
123
+ await Promise.all(Array.from({ length: Math.min(PROBE_CONCURRENCY, targets.length) }, worker));
124
+ if (firstError !== undefined)
125
+ throw firstError;
126
+ return Object.freeze(indexed.filter((result) => result !== undefined));
100
127
  };
101
128
  }
102
129
  //# sourceMappingURL=marketplace-plugin-probe.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"marketplace-plugin-probe.js","sourceRoot":"","sources":["../../src/application/marketplace-plugin-probe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"marketplace-plugin-probe.js","sourceRoot":"","sources":["../../src/application/marketplace-plugin-probe.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,8 @@ export declare const DefaultMarketplaceUpdatePolicy: Readonly<{
25
25
  claimLeaseMs: number;
26
26
  inventoryPollMs: number;
27
27
  }>;
28
+ /** Bound on how long an unchanged marketplace may go without re-probing installed plugins. */
29
+ export declare const PROBE_SKIP_WINDOW_MS: number;
28
30
  export type MarketplacePluginProbeResult = Readonly<{
29
31
  plugin: import("../domain/identity.js").PluginKey;
30
32
  entry: import("../domain/marketplace.js").NormalizedMarketplaceEntry;
@@ -16,6 +16,8 @@ export const DefaultMarketplaceUpdatePolicy = Object.freeze({
16
16
  claimLeaseMs: 15 * 60 * 1_000,
17
17
  inventoryPollMs: 15 * 60 * 1_000,
18
18
  });
19
+ /** Bound on how long an unchanged marketplace may go without re-probing installed plugins. */
20
+ export const PROBE_SKIP_WINDOW_MS = 15 * 60 * 1_000;
19
21
  function abortIfRequested(signal) {
20
22
  signal.throwIfAborted();
21
23
  }
@@ -205,7 +207,7 @@ function discoveredNotifications(record, scope, id, selected, probes, discovered
205
207
  publication: "pending",
206
208
  unread: true,
207
209
  discoveredAt,
208
- ...(record.applicationOverride === "automatic" ? { automatic: { state: "pending", reason: "awaiting-host-context" } } : {}),
210
+ ...(record.applicationOverride === "automatic" ? { automatic: { state: "pending" } } : {}),
209
211
  }));
210
212
  created.add(probe.candidate);
211
213
  }
@@ -357,7 +359,25 @@ export function createMarketplaceRefreshService(dependencies) {
357
359
  if (catalog.marketplace.name.value !== current.marketplace)
358
360
  throw new Error("STATE_STALE");
359
361
  const selected = createMarketplaceSnapshotRecord({ marketplace: current.marketplace, source: materialized.source, content: materialized.content, binding: materialized.binding }, dependencies.sha256);
360
- const probes = dependencies.probe === undefined ? [] : await dependencies.probe({ scope, record: claimed, snapshot: selected, catalog, marketplace: materialized, signal });
362
+ // Plugin probes cost one materialize+inspect+assess cycle per installed
363
+ // plugin. Skipping them entirely on an unchanged marketplace can miss
364
+ // updates indefinitely (installed-inventory drift, transient probe
365
+ // failure, capability changes), so the skip is bounded to a short
366
+ // window: an unchanged marketplace re-probes at least every
367
+ // PROBE_SKIP_WINDOW_MS, and any failed attempt forces a re-probe.
368
+ const priorSnapshot = snapshotFor(loaded.snapshot, current);
369
+ const snapshotUnchanged = priorSnapshot !== undefined &&
370
+ priorSnapshot.source.revision === selected.source.revision &&
371
+ priorSnapshot.contentDigest === selected.contentDigest &&
372
+ priorSnapshot.binding === selected.binding;
373
+ const lastAttempt = current.refresh.lastAttempt;
374
+ const probesRecentlySucceeded = lastAttempt !== undefined &&
375
+ (lastAttempt.outcome === "succeeded" || lastAttempt.outcome === "unchanged") &&
376
+ time - lastAttempt.completedAt < PROBE_SKIP_WINDOW_MS;
377
+ const skipProbes = snapshotUnchanged && probesRecentlySucceeded;
378
+ const probes = skipProbes || dependencies.probe === undefined
379
+ ? []
380
+ : await dependencies.probe({ scope, record: claimed, snapshot: selected, catalog, marketplace: materialized, signal });
361
381
  const completedAt = now();
362
382
  await assertScopeAuthority(dependencies, scope, signal);
363
383
  const latest = await dependencies.state.read(scope, signal);