@plurnk/plurnk-service 1.3.12 → 1.4.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.
- package/.env.defaults +84 -77
- package/INSTALL.md +50 -25
- package/README.md +24 -10
- package/SPEC.md +2311 -928
- package/dist/Paths.d.ts +4 -1
- package/dist/Paths.d.ts.map +1 -1
- package/dist/Paths.js +23 -21
- package/dist/Paths.js.map +1 -1
- package/dist/build-info.json +1 -1
- package/dist/content/edit-receipt.d.ts +13 -28
- package/dist/content/edit-receipt.d.ts.map +1 -1
- package/dist/content/edit-receipt.js +285 -104
- package/dist/content/edit-receipt.js.map +1 -1
- package/dist/content/edited-span.d.ts.map +1 -1
- package/dist/content/edited-span.js +2 -5
- package/dist/content/edited-span.js.map +1 -1
- package/dist/content/index.d.ts +3 -3
- package/dist/content/index.d.ts.map +1 -1
- package/dist/content/index.js +1 -1
- package/dist/content/index.js.map +1 -1
- package/dist/content/line-marker.d.ts +6 -9
- package/dist/content/line-marker.d.ts.map +1 -1
- package/dist/content/line-marker.js +7 -11
- package/dist/content/line-marker.js.map +1 -1
- package/dist/content/matcher.d.ts +14 -25
- package/dist/content/matcher.d.ts.map +1 -1
- package/dist/content/matcher.js +77 -107
- package/dist/content/matcher.js.map +1 -1
- package/dist/content/mimetype-binary.d.ts +2 -2
- package/dist/content/mimetype-binary.d.ts.map +1 -1
- package/dist/content/mimetype-binary.js +10 -10
- package/dist/content/mimetype-binary.js.map +1 -1
- package/dist/content/path-mimetype.js +3 -3
- package/dist/content/path-mimetype.js.map +1 -1
- package/dist/content/read-resolve.d.ts +8 -4
- package/dist/content/read-resolve.d.ts.map +1 -1
- package/dist/content/read-resolve.js +101 -49
- package/dist/content/read-resolve.js.map +1 -1
- package/dist/core/BranchReceipt.d.ts +7 -0
- package/dist/core/BranchReceipt.d.ts.map +1 -0
- package/dist/core/BranchReceipt.js +27 -0
- package/dist/core/BranchReceipt.js.map +1 -0
- package/dist/core/BudgetOverflow.d.ts +23 -0
- package/dist/core/BudgetOverflow.d.ts.map +1 -0
- package/dist/core/BudgetOverflow.js +61 -0
- package/dist/core/BudgetOverflow.js.map +1 -0
- package/dist/core/BudgetReadout.d.ts +8 -0
- package/dist/core/BudgetReadout.d.ts.map +1 -0
- package/dist/core/BudgetReadout.js +79 -0
- package/dist/core/BudgetReadout.js.map +1 -0
- package/dist/core/ChannelWrite.d.ts +28 -9
- package/dist/core/ChannelWrite.d.ts.map +1 -1
- package/dist/core/ChannelWrite.js +28 -21
- package/dist/core/ChannelWrite.js.map +1 -1
- package/dist/core/ChannelWrite.sql +11 -10
- package/dist/core/CoreSchemeServices.d.ts +10 -4
- package/dist/core/CoreSchemeServices.d.ts.map +1 -1
- package/dist/core/CoreSchemeServices.js +7 -1
- package/dist/core/CoreSchemeServices.js.map +1 -1
- package/dist/core/Dispatcher.d.ts +29 -20
- package/dist/core/Dispatcher.d.ts.map +1 -1
- package/dist/core/Dispatcher.js +1488 -599
- package/dist/core/Dispatcher.js.map +1 -1
- package/dist/core/DurableStatement.d.ts +6 -0
- package/dist/core/DurableStatement.d.ts.map +1 -0
- package/dist/core/DurableStatement.js +51 -0
- package/dist/core/DurableStatement.js.map +1 -0
- package/dist/core/Engine.d.ts +48 -20
- package/dist/core/Engine.d.ts.map +1 -1
- package/dist/core/Engine.js +1208 -789
- package/dist/core/Engine.js.map +1 -1
- package/dist/core/Engine.sql +309 -217
- package/dist/core/EnvFlags.js +1 -1
- package/dist/core/EnvFlags.js.map +1 -1
- package/dist/core/ErrorDetail.d.ts +6 -0
- package/dist/core/ErrorDetail.d.ts.map +1 -0
- package/dist/core/ErrorDetail.js +20 -0
- package/dist/core/ErrorDetail.js.map +1 -0
- package/dist/core/ExecutorRegistry.d.ts +14 -3
- package/dist/core/ExecutorRegistry.d.ts.map +1 -1
- package/dist/core/ExecutorRegistry.js +56 -30
- package/dist/core/ExecutorRegistry.js.map +1 -1
- package/dist/core/GitBranch.d.ts +20 -0
- package/dist/core/GitBranch.d.ts.map +1 -0
- package/dist/core/GitBranch.js +110 -0
- package/dist/core/GitBranch.js.map +1 -0
- package/dist/core/JournalTurn.d.ts +9 -0
- package/dist/core/JournalTurn.d.ts.map +1 -0
- package/dist/core/JournalTurn.js +14 -0
- package/dist/core/JournalTurn.js.map +1 -0
- package/dist/core/JournalTurn.sql +10 -0
- package/dist/core/LogBody.d.ts +17 -0
- package/dist/core/LogBody.d.ts.map +1 -0
- package/dist/core/LogBody.js +148 -0
- package/dist/core/LogBody.js.map +1 -0
- package/dist/core/LoopFlagsReader.d.ts +7 -0
- package/dist/core/LoopFlagsReader.d.ts.map +1 -0
- package/dist/core/LoopFlagsReader.js +33 -0
- package/dist/core/LoopFlagsReader.js.map +1 -0
- package/dist/core/LoopLifecycle.d.ts +8 -1
- package/dist/core/LoopLifecycle.d.ts.map +1 -1
- package/dist/core/LoopLifecycle.js +55 -9
- package/dist/core/LoopLifecycle.js.map +1 -1
- package/dist/core/LoopLifecycle.sql +9 -3
- package/dist/core/NoticeChannel.d.ts +13 -0
- package/dist/core/NoticeChannel.d.ts.map +1 -0
- package/dist/core/NoticeChannel.js +40 -0
- package/dist/core/NoticeChannel.js.map +1 -0
- package/dist/core/Owner.d.ts +0 -1
- package/dist/core/Owner.d.ts.map +1 -1
- package/dist/core/Owner.js +2 -5
- package/dist/core/Owner.js.map +1 -1
- package/dist/core/PacketBuilder.d.ts +25 -24
- package/dist/core/PacketBuilder.d.ts.map +1 -1
- package/dist/core/PacketBuilder.js +313 -375
- package/dist/core/PacketBuilder.js.map +1 -1
- package/dist/core/ProblemLog.d.ts +26 -0
- package/dist/core/ProblemLog.d.ts.map +1 -0
- package/dist/core/ProblemLog.js +58 -0
- package/dist/core/ProblemLog.js.map +1 -0
- package/dist/core/ProposalLifecycle.d.ts +15 -21
- package/dist/core/ProposalLifecycle.d.ts.map +1 -1
- package/dist/core/ProposalLifecycle.js +291 -78
- package/dist/core/ProposalLifecycle.js.map +1 -1
- package/dist/core/ProviderInstantiate.d.ts.map +1 -1
- package/dist/core/ProviderInstantiate.js +51 -48
- package/dist/core/ProviderInstantiate.js.map +1 -1
- package/dist/core/SchemeRegistry.d.ts +14 -8
- package/dist/core/SchemeRegistry.d.ts.map +1 -1
- package/dist/core/SchemeRegistry.js +189 -114
- package/dist/core/SchemeRegistry.js.map +1 -1
- package/dist/core/ServiceTeardown.d.ts +11 -0
- package/dist/core/ServiceTeardown.d.ts.map +1 -0
- package/dist/core/ServiceTeardown.js +70 -0
- package/dist/core/ServiceTeardown.js.map +1 -0
- package/dist/core/StoredPacket.d.ts +29 -0
- package/dist/core/StoredPacket.d.ts.map +1 -0
- package/dist/core/StoredPacket.js +147 -0
- package/dist/core/StoredPacket.js.map +1 -0
- package/dist/core/StrikeRail.d.ts +1 -2
- package/dist/core/StrikeRail.d.ts.map +1 -1
- package/dist/core/StrikeRail.js +25 -55
- package/dist/core/StrikeRail.js.map +1 -1
- package/dist/core/WorkerControlAddress.d.ts +17 -0
- package/dist/core/WorkerControlAddress.d.ts.map +1 -0
- package/dist/core/WorkerControlAddress.js +44 -0
- package/dist/core/WorkerControlAddress.js.map +1 -0
- package/dist/core/WorkerName.d.ts +31 -0
- package/dist/core/WorkerName.d.ts.map +1 -0
- package/dist/core/WorkerName.js +95 -0
- package/dist/core/WorkerName.js.map +1 -0
- package/dist/core/WorkerName.sql +36 -0
- package/dist/core/WorkspaceGate.d.ts +14 -0
- package/dist/core/WorkspaceGate.d.ts.map +1 -0
- package/dist/core/WorkspaceGate.js +155 -0
- package/dist/core/WorkspaceGate.js.map +1 -0
- package/dist/core/caps/CapsResolve.d.ts +1 -1
- package/dist/core/caps/CapsResolve.d.ts.map +1 -1
- package/dist/core/caps/CapsResolve.js.map +1 -1
- package/dist/core/caps/DbChannelCaps.d.ts +5 -11
- package/dist/core/caps/DbChannelCaps.d.ts.map +1 -1
- package/dist/core/caps/DbChannelCaps.js +24 -8
- package/dist/core/caps/DbChannelCaps.js.map +1 -1
- package/dist/core/caps/DbEntryCaps.d.ts +4 -13
- package/dist/core/caps/DbEntryCaps.d.ts.map +1 -1
- package/dist/core/caps/DbEntryCaps.js +15 -6
- package/dist/core/caps/DbEntryCaps.js.map +1 -1
- package/dist/core/caps/DbNotifyCaps.d.ts +1 -1
- package/dist/core/caps/DbNotifyCaps.d.ts.map +1 -1
- package/dist/core/caps/DbNotifyCaps.js +12 -11
- package/dist/core/caps/DbNotifyCaps.js.map +1 -1
- package/dist/core/caps/DbProjectionCaps.d.ts +5 -5
- package/dist/core/caps/DbProjectionCaps.d.ts.map +1 -1
- package/dist/core/caps/DbProjectionCaps.js +21 -4
- package/dist/core/caps/DbProjectionCaps.js.map +1 -1
- package/dist/core/caps/DbSubscriptionCaps.d.ts +4 -4
- package/dist/core/caps/DbSubscriptionCaps.d.ts.map +1 -1
- package/dist/core/caps/DbSubscriptionCaps.js +57 -62
- package/dist/core/caps/DbSubscriptionCaps.js.map +1 -1
- package/dist/core/caps/DbTagCaps.d.ts +5 -12
- package/dist/core/caps/DbTagCaps.d.ts.map +1 -1
- package/dist/core/caps/DbTagCaps.js +14 -7
- package/dist/core/caps/DbTagCaps.js.map +1 -1
- package/dist/core/content-hash.js +1 -1
- package/dist/core/content-hash.js.map +1 -1
- package/dist/core/env-defaults.d.ts.map +1 -1
- package/dist/core/env-defaults.js.map +1 -1
- package/dist/core/fork.d.ts.map +1 -1
- package/dist/core/fork.js +55 -30
- package/dist/core/fork.js.map +1 -1
- package/dist/core/fork.sql +41 -27
- package/dist/core/git-env.d.ts +2 -0
- package/dist/core/git-env.d.ts.map +1 -1
- package/dist/core/git-env.js +13 -18
- package/dist/core/git-env.js.map +1 -1
- package/dist/core/git-iso.d.ts.map +1 -1
- package/dist/core/git-iso.js +9 -15
- package/dist/core/git-iso.js.map +1 -1
- package/dist/core/git-membership.d.ts +1 -1
- package/dist/core/git-membership.d.ts.map +1 -1
- package/dist/core/git-membership.js +198 -146
- package/dist/core/git-membership.js.map +1 -1
- package/dist/core/git-state.d.ts.map +1 -1
- package/dist/core/git-state.js +10 -11
- package/dist/core/git-state.js.map +1 -1
- package/dist/core/owner.sql +1 -1
- package/dist/core/packet-inject.d.ts.map +1 -1
- package/dist/core/packet-inject.js +7 -11
- package/dist/core/packet-inject.js.map +1 -1
- package/dist/core/packet-wire.d.ts +2 -20
- package/dist/core/packet-wire.d.ts.map +1 -1
- package/dist/core/packet-wire.js +242 -368
- package/dist/core/packet-wire.js.map +1 -1
- package/dist/core/plurnk-uri.d.ts +12 -1
- package/dist/core/plurnk-uri.d.ts.map +1 -1
- package/dist/core/plurnk-uri.js +49 -29
- package/dist/core/plurnk-uri.js.map +1 -1
- package/dist/core/results.d.ts +16 -5
- package/dist/core/results.d.ts.map +1 -1
- package/dist/core/results.js +27 -18
- package/dist/core/results.js.map +1 -1
- package/dist/core/ruler_count.d.ts +4 -0
- package/dist/core/ruler_count.d.ts.map +1 -0
- package/dist/core/ruler_count.js +7 -0
- package/dist/core/ruler_count.js.map +1 -0
- package/dist/core/scheme-types.d.ts +9 -11
- package/dist/core/scheme-types.d.ts.map +1 -1
- package/dist/core/scheme-types.js.map +1 -1
- package/dist/core/search-gate.d.ts.map +1 -1
- package/dist/core/search-gate.js +3 -11
- package/dist/core/search-gate.js.map +1 -1
- package/dist/core/teaching-corpus.d.ts +6 -0
- package/dist/core/teaching-corpus.d.ts.map +1 -0
- package/dist/core/teaching-corpus.js +23 -0
- package/dist/core/teaching-corpus.js.map +1 -0
- package/dist/core/teaching.d.ts +0 -1
- package/dist/core/teaching.d.ts.map +1 -1
- package/dist/core/teaching.js +2 -8
- package/dist/core/teaching.js.map +1 -1
- package/dist/core/token-ruler.d.ts.map +1 -1
- package/dist/core/token-ruler.js +3 -16
- package/dist/core/token-ruler.js.map +1 -1
- package/dist/core/turn-scheduler.d.ts +1 -1
- package/dist/core/turn-scheduler.d.ts.map +1 -1
- package/dist/core/turn-scheduler.js +1 -1
- package/dist/core/turn-scheduler.js.map +1 -1
- package/dist/core/worker-cap.d.ts +2 -4
- package/dist/core/worker-cap.d.ts.map +1 -1
- package/dist/core/worker-cap.js +13 -4
- package/dist/core/worker-cap.js.map +1 -1
- package/dist/core/{run-ops.sql → worker-ops.sql} +11 -11
- package/dist/core/workspace-settings.d.ts.map +1 -1
- package/dist/core/workspace-settings.js +17 -9
- package/dist/core/workspace-settings.js.map +1 -1
- package/dist/digest/Digest.d.ts +2 -1
- package/dist/digest/Digest.d.ts.map +1 -1
- package/dist/digest/Digest.js +337 -138
- package/dist/digest/Digest.js.map +1 -1
- package/dist/digest/digest.sql +19 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -5
- package/dist/index.js.map +1 -1
- package/dist/matrix/live-specimen.d.ts +9 -0
- package/dist/matrix/live-specimen.d.ts.map +1 -0
- package/dist/matrix/live-specimen.js +37 -0
- package/dist/matrix/live-specimen.js.map +1 -0
- package/dist/observe/api.d.ts +6 -0
- package/dist/observe/api.d.ts.map +1 -0
- package/dist/observe/api.js +11 -0
- package/dist/observe/api.js.map +1 -0
- package/dist/observe/init.d.ts +7 -0
- package/dist/observe/init.d.ts.map +1 -0
- package/dist/observe/init.js +159 -0
- package/dist/observe/init.js.map +1 -0
- package/dist/observe/metrics.d.ts +6 -0
- package/dist/observe/metrics.d.ts.map +1 -0
- package/dist/observe/metrics.js +15 -0
- package/dist/observe/metrics.js.map +1 -0
- package/dist/observe/spans.d.ts +4 -0
- package/dist/observe/spans.d.ts.map +1 -0
- package/dist/observe/spans.js +51 -0
- package/dist/observe/spans.js.map +1 -0
- package/dist/schemes/EffectPolicy.d.ts +1 -0
- package/dist/schemes/EffectPolicy.d.ts.map +1 -1
- package/dist/schemes/EffectPolicy.js +5 -2
- package/dist/schemes/EffectPolicy.js.map +1 -1
- package/dist/schemes/Exec.d.ts +6 -11
- package/dist/schemes/Exec.d.ts.map +1 -1
- package/dist/schemes/Exec.js +364 -247
- package/dist/schemes/Exec.js.map +1 -1
- package/dist/schemes/ExecOutputScheme.d.ts +8 -7
- package/dist/schemes/ExecOutputScheme.d.ts.map +1 -1
- package/dist/schemes/ExecOutputScheme.js +48 -9
- package/dist/schemes/ExecOutputScheme.js.map +1 -1
- package/dist/schemes/File.d.ts +7 -11
- package/dist/schemes/File.d.ts.map +1 -1
- package/dist/schemes/File.js +279 -142
- package/dist/schemes/File.js.map +1 -1
- package/dist/schemes/Log.d.ts +4 -8
- package/dist/schemes/Log.d.ts.map +1 -1
- package/dist/schemes/Log.js +475 -208
- package/dist/schemes/Log.js.map +1 -1
- package/dist/schemes/Log.sql +62 -30
- package/dist/schemes/Prompt.d.ts +3 -2
- package/dist/schemes/Prompt.d.ts.map +1 -1
- package/dist/schemes/Prompt.js +9 -6
- package/dist/schemes/Prompt.js.map +1 -1
- package/dist/schemes/Skill.d.ts +1 -1
- package/dist/schemes/Skill.d.ts.map +1 -1
- package/dist/schemes/Skill.js +2 -3
- package/dist/schemes/Skill.js.map +1 -1
- package/dist/schemes/Worker.d.ts +8 -16
- package/dist/schemes/Worker.d.ts.map +1 -1
- package/dist/schemes/Worker.js +179 -69
- package/dist/schemes/Worker.js.map +1 -1
- package/dist/schemes/_entry-chunk.d.ts.map +1 -1
- package/dist/schemes/_entry-chunk.js +12 -5
- package/dist/schemes/_entry-chunk.js.map +1 -1
- package/dist/schemes/_entry-crud.d.ts +10 -9
- package/dist/schemes/_entry-crud.d.ts.map +1 -1
- package/dist/schemes/_entry-crud.js +59 -13
- package/dist/schemes/_entry-crud.js.map +1 -1
- package/dist/schemes/_entry-crud.sql +20 -8
- package/dist/schemes/_entry-find.d.ts +20 -15
- package/dist/schemes/_entry-find.d.ts.map +1 -1
- package/dist/schemes/_entry-find.js +339 -174
- package/dist/schemes/_entry-find.js.map +1 -1
- package/dist/schemes/_entry-find.sql +20 -8
- package/dist/schemes/_entry-graph.d.ts +4 -2
- package/dist/schemes/_entry-graph.d.ts.map +1 -1
- package/dist/schemes/_entry-graph.js +55 -31
- package/dist/schemes/_entry-graph.js.map +1 -1
- package/dist/schemes/_entry-graph.sql +37 -22
- package/dist/schemes/_entry-manifest.d.ts +10 -15
- package/dist/schemes/_entry-manifest.d.ts.map +1 -1
- package/dist/schemes/_entry-manifest.js +50 -268
- package/dist/schemes/_entry-manifest.js.map +1 -1
- package/dist/schemes/_entry-ops.d.ts +9 -14
- package/dist/schemes/_entry-ops.d.ts.map +1 -1
- package/dist/schemes/_entry-ops.js +149 -77
- package/dist/schemes/_entry-ops.js.map +1 -1
- package/dist/schemes/_entry-ops.sql +1 -1
- package/dist/schemes/_entry-semantic.d.ts +23 -8
- package/dist/schemes/_entry-semantic.d.ts.map +1 -1
- package/dist/schemes/_entry-semantic.js +141 -60
- package/dist/schemes/_entry-semantic.js.map +1 -1
- package/dist/schemes/_entry-semantic.sql +63 -45
- package/dist/schemes/_entry-send.d.ts +3 -4
- package/dist/schemes/_entry-send.d.ts.map +1 -1
- package/dist/schemes/_entry-send.js +48 -23
- package/dist/schemes/_entry-send.js.map +1 -1
- package/dist/schemes/_path-scope.d.ts +23 -0
- package/dist/schemes/_path-scope.d.ts.map +1 -0
- package/dist/schemes/_path-scope.js +61 -0
- package/dist/schemes/_path-scope.js.map +1 -0
- package/dist/schemes/_search-candidate.d.ts +20 -0
- package/dist/schemes/_search-candidate.d.ts.map +1 -0
- package/dist/schemes/_search-candidate.js +19 -0
- package/dist/schemes/_search-candidate.js.map +1 -0
- package/dist/schemes/_search-exclusion.d.ts +7 -0
- package/dist/schemes/_search-exclusion.d.ts.map +1 -0
- package/dist/schemes/_search-exclusion.js +23 -0
- package/dist/schemes/_search-exclusion.js.map +1 -0
- package/dist/schemes/_search-index.d.ts +6 -0
- package/dist/schemes/_search-index.d.ts.map +1 -0
- package/dist/schemes/_search-index.js +326 -0
- package/dist/schemes/_search-index.js.map +1 -0
- package/dist/schemes/cosine.js +1 -1
- package/dist/schemes/cosine.js.map +1 -1
- package/dist/schemes/exec-abort.js +3 -3
- package/dist/schemes/exec-abort.js.map +1 -1
- package/dist/schemes/exec-env.js +3 -3
- package/dist/schemes/exec-env.js.map +1 -1
- package/dist/server/BranchBatches.d.ts +48 -0
- package/dist/server/BranchBatches.d.ts.map +1 -0
- package/dist/server/BranchBatches.js +591 -0
- package/dist/server/BranchBatches.js.map +1 -0
- package/dist/server/Daemon.d.ts +36 -66
- package/dist/server/Daemon.d.ts.map +1 -1
- package/dist/server/Daemon.js +920 -446
- package/dist/server/Daemon.js.map +1 -1
- package/dist/server/DaemonModule.d.ts +31 -0
- package/dist/server/DaemonModule.d.ts.map +1 -0
- package/dist/server/DaemonModule.js +2 -0
- package/dist/server/DaemonModule.js.map +1 -0
- package/dist/server/branch-batch.sql +152 -0
- package/dist/server/client-input.d.ts +12 -0
- package/dist/server/client-input.d.ts.map +1 -1
- package/dist/server/client-input.js +262 -57
- package/dist/server/client-input.js.map +1 -1
- package/dist/server/dispatch-as-plurnk.d.ts +1 -1
- package/dist/server/dispatch-as-plurnk.d.ts.map +1 -1
- package/dist/server/dispatch-as-plurnk.js +15 -7
- package/dist/server/dispatch-as-plurnk.js.map +1 -1
- package/dist/server/drain.sql +92 -62
- package/dist/server/envelope.d.ts +2 -5
- package/dist/server/envelope.d.ts.map +1 -1
- package/dist/server/envelope.js +119 -95
- package/dist/server/envelope.js.map +1 -1
- package/dist/server/envelope.sql +19 -23
- package/dist/server/exec-poll-backoff.js +1 -1
- package/dist/server/exec-poll-backoff.js.map +1 -1
- package/dist/server/lifecycle-recovery.sql +79 -2
- package/dist/server/logEntry.d.ts +3 -1
- package/dist/server/logEntry.d.ts.map +1 -1
- package/dist/server/logEntry.js +4 -2
- package/dist/server/logEntry.js.map +1 -1
- package/dist/server/logEntry.sql +1 -1
- package/dist/server/loop-model.d.ts.map +1 -1
- package/dist/server/loop-model.js +22 -9
- package/dist/server/loop-model.js.map +1 -1
- package/dist/server/loopDocs.d.ts.map +1 -1
- package/dist/server/loopDocs.js +5 -4
- package/dist/server/loopDocs.js.map +1 -1
- package/dist/server/seam-entry-read.sql +15 -10
- package/dist/server/seam-log-read.sql +2 -2
- package/dist/server/seam-loop.sql +1 -1
- package/dist/server/seam-proposal-list.sql +17 -7
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +66 -60
- package/dist/service.js.map +1 -1
- package/migrations/001_schema.sql +897 -0
- package/package.json +57 -26
- package/dist/core/PluginLoader.d.ts +0 -20
- package/dist/core/PluginLoader.d.ts.map +0 -1
- package/dist/core/PluginLoader.js +0 -142
- package/dist/core/PluginLoader.js.map +0 -1
- package/dist/core/TelemetryChannel.d.ts +0 -37
- package/dist/core/TelemetryChannel.d.ts.map +0 -1
- package/dist/core/TelemetryChannel.js +0 -80
- package/dist/core/TelemetryChannel.js.map +0 -1
- package/dist/core/path-decode.d.ts +0 -3
- package/dist/core/path-decode.d.ts.map +0 -1
- package/dist/core/path-decode.js +0 -9
- package/dist/core/path-decode.js.map +0 -1
- package/dist/core/plugin-attribution.d.ts +0 -5
- package/dist/core/plugin-attribution.d.ts.map +0 -1
- package/dist/core/plugin-attribution.js +0 -39
- package/dist/core/plugin-attribution.js.map +0 -1
- package/dist/core/world-state.d.ts +0 -10
- package/dist/core/world-state.d.ts.map +0 -1
- package/dist/core/world-state.js +0 -35
- package/dist/core/world-state.js.map +0 -1
- package/dist/core/world-state.sql +0 -35
- package/dist/core/zero-pin.d.ts +0 -3
- package/dist/core/zero-pin.d.ts.map +0 -1
- package/dist/core/zero-pin.js +0 -16
- package/dist/core/zero-pin.js.map +0 -1
- package/dist/server/auto.d.ts +0 -6
- package/dist/server/auto.d.ts.map +0 -1
- package/dist/server/auto.js +0 -63
- package/dist/server/auto.js.map +0 -1
- package/dist/server/clientTurn.d.ts +0 -6
- package/dist/server/clientTurn.d.ts.map +0 -1
- package/dist/server/clientTurn.js +0 -22
- package/dist/server/clientTurn.js.map +0 -1
- package/dist/server/clientTurn.sql +0 -10
- package/dist/server/noProposals.d.ts +0 -6
- package/dist/server/noProposals.d.ts.map +0 -1
- package/dist/server/noProposals.js +0 -37
- package/dist/server/noProposals.js.map +0 -1
- package/dist/server/version-info.d.ts +0 -14
- package/dist/server/version-info.d.ts.map +0 -1
- package/dist/server/version-info.js +0 -69
- package/dist/server/version-info.js.map +0 -1
- package/migrations/0000-00-00.01_schema.sql +0 -536
- package/migrations/0004_loop-provider.sql +0 -3
- package/migrations/0005_subscription-published-channel.sql +0 -3
- package/migrations/0006_loop-max-turns.sql +0 -3
|
@@ -13,64 +13,105 @@ import Skill from "../schemes/Skill.js";
|
|
|
13
13
|
import File from "../schemes/File.js";
|
|
14
14
|
import Worker from "../schemes/Worker.js";
|
|
15
15
|
import ResolveForLoop from "./resolveForLoop.js";
|
|
16
|
-
import { SchemeDiscovery } from "@plurnk/plurnk-schemes";
|
|
17
|
-
import PluginAttribution from "./plugin-attribution.js";
|
|
16
|
+
import { Manifest, PacketSections, SchemeDiscovery, } from "@plurnk/plurnk-schemes";
|
|
18
17
|
import ExecOutputScheme from "../schemes/ExecOutputScheme.js";
|
|
19
|
-
import { readdir, readFile } from "node:fs/promises";
|
|
20
|
-
import { resolve } from "node:path";
|
|
21
|
-
import Paths from "../Paths.js";
|
|
22
18
|
import { docsExcludeSet } from "./teaching.js";
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
// teach()/docs() prefer this over a manifest's inline `documentation` (the path that stays for
|
|
26
|
-
// stubs + plugin schemes). Absent dir → empty map.
|
|
27
|
-
const SCHEME_DOCS = await (async () => {
|
|
28
|
-
try {
|
|
29
|
-
const files = (await readdir(Paths.schemeDocs)).filter((f) => f.endsWith(".md"));
|
|
30
|
-
const loaded = await Promise.all(files.map(async (f) => [f.slice(0, -3), await readFile(resolve(Paths.schemeDocs, f), "utf8")]));
|
|
31
|
-
return new Map(loaded);
|
|
32
|
-
}
|
|
33
|
-
catch {
|
|
34
|
-
return new Map();
|
|
35
|
-
}
|
|
36
|
-
})();
|
|
19
|
+
import Meta, { TEACHING_CORPUS, } from "@plurnk/plurnk-meta";
|
|
20
|
+
import { readTeachingSource } from "./teaching-corpus.js";
|
|
37
21
|
export default class SchemeRegistry {
|
|
38
22
|
// Handler store. Dispatcher supplies one context implementation to bundled
|
|
39
23
|
// and discovered schemes alike.
|
|
40
24
|
#handlers = new Map();
|
|
25
|
+
#readiness = new Map();
|
|
26
|
+
#closures = new Map();
|
|
41
27
|
#coreServices;
|
|
42
|
-
#
|
|
43
|
-
|
|
28
|
+
#packageAttributions = new Map();
|
|
29
|
+
#packageAttributionSources = new Map();
|
|
30
|
+
// {§exec} — runtime-tag schemes (sh/node/…) that ALIAS the exec handler for output-entry
|
|
44
31
|
// addressing (sh:///l/t/s). Routable via get(), but NOT separately taught or doc-materialized
|
|
45
32
|
// (exec is taught once); else the catalog + docs bloat by one redundant line/entry per tag.
|
|
46
33
|
#runtimeSchemes = new Set();
|
|
47
|
-
//
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
34
|
+
// One ownership ledger for built-ins, installed schemes, runtime output
|
|
35
|
+
// faces, and programmatic schemes. {§plugin-namespace-arbitration}
|
|
36
|
+
#claims = new Map();
|
|
37
|
+
#readTeaching;
|
|
38
|
+
#schemeDocs;
|
|
39
|
+
#questionsDoc;
|
|
40
|
+
// `fetchWeb` ({§exec-entry-sink}) is forwarded to the exec handler's content:null sink; default
|
|
41
|
+
// = schemes-http's checked WebFetcher, injectable so tests substitute automatic network acquisition.
|
|
51
42
|
constructor(opts) {
|
|
52
|
-
this
|
|
53
|
-
|
|
43
|
+
this.#readTeaching = opts?.readTeaching ?? readTeachingSource;
|
|
44
|
+
this.#registerBuiltIn("log", new Log());
|
|
45
|
+
// {§scheme} — "exec" is internal machinery, not an addressable scheme: the EXEC op routes here
|
|
54
46
|
// and the spawn-abort/idle state lives here, but the model addresses output via the tag
|
|
55
|
-
// schemes (sh://, jq://) and process-KILLs the tag coordinate.
|
|
56
|
-
//
|
|
57
|
-
this
|
|
58
|
-
this
|
|
59
|
-
this
|
|
60
|
-
this
|
|
61
|
-
this
|
|
62
|
-
// #240 — the in-tree names are RESERVED across the whole scheme namespace: a
|
|
63
|
-
// discovered executor or external scheme claiming one fails the boot hard, never
|
|
64
|
-
// silently shadowed. (exec stays poisoned-but-registered — the EXEC op + kill state.)
|
|
65
|
-
this.#reserved = new Set(this.#handlers.keys());
|
|
47
|
+
// schemes (sh://, jq://) and process-KILLs the tag coordinate. The knowledgebase
|
|
48
|
+
// is worker:// (commons/~/name/plurnk), and task frames are prompt://.
|
|
49
|
+
this.#registerBuiltIn("exec", new Exec(opts?.fetchWeb));
|
|
50
|
+
this.#registerBuiltIn("prompt", new Prompt());
|
|
51
|
+
this.#registerBuiltIn("skill", new Skill());
|
|
52
|
+
this.#registerBuiltIn("file", new File());
|
|
53
|
+
this.#registerBuiltIn("worker", new Worker());
|
|
66
54
|
}
|
|
67
55
|
register(name, handler) {
|
|
68
|
-
|
|
69
|
-
|
|
56
|
+
const claim = SchemeRegistry.#programmaticClaim(name);
|
|
57
|
+
this.#registerClaimed(name, handler, claim);
|
|
58
|
+
}
|
|
59
|
+
#registerBuiltIn(name, handler) {
|
|
60
|
+
const claim = {
|
|
61
|
+
key: "core:@plurnk/plurnk-service",
|
|
62
|
+
label: "core package '@plurnk/plurnk-service'",
|
|
63
|
+
reserved: true,
|
|
64
|
+
};
|
|
65
|
+
this.#registerClaimed(name, handler, claim);
|
|
66
|
+
}
|
|
67
|
+
#registerClaimed(name, handler, claim, sameOwnerRescan = false) {
|
|
68
|
+
if (this.#assertClaim(name, claim, sameOwnerRescan) === "same")
|
|
69
|
+
return false;
|
|
70
|
+
Manifest.of(handler, name);
|
|
70
71
|
const bindCore = handler.bindCore;
|
|
71
72
|
if (this.#coreServices !== undefined && typeof bindCore === "function")
|
|
72
73
|
bindCore.call(handler, this.#coreServices);
|
|
73
74
|
this.#handlers.set(name, handler);
|
|
75
|
+
this.#claims.set(name, claim);
|
|
76
|
+
return true;
|
|
77
|
+
}
|
|
78
|
+
#assertClaim(name, incoming, sameOwnerRescan) {
|
|
79
|
+
const existing = this.#claims.get(name);
|
|
80
|
+
if (existing === undefined)
|
|
81
|
+
return "new";
|
|
82
|
+
if (sameOwnerRescan && existing.key === incoming.key)
|
|
83
|
+
return "same";
|
|
84
|
+
if (existing.reserved) {
|
|
85
|
+
throw new Error(`scheme name '${name}' is reserved by ${existing.label}; ${incoming.label} cannot claim it`);
|
|
86
|
+
}
|
|
87
|
+
throw new Error(`scheme name '${name}' is claimed by both ${existing.label} and ${incoming.label}`);
|
|
88
|
+
}
|
|
89
|
+
static #programmaticClaim(name) {
|
|
90
|
+
return {
|
|
91
|
+
key: `programmatic-scheme:${name}`,
|
|
92
|
+
label: `programmatic scheme '${name}'`,
|
|
93
|
+
reserved: false,
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
static #externalSchemeClaim(packageName) {
|
|
97
|
+
return {
|
|
98
|
+
key: `scheme-package:${packageName}`,
|
|
99
|
+
label: `scheme package '${packageName}'`,
|
|
100
|
+
reserved: false,
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
static #runtimeClaim(owner) {
|
|
104
|
+
return owner.kind === "package"
|
|
105
|
+
? {
|
|
106
|
+
key: `executor-package:${owner.name}`,
|
|
107
|
+
label: `executor package '${owner.name}'`,
|
|
108
|
+
reserved: false,
|
|
109
|
+
}
|
|
110
|
+
: {
|
|
111
|
+
key: `module-runtime:${owner.name}`,
|
|
112
|
+
label: `daemon module runtime '${owner.name}'`,
|
|
113
|
+
reserved: false,
|
|
114
|
+
};
|
|
74
115
|
}
|
|
75
116
|
bindCore(services) {
|
|
76
117
|
this.#coreServices = services;
|
|
@@ -80,79 +121,94 @@ export default class SchemeRegistry {
|
|
|
80
121
|
bindCore.call(handler, services);
|
|
81
122
|
}
|
|
82
123
|
}
|
|
83
|
-
// §exec
|
|
124
|
+
// {§exec} — exec output entries address by their runtime tag as authority
|
|
84
125
|
// (sh:///l/t/s). Register each discovered executor as its OWN per-tag scheme face
|
|
85
126
|
// (ExecOutputScheme): READ/FIND tag-scoped via the executor's manifest, process-KILL
|
|
86
127
|
// delegated to the shared Exec handler. Minted from the boot ExecutorRegistry; in-tree
|
|
87
|
-
// names
|
|
128
|
+
// names are reserved (a tag shadowing a built-in fails hard, never overrides it).
|
|
88
129
|
registerRuntimeSchemes(executors) {
|
|
89
130
|
for (const tag of executors.availableRuntimes()) {
|
|
90
131
|
const entry = executors.entry(tag);
|
|
91
132
|
if (entry === undefined)
|
|
92
133
|
continue;
|
|
93
|
-
this.registerRuntimeScheme(tag, entry.executor);
|
|
134
|
+
this.registerRuntimeScheme(tag, entry.executor, entry.namespaceOwner, undefined, true);
|
|
94
135
|
}
|
|
95
136
|
}
|
|
96
|
-
// Register
|
|
97
|
-
//
|
|
98
|
-
//
|
|
99
|
-
|
|
100
|
-
// collision with a reserved built-in or a DIFFERENT already-claimed scheme.
|
|
101
|
-
registerRuntimeScheme(tag, executor) {
|
|
137
|
+
// Register one executor tag's scheme face (the boot loop above or daemon-module setup).
|
|
138
|
+
// Cross-family arbitration lives here so boot and module paths share one
|
|
139
|
+
// namespace. {§plugin-namespace-arbitration}
|
|
140
|
+
registerRuntimeScheme(tag, executor, owner, facet, sameOwnerRescan = false) {
|
|
102
141
|
const exec = this.#handlers.get("exec");
|
|
103
142
|
if (!(exec instanceof Exec))
|
|
104
143
|
throw new Error("registerRuntimeScheme: the exec handler is not registered");
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
if (this.#handlers.has(tag))
|
|
110
|
-
throw new Error(`executor tag '${tag}' collides with an already-claimed scheme '${tag}' — one name, one owner across the exec/scheme families (#240)`);
|
|
111
|
-
this.register(tag, new ExecOutputScheme(executor, exec));
|
|
144
|
+
const claim = SchemeRegistry.#runtimeClaim(owner);
|
|
145
|
+
if (this.#assertClaim(tag, claim, sameOwnerRescan) === "same")
|
|
146
|
+
return;
|
|
147
|
+
this.#registerClaimed(tag, new ExecOutputScheme(executor, exec, facet), claim, sameOwnerRescan);
|
|
112
148
|
this.#runtimeSchemes.add(tag);
|
|
113
149
|
}
|
|
150
|
+
assertRuntimeClaim(tag, owner) {
|
|
151
|
+
this.#assertClaim(tag, SchemeRegistry.#runtimeClaim(owner), false);
|
|
152
|
+
}
|
|
114
153
|
get(name) { return this.#handlers.get(name); }
|
|
115
154
|
has(name) { return this.#handlers.has(name); }
|
|
116
155
|
manifestFor(name) {
|
|
117
156
|
const handler = this.#handlers.get(name);
|
|
118
|
-
return handler
|
|
157
|
+
return handler === undefined ? undefined : Manifest.of(handler, name);
|
|
119
158
|
}
|
|
120
159
|
list() { return [...this.#handlers.keys()].toSorted(); }
|
|
121
|
-
//
|
|
122
|
-
//
|
|
123
|
-
// advertised as available at boot can actually be opened.
|
|
160
|
+
// {§handler-lifecycle} — discovery proves importability; one successful
|
|
161
|
+
// ready() per object identity proves advertised resources are usable.
|
|
124
162
|
async ready() {
|
|
125
163
|
const handlers = new Set(this.#handlers.values());
|
|
126
164
|
for (const handler of handlers) {
|
|
127
|
-
|
|
128
|
-
if (
|
|
129
|
-
|
|
165
|
+
let readiness = this.#readiness.get(handler);
|
|
166
|
+
if (readiness === undefined) {
|
|
167
|
+
readiness = Promise.resolve().then(async () => {
|
|
168
|
+
const ready = handler.ready;
|
|
169
|
+
if (ready !== undefined)
|
|
170
|
+
await ready.call(handler);
|
|
171
|
+
});
|
|
172
|
+
this.#readiness.set(handler, readiness);
|
|
173
|
+
}
|
|
174
|
+
await readiness;
|
|
130
175
|
}
|
|
131
176
|
}
|
|
132
|
-
//
|
|
133
|
-
//
|
|
177
|
+
// {§handler-lifecycle} — aliases may share a handler. Attempt and await every
|
|
178
|
+
// unique close once, then surface all failures together.
|
|
134
179
|
async close() {
|
|
135
|
-
const
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
180
|
+
const closures = [...new Set(this.#handlers.values())].map((handler) => {
|
|
181
|
+
let closure = this.#closures.get(handler);
|
|
182
|
+
if (closure === undefined) {
|
|
183
|
+
closure = Promise.resolve().then(async () => {
|
|
184
|
+
const close = handler.close;
|
|
185
|
+
if (close !== undefined)
|
|
186
|
+
await close.call(handler);
|
|
187
|
+
});
|
|
188
|
+
this.#closures.set(handler, closure);
|
|
189
|
+
}
|
|
190
|
+
return closure;
|
|
191
|
+
});
|
|
192
|
+
const results = await Promise.allSettled(closures);
|
|
193
|
+
const errors = results
|
|
194
|
+
.filter((result) => result.status === "rejected")
|
|
195
|
+
.flatMap((result) => result.reason instanceof AggregateError
|
|
196
|
+
? [...result.reason.errors]
|
|
197
|
+
: [result.reason]);
|
|
198
|
+
if (errors.length > 0)
|
|
199
|
+
throw new AggregateError(errors, "scheme handler shutdown failed");
|
|
141
200
|
}
|
|
142
201
|
// A scheme's default channel (manifest.defaultChannel) — the channel a fragment-less
|
|
143
|
-
// address targets. Drives the manifest's address-keyed channels (note 4)
|
|
202
|
+
// address targets. Drives the manifest's address-keyed channels (note 4).
|
|
144
203
|
defaultChannelFor(scheme) {
|
|
145
|
-
|
|
146
|
-
return "body";
|
|
147
|
-
const manifest = this.#handlers.get(scheme)?.constructor?.manifest;
|
|
148
|
-
return manifest?.defaultChannel ?? "body";
|
|
204
|
+
return this.manifestFor(scheme)?.defaultChannel ?? "body";
|
|
149
205
|
}
|
|
150
|
-
//
|
|
151
|
-
//
|
|
206
|
+
// {§schemes-directory} The `schemes` packet section sits below tools. Language
|
|
207
|
+
// teaching covers grammar and dialects, not the installed scheme set, so the
|
|
152
208
|
// service advertises what schemes exist at packet-time. Each handler that ships a
|
|
153
209
|
// `manifest.example` contributes ONE terse line — its canonical usage — plus a
|
|
154
|
-
// doc
|
|
155
|
-
// plurnk
|
|
210
|
+
// pull doc when it ships `manifest.documentation` (materialized at
|
|
211
|
+
// worker://plurnk/docs/<name>.md by LoopDocs, READ on demand). The verbose semantics live
|
|
156
212
|
// in that pull doc, not here: terse pushes, depth pulls — exactly the exec tools
|
|
157
213
|
// sheet's shape (#collectTools). Insertion order; a scheme with no example
|
|
158
214
|
// (provisional, e.g. skill) is omitted. The doc's token weight rides its manifest entry.
|
|
@@ -161,46 +217,52 @@ export default class SchemeRegistry {
|
|
|
161
217
|
const excluded = docsExcludeSet();
|
|
162
218
|
for (const [name, handler] of this.#handlers) {
|
|
163
219
|
if (this.#runtimeSchemes.has(name))
|
|
164
|
-
continue; // §exec — runtime aliases route, but exec is taught once
|
|
220
|
+
continue; // {§exec} — runtime aliases route, but exec is taught once
|
|
165
221
|
if (excluded.has(name))
|
|
166
|
-
continue; //
|
|
167
|
-
const manifest =
|
|
222
|
+
continue; // {§schemes-directory} — exclude drops the example and doc
|
|
223
|
+
const manifest = this.manifestFor(name);
|
|
168
224
|
const example = manifest?.example;
|
|
169
225
|
if (typeof example !== "string" || example.length === 0)
|
|
170
226
|
continue;
|
|
171
|
-
lines.push(example); //
|
|
227
|
+
lines.push(example); // {§packet-operation-fences} — bare op, fenced rather than bulleted
|
|
172
228
|
}
|
|
173
|
-
//
|
|
229
|
+
// Scheme examples use the shared model-facing operation fence. {§packet-operation-fences}
|
|
174
230
|
return lines.length > 0 ? `\`\`\`plurnk\n${lines.join("\n")}\n\`\`\`` : "";
|
|
175
231
|
}
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
232
|
+
async #requiredSchemeDocs() {
|
|
233
|
+
this.#schemeDocs ??= Promise.all(Object.entries(TEACHING_CORPUS.schemeDocs).map(async ([name, source]) => [name, await this.#readTeaching(source)])).then((entries) => new Map(entries));
|
|
234
|
+
return this.#schemeDocs;
|
|
235
|
+
}
|
|
236
|
+
// {§teaching-corpus} — exact meta-owned sources are required; manifest-owned
|
|
237
|
+
// documentation is the deliberately optional fallback for every other scheme.
|
|
238
|
+
async docs() {
|
|
239
|
+
const schemeDocs = await this.#requiredSchemeDocs();
|
|
179
240
|
const out = [];
|
|
180
241
|
const excluded = docsExcludeSet();
|
|
181
242
|
for (const [name, handler] of this.#handlers) {
|
|
182
243
|
if (this.#runtimeSchemes.has(name))
|
|
183
|
-
continue; // §exec — runtime aliases share exec's doc, not their own
|
|
244
|
+
continue; // {§exec} — runtime aliases share exec's doc, not their own
|
|
184
245
|
if (excluded.has(name))
|
|
185
|
-
continue; //
|
|
186
|
-
const inline =
|
|
187
|
-
const content =
|
|
246
|
+
continue; // {§schemes-directory} — exclude drops the doc
|
|
247
|
+
const inline = this.manifestFor(name)?.documentation;
|
|
248
|
+
const content = schemeDocs.get(name) ?? (typeof inline === "string" && inline.length > 0 ? inline : undefined);
|
|
188
249
|
if (content !== undefined && content.length > 0)
|
|
189
250
|
out.push({ name, content });
|
|
190
251
|
}
|
|
191
252
|
return out;
|
|
192
253
|
}
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
//
|
|
254
|
+
questionsDoc() {
|
|
255
|
+
this.#questionsDoc ??= this.#readTeaching(TEACHING_CORPUS.questions);
|
|
256
|
+
return this.#questionsDoc;
|
|
257
|
+
}
|
|
258
|
+
// {§scheme-packet-transform} {§packet-plugin-transform}.
|
|
198
259
|
async transformSections(sections) {
|
|
199
|
-
let current = sections;
|
|
200
|
-
for (const handler of this.#handlers
|
|
260
|
+
let current = PacketSections.assertDrafts(sections, "core packet defaults");
|
|
261
|
+
for (const [name, handler] of this.#handlers) {
|
|
201
262
|
const transform = handler.transformSections;
|
|
202
|
-
if (typeof transform
|
|
203
|
-
|
|
263
|
+
if (typeof transform !== "function")
|
|
264
|
+
continue;
|
|
265
|
+
current = PacketSections.assertDrafts(await transform.call(handler, current), `scheme '${name}' transformSections result`);
|
|
204
266
|
}
|
|
205
267
|
return current;
|
|
206
268
|
}
|
|
@@ -212,30 +274,43 @@ export default class SchemeRegistry {
|
|
|
212
274
|
// The service keeps only consumer policy: in-tree precedence (a name a built-in owns
|
|
213
275
|
// is left as-is) and importing + registering the trusted descriptors.
|
|
214
276
|
async discoverExternal(cwd = process.cwd()) {
|
|
215
|
-
const { schemes, skipped } = await SchemeDiscovery.discover({ cwd });
|
|
277
|
+
const { schemes, packageAttributions, skipped } = await SchemeDiscovery.discover({ cwd });
|
|
216
278
|
for (const name of skipped) {
|
|
217
279
|
console.warn(`scheme discovery: '${name}' is discovered but untrusted (PLURNK_PLUGINS_TRUSTED_ONLY); not registered`);
|
|
218
280
|
}
|
|
219
281
|
for (const { name, packageName, exportName } of schemes) {
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
// #473 — a multi-scheme package names each scheme's export (`plurnk.schemes[].export`);
|
|
282
|
+
const claim = SchemeRegistry.#externalSchemeClaim(packageName);
|
|
283
|
+
if (this.#assertClaim(name, claim, true) === "same")
|
|
284
|
+
continue;
|
|
285
|
+
// {§plugin-discovery} — a multi-scheme package names each scheme's export (`plurnk.schemes[].export`);
|
|
225
286
|
// absent = the classic single default export. A declared export that isn't a constructor
|
|
226
287
|
// fails the boot hard — a manifest naming a missing class is a misdeclaration, not a skip.
|
|
227
288
|
const mod = await import(__rewriteRelativeImportExtension(packageName));
|
|
228
289
|
const Handler = mod[exportName ?? "default"];
|
|
229
290
|
if (typeof Handler !== "function")
|
|
230
|
-
throw new Error(`external scheme '${name}' (${packageName}): export '${exportName ?? "default"}' is not a constructor
|
|
231
|
-
|
|
232
|
-
this.#
|
|
291
|
+
throw new Error(`external scheme '${name}' (${packageName}): export '${exportName ?? "default"}' is not a constructor`);
|
|
292
|
+
const handler = new Handler();
|
|
293
|
+
this.#registerClaimed(name, handler, claim, true);
|
|
294
|
+
const sources = this.#packageAttributionSources.get(packageName) ?? new Set();
|
|
295
|
+
sources.add(handler);
|
|
296
|
+
this.#packageAttributionSources.set(packageName, sources);
|
|
297
|
+
const attribution = packageAttributions.get(packageName);
|
|
298
|
+
if (attribution !== undefined)
|
|
299
|
+
this.#packageAttributions.set(packageName, attribution);
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
// {§plugin-attribution} — static declarations are always-on; each admitted
|
|
303
|
+
// external handler may add or omit opaque tags for this exact attempt.
|
|
304
|
+
attributions(context) {
|
|
305
|
+
const lists = [...this.#packageAttributions.values()];
|
|
306
|
+
for (const [packageName, sources] of this.#packageAttributionSources) {
|
|
307
|
+
for (const source of sources) {
|
|
308
|
+
lists.push(Meta.runtimeAttribution(source, context, packageName));
|
|
309
|
+
}
|
|
233
310
|
}
|
|
311
|
+
return Meta.composeAttributions(...lists);
|
|
234
312
|
}
|
|
235
|
-
//
|
|
236
|
-
// engine unions these across plugin families onto the generate() `attributions` wire).
|
|
237
|
-
attributions() { return [...this.#attributions]; }
|
|
238
|
-
// Active set under the given loop flags (SPEC §engine-rails). Delegates to
|
|
313
|
+
// Active set under the given loop flags (SPEC {§engine-rails}). Delegates to
|
|
239
314
|
// the in-tree ResolveForLoop utility.
|
|
240
315
|
resolveForLoop(flags) {
|
|
241
316
|
return ResolveForLoop.resolveForLoop(this.#handlers, flags);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemeRegistry.js","sourceRoot":"","sources":["../../src/core/SchemeRegistry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SchemeRegistry.js","sourceRoot":"","sources":["../../src/core/SchemeRegistry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
type Cleanup = () => Promise<void>;
|
|
2
|
+
export default class ServiceTeardown {
|
|
3
|
+
#private;
|
|
4
|
+
constructor(stopDaemon: Cleanup, shutdownObservability: Cleanup, closeDatabase: Cleanup);
|
|
5
|
+
close(): Promise<void>;
|
|
6
|
+
fail(cause: unknown): Promise<never>;
|
|
7
|
+
request(reportFailure: (cause: unknown) => void): void;
|
|
8
|
+
static diagnostic(label: string, cause: unknown): string;
|
|
9
|
+
}
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=ServiceTeardown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ServiceTeardown.d.ts","sourceRoot":"","sources":["../../src/core/ServiceTeardown.ts"],"names":[],"mappings":"AAAA,KAAK,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnC,MAAM,CAAC,OAAO,OAAO,eAAe;;IAOhC,YAAY,UAAU,EAAE,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAItF;IAED,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAGrB;IAEK,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAUzC;IAED,OAAO,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI,CAIrD;IAED,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAUvD;CAwBJ"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
var _a;
|
|
2
|
+
class ServiceTeardown {
|
|
3
|
+
#stopDaemon;
|
|
4
|
+
#shutdownObservability;
|
|
5
|
+
#closeDatabase;
|
|
6
|
+
#closing = null;
|
|
7
|
+
#requested = false;
|
|
8
|
+
constructor(stopDaemon, shutdownObservability, closeDatabase) {
|
|
9
|
+
this.#stopDaemon = stopDaemon;
|
|
10
|
+
this.#shutdownObservability = shutdownObservability;
|
|
11
|
+
this.#closeDatabase = closeDatabase;
|
|
12
|
+
}
|
|
13
|
+
close() {
|
|
14
|
+
this.#closing ??= this.#close();
|
|
15
|
+
return this.#closing;
|
|
16
|
+
}
|
|
17
|
+
async fail(cause) {
|
|
18
|
+
try {
|
|
19
|
+
await this.close();
|
|
20
|
+
}
|
|
21
|
+
catch (cleanupCause) {
|
|
22
|
+
throw new AggregateError([cause, ..._a.#causes(cleanupCause)], "service startup and shutdown failed");
|
|
23
|
+
}
|
|
24
|
+
throw cause;
|
|
25
|
+
}
|
|
26
|
+
request(reportFailure) {
|
|
27
|
+
if (this.#requested)
|
|
28
|
+
return;
|
|
29
|
+
this.#requested = true;
|
|
30
|
+
void this.close().catch(reportFailure);
|
|
31
|
+
}
|
|
32
|
+
static diagnostic(label, cause) {
|
|
33
|
+
const lines = [`${label}: ${_a.#message(cause)}`];
|
|
34
|
+
if (cause instanceof AggregateError) {
|
|
35
|
+
_a.#causes(cause).forEach((failure, index) => {
|
|
36
|
+
lines.push(` ${index + 1}. ${_a.#message(failure)}`);
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
else if (cause instanceof Error && cause.cause !== undefined) {
|
|
40
|
+
lines.push(` cause: ${_a.#message(cause.cause)}`);
|
|
41
|
+
}
|
|
42
|
+
return `${lines.join("\n")}\n`;
|
|
43
|
+
}
|
|
44
|
+
async #close() {
|
|
45
|
+
const failures = [];
|
|
46
|
+
for (const cleanup of [this.#stopDaemon, this.#shutdownObservability, this.#closeDatabase]) {
|
|
47
|
+
try {
|
|
48
|
+
await cleanup();
|
|
49
|
+
}
|
|
50
|
+
catch (cause) {
|
|
51
|
+
failures.push(..._a.#causes(cause));
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
if (failures.length === 1)
|
|
55
|
+
throw failures[0];
|
|
56
|
+
if (failures.length > 1)
|
|
57
|
+
throw new AggregateError(failures, "service shutdown failed");
|
|
58
|
+
}
|
|
59
|
+
static #causes(cause) {
|
|
60
|
+
return cause instanceof AggregateError
|
|
61
|
+
? cause.errors.flatMap((failure) => _a.#causes(failure))
|
|
62
|
+
: [cause];
|
|
63
|
+
}
|
|
64
|
+
static #message(cause) {
|
|
65
|
+
return cause instanceof Error ? cause.message : String(cause);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
_a = ServiceTeardown;
|
|
69
|
+
export default ServiceTeardown;
|
|
70
|
+
//# sourceMappingURL=ServiceTeardown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ServiceTeardown.js","sourceRoot":"","sources":["../../src/core/ServiceTeardown.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type PlurnkStatement } from "@plurnk/plurnk-contracts";
|
|
2
|
+
import type { PacketSectionDraft } from "@plurnk/plurnk-schemes";
|
|
3
|
+
export interface StoredPacketSection extends PacketSectionDraft {
|
|
4
|
+
readonly tokens: number;
|
|
5
|
+
}
|
|
6
|
+
export type PacketAssistant = {
|
|
7
|
+
content: string;
|
|
8
|
+
ops: PlurnkStatement[];
|
|
9
|
+
reasoning: string | null;
|
|
10
|
+
};
|
|
11
|
+
export type RequestPacket = {
|
|
12
|
+
tokens: number;
|
|
13
|
+
sections: StoredPacketSection[];
|
|
14
|
+
attributions: string[];
|
|
15
|
+
};
|
|
16
|
+
export type AdmittedPacket = RequestPacket & {
|
|
17
|
+
assistant: PacketAssistant;
|
|
18
|
+
assistantRaw: unknown;
|
|
19
|
+
};
|
|
20
|
+
export type DurablePacket = RequestPacket | AdmittedPacket;
|
|
21
|
+
export default class StoredPacket {
|
|
22
|
+
#private;
|
|
23
|
+
static admit(request: RequestPacket, assistant: PacketAssistant, assistantRaw: unknown): AdmittedPacket;
|
|
24
|
+
static stringify(packet: DurablePacket): string;
|
|
25
|
+
static parse(raw: string | null, subject?: string): DurablePacket | null;
|
|
26
|
+
static isAdmitted(packet: DurablePacket): packet is AdmittedPacket;
|
|
27
|
+
static assert(value: unknown, subject?: string): DurablePacket;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=StoredPacket.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StoredPacket.d.ts","sourceRoot":"","sources":["../../src/core/StoredPacket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB;IAC3D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,MAAM,eAAe,GAAG;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,eAAe,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC,YAAY,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG;IACzC,SAAS,EAAE,eAAe,CAAC;IAC3B,YAAY,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,cAAc,CAAC;AAM3D,MAAM,CAAC,OAAO,OAAO,YAAY;;IAC7B,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAE,YAAY,EAAE,OAAO,GAAG,cAAc,CAQtG;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAM9C;IAED,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,SAAkB,GAAG,aAAa,GAAG,IAAI,CAahF;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,IAAI,cAAc,CAEjE;IAED,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,SAAW,GAAG,aAAa,CA4B/D;CA8EJ"}
|