@plurnk/plurnk-service 1.17.0 → 1.18.0

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 (206) hide show
  1. package/.env.defaults +19 -1
  2. package/README.md +1 -1
  3. package/SPEC.md +1025 -946
  4. package/dist/build-info.json +1 -1
  5. package/dist/content/read-projector.js +2 -2
  6. package/dist/content/read-projector.js.map +1 -1
  7. package/dist/content/read-resolve.d.ts +1 -0
  8. package/dist/content/read-resolve.d.ts.map +1 -1
  9. package/dist/content/read-resolve.js +13 -10
  10. package/dist/content/read-resolve.js.map +1 -1
  11. package/dist/core/AdmittedTurnExecutor.d.ts +1 -2
  12. package/dist/core/AdmittedTurnExecutor.d.ts.map +1 -1
  13. package/dist/core/AdmittedTurnExecutor.js +12 -12
  14. package/dist/core/AdmittedTurnExecutor.js.map +1 -1
  15. package/dist/core/CapabilityResolver.d.ts.map +1 -1
  16. package/dist/core/CapabilityResolver.js +40 -33
  17. package/dist/core/CapabilityResolver.js.map +1 -1
  18. package/dist/core/ChannelWrite.d.ts +1 -0
  19. package/dist/core/ChannelWrite.d.ts.map +1 -1
  20. package/dist/core/ChannelWrite.js +1 -1
  21. package/dist/core/ChannelWrite.js.map +1 -1
  22. package/dist/core/DataStatementRunner.d.ts.map +1 -1
  23. package/dist/core/DataStatementRunner.js +194 -144
  24. package/dist/core/DataStatementRunner.js.map +1 -1
  25. package/dist/core/Dispatcher.d.ts +6 -1
  26. package/dist/core/Dispatcher.d.ts.map +1 -1
  27. package/dist/core/Dispatcher.js +25 -26
  28. package/dist/core/Dispatcher.js.map +1 -1
  29. package/dist/core/Engine.js +1 -1
  30. package/dist/core/Engine.js.map +1 -1
  31. package/dist/core/ExecutionOutputs.sql +8 -0
  32. package/dist/core/ExecutorRegistry.d.ts +4 -0
  33. package/dist/core/ExecutorRegistry.d.ts.map +1 -1
  34. package/dist/core/ExecutorRegistry.js +1 -0
  35. package/dist/core/ExecutorRegistry.js.map +1 -1
  36. package/dist/core/LogBody.d.ts.map +1 -1
  37. package/dist/core/LogBody.js +2 -1
  38. package/dist/core/LogBody.js.map +1 -1
  39. package/dist/core/LogEntryProjection.d.ts.map +1 -1
  40. package/dist/core/LogEntryProjection.js +4 -10
  41. package/dist/core/LogEntryProjection.js.map +1 -1
  42. package/dist/core/LogWriter.d.ts.map +1 -1
  43. package/dist/core/LogWriter.js +9 -7
  44. package/dist/core/LogWriter.js.map +1 -1
  45. package/dist/core/LoopDriver.d.ts.map +1 -1
  46. package/dist/core/LoopDriver.js +1 -3
  47. package/dist/core/LoopDriver.js.map +1 -1
  48. package/dist/core/ModelCall.d.ts.map +1 -1
  49. package/dist/core/ModelCall.js +2 -6
  50. package/dist/core/ModelCall.js.map +1 -1
  51. package/dist/core/ModelCall.sql +7 -36
  52. package/dist/core/ProposalLifecycle.d.ts.map +1 -1
  53. package/dist/core/ProposalLifecycle.js +8 -6
  54. package/dist/core/ProposalLifecycle.js.map +1 -1
  55. package/dist/core/RuntimeWorker.d.ts.map +1 -1
  56. package/dist/core/RuntimeWorker.js +6 -1
  57. package/dist/core/RuntimeWorker.js.map +1 -1
  58. package/dist/core/RuntimeWorker.sql +7 -1
  59. package/dist/core/SchemeRegistry.js +1 -1
  60. package/dist/core/SchemeRegistry.js.map +1 -1
  61. package/dist/core/StrikeRail.d.ts +2 -2
  62. package/dist/core/StrikeRail.d.ts.map +1 -1
  63. package/dist/core/StrikeRail.js +7 -5
  64. package/dist/core/StrikeRail.js.map +1 -1
  65. package/dist/core/ToolResources.d.ts.map +1 -1
  66. package/dist/core/ToolResources.js +5 -3
  67. package/dist/core/ToolResources.js.map +1 -1
  68. package/dist/core/TurnDispositionHandler.d.ts +4 -6
  69. package/dist/core/TurnDispositionHandler.d.ts.map +1 -1
  70. package/dist/core/TurnDispositionHandler.js +88 -80
  71. package/dist/core/TurnDispositionHandler.js.map +1 -1
  72. package/dist/core/TurnMaterialization.d.ts.map +1 -1
  73. package/dist/core/TurnMaterialization.js +7 -9
  74. package/dist/core/TurnMaterialization.js.map +1 -1
  75. package/dist/core/TurnOps.d.ts.map +1 -1
  76. package/dist/core/TurnOps.js +1 -1
  77. package/dist/core/TurnOps.js.map +1 -1
  78. package/dist/core/TurnRunner.d.ts +1 -5
  79. package/dist/core/TurnRunner.d.ts.map +1 -1
  80. package/dist/core/TurnRunner.js +1096 -1062
  81. package/dist/core/TurnRunner.js.map +1 -1
  82. package/dist/core/WorkerControlHandler.d.ts.map +1 -1
  83. package/dist/core/WorkerControlHandler.js +23 -0
  84. package/dist/core/WorkerControlHandler.js.map +1 -1
  85. package/dist/core/WorkerName.d.ts +3 -6
  86. package/dist/core/WorkerName.d.ts.map +1 -1
  87. package/dist/core/WorkerName.js +9 -25
  88. package/dist/core/WorkerName.js.map +1 -1
  89. package/dist/core/WorkspaceGate.js +4 -4
  90. package/dist/core/WorkspaceGate.js.map +1 -1
  91. package/dist/core/env-catalog.d.ts +28 -0
  92. package/dist/core/env-catalog.d.ts.map +1 -0
  93. package/dist/core/env-catalog.js +99 -0
  94. package/dist/core/env-catalog.js.map +1 -0
  95. package/dist/core/file-materialization.js +1 -1
  96. package/dist/core/file-materialization.js.map +1 -1
  97. package/dist/core/git-state.js +1 -1
  98. package/dist/core/git-state.js.map +1 -1
  99. package/dist/core/operation-target-groups.d.ts.map +1 -1
  100. package/dist/core/operation-target-groups.js +2 -1
  101. package/dist/core/operation-target-groups.js.map +1 -1
  102. package/dist/core/packet-wire.d.ts.map +1 -1
  103. package/dist/core/packet-wire.js +320 -295
  104. package/dist/core/packet-wire.js.map +1 -1
  105. package/dist/digest/Digest.d.ts.map +1 -1
  106. package/dist/digest/Digest.js +3 -1
  107. package/dist/digest/Digest.js.map +1 -1
  108. package/dist/digest/DigestRender.d.ts +1 -0
  109. package/dist/digest/DigestRender.d.ts.map +1 -1
  110. package/dist/digest/DigestRender.js +44 -8
  111. package/dist/digest/DigestRender.js.map +1 -1
  112. package/dist/digest/digest-rows.d.ts +6 -0
  113. package/dist/digest/digest-rows.d.ts.map +1 -1
  114. package/dist/digest/digest.sql +11 -2
  115. package/dist/schemes/Exec.d.ts.map +1 -1
  116. package/dist/schemes/Exec.js +68 -33
  117. package/dist/schemes/Exec.js.map +1 -1
  118. package/dist/schemes/ExecScheduler.js +2 -2
  119. package/dist/schemes/ExecScheduler.js.map +1 -1
  120. package/dist/schemes/File.d.ts.map +1 -1
  121. package/dist/schemes/File.js +2 -1
  122. package/dist/schemes/File.js.map +1 -1
  123. package/dist/schemes/Log.js +1 -1
  124. package/dist/schemes/Log.js.map +1 -1
  125. package/dist/schemes/QuestionTool.js +1 -1
  126. package/dist/schemes/QuestionTool.js.map +1 -1
  127. package/dist/schemes/TurnSource.d.ts.map +1 -1
  128. package/dist/schemes/TurnSource.js +7 -6
  129. package/dist/schemes/TurnSource.js.map +1 -1
  130. package/dist/schemes/_entry-crud.sql +18 -0
  131. package/dist/schemes/_entry-manifest.d.ts.map +1 -1
  132. package/dist/schemes/_entry-manifest.js +5 -14
  133. package/dist/schemes/_entry-manifest.js.map +1 -1
  134. package/dist/schemes/_entry-manifest.sql +1 -1
  135. package/dist/schemes/_search-index.d.ts +5 -1
  136. package/dist/schemes/_search-index.d.ts.map +1 -1
  137. package/dist/schemes/_search-index.js +96 -56
  138. package/dist/schemes/_search-index.js.map +1 -1
  139. package/dist/schemes/_search-index.sql +17 -0
  140. package/dist/schemes/exec-abort.js +1 -1
  141. package/dist/schemes/exec-abort.js.map +1 -1
  142. package/dist/schemes/exec-env.d.ts +3 -0
  143. package/dist/schemes/exec-env.d.ts.map +1 -1
  144. package/dist/schemes/exec-env.js +66 -15
  145. package/dist/schemes/exec-env.js.map +1 -1
  146. package/dist/schemes/exec-runtime.d.ts +1 -1
  147. package/dist/schemes/exec-runtime.d.ts.map +1 -1
  148. package/dist/schemes/exec-runtime.js +1 -1
  149. package/dist/schemes/exec-runtime.js.map +1 -1
  150. package/dist/server/ClientReads.d.ts.map +1 -1
  151. package/dist/server/ClientReads.js +2 -1
  152. package/dist/server/ClientReads.js.map +1 -1
  153. package/dist/server/Daemon.d.ts +1 -0
  154. package/dist/server/Daemon.d.ts.map +1 -1
  155. package/dist/server/Daemon.js +32 -14
  156. package/dist/server/Daemon.js.map +1 -1
  157. package/dist/server/DaemonModule.d.ts +7 -2
  158. package/dist/server/DaemonModule.d.ts.map +1 -1
  159. package/dist/server/EnvFunctionality.d.ts +43 -0
  160. package/dist/server/EnvFunctionality.d.ts.map +1 -0
  161. package/dist/server/EnvFunctionality.js +194 -0
  162. package/dist/server/EnvFunctionality.js.map +1 -0
  163. package/dist/server/Functionality.d.ts +4 -2
  164. package/dist/server/Functionality.d.ts.map +1 -1
  165. package/dist/server/Functionality.js +188 -79
  166. package/dist/server/Functionality.js.map +1 -1
  167. package/dist/server/FunctionalityManager.d.ts +2 -0
  168. package/dist/server/FunctionalityManager.d.ts.map +1 -1
  169. package/dist/server/FunctionalityManager.js +13 -3
  170. package/dist/server/FunctionalityManager.js.map +1 -1
  171. package/dist/server/MembersFunctionality.d.ts.map +1 -1
  172. package/dist/server/MembersFunctionality.js +0 -1
  173. package/dist/server/MembersFunctionality.js.map +1 -1
  174. package/dist/server/Retention.d.ts +3 -0
  175. package/dist/server/Retention.d.ts.map +1 -1
  176. package/dist/server/Retention.js +7 -4
  177. package/dist/server/Retention.js.map +1 -1
  178. package/dist/server/Retention.sql +23 -0
  179. package/dist/server/SkillsFunctionality.d.ts.map +1 -1
  180. package/dist/server/SkillsFunctionality.js +5 -2
  181. package/dist/server/SkillsFunctionality.js.map +1 -1
  182. package/dist/server/WorkspaceResidency.d.ts +2 -0
  183. package/dist/server/WorkspaceResidency.d.ts.map +1 -1
  184. package/dist/server/WorkspaceResidency.js +27 -0
  185. package/dist/server/WorkspaceResidency.js.map +1 -1
  186. package/dist/server/client-input.js +1 -1
  187. package/dist/server/client-input.js.map +1 -1
  188. package/dist/server/drain.sql +1 -1
  189. package/dist/server/envelope.d.ts +0 -1
  190. package/dist/server/envelope.d.ts.map +1 -1
  191. package/dist/server/envelope.js +0 -12
  192. package/dist/server/envelope.js.map +1 -1
  193. package/dist/server/lifecycle-recovery.sql +4 -3
  194. package/dist/server/workspace-capabilities.sql +45 -0
  195. package/dist/service.d.ts.map +1 -1
  196. package/dist/service.js +16 -1
  197. package/dist/service.js.map +1 -1
  198. package/docs/env.md +55 -0
  199. package/docs/members.md +4 -4
  200. package/docs/skills.md +1 -1
  201. package/migrations/002_workers.sql +15 -0
  202. package/migrations/004_inference.sql +53 -12
  203. package/migrations/005_entries.sql +8 -0
  204. package/migrations/006_log.sql +18 -15
  205. package/migrations/007_subscriptions.sql +2 -2
  206. package/package.json +42 -32
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnvFunctionality.d.ts","sourceRoot":"","sources":["../../src/server/EnvFunctionality.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACR,oBAAoB,EAAE,6BAA6B,EACnD,wBAAwB,EAAE,qBAAqB,EAAE,8BAA8B,EAC/E,2BAA2B,EAC9B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAG/G,OAAoB,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAK5E,eAAO,MAAM,UAAU,QAAQ,CAAC;AAEhC,eAAO,MAAM,SAAS,2BAA2B,CAAC;AA0BlD,MAAM,CAAC,OAAO,OAAO,gBAAiB,YAAW,oBAAoB;;IACjE,QAAQ,CAAC,MAAM,SAAc;IAC7B,QAAQ,CAAC,cAAc,4BAAa;IACpC,QAAQ,CAAC,OAAO,yDAAyD;IACzE,QAAQ,CAAC,gBAAgB,aAAc;IACvC,QAAQ,CAAC,KAAK,EAAG,QAAQ,CAAU;IACnC,QAAQ,CAAC,YAAY,SAAQ;IAC7B,QAAQ,CAAC,OAAO,SAAqB;IACrC,QAAQ,CAAC,OAAO;QAAK,KAAK;QAAsB,UAAU;YAAI,KAAK;;MAAoB;IACvF,QAAQ,CAAC,SAAS;QACd,OAAO;MAMT;IAIF,YAAY,QAAQ,EAAE,MAAM,OAAO,CAAC,SAAS,eAAe,EAAE,CAAC,EAE9D;IASK,SAAS,CAAC,SAAS,EAAE,2BAA2B,GAAG,OAAO,CAAC,SAAS,8BAA8B,EAAE,CAAC,CAI1G;IAEK,QAAQ,CAAC,KAAK,EAAE,0BAA0B,EAAE,SAAS,EAAE,2BAA2B,GAAG,OAAO,CAAC,SAAS,sBAAsB,EAAE,CAAC,CAgBpI;IAEK,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,2BAA2B,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAoB1G;IAKK,OAAO,CAAC,WAAW,EAAE,wBAAwB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAOnF;IAEK,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAExF;IAED,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,eAAe,EAAE,CAAC,CAGhH;IAWD,MAAM,CAAC,OAAO,CACV,OAAO,EAAE,MAAM,CAAC,UAAU,EAC1B,KAAK,EAAE,OAAO,EACd,QAAQ,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM,GAChD;QAAE,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;KAAE,CAmC/D;IAQD,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,EAAE,MAAM,SAAsB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAI9H;IAED,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAgBjE;CACJ;AAMD,MAAM,WAAW,SAAS;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;IAC3D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CAC3B"}
@@ -0,0 +1,194 @@
1
+ import { MetadataOptions } from "@plurnk/plurnk-schemes";
2
+ import EnvCatalog from "../core/env-catalog.js";
3
+ import EnvDefaults from "../core/env-defaults.js";
4
+ import Results, { OperationFailureError } from "../core/results.js";
5
+ import ExecEnv from "../schemes/exec-env.js";
6
+ import Paths from "../Paths.js";
7
+ export const ENV_FAMILY = "env";
8
+ // The family's namespace owner — also the key a spawn reads its Worker's state under.
9
+ export const ENV_OWNER = "@plurnk/plurnk-service";
10
+ const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
11
+ // A refusal is the verb's own operation result, the shape both projections convert; anything else
12
+ // thrown here would surface as a fault of the action or the manager rather than as the outcome.
13
+ const actionError = (code, status, detail, extensions = {}) => new OperationFailureError(Results.failure("env:functionality", code, status, detail, {}, { family: ENV_FAMILY, retryable: false, ...extensions }));
14
+ // POSIX-ish, and deliberately narrow: a name the shell can actually export. This is the family's
15
+ // alias grammar ({§functionality-adapter}) — the alias IS the variable name, and case is semantic.
16
+ const NAME = /^[A-Za-z_][A-Za-z0-9_]*$/u;
17
+ // One variable. The alias IS the name, so the definition carries only what the name does not.
18
+ const DEFINITION = {
19
+ type: "object",
20
+ additionalProperties: false,
21
+ required: ["value"],
22
+ properties: {
23
+ value: { type: "string", description: "The exact value, used verbatim. No interpolation, no escapes." },
24
+ },
25
+ };
26
+ export default class EnvFunctionality {
27
+ family = ENV_FAMILY;
28
+ namespaceOwner = ENV_OWNER;
29
+ summary = "Read and shape the environment your commands run in";
30
+ definitionSchema = DEFINITION;
31
+ scope = "worker";
32
+ aliasPattern = NAME;
33
+ docsDir = Paths.packageRoot;
34
+ example = { alias: "CARGO_TARGET_DIR", definition: { value: "/tmp/shared" } };
35
+ discovery = {
36
+ details: "`discover` is this installation's configuration catalog: every name an installed "
37
+ + "package declares that you may set, with the declaring package as provenance and its own "
38
+ + "comment as the summary; plurnk's own names never appear. `query` matches a name or the "
39
+ + "comment that documents it; `source` selects one owning package; an empty body is the "
40
+ + "whole catalog, which is short — start there. It is how you learn which names have a "
41
+ + "consumer, and how you learn the name of a value only the operator can supply.",
42
+ };
43
+ #defaults;
44
+ constructor(defaults) {
45
+ this.#defaults = defaults;
46
+ }
47
+ // Service origin: every ambient name the operator's ceiling admits, exactly as a
48
+ // service-declared MCP server is a service definition. A Worker may disable one for itself
49
+ // — that is how `CI=1` goes away for one Worker without the operator changing anything.
50
+ //
51
+ // Values are projected because the ceiling is the security boundary, not this projection:
52
+ // anything admitted is already readable by any command the Worker runs. Withholding it here
53
+ // would be theatre, and would make `list` lie about the environment its commands see.
54
+ async available(_identity) {
55
+ return Object.entries(ExecEnv.scoped())
56
+ .map(([alias, value]) => ({ alias, definition: { value: value ?? "" }, enabled: true }))
57
+ .toSorted((left, right) => left.alias.localeCompare(right.alias));
58
+ }
59
+ async discover(query, _identity) {
60
+ if (query.configuration !== undefined) {
61
+ // A client's own environment contributing candidates would be a second door into the
62
+ // cascade, past the operator's ceiling. The refusal is the same shape Agent Skills uses.
63
+ throw actionError("configuration-unsupported", 400, "Environment discovery reads this installation's declared configuration; client configuration contributes nothing.", { retryable: false });
64
+ }
65
+ // The catalog is filtered to what a Worker may set (#586, the converged shape): plurnk's own
66
+ // configuration and provider credential names are the operator's, refused by `add`, and would
67
+ // only bury the few names that matter under the operator's knobs.
68
+ const reserved = ExecEnv.ownSecretTest();
69
+ return EnvCatalog.candidates(await this.#defaults(), {
70
+ ...(query.query === undefined ? {} : { query: query.query }),
71
+ ...(query.source === undefined ? {} : { source: query.source }),
72
+ }).filter(({ alias }) => !reserved(alias));
73
+ }
74
+ async admit(input, _identity) {
75
+ const record = input;
76
+ const alias = typeof record.alias === "string" ? record.alias : "";
77
+ if (!NAME.test(alias)) {
78
+ throw actionError("name-invalid", 400, `'${alias}' is not a name a shell can export.`, { retryable: false });
79
+ }
80
+ // The invariant, refused at admission rather than silently at the spawn: a name the model
81
+ // writes here would otherwise be dropped when the environment composes, and it would never
82
+ // learn why. {§exec-env-scoped} strips these unconditionally at every layer.
83
+ if (ExecEnv.ownSecretTest()(alias)) {
84
+ throw actionError("name-reserved", 400, `'${alias}' is plurnk's own: PLURNK_* configuration and provider credential names never reach a subprocess.`, { retryable: false });
85
+ }
86
+ const definition = record.definition;
87
+ if (typeof definition?.value !== "string") {
88
+ throw actionError("value-invalid", 400, `'${alias}' needs a string value.`, { retryable: false });
89
+ }
90
+ return { alias, definition: { value: definition.value } };
91
+ }
92
+ // Nothing is launched, so nothing can fail to launch: every enabled definition is active and
93
+ // there is no snapshot to tear down. The environment is read at the spawn that uses it
94
+ // ({§exec-env-scoped}), never held resident — which is why this family publishes no runtimes.
95
+ async prepare(preparation) {
96
+ const outcomes = new Map([...preparation.enabled.keys()].map((alias) => [alias, { state: "active" }]));
97
+ return {
98
+ documents: [], outcomes, snapshot: null,
99
+ commit: async () => undefined,
100
+ abort: async () => undefined,
101
+ };
102
+ }
103
+ async teardown(_snapshot, _identity) {
104
+ return undefined;
105
+ }
106
+ static defaultsReader(projectRoot, pluginsNodeModules) {
107
+ let cached;
108
+ return async () => cached ??= await EnvDefaults.collect(projectRoot, pluginsNodeModules);
109
+ }
110
+ // {§exec-env-scoped} layer four, applied at the spawn: the Worker's own state over the ambient
111
+ // ceiling. An enabled worker entry sets its value; a disabled entry of either origin withholds the
112
+ // name. One rule with `list`, which projects the same state, so what a Worker sees listed is what
113
+ // its command receives. The state is the coordinator's persisted shape ({§functionality-state});
114
+ // anything else is a defect, not a fallback. The invariant runs last, as at every layer.
115
+ //
116
+ // Beside the environment comes its record: every name with its provenance, which the spawn
117
+ // writes on its own log row and the digest renders — the host-versus-container confound closed
118
+ // where it starts.
119
+ static compose(ambient, state, modifier = {}) {
120
+ if (!isRecord(state) || state.version !== 1 || !isRecord(state.definitions))
121
+ throw new Error("env state is not a version 1 record");
122
+ const env = { ...ambient };
123
+ const record = {};
124
+ let reserved;
125
+ for (const [name, entry] of Object.entries(state.definitions)) {
126
+ if (!isRecord(entry) || typeof entry.enabled !== "boolean")
127
+ throw new Error(`env state for '${name}' is malformed`);
128
+ const from = typeof entry.inherited === "string" ? { from: entry.inherited } : {};
129
+ if (!entry.enabled) {
130
+ delete env[name];
131
+ record[name] = { source: "masked", ...from };
132
+ continue;
133
+ }
134
+ if (entry.origin === "service")
135
+ continue;
136
+ if (entry.origin !== "worker")
137
+ throw new Error(`env state for '${name}' has origin '${String(entry.origin)}'`);
138
+ if (!isRecord(entry.definition) || typeof entry.definition.value !== "string")
139
+ throw new Error(`env state for '${name}' holds no string value`);
140
+ reserved ??= ExecEnv.ownSecretTest();
141
+ if (reserved(name)) {
142
+ record[name] = { source: "masked" };
143
+ continue;
144
+ }
145
+ env[name] = entry.definition.value;
146
+ record[name] = { source: "worker", ...from, value: entry.definition.value };
147
+ }
148
+ // {§env-option} — the op's own environment, nearest the spawn; admitted by name already.
149
+ for (const [name, value] of Object.entries(modifier)) {
150
+ reserved ??= ExecEnv.ownSecretTest();
151
+ if (reserved(name))
152
+ throw new Error(`env modifier names plurnk's own '${name}' past admission`);
153
+ env[name] = value;
154
+ record[name] = { source: "modifier", value };
155
+ }
156
+ for (const [name, value] of Object.entries(env)) {
157
+ if (record[name] === undefined && value !== undefined)
158
+ record[name] = { source: "host", value };
159
+ }
160
+ return { env, record };
161
+ }
162
+ // {§env-option} — the heading's `env` option, read through the one metadata reader and admitted
163
+ // by the family's own rules: an object of string values under names a shell can export, never
164
+ // plurnk's own. A refusal names the key and the reason, so the model learns why, exactly as `add`
165
+ // refuses. A block that is not the array shape carries no `env` for the service to read: it is
166
+ // the invoked executor's to accept or refuse ({§scheme-metadata-modifier}), as `pattern` is
167
+ // lifted only from a block that parses.
168
+ static modifier(metadata, source = "env:functionality") {
169
+ const read = MetadataOptions.parse(metadata, source);
170
+ if ("failure" in read)
171
+ return Object.freeze({});
172
+ return EnvFunctionality.environment(read.env);
173
+ }
174
+ static environment(raw) {
175
+ if (raw === undefined)
176
+ return Object.freeze({});
177
+ if (!isRecord(raw))
178
+ throw actionError("env-invalid", 400, "`env` must be an object of string values.", { retryable: false });
179
+ const reserved = ExecEnv.ownSecretTest();
180
+ const out = {};
181
+ for (const [name, value] of Object.entries(raw)) {
182
+ if (!NAME.test(name))
183
+ throw actionError("name-invalid", 400, `'${name}' is not a name a shell can export.`, { alias: name, retryable: false });
184
+ if (reserved(name)) {
185
+ throw actionError("name-reserved", 400, `'${name}' is plurnk's own: PLURNK_* configuration and provider credential names never reach a subprocess.`, { alias: name, retryable: false });
186
+ }
187
+ if (typeof value !== "string")
188
+ throw actionError("value-invalid", 400, `'${name}' needs a string value.`, { alias: name, retryable: false });
189
+ out[name] = value;
190
+ }
191
+ return Object.freeze(out);
192
+ }
193
+ }
194
+ //# sourceMappingURL=EnvFunctionality.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnvFunctionality.js","sourceRoot":"","sources":["../../src/server/EnvFunctionality.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
- import type { FunctionalityAdapter, FunctionalityCaller, FunctionalityFamilyHandle, ModuleActionRegistration, WorkspaceCapabilityIdentity, WorkspaceCapabilityGate, WorkspaceCapabilityProvider, WorkspaceCapabilityReplacement, WorkspaceCapabilityPublication } from "./DaemonModule.ts";
1
+ import type { FunctionalityAdapter, FunctionalityCaller, FunctionalityFamilyHandle, FunctionalityIdentity, ModuleActionRegistration, WorkspaceCapabilityIdentity, WorkspaceCapabilityGate, WorkspaceCapabilityProvider, WorkspaceCapabilityReplacement, WorkspaceCapabilityPublication } from "./DaemonModule.ts";
2
2
  import { type FunctionalityVerb } from "./FunctionalityManager.ts";
