@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
@@ -1 +1 @@
1
- {"version":3,"file":"Engine.js","sourceRoot":"","sources":["../../src/core/Engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Engine.js","sourceRoot":"","sources":["../../src/core/Engine.ts"],"names":[],"mappings":"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"}
@@ -6,13 +6,13 @@ SELECT status FROM loops WHERE id = $loop_id;
6
6
  -- PREP: engine_worker_has_live_child
7
7
  -- A non-terminal child worker (worker:// spawn/fork set parent_worker_id) — a "live thing the worker holds",
8
8
  -- like an open stream. A SEND signal 200 while one exists is a premature-terminate ({§send-premature-terminate}).
9
- -- Live = a child whose LATEST loop is still pending/running/parked (100/102/202) — the SAME definition
9
+ -- Live = a child with ANY unresolved loop (100/102/202) — the SAME definition
10
10
  -- engine_child_workers_live uses for the Active Child Workers orientation, so the 409 gate and the section the model
11
11
  -- reads NEVER disagree: a refused termination is always backed by a child the model can SEE and KILL
12
- -- ({§child-orientation}). An inherited/historical loop (a fork copies the parent's loops) is not the
13
- -- latest, so it never makes a concluded child look forever-live.
12
+ -- ({§child-orientation}). Administrative loops may interleave with model loops, so newest-loop
13
+ -- inference is not a valid worker-liveness test.
14
14
  SELECT 1 AS live FROM workers r
15
- JOIN loops l ON l.id = (SELECT id FROM loops WHERE worker_id = r.id ORDER BY sequence DESC, id DESC LIMIT 1)
15
+ JOIN loops l ON l.worker_id = r.id
16
16
  WHERE r.parent_worker_id = $worker_id AND l.status IN (100, 102, 202) LIMIT 1;
17
17
 
18
18
  -- PREP: engine_count_active_loops_for_worker
@@ -38,7 +38,7 @@ UPDATE loops SET open_paths = $open_paths WHERE id = $loop_id;
38
38
  -- PREP: engine_get_loop_prompt
39
39
  -- Initial prompt frame. Its durable log occurrence, not a process-local/model
40
40
  -- ordinal, decides whether runTurn still needs to publish it.
41
- SELECT l.prompt, l.sequence, l.open_paths,
41
+ SELECT l.prompt, l.prompt_source, l.sequence, l.open_paths,
42
42
  EXISTS (
43
43
  SELECT 1
44
44
  FROM log_entries le
@@ -61,21 +61,10 @@ UPDATE loops SET status = 102 WHERE id = $loop_id AND status = 100;
61
61
  -- each owning use site with its declared composition semantics.
62
62
  SELECT settings FROM workspaces WHERE id = $workspace_id;
63
63
 
64
- -- PREP: engine_target_diverged_this_turn
65
- -- #note10 — did this entry diverge on disk THIS turn? A source=file env-delta for the
66
- -- target, materialized into this worker's log at the current turn, means the model's view
67
- -- predates the ambient change — a auto resolution of a same-turn EDIT would clobber it.
68
- SELECT 1 AS hit
69
- FROM log_entries
70
- WHERE worker_id = $worker_id AND turn_id = $turn_id
71
- AND origin = '_plurnk' AND source = 'file' AND op = 'EDIT'
72
- AND scheme IS $scheme AND pathname = $pathname
73
- LIMIT 1;
74
-
75
64
  -- PREP: engine_list_owner_entries
76
65
  -- {§entry-owner} — one principal's entries (catalogRowsFor source for an owner-scoped FIND/foist):
77
66
  -- the commons, a worker's own space, or a named space — exactly one owner's rows, its perspective.
78
- SELECT e.id AS entry_id, e.scheme, e.pathname, ec.name AS channel, ec.content, ec.mimetype, ec.weight AS weight, ec.deep_hash,
67
+ SELECT e.id AS entry_id, e.scheme, e.authority, e.pathname, ec.name AS channel, ec.content, ec.mimetype, ec.weight AS weight, ec.deep_hash,
79
68
  d.parse_issues, d.summary,
80
69
  s.id AS subscription_id,
81
70
  CASE WHEN s.closed_at IS NULL
@@ -85,6 +74,7 @@ SELECT e.id AS entry_id, e.scheme, e.pathname, ec.name AS channel, ec.content, e
85
74
  s.close_status
86
75
  FROM entries e
87
76
  JOIN entry_channels ec ON ec.entry_id = e.id
77
+ JOIN workers owner ON owner.id = e.owner_id
88
78
  LEFT JOIN derivations d ON d.deep_hash = ec.deep_hash
89
79
  LEFT JOIN subscriptions s ON s.id = (
90
80
  SELECT latest.id
@@ -93,7 +83,7 @@ LEFT JOIN subscriptions s ON s.id = (
93
83
  ORDER BY latest.id DESC
94
84
  LIMIT 1
95
85
  )
96
- WHERE e.workspace_id = $workspace_id AND e.owner_id = $owner_id
86
+ WHERE owner.workspace_id = $workspace_id AND e.owner_id = $owner_id
97
87
  ORDER BY e.updated_at ASC, e.id ASC, ec.name;
98
88
 
99
89
  -- PREP: engine_next_turn_sequence
@@ -250,7 +240,7 @@ WHERE id = $id AND state = 'pending';
250
240
  -- The latest subscription carries stream lifecycle into the catalog. `seconds`
251
241
  -- is the live age of an open stream; close_status is the exact terminal status
252
242
  -- of a closed one. Entries with no subscription remain ordinary static entries.
253
- SELECT e.id AS entry_id, e.scheme, e.pathname, ec.name AS channel, ec.content, ec.mimetype, ec.weight AS weight, ec.deep_hash,
243
+ SELECT e.id AS entry_id, e.scheme, e.authority, e.pathname, ec.name AS channel, ec.content, ec.mimetype, ec.weight AS weight, ec.deep_hash,
254
244
  s.id AS subscription_id,
255
245
  CASE WHEN s.closed_at IS NULL
256
246
  THEN CAST(unixepoch('now') - unixepoch(s.opened_at) AS INTEGER)
@@ -259,6 +249,7 @@ SELECT e.id AS entry_id, e.scheme, e.pathname, ec.name AS channel, ec.content, e
259
249
  s.close_status
260
250
  FROM entries e
261
251
  JOIN entry_channels ec ON ec.entry_id = e.id
252
+ JOIN workers owner ON owner.id = e.owner_id
262
253
  LEFT JOIN subscriptions s ON s.id = (
263
254
  SELECT latest.id
264
255
  FROM subscriptions latest
@@ -266,7 +257,7 @@ LEFT JOIN subscriptions s ON s.id = (
266
257
  ORDER BY latest.id DESC
267
258
  LIMIT 1
268
259
  )
269
- WHERE e.workspace_id = $workspace_id
260
+ WHERE owner.workspace_id = $workspace_id
270
261
  -- User Note 5 — mtime-ascending: dormant entries hold the stable prompt-cache prefix; churn clusters at the tail.
271
262
  ORDER BY e.updated_at ASC, e.id ASC, ec.name;
272
263
 
@@ -279,33 +270,31 @@ SELECT e.scheme AS scheme,
279
270
  COUNT(DISTINCT e.id) AS entries,
280
271
  COUNT(DISTINCT CASE
281
272
  WHEN instr(ltrim(e.pathname, '/'), '/') = 0
282
- THEN 'entry:' || ltrim(e.pathname, '/')
283
- ELSE 'scope:' || substr(ltrim(e.pathname, '/'), 1, instr(ltrim(e.pathname, '/'), '/'))
273
+ THEN json_array('entry', e.authority, ltrim(e.pathname, '/'))
274
+ ELSE json_array('scope', e.authority, substr(ltrim(e.pathname, '/'), 1, instr(ltrim(e.pathname, '/'), '/')))
284
275
  END) AS shallow_items
285
276
  FROM entries e
286
277
  JOIN entry_channels ec ON ec.entry_id = e.id
287
- WHERE e.workspace_id = $workspace_id
278
+ JOIN workers owner ON owner.id = e.owner_id
279
+ WHERE owner.workspace_id = $workspace_id
288
280
  GROUP BY e.scheme
289
281
  ORDER BY e.scheme;
290
282
 
291
283
  -- PREP: engine_initialize_ambient_cursor
292
- -- A worker's first packet reads current shared state directly, so pre-existing
293
- -- occurrences are its baseline rather than historical deltas. The NULL guard
294
- -- makes this safe on every turn and preserves a fork's inherited progress.
295
- UPDATE workers
296
- SET ambient_event_cursor = COALESCE((
297
- SELECT MAX(ae.id) FROM ambient_events ae WHERE ae.workspace_id = $workspace_id
298
- ), 0)
284
+ -- Worker creation owns the baseline, and fork creation owns its inherited
285
+ -- cursor/boundary. Packet assembly merely verifies that durable invariant.
286
+ SELECT ambient_event_cursor
287
+ FROM workers
299
288
  WHERE id = $worker_id
300
- AND workspace_id = $workspace_id
301
- AND ambient_event_cursor IS NULL
302
- RETURNING ambient_event_cursor;
289
+ AND workspace_id = $workspace_id;
303
290
 
304
291
  -- PREP: engine_pull_ambient_events
305
292
  -- One SQLite snapshot captures both ends of the closed observation window.
306
293
  -- The LEFT JOIN returns the boundary even when the window contains no event.
307
294
  WITH observation AS (
308
295
  SELECT w.ambient_event_cursor AS cursor,
296
+ w.parent_worker_id,
297
+ w.fork_event_boundary,
309
298
  COALESCE(
310
299
  (SELECT MAX(ae.id) FROM ambient_events ae WHERE ae.workspace_id = $workspace_id),
311
300
  w.ambient_event_cursor,
@@ -316,8 +305,12 @@ WITH observation AS (
316
305
  )
317
306
  SELECT o.cursor, o.boundary,
318
307
  ae.id AS event_id, ae.producer_worker_id, producer.name AS producer_worker_name,
319
- ae.kind, ae.source,
320
- ae.op, ae.scheme, ae.hostname, ae.pathname, ae.rx, ae.attrs, ae.tags,
308
+ ae.kind, ae.source, ae.at,
309
+ ae.op, ae.delimiter, ae.signal,
310
+ ae.scheme, ae.username, ae.password, ae.hostname, ae.port,
311
+ ae.pathname, ae.query, ae.fragment, ae.line_marker,
312
+ ae.tx, ae.mimetype_tx, ae.rx, ae.mimetype_rx,
313
+ ae.state, ae.outcome, ae.attrs, ae.tags,
321
314
  ae.status_rx, ae.terminated_by
322
315
  FROM observation o
323
316
  LEFT JOIN ambient_events ae
@@ -325,6 +318,15 @@ LEFT JOIN ambient_events ae
325
318
  AND ae.id > o.cursor
326
319
  AND ae.id <= o.boundary
327
320
  AND ae.producer_worker_id != $worker_id
321
+ AND (
322
+ ae.target_parent_worker_id = $worker_id
323
+ OR ae.workspace_broadcast = 1
324
+ OR (
325
+ o.fork_event_boundary IS NOT NULL
326
+ AND ae.target_parent_worker_id = o.parent_worker_id
327
+ AND ae.id <= o.fork_event_boundary
328
+ )
329
+ )
328
330
  LEFT JOIN workers producer ON producer.id = ae.producer_worker_id
329
331
  ORDER BY ae.id;
330
332
 
@@ -333,13 +335,17 @@ ORDER BY ae.id;
333
335
  -- targeted conflict rule makes crash replay idempotent without swallowing any
334
336
  -- unrelated sequence, FK, or shape violation.
335
337
  INSERT INTO log_entries (
336
- worker_id, loop_id, turn_id, sequence, origin, source, ambient_event_id,
337
- op, scheme, hostname, pathname, tx, mimetype_tx,
338
- rx, mimetype_rx, status_rx, weight, folded, attrs
338
+ worker_id, loop_id, turn_id, sequence, at, origin, source, ambient_event_id,
339
+ op, delimiter, signal,
340
+ scheme, username, password, hostname, port, pathname, query, fragment,
341
+ lineMarker, tx, mimetype_tx,
342
+ rx, mimetype_rx, status_rx, weight, state, outcome, folded, attrs
339
343
  ) VALUES (
340
- $worker_id, $loop_id, $turn_id, $sequence, '_plurnk', $source, $event_id,
341
- $op, $scheme, $hostname, $pathname, '', 'text/plain',
342
- $rx, $mimetype_rx, $status, $weight, $folded, $attrs
344
+ $worker_id, $loop_id, $turn_id, $sequence, $at, '_plurnk', $source, $event_id,
345
+ $op, $delimiter, $signal,
346
+ $scheme, $username, $password, $hostname, $port, $pathname, $query, $fragment,
347
+ $line_marker, $tx, $mimetype_tx,
348
+ $rx, $mimetype_rx, $status, $weight, $state, $outcome, $folded, $attrs
343
349
  )
344
350
  ON CONFLICT(worker_id, ambient_event_id) WHERE ambient_event_id IS NOT NULL DO NOTHING
345
351
  RETURNING id;
@@ -361,29 +367,22 @@ WHERE id = $worker_id
361
367
  RETURNING ambient_event_cursor;
362
368
 
363
369
  -- PREP: engine_worker_stream_channels
364
- -- {§exec-stream} — every stream channel the worker owns (an EXEC's stdout/stderr live on the
365
- -- runtime-tag entry), with content + mimetype + state + coordinate, so the per-turn injector can
366
- -- publish the channel's next complete unit. Stays listed until its terminal observation is shown.
367
- SELECT s.id AS subscription_id, e.scheme AS runtime, e.pathname AS coord,
370
+ -- {§exec-stream} — every not-yet-terminally-published stream channel the worker
371
+ -- owns, with its durable per-subscription cursor. Log curation never rewinds it.
372
+ SELECT s.id AS subscription_id, sp.id AS publication_id,
373
+ sp.published_end, sp.terminal_published,
374
+ e.scheme AS runtime, e.authority, e.pathname AS coord,
368
375
  ec.name AS channel, ec.content AS content, ec.mimetype AS mimetype,
369
- ec.state AS state, s.close_status AS close_status,
370
- s.close_result AS close_result, s.published_channel AS published_channel
376
+ ec.state AS state, ec.producer_result AS producer_result,
377
+ s.published_channel AS published_channel
371
378
  FROM subscriptions s
372
379
  JOIN entries e ON e.id = s.entry_id
373
- JOIN entry_channels ec ON ec.entry_id = s.entry_id
380
+ JOIN subscription_publications sp ON sp.subscription_id = s.id
381
+ JOIN entry_channels ec ON ec.entry_id = s.entry_id AND ec.name = sp.channel
374
382
  WHERE s.worker_id = $worker_id
375
- AND (s.published_channel IS NULL OR ec.name = s.published_channel)
383
+ AND sp.terminal_published = 0
376
384
  ORDER BY s.id, ec.name;
377
385
 
378
- -- PREP: engine_stream_cursor
379
- -- {§exec-stream} — content offset already shown to the worker: the streamEnd recorded on its latest
380
- -- foisted observation (the caller defaults to 0 when none exists yet).
381
- SELECT attrs
382
- FROM log_entries
383
- WHERE worker_id = $worker_id AND origin = '_plurnk' AND op = 'READ'
384
- AND scheme = $scheme AND pathname = $pathname AND fragment IS $fragment
385
- ORDER BY id DESC LIMIT 1;
386
-
387
386
  -- PREP: engine_insert_stream_delta
388
387
  -- {§exec-stream} / {§env-delta} — materialize a channel's next publishable content as a
389
388
  -- foisted READ row (the model READs the stream it never typed). origin=_plurnk; fragment is
@@ -391,28 +390,36 @@ ORDER BY id DESC LIMIT 1;
391
390
  -- are born open and ongoing observations wholly folded. {§exec-stream}
392
391
  INSERT INTO log_entries (
393
392
  worker_id, loop_id, turn_id, sequence, origin, source, model_call_id,
394
- op, scheme, pathname, fragment, tx, mimetype_tx, rx, mimetype_rx, status_rx, weight, attrs, folded
393
+ subscription_publication_id,
394
+ op, scheme, hostname, port, pathname, fragment, tx, mimetype_tx, rx, mimetype_rx, status_rx, weight, attrs, folded
395
395
  ) VALUES (
396
396
  $worker_id, $loop_id, $turn_id, $sequence, '_plurnk', NULL, NULL,
397
- 'READ', $scheme, $pathname, $fragment, '', 'text/plain', $rx, 'application/json', $status, $weight, $attrs, $folded
397
+ $subscription_publication_id,
398
+ 'READ', $scheme, $hostname, $port, $pathname, $fragment, '', 'text/plain', $rx, 'application/json', $status, $weight, $attrs, $folded
398
399
  );
399
400
 
400
401
  -- PREP: engine_child_workers_live
401
- -- The worker's LIVE child workers — latest loop non-terminal (100 pending / 102 processing / 202 parked).
402
+ -- The worker's LIVE child workers — any loop non-terminal (100 pending / 102 processing / 202 parked).
402
403
  -- Powers the Active Child Workers orienting section ({§child-orientation}): terse `* <status> worker://<name>`
403
404
  -- pointers so the model SEES what it holds live and reasons for itself (READ/KILL), never told to.
404
405
  -- Empty → section omitted.
405
- SELECT r.name, l.status
406
+ SELECT r.name,
407
+ CASE
408
+ WHEN SUM(CASE WHEN l.status = 102 THEN 1 ELSE 0 END) > 0 THEN 102
409
+ WHEN SUM(CASE WHEN l.status = 202 THEN 1 ELSE 0 END) > 0 THEN 202
410
+ ELSE 100
411
+ END AS status
406
412
  FROM workers r
407
- JOIN loops l ON l.id = (SELECT id FROM loops WHERE worker_id = r.id ORDER BY sequence DESC, id DESC LIMIT 1)
413
+ JOIN loops l ON l.worker_id = r.id AND l.status IN (100, 102, 202)
408
414
  WHERE r.parent_worker_id = $worker_id AND l.status IN (100, 102, 202)
415
+ GROUP BY r.id, r.name
409
416
  ORDER BY r.name;
410
417
 
411
418
  -- PREP: engine_child_streams_open
412
419
  -- The worker's OPEN streams (subscriptions not yet closed) — their addressable coord. Powers the Child
413
420
  -- Streams orienting section ({§child-orientation}): terse `* active <runtime>:///<coord>` pointers the
414
421
  -- model OPENs/READs/KILLs. Empty → section omitted.
415
- SELECT s.scheme, e.pathname
422
+ SELECT s.scheme, e.authority, e.pathname
416
423
  FROM subscriptions s
417
424
  JOIN entries e ON e.id = s.entry_id
418
425
  WHERE s.worker_id = $worker_id AND s.closed_at IS NULL
@@ -553,8 +560,18 @@ WHERE le.worker_id = $worker_id
553
560
  AND NOT (
554
561
  COALESCE(le.op, '') IN ('OPEN', 'FOLD')
555
562
  AND le.status_rx < 400
563
+ AND le.source IS NULL
564
+ )
565
+ AND NOT (COALESCE(le.op, '') = 'KILL' AND le.scheme = 'log' AND le.status_rx < 400 AND le.source IS NULL)
566
+ -- Successful maintenance-turn rows (doc reconciliation) never render: a
567
+ -- receipt answers an asker and these turns have none. Rows stay durable and
568
+ -- READ-able; failures remain visible ({§operation-result-uniform-error-channel}).
569
+ AND NOT (
570
+ t.producer = '_plurnk'
571
+ AND t.kind = 'maintenance'
572
+ AND COALESCE(le.status_rx, 200) < 400
573
+ AND le.source IS NULL
556
574
  )
557
- AND NOT (COALESCE(le.op, '') = 'KILL' AND le.scheme = 'log' AND le.status_rx < 400)
558
575
  ORDER BY l.sequence, t.sequence, le.sequence;
559
576
 
560
577
  -- PREP: engine_insert_log_entry
@@ -623,25 +640,18 @@ WHERE turn_id = $turn_id
623
640
  -- PREP: engine_worker_has_undelivered_stream_term
624
641
  -- A stream may finish between its EXEC and a same-turn SEND. It is then no longer
625
642
  -- live, but its terminal outcome has not crossed the pre-turn observation boundary:
626
- -- no foisted terminal READ exists yet. Treat that closed result like a same-turn
627
- -- retrieval or child termination so an empty join cannot conclude over unseen work.
643
+ -- one or more selected channel publication rows remain nonterminal. Treat that
644
+ -- closed result like a same-turn retrieval or child termination so an empty
645
+ -- join cannot conclude over unseen work.
628
646
  -- Completion is information independently of payload: an empty success and especially
629
647
  -- an empty failure must receive the same terminal observation as a non-empty stream.
630
- SELECT 1 AS pending
648
+ SELECT DISTINCT s.handle AS handle
631
649
  FROM subscriptions s
632
- JOIN entries e ON e.id = s.entry_id
650
+ JOIN subscription_publications sp ON sp.subscription_id = s.id
633
651
  WHERE s.worker_id = $worker_id
634
652
  AND s.closed_at IS NOT NULL
635
- AND NOT EXISTS (
636
- SELECT 1 FROM log_entries le
637
- WHERE le.worker_id = $worker_id
638
- AND le.origin = '_plurnk'
639
- AND le.op = 'READ'
640
- AND le.scheme = e.scheme
641
- AND le.pathname = e.pathname
642
- AND json_extract(le.attrs, '$.terminal') = 1
643
- )
644
- LIMIT 1;
653
+ AND sp.terminal_published = 0
654
+ LIMIT 8;
645
655
 
646
656
  -- PREP: engine_turn_failures
647
657
  -- {§send-premature-terminate} — THIS turn's failed op results (the model's own ops, status >= 400), whose
@@ -665,6 +675,17 @@ WHERE turn_id = $turn_id
665
675
  -- model's first loop read as prompt/2/1 (the docs loop holds id 1). Owner: minor but annoying.
666
676
  SELECT sequence FROM loops WHERE id = $loop_id;
667
677
 
678
+ -- PREP: engine_worker_has_inference_history
679
+ -- Administrative turns may legitimately precede the first provider exchange.
680
+ -- Initialization is therefore keyed to inference history, never loop ordinals.
681
+ SELECT EXISTS (
682
+ SELECT 1
683
+ FROM turns t
684
+ JOIN loops l ON l.id = t.loop_id
685
+ WHERE l.worker_id = $worker_id
686
+ AND (t.producer = 'model' OR t.kind = 'initialization')
687
+ ) AS present;
688
+
668
689
  -- PREP: engine_worker_lineage_root
669
690
  -- The no-parent root of a worker lineage; a root worker returns itself.
670
691
  -- {§worker-primary}
@@ -697,10 +718,9 @@ WHERE current.id = $worker_id;
697
718
  -- not a second timestamp race. {§send-undelivered-child-term}
698
719
  SELECT 1 AS pending
699
720
  FROM ambient_events ae
700
- JOIN workers child ON child.id = ae.producer_worker_id
701
721
  JOIN workers parent ON parent.id = $worker_id
702
722
  WHERE ae.workspace_id = parent.workspace_id
703
723
  AND ae.kind = 'loop_termination'
704
- AND child.parent_worker_id = parent.id
724
+ AND ae.target_parent_worker_id = parent.id
705
725
  AND ae.id > COALESCE(parent.ambient_event_cursor, 0)
706
726
  LIMIT 1;
@@ -0,0 +1,32 @@
1
+ import { type ParsedPath } from "@plurnk/plurnk-contracts";
2
+ import { type SchemeAddressCtx, type SchemeHandler, type SchemeResult } from "@plurnk/plurnk-schemes";
3
+ import type { Db } from "./Db.ts";
4
+ import type { PlurnkSchemeContext, SchemeManifest } from "./scheme-types.ts";
5
+ export interface BoundEntryAddress {
6
+ readonly ownerId: number;
7
+ readonly scheme: string;
8
+ readonly authority: string;
9
+ readonly pathname: string;
10
+ }
11
+ export interface EntryAddressResolution {
12
+ readonly address: BoundEntryAddress | null;
13
+ readonly result: SchemeResult | null;
14
+ }
15
+ type AddressResolver = Pick<SchemeHandler, "resolveEntryAddress">;
16
+ export default class EntryAddressBinding {
17
+ #private;
18
+ constructor(db: Db);
19
+ static addressContext(ctx: PlurnkSchemeContext): SchemeAddressCtx;
20
+ fixedOwnerId(manifest: SchemeManifest, ctx: PlurnkSchemeContext): Promise<number | null>;
21
+ resolve({ target, routedScheme, handler, manifest, ctx, }: {
22
+ target: ParsedPath;
23
+ routedScheme: string;
24
+ handler: AddressResolver;
25
+ manifest: SchemeManifest & {
26
+ readonly category: "data";
27
+ };
28
+ ctx: PlurnkSchemeContext;
29
+ }): Promise<EntryAddressResolution>;
30
+ }
31
+ export {};
32
+ //# sourceMappingURL=EntryAddressBinding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntryAddressBinding.d.ts","sourceRoot":"","sources":["../../src/core/EntryAddressBinding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAGH,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,YAAY,EACpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAIlC,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE7E,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,sBAAsB;IACnC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC3C,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;CACxC;AAED,KAAK,eAAe,GAAG,IAAI,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC;AAKlE,MAAM,CAAC,OAAO,OAAO,mBAAmB;;IAGpC,YAAY,EAAE,EAAE,EAAE,EAEjB;IAED,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,mBAAmB,GAAG,gBAAgB,CAGhE;IAEK,YAAY,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAK7F;IAEK,OAAO,CAAC,EACV,MAAM,EACN,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,GAAG,GACN,EAAE;QACC,MAAM,EAAE,UAAU,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,eAAe,CAAC;QACzB,QAAQ,EAAE,cAAc,GAAG;YAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC;QACzD,GAAG,EAAE,mBAAmB,CAAC;KAC5B,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAoElC;CACJ"}
@@ -0,0 +1,93 @@
1
+ import { PathSyntax } from "@plurnk/plurnk-contracts";
2
+ import { InvalidOperationResultError, } from "@plurnk/plurnk-schemes";
3
+ import { CoreSchemeAdapterBase } from "./CoreSchemeServices.js";
4
+ import Owner from "./Owner.js";
5
+ import { entryCoordinateOf } from "./plurnk-uri.js";
6
+ import Results from "./results.js";
7
+ // One owner for the persistence coordinate is bound before a data scheme can
8
+ // receive entry capabilities. URI authority remains an independent resource
9
+ // coordinate; it never doubles as an implicit storage-principal fallback.
10
+ export default class EntryAddressBinding {
11
+ #db;
12
+ constructor(db) {
13
+ this.#db = db;
14
+ }
15
+ static addressContext(ctx) {
16
+ const { workspaceId, workerId, functionalityWorkerId, loopId, turnId, writer, signal } = ctx;
17
+ return { workspaceId, workerId, functionalityWorkerId, loopId, turnId, writer, signal };
18
+ }
19
+ async fixedOwnerId(manifest, ctx) {
20
+ if (manifest.category !== "data" || manifest.entryOwner === "resolved")
21
+ return null;
22
+ return manifest.entryOwner === "worker"
23
+ ? ctx.workerId
24
+ : await Owner.commonsId(this.#db, ctx.workspaceId);
25
+ }
26
+ async resolve({ target, routedScheme, handler, manifest, ctx, }) {
27
+ const addressedScheme = target.kind === "url" ? target.scheme : routedScheme;
28
+ const identityTarget = target.kind === "url"
29
+ ? {
30
+ ...target,
31
+ pathname: PathSyntax.decodeParens(target.pathname),
32
+ fragment: null,
33
+ }
34
+ : { ...target, raw: PathSyntax.decodeParens(target.raw) };
35
+ const resolved = handler.resolveEntryAddress === undefined
36
+ ? entryCoordinateOf(identityTarget, manifest.authority ?? "namespace")
37
+ : await handler.resolveEntryAddress(identityTarget, EntryAddressBinding.addressContext(ctx));
38
+ if (resolved === null)
39
+ return { address: null, result: null };
40
+ if ("status" in resolved) {
41
+ const result = Results.assert(resolved);
42
+ if (result.status < 300) {
43
+ throw new InvalidOperationResultError(`Scheme '${routedScheme}' returned a successful operation result instead of an entry address.`);
44
+ }
45
+ return { address: null, result };
46
+ }
47
+ if (typeof resolved.authority !== "string" || typeof resolved.pathname !== "string") {
48
+ throw new TypeError(`Scheme '${routedScheme}' returned an invalid entry coordinate.`);
49
+ }
50
+ let ownerId;
51
+ if ("ownerId" in resolved) {
52
+ if (!(handler instanceof CoreSchemeAdapterBase)) {
53
+ throw new TypeError(`Scheme '${routedScheme}' returned a core-only entry owner id.`);
54
+ }
55
+ if (manifest.entryOwner !== "resolved") {
56
+ throw new TypeError(`Scheme '${routedScheme}' returned an entry owner but its manifest declares '${manifest.entryOwner}'.`);
57
+ }
58
+ if (typeof resolved.ownerId !== "number") {
59
+ throw new TypeError(`Scheme '${routedScheme}' returned an invalid core entry owner id.`);
60
+ }
61
+ ownerId = resolved.ownerId;
62
+ }
63
+ else if (manifest.entryOwner === "resolved") {
64
+ if (resolved.owner === "worker")
65
+ ownerId = ctx.workerId;
66
+ else if (resolved.owner === "commons")
67
+ ownerId = await Owner.commonsId(this.#db, ctx.workspaceId);
68
+ else
69
+ throw new TypeError(`Scheme '${routedScheme}' did not resolve its declared entry owner.`);
70
+ }
71
+ else {
72
+ if (resolved.owner !== undefined) {
73
+ throw new TypeError(`Scheme '${routedScheme}' restated its manifest-owned entry principal.`);
74
+ }
75
+ ownerId = manifest.entryOwner === "worker"
76
+ ? ctx.workerId
77
+ : await Owner.commonsId(this.#db, ctx.workspaceId);
78
+ }
79
+ if (!Number.isSafeInteger(ownerId) || ownerId < 1) {
80
+ throw new TypeError(`Scheme '${routedScheme}' returned an invalid entry owner id.`);
81
+ }
82
+ return {
83
+ address: {
84
+ ownerId,
85
+ scheme: manifest.storedScheme ?? addressedScheme,
86
+ authority: resolved.authority,
87
+ pathname: resolved.pathname,
88
+ },
89
+ result: null,
90
+ };
91
+ }
92
+ }
93
+ //# sourceMappingURL=EntryAddressBinding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntryAddressBinding.js","sourceRoot":"","sources":["../../src/core/EntryAddressBinding.ts"],"names":[],"mappings":"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"}