@plurnk/plurnk-service 1.7.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.
- package/.env.defaults +49 -42
- package/INSTALL.md +48 -11
- package/README.md +12 -2
- package/SPEC.md +1166 -475
- package/digest-sql/channel-dispositions/dispositions.sql +15 -0
- package/digest-sql/channel-state/state.sql +6 -0
- package/digest-sql/curation/curation.sql +5 -0
- package/digest-sql/derivations/derivations.sql +4 -0
- package/digest-sql/embeddings/embeddings.sql +4 -0
- package/digest-sql/entry-dispositions/dispositions.sql +15 -0
- package/digest-sql/entry-state/state.sql +6 -0
- package/digest-sql/token-counts/token-counts.sql +2 -0
- package/dist/Paths.d.ts +0 -4
- package/dist/Paths.d.ts.map +1 -1
- package/dist/Paths.js +1 -21
- package/dist/Paths.js.map +1 -1
- package/dist/build-info.json +1 -1
- package/dist/content/read-projector.d.ts.map +1 -1
- package/dist/content/read-projector.js +4 -3
- package/dist/content/read-projector.js.map +1 -1
- package/dist/core/BudgetReadout.d.ts.map +1 -1
- package/dist/core/BudgetReadout.js +12 -22
- package/dist/core/BudgetReadout.js.map +1 -1
- package/dist/core/ChannelWrite.d.ts +8 -3
- package/dist/core/ChannelWrite.d.ts.map +1 -1
- package/dist/core/ChannelWrite.js +40 -8
- package/dist/core/ChannelWrite.js.map +1 -1
- package/dist/core/ChannelWrite.sql +19 -5
- package/dist/core/CoreSchemeServices.d.ts +7 -3
- package/dist/core/CoreSchemeServices.d.ts.map +1 -1
- package/dist/core/CoreSchemeServices.js +8 -1
- package/dist/core/CoreSchemeServices.js.map +1 -1
- package/dist/core/Dispatcher.d.ts +15 -6
- package/dist/core/Dispatcher.d.ts.map +1 -1
- package/dist/core/Dispatcher.js +352 -306
- package/dist/core/Dispatcher.js.map +1 -1
- package/dist/core/Engine.d.ts +22 -10
- package/dist/core/Engine.d.ts.map +1 -1
- package/dist/core/Engine.js +86 -46
- package/dist/core/Engine.js.map +1 -1
- package/dist/core/Engine.sql +202 -177
- package/dist/core/EntryAddressBinding.d.ts +32 -0
- package/dist/core/EntryAddressBinding.d.ts.map +1 -0
- package/dist/core/EntryAddressBinding.js +93 -0
- package/dist/core/EntryAddressBinding.js.map +1 -0
- package/dist/core/ExecutorRegistry.d.ts +12 -6
- package/dist/core/ExecutorRegistry.d.ts.map +1 -1
- package/dist/core/ExecutorRegistry.js +34 -31
- package/dist/core/ExecutorRegistry.js.map +1 -1
- package/dist/core/HostPaths.d.ts +29 -0
- package/dist/core/HostPaths.d.ts.map +1 -0
- package/dist/core/HostPaths.js +74 -0
- package/dist/core/HostPaths.js.map +1 -0
- package/dist/core/LegacyHome.d.ts +10 -0
- package/dist/core/LegacyHome.d.ts.map +1 -0
- package/dist/core/LegacyHome.js +170 -0
- package/dist/core/LegacyHome.js.map +1 -0
- package/dist/core/LogBody.d.ts +1 -1
- package/dist/core/LogBody.d.ts.map +1 -1
- package/dist/core/LogBody.js +21 -3
- package/dist/core/LogBody.js.map +1 -1
- package/dist/core/LogEntryProjection.js +1 -1
- package/dist/core/LogEntryProjection.js.map +1 -1
- package/dist/core/LogVisibility.d.ts +28 -0
- package/dist/core/LogVisibility.d.ts.map +1 -0
- package/dist/core/LogVisibility.js +215 -0
- package/dist/core/LogVisibility.js.map +1 -0
- package/dist/core/LoopLifecycle.d.ts +1 -0
- package/dist/core/LoopLifecycle.d.ts.map +1 -1
- package/dist/core/LoopLifecycle.js +8 -0
- package/dist/core/LoopLifecycle.js.map +1 -1
- package/dist/core/LoopLifecycle.sql +10 -0
- package/dist/core/OperatorConfig.d.ts +6 -0
- package/dist/core/OperatorConfig.d.ts.map +1 -0
- package/dist/core/OperatorConfig.js +95 -0
- package/dist/core/OperatorConfig.js.map +1 -0
- package/dist/core/OverflowTurn.d.ts +11 -0
- package/dist/core/OverflowTurn.d.ts.map +1 -0
- package/dist/core/OverflowTurn.js +81 -0
- package/dist/core/OverflowTurn.js.map +1 -0
- package/dist/core/Owner.js +3 -3
- package/dist/core/Owner.js.map +1 -1
- package/dist/core/PacketBuilder.d.ts +7 -15
- package/dist/core/PacketBuilder.d.ts.map +1 -1
- package/dist/core/PacketBuilder.js +64 -127
- package/dist/core/PacketBuilder.js.map +1 -1
- package/dist/core/ProblemLog.js +1 -1
- package/dist/core/ProblemLog.js.map +1 -1
- package/dist/core/ProposalLifecycle.d.ts +4 -1
- package/dist/core/ProposalLifecycle.d.ts.map +1 -1
- package/dist/core/ProposalLifecycle.js +86 -47
- package/dist/core/ProposalLifecycle.js.map +1 -1
- package/dist/core/ProviderInstantiate.d.ts +9 -5
- package/dist/core/ProviderInstantiate.d.ts.map +1 -1
- package/dist/core/ProviderInstantiate.js +99 -104
- package/dist/core/ProviderInstantiate.js.map +1 -1
- package/dist/core/ReasoningEvent.d.ts +13 -0
- package/dist/core/ReasoningEvent.d.ts.map +1 -0
- package/dist/core/ReasoningEvent.js +6 -0
- package/dist/core/ReasoningEvent.js.map +1 -0
- package/dist/core/ResourceMutations.d.ts +15 -19
- package/dist/core/ResourceMutations.d.ts.map +1 -1
- package/dist/core/ResourceMutations.js +118 -41
- package/dist/core/ResourceMutations.js.map +1 -1
- package/dist/core/SchemeRegistry.d.ts +12 -12
- package/dist/core/SchemeRegistry.d.ts.map +1 -1
- package/dist/core/SchemeRegistry.js +58 -57
- package/dist/core/SchemeRegistry.js.map +1 -1
- package/dist/core/ToolResources.d.ts +19 -0
- package/dist/core/ToolResources.d.ts.map +1 -0
- package/dist/core/ToolResources.js +123 -0
- package/dist/core/ToolResources.js.map +1 -0
- package/dist/core/Turn.d.ts +27 -0
- package/dist/core/Turn.d.ts.map +1 -0
- package/dist/core/Turn.js +43 -0
- package/dist/core/Turn.js.map +1 -0
- package/dist/core/Turn.sql +72 -0
- package/dist/core/TurnOps.d.ts +7 -0
- package/dist/core/TurnOps.d.ts.map +1 -0
- package/dist/core/TurnOps.js +73 -0
- package/dist/core/TurnOps.js.map +1 -0
- package/dist/core/TurnRunner.d.ts +56 -5
- package/dist/core/TurnRunner.d.ts.map +1 -1
- package/dist/core/TurnRunner.js +1163 -929
- package/dist/core/TurnRunner.js.map +1 -1
- package/dist/core/WorkerName.d.ts +2 -1
- package/dist/core/WorkerName.d.ts.map +1 -1
- package/dist/core/WorkerName.js +2 -1
- package/dist/core/WorkerName.js.map +1 -1
- package/dist/core/WorkerName.sql +17 -2
- package/dist/core/WorkspaceGate.js +1 -1
- package/dist/core/WorkspaceGate.js.map +1 -1
- package/dist/core/caps/CapsResolve.d.ts +2 -2
- package/dist/core/caps/CapsResolve.d.ts.map +1 -1
- package/dist/core/caps/CapsResolve.js +5 -7
- package/dist/core/caps/CapsResolve.js.map +1 -1
- package/dist/core/caps/DbChannelCaps.d.ts +1 -1
- package/dist/core/caps/DbChannelCaps.d.ts.map +1 -1
- package/dist/core/caps/DbChannelCaps.js +13 -11
- package/dist/core/caps/DbChannelCaps.js.map +1 -1
- package/dist/core/caps/DbEntryCaps.d.ts +5 -5
- package/dist/core/caps/DbEntryCaps.d.ts.map +1 -1
- package/dist/core/caps/DbEntryCaps.js +27 -30
- 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 +5 -3
- package/dist/core/caps/DbNotifyCaps.js.map +1 -1
- package/dist/core/caps/DbSubscriptionCaps.d.ts +3 -3
- package/dist/core/caps/DbSubscriptionCaps.d.ts.map +1 -1
- package/dist/core/caps/DbSubscriptionCaps.js +16 -26
- package/dist/core/caps/DbSubscriptionCaps.js.map +1 -1
- package/dist/core/caps/SchemeCtxImpl.d.ts +6 -4
- package/dist/core/caps/SchemeCtxImpl.d.ts.map +1 -1
- package/dist/core/caps/SchemeCtxImpl.js +37 -5
- package/dist/core/caps/SchemeCtxImpl.js.map +1 -1
- package/dist/core/env-defaults.d.ts.map +1 -1
- package/dist/core/env-defaults.js +7 -5
- package/dist/core/env-defaults.js.map +1 -1
- package/dist/core/file-creation-policy.d.ts +9 -0
- package/dist/core/file-creation-policy.d.ts.map +1 -0
- package/dist/core/file-creation-policy.js +25 -0
- package/dist/core/file-creation-policy.js.map +1 -0
- package/dist/core/fork.d.ts +4 -1
- package/dist/core/fork.d.ts.map +1 -1
- package/dist/core/fork.js +39 -16
- package/dist/core/fork.js.map +1 -1
- package/dist/core/fork.sql +83 -40
- package/dist/core/git-env.d.ts +0 -1
- package/dist/core/git-env.d.ts.map +1 -1
- package/dist/core/git-env.js +0 -3
- package/dist/core/git-env.js.map +1 -1
- package/dist/core/git-membership.d.ts +19 -1
- package/dist/core/git-membership.d.ts.map +1 -1
- package/dist/core/git-membership.js +233 -74
- 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 +13 -14
- package/dist/core/git-state.js.map +1 -1
- package/dist/core/operation-target-groups.d.ts +3 -0
- package/dist/core/operation-target-groups.d.ts.map +1 -0
- package/dist/core/operation-target-groups.js +53 -0
- package/dist/core/operation-target-groups.js.map +1 -0
- package/dist/core/packet-inject.d.ts +0 -1
- package/dist/core/packet-inject.d.ts.map +1 -1
- package/dist/core/packet-inject.js +6 -13
- package/dist/core/packet-inject.js.map +1 -1
- package/dist/core/packet-wire.d.ts +4 -0
- package/dist/core/packet-wire.d.ts.map +1 -1
- package/dist/core/packet-wire.js +226 -53
- package/dist/core/packet-wire.js.map +1 -1
- package/dist/core/plurnk-uri.d.ts +14 -3
- package/dist/core/plurnk-uri.d.ts.map +1 -1
- package/dist/core/plurnk-uri.js +62 -24
- package/dist/core/plurnk-uri.js.map +1 -1
- package/dist/core/scheme-types.d.ts +1 -0
- package/dist/core/scheme-types.d.ts.map +1 -1
- package/dist/core/teaching.d.ts.map +1 -1
- package/dist/core/teaching.js +4 -5
- package/dist/core/teaching.js.map +1 -1
- package/dist/core/worker-ops.sql +10 -6
- package/dist/core/worker-settings.d.ts +10 -0
- package/dist/core/worker-settings.d.ts.map +1 -0
- package/dist/core/worker-settings.js +32 -0
- package/dist/core/worker-settings.js.map +1 -0
- package/dist/core/workspace-settings.d.ts +2 -11
- package/dist/core/workspace-settings.d.ts.map +1 -1
- package/dist/core/workspace-settings.js +7 -47
- package/dist/core/workspace-settings.js.map +1 -1
- package/dist/digest/Digest.d.ts.map +1 -1
- package/dist/digest/Digest.js +164 -92
- package/dist/digest/Digest.js.map +1 -1
- package/dist/digest/digest.sql +9 -3
- package/dist/observe/genai.d.ts +9 -0
- package/dist/observe/genai.d.ts.map +1 -0
- package/dist/observe/genai.js +31 -0
- package/dist/observe/genai.js.map +1 -0
- package/dist/observe/spans.d.ts +3 -3
- package/dist/observe/spans.d.ts.map +1 -1
- package/dist/observe/spans.js +20 -5
- package/dist/observe/spans.js.map +1 -1
- package/dist/schemes/EffectPolicy.d.ts +3 -0
- package/dist/schemes/EffectPolicy.d.ts.map +1 -1
- package/dist/schemes/EffectPolicy.js +38 -6
- package/dist/schemes/EffectPolicy.js.map +1 -1
- package/dist/schemes/Exec.d.ts +3 -2
- package/dist/schemes/Exec.d.ts.map +1 -1
- package/dist/schemes/Exec.js +109 -34
- package/dist/schemes/Exec.js.map +1 -1
- package/dist/schemes/ExecOutputScheme.d.ts.map +1 -1
- package/dist/schemes/ExecOutputScheme.js +5 -4
- package/dist/schemes/ExecOutputScheme.js.map +1 -1
- package/dist/schemes/File.d.ts.map +1 -1
- package/dist/schemes/File.js +170 -80
- package/dist/schemes/File.js.map +1 -1
- package/dist/schemes/Log.d.ts +6 -2
- package/dist/schemes/Log.d.ts.map +1 -1
- package/dist/schemes/Log.js +73 -22
- package/dist/schemes/Log.js.map +1 -1
- package/dist/schemes/Log.sql +25 -7
- package/dist/schemes/Prompt.d.ts +2 -3
- package/dist/schemes/Prompt.d.ts.map +1 -1
- package/dist/schemes/Prompt.js +5 -9
- package/dist/schemes/Prompt.js.map +1 -1
- package/dist/schemes/QuestionTool.d.ts +10 -0
- package/dist/schemes/QuestionTool.d.ts.map +1 -0
- package/dist/schemes/QuestionTool.js +81 -0
- package/dist/schemes/QuestionTool.js.map +1 -0
- package/dist/schemes/Skill.d.ts.map +1 -1
- package/dist/schemes/Skill.js +6 -1
- package/dist/schemes/Skill.js.map +1 -1
- package/dist/schemes/Worker.d.ts.map +1 -1
- package/dist/schemes/Worker.js +97 -34
- package/dist/schemes/Worker.js.map +1 -1
- package/dist/schemes/_entry-crud.d.ts +5 -5
- package/dist/schemes/_entry-crud.d.ts.map +1 -1
- package/dist/schemes/_entry-crud.js +22 -17
- package/dist/schemes/_entry-crud.js.map +1 -1
- package/dist/schemes/_entry-crud.sql +77 -24
- package/dist/schemes/_entry-find.d.ts +8 -5
- package/dist/schemes/_entry-find.d.ts.map +1 -1
- package/dist/schemes/_entry-find.js +121 -40
- package/dist/schemes/_entry-find.js.map +1 -1
- package/dist/schemes/_entry-find.sql +16 -11
- package/dist/schemes/_entry-graph.sql +2 -6
- package/dist/schemes/_entry-manifest.d.ts +2 -2
- package/dist/schemes/_entry-manifest.d.ts.map +1 -1
- package/dist/schemes/_entry-manifest.js +18 -6
- package/dist/schemes/_entry-manifest.js.map +1 -1
- package/dist/schemes/_entry-ops.d.ts +6 -5
- package/dist/schemes/_entry-ops.d.ts.map +1 -1
- package/dist/schemes/_entry-ops.js +39 -46
- package/dist/schemes/_entry-ops.js.map +1 -1
- package/dist/schemes/_entry-ops.sql +9 -6
- package/dist/schemes/_entry-send.d.ts +2 -2
- package/dist/schemes/_entry-send.d.ts.map +1 -1
- package/dist/schemes/_entry-send.js +16 -14
- package/dist/schemes/_entry-send.js.map +1 -1
- package/dist/schemes/_search-index.d.ts.map +1 -1
- package/dist/schemes/_search-index.js +39 -25
- package/dist/schemes/_search-index.js.map +1 -1
- package/dist/server/Daemon.d.ts +98 -15
- package/dist/server/Daemon.d.ts.map +1 -1
- package/dist/server/Daemon.js +864 -348
- package/dist/server/Daemon.js.map +1 -1
- package/dist/server/DaemonModule.d.ts +84 -19
- package/dist/server/DaemonModule.d.ts.map +1 -1
- package/dist/server/DrainSupervisor.d.ts +15 -10
- package/dist/server/DrainSupervisor.d.ts.map +1 -1
- package/dist/server/DrainSupervisor.js +70 -19
- package/dist/server/DrainSupervisor.js.map +1 -1
- package/dist/server/Functionality.d.ts +44 -0
- package/dist/server/Functionality.d.ts.map +1 -0
- package/dist/server/Functionality.js +422 -0
- package/dist/server/Functionality.js.map +1 -0
- package/dist/server/FunctionalityManager.d.ts +22 -0
- package/dist/server/FunctionalityManager.d.ts.map +1 -0
- package/dist/server/FunctionalityManager.js +121 -0
- package/dist/server/FunctionalityManager.js.map +1 -0
- package/dist/server/SkillsFunctionality.d.ts +61 -0
- package/dist/server/SkillsFunctionality.d.ts.map +1 -0
- package/dist/server/SkillsFunctionality.js +449 -0
- package/dist/server/SkillsFunctionality.js.map +1 -0
- package/dist/server/WorkerCapabilities.d.ts +21 -0
- package/dist/server/WorkerCapabilities.d.ts.map +1 -0
- package/dist/server/WorkerCapabilities.js +214 -0
- package/dist/server/WorkerCapabilities.js.map +1 -0
- package/dist/server/WorkerResidency.d.ts +40 -0
- package/dist/server/WorkerResidency.d.ts.map +1 -0
- package/dist/server/WorkerResidency.js +283 -0
- package/dist/server/WorkerResidency.js.map +1 -0
- package/dist/server/client-input.d.ts +6 -2
- package/dist/server/client-input.d.ts.map +1 -1
- package/dist/server/client-input.js +72 -32
- package/dist/server/client-input.js.map +1 -1
- package/dist/server/dispatch-as-plurnk.d.ts +2 -2
- package/dist/server/dispatch-as-plurnk.d.ts.map +1 -1
- package/dist/server/dispatch-as-plurnk.js +109 -23
- package/dist/server/dispatch-as-plurnk.js.map +1 -1
- package/dist/server/drain.sql +33 -13
- package/dist/server/envelope.d.ts +7 -2
- package/dist/server/envelope.d.ts.map +1 -1
- package/dist/server/envelope.js +12 -6
- package/dist/server/envelope.js.map +1 -1
- package/dist/server/envelope.sql +36 -4
- package/dist/server/lifecycle-recovery.sql +24 -17
- package/dist/server/logEntry.d.ts +2 -1
- package/dist/server/logEntry.d.ts.map +1 -1
- package/dist/server/logEntry.js +3 -2
- package/dist/server/logEntry.js.map +1 -1
- package/dist/server/logEntry.sql +7 -0
- package/dist/server/loop-model.d.ts +2 -2
- package/dist/server/loop-model.d.ts.map +1 -1
- package/dist/server/loop-model.js +23 -33
- package/dist/server/loop-model.js.map +1 -1
- package/dist/server/loopDocs.d.ts +2 -1
- package/dist/server/loopDocs.d.ts.map +1 -1
- package/dist/server/loopDocs.js +88 -21
- package/dist/server/loopDocs.js.map +1 -1
- package/dist/server/loopDocs.sql +14 -8
- package/dist/server/model-catalog.d.ts +3 -0
- package/dist/server/model-catalog.d.ts.map +1 -0
- package/dist/server/model-catalog.js +83 -0
- package/dist/server/model-catalog.js.map +1 -0
- package/dist/server/model-route.d.ts +7 -0
- package/dist/server/model-route.d.ts.map +1 -0
- package/dist/server/model-route.js +47 -0
- package/dist/server/model-route.js.map +1 -0
- package/dist/server/module-discovery.d.ts +13 -0
- package/dist/server/module-discovery.d.ts.map +1 -0
- package/dist/server/module-discovery.js +103 -0
- package/dist/server/module-discovery.js.map +1 -0
- package/dist/server/seam-entry-read.sql +9 -7
- package/dist/server/seam-log-read.sql +1 -1
- package/dist/server/seam-loop.sql +10 -1
- package/dist/server/seam-proposal-list.sql +4 -2
- package/dist/server/worker-capabilities.sql +19 -0
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +193 -124
- package/dist/service.js.map +1 -1
- package/migrations/001_schema.sql +905 -196
- package/package.json +40 -38
- package/dist/core/ExecutableTools.d.ts +0 -11
- package/dist/core/ExecutableTools.d.ts.map +0 -1
- package/dist/core/ExecutableTools.js +0 -49
- package/dist/core/ExecutableTools.js.map +0 -1
- package/dist/core/JournalTurn.d.ts +0 -9
- package/dist/core/JournalTurn.d.ts.map +0 -1
- package/dist/core/JournalTurn.js +0 -14
- package/dist/core/JournalTurn.js.map +0 -1
- package/dist/core/JournalTurn.sql +0 -10
- package/dist/core/git-iso.d.ts +0 -13
- package/dist/core/git-iso.d.ts.map +0 -1
- package/dist/core/git-iso.js +0 -267
- package/dist/core/git-iso.js.map +0 -1
- package/dist/core/search-gate.d.ts +0 -17
- package/dist/core/search-gate.d.ts.map +0 -1
- package/dist/core/search-gate.js +0 -77
- package/dist/core/search-gate.js.map +0 -1
- package/dist/digest/Digest.sql +0 -1
- package/dist/server/workspace-capabilities.sql +0 -19
package/dist/core/plurnk-uri.js
CHANGED
|
@@ -12,45 +12,80 @@ 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
|
-
|
|
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
|
|
27
|
-
if (path.kind === "
|
|
28
|
-
return
|
|
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
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
return
|
|
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
|
-
// {§prompt-self-only} — the prompt address is prompt:///<loopSeq>/<
|
|
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
|
|
37
75
|
// owner scoping is the query's owner_id param, never a path segment. Every
|
|
38
76
|
// prompt writer and query builds through these two helpers.
|
|
39
|
-
export function promptPathname(loopSeq,
|
|
40
|
-
return `/${loopSeq}/${
|
|
77
|
+
export function promptPathname(loopSeq, promptOrdinal) {
|
|
78
|
+
return `/${loopSeq}/${promptOrdinal}`;
|
|
41
79
|
}
|
|
42
80
|
export function promptLoopPrefix(loopSeq) {
|
|
43
81
|
return `/${loopSeq}/`;
|
|
44
82
|
}
|
|
45
|
-
export function renderAddress(
|
|
46
|
-
if (NetworkAddress.supports(scheme))
|
|
47
|
-
return NetworkAddress.render(
|
|
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
|
-
|
|
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
|
-
|
|
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":"AAAA,kFAAkF;AAClF,+EAA+E;AAC/E,yEAAyE;AAEzE,OAAO,EAAE,UAAU,EAAmB,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"plurnk-uri.js","sourceRoot":"","sources":["../../src/core/plurnk-uri.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"teaching.d.ts","sourceRoot":"","sources":["../../src/core/teaching.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"teaching.d.ts","sourceRoot":"","sources":["../../src/core/teaching.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,cAAc,QAAO,WAAW,CAAC,MAAM,CACwD,CAAC"}
|
package/dist/core/teaching.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
// {§
|
|
2
|
-
//
|
|
3
|
-
//
|
|
4
|
-
//
|
|
5
|
-
// can change it; unknown names are inert (a filter, never a contract).
|
|
1
|
+
// {§schemes-directory} — PLURNK_SERVICE_DOCS_EXCLUDE is a comma list of scheme
|
|
2
|
+
// names dropped from both the teaching oneliner and materialized pull-doc. Tool
|
|
3
|
+
// discovery follows the executor enablement policy instead of this second filter.
|
|
4
|
+
// Read per-call so a process can change it; unknown names are inert.
|
|
6
5
|
export const docsExcludeSet = () => new Set((process.env.PLURNK_SERVICE_DOCS_EXCLUDE ?? "").split(",").map((s) => s.trim()).filter(Boolean));
|
|
7
6
|
//# sourceMappingURL=teaching.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"teaching.js","sourceRoot":"","sources":["../../src/core/teaching.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,
|
|
1
|
+
{"version":3,"file":"teaching.js","sourceRoot":"","sources":["../../src/core/teaching.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,gFAAgF;AAChF,kFAAkF;AAClF,qEAAqE;AACrE,MAAM,CAAC,MAAM,cAAc,GAAG,GAAwB,EAAE,CACpD,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC"}
|
package/dist/core/worker-ops.sql
CHANGED
|
@@ -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
|
|
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,
|
|
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 (
|
|
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
|
|
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);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Db } from "./Db.ts";
|
|
2
|
+
export interface WorkerSettings {
|
|
3
|
+
readonly requestUserInput: boolean;
|
|
4
|
+
}
|
|
5
|
+
export default class WorkerSettingsReader {
|
|
6
|
+
static read(db: Db, workerId: number): Promise<WorkerSettings>;
|
|
7
|
+
static requestUserInputEnabled(db: Db, workerId: number): Promise<boolean>;
|
|
8
|
+
static toolAvailable(db: Db, workerId: number, runtime: string): Promise<boolean>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=worker-settings.d.ts.map
|
|
@@ -0,0 +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;IAKD,OAAa,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGtF;CACJ"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
const DEFAULT_SETTINGS = Object.freeze({ requestUserInput: false });
|
|
2
|
+
export default class WorkerSettingsReader {
|
|
3
|
+
static async read(db, workerId) {
|
|
4
|
+
const row = await db.worker_settings_read.get({ id: workerId });
|
|
5
|
+
if (row === undefined)
|
|
6
|
+
return DEFAULT_SETTINGS;
|
|
7
|
+
let parsed;
|
|
8
|
+
try {
|
|
9
|
+
parsed = JSON.parse(row.settings);
|
|
10
|
+
}
|
|
11
|
+
catch {
|
|
12
|
+
return DEFAULT_SETTINGS;
|
|
13
|
+
}
|
|
14
|
+
if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed))
|
|
15
|
+
return DEFAULT_SETTINGS;
|
|
16
|
+
const r = parsed;
|
|
17
|
+
return {
|
|
18
|
+
requestUserInput: r.requestUserInput === true,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
static async requestUserInputEnabled(db, workerId) {
|
|
22
|
+
return (await WorkerSettingsReader.read(db, workerId)).requestUserInput;
|
|
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
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=worker-settings.js.map
|
|
@@ -0,0 +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;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,23 +1,14 @@
|
|
|
1
1
|
import type { Db } from "./Db.ts";
|
|
2
|
-
|
|
3
|
-
alias: string;
|
|
4
|
-
content: string;
|
|
5
|
-
};
|
|
2
|
+
import { type FileCreateScope } from "./file-creation-policy.ts";
|
|
6
3
|
export type WorkspaceOpenContext = {
|
|
7
4
|
filesItems: number | null;
|
|
8
|
-
mdDocs: ClientMdDoc[];
|
|
9
5
|
maxCommands: number | null;
|
|
10
6
|
git: boolean | null;
|
|
7
|
+
fileCreateScope: FileCreateScope | null;
|
|
11
8
|
client: string | null;
|
|
12
9
|
execs: Record<string, string> | null;
|
|
13
|
-
questions: boolean | null;
|
|
14
10
|
};
|
|
15
11
|
export default class WorkspaceSettings {
|
|
16
12
|
static read(db: Db, workspaceId: number): Promise<WorkspaceOpenContext>;
|
|
17
|
-
static questionsEnabled(db: Db, workspaceId: number): Promise<boolean>;
|
|
18
|
-
static resolveDocs(clientDocs: ReadonlyArray<ClientMdDoc>): Promise<Array<{
|
|
19
|
-
entryName: string;
|
|
20
|
-
content: string;
|
|
21
|
-
}>>;
|
|
22
13
|
}
|
|
23
14
|
//# sourceMappingURL=workspace-settings.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-settings.d.ts","sourceRoot":"","sources":["../../src/core/workspace-settings.ts"],"names":[],"mappings":"
|
|
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"}
|
|
@@ -1,14 +1,8 @@
|
|
|
1
1
|
// {§operator-config} — a workspace's client-chosen open context: the per-workspace overrides a client
|
|
2
2
|
// user legitimately sets at workspace.create, read at turn-0 with precedence over env.
|
|
3
|
-
//
|
|
4
|
-
//
|
|
5
|
-
|
|
6
|
-
// - mdDocs: UNION — the server env docs (PLURNK_SERVICE_MD_*) and the client's docs ride
|
|
7
|
-
// together; the systemwide policy doc survives unless the client shadows its alias.
|
|
8
|
-
// Storage is a JSON bag on workspaces.settings (the env mdDocs live in process.env, never
|
|
9
|
-
// the DB, so the union is a TS set-merge regardless — normalizing the column buys nothing).
|
|
10
|
-
import { readFile } from "node:fs/promises";
|
|
11
|
-
import Paths from "../Paths.js";
|
|
3
|
+
// filesItems REPLACES the env value; the other knobs compose per their own tags.
|
|
4
|
+
// Storage is a JSON bag on workspaces.settings.
|
|
5
|
+
import FileCreationPolicy from "./file-creation-policy.js";
|
|
12
6
|
export default class WorkspaceSettings {
|
|
13
7
|
// The workspace's open-context bag. Absent/unset fields read as null / []. A malformed
|
|
14
8
|
// bag never reaches here — workspace.create validates before persisting.
|
|
@@ -18,46 +12,12 @@ export default class WorkspaceSettings {
|
|
|
18
12
|
const filesItems = typeof bag.filesItems === "number" ? bag.filesItems : null;
|
|
19
13
|
const maxCommands = typeof bag.maxCommands === "number" ? bag.maxCommands : null;
|
|
20
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");
|
|
21
18
|
const client = typeof bag.client === "string" ? bag.client : null;
|
|
22
19
|
const execs = (typeof bag.execs === "object" && bag.execs !== null && !Array.isArray(bag.execs)) ? bag.execs : null;
|
|
23
|
-
|
|
24
|
-
const mdDocs = Array.isArray(bag.mdDocs)
|
|
25
|
-
? bag.mdDocs.filter((d) => typeof d?.alias === "string" && typeof d?.content === "string")
|
|
26
|
-
: [];
|
|
27
|
-
return { filesItems, mdDocs, maxCommands, git, client, execs, questions };
|
|
28
|
-
}
|
|
29
|
-
// {§send-300-choices} — the three-state cascade resolved: ALLOWED servicewide (PLURNK_QUESTIONS
|
|
30
|
-
// != "0") AND affirmatively REQUESTED by the client for this workspace. One predicate, shared by
|
|
31
|
-
// the dispatch gate and the teaching injection so capability and teaching can never desync.
|
|
32
|
-
static async questionsEnabled(db, workspaceId) {
|
|
33
|
-
if (process.env.PLURNK_QUESTIONS === "0")
|
|
34
|
-
return false;
|
|
35
|
-
return (await WorkspaceSettings.read(db, workspaceId)).questions === true;
|
|
36
|
-
}
|
|
37
|
-
// The turn-0 reference-doc set: server env docs (PLURNK_SERVICE_MD_*, read from disk) UNION the
|
|
38
|
-
// workspace's client docs (content), keyed by `<alias>.md`. On alias collision the client
|
|
39
|
-
// wins before I/O — a shadowed operator path is not selected. An unshadowed configured
|
|
40
|
-
// path is required and fails causally if unreadable ({§operator-config-workspace-md-docs}).
|
|
41
|
-
// The set is the single source for BOTH materialization and the Engine turn-0 READ foist.
|
|
42
|
-
static async resolveDocs(clientDocs) {
|
|
43
|
-
const clientByEntry = new Map(clientDocs.map(({ alias, content }) => [`${alias}.md`, content]));
|
|
44
|
-
const byEntry = new Map();
|
|
45
|
-
for (const { entryName, path } of Paths.docs()) {
|
|
46
|
-
const clientContent = clientByEntry.get(entryName);
|
|
47
|
-
if (clientContent !== undefined) {
|
|
48
|
-
byEntry.set(entryName, clientContent);
|
|
49
|
-
continue;
|
|
50
|
-
}
|
|
51
|
-
try {
|
|
52
|
-
byEntry.set(entryName, await readFile(path, "utf8"));
|
|
53
|
-
}
|
|
54
|
-
catch (cause) {
|
|
55
|
-
throw new Error(`configured operator reference doc '${entryName}' could not be read`, { cause });
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
for (const [entryName, content] of clientByEntry)
|
|
59
|
-
byEntry.set(entryName, content);
|
|
60
|
-
return [...byEntry].map(([entryName, content]) => ({ entryName, content }));
|
|
20
|
+
return { filesItems, maxCommands, git, fileCreateScope, client, execs };
|
|
61
21
|
}
|
|
62
22
|
}
|
|
63
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,
|
|
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":";
|
|
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"}
|