3
3
  export interface FunctionalityHost {
4
4
  registerModuleAction(registration: ModuleActionRegistration): void;
5
5
  registerWorkspaceCapabilityProvider(namespaceOwner: string, provider: WorkspaceCapabilityProvider): void;
6
6
  readWorkspaceModuleState(workspaceId: number, namespaceOwner: string): Promise<unknown | null>;
7
7
  replaceWorkspaceCapabilities(replacement: WorkspaceCapabilityReplacement, options?: WorkspaceCapabilityPublication): Promise<void>;
8
+ readWorkerModuleState(workerId: number, namespaceOwner: string): Promise<unknown | null>;
9
+ replaceWorkerModuleState(workerId: number, namespaceOwner: string, state: unknown | null): Promise<void>;
8
10
  mutateWorkspace<T>(workspaceId: number, namespaceOwner: string, caller: FunctionalityCaller, run: () => Promise<T>): Promise<T>;
9
11
  retainWorkspace(workspaceId: number): () => void;
10
12
  }
@@ -26,6 +28,6 @@ export default class Functionality {
26
28
  pathname: string;
27
29
  content: string;
28
30
  }>;
29
- invoke(family: string, verb: FunctionalityVerb, params: unknown, identity: WorkspaceCapabilityIdentity, caller: FunctionalityCaller): Promise<FunctionalityInvocation>;
31
+ invoke(family: string, verb: FunctionalityVerb, params: unknown, identity: FunctionalityIdentity, caller: FunctionalityCaller): Promise<FunctionalityInvocation>;
30
32
  }
31
33
  //# sourceMappingURL=Functionality.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Functionality.d.ts","sourceRoot":"","sources":["../../src/server/Functionality.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EACR,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,EAGzB,wBAAwB,EAExB,2BAA2B,EAC3B,uBAAuB,EACvB,2BAA2B,EAC3B,8BAA8B,EAC9B,8BAA8B,EACjC,MAAM,mBAAmB,CAAC;AAC3B,OAA6B,EAGzB,KAAK,iBAAiB,EACzB,MAAM,2BAA2B,CAAC;AAInC,MAAM,WAAW,iBAAiB;IAC9B,oBAAoB,CAAC,YAAY,EAAE,wBAAwB,GAAG,IAAI,CAAC;IACnE,mCAAmC,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,2BAA2B,GAAG,IAAI,CAAC;IACzG,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAC/F,4BAA4B,CACxB,WAAW,EAAE,8BAA8B,EAC3C,OAAO,CAAC,EAAE,8BAA8B,GACzC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,eAAe,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAChI,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,IAAI,CAAC;CACpD;AAMD,YAAY,EAAE,mBAAmB,EAAE,CAAC;AAEpC,MAAM,WAAW,uBAAuB;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CAC1B;AAyDD,MAAM,CAAC,OAAO,OAAO,aAAa;;IAQ9B,YAAY,IAAI,EAAE,iBAAiB,EAElC;IAID,QAAQ,CAAC,OAAO,EAAE,oBAAoB,GAAG,yBAAyB,CA0DjE;IAOK,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,2BAA2B,EAAE,OAAO,GAAE;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,uBAAuB,CAAA;KAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAW7I;IAED,QAAQ,IAAI,MAAM,EAAE,CAEnB;IAIK,MAAM,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKhD;IAmBD,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAS3E;IAGK,MAAM,CACR,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,iBAAiB,EACvB,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,2BAA2B,EACrC,MAAM,EAAE,mBAAmB,GAC5B,OAAO,CAAC,uBAAuB,CAAC,CAoBlC;CAoRJ"}
1
+ {"version":3,"file":"Functionality.d.ts","sourceRoot":"","sources":["../../src/server/Functionality.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EACR,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,EACzB,qBAAqB,EAGrB,wBAAwB,EAExB,2BAA2B,EAC3B,uBAAuB,EACvB,2BAA2B,EAC3B,8BAA8B,EAC9B,8BAA8B,EACjC,MAAM,mBAAmB,CAAC;AAC3B,OAA6B,EAGzB,KAAK,iBAAiB,EACzB,MAAM,2BAA2B,CAAC;AAInC,MAAM,WAAW,iBAAiB;IAC9B,oBAAoB,CAAC,YAAY,EAAE,wBAAwB,GAAG,IAAI,CAAC;IACnE,mCAAmC,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,2BAA2B,GAAG,IAAI,CAAC;IACzG,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAC/F,4BAA4B,CACxB,WAAW,EAAE,8BAA8B,EAC3C,OAAO,CAAC,EAAE,8BAA8B,GACzC,OAAO,CAAC,IAAI,CAAC,CAAC;IAGjB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACzF,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzG,eAAe,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAChI,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,IAAI,CAAC;CACpD;AAMD,YAAY,EAAE,mBAAmB,EAAE,CAAC;AAEpC,MAAM,WAAW,uBAAuB;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CAC1B;AAoED,MAAM,CAAC,OAAO,OAAO,aAAa;;IAQ9B,YAAY,IAAI,EAAE,iBAAiB,EAElC;IAID,QAAQ,CAAC,OAAO,EAAE,oBAAoB,GAAG,yBAAyB,CAgEjE;IAOK,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,2BAA2B,EAAE,OAAO,GAAE;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,uBAAuB,CAAA;KAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAW7I;IAED,QAAQ,IAAI,MAAM,EAAE,CAEnB;IAIK,MAAM,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKhD;IAmBD,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAS3E;IAGK,MAAM,CACR,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,iBAAiB,EACvB,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,qBAAqB,EAC/B,MAAM,EAAE,mBAAmB,GAC5B,OAAO,CAAC,uBAAuB,CAAC,CA0BlC;CA8YJ"}