@plurnk/plurnk-service 1.8.0 → 1.9.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 (263) hide show
  1. package/.env.defaults +20 -0
  2. package/INSTALL.md +14 -16
  3. package/README.md +1 -1
  4. package/SPEC.md +635 -296
  5. package/digest-sql/channel-dispositions/dispositions.sql +2 -2
  6. package/digest-sql/entry-dispositions/dispositions.sql +2 -2
  7. package/dist/Paths.d.ts +1 -2
  8. package/dist/Paths.d.ts.map +1 -1
  9. package/dist/Paths.js +1 -9
  10. package/dist/Paths.js.map +1 -1
  11. package/dist/build-info.json +1 -1
  12. package/dist/core/ChannelWrite.d.ts +8 -3
  13. package/dist/core/ChannelWrite.d.ts.map +1 -1
  14. package/dist/core/ChannelWrite.js +40 -8
  15. package/dist/core/ChannelWrite.js.map +1 -1
  16. package/dist/core/ChannelWrite.sql +17 -4
  17. package/dist/core/CoreSchemeServices.d.ts +7 -3
  18. package/dist/core/CoreSchemeServices.d.ts.map +1 -1
  19. package/dist/core/CoreSchemeServices.js +8 -1
  20. package/dist/core/CoreSchemeServices.js.map +1 -1
  21. package/dist/core/Dispatcher.d.ts +9 -1
  22. package/dist/core/Dispatcher.d.ts.map +1 -1
  23. package/dist/core/Dispatcher.js +321 -221
  24. package/dist/core/Dispatcher.js.map +1 -1
  25. package/dist/core/Engine.d.ts +13 -4
  26. package/dist/core/Engine.d.ts.map +1 -1
  27. package/dist/core/Engine.js +44 -22
  28. package/dist/core/Engine.js.map +1 -1
  29. package/dist/core/Engine.sql +101 -81
  30. package/dist/core/EntryAddressBinding.d.ts +32 -0
  31. package/dist/core/EntryAddressBinding.d.ts.map +1 -0
  32. package/dist/core/EntryAddressBinding.js +93 -0
  33. package/dist/core/EntryAddressBinding.js.map +1 -0
  34. package/dist/core/ExecutorRegistry.d.ts +4 -4
  35. package/dist/core/ExecutorRegistry.d.ts.map +1 -1
  36. package/dist/core/ExecutorRegistry.js +28 -28
  37. package/dist/core/ExecutorRegistry.js.map +1 -1
  38. package/dist/core/LogBody.d.ts.map +1 -1
  39. package/dist/core/LogBody.js +19 -1
  40. package/dist/core/LogBody.js.map +1 -1
  41. package/dist/core/OperatorConfig.d.ts.map +1 -1
  42. package/dist/core/OperatorConfig.js +5 -2
  43. package/dist/core/OperatorConfig.js.map +1 -1
  44. package/dist/core/OverflowTurn.d.ts.map +1 -1
  45. package/dist/core/OverflowTurn.js +5 -1
  46. package/dist/core/OverflowTurn.js.map +1 -1
  47. package/dist/core/Owner.js +1 -1
  48. package/dist/core/Owner.js.map +1 -1
  49. package/dist/core/PacketBuilder.d.ts +5 -1
  50. package/dist/core/PacketBuilder.d.ts.map +1 -1
  51. package/dist/core/PacketBuilder.js +21 -11
  52. package/dist/core/PacketBuilder.js.map +1 -1
  53. package/dist/core/ProposalLifecycle.d.ts +4 -1
  54. package/dist/core/ProposalLifecycle.d.ts.map +1 -1
  55. package/dist/core/ProposalLifecycle.js +85 -26
  56. package/dist/core/ProposalLifecycle.js.map +1 -1
  57. package/dist/core/ReasoningEvent.d.ts +13 -0
  58. package/dist/core/ReasoningEvent.d.ts.map +1 -0
  59. package/dist/core/ReasoningEvent.js +6 -0
  60. package/dist/core/ReasoningEvent.js.map +1 -0
  61. package/dist/core/ResourceMutations.d.ts +15 -19
  62. package/dist/core/ResourceMutations.d.ts.map +1 -1
  63. package/dist/core/ResourceMutations.js +113 -38
  64. package/dist/core/ResourceMutations.js.map +1 -1
  65. package/dist/core/SchemeRegistry.d.ts +12 -11
  66. package/dist/core/SchemeRegistry.d.ts.map +1 -1
  67. package/dist/core/SchemeRegistry.js +52 -47
  68. package/dist/core/SchemeRegistry.js.map +1 -1
  69. package/dist/core/ToolResources.d.ts.map +1 -1
  70. package/dist/core/ToolResources.js +20 -19
  71. package/dist/core/ToolResources.js.map +1 -1
  72. package/dist/core/Turn.d.ts +1 -1
  73. package/dist/core/Turn.d.ts.map +1 -1
  74. package/dist/core/TurnOps.d.ts +2 -2
  75. package/dist/core/TurnOps.d.ts.map +1 -1
  76. package/dist/core/TurnOps.js +14 -4
  77. package/dist/core/TurnOps.js.map +1 -1
  78. package/dist/core/TurnRunner.d.ts +46 -3
  79. package/dist/core/TurnRunner.d.ts.map +1 -1
  80. package/dist/core/TurnRunner.js +165 -78
  81. package/dist/core/TurnRunner.js.map +1 -1
  82. package/dist/core/WorkerName.d.ts +1 -0
  83. package/dist/core/WorkerName.d.ts.map +1 -1
  84. package/dist/core/WorkerName.js +2 -1
  85. package/dist/core/WorkerName.js.map +1 -1
  86. package/dist/core/WorkerName.sql +17 -2
  87. package/dist/core/WorkspaceGate.js +1 -1
  88. package/dist/core/WorkspaceGate.js.map +1 -1
  89. package/dist/core/caps/CapsResolve.d.ts +2 -2
  90. package/dist/core/caps/CapsResolve.d.ts.map +1 -1
  91. package/dist/core/caps/CapsResolve.js +5 -7
  92. package/dist/core/caps/CapsResolve.js.map +1 -1
  93. package/dist/core/caps/DbChannelCaps.d.ts +1 -1
  94. package/dist/core/caps/DbChannelCaps.d.ts.map +1 -1
  95. package/dist/core/caps/DbChannelCaps.js +13 -11
  96. package/dist/core/caps/DbChannelCaps.js.map +1 -1
  97. package/dist/core/caps/DbEntryCaps.d.ts +5 -5
  98. package/dist/core/caps/DbEntryCaps.d.ts.map +1 -1
  99. package/dist/core/caps/DbEntryCaps.js +27 -30
  100. package/dist/core/caps/DbEntryCaps.js.map +1 -1
  101. package/dist/core/caps/DbNotifyCaps.d.ts +1 -1
  102. package/dist/core/caps/DbNotifyCaps.d.ts.map +1 -1
  103. package/dist/core/caps/DbNotifyCaps.js +5 -3
  104. package/dist/core/caps/DbNotifyCaps.js.map +1 -1
  105. package/dist/core/caps/DbSubscriptionCaps.d.ts +3 -3
  106. package/dist/core/caps/DbSubscriptionCaps.d.ts.map +1 -1
  107. package/dist/core/caps/DbSubscriptionCaps.js +16 -26
  108. package/dist/core/caps/DbSubscriptionCaps.js.map +1 -1
  109. package/dist/core/caps/SchemeCtxImpl.d.ts +6 -4
  110. package/dist/core/caps/SchemeCtxImpl.d.ts.map +1 -1
  111. package/dist/core/caps/SchemeCtxImpl.js +37 -5
  112. package/dist/core/caps/SchemeCtxImpl.js.map +1 -1
  113. package/dist/core/file-creation-policy.d.ts +9 -0
  114. package/dist/core/file-creation-policy.d.ts.map +1 -0
  115. package/dist/core/file-creation-policy.js +25 -0
  116. package/dist/core/file-creation-policy.js.map +1 -0
  117. package/dist/core/fork.d.ts +4 -1
  118. package/dist/core/fork.d.ts.map +1 -1
  119. package/dist/core/fork.js +27 -15
  120. package/dist/core/fork.js.map +1 -1
  121. package/dist/core/fork.sql +35 -22
  122. package/dist/core/git-membership.d.ts +19 -1
  123. package/dist/core/git-membership.d.ts.map +1 -1
  124. package/dist/core/git-membership.js +225 -50
  125. package/dist/core/git-membership.js.map +1 -1
  126. package/dist/core/packet-wire.d.ts.map +1 -1
  127. package/dist/core/packet-wire.js +28 -19
  128. package/dist/core/packet-wire.js.map +1 -1
  129. package/dist/core/plurnk-uri.d.ts +13 -2
  130. package/dist/core/plurnk-uri.d.ts.map +1 -1
  131. package/dist/core/plurnk-uri.js +59 -21
  132. package/dist/core/plurnk-uri.js.map +1 -1
  133. package/dist/core/scheme-types.d.ts +1 -0
  134. package/dist/core/scheme-types.d.ts.map +1 -1
  135. package/dist/core/worker-ops.sql +10 -6
  136. package/dist/core/worker-settings.d.ts +1 -0
  137. package/dist/core/worker-settings.d.ts.map +1 -1
  138. package/dist/core/worker-settings.js +7 -0
  139. package/dist/core/worker-settings.js.map +1 -1
  140. package/dist/core/workspace-settings.d.ts +2 -0
  141. package/dist/core/workspace-settings.d.ts.map +1 -1
  142. package/dist/core/workspace-settings.js +5 -1
  143. package/dist/core/workspace-settings.js.map +1 -1
  144. package/dist/digest/Digest.d.ts.map +1 -1
  145. package/dist/digest/Digest.js +1 -1
  146. package/dist/digest/Digest.js.map +1 -1
  147. package/dist/digest/digest.sql +1 -1
  148. package/dist/schemes/Exec.d.ts +3 -2
  149. package/dist/schemes/Exec.d.ts.map +1 -1
  150. package/dist/schemes/Exec.js +55 -22
  151. package/dist/schemes/Exec.js.map +1 -1
  152. package/dist/schemes/ExecOutputScheme.d.ts.map +1 -1
  153. package/dist/schemes/ExecOutputScheme.js +5 -4
  154. package/dist/schemes/ExecOutputScheme.js.map +1 -1
  155. package/dist/schemes/File.d.ts.map +1 -1
  156. package/dist/schemes/File.js +170 -80
  157. package/dist/schemes/File.js.map +1 -1
  158. package/dist/schemes/Prompt.d.ts +2 -3
  159. package/dist/schemes/Prompt.d.ts.map +1 -1
  160. package/dist/schemes/Prompt.js +4 -7
  161. package/dist/schemes/Prompt.js.map +1 -1
  162. package/dist/schemes/Skill.d.ts.map +1 -1
  163. package/dist/schemes/Skill.js +3 -1
  164. package/dist/schemes/Skill.js.map +1 -1
  165. package/dist/schemes/Worker.d.ts.map +1 -1
  166. package/dist/schemes/Worker.js +95 -49
  167. package/dist/schemes/Worker.js.map +1 -1
  168. package/dist/schemes/_entry-crud.d.ts +5 -5
  169. package/dist/schemes/_entry-crud.d.ts.map +1 -1
  170. package/dist/schemes/_entry-crud.js +22 -17
  171. package/dist/schemes/_entry-crud.js.map +1 -1
  172. package/dist/schemes/_entry-crud.sql +58 -23
  173. package/dist/schemes/_entry-find.d.ts +3 -2
  174. package/dist/schemes/_entry-find.d.ts.map +1 -1
  175. package/dist/schemes/_entry-find.js +26 -25
  176. package/dist/schemes/_entry-find.js.map +1 -1
  177. package/dist/schemes/_entry-find.sql +10 -7
  178. package/dist/schemes/_entry-manifest.d.ts +2 -2
  179. package/dist/schemes/_entry-manifest.d.ts.map +1 -1
  180. package/dist/schemes/_entry-manifest.js +6 -5
  181. package/dist/schemes/_entry-manifest.js.map +1 -1
  182. package/dist/schemes/_entry-ops.d.ts +6 -5
  183. package/dist/schemes/_entry-ops.d.ts.map +1 -1
  184. package/dist/schemes/_entry-ops.js +39 -46
  185. package/dist/schemes/_entry-ops.js.map +1 -1
  186. package/dist/schemes/_entry-ops.sql +9 -6
  187. package/dist/schemes/_entry-send.d.ts +2 -2
  188. package/dist/schemes/_entry-send.d.ts.map +1 -1
  189. package/dist/schemes/_entry-send.js +16 -14
  190. package/dist/schemes/_entry-send.js.map +1 -1
  191. package/dist/schemes/_search-index.d.ts.map +1 -1
  192. package/dist/schemes/_search-index.js +2 -0
  193. package/dist/schemes/_search-index.js.map +1 -1
  194. package/dist/server/Daemon.d.ts +42 -10
  195. package/dist/server/Daemon.d.ts.map +1 -1
  196. package/dist/server/Daemon.js +326 -248
  197. package/dist/server/Daemon.js.map +1 -1
  198. package/dist/server/DaemonModule.d.ts +84 -19
  199. package/dist/server/DaemonModule.d.ts.map +1 -1
  200. package/dist/server/DrainSupervisor.d.ts +3 -1
  201. package/dist/server/DrainSupervisor.d.ts.map +1 -1
  202. package/dist/server/DrainSupervisor.js +11 -9
  203. package/dist/server/DrainSupervisor.js.map +1 -1
  204. package/dist/server/Functionality.d.ts +44 -0
  205. package/dist/server/Functionality.d.ts.map +1 -0
  206. package/dist/server/Functionality.js +422 -0
  207. package/dist/server/Functionality.js.map +1 -0
  208. package/dist/server/FunctionalityManager.d.ts +22 -0
  209. package/dist/server/FunctionalityManager.d.ts.map +1 -0
  210. package/dist/server/FunctionalityManager.js +121 -0
  211. package/dist/server/FunctionalityManager.js.map +1 -0
  212. package/dist/server/SkillsFunctionality.d.ts +61 -0
  213. package/dist/server/SkillsFunctionality.d.ts.map +1 -0
  214. package/dist/server/SkillsFunctionality.js +449 -0
  215. package/dist/server/SkillsFunctionality.js.map +1 -0
  216. package/dist/server/WorkerCapabilities.d.ts +21 -0
  217. package/dist/server/WorkerCapabilities.d.ts.map +1 -0
  218. package/dist/server/WorkerCapabilities.js +214 -0
  219. package/dist/server/WorkerCapabilities.js.map +1 -0
  220. package/dist/server/WorkerResidency.d.ts +40 -0
  221. package/dist/server/WorkerResidency.d.ts.map +1 -0
  222. package/dist/server/WorkerResidency.js +283 -0
  223. package/dist/server/WorkerResidency.js.map +1 -0
  224. package/dist/server/client-input.d.ts +1 -0
  225. package/dist/server/client-input.d.ts.map +1 -1
  226. package/dist/server/client-input.js +22 -1
  227. package/dist/server/client-input.js.map +1 -1
  228. package/dist/server/dispatch-as-plurnk.d.ts +2 -2
  229. package/dist/server/dispatch-as-plurnk.d.ts.map +1 -1
  230. package/dist/server/dispatch-as-plurnk.js +89 -25
  231. package/dist/server/dispatch-as-plurnk.js.map +1 -1
  232. package/dist/server/drain.sql +11 -6
  233. package/dist/server/envelope.d.ts +6 -1
  234. package/dist/server/envelope.d.ts.map +1 -1
  235. package/dist/server/envelope.js +8 -2
  236. package/dist/server/envelope.js.map +1 -1
  237. package/dist/server/envelope.sql +11 -3
  238. package/dist/server/lifecycle-recovery.sql +13 -16
  239. package/dist/server/loopDocs.d.ts +2 -1
  240. package/dist/server/loopDocs.d.ts.map +1 -1
  241. package/dist/server/loopDocs.js +67 -51
  242. package/dist/server/loopDocs.js.map +1 -1
  243. package/dist/server/loopDocs.sql +14 -10
  244. package/dist/server/module-discovery.d.ts +2 -2
  245. package/dist/server/module-discovery.d.ts.map +1 -1
  246. package/dist/server/module-discovery.js +27 -2
  247. package/dist/server/module-discovery.js.map +1 -1
  248. package/dist/server/seam-entry-read.sql +9 -7
  249. package/dist/server/seam-log-read.sql +1 -1
  250. package/dist/server/seam-loop.sql +10 -1
  251. package/dist/server/seam-proposal-list.sql +4 -2
  252. package/dist/server/worker-capabilities.sql +19 -0
  253. package/dist/service.d.ts.map +1 -1
  254. package/dist/service.js +11 -1
  255. package/dist/service.js.map +1 -1
  256. package/migrations/001_schema.sql +486 -136
  257. package/package.json +34 -32
  258. package/dist/server/skillDocs.d.ts +0 -9
  259. package/dist/server/skillDocs.d.ts.map +0 -1
  260. package/dist/server/skillDocs.js +0 -212
  261. package/dist/server/skillDocs.js.map +0 -1
  262. package/dist/server/skillDocs.sql +0 -14
  263. package/dist/server/workspace-capabilities.sql +0 -19
@@ -518,7 +518,9 @@ export default class PacketWire {
518
518
  const path = PacketWire.#entryPath(coordinate, renderedOp);
519
519
  if (path !== null)
520
520
  meta.path = path;
521
- if (typeof e.origin === "string")
521
+ // Absence = "model" — the worker's own authorship is the default,
522
+ // exactly as `source` absence means the owning worker (#338).
523
+ if (typeof e.origin === "string" && e.origin !== "model")
522
524
  meta.origin = e.origin;
523
525
  // {§env-delta-attribution}: render the causal worker address or
524
526
  // subsystem token when present; absence means the owning worker.
@@ -533,7 +535,10 @@ export default class PacketWire {
533
535
  }
534
536
  meta.git = git;
535
537
  }
536
- if (typeof e.status === "number")
538
+ // Absence = 200 on a non-SEND row — the clients' quiet grammar
539
+ // (plurnk#21) applied to the packet; SEND keeps its submit code and
540
+ // every non-200 stays explicit (#338).
541
+ if (typeof e.status === "number" && (op === "SEND" || e.status !== 200))
537
542
  meta.status = e.status;
538
543
  if (e.tags !== undefined) {
539
544
  const storedTags = e.tags;
@@ -585,6 +590,14 @@ export default class PacketWire {
585
590
  Validator.assertProblemDetails(problem);
586
591
  meta.problem = problem;
587
592
  }
593
+ // The success-side sibling (#342): a sub-problem receipt may carry one
594
+ // terse `detail` (e.g. the EDIT 304) so situational teaching is paid
595
+ // only when the situation occurs, never in the hot path.
596
+ if (!Object.hasOwn(meta, "problem") && rx !== null && typeof rx === "object"
597
+ && typeof rx.detail === "string"
598
+ && rx.detail.length > 0) {
599
+ meta.detail = rx.detail;
600
+ }
588
601
  // {§retrieval-packet-metadata}: one extent/coordinate owner plus
589
602
  // only FIND aggregates that add information beyond that extent.
590
603
  let findItems = null;
@@ -723,7 +736,9 @@ export default class PacketWire {
723
736
  // when that body is withheld. Active accounting happens only after every field and
724
737
  // the final row framing are known below.
725
738
  const renderedBodyWeight = body.length > 0 ? weighContent(body) : 0;
726
- if (fullBody.content.length > 0)
739
+ // Never tokensBody:0 — a priceless OPEN is field absence, and
740
+ // tokensBody presence is what marks the folded state (#338).
741
+ if (fullBody.content.length > 0 && renderedBodyWeight > 0)
727
742
  meta.tokensBody = renderedBodyWeight;
728
743
  // lines beside tokens on a non-retrieval row with a navigable body — the count of
729
744
  // `N:`-numbered lines (fences and unnumbered prose don't count), so the model can plan
@@ -734,10 +749,10 @@ export default class PacketWire {
734
749
  if (bodyVisibility.folded.length > 0 && !bodyVisibility.fullyFolded) {
735
750
  meta.folded = LogVisibility.format(bodyVisibility.folded);
736
751
  }
737
- // {§jsonplurnk} — `display` describes the three body states: `none` carries an explicit
738
- // empty JSON string, `folded` withholds an existing body, and `open` appends that body as
739
- // the format's one raw multiline string. The explicit empty body keeps
740
- // every state self-describing; OPEN/FOLD remain friendly no-ops on `none`.
752
+ // {§jsonplurnk} — the three body states stay self-describing through
753
+ // field presence alone (#338): a `body` field ⇒ open, `tokensBody`
754
+ // without `body` ⇒ folded, neither ⇒ none. OPEN/FOLD remain
755
+ // friendly no-ops on `none`.
741
756
  const display = fullBody.content.length === 0
742
757
  ? "none"
743
758
  : bodyVisibility.fullyFolded
@@ -745,9 +760,6 @@ export default class PacketWire {
745
760
  : body.length === 0
746
761
  ? "none"
747
762
  : "open";
748
- meta.display = display;
749
- if (display === "none")
750
- meta.body = "";
751
763
  const projectedChunk = projection.chunk !== null
752
764
  && bodyVisibility.folded.length > 0
753
765
  && !bodyVisibility.fullyFolded
@@ -762,21 +774,18 @@ export default class PacketWire {
762
774
  ? obj.replace(/\}$/, `,"body":${body}${chunk}}`)
763
775
  : obj;
764
776
  };
765
- // The accounting fields participate in the row they measure. Iterate until their
766
- // decimal widths and therefore the rendered row's curation weight are stable.
767
- // tokensMetadata is the exact active non-body share, so tokensActive is metadata
768
- // alone when folded/empty and metadata + the rendered body when open.
769
- const activeBodyWeight = display === "open" ? renderedBodyWeight : 0;
777
+ // The accounting field participates in the row it measures. Iterate
778
+ // until its decimal width and therefore the rendered row's curation
779
+ // weight are stable. The metadata share is derivable (tokensActive −
780
+ // tokensBody when open; tokensActive otherwise) and feeds no
781
+ // curation decision, so it is not serialized (#338).
770
782
  meta.tokensActive = 0;
771
- meta.tokensMetadata = 0;
772
783
  for (let pass = 0; pass < 8; pass += 1) {
773
784
  const tokensActive = weighContent(renderRow());
774
- const tokensMetadata = tokensActive - activeBodyWeight;
775
- if (meta.tokensActive === tokensActive && meta.tokensMetadata === tokensMetadata) {
785
+ if (meta.tokensActive === tokensActive) {
776
786
  return renderRow();
777
787
  }
778
788
  meta.tokensActive = tokensActive;
779
- meta.tokensMetadata = tokensMetadata;
780
789
  }
781
790
  throw new Error("jsonplurnk row accounting did not converge");
782
791
  }).join(",\n");
@@ -1 +1 @@
1
- {"version":3,"file":"packet-wire.js","sourceRoot":"","sources":["../../src/core/packet-wire.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"packet-wire.js","sourceRoot":"","sources":["../../src/core/packet-wire.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { type ParsedPath } from "@plurnk/plurnk-contracts";
2
+ import { type EntryCoordinate, type SchemeAuthority } from "@plurnk/plurnk-schemes";
2
3
  export interface RenderTargetParts {
3
4
  readonly scheme: string | null | undefined;
4
5
  readonly hostname?: string | null;
@@ -8,11 +9,21 @@ export interface RenderTargetParts {
8
9
  readonly fragment?: string | null;
9
10
  }
10
11
  export declare function schemeNameOf(path: ParsedPath | null): string | null;
12
+ export declare function routedSchemeName(addressedScheme: string): string;
11
13
  export declare function foldAuthorityIntoPath(hostname: string | null, pathname: string): string;
12
- export declare function entryPathnameOf(path: ParsedPath): string;
14
+ export declare function entryCoordinateOf(path: ParsedPath, authority: SchemeAuthority): EntryCoordinate;
15
+ export declare function authorityParts(authority: string): {
16
+ hostname: string | null;
17
+ port: number | null;
18
+ };
19
+ export declare const GENERATED_ROOT = "/_plurnk";
20
+ export declare function generatedPathname(relative: string): string;
21
+ export declare function isGeneratedPathname(pathname: string): boolean;
13
22
  export declare function promptPathname(loopSeq: number, promptOrdinal: number): string;
14
23
  export declare function promptLoopPrefix(loopSeq: number): string;
15
- export declare function renderAddress(scheme: string, pathname: string): string;
24
+ export declare function renderAddress(address: EntryCoordinate & {
25
+ readonly scheme: string;
26
+ }): string;
16
27
  /** Render one stored target without exposing credentials or request metadata. {§scheme-address} */
17
28
  export declare function renderTarget(target: RenderTargetParts): string | null;
18
29
  //# sourceMappingURL=plurnk-uri.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plurnk-uri.d.ts","sourceRoot":"","sources":["../../src/core/plurnk-uri.ts"],"names":[],"mappings":"AAIA,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGvE,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAKD,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAUnE;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEvF;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAQxD;AAMD,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAE7E;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAQtE;AAED,mGAAmG;AACnG,wBAAgB,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAsBrE"}
1
+ {"version":3,"file":"plurnk-uri.d.ts","sourceRoot":"","sources":["../../src/core/plurnk-uri.ts"],"names":[],"mappings":"AAIA,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAkB,KAAK,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEpG,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAKD,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAQnE;AAED,wBAAgB,gBAAgB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAIhE;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEvF;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,GAAG,eAAe,CAqB/F;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAUlG;AAKD,eAAO,MAAM,cAAc,aAAa,CAAC;AAEzC,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE7D;AAMD,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAE7E;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAK5F;AAED,mGAAmG;AACnG,wBAAgB,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAyBrE"}
@@ -12,25 +12,63 @@ export function schemeNameOf(path) {
12
12
  // {§scheme-address-network}: handler aliases route https through http and ws through wss
13
13
  // without collapsing the addressed scheme's resource identity.
14
14
  if (path.kind === "url") {
15
- if (path.scheme === "https")
16
- return "http";
17
- if (path.scheme === "ws")
18
- return "wss";
19
- return path.scheme;
15
+ return routedSchemeName(path.scheme);
20
16
  }
21
17
  return "file"; // local (bare) → file
22
18
  }
19
+ export function routedSchemeName(addressedScheme) {
20
+ if (addressedScheme === "http")
21
+ return "https";
22
+ if (addressedScheme === "ws")
23
+ return "wss";
24
+ return addressedScheme;
25
+ }
23
26
  export function foldAuthorityIntoPath(hostname, pathname) {
24
27
  return hostname ? `/${hostname}${pathname}` : pathname;
25
28
  }
26
- export function entryPathnameOf(path) {
27
- if (path.kind === "url" && NetworkAddress.supports(path.scheme)) {
28
- return NetworkAddress.from(path).pathname;
29
+ export function entryCoordinateOf(path, authority) {
30
+ if (path.kind === "local") {
31
+ return { authority: "", pathname: PathSyntax.decodeParens(path.raw) };
32
+ }
33
+ if (authority === "resource") {
34
+ const canonicalAuthority = path.hostname === null
35
+ ? ""
36
+ : `${path.hostname}${path.port === null ? "" : `:${path.port}`}`;
37
+ const query = path.query === null ? "" : `?${path.query}`;
38
+ return {
39
+ authority: canonicalAuthority,
40
+ pathname: PathSyntax.decodeParens(path.pathname) + query,
41
+ };
29
42
  }
30
- const pathname = path.kind === "url"
31
- ? foldAuthorityIntoPath(path.hostname, path.pathname)
32
- : path.raw;
33
- return PathSyntax.decodeParens(pathname);
43
+ if (authority === "owner") {
44
+ return { authority: "", pathname: PathSyntax.decodeParens(path.pathname) };
45
+ }
46
+ return {
47
+ authority: "",
48
+ pathname: PathSyntax.decodeParens(foldAuthorityIntoPath(path.hostname, path.pathname)),
49
+ };
50
+ }
51
+ export function authorityParts(authority) {
52
+ if (authority.length === 0)
53
+ return { hostname: null, port: null };
54
+ const parsed = new URL(`plurnk-authority://${authority}/`);
55
+ if (parsed.username.length > 0 || parsed.password.length > 0 || parsed.hostname.length === 0) {
56
+ throw new TypeError(`Invalid resource authority ${JSON.stringify(authority)}.`);
57
+ }
58
+ return {
59
+ hostname: parsed.hostname,
60
+ port: parsed.port.length === 0 ? null : Number(parsed.port),
61
+ };
62
+ }
63
+ // {§worker-generated-subtree} — every Plurnk-generated per-Worker document lives under
64
+ // worker://~/_plurnk/. The root is the one writer-tier boundary and the fork
65
+ // rederive predicate; families (agents.md, skills/, tools/) hang beneath it.
66
+ export const GENERATED_ROOT = "/_plurnk";
67
+ export function generatedPathname(relative) {
68
+ return `${GENERATED_ROOT}${relative.startsWith("/") ? relative : `/${relative}`}`;
69
+ }
70
+ export function isGeneratedPathname(pathname) {
71
+ return pathname === GENERATED_ROOT || pathname.startsWith(`${GENERATED_ROOT}/`);
34
72
  }
35
73
  // {§prompt-self-only} — the prompt address is prompt:///<loopSeq>/<promptOrdinal>: the OWNER rides the
36
74
  // owner_id column ({§entry-owner}), so the coordinate is bare and loop-relative — the last
@@ -42,15 +80,12 @@ export function promptPathname(loopSeq, promptOrdinal) {
42
80
  export function promptLoopPrefix(loopSeq) {
43
81
  return `/${loopSeq}/`;
44
82
  }
45
- export function renderAddress(scheme, pathname) {
46
- if (NetworkAddress.supports(scheme))
47
- return NetworkAddress.render(scheme, pathname);
83
+ export function renderAddress(address) {
84
+ if (NetworkAddress.supports(address.scheme))
85
+ return NetworkAddress.render(address);
86
+ const { scheme, authority, pathname } = address;
48
87
  const encoded = PathSyntax.encodeParens(pathname);
49
- // {§scheme-address} — network storage folds the host into the pathname and
50
- // model-facing rendering restores it to the authority slot.
51
- // worker:// renders :/// — the owner rides owner_id ({§entry-owner}), so empty authority IS
52
- // the canonical stored form; a querying face re-applies its authority (~/name) for display.
53
- return PathSyntax.escapeTarget(`${scheme}://${encoded}`);
88
+ return PathSyntax.escapeTarget(`${scheme}://${authority}${encoded}`);
54
89
  }
55
90
  /** Render one stored target without exposing credentials or request metadata. {§scheme-address} */
56
91
  export function renderTarget(target) {
@@ -67,7 +102,10 @@ export function renderTarget(target) {
67
102
  address = PathSyntax.escapeTarget(`${scheme}://${hostname}${port}${PathSyntax.encodeParens(target.pathname)}`);
68
103
  }
69
104
  else {
70
- address = renderAddress(scheme, target.pathname);
105
+ const authority = hostname === null || hostname.length === 0
106
+ ? ""
107
+ : `${hostname}${target.port === null || target.port === undefined ? "" : `:${target.port}`}`;
108
+ address = renderAddress({ scheme, authority, pathname: target.pathname });
71
109
  }
72
110
  if (target.query !== null && target.query !== undefined) {
73
111
  address += `?${PathSyntax.escapeTarget(target.query)}`;
@@ -1 +1 @@
1
- {"version":3,"file":"plurnk-uri.js","sourceRoot":"","sources":["../../src/core/plurnk-uri.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plurnk-uri.js","sourceRoot":"","sources":["../../src/core/plurnk-uri.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ export interface PlurnkSchemeContext {
10
10
  readonly db: Db;
11
11
  readonly workspaceId: number;
12
12
  readonly workerId: number;
13
+ readonly functionalityWorkerId: number;
13
14
  readonly loopId: number;
14
15
  readonly turnId: number;
15
16
  readonly writer: WriterTier;
@@ -1 +1 @@
1
- {"version":3,"file":"scheme-types.d.ts","sourceRoot":"","sources":["../../src/core/scheme-types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACjG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EACR,wBAAwB,EACxB,2BAA2B,EAC3B,MAAM,EACT,MAAM,0BAA0B,CAAC;AAIlC,YAAY,EACR,SAAS,EACT,kBAAkB,EAClB,cAAc,EACd,UAAU,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAMhD,MAAM,WAAW,mBAAmB;IAChC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC;IAChB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAC/C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAK7C,QAAQ,CAAC,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAC3C,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAI/B,QAAQ,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAOtC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAI1C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IAGxD,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAG/C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAC1B,OAAO,EAAE,wBAAwB,KAChC,OAAO,CAAC,2BAA2B,CAAC,CAAC;CAC7C"}
1
+ {"version":3,"file":"scheme-types.d.ts","sourceRoot":"","sources":["../../src/core/scheme-types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACjG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EACR,wBAAwB,EACxB,2BAA2B,EAC3B,MAAM,EACT,MAAM,0BAA0B,CAAC;AAIlC,YAAY,EACR,SAAS,EACT,kBAAkB,EAClB,cAAc,EACd,UAAU,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAMhD,MAAM,WAAW,mBAAmB;IAChC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC;IAChB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAK1B,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAC/C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAK7C,QAAQ,CAAC,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAC3C,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAI/B,QAAQ,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAOtC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAI1C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IAGxD,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAG/C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAC1B,OAAO,EAAE,wBAAwB,KAChC,OAAO,CAAC,2BAA2B,CAAC,CAAC;CAC7C"}
@@ -14,7 +14,7 @@ ORDER BY id DESC LIMIT 1;
14
14
  SELECT name FROM workers WHERE id = $worker_id;
15
15
 
16
16
  -- PREP: worker_deliverable_by_name
17
- -- The newest worker holding this name, with its latest loop's status + exact terminal result — the
17
+ -- The newest worker holding this name, with its live loop or latest-settled terminal result — the
18
18
  -- deliverable a sister COLLECTS by READing worker://<name> ({§worker-scheme-collect}, the pull side of
19
19
  -- the same deliverable the push delta carries). Non-terminal means the worker has not delivered yet
20
20
  -- (READ steers to 202).
@@ -23,21 +23,25 @@ SELECT r.id AS worker_id, l.status, l.terminal_result, l.terminated_by
23
23
  FROM workers r
24
24
  JOIN loops l ON l.worker_id = r.id
25
25
  WHERE r.workspace_id = $workspace_id AND r.name = $name
26
- ORDER BY r.id DESC, l.sequence DESC
26
+ ORDER BY r.id DESC,
27
+ CASE WHEN l.status IN (100, 102, 202) THEN 0 ELSE 1 END,
28
+ CASE WHEN l.status IN (100, 102, 202) THEN l.sequence END DESC,
29
+ CASE WHEN l.status NOT IN (100, 102, 202) THEN l.terminated_at END DESC,
30
+ l.id DESC
27
31
  LIMIT 1;
28
32
 
29
33
  -- PREP: worker_live_by_name
30
- -- The newest worker holding this name that is still LIVE (a non-terminal loop, 100/102) —
34
+ -- The newest worker holding this name that is still LIVE (an unresolved loop, 100/102/202) —
31
35
  -- the spawn gate's collision check. A hit means the name is in use by a running sister
32
36
  -- (refuse: 409); no hit means the name is free or held only by a terminated worker (reclaim).
33
37
  SELECT r.id FROM workers r
34
38
  JOIN loops l ON l.worker_id = r.id
35
- WHERE r.workspace_id = $workspace_id AND r.name = $name AND l.status IN (100, 102)
39
+ WHERE r.workspace_id = $workspace_id AND r.name = $name AND l.status IN (100, 102, 202)
36
40
  ORDER BY r.id DESC LIMIT 1;
37
41
 
38
42
  -- PREP: worker_count_active
39
- -- Workers in a workspace with a non-terminal loop (status 100 pending / 102 in-progress)
43
+ -- Workers in a workspace with an unresolved loop (100 pending / 102 in-progress / 202 parked)
40
44
  -- — "active" for the PLURNK_SERVICE_WORKSPACE_WORKERS_MAX_ACTIVE ceiling (worker-cap.ts).
41
45
  SELECT COUNT(DISTINCT r.id) AS n FROM workers r
42
46
  JOIN loops l ON l.worker_id = r.id
43
- WHERE r.workspace_id = $workspace_id AND l.status IN (100, 102);
47
+ WHERE r.workspace_id = $workspace_id AND l.status IN (100, 102, 202);
@@ -5,5 +5,6 @@ export interface WorkerSettings {
5
5
  export default class WorkerSettingsReader {
6
6
  static read(db: Db, workerId: number): Promise<WorkerSettings>;
7
7
  static requestUserInputEnabled(db: Db, workerId: number): Promise<boolean>;
8
+ static toolAvailable(db: Db, workerId: number, runtime: string): Promise<boolean>;
8
9
  }
9
10
  //# sourceMappingURL=worker-settings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"worker-settings.d.ts","sourceRoot":"","sources":["../../src/core/worker-settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AASlC,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;CACtC;AAID,MAAM,CAAC,OAAO,OAAO,oBAAoB;IACrC,OAAa,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAcnE;IAED,OAAa,uBAAuB,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE/E;CACJ"}
1
+ {"version":3,"file":"worker-settings.d.ts","sourceRoot":"","sources":["../../src/core/worker-settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AASlC,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;CACtC;AAID,MAAM,CAAC,OAAO,OAAO,oBAAoB;IACrC,OAAa,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAcnE;IAED,OAAa,uBAAuB,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE/E;IAKD,OAAa,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGtF;CACJ"}
@@ -21,5 +21,12 @@ export default class WorkerSettingsReader {
21
21
  static async requestUserInputEnabled(db, workerId) {
22
22
  return (await WorkerSettingsReader.read(db, workerId)).requestUserInput;
23
23
  }
24
+ // {§worker-tool-admission} is one predicate shared by discovery and
25
+ // execution. A tool hidden from a Worker cannot remain guessable through
26
+ // generated documentation while dispatch rejects it.
27
+ static async toolAvailable(db, workerId, runtime) {
28
+ return runtime !== "question"
29
+ || await WorkerSettingsReader.requestUserInputEnabled(db, workerId);
30
+ }
24
31
  }
25
32
  //# sourceMappingURL=worker-settings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"worker-settings.js","sourceRoot":"","sources":["../../src/core/worker-settings.ts"],"names":[],"mappings":"AAaA,MAAM,gBAAgB,GAAmB,MAAM,CAAC,MAAM,CAAC,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC;AAEpF,MAAM,CAAC,OAAO,OAAO,oBAAoB;IACrC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAM,EAAE,QAAgB;QACtC,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAuB,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QACtF,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,gBAAgB,CAAC;QAC/C,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACD,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAY,CAAC;QACjD,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,gBAAgB,CAAC;QAC5B,CAAC;QACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,gBAAgB,CAAC;QACpG,MAAM,CAAC,GAAG,MAAwC,CAAC;QACnD,OAAO;YACH,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,KAAK,IAAI;SAChD,CAAC;IACN,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAM,EAAE,QAAgB;QACzD,OAAO,CAAC,MAAM,oBAAoB,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC;IAC5E,CAAC;CACJ"}
1
+ {"version":3,"file":"worker-settings.js","sourceRoot":"","sources":["../../src/core/worker-settings.ts"],"names":[],"mappings":"AAaA,MAAM,gBAAgB,GAAmB,MAAM,CAAC,MAAM,CAAC,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC;AAEpF,MAAM,CAAC,OAAO,OAAO,oBAAoB;IACrC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAM,EAAE,QAAgB;QACtC,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAuB,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QACtF,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,gBAAgB,CAAC;QAC/C,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACD,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAY,CAAC;QACjD,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,gBAAgB,CAAC;QAC5B,CAAC;QACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,gBAAgB,CAAC;QACpG,MAAM,CAAC,GAAG,MAAwC,CAAC;QACnD,OAAO;YACH,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,KAAK,IAAI;SAChD,CAAC;IACN,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAM,EAAE,QAAgB;QACzD,OAAO,CAAC,MAAM,oBAAoB,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC;IAC5E,CAAC;IAED,oEAAoE;IACpE,yEAAyE;IACzE,qDAAqD;IACrD,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,EAAM,EAAE,QAAgB,EAAE,OAAe;QAChE,OAAO,OAAO,KAAK,UAAU;eACtB,MAAM,oBAAoB,CAAC,uBAAuB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC5E,CAAC;CACJ"}
@@ -1,8 +1,10 @@
1
1
  import type { Db } from "./Db.ts";
2
+ import { type FileCreateScope } from "./file-creation-policy.ts";
2
3
  export type WorkspaceOpenContext = {
3
4
  filesItems: number | null;
4
5
  maxCommands: number | null;
5
6
  git: boolean | null;
7
+ fileCreateScope: FileCreateScope | null;
6
8
  client: string | null;
7
9
  execs: Record<string, string> | null;
8
10
  };
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-settings.d.ts","sourceRoot":"","sources":["../../src/core/workspace-settings.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,MAAM,oBAAoB,GAAG;IAC/B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;CACxC,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,iBAAiB;IAGlC,OAAa,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAS5E;CAEJ"}
1
+ {"version":3,"file":"workspace-settings.d.ts","sourceRoot":"","sources":["../../src/core/workspace-settings.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAClC,OAA2B,EAAE,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAErF,MAAM,MAAM,oBAAoB,GAAG;IAC/B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;IACpB,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;IACxC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;CACxC,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,iBAAiB;IAGlC,OAAa,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAY5E;CAEJ"}
@@ -2,6 +2,7 @@
2
2
  // user legitimately sets at workspace.create, read at turn-0 with precedence over env.
3
3
  // filesItems REPLACES the env value; the other knobs compose per their own tags.
4
4
  // Storage is a JSON bag on workspaces.settings.
5
+ import FileCreationPolicy from "./file-creation-policy.js";
5
6
  export default class WorkspaceSettings {
6
7
  // The workspace's open-context bag. Absent/unset fields read as null / []. A malformed
7
8
  // bag never reaches here — workspace.create validates before persisting.
@@ -11,9 +12,12 @@ export default class WorkspaceSettings {
11
12
  const filesItems = typeof bag.filesItems === "number" ? bag.filesItems : null;
12
13
  const maxCommands = typeof bag.maxCommands === "number" ? bag.maxCommands : null;
13
14
  const git = typeof bag.git === "boolean" ? bag.git : null;
15
+ const fileCreateScope = bag.fileCreateScope === undefined
16
+ ? null
17
+ : FileCreationPolicy.parse(bag.fileCreateScope, "settings.fileCreateScope");
14
18
  const client = typeof bag.client === "string" ? bag.client : null;
15
19
  const execs = (typeof bag.execs === "object" && bag.execs !== null && !Array.isArray(bag.execs)) ? bag.execs : null;
16
- return { filesItems, maxCommands, git, client, execs };
20
+ return { filesItems, maxCommands, git, fileCreateScope, client, execs };
17
21
  }
18
22
  }
19
23
  //# sourceMappingURL=workspace-settings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-settings.js","sourceRoot":"","sources":["../../src/core/workspace-settings.ts"],"names":[],"mappings":"AAAA,sGAAsG;AACtG,uFAAuF;AACvF,iFAAiF;AACjF,gDAAgD;AAYhD,MAAM,CAAC,OAAO,OAAO,iBAAiB;IAClC,uFAAuF;IACvF,yEAAyE;IACzE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAM,EAAE,WAAmB;QACzC,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,sBAAsB,CAAC,GAAG,CAAuB,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC;QACrG,MAAM,GAAG,GAAG,GAAG,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAuG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/K,MAAM,UAAU,GAAG,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9E,MAAM,WAAW,GAAG,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;QACjF,MAAM,GAAG,GAAG,OAAO,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1D,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QAClE,MAAM,KAAK,GAAG,CAAC,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAE,GAAG,CAAC,KAAgC,CAAC,CAAC,CAAC,IAAI,CAAC;QAChJ,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC3D,CAAC;CAEJ"}
1
+ {"version":3,"file":"workspace-settings.js","sourceRoot":"","sources":["../../src/core/workspace-settings.ts"],"names":[],"mappings":"AAAA,sGAAsG;AACtG,uFAAuF;AACvF,iFAAiF;AACjF,gDAAgD;AAGhD,OAAO,kBAA4C,MAAM,2BAA2B,CAAC;AAWrF,MAAM,CAAC,OAAO,OAAO,iBAAiB;IAClC,uFAAuF;IACvF,yEAAyE;IACzE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAM,EAAE,WAAmB;QACzC,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,sBAAsB,CAAC,GAAG,CAAuB,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC;QACrG,MAAM,GAAG,GAAG,GAAG,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAkI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1M,MAAM,UAAU,GAAG,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9E,MAAM,WAAW,GAAG,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;QACjF,MAAM,GAAG,GAAG,OAAO,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1D,MAAM,eAAe,GAAG,GAAG,CAAC,eAAe,KAAK,SAAS;YACrD,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,0BAA0B,CAAC,CAAC;QAChF,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QAClE,MAAM,KAAK,GAAG,CAAC,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAE,GAAG,CAAC,KAAgC,CAAC,CAAC,CAAC,IAAI,CAAC;QAChJ,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC5E,CAAC;CAEJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"Digest.d.ts","sourceRoot":"","sources":["../../src/digest/Digest.ts"],"names":[],"mappings":";AAmDA,OAAO,EAKH,KAAK,QAAQ,EAKhB,MAAM,0BAA0B,CAAC;AA2OlC,UAAU,aAAa;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AA2BD,MAAM,CAAC,OAAO,OAAO,MAAM;;IA0hBvB,MAAM,CAAC,aAAa,IAAI,MAAM,CAM7B;IAID,OAAa,OAAO,CAAC,IAAI,EAAE,aAAa,GAAG;QAAE,MAAM,CAAC,EAAE,WAAW,CAAC;QAAC,QAAQ,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAsPxJ;IAED,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,CAIpC;CA2MJ"}
1
+ {"version":3,"file":"Digest.d.ts","sourceRoot":"","sources":["../../src/digest/Digest.ts"],"names":[],"mappings":";AAmDA,OAAO,EAKH,KAAK,QAAQ,EAKhB,MAAM,0BAA0B,CAAC;AA6OlC,UAAU,aAAa;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AA2BD,MAAM,CAAC,OAAO,OAAO,MAAM;;IA0hBvB,MAAM,CAAC,aAAa,IAAI,MAAM,CAM7B;IAID,OAAa,OAAO,CAAC,IAAI,EAAE,aAAa,GAAG;QAAE,MAAM,CAAC,EAAE,WAAW,CAAC;QAAC,QAAQ,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAsPxJ;IAED,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,CAIpC;CA2MJ"}
@@ -323,7 +323,7 @@ export default class Digest {
323
323
  if (m.embeddings.dispositions.length > 0) {
324
324
  lines.push("Semantic dispositions:");
325
325
  for (const row of m.embeddings.dispositions) {
326
- const address = `${EntryManifest.toPath(row.scheme, row.pathname)}#${row.channel}`;
326
+ const address = `${EntryManifest.toPath(row.scheme, row.authority, row.pathname)}#${row.channel}`;
327
327
  lines.push(` ${row.disposition} ${address}${row.reason === null ? "" : ` — ${row.reason}`}`);
328
328
  }
329
329
  }