@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
|
@@ -4,22 +4,27 @@
|
|
|
4
4
|
-- PREP: crud_find_workspace_entry
|
|
5
5
|
-- {§entry-identity-no-null} — every identity component is NOT NULL (bare/absolute paths
|
|
6
6
|
-- persist under the reserved 'file' scheme), so plain `=` is the honest comparison.
|
|
7
|
-
SELECT id, attributes
|
|
8
|
-
|
|
7
|
+
SELECT e.id, e.attributes
|
|
8
|
+
FROM entries e
|
|
9
|
+
JOIN workers owner ON owner.id = e.owner_id
|
|
10
|
+
WHERE owner.workspace_id = $workspace_id AND e.owner_id = $owner_id
|
|
11
|
+
AND e.scheme = $scheme AND e.authority = $authority AND e.pathname = $pathname;
|
|
9
12
|
|
|
10
13
|
-- PREP: crud_read_channels
|
|
11
14
|
SELECT name, content, mimetype, state, producer_result FROM entry_channels WHERE entry_id = $entry_id;
|
|
12
15
|
|
|
13
16
|
-- PREP: crud_insert_workspace_entry
|
|
14
|
-
INSERT INTO entries (
|
|
15
|
-
|
|
17
|
+
INSERT INTO entries (owner_id, scheme, authority, pathname)
|
|
18
|
+
SELECT $owner_id, $scheme, $authority, $pathname
|
|
19
|
+
FROM workers WHERE id = $owner_id AND workspace_id = $workspace_id
|
|
16
20
|
RETURNING id;
|
|
17
21
|
|
|
18
22
|
-- PREP: crud_insert_workspace_entry_with_attributes
|
|
19
23
|
-- Core-private metadata is present at identity creation, before any channel
|
|
20
24
|
-- makes the entry visible to a reader.
|
|
21
|
-
INSERT INTO entries (
|
|
22
|
-
|
|
25
|
+
INSERT INTO entries (owner_id, scheme, authority, pathname, attributes)
|
|
26
|
+
SELECT $owner_id, $scheme, $authority, $pathname, $attributes
|
|
27
|
+
FROM workers WHERE id = $owner_id AND workspace_id = $workspace_id
|
|
23
28
|
RETURNING id;
|
|
24
29
|
|
|
25
30
|
-- PREP: crud_set_entry_attributes
|
|
@@ -31,20 +36,25 @@ UPDATE entries SET attributes = $attributes WHERE id = $entry_id;
|
|
|
31
36
|
-- Idempotent bare-membership insert (SPEC {§membership} D4 — git ls-files membership).
|
|
32
37
|
-- A git-tracked file is a workspace member by virtue of being tracked; the row
|
|
33
38
|
-- is the membership marker the File read-gate checks and FIND globs by path.
|
|
34
|
-
-- Channel-less by design — disk stays the truth (D3).
|
|
35
|
-
--
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
39
|
+
-- Channel-less by design — disk stays the truth (D3). Re-resolution updates
|
|
40
|
+
-- only provenance so an explicit pick can supersede Git (including outside-root
|
|
41
|
+
-- write authority) and removing that pick can return ownership to Git.
|
|
42
|
+
INSERT INTO entries (owner_id, scheme, authority, pathname, membership_origin)
|
|
43
|
+
SELECT $owner_id, $scheme, $authority, $pathname, $membership_origin
|
|
44
|
+
FROM workers WHERE id = $owner_id AND workspace_id = $workspace_id
|
|
45
|
+
ON CONFLICT (owner_id, scheme, authority, pathname)
|
|
46
|
+
DO UPDATE SET membership_origin = excluded.membership_origin
|
|
40
47
|
RETURNING id;
|
|
41
48
|
|
|
42
49
|
-- PREP: crud_get_member_sig
|
|
43
50
|
-- SPEC {§membership-change-gated-sync} — the member's last-synced disk signature
|
|
44
51
|
-- (mtime:size), read before materializing so an unchanged file short-circuits
|
|
45
52
|
-- before any content read. File members store scheme='file' ({§entry-identity-no-null}).
|
|
46
|
-
SELECT id, synced_sig, membership_origin, attributes
|
|
47
|
-
|
|
53
|
+
SELECT e.id, e.synced_sig, e.membership_origin, e.attributes
|
|
54
|
+
FROM entries e
|
|
55
|
+
JOIN workers owner ON owner.id = e.owner_id
|
|
56
|
+
WHERE owner.workspace_id = $workspace_id AND e.owner_id = $owner_id
|
|
57
|
+
AND e.scheme = $scheme AND e.authority = $authority AND e.pathname = $pathname;
|
|
48
58
|
|
|
49
59
|
-- PREP: crud_set_synced_sig
|
|
50
60
|
-- Stamp the disk signature after a member materializes to disk truth; the next
|
|
@@ -55,7 +65,7 @@ UPDATE entries SET synced_sig = $synced_sig WHERE id = $entry_id;
|
|
|
55
65
|
-- An observed deletion keeps the Git membership marker but removes its stale
|
|
56
66
|
-- readable/derived representation. `absent` distinguishes that observed state
|
|
57
67
|
-- from a member that has never been synchronized.
|
|
58
|
-
UPDATE entries SET synced_sig = 'absent'
|
|
68
|
+
UPDATE entries SET synced_sig = 'absent' WHERE id = $entry_id;
|
|
59
69
|
|
|
60
70
|
-- PREP: crud_delete_channels
|
|
61
71
|
DELETE FROM entry_channels WHERE entry_id = $entry_id;
|
|
@@ -69,31 +79,74 @@ RETURNING name;
|
|
|
69
79
|
INSERT INTO entry_channels (entry_id, name, content, mimetype, weight, content_hash, state, producer_result)
|
|
70
80
|
VALUES ($entry_id, $name, $content, $mimetype, $weight, $content_hash, $state, $producer_result);
|
|
71
81
|
|
|
82
|
+
-- PREP: crud_attach_channel_derivation
|
|
83
|
+
-- Attach only while the channel still denotes the exact representation that
|
|
84
|
+
-- was derived. A concurrent stream append or replacement leaves it unattached
|
|
85
|
+
-- for the next maintenance pass instead of publishing stale search evidence.
|
|
86
|
+
UPDATE entry_channels
|
|
87
|
+
SET deep_hash = $deep_hash
|
|
88
|
+
WHERE entry_id = $entry_id
|
|
89
|
+
AND name = $channel
|
|
90
|
+
AND content = $content
|
|
91
|
+
AND mimetype = $mimetype
|
|
92
|
+
AND EXISTS (
|
|
93
|
+
SELECT 1
|
|
94
|
+
FROM entries e
|
|
95
|
+
WHERE e.id = entry_channels.entry_id
|
|
96
|
+
AND e.scheme = $scheme
|
|
97
|
+
AND e.authority = $authority
|
|
98
|
+
AND e.pathname = $pathname
|
|
99
|
+
);
|
|
100
|
+
|
|
72
101
|
-- PREP: crud_delete_entry
|
|
73
102
|
DELETE FROM entries WHERE id = $entry_id;
|
|
74
103
|
|
|
75
104
|
-- PREP: crud_list_reconcilable_members
|
|
76
|
-
--
|
|
105
|
+
-- Every file member is overlay-owned (membership_origin IN git, constraint).
|
|
77
106
|
-- The reconciliation set: resolveGitMembership compares this against the desired
|
|
78
107
|
-- ((git ls-files ∪ add) − ignore) and un-registers the difference, so entries ==
|
|
79
|
-
-- members.
|
|
80
|
-
SELECT id, pathname
|
|
81
|
-
|
|
108
|
+
-- members.
|
|
109
|
+
SELECT e.id, e.pathname
|
|
110
|
+
FROM entries e
|
|
111
|
+
JOIN workers owner ON owner.id = e.owner_id
|
|
112
|
+
WHERE owner.workspace_id = $workspace_id AND e.scheme = 'file' AND e.authority = ''
|
|
113
|
+
AND e.membership_origin IN ('git', 'constraint');
|
|
82
114
|
|
|
83
115
|
-- PREP: crud_insert_workspace_constraint
|
|
84
|
-
-- SPEC {§membership} constraint overlay
|
|
85
|
-
--
|
|
86
|
-
INSERT
|
|
87
|
-
VALUES ($workspace_id, $effect, $glob)
|
|
116
|
+
-- SPEC {§membership} explicit constraint overlay. Reasserting an exact generated
|
|
117
|
+
-- pick promotes it to durable explicit policy; explicit provenance never demotes.
|
|
118
|
+
INSERT INTO workspace_constraints (workspace_id, effect, glob, source)
|
|
119
|
+
VALUES ($workspace_id, $effect, $glob, 'explicit')
|
|
120
|
+
ON CONFLICT (workspace_id, effect, glob)
|
|
121
|
+
DO UPDATE SET source = 'explicit';
|
|
122
|
+
|
|
123
|
+
-- PREP: crud_insert_generated_workspace_constraint
|
|
124
|
+
-- {§fs-create-generated-pick}: automatic incorporation uses the same ordinary
|
|
125
|
+
-- constraint row. An existing explicit row wins without mutation.
|
|
126
|
+
INSERT INTO workspace_constraints (workspace_id, effect, glob, source)
|
|
127
|
+
VALUES ($workspace_id, 'pick', $glob, 'create')
|
|
128
|
+
ON CONFLICT (workspace_id, effect, glob)
|
|
129
|
+
DO NOTHING;
|
|
88
130
|
|
|
89
131
|
-- PREP: crud_list_workspace_constraints
|
|
90
|
-
SELECT effect, glob FROM workspace_constraints
|
|
132
|
+
SELECT effect, glob, source FROM workspace_constraints
|
|
133
|
+
WHERE workspace_id = $workspace_id
|
|
134
|
+
ORDER BY effect, glob;
|
|
91
135
|
|
|
92
136
|
-- PREP: crud_delete_workspace_constraint
|
|
93
137
|
-- "remove" a constraint — deleting the row, not a fourth effect.
|
|
94
138
|
DELETE FROM workspace_constraints WHERE workspace_id = $workspace_id AND effect = $effect AND glob = $glob;
|
|
95
139
|
|
|
140
|
+
-- PREP: crud_delete_generated_workspace_constraint
|
|
141
|
+
-- Automatic lifecycle may remove only its own exact pick, never explicit policy.
|
|
142
|
+
DELETE FROM workspace_constraints
|
|
143
|
+
WHERE workspace_id = $workspace_id AND effect = 'pick' AND glob = $glob AND source = 'create';
|
|
144
|
+
|
|
96
145
|
-- PREP: crud_stamp_origin
|
|
97
146
|
-- {§fs-write-surface} — the accept stamps the grantor the blind-write closure proved;
|
|
98
147
|
-- set-if-null so a reconcile-stamped row is never overwritten.
|
|
99
148
|
UPDATE entries SET membership_origin = $membership_origin WHERE id = $entry_id AND membership_origin IS NULL;
|
|
149
|
+
|
|
150
|
+
-- PREP: crud_set_origin
|
|
151
|
+
-- Accept-time incorporation may fall back from Git staging to an exact pick.
|
|
152
|
+
UPDATE entries SET membership_origin = $membership_origin WHERE id = $entry_id;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type FindStatement, type RangeExtent } from "@plurnk/plurnk-contracts";
|
|
1
|
+
import { type FindStatement, type RangeExtent, type TextRegion } from "@plurnk/plurnk-contracts";
|
|
2
2
|
import type { PlurnkSchemeContext, SchemeManifest } from "../core/scheme-types.ts";
|
|
3
3
|
import { type CatalogChannel, type CatalogDefaultChannel } from "./_entry-manifest.ts";
|
|
4
4
|
import { type SchemeResultBase } from "../core/results.ts";
|
|
@@ -19,8 +19,9 @@ export type CatalogScope = {
|
|
|
19
19
|
export type CatalogMatch = [
|
|
20
20
|
CatalogDefaultChannel & {
|
|
21
21
|
items?: never;
|
|
22
|
-
locator?:
|
|
23
|
-
region?:
|
|
22
|
+
locator?: string;
|
|
23
|
+
region?: TextRegion;
|
|
24
|
+
matchLocationCount?: number;
|
|
24
25
|
},
|
|
25
26
|
...CatalogChannel[]
|
|
26
27
|
];
|
|
@@ -52,14 +53,16 @@ export interface FindProjectionResource {
|
|
|
52
53
|
readonly match: Match;
|
|
53
54
|
}
|
|
54
55
|
interface FindAddress {
|
|
55
|
-
readonly ownerId
|
|
56
|
+
readonly ownerId: number;
|
|
57
|
+
readonly authority?: string;
|
|
56
58
|
readonly pathname?: string;
|
|
59
|
+
readonly visible?: (pathname: string) => boolean | Promise<boolean>;
|
|
57
60
|
}
|
|
58
61
|
export declare const emptyFindFields: () => FindFields;
|
|
59
62
|
export declare const projectFindResult: (statement: FindStatement, scope: PathScope, resources: readonly FindProjectionResource[], scopes?: readonly CatalogScope[]) => FindResult;
|
|
60
63
|
export default class EntryFind {
|
|
61
64
|
#private;
|
|
62
|
-
static findWorkspaceEntries(statement: FindStatement, ctx: PlurnkSchemeContext, manifest: SchemeManifest, address
|
|
65
|
+
static findWorkspaceEntries(statement: FindStatement, ctx: PlurnkSchemeContext, manifest: SchemeManifest, address: FindAddress): Promise<FindResult>;
|
|
63
66
|
}
|
|
64
67
|
export {};
|
|
65
68
|
//# sourceMappingURL=_entry-find.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_entry-find.d.ts","sourceRoot":"","sources":["../../src/schemes/_entry-find.ts"],"names":[],"mappings":"AAcA,OAAO,
|
|
1
|
+
{"version":3,"file":"_entry-find.d.ts","sourceRoot":"","sources":["../../src/schemes/_entry-find.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,19 +6,18 @@
|
|
|
6
6
|
// FIND slot semantics (contracts SPEC §4/§7):
|
|
7
7
|
// target — required scope (path or glob); selects which entries are candidates
|
|
8
8
|
// body — matcher (glob/regex/jsonpath/xpath/~semantic/@graph). A content matcher
|
|
9
|
-
// runs against the
|
|
9
|
+
// runs against the addressed channel's CONTENT (Matcher.matchAgainstContent
|
|
10
10
|
// → the mimetypes plugin) and INCLUDES/EXCLUDES the entry — e.g.
|
|
11
11
|
// log FIND over `log:///**/error` with `/timeout/i` keeps matching rows.
|
|
12
12
|
// signal — classifies the durable FIND log item; never filters resources
|
|
13
13
|
// <L> — result pagination: resource or match-location positions N..M
|
|
14
|
-
import { DEFAULT_RETRIEVAL_LIMIT, renderJsonResult } from "@plurnk/plurnk-contracts";
|
|
14
|
+
import { DEFAULT_RETRIEVAL_LIMIT, PathSyntax, renderJsonResult } from "@plurnk/plurnk-contracts";
|
|
15
15
|
import { LineMarkerOps } from "../content/index.js";
|
|
16
16
|
import Matcher from "../content/matcher.js";
|
|
17
|
-
import {
|
|
17
|
+
import { entryCoordinateOf } from "../core/plurnk-uri.js";
|
|
18
18
|
import EntryGraph from "./_entry-graph.js";
|
|
19
19
|
import EntryCrud from "./_entry-crud.js";
|
|
20
20
|
import EntryManifest from "./_entry-manifest.js";
|
|
21
|
-
import Owner from "../core/Owner.js";
|
|
22
21
|
import EntrySemantic from "./_entry-semantic.js";
|
|
23
22
|
import Results from "../core/results.js";
|
|
24
23
|
import { resolveSearchCandidates } from "./_search-candidate.js";
|
|
@@ -90,12 +89,21 @@ export const projectFindResult = (statement, scope, resources, scopes = []) => {
|
|
|
90
89
|
}
|
|
91
90
|
else {
|
|
92
91
|
const resourceItems = [
|
|
93
|
-
...resources.map(({ item, match }) =>
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
92
|
+
...resources.map(({ item, match }) => {
|
|
93
|
+
if (statement.body === null)
|
|
94
|
+
return item;
|
|
95
|
+
const locations = uniqueMatchLocations(match.matches);
|
|
96
|
+
const single = locations.length === 1 ? locations[0] : undefined;
|
|
97
|
+
return [
|
|
98
|
+
{
|
|
99
|
+
...item[0],
|
|
100
|
+
matchLocationCount: locations.length,
|
|
101
|
+
...(single?.locator === undefined ? {} : { locator: single.locator }),
|
|
102
|
+
...(single?.region === undefined ? {} : { region: single.region }),
|
|
103
|
+
},
|
|
97
104
|
...item.slice(1),
|
|
98
|
-
]
|
|
105
|
+
];
|
|
106
|
+
}),
|
|
99
107
|
...scopes.map((item) => [item]),
|
|
100
108
|
];
|
|
101
109
|
if (scopes.length > 0) {
|
|
@@ -140,19 +148,20 @@ export const projectFindResult = (statement, scope, resources, scopes = []) => {
|
|
|
140
148
|
};
|
|
141
149
|
};
|
|
142
150
|
export default class EntryFind {
|
|
143
|
-
static #
|
|
151
|
+
static #targetPath(scheme, authority, pathname, fragment) {
|
|
152
|
+
const path = EntryManifest.toPath(scheme, authority, pathname);
|
|
153
|
+
return fragment === null ? path : `${path}#${PathSyntax.escapeTarget(fragment)}`;
|
|
154
|
+
}
|
|
155
|
+
static #scopeCoordinateOf(statement, manifest) {
|
|
144
156
|
const path = statement.target;
|
|
145
157
|
if (path === null)
|
|
146
158
|
return null;
|
|
147
|
-
|
|
148
|
-
// CRUD. Both namespace authorities and network hosts are part of that
|
|
149
|
-
// identity and must survive the exact-entry lookup.
|
|
150
|
-
return entryPathnameOf(path);
|
|
159
|
+
return entryCoordinateOf(path, manifest.authority ?? "namespace");
|
|
151
160
|
}
|
|
152
161
|
// Resolve a FIND to its matched workspace resources — entry-level, unique, in result
|
|
153
162
|
// order (rank for ~semantic, candidate order otherwise). Candidate selection (scope +
|
|
154
163
|
// scope) runs in SQL (find_workspace_entry_candidates); a content matcher then runs against
|
|
155
|
-
// each candidate's
|
|
164
|
+
// each candidate's addressed-channel CONTENT (Matcher.matchAgainstContent → the mimetypes
|
|
156
165
|
// plugin) and INCLUDES/EXCLUDES the entry - 200 keeps it, 204/203 drop it, and a
|
|
157
166
|
// 4xx matcher failure ends the whole operation. Path-scoping stays in the (target). Match
|
|
158
167
|
// locations remain grouped by resource internally until the target-shaped public projection.
|
|
@@ -168,10 +177,53 @@ export default class EntryFind {
|
|
|
168
177
|
},
|
|
169
178
|
};
|
|
170
179
|
}
|
|
180
|
+
const fragment = statement.target.kind === "url" ? statement.target.fragment : null;
|
|
181
|
+
const channel = fragment ?? manifest.defaultChannel;
|
|
182
|
+
const availableChannels = [...new Set([
|
|
183
|
+
manifest.defaultChannel,
|
|
184
|
+
...Object.keys(manifest.channels),
|
|
185
|
+
])].filter((candidate) => candidate.length > 0);
|
|
186
|
+
if (channel.length === 0) {
|
|
187
|
+
return {
|
|
188
|
+
status: 400,
|
|
189
|
+
matches: [],
|
|
190
|
+
code: "channel-required",
|
|
191
|
+
error: `The '${manifest.name}' scheme has no default channel.`,
|
|
192
|
+
extensions: {
|
|
193
|
+
scheme: manifest.name,
|
|
194
|
+
recovery: "Address a named channel with a URI fragment.",
|
|
195
|
+
retryable: false,
|
|
196
|
+
},
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
if (fragment !== null
|
|
200
|
+
&& fragment !== manifest.defaultChannel
|
|
201
|
+
&& !Object.hasOwn(manifest.channels, fragment)) {
|
|
202
|
+
return {
|
|
203
|
+
status: 400,
|
|
204
|
+
matches: [],
|
|
205
|
+
code: "channel-not-found",
|
|
206
|
+
error: `Channel #${fragment} is not declared by the '${manifest.name}' scheme.`,
|
|
207
|
+
extensions: {
|
|
208
|
+
requestedChannel: fragment,
|
|
209
|
+
availableChannels,
|
|
210
|
+
...(availableChannels.length === 0
|
|
211
|
+
? {}
|
|
212
|
+
: {
|
|
213
|
+
recovery: `Use one of the available channels: ${availableChannels
|
|
214
|
+
.map((candidate) => `#${candidate}`)
|
|
215
|
+
.join(", ")}.`,
|
|
216
|
+
}),
|
|
217
|
+
retryable: false,
|
|
218
|
+
},
|
|
219
|
+
};
|
|
220
|
+
}
|
|
171
221
|
// Scope by the manifest's persisted entries.scheme (storedScheme; absent →
|
|
172
222
|
// name). File persists under the reserved 'file' scheme ({§entry-identity-no-null}).
|
|
173
223
|
const scheme = EntryCrud.identityScheme(manifest);
|
|
174
|
-
const
|
|
224
|
+
const authoredCoordinate = EntryFind.#scopeCoordinateOf(statement, manifest);
|
|
225
|
+
const authority = address.authority ?? authoredCoordinate?.authority ?? "";
|
|
226
|
+
const scopePathname = address.pathname ?? authoredCoordinate?.pathname ?? null;
|
|
175
227
|
const scope = scopePathname === null
|
|
176
228
|
? null
|
|
177
229
|
: pathScope(scopePathname, manifest.folderScopes === true);
|
|
@@ -180,15 +232,17 @@ export default class EntryFind {
|
|
|
180
232
|
if (scope?.kind === "exact" && scope.pathname.length > 0) {
|
|
181
233
|
const exact = await ctx.db.crud_find_workspace_entry.get({
|
|
182
234
|
workspace_id: ctx.workspaceId,
|
|
183
|
-
owner_id: address.ownerId
|
|
184
|
-
scheme, pathname: scope.pathname,
|
|
235
|
+
owner_id: address.ownerId,
|
|
236
|
+
scheme, authority, pathname: scope.pathname,
|
|
185
237
|
});
|
|
186
238
|
if (exact === undefined) {
|
|
239
|
+
const target = EntryFind.#targetPath(scheme, authority, scope.pathname, fragment);
|
|
187
240
|
return {
|
|
188
241
|
status: 404,
|
|
189
242
|
matches: [],
|
|
190
|
-
|
|
191
|
-
|
|
243
|
+
code: "entry-not-found",
|
|
244
|
+
error: `No entry exists at ${target}.`,
|
|
245
|
+
extensions: { target },
|
|
192
246
|
};
|
|
193
247
|
}
|
|
194
248
|
}
|
|
@@ -200,9 +254,10 @@ export default class EntryFind {
|
|
|
200
254
|
const semantic = statement.body?.dialect === "semantic";
|
|
201
255
|
let candidates = await db[semantic ? "find_workspace_entry_candidate_ids" : "find_workspace_entry_candidates"].all({
|
|
202
256
|
workspace_id: workspaceId,
|
|
203
|
-
owner_id: address.ownerId
|
|
257
|
+
owner_id: address.ownerId,
|
|
204
258
|
scheme,
|
|
205
|
-
|
|
259
|
+
authority,
|
|
260
|
+
channel,
|
|
206
261
|
scope_prefix: scope?.candidatePrefix ?? null,
|
|
207
262
|
});
|
|
208
263
|
const candidatePathnames = statement.body === null && scope?.kind === "glob" && scope.shallowPrefix !== null
|
|
@@ -225,6 +280,22 @@ export default class EntryFind {
|
|
|
225
280
|
};
|
|
226
281
|
}
|
|
227
282
|
}
|
|
283
|
+
if (address.visible !== undefined) {
|
|
284
|
+
candidates = (await Promise.all(candidates.map(async (candidate) => ({
|
|
285
|
+
candidate,
|
|
286
|
+
visible: await address.visible(candidate.pathname),
|
|
287
|
+
})))).filter(({ visible }) => visible).map(({ candidate }) => candidate);
|
|
288
|
+
}
|
|
289
|
+
if (scope?.kind === "exact" && candidates.length === 0) {
|
|
290
|
+
const target = EntryFind.#targetPath(scheme, authority, scope.pathname, fragment);
|
|
291
|
+
return {
|
|
292
|
+
status: 404,
|
|
293
|
+
matches: [],
|
|
294
|
+
code: "entry-not-found",
|
|
295
|
+
error: `No entry exists at ${target}.`,
|
|
296
|
+
extensions: { target },
|
|
297
|
+
};
|
|
298
|
+
}
|
|
228
299
|
// Every dialect resolves to one selection per resource. Content
|
|
229
300
|
// dialects already carry honest match evidence; relation dialects map
|
|
230
301
|
// their indexed source spans into readable TextRegions below.
|
|
@@ -280,7 +351,7 @@ export default class EntryFind {
|
|
|
280
351
|
matches = await EntryFind.#addTextRegions(ranked.results.map((x) => ({
|
|
281
352
|
key: x.key,
|
|
282
353
|
span: { lineStart: x.lineStart, lineEnd: x.lineEnd },
|
|
283
|
-
})), ctx, manifest, address.ownerId);
|
|
354
|
+
})), ctx, manifest, channel, authority, address.ownerId);
|
|
284
355
|
}
|
|
285
356
|
else if (statement.body === null) {
|
|
286
357
|
matches = candidates.map((c) => ({ pathname: c.pathname, matches: [] }));
|
|
@@ -335,7 +406,7 @@ export default class EntryFind {
|
|
|
335
406
|
matches = await EntryFind.#addTextRegions(graph.matches.map((m) => ({
|
|
336
407
|
key: m.key,
|
|
337
408
|
span: { lineStart: m.lineStart, lineEnd: m.lineEnd },
|
|
338
|
-
})), ctx, manifest, address.ownerId);
|
|
409
|
+
})), ctx, manifest, channel, authority, address.ownerId);
|
|
339
410
|
}
|
|
340
411
|
else {
|
|
341
412
|
const { mimetypes } = ctx;
|
|
@@ -354,36 +425,42 @@ export default class EntryFind {
|
|
|
354
425
|
matches: [],
|
|
355
426
|
problem: r.problem,
|
|
356
427
|
};
|
|
357
|
-
matches = r.matches.map((match) => ({
|
|
428
|
+
matches = r.matches.map((match) => ({
|
|
429
|
+
pathname: match.key,
|
|
430
|
+
matches: match.matches.map((evidence) => ({ channel, ...evidence })),
|
|
431
|
+
}));
|
|
358
432
|
}
|
|
359
|
-
return { status: 200, matches, ...(scope === null ? {} : { scope }), ...(candidatePathnames === undefined ? {} : { candidatePathnames }) };
|
|
433
|
+
return { status: 200, matches, channel, ...(scope === null ? {} : { scope }), ...(candidatePathnames === undefined ? {} : { candidatePathnames }) };
|
|
360
434
|
}
|
|
361
|
-
static async #addTextRegions(matches, ctx, manifest,
|
|
435
|
+
static async #addTextRegions(matches, ctx, manifest, channel, authority, ownerId) {
|
|
362
436
|
if (matches.every(({ span }) => span === null)) {
|
|
363
437
|
return [...new Set(matches.map(({ key }) => key))].map((pathname) => ({ pathname, matches: [] }));
|
|
364
438
|
}
|
|
365
439
|
const scheme = EntryCrud.identityScheme(manifest);
|
|
366
|
-
const ownerId = explicitOwnerId ?? await Owner.commonsId(ctx.db, ctx.workspaceId);
|
|
367
440
|
const candidates = [];
|
|
368
441
|
for (const pathname of new Set(matches.filter(({ span }) => span !== null).map(({ key }) => key))) {
|
|
369
442
|
const row = await ctx.db.ops_read_channel.get({
|
|
370
443
|
workspace_id: ctx.workspaceId,
|
|
371
444
|
owner_id: ownerId,
|
|
372
445
|
scheme,
|
|
446
|
+
authority,
|
|
373
447
|
pathname,
|
|
374
|
-
channel
|
|
448
|
+
channel,
|
|
375
449
|
});
|
|
376
450
|
if (row === undefined)
|
|
377
|
-
throw new Error(`EntryFind.#addTextRegions: matched entry ${pathname} has no
|
|
451
|
+
throw new Error(`EntryFind.#addTextRegions: matched entry ${pathname} has no selected channel ${channel}`);
|
|
378
452
|
candidates.push({ key: pathname, ...row });
|
|
379
453
|
}
|
|
380
454
|
const resolved = Matcher.addTextRegions(matches, candidates);
|
|
381
|
-
|
|
455
|
+
// {§find-result-projection} — every addressable finding names the channel
|
|
456
|
+
// it was located in, so line coordinates cannot be mis-attributed across
|
|
457
|
+
// channels of the same resource.
|
|
458
|
+
return resolved.map(({ key, matches: ranges }) => ({ pathname: key, matches: ranges.map((range) => ({ channel, ...range })) }));
|
|
382
459
|
}
|
|
383
460
|
// FIND result = the scheme's default-first channel groups, filtered to the matched
|
|
384
461
|
// entries and kept in match order. FIND is the filtered, navigable slice of that
|
|
385
462
|
// catalog, rendered as a JSON array (application/json). {§find-result-projection}
|
|
386
|
-
static async findWorkspaceEntries(statement, ctx, manifest, address
|
|
463
|
+
static async findWorkspaceEntries(statement, ctx, manifest, address) {
|
|
387
464
|
const match = await EntryFind.#matchPathnames(statement, ctx, manifest, address);
|
|
388
465
|
const empty = emptyFindFields();
|
|
389
466
|
if (match.status !== 200) {
|
|
@@ -397,18 +474,20 @@ export default class EntryFind {
|
|
|
397
474
|
if (match.error === undefined) {
|
|
398
475
|
throw new Error(`EntryFind selection failed with status ${match.status} without Problem Details or a diagnostic.`);
|
|
399
476
|
}
|
|
400
|
-
return Results.failure(`scheme:${manifest.name}`, match.status === 404 ? "entry-not-found" : match.status === 416 ? "range-not-satisfiable" : "find-failed", match.status, match.error, empty, match.extensions);
|
|
477
|
+
return Results.failure(`scheme:${manifest.name}`, match.code ?? (match.status === 404 ? "entry-not-found" : match.status === 416 ? "range-not-satisfiable" : "find-failed"), match.status, match.error, empty, match.extensions);
|
|
401
478
|
}
|
|
402
479
|
const scheme = EntryCrud.identityScheme(manifest);
|
|
480
|
+
const authoredCoordinate = EntryFind.#scopeCoordinateOf(statement, manifest);
|
|
481
|
+
const authority = address.authority ?? authoredCoordinate?.authority ?? "";
|
|
403
482
|
// The catalog group's default channel carries its bare addressable path;
|
|
404
483
|
// align each selected resource through the same EntryManifest.toPath the catalog
|
|
405
484
|
// uses. Resource order is preserved (rank for ~semantic).
|
|
406
485
|
// {§entry-owner} — the alignment draws from the SAME owner the candidates matched, so a
|
|
407
486
|
// match never pairs with a coordinate-twin sibling's catalog metadata.
|
|
408
|
-
const byPath = new Map((await EntryManifest.catalogRowsFor(ctx, scheme, address.ownerId
|
|
487
|
+
const byPath = new Map((await EntryManifest.catalogRowsFor(ctx, scheme, address.ownerId, authority)).map((r) => [r[0].path, r]));
|
|
409
488
|
const resources = [];
|
|
410
489
|
for (const m of match.matches) {
|
|
411
|
-
const row = byPath.get(EntryManifest.toPath(scheme, m.pathname));
|
|
490
|
+
const row = byPath.get(EntryManifest.toPath(scheme, authority, m.pathname));
|
|
412
491
|
if (row === undefined)
|
|
413
492
|
continue;
|
|
414
493
|
resources.push({ item: row, match: m });
|
|
@@ -423,14 +502,14 @@ export default class EntryFind {
|
|
|
423
502
|
let weight = 0;
|
|
424
503
|
let items = 0;
|
|
425
504
|
for (const pathname of folder.pathnames) {
|
|
426
|
-
const row = byPath.get(EntryManifest.toPath(scheme, pathname));
|
|
505
|
+
const row = byPath.get(EntryManifest.toPath(scheme, authority, pathname));
|
|
427
506
|
if (row === undefined)
|
|
428
507
|
continue;
|
|
429
508
|
items++;
|
|
430
509
|
weight += row.reduce((sum, channel) => sum + channel.weight, 0);
|
|
431
510
|
}
|
|
432
511
|
if (items > 0) {
|
|
433
|
-
scopes.push({ path: EntryManifest.toPath(scheme, folder.selector), items, weight });
|
|
512
|
+
scopes.push({ path: EntryManifest.toPath(scheme, authority, folder.selector), items, weight });
|
|
434
513
|
}
|
|
435
514
|
}
|
|
436
515
|
}
|
|
@@ -440,13 +519,15 @@ export default class EntryFind {
|
|
|
440
519
|
if (address.pathname === undefined)
|
|
441
520
|
return projected;
|
|
442
521
|
// Exact FIND consumes the same selected canonical producer as exact
|
|
443
|
-
// READ. Query projection remains core-owned, while the durable
|
|
522
|
+
// READ. Query projection remains core-owned, while the durable selected-
|
|
444
523
|
// channel outcome survives cold and warm acquisition identically.
|
|
445
|
-
const stored = await EntryCrud.readEntry(address.pathname, ctx, scheme, address.ownerId);
|
|
524
|
+
const stored = await EntryCrud.readEntry({ authority, pathname: address.pathname }, ctx, scheme, address.ownerId);
|
|
446
525
|
if (stored.status !== 200 || stored.entry === null) {
|
|
447
526
|
throw new Error(`EntryFind projected exact entry ${address.pathname} but could not read its canonical representation.`);
|
|
448
527
|
}
|
|
449
|
-
|
|
528
|
+
if (match.channel === undefined)
|
|
529
|
+
throw new Error("FIND selection succeeded without a selected channel");
|
|
530
|
+
const producerResult = stored.entry.channels[match.channel]?.producerResult;
|
|
450
531
|
return producerResult === undefined
|
|
451
532
|
? projected
|
|
452
533
|
: Results.assert({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_entry-find.js","sourceRoot":"","sources":["../../src/schemes/_entry-find.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"_entry-find.js","sourceRoot":"","sources":["../../src/schemes/_entry-find.ts"],"names":[],"mappings":"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"}
|