@plurnk/plurnk-service 1.3.12 → 1.5.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 +95 -91
- package/INSTALL.md +54 -28
- package/README.md +25 -10
- package/SPEC.md +2426 -942
- package/dist/Paths.d.ts +4 -1
- package/dist/Paths.d.ts.map +1 -1
- package/dist/Paths.js +24 -23
- 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 +4 -3
- package/dist/content/index.d.ts.map +1 -1
- package/dist/content/index.js +2 -1
- package/dist/content/index.js.map +1 -1
- package/dist/content/line-marker.d.ts +10 -9
- package/dist/content/line-marker.d.ts.map +1 -1
- package/dist/content/line-marker.js +8 -11
- package/dist/content/line-marker.js.map +1 -1
- package/dist/content/matcher.d.ts +15 -26
- 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-projector.d.ts +14 -0
- package/dist/content/read-projector.d.ts.map +1 -0
- package/dist/content/read-projector.js +86 -0
- package/dist/content/read-projector.js.map +1 -0
- package/dist/content/read-resolve.d.ts +6 -7
- package/dist/content/read-resolve.d.ts.map +1 -1
- package/dist/content/read-resolve.js +36 -59
- package/dist/content/read-resolve.js.map +1 -1
- package/dist/core/BranchReceipt.d.ts +6 -0
- package/dist/core/BranchReceipt.d.ts.map +1 -0
- package/dist/core/BranchReceipt.js +24 -0
- package/dist/core/BranchReceipt.js.map +1 -0
- package/dist/core/BudgetOverflow.d.ts +20 -0
- package/dist/core/BudgetOverflow.d.ts.map +1 -0
- package/dist/core/BudgetOverflow.js +49 -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 +31 -9
- package/dist/core/ChannelWrite.d.ts.map +1 -1
- package/dist/core/ChannelWrite.js +30 -23
- package/dist/core/ChannelWrite.js.map +1 -1
- package/dist/core/ChannelWrite.sql +14 -12
- package/dist/core/CoreSchemeServices.d.ts +18 -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 +26 -21
- package/dist/core/Dispatcher.d.ts.map +1 -1
- package/dist/core/Dispatcher.js +1626 -671
- 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 +64 -29
- package/dist/core/Engine.d.ts.map +1 -1
- package/dist/core/Engine.js +1348 -835
- package/dist/core/Engine.js.map +1 -1
- package/dist/core/Engine.sql +329 -234
- 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 +18 -0
- package/dist/core/LogBody.d.ts.map +1 -0
- package/dist/core/LogBody.js +180 -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 -2
- package/dist/core/LoopLifecycle.d.ts.map +1 -1
- package/dist/core/LoopLifecycle.js +54 -11
- package/dist/core/LoopLifecycle.js.map +1 -1
- package/dist/core/LoopLifecycle.sql +10 -7
- 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 +27 -25
- package/dist/core/PacketBuilder.d.ts.map +1 -1
- package/dist/core/PacketBuilder.js +321 -383
- 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 +6 -3
- package/dist/core/StrikeRail.d.ts.map +1 -1
- package/dist/core/StrikeRail.js +27 -56
- package/dist/core/StrikeRail.js.map +1 -1
- package/dist/core/TerminalResult.d.ts +16 -0
- package/dist/core/TerminalResult.d.ts.map +1 -0
- package/dist/core/TerminalResult.js +49 -0
- package/dist/core/TerminalResult.js.map +1 -0
- 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 +5 -1
- package/dist/core/caps/CapsResolve.d.ts.map +1 -1
- package/dist/core/caps/CapsResolve.js +8 -4
- 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 +30 -12
- package/dist/core/caps/DbChannelCaps.js.map +1 -1
- package/dist/core/caps/DbEntryCaps.d.ts +5 -14
- package/dist/core/caps/DbEntryCaps.d.ts.map +1 -1
- package/dist/core/caps/DbEntryCaps.js +27 -8
- 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 +18 -15
- 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 -6
- package/dist/core/caps/DbSubscriptionCaps.d.ts.map +1 -1
- package/dist/core/caps/DbSubscriptionCaps.js +75 -66
- 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 +20 -11
- package/dist/core/caps/DbTagCaps.js.map +1 -1
- package/dist/core/caps/SchemeCtxImpl.d.ts +6 -1
- package/dist/core/caps/SchemeCtxImpl.d.ts.map +1 -1
- package/dist/core/caps/SchemeCtxImpl.js +6 -6
- package/dist/core/caps/SchemeCtxImpl.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 +43 -29
- 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 +3 -2
- package/dist/core/git-iso.d.ts.map +1 -1
- package/dist/core/git-iso.js +36 -27
- package/dist/core/git-iso.js.map +1 -1
- package/dist/core/git-membership.d.ts +2 -1
- package/dist/core/git-membership.d.ts.map +1 -1
- package/dist/core/git-membership.js +276 -162
- package/dist/core/git-membership.js.map +1 -1
- package/dist/core/git-state.d.ts +8 -1
- package/dist/core/git-state.d.ts.map +1 -1
- package/dist/core/git-state.js +44 -26
- package/dist/core/git-state.js.map +1 -1
- package/dist/core/namespace.d.ts +1 -0
- package/dist/core/namespace.d.ts.map +1 -1
- package/dist/core/namespace.js +20 -0
- package/dist/core/namespace.js.map +1 -1
- package/dist/core/optimistic-settlement.d.ts +2 -0
- package/dist/core/optimistic-settlement.d.ts.map +1 -0
- package/dist/core/optimistic-settlement.js +14 -0
- package/dist/core/optimistic-settlement.js.map +1 -0
- 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 +3 -21
- package/dist/core/packet-wire.d.ts.map +1 -1
- package/dist/core/packet-wire.js +305 -385
- 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 +18 -5
- package/dist/core/results.d.ts.map +1 -1
- package/dist/core/results.js +33 -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 +3 -17
- 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} +14 -14
- 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 +510 -149
- package/dist/digest/Digest.js.map +1 -1
- package/dist/digest/digest.sql +23 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -5
- package/dist/index.js.map +1 -1
- 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 +9 -14
- package/dist/schemes/Exec.d.ts.map +1 -1
- package/dist/schemes/Exec.js +402 -262
- package/dist/schemes/Exec.js.map +1 -1
- package/dist/schemes/ExecOutputScheme.d.ts +9 -9
- package/dist/schemes/ExecOutputScheme.d.ts.map +1 -1
- package/dist/schemes/ExecOutputScheme.js +49 -18
- package/dist/schemes/ExecOutputScheme.js.map +1 -1
- package/dist/schemes/File.d.ts +7 -13
- package/dist/schemes/File.d.ts.map +1 -1
- package/dist/schemes/File.js +280 -151
- package/dist/schemes/File.js.map +1 -1
- package/dist/schemes/Log.d.ts +8 -12
- package/dist/schemes/Log.d.ts.map +1 -1
- package/dist/schemes/Log.js +402 -233
- package/dist/schemes/Log.js.map +1 -1
- package/dist/schemes/Log.sql +71 -32
- package/dist/schemes/Prompt.d.ts +3 -3
- package/dist/schemes/Prompt.d.ts.map +1 -1
- package/dist/schemes/Prompt.js +10 -10
- package/dist/schemes/Prompt.js.map +1 -1
- package/dist/schemes/Skill.d.ts +2 -3
- package/dist/schemes/Skill.d.ts.map +1 -1
- package/dist/schemes/Skill.js +2 -6
- package/dist/schemes/Skill.js.map +1 -1
- package/dist/schemes/Worker.d.ts +11 -19
- package/dist/schemes/Worker.d.ts.map +1 -1
- package/dist/schemes/Worker.js +210 -89
- 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 +11 -9
- package/dist/schemes/_entry-crud.d.ts.map +1 -1
- package/dist/schemes/_entry-crud.js +72 -13
- package/dist/schemes/_entry-crud.js.map +1 -1
- package/dist/schemes/_entry-crud.sql +28 -10
- package/dist/schemes/_entry-find.d.ts +49 -18
- package/dist/schemes/_entry-find.d.ts.map +1 -1
- package/dist/schemes/_entry-find.js +348 -195
- 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 +14 -15
- package/dist/schemes/_entry-ops.d.ts.map +1 -1
- package/dist/schemes/_entry-ops.js +121 -110
- package/dist/schemes/_entry-ops.js.map +1 -1
- package/dist/schemes/_entry-ops.sql +2 -3
- package/dist/schemes/_entry-semantic.d.ts +22 -9
- package/dist/schemes/_entry-semantic.d.ts.map +1 -1
- package/dist/schemes/_entry-semantic.js +127 -67
- 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 +328 -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 +49 -0
- package/dist/server/BranchBatches.d.ts.map +1 -0
- package/dist/server/BranchBatches.js +592 -0
- package/dist/server/BranchBatches.js.map +1 -0
- package/dist/server/Daemon.d.ts +39 -71
- package/dist/server/Daemon.d.ts.map +1 -1
- package/dist/server/Daemon.js +1133 -491
- 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 +154 -0
- package/dist/server/client-input.d.ts +13 -0
- package/dist/server/client-input.d.ts.map +1 -1
- package/dist/server/client-input.js +268 -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 +96 -65
- package/dist/server/envelope.d.ts +4 -7
- package/dist/server/envelope.d.ts.map +1 -1
- package/dist/server/envelope.js +118 -95
- package/dist/server/envelope.js.map +1 -1
- package/dist/server/envelope.sql +18 -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 +112 -2
- package/dist/server/logEntry.d.ts +4 -2
- package/dist/server/logEntry.d.ts.map +1 -1
- package/dist/server/logEntry.js +6 -3
- 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 +79 -61
- package/dist/service.js.map +1 -1
- package/migrations/001_schema.sql +1010 -0
- package/package.json +65 -32
- 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
|
@@ -1,26 +1,36 @@
|
|
|
1
|
-
// Shared CRUD primitives for entry-bearing schemes
|
|
2
|
-
// Per SPEC §crud — uniform read/write/delete that the engine drives for
|
|
1
|
+
// Shared CRUD primitives for entry-bearing schemes.
|
|
2
|
+
// Per SPEC {§crud} — uniform read/write/delete that the engine drives for
|
|
3
3
|
// cross-scheme orchestration of COPY/MOVE/SEND[410].
|
|
4
4
|
import { contentHash } from "../core/content-hash.js";
|
|
5
5
|
import Owner from "../core/Owner.js";
|
|
6
|
+
import { renderAddress } from "../core/plurnk-uri.js";
|
|
7
|
+
import Results from "../core/results.js";
|
|
6
8
|
export default class EntryCrud {
|
|
7
|
-
// {§entry-identity-no-null} — the identity scheme a manifest
|
|
8
|
-
// null is ILLEGAL: a NULL identity component voids the entries UNIQUE index (run59/#545).
|
|
9
|
+
// {§entry-identity-no-null} — the non-null identity scheme persisted by a manifest.
|
|
9
10
|
static identityScheme(manifest) {
|
|
10
|
-
if (manifest.storedScheme === null)
|
|
11
|
-
throw new Error(manifest.name + ": storedScheme null is illegal — a NULL identity component voids the entries identity index ({§entry-identity-no-null})");
|
|
12
11
|
return manifest.storedScheme ?? manifest.name;
|
|
13
12
|
}
|
|
14
13
|
static async readEntry(pathname, ctx, scheme, ownerId) {
|
|
15
14
|
const { db, workspaceId } = ctx;
|
|
16
15
|
const owner_id = ownerId ?? await Owner.commonsId(db, workspaceId);
|
|
17
16
|
const entry = await db.crud_find_workspace_entry.get({ workspace_id: workspaceId, owner_id, scheme, pathname });
|
|
18
|
-
if (entry === undefined)
|
|
19
|
-
|
|
17
|
+
if (entry === undefined) {
|
|
18
|
+
const target = renderAddress(scheme, pathname);
|
|
19
|
+
return Results.failure(`scheme:${scheme}`, "entry-not-found", 404, `No entry exists at ${target}.`, { entry: null }, { target });
|
|
20
|
+
}
|
|
20
21
|
const channelRows = await db.crud_read_channels.all({ entry_id: entry.id });
|
|
21
22
|
const channels = {};
|
|
22
23
|
for (const row of channelRows) {
|
|
23
|
-
channels[row.name] = {
|
|
24
|
+
channels[row.name] = {
|
|
25
|
+
content: row.content,
|
|
26
|
+
mimetype: row.mimetype,
|
|
27
|
+
state: row.state,
|
|
28
|
+
...(row.producer_result === null
|
|
29
|
+
? {}
|
|
30
|
+
: {
|
|
31
|
+
producerResult: Results.assertChannelProducerResult(JSON.parse(row.producer_result)),
|
|
32
|
+
}),
|
|
33
|
+
};
|
|
24
34
|
}
|
|
25
35
|
const tagRows = await db.crud_read_tags.all({ entry_id: entry.id });
|
|
26
36
|
const tags = tagRows.map((r) => r.tag);
|
|
@@ -35,7 +45,15 @@ export default class EntryCrud {
|
|
|
35
45
|
let entryId;
|
|
36
46
|
let created;
|
|
37
47
|
if (existing === undefined) {
|
|
38
|
-
const row =
|
|
48
|
+
const row = entry.attributes === undefined
|
|
49
|
+
? await db.crud_insert_workspace_entry.get({ workspace_id: workspaceId, owner_id, scheme, pathname })
|
|
50
|
+
: await db.crud_insert_workspace_entry_with_attributes.get({
|
|
51
|
+
workspace_id: workspaceId,
|
|
52
|
+
owner_id,
|
|
53
|
+
scheme,
|
|
54
|
+
pathname,
|
|
55
|
+
attributes: JSON.stringify(entry.attributes),
|
|
56
|
+
});
|
|
39
57
|
if (row === undefined)
|
|
40
58
|
throw new Error("writeEntry: insert returned no row");
|
|
41
59
|
entryId = row.id;
|
|
@@ -44,6 +62,12 @@ export default class EntryCrud {
|
|
|
44
62
|
else {
|
|
45
63
|
entryId = existing.id;
|
|
46
64
|
created = false;
|
|
65
|
+
if (entry.attributes !== undefined) {
|
|
66
|
+
await db.crud_set_entry_attributes.run({
|
|
67
|
+
entry_id: entryId,
|
|
68
|
+
attributes: JSON.stringify(entry.attributes),
|
|
69
|
+
});
|
|
70
|
+
}
|
|
47
71
|
await db.crud_delete_channels.run({ entry_id: entryId });
|
|
48
72
|
await db.crud_delete_tags.run({ entry_id: entryId });
|
|
49
73
|
}
|
|
@@ -52,11 +76,15 @@ export default class EntryCrud {
|
|
|
52
76
|
// (the exec sink), NOT here: an authored/workspace html file is DATA whose attributes are the
|
|
53
77
|
// payload (a `<user email=…>` roster), and a reader-view projection would strip it.
|
|
54
78
|
for (const [channelName, channelData] of Object.entries(entry.channels)) {
|
|
79
|
+
const producerResult = channelData.producerResult === undefined
|
|
80
|
+
? null
|
|
81
|
+
: JSON.stringify(Results.assertChannelProducerResult(channelData.producerResult));
|
|
55
82
|
await db.crud_write_channel.run({
|
|
56
83
|
entry_id: entryId, name: channelName, content: channelData.content, mimetype: channelData.mimetype,
|
|
57
|
-
tokens: tokenize(channelData.content), // the model-agnostic ruler stamp (§tokenomics-agnostic-ruler, §tokenomics-tokens-stored-at-write)
|
|
84
|
+
tokens: tokenize(channelData.content), // the model-agnostic ruler stamp ({§tokenomics-agnostic-ruler}, {§tokenomics-tokens-stored-at-write})
|
|
58
85
|
content_hash: contentHash(channelData.content),
|
|
59
86
|
state: channelData.state ?? "static",
|
|
87
|
+
producer_result: producerResult,
|
|
60
88
|
});
|
|
61
89
|
}
|
|
62
90
|
for (const tag of entry.tags) {
|
|
@@ -68,11 +96,42 @@ export default class EntryCrud {
|
|
|
68
96
|
const { db, workspaceId } = ctx;
|
|
69
97
|
const owner_id = ownerId ?? await Owner.commonsId(db, workspaceId);
|
|
70
98
|
const existing = await db.crud_find_workspace_entry.get({ workspace_id: workspaceId, owner_id, scheme, pathname });
|
|
71
|
-
if (existing === undefined)
|
|
72
|
-
|
|
99
|
+
if (existing === undefined) {
|
|
100
|
+
const target = renderAddress(scheme, pathname);
|
|
101
|
+
return Results.failure(`scheme:${scheme}`, "entry-not-found", 404, `No entry exists at ${target}.`, {}, { target });
|
|
102
|
+
}
|
|
73
103
|
await db.crud_delete_entry.run({ entry_id: existing.id });
|
|
74
104
|
// CASCADE on entry_channels, entry_tags per FK constraints.
|
|
75
105
|
return { status: 200 };
|
|
76
106
|
}
|
|
107
|
+
static async deleteChannel(pathname, channel, ctx, scheme, ownerId) {
|
|
108
|
+
const { db, workspaceId } = ctx;
|
|
109
|
+
const owner_id = ownerId ?? await Owner.commonsId(db, workspaceId);
|
|
110
|
+
const existing = await db.crud_find_workspace_entry.get({
|
|
111
|
+
workspace_id: workspaceId,
|
|
112
|
+
owner_id,
|
|
113
|
+
scheme,
|
|
114
|
+
pathname,
|
|
115
|
+
});
|
|
116
|
+
if (existing === undefined) {
|
|
117
|
+
const target = renderAddress(scheme, pathname);
|
|
118
|
+
return Results.failure(`scheme:${scheme}`, "entry-not-found", 404, `No entry exists at ${target}.`, {}, { target });
|
|
119
|
+
}
|
|
120
|
+
const deleted = await db.crud_delete_channel.get({
|
|
121
|
+
entry_id: existing.id,
|
|
122
|
+
name: channel,
|
|
123
|
+
});
|
|
124
|
+
if (deleted === undefined) {
|
|
125
|
+
const target = renderAddress(scheme, pathname);
|
|
126
|
+
return Results.failure(`scheme:${scheme}`, "channel-not-found", 404, `No channel named #${channel} exists at ${target}.`, {}, {
|
|
127
|
+
target,
|
|
128
|
+
channel,
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
const remaining = await db.crud_read_channels.all({ entry_id: existing.id });
|
|
132
|
+
if (remaining.length === 0)
|
|
133
|
+
await db.crud_delete_entry.run({ entry_id: existing.id });
|
|
134
|
+
return { status: 200 };
|
|
135
|
+
}
|
|
77
136
|
}
|
|
78
137
|
//# sourceMappingURL=_entry-crud.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_entry-crud.js","sourceRoot":"","sources":["../../src/schemes/_entry-crud.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"_entry-crud.js","sourceRoot":"","sources":["../../src/schemes/_entry-crud.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
-- Entry CRUD primitives (SPEC §crud). Used by entry-bearing schemes
|
|
2
|
-
--
|
|
1
|
+
-- Entry CRUD primitives (SPEC {§crud}). Used by entry-bearing schemes and
|
|
2
|
+
-- the engine for cross-scheme COPY/MOVE/SEND[410].
|
|
3
3
|
|
|
4
4
|
-- PREP: crud_find_workspace_entry
|
|
5
5
|
-- {§entry-identity-no-null} — every identity component is NOT NULL (bare/absolute paths
|
|
@@ -8,7 +8,7 @@ SELECT id FROM entries
|
|
|
8
8
|
WHERE workspace_id = $workspace_id AND owner_id = $owner_id AND scheme = $scheme AND pathname = $pathname;
|
|
9
9
|
|
|
10
10
|
-- PREP: crud_read_channels
|
|
11
|
-
SELECT name, content, mimetype FROM entry_channels WHERE entry_id = $entry_id;
|
|
11
|
+
SELECT name, content, mimetype, state, producer_result FROM entry_channels WHERE entry_id = $entry_id;
|
|
12
12
|
|
|
13
13
|
-- PREP: crud_read_tags
|
|
14
14
|
SELECT tag FROM entry_tags WHERE entry_id = $entry_id ORDER BY tag;
|
|
@@ -18,8 +18,20 @@ INSERT INTO entries (workspace_id, owner_id, scheme, pathname)
|
|
|
18
18
|
VALUES ($workspace_id, $owner_id, $scheme, $pathname)
|
|
19
19
|
RETURNING id;
|
|
20
20
|
|
|
21
|
+
-- PREP: crud_insert_workspace_entry_with_attributes
|
|
22
|
+
-- Core-private metadata is present at identity creation, before any channel
|
|
23
|
+
-- makes the entry visible to a reader.
|
|
24
|
+
INSERT INTO entries (workspace_id, owner_id, scheme, pathname, attributes)
|
|
25
|
+
VALUES ($workspace_id, $owner_id, $scheme, $pathname, $attributes)
|
|
26
|
+
RETURNING id;
|
|
27
|
+
|
|
28
|
+
-- PREP: crud_set_entry_attributes
|
|
29
|
+
-- Core-private entry metadata. Omission at the EntryCrud seam preserves the
|
|
30
|
+
-- existing value; an explicit bag replaces it before channels become visible.
|
|
31
|
+
UPDATE entries SET attributes = $attributes WHERE id = $entry_id;
|
|
32
|
+
|
|
21
33
|
-- PREP: crud_register_workspace_member
|
|
22
|
-
-- Idempotent bare-membership insert (SPEC §membership D4 — git ls-files membership).
|
|
34
|
+
-- Idempotent bare-membership insert (SPEC {§membership} D4 — git ls-files membership).
|
|
23
35
|
-- A git-tracked file is a workspace member by virtue of being tracked; the row
|
|
24
36
|
-- is the membership marker the File read-gate checks and FIND globs by path.
|
|
25
37
|
-- Channel-less by design — disk stays the truth (D3). ON CONFLICT no-ops so
|
|
@@ -31,10 +43,10 @@ DO NOTHING
|
|
|
31
43
|
RETURNING id;
|
|
32
44
|
|
|
33
45
|
-- PREP: crud_get_member_sig
|
|
34
|
-
-- SPEC §membership-change-gated-sync — the member's last-synced disk signature
|
|
46
|
+
-- SPEC {§membership-change-gated-sync} — the member's last-synced disk signature
|
|
35
47
|
-- (mtime:size), read before materializing so an unchanged file short-circuits
|
|
36
48
|
-- before any content read. File members store scheme='file' ({§entry-identity-no-null}).
|
|
37
|
-
SELECT id, synced_sig, membership_origin FROM entries
|
|
49
|
+
SELECT id, synced_sig, membership_origin, attributes FROM entries
|
|
38
50
|
WHERE workspace_id = $workspace_id AND owner_id = $owner_id AND scheme = $scheme AND pathname = $pathname;
|
|
39
51
|
|
|
40
52
|
-- PREP: crud_set_synced_sig
|
|
@@ -42,6 +54,12 @@ WHERE workspace_id = $workspace_id AND owner_id = $owner_id AND scheme = $scheme
|
|
|
42
54
|
-- pass compares against it to skip an unchanged member.
|
|
43
55
|
UPDATE entries SET synced_sig = $synced_sig WHERE id = $entry_id;
|
|
44
56
|
|
|
57
|
+
-- PREP: crud_mark_member_absent
|
|
58
|
+
-- An observed deletion keeps the Git membership marker but removes its stale
|
|
59
|
+
-- readable/derived representation. `absent` distinguishes that observed state
|
|
60
|
+
-- from a member that has never been synchronized.
|
|
61
|
+
UPDATE entries SET synced_sig = 'absent', deep_hash = NULL WHERE id = $entry_id;
|
|
62
|
+
|
|
45
63
|
-- PREP: crud_delete_channels
|
|
46
64
|
DELETE FROM entry_channels WHERE entry_id = $entry_id;
|
|
47
65
|
|
|
@@ -53,9 +71,9 @@ RETURNING name;
|
|
|
53
71
|
DELETE FROM entry_tags WHERE entry_id = $entry_id;
|
|
54
72
|
|
|
55
73
|
-- PREP: crud_write_channel
|
|
56
|
-
--
|
|
57
|
-
INSERT INTO entry_channels (entry_id, name, content, mimetype, tokens, content_hash, state)
|
|
58
|
-
VALUES ($entry_id, $name, $content, $mimetype, $tokens, $content_hash, $state);
|
|
74
|
+
-- {§tokenomics-content-hash-identity}: every static write stamps stable content identity.
|
|
75
|
+
INSERT INTO entry_channels (entry_id, name, content, mimetype, tokens, content_hash, state, producer_result)
|
|
76
|
+
VALUES ($entry_id, $name, $content, $mimetype, $tokens, $content_hash, $state, $producer_result);
|
|
59
77
|
|
|
60
78
|
-- PREP: crud_write_tag
|
|
61
79
|
INSERT OR IGNORE INTO entry_tags (entry_id, tag) VALUES ($entry_id, $tag);
|
|
@@ -75,7 +93,7 @@ SELECT id, pathname FROM entries
|
|
|
75
93
|
WHERE workspace_id = $workspace_id AND scheme = 'file' AND membership_origin IN ('git', 'constraint');
|
|
76
94
|
|
|
77
95
|
-- PREP: crud_insert_workspace_constraint
|
|
78
|
-
-- SPEC §membership constraint overlay — the client supersede. Idempotent per
|
|
96
|
+
-- SPEC {§membership} constraint overlay — the client supersede. Idempotent per
|
|
79
97
|
-- (workspace, effect, glob); effect ∈ {add, ignore, read-only}.
|
|
80
98
|
INSERT OR IGNORE INTO workspace_constraints (workspace_id, effect, glob)
|
|
81
99
|
VALUES ($workspace_id, $effect, $glob);
|
|
@@ -1,33 +1,64 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type FindStatement, type RangeExtent } from "@plurnk/plurnk-contracts";
|
|
2
2
|
import type { PlurnkSchemeContext, SchemeManifest } from "../core/scheme-types.ts";
|
|
3
3
|
import { type CatalogEntry } from "./_entry-manifest.ts";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
rowStart: number;
|
|
8
|
-
rowEnd: number;
|
|
9
|
-
}
|
|
4
|
+
import { type SchemeResultBase } from "../core/results.ts";
|
|
5
|
+
import type { MatchEvidence } from "@plurnk/plurnk-schemes";
|
|
6
|
+
import { type PathScope } from "./_path-scope.ts";
|
|
10
7
|
export interface Match {
|
|
11
8
|
pathname: string;
|
|
12
|
-
|
|
13
|
-
path?: string;
|
|
9
|
+
matches: MatchEvidence[];
|
|
14
10
|
}
|
|
15
|
-
export type
|
|
16
|
-
|
|
17
|
-
|
|
11
|
+
export type CatalogScope = {
|
|
12
|
+
path: string;
|
|
13
|
+
items: number;
|
|
14
|
+
tokens: number;
|
|
15
|
+
channels?: never;
|
|
16
|
+
matchLocationCount?: never;
|
|
17
|
+
locator?: never;
|
|
18
|
+
region?: never;
|
|
19
|
+
};
|
|
20
|
+
export type CatalogMatch = CatalogEntry & {
|
|
21
|
+
matchLocationCount?: number;
|
|
22
|
+
items?: never;
|
|
23
|
+
tokens?: never;
|
|
24
|
+
locator?: never;
|
|
25
|
+
region?: never;
|
|
26
|
+
};
|
|
27
|
+
export type MatchLocation = MatchEvidence & {
|
|
28
|
+
path?: never;
|
|
29
|
+
channels?: never;
|
|
30
|
+
items?: never;
|
|
31
|
+
tokens?: never;
|
|
32
|
+
matchLocationCount?: never;
|
|
18
33
|
};
|
|
19
|
-
export
|
|
20
|
-
|
|
34
|
+
export type MatchItem = CatalogMatch | CatalogScope | MatchLocation;
|
|
35
|
+
export declare const findItemTokens: (item: CatalogMatch | CatalogScope) => number;
|
|
36
|
+
export interface FindFields {
|
|
37
|
+
readonly [field: string]: unknown;
|
|
21
38
|
content: string | null;
|
|
22
39
|
mimetype: string | null;
|
|
23
40
|
results: MatchItem[];
|
|
24
41
|
itemsTokenTotal: number;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
42
|
+
returnedItemsTokenTotal: number;
|
|
43
|
+
matchingPathCount: number;
|
|
44
|
+
matchLocationCount: number;
|
|
45
|
+
range?: RangeExtent;
|
|
46
|
+
}
|
|
47
|
+
export interface FindResult extends SchemeResultBase, FindFields {
|
|
48
|
+
}
|
|
49
|
+
export interface FindProjectionResource {
|
|
50
|
+
readonly item: CatalogMatch;
|
|
51
|
+
readonly match: Match;
|
|
52
|
+
}
|
|
53
|
+
interface FindAddress {
|
|
54
|
+
readonly ownerId?: number;
|
|
55
|
+
readonly pathname?: string;
|
|
28
56
|
}
|
|
57
|
+
export declare const emptyFindFields: () => FindFields;
|
|
58
|
+
export declare const projectFindResult: (statement: FindStatement, scope: PathScope, resources: readonly FindProjectionResource[], scopes?: readonly CatalogScope[]) => FindResult;
|
|
29
59
|
export default class EntryFind {
|
|
30
60
|
#private;
|
|
31
|
-
static findWorkspaceEntries(statement: FindStatement, ctx: PlurnkSchemeContext, manifest: SchemeManifest,
|
|
61
|
+
static findWorkspaceEntries(statement: FindStatement, ctx: PlurnkSchemeContext, manifest: SchemeManifest, address?: FindAddress): Promise<FindResult>;
|
|
32
62
|
}
|
|
63
|
+
export {};
|
|
33
64
|
//# 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":"
|
|
1
|
+
{"version":3,"file":"_entry-find.d.ts","sourceRoot":"","sources":["../../src/schemes/_entry-find.ts"],"names":[],"mappings":"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"}
|