@plurnk/plurnk-service 1.3.12 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.defaults +84 -77
- package/INSTALL.md +50 -25
- package/README.md +24 -10
- package/SPEC.md +2311 -928
- package/dist/Paths.d.ts +4 -1
- package/dist/Paths.d.ts.map +1 -1
- package/dist/Paths.js +23 -21
- package/dist/Paths.js.map +1 -1
- package/dist/build-info.json +1 -1
- package/dist/content/edit-receipt.d.ts +13 -28
- package/dist/content/edit-receipt.d.ts.map +1 -1
- package/dist/content/edit-receipt.js +285 -104
- package/dist/content/edit-receipt.js.map +1 -1
- package/dist/content/edited-span.d.ts.map +1 -1
- package/dist/content/edited-span.js +2 -5
- package/dist/content/edited-span.js.map +1 -1
- package/dist/content/index.d.ts +3 -3
- package/dist/content/index.d.ts.map +1 -1
- package/dist/content/index.js +1 -1
- package/dist/content/index.js.map +1 -1
- package/dist/content/line-marker.d.ts +6 -9
- package/dist/content/line-marker.d.ts.map +1 -1
- package/dist/content/line-marker.js +7 -11
- package/dist/content/line-marker.js.map +1 -1
- package/dist/content/matcher.d.ts +14 -25
- package/dist/content/matcher.d.ts.map +1 -1
- package/dist/content/matcher.js +77 -107
- package/dist/content/matcher.js.map +1 -1
- package/dist/content/mimetype-binary.d.ts +2 -2
- package/dist/content/mimetype-binary.d.ts.map +1 -1
- package/dist/content/mimetype-binary.js +10 -10
- package/dist/content/mimetype-binary.js.map +1 -1
- package/dist/content/path-mimetype.js +3 -3
- package/dist/content/path-mimetype.js.map +1 -1
- package/dist/content/read-resolve.d.ts +8 -4
- package/dist/content/read-resolve.d.ts.map +1 -1
- package/dist/content/read-resolve.js +101 -49
- package/dist/content/read-resolve.js.map +1 -1
- package/dist/core/BranchReceipt.d.ts +7 -0
- package/dist/core/BranchReceipt.d.ts.map +1 -0
- package/dist/core/BranchReceipt.js +27 -0
- package/dist/core/BranchReceipt.js.map +1 -0
- package/dist/core/BudgetOverflow.d.ts +23 -0
- package/dist/core/BudgetOverflow.d.ts.map +1 -0
- package/dist/core/BudgetOverflow.js +61 -0
- package/dist/core/BudgetOverflow.js.map +1 -0
- package/dist/core/BudgetReadout.d.ts +8 -0
- package/dist/core/BudgetReadout.d.ts.map +1 -0
- package/dist/core/BudgetReadout.js +79 -0
- package/dist/core/BudgetReadout.js.map +1 -0
- package/dist/core/ChannelWrite.d.ts +28 -9
- package/dist/core/ChannelWrite.d.ts.map +1 -1
- package/dist/core/ChannelWrite.js +28 -21
- package/dist/core/ChannelWrite.js.map +1 -1
- package/dist/core/ChannelWrite.sql +11 -10
- package/dist/core/CoreSchemeServices.d.ts +10 -4
- package/dist/core/CoreSchemeServices.d.ts.map +1 -1
- package/dist/core/CoreSchemeServices.js +7 -1
- package/dist/core/CoreSchemeServices.js.map +1 -1
- package/dist/core/Dispatcher.d.ts +29 -20
- package/dist/core/Dispatcher.d.ts.map +1 -1
- package/dist/core/Dispatcher.js +1488 -599
- package/dist/core/Dispatcher.js.map +1 -1
- package/dist/core/DurableStatement.d.ts +6 -0
- package/dist/core/DurableStatement.d.ts.map +1 -0
- package/dist/core/DurableStatement.js +51 -0
- package/dist/core/DurableStatement.js.map +1 -0
- package/dist/core/Engine.d.ts +48 -20
- package/dist/core/Engine.d.ts.map +1 -1
- package/dist/core/Engine.js +1208 -789
- package/dist/core/Engine.js.map +1 -1
- package/dist/core/Engine.sql +309 -217
- package/dist/core/EnvFlags.js +1 -1
- package/dist/core/EnvFlags.js.map +1 -1
- package/dist/core/ErrorDetail.d.ts +6 -0
- package/dist/core/ErrorDetail.d.ts.map +1 -0
- package/dist/core/ErrorDetail.js +20 -0
- package/dist/core/ErrorDetail.js.map +1 -0
- package/dist/core/ExecutorRegistry.d.ts +14 -3
- package/dist/core/ExecutorRegistry.d.ts.map +1 -1
- package/dist/core/ExecutorRegistry.js +56 -30
- package/dist/core/ExecutorRegistry.js.map +1 -1
- package/dist/core/GitBranch.d.ts +20 -0
- package/dist/core/GitBranch.d.ts.map +1 -0
- package/dist/core/GitBranch.js +110 -0
- package/dist/core/GitBranch.js.map +1 -0
- package/dist/core/JournalTurn.d.ts +9 -0
- package/dist/core/JournalTurn.d.ts.map +1 -0
- package/dist/core/JournalTurn.js +14 -0
- package/dist/core/JournalTurn.js.map +1 -0
- package/dist/core/JournalTurn.sql +10 -0
- package/dist/core/LogBody.d.ts +17 -0
- package/dist/core/LogBody.d.ts.map +1 -0
- package/dist/core/LogBody.js +148 -0
- package/dist/core/LogBody.js.map +1 -0
- package/dist/core/LoopFlagsReader.d.ts +7 -0
- package/dist/core/LoopFlagsReader.d.ts.map +1 -0
- package/dist/core/LoopFlagsReader.js +33 -0
- package/dist/core/LoopFlagsReader.js.map +1 -0
- package/dist/core/LoopLifecycle.d.ts +8 -1
- package/dist/core/LoopLifecycle.d.ts.map +1 -1
- package/dist/core/LoopLifecycle.js +55 -9
- package/dist/core/LoopLifecycle.js.map +1 -1
- package/dist/core/LoopLifecycle.sql +9 -3
- package/dist/core/NoticeChannel.d.ts +13 -0
- package/dist/core/NoticeChannel.d.ts.map +1 -0
- package/dist/core/NoticeChannel.js +40 -0
- package/dist/core/NoticeChannel.js.map +1 -0
- package/dist/core/Owner.d.ts +0 -1
- package/dist/core/Owner.d.ts.map +1 -1
- package/dist/core/Owner.js +2 -5
- package/dist/core/Owner.js.map +1 -1
- package/dist/core/PacketBuilder.d.ts +25 -24
- package/dist/core/PacketBuilder.d.ts.map +1 -1
- package/dist/core/PacketBuilder.js +313 -375
- package/dist/core/PacketBuilder.js.map +1 -1
- package/dist/core/ProblemLog.d.ts +26 -0
- package/dist/core/ProblemLog.d.ts.map +1 -0
- package/dist/core/ProblemLog.js +58 -0
- package/dist/core/ProblemLog.js.map +1 -0
- package/dist/core/ProposalLifecycle.d.ts +15 -21
- package/dist/core/ProposalLifecycle.d.ts.map +1 -1
- package/dist/core/ProposalLifecycle.js +291 -78
- package/dist/core/ProposalLifecycle.js.map +1 -1
- package/dist/core/ProviderInstantiate.d.ts.map +1 -1
- package/dist/core/ProviderInstantiate.js +51 -48
- package/dist/core/ProviderInstantiate.js.map +1 -1
- package/dist/core/SchemeRegistry.d.ts +14 -8
- package/dist/core/SchemeRegistry.d.ts.map +1 -1
- package/dist/core/SchemeRegistry.js +189 -114
- package/dist/core/SchemeRegistry.js.map +1 -1
- package/dist/core/ServiceTeardown.d.ts +11 -0
- package/dist/core/ServiceTeardown.d.ts.map +1 -0
- package/dist/core/ServiceTeardown.js +70 -0
- package/dist/core/ServiceTeardown.js.map +1 -0
- package/dist/core/StoredPacket.d.ts +29 -0
- package/dist/core/StoredPacket.d.ts.map +1 -0
- package/dist/core/StoredPacket.js +147 -0
- package/dist/core/StoredPacket.js.map +1 -0
- package/dist/core/StrikeRail.d.ts +1 -2
- package/dist/core/StrikeRail.d.ts.map +1 -1
- package/dist/core/StrikeRail.js +25 -55
- package/dist/core/StrikeRail.js.map +1 -1
- package/dist/core/WorkerControlAddress.d.ts +17 -0
- package/dist/core/WorkerControlAddress.d.ts.map +1 -0
- package/dist/core/WorkerControlAddress.js +44 -0
- package/dist/core/WorkerControlAddress.js.map +1 -0
- package/dist/core/WorkerName.d.ts +31 -0
- package/dist/core/WorkerName.d.ts.map +1 -0
- package/dist/core/WorkerName.js +95 -0
- package/dist/core/WorkerName.js.map +1 -0
- package/dist/core/WorkerName.sql +36 -0
- package/dist/core/WorkspaceGate.d.ts +14 -0
- package/dist/core/WorkspaceGate.d.ts.map +1 -0
- package/dist/core/WorkspaceGate.js +155 -0
- package/dist/core/WorkspaceGate.js.map +1 -0
- package/dist/core/caps/CapsResolve.d.ts +1 -1
- package/dist/core/caps/CapsResolve.d.ts.map +1 -1
- package/dist/core/caps/CapsResolve.js.map +1 -1
- package/dist/core/caps/DbChannelCaps.d.ts +5 -11
- package/dist/core/caps/DbChannelCaps.d.ts.map +1 -1
- package/dist/core/caps/DbChannelCaps.js +24 -8
- package/dist/core/caps/DbChannelCaps.js.map +1 -1
- package/dist/core/caps/DbEntryCaps.d.ts +4 -13
- package/dist/core/caps/DbEntryCaps.d.ts.map +1 -1
- package/dist/core/caps/DbEntryCaps.js +15 -6
- package/dist/core/caps/DbEntryCaps.js.map +1 -1
- package/dist/core/caps/DbNotifyCaps.d.ts +1 -1
- package/dist/core/caps/DbNotifyCaps.d.ts.map +1 -1
- package/dist/core/caps/DbNotifyCaps.js +12 -11
- package/dist/core/caps/DbNotifyCaps.js.map +1 -1
- package/dist/core/caps/DbProjectionCaps.d.ts +5 -5
- package/dist/core/caps/DbProjectionCaps.d.ts.map +1 -1
- package/dist/core/caps/DbProjectionCaps.js +21 -4
- package/dist/core/caps/DbProjectionCaps.js.map +1 -1
- package/dist/core/caps/DbSubscriptionCaps.d.ts +4 -4
- package/dist/core/caps/DbSubscriptionCaps.d.ts.map +1 -1
- package/dist/core/caps/DbSubscriptionCaps.js +57 -62
- package/dist/core/caps/DbSubscriptionCaps.js.map +1 -1
- package/dist/core/caps/DbTagCaps.d.ts +5 -12
- package/dist/core/caps/DbTagCaps.d.ts.map +1 -1
- package/dist/core/caps/DbTagCaps.js +14 -7
- package/dist/core/caps/DbTagCaps.js.map +1 -1
- package/dist/core/content-hash.js +1 -1
- package/dist/core/content-hash.js.map +1 -1
- package/dist/core/env-defaults.d.ts.map +1 -1
- package/dist/core/env-defaults.js.map +1 -1
- package/dist/core/fork.d.ts.map +1 -1
- package/dist/core/fork.js +55 -30
- package/dist/core/fork.js.map +1 -1
- package/dist/core/fork.sql +41 -27
- package/dist/core/git-env.d.ts +2 -0
- package/dist/core/git-env.d.ts.map +1 -1
- package/dist/core/git-env.js +13 -18
- package/dist/core/git-env.js.map +1 -1
- package/dist/core/git-iso.d.ts.map +1 -1
- package/dist/core/git-iso.js +9 -15
- package/dist/core/git-iso.js.map +1 -1
- package/dist/core/git-membership.d.ts +1 -1
- package/dist/core/git-membership.d.ts.map +1 -1
- package/dist/core/git-membership.js +198 -146
- package/dist/core/git-membership.js.map +1 -1
- package/dist/core/git-state.d.ts.map +1 -1
- package/dist/core/git-state.js +10 -11
- package/dist/core/git-state.js.map +1 -1
- package/dist/core/owner.sql +1 -1
- package/dist/core/packet-inject.d.ts.map +1 -1
- package/dist/core/packet-inject.js +7 -11
- package/dist/core/packet-inject.js.map +1 -1
- package/dist/core/packet-wire.d.ts +2 -20
- package/dist/core/packet-wire.d.ts.map +1 -1
- package/dist/core/packet-wire.js +242 -368
- package/dist/core/packet-wire.js.map +1 -1
- package/dist/core/plurnk-uri.d.ts +12 -1
- package/dist/core/plurnk-uri.d.ts.map +1 -1
- package/dist/core/plurnk-uri.js +49 -29
- package/dist/core/plurnk-uri.js.map +1 -1
- package/dist/core/results.d.ts +16 -5
- package/dist/core/results.d.ts.map +1 -1
- package/dist/core/results.js +27 -18
- package/dist/core/results.js.map +1 -1
- package/dist/core/ruler_count.d.ts +4 -0
- package/dist/core/ruler_count.d.ts.map +1 -0
- package/dist/core/ruler_count.js +7 -0
- package/dist/core/ruler_count.js.map +1 -0
- package/dist/core/scheme-types.d.ts +9 -11
- package/dist/core/scheme-types.d.ts.map +1 -1
- package/dist/core/scheme-types.js.map +1 -1
- package/dist/core/search-gate.d.ts.map +1 -1
- package/dist/core/search-gate.js +3 -11
- package/dist/core/search-gate.js.map +1 -1
- package/dist/core/teaching-corpus.d.ts +6 -0
- package/dist/core/teaching-corpus.d.ts.map +1 -0
- package/dist/core/teaching-corpus.js +23 -0
- package/dist/core/teaching-corpus.js.map +1 -0
- package/dist/core/teaching.d.ts +0 -1
- package/dist/core/teaching.d.ts.map +1 -1
- package/dist/core/teaching.js +2 -8
- package/dist/core/teaching.js.map +1 -1
- package/dist/core/token-ruler.d.ts.map +1 -1
- package/dist/core/token-ruler.js +3 -16
- package/dist/core/token-ruler.js.map +1 -1
- package/dist/core/turn-scheduler.d.ts +1 -1
- package/dist/core/turn-scheduler.d.ts.map +1 -1
- package/dist/core/turn-scheduler.js +1 -1
- package/dist/core/turn-scheduler.js.map +1 -1
- package/dist/core/worker-cap.d.ts +2 -4
- package/dist/core/worker-cap.d.ts.map +1 -1
- package/dist/core/worker-cap.js +13 -4
- package/dist/core/worker-cap.js.map +1 -1
- package/dist/core/{run-ops.sql → worker-ops.sql} +11 -11
- package/dist/core/workspace-settings.d.ts.map +1 -1
- package/dist/core/workspace-settings.js +17 -9
- package/dist/core/workspace-settings.js.map +1 -1
- package/dist/digest/Digest.d.ts +2 -1
- package/dist/digest/Digest.d.ts.map +1 -1
- package/dist/digest/Digest.js +337 -138
- package/dist/digest/Digest.js.map +1 -1
- package/dist/digest/digest.sql +19 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -5
- package/dist/index.js.map +1 -1
- package/dist/matrix/live-specimen.d.ts +9 -0
- package/dist/matrix/live-specimen.d.ts.map +1 -0
- package/dist/matrix/live-specimen.js +37 -0
- package/dist/matrix/live-specimen.js.map +1 -0
- package/dist/observe/api.d.ts +6 -0
- package/dist/observe/api.d.ts.map +1 -0
- package/dist/observe/api.js +11 -0
- package/dist/observe/api.js.map +1 -0
- package/dist/observe/init.d.ts +7 -0
- package/dist/observe/init.d.ts.map +1 -0
- package/dist/observe/init.js +159 -0
- package/dist/observe/init.js.map +1 -0
- package/dist/observe/metrics.d.ts +6 -0
- package/dist/observe/metrics.d.ts.map +1 -0
- package/dist/observe/metrics.js +15 -0
- package/dist/observe/metrics.js.map +1 -0
- package/dist/observe/spans.d.ts +4 -0
- package/dist/observe/spans.d.ts.map +1 -0
- package/dist/observe/spans.js +51 -0
- package/dist/observe/spans.js.map +1 -0
- package/dist/schemes/EffectPolicy.d.ts +1 -0
- package/dist/schemes/EffectPolicy.d.ts.map +1 -1
- package/dist/schemes/EffectPolicy.js +5 -2
- package/dist/schemes/EffectPolicy.js.map +1 -1
- package/dist/schemes/Exec.d.ts +6 -11
- package/dist/schemes/Exec.d.ts.map +1 -1
- package/dist/schemes/Exec.js +364 -247
- package/dist/schemes/Exec.js.map +1 -1
- package/dist/schemes/ExecOutputScheme.d.ts +8 -7
- package/dist/schemes/ExecOutputScheme.d.ts.map +1 -1
- package/dist/schemes/ExecOutputScheme.js +48 -9
- package/dist/schemes/ExecOutputScheme.js.map +1 -1
- package/dist/schemes/File.d.ts +7 -11
- package/dist/schemes/File.d.ts.map +1 -1
- package/dist/schemes/File.js +279 -142
- package/dist/schemes/File.js.map +1 -1
- package/dist/schemes/Log.d.ts +4 -8
- package/dist/schemes/Log.d.ts.map +1 -1
- package/dist/schemes/Log.js +475 -208
- package/dist/schemes/Log.js.map +1 -1
- package/dist/schemes/Log.sql +62 -30
- package/dist/schemes/Prompt.d.ts +3 -2
- package/dist/schemes/Prompt.d.ts.map +1 -1
- package/dist/schemes/Prompt.js +9 -6
- package/dist/schemes/Prompt.js.map +1 -1
- package/dist/schemes/Skill.d.ts +1 -1
- package/dist/schemes/Skill.d.ts.map +1 -1
- package/dist/schemes/Skill.js +2 -3
- package/dist/schemes/Skill.js.map +1 -1
- package/dist/schemes/Worker.d.ts +8 -16
- package/dist/schemes/Worker.d.ts.map +1 -1
- package/dist/schemes/Worker.js +179 -69
- package/dist/schemes/Worker.js.map +1 -1
- package/dist/schemes/_entry-chunk.d.ts.map +1 -1
- package/dist/schemes/_entry-chunk.js +12 -5
- package/dist/schemes/_entry-chunk.js.map +1 -1
- package/dist/schemes/_entry-crud.d.ts +10 -9
- package/dist/schemes/_entry-crud.d.ts.map +1 -1
- package/dist/schemes/_entry-crud.js +59 -13
- package/dist/schemes/_entry-crud.js.map +1 -1
- package/dist/schemes/_entry-crud.sql +20 -8
- package/dist/schemes/_entry-find.d.ts +20 -15
- package/dist/schemes/_entry-find.d.ts.map +1 -1
- package/dist/schemes/_entry-find.js +339 -174
- package/dist/schemes/_entry-find.js.map +1 -1
- package/dist/schemes/_entry-find.sql +20 -8
- package/dist/schemes/_entry-graph.d.ts +4 -2
- package/dist/schemes/_entry-graph.d.ts.map +1 -1
- package/dist/schemes/_entry-graph.js +55 -31
- package/dist/schemes/_entry-graph.js.map +1 -1
- package/dist/schemes/_entry-graph.sql +37 -22
- package/dist/schemes/_entry-manifest.d.ts +10 -15
- package/dist/schemes/_entry-manifest.d.ts.map +1 -1
- package/dist/schemes/_entry-manifest.js +50 -268
- package/dist/schemes/_entry-manifest.js.map +1 -1
- package/dist/schemes/_entry-ops.d.ts +9 -14
- package/dist/schemes/_entry-ops.d.ts.map +1 -1
- package/dist/schemes/_entry-ops.js +149 -77
- package/dist/schemes/_entry-ops.js.map +1 -1
- package/dist/schemes/_entry-ops.sql +1 -1
- package/dist/schemes/_entry-semantic.d.ts +23 -8
- package/dist/schemes/_entry-semantic.d.ts.map +1 -1
- package/dist/schemes/_entry-semantic.js +141 -60
- package/dist/schemes/_entry-semantic.js.map +1 -1
- package/dist/schemes/_entry-semantic.sql +63 -45
- package/dist/schemes/_entry-send.d.ts +3 -4
- package/dist/schemes/_entry-send.d.ts.map +1 -1
- package/dist/schemes/_entry-send.js +48 -23
- package/dist/schemes/_entry-send.js.map +1 -1
- package/dist/schemes/_path-scope.d.ts +23 -0
- package/dist/schemes/_path-scope.d.ts.map +1 -0
- package/dist/schemes/_path-scope.js +61 -0
- package/dist/schemes/_path-scope.js.map +1 -0
- package/dist/schemes/_search-candidate.d.ts +20 -0
- package/dist/schemes/_search-candidate.d.ts.map +1 -0
- package/dist/schemes/_search-candidate.js +19 -0
- package/dist/schemes/_search-candidate.js.map +1 -0
- package/dist/schemes/_search-exclusion.d.ts +7 -0
- package/dist/schemes/_search-exclusion.d.ts.map +1 -0
- package/dist/schemes/_search-exclusion.js +23 -0
- package/dist/schemes/_search-exclusion.js.map +1 -0
- package/dist/schemes/_search-index.d.ts +6 -0
- package/dist/schemes/_search-index.d.ts.map +1 -0
- package/dist/schemes/_search-index.js +326 -0
- package/dist/schemes/_search-index.js.map +1 -0
- package/dist/schemes/cosine.js +1 -1
- package/dist/schemes/cosine.js.map +1 -1
- package/dist/schemes/exec-abort.js +3 -3
- package/dist/schemes/exec-abort.js.map +1 -1
- package/dist/schemes/exec-env.js +3 -3
- package/dist/schemes/exec-env.js.map +1 -1
- package/dist/server/BranchBatches.d.ts +48 -0
- package/dist/server/BranchBatches.d.ts.map +1 -0
- package/dist/server/BranchBatches.js +591 -0
- package/dist/server/BranchBatches.js.map +1 -0
- package/dist/server/Daemon.d.ts +36 -66
- package/dist/server/Daemon.d.ts.map +1 -1
- package/dist/server/Daemon.js +920 -446
- package/dist/server/Daemon.js.map +1 -1
- package/dist/server/DaemonModule.d.ts +31 -0
- package/dist/server/DaemonModule.d.ts.map +1 -0
- package/dist/server/DaemonModule.js +2 -0
- package/dist/server/DaemonModule.js.map +1 -0
- package/dist/server/branch-batch.sql +152 -0
- package/dist/server/client-input.d.ts +12 -0
- package/dist/server/client-input.d.ts.map +1 -1
- package/dist/server/client-input.js +262 -57
- package/dist/server/client-input.js.map +1 -1
- package/dist/server/dispatch-as-plurnk.d.ts +1 -1
- package/dist/server/dispatch-as-plurnk.d.ts.map +1 -1
- package/dist/server/dispatch-as-plurnk.js +15 -7
- package/dist/server/dispatch-as-plurnk.js.map +1 -1
- package/dist/server/drain.sql +92 -62
- package/dist/server/envelope.d.ts +2 -5
- package/dist/server/envelope.d.ts.map +1 -1
- package/dist/server/envelope.js +119 -95
- package/dist/server/envelope.js.map +1 -1
- package/dist/server/envelope.sql +19 -23
- package/dist/server/exec-poll-backoff.js +1 -1
- package/dist/server/exec-poll-backoff.js.map +1 -1
- package/dist/server/lifecycle-recovery.sql +79 -2
- package/dist/server/logEntry.d.ts +3 -1
- package/dist/server/logEntry.d.ts.map +1 -1
- package/dist/server/logEntry.js +4 -2
- package/dist/server/logEntry.js.map +1 -1
- package/dist/server/logEntry.sql +1 -1
- package/dist/server/loop-model.d.ts.map +1 -1
- package/dist/server/loop-model.js +22 -9
- package/dist/server/loop-model.js.map +1 -1
- package/dist/server/loopDocs.d.ts.map +1 -1
- package/dist/server/loopDocs.js +5 -4
- package/dist/server/loopDocs.js.map +1 -1
- package/dist/server/seam-entry-read.sql +15 -10
- package/dist/server/seam-log-read.sql +2 -2
- package/dist/server/seam-loop.sql +1 -1
- package/dist/server/seam-proposal-list.sql +17 -7
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +66 -60
- package/dist/service.js.map +1 -1
- package/migrations/001_schema.sql +897 -0
- package/package.json +57 -26
- package/dist/core/PluginLoader.d.ts +0 -20
- package/dist/core/PluginLoader.d.ts.map +0 -1
- package/dist/core/PluginLoader.js +0 -142
- package/dist/core/PluginLoader.js.map +0 -1
- package/dist/core/TelemetryChannel.d.ts +0 -37
- package/dist/core/TelemetryChannel.d.ts.map +0 -1
- package/dist/core/TelemetryChannel.js +0 -80
- package/dist/core/TelemetryChannel.js.map +0 -1
- package/dist/core/path-decode.d.ts +0 -3
- package/dist/core/path-decode.d.ts.map +0 -1
- package/dist/core/path-decode.js +0 -9
- package/dist/core/path-decode.js.map +0 -1
- package/dist/core/plugin-attribution.d.ts +0 -5
- package/dist/core/plugin-attribution.d.ts.map +0 -1
- package/dist/core/plugin-attribution.js +0 -39
- package/dist/core/plugin-attribution.js.map +0 -1
- package/dist/core/world-state.d.ts +0 -10
- package/dist/core/world-state.d.ts.map +0 -1
- package/dist/core/world-state.js +0 -35
- package/dist/core/world-state.js.map +0 -1
- package/dist/core/world-state.sql +0 -35
- package/dist/core/zero-pin.d.ts +0 -3
- package/dist/core/zero-pin.d.ts.map +0 -1
- package/dist/core/zero-pin.js +0 -16
- package/dist/core/zero-pin.js.map +0 -1
- package/dist/server/auto.d.ts +0 -6
- package/dist/server/auto.d.ts.map +0 -1
- package/dist/server/auto.js +0 -63
- package/dist/server/auto.js.map +0 -1
- package/dist/server/clientTurn.d.ts +0 -6
- package/dist/server/clientTurn.d.ts.map +0 -1
- package/dist/server/clientTurn.js +0 -22
- package/dist/server/clientTurn.js.map +0 -1
- package/dist/server/clientTurn.sql +0 -10
- package/dist/server/noProposals.d.ts +0 -6
- package/dist/server/noProposals.d.ts.map +0 -1
- package/dist/server/noProposals.js +0 -37
- package/dist/server/noProposals.js.map +0 -1
- package/dist/server/version-info.d.ts +0 -14
- package/dist/server/version-info.d.ts.map +0 -1
- package/dist/server/version-info.js +0 -69
- package/dist/server/version-info.js.map +0 -1
- package/migrations/0000-00-00.01_schema.sql +0 -536
- package/migrations/0004_loop-provider.sql +0 -3
- package/migrations/0005_subscription-published-channel.sql +0 -3
- package/migrations/0006_loop-max-turns.sql +0 -3
|
@@ -1,303 +1,85 @@
|
|
|
1
|
-
// The entry catalog (§packet-catalog) — the complete, unranked directory
|
|
2
|
-
//
|
|
3
|
-
//
|
|
4
|
-
//
|
|
5
|
-
//
|
|
6
|
-
|
|
7
|
-
// channel keyed by its addressable URI (default channel → the bare path, non-default → path#channel).
|
|
8
|
-
// `tokens` is the model-agnostic ruler (§tokenomics-agnostic-ruler, chars/2), re-counted at
|
|
9
|
-
// render — one number per content regardless of which of the workspace's concurrent models reads
|
|
10
|
-
// it; `lines` is the content's extent from mimetypes' process() totalLines.
|
|
11
|
-
//
|
|
12
|
-
// maintainDerivations (the per-turn pump) refreshes the deep channels the rows report; both live
|
|
13
|
-
// in the schemes/entry layer, not the engine — building a scheme's catalog is the schemes' job.
|
|
14
|
-
import { encodePathParens } from "../core/path-decode.js";
|
|
1
|
+
// The entry catalog ({§packet-catalog}) — the complete, unranked directory for
|
|
2
|
+
// one addressed owner. FIND(**) serves it recursively; FIND(*) projects it as
|
|
3
|
+
// a one-level map in _entry-find. An omitted owner selects the shared commons.
|
|
4
|
+
// Each item carries its address, optional stream lifecycle and tags, and addressable
|
|
5
|
+
// channels. Search indexing is owned separately by SearchIndex.
|
|
6
|
+
import { PathSyntax } from "@plurnk/plurnk-contracts";
|
|
15
7
|
import { renderAddress } from "../core/plurnk-uri.js";
|
|
16
|
-
import
|
|
17
|
-
import { createHash } from "node:crypto";
|
|
18
|
-
import { availableParallelism } from "node:os";
|
|
19
|
-
import { MimetypeBinary } from "../content/index.js";
|
|
20
|
-
import EntryGraph from "./_entry-graph.js";
|
|
21
|
-
import EntrySemantic from "./_entry-semantic.js";
|
|
8
|
+
import Owner from "../core/Owner.js";
|
|
22
9
|
export default class EntryManifest {
|
|
23
|
-
// Public — the catalog's path-rendering is the single source of truth for the
|
|
24
|
-
// addressable key, shared by FIND (EntryFind aligns matched pathnames to catalog rows).
|
|
25
10
|
static toPath(scheme, pathname) {
|
|
26
|
-
// File keys are stored in wire canon already ({§fs-canonical-name}, storage ≡ wire —
|
|
27
|
-
// bare git-pathspec keys): render is identity, exactly what `git ls-files` prints.
|
|
28
11
|
if (scheme === "file")
|
|
29
|
-
return
|
|
30
|
-
if (scheme === null)
|
|
31
|
-
throw new Error(`entry '${pathname}' carries a NULL scheme — pre-v2 row survived the heal ({§entry-identity-no-null})`);
|
|
32
|
-
// {§entry-owner} — the owner rides the owner_id column, never the pathname; render the
|
|
33
|
-
// empty-authority form. A face that queried a non-empty authority re-applies it to the
|
|
34
|
-
// result paths (Worker.find) so the model sees the address it typed.
|
|
12
|
+
return PathSyntax.escapeTarget(PathSyntax.encodeParens(pathname));
|
|
35
13
|
return renderAddress(scheme, pathname);
|
|
36
14
|
}
|
|
37
|
-
// Read-only catalog rows for a scheme (or all entries when undefined) — the CatalogEntry[]
|
|
38
|
-
// a per-scheme FIND(scheme:///**) renders as its JSON result, WITHOUT the derivation pump
|
|
39
|
-
// (maintainDerivations runs that once per turn; FIND reads the channels it leaves).
|
|
40
|
-
// {§entry-owner} — `ownerId` sources ONE principal's rows (a FIND's alignment matches its
|
|
41
|
-
// owner-scoped candidates — never a coordinate-twin sibling's metadata). Omitted → the whole
|
|
42
|
-
// workspace across owners (the packet catalog's view).
|
|
43
15
|
static async catalogRowsFor(ctx, schemeFilter, ownerId) {
|
|
44
16
|
const { db, workspaceId, mimetypes, tokenize } = ctx;
|
|
45
17
|
if (mimetypes === undefined)
|
|
46
18
|
throw new Error("catalogRowsFor: ctx.mimetypes is required for the lines (extent) field");
|
|
47
19
|
if (tokenize === undefined)
|
|
48
20
|
throw new Error("catalogRowsFor: ctx.tokenize is required — the model-agnostic ruler, re-counted at render");
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
21
|
+
const resolvedOwnerId = ownerId ?? await Owner.commonsId(db, workspaceId);
|
|
22
|
+
const all = await db.engine_list_owner_entries.all({
|
|
23
|
+
workspace_id: workspaceId,
|
|
24
|
+
owner_id: resolvedOwnerId,
|
|
25
|
+
});
|
|
26
|
+
const rows = schemeFilter === undefined ? all : all.filter((row) => row.scheme === schemeFilter);
|
|
53
27
|
const tagsById = new Map();
|
|
54
|
-
const tagRows =
|
|
55
|
-
|
|
56
|
-
:
|
|
28
|
+
const tagRows = await db.engine_list_owner_entry_tags.all({
|
|
29
|
+
workspace_id: workspaceId,
|
|
30
|
+
owner_id: resolvedOwnerId,
|
|
31
|
+
});
|
|
57
32
|
for (const { entry_id, tag } of tagRows) {
|
|
58
|
-
const
|
|
59
|
-
if (
|
|
33
|
+
const tags = tagsById.get(entry_id);
|
|
34
|
+
if (tags === undefined)
|
|
60
35
|
tagsById.set(entry_id, [tag]);
|
|
61
36
|
else
|
|
62
|
-
|
|
37
|
+
tags.push(tag);
|
|
63
38
|
}
|
|
64
39
|
const byEntry = new Map();
|
|
65
|
-
for (const
|
|
66
|
-
const path = EntryManifest.toPath(
|
|
40
|
+
for (const row of rows) {
|
|
41
|
+
const path = EntryManifest.toPath(row.scheme, row.pathname);
|
|
67
42
|
let entry = byEntry.get(path);
|
|
68
43
|
if (entry === undefined) {
|
|
69
44
|
entry = { path, channels: {} };
|
|
70
|
-
const tags = tagsById.get(
|
|
45
|
+
const tags = tagsById.get(row.entry_id);
|
|
71
46
|
if (tags !== undefined && tags.length > 0)
|
|
72
47
|
entry.tags = tags;
|
|
73
48
|
byEntry.set(path, entry);
|
|
74
49
|
}
|
|
75
|
-
if (
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
50
|
+
if (row.subscription_id !== null && entry.stream === undefined) {
|
|
51
|
+
if (row.close_status === null) {
|
|
52
|
+
if (row.seconds === null)
|
|
53
|
+
throw new Error(`active subscription ${row.subscription_id} has no age`);
|
|
54
|
+
entry.stream = { state: "active", seconds: row.seconds };
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
entry.stream = {
|
|
58
|
+
state: row.close_status === 499
|
|
59
|
+
? "killed"
|
|
60
|
+
: row.close_status >= 400 ? "failed" : "closed",
|
|
61
|
+
status: row.close_status,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
}
|
|
79
65
|
let totalLines;
|
|
80
66
|
try {
|
|
81
|
-
totalLines = (await mimetypes.process({ content:
|
|
67
|
+
totalLines = (await mimetypes.process({ content: row.content, hint: row.mimetype }, { channels: [] })).totalLines;
|
|
82
68
|
}
|
|
83
69
|
catch {
|
|
84
|
-
totalLines =
|
|
70
|
+
totalLines = row.content.length === 0 ? 0 : row.content.split("\n").length;
|
|
85
71
|
}
|
|
86
|
-
const
|
|
87
|
-
const channelKey =
|
|
88
|
-
|
|
72
|
+
const defaultChannel = ctx.defaultChannelFor?.(row.scheme) ?? "body";
|
|
73
|
+
const channelKey = row.channel === defaultChannel
|
|
74
|
+
? entry.path
|
|
75
|
+
: `${entry.path}#${PathSyntax.escapeTarget(row.channel)}`;
|
|
76
|
+
entry.channels[channelKey] = {
|
|
77
|
+
mimetype: row.mimetype,
|
|
78
|
+
tokens: tokenize(row.content),
|
|
79
|
+
lines: totalLines,
|
|
80
|
+
};
|
|
89
81
|
}
|
|
90
82
|
return [...byEntry.values()];
|
|
91
83
|
}
|
|
92
|
-
// The derivation pump (§mimetype) materializes one immutable artifact per
|
|
93
|
-
// content+mimetype+reader+embedder identity, then atomically attaches entries to
|
|
94
|
-
// it. The artifact contains graph, reader-projected FTS, and vectors; identical
|
|
95
|
-
// entries share it without copying. Cancellation leaves a building artifact
|
|
96
|
-
// unattached for retry; an entry-local failure is terminal and observable so
|
|
97
|
-
// one malformed specimen cannot hold workspace readiness hostage.
|
|
98
|
-
// Hash-keyed chains serialize concurrent workspace warm requests for the same
|
|
99
|
-
// artifact while distinct artifacts remain parallel.
|
|
100
|
-
static #deriveChains = new Map();
|
|
101
|
-
static async deriveOne(ctx, r, hash, embedActive, searchExcluded, onProgress) {
|
|
102
|
-
const prior = EntryManifest.#deriveChains.get(hash) ?? Promise.resolve();
|
|
103
|
-
const run = prior.then(() => EntryManifest.#deriveOneUnlocked(ctx, r, hash, embedActive, searchExcluded, onProgress));
|
|
104
|
-
const tail = run.catch(() => { }); // the chain survives a failed link; deriveOne's caller sees the rejection
|
|
105
|
-
EntryManifest.#deriveChains.set(hash, tail);
|
|
106
|
-
void tail.finally(() => {
|
|
107
|
-
if (EntryManifest.#deriveChains.get(hash) === tail)
|
|
108
|
-
EntryManifest.#deriveChains.delete(hash);
|
|
109
|
-
});
|
|
110
|
-
return run;
|
|
111
|
-
}
|
|
112
|
-
static async #deriveOneUnlocked(ctx, r, hash, embedActive, searchExcluded, onProgress) {
|
|
113
|
-
const { db, mimetypes } = ctx;
|
|
114
|
-
if (mimetypes === undefined)
|
|
115
|
-
throw new Error("deriveOne: ctx.mimetypes is required");
|
|
116
|
-
let artifact = await db.derivation_get.get({ deep_hash: hash });
|
|
117
|
-
if (artifact?.state === "complete") {
|
|
118
|
-
await db.graph_set_deep_hash.run({ entry_id: r.entry_id, deep_hash: hash });
|
|
119
|
-
return;
|
|
120
|
-
}
|
|
121
|
-
if (artifact === undefined) {
|
|
122
|
-
artifact = await db.derivation_create.get({ deep_hash: hash });
|
|
123
|
-
}
|
|
124
|
-
if (artifact === undefined)
|
|
125
|
-
throw new Error(`failed to create derivation artifact ${hash}`);
|
|
126
|
-
const derivationId = artifact.id;
|
|
127
|
-
const attachComplete = async (disposition, reason = null) => {
|
|
128
|
-
await db.derivation_complete.run({ derivation_id: derivationId, disposition, reason });
|
|
129
|
-
await db.graph_set_deep_hash.run({ entry_id: r.entry_id, deep_hash: hash });
|
|
130
|
-
};
|
|
131
|
-
const wantGraph = r.content.length > 0 && !MimetypeBinary.isBinaryMimetype(r.mimetype);
|
|
132
|
-
if (searchExcluded !== undefined) {
|
|
133
|
-
await EntryGraph.populateFrom(db, derivationId, [], []);
|
|
134
|
-
await EntrySemantic.indexFts(db, derivationId, "");
|
|
135
|
-
await EntrySemantic.indexEmbedding(db, derivationId, [], undefined);
|
|
136
|
-
await attachComplete("excluded", searchExcluded);
|
|
137
|
-
return;
|
|
138
|
-
}
|
|
139
|
-
if (!wantGraph) {
|
|
140
|
-
await EntryGraph.populateFrom(db, derivationId, [], []);
|
|
141
|
-
await EntrySemantic.indexFts(db, derivationId, "");
|
|
142
|
-
await EntrySemantic.indexEmbedding(db, derivationId, [], undefined);
|
|
143
|
-
await attachComplete("nonsemantic", r.content.length === 0 ? "empty" : "binary");
|
|
144
|
-
return;
|
|
145
|
-
}
|
|
146
|
-
try {
|
|
147
|
-
let result;
|
|
148
|
-
try {
|
|
149
|
-
result = await mimetypes.process({ content: r.content, hint: r.mimetype, path: r.pathname }, { channels: ["symbols", "references", "content"] }); // §mimetype-methods-process-entry-point — "content" = the readable projection (mimetypes#48): FTS/embeddings consume it when the handler offers one. Embeddings have one path below: tiled embedBatch, never a discarded whole-file pre-pass.
|
|
150
|
-
await EntryGraph.populateFrom(db, derivationId, result.symbols ?? [], result.references ?? []);
|
|
151
|
-
}
|
|
152
|
-
catch {
|
|
153
|
-
// A handler predating the references channel throws → metadata-only, clear graph.
|
|
154
|
-
result = await mimetypes.process({ content: r.content, hint: r.mimetype, path: r.pathname }, { channels: [] });
|
|
155
|
-
await EntryGraph.populateFrom(db, derivationId, [], []);
|
|
156
|
-
}
|
|
157
|
-
// Store the processed lexical projection and vectors in the derivation
|
|
158
|
-
// artifact. Empty/binary content clears rather than stores projections.
|
|
159
|
-
// The SEMANTIC SOURCE: when the handler returns a readable projection
|
|
160
|
-
// (ProcessResult.content — e.g. text/html's Readability→markdown), FTS and the
|
|
161
|
-
// embedder consume THAT, not the raw body. A 424k-token raw page becomes a few-k
|
|
162
|
-
// article; the vectors and keywords index what a reader (and the model, per the
|
|
163
|
-
// epic's READ-slices-of-reading end-state) actually consumes. Handlers that return
|
|
164
|
-
// no projection keep today's raw-body behavior exactly.
|
|
165
|
-
const semanticSource = result.content ?? r.content;
|
|
166
|
-
await EntrySemantic.indexFts(db, derivationId, semanticSource);
|
|
167
|
-
// Size rejection is vector-only: membership, READ, graph, and FTS remain exhaustive.
|
|
168
|
-
if (EntrySemantic.embedSizeRejection(semanticSource) !== null) {
|
|
169
|
-
await EntrySemantic.indexEmbedding(db, derivationId, [], undefined);
|
|
170
|
-
await attachComplete("lexical", "max_embed_size");
|
|
171
|
-
return;
|
|
172
|
-
}
|
|
173
|
-
if (!embedActive) {
|
|
174
|
-
await EntrySemantic.indexEmbedding(db, derivationId, [], undefined);
|
|
175
|
-
await attachComplete("lexical", "embedder_unavailable");
|
|
176
|
-
return;
|
|
177
|
-
}
|
|
178
|
-
const { chunks, model } = await EntrySemantic.deriveEmbeddings(mimetypes, semanticSource, result.symbols ?? [], undefined, undefined, ctx.signal, onProgress);
|
|
179
|
-
await EntrySemantic.indexEmbedding(db, derivationId, chunks, model);
|
|
180
|
-
await attachComplete(chunks.length > 0 ? "vector" : "nonsemantic", chunks.length > 0 ? null : "no_embedding_content");
|
|
181
|
-
}
|
|
182
|
-
catch (error) {
|
|
183
|
-
if (ctx.signal?.aborted === true)
|
|
184
|
-
throw error;
|
|
185
|
-
await EntryGraph.populateFrom(db, derivationId, [], []);
|
|
186
|
-
await EntrySemantic.indexFts(db, derivationId, "");
|
|
187
|
-
await EntrySemantic.indexEmbedding(db, derivationId, [], undefined);
|
|
188
|
-
await attachComplete("failed", error instanceof Error ? error.message : String(error));
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
static async maintainDerivations(ctx) {
|
|
192
|
-
const { db, workspaceId, mimetypes } = ctx;
|
|
193
|
-
if (mimetypes === undefined)
|
|
194
|
-
throw new Error("maintainDerivations: ctx.mimetypes is required to derive entry deep channels");
|
|
195
|
-
const rows = await db.engine_list_workspace_entries.all({ workspace_id: workspaceId });
|
|
196
|
-
// The embedding config signature is identical for every entry this pass — compute it
|
|
197
|
-
// once and fold it into each deep_hash (re-derive on model/knob change).
|
|
198
|
-
const deepCfgSig = await EntrySemantic.deepConfigSignature(mimetypes);
|
|
199
|
-
// No embedder (absent OR PLURNK_SERVICE_EMBED_DISABLE) → don't request the embedding channel: it loads/
|
|
200
|
-
// runs the model independent of the capability probe, and deriveEmbeddings would only discard the
|
|
201
|
-
// vector. The signature already collapses to "embed:none" in that case, so reuse it (no new flag read).
|
|
202
|
-
const embedActive = deepCfgSig !== "embed:none";
|
|
203
|
-
// The changed-entry worklist (body channel, deep_hash stale), computed up front so the
|
|
204
|
-
// corpus total is known — a multi-entry pass (the initial ingest, which otherwise looks
|
|
205
|
-
// frozen) emits a throttled progress signal; a normal turn (0-1 entries) stays silent. #272
|
|
206
|
-
const pending = [];
|
|
207
|
-
for (const r of rows) {
|
|
208
|
-
if (r.channel !== "body")
|
|
209
|
-
continue; // derivation fires on the body channel only
|
|
210
|
-
// SEARCH_EXCLUDE classifies generated project members. URI paths in
|
|
211
|
-
// other schemes are resource identities, not repository layout:
|
|
212
|
-
// https://host/dist/index.json is not a generated local artifact.
|
|
213
|
-
const searchExcluded = r.scheme === "file"
|
|
214
|
-
? matchSearchExclusion(r.pathname)
|
|
215
|
-
: undefined;
|
|
216
|
-
const dispositionIdentity = searchExcluded === undefined ? "included" : `excluded:${searchExcluded}`;
|
|
217
|
-
const hash = createHash("sha256").update(r.content).update("\0").update(r.mimetype).update("\0").update(deepCfgSig).update("\0").update(dispositionIdentity).digest("hex");
|
|
218
|
-
if (hash !== r.deep_hash)
|
|
219
|
-
pending.push({ r, hash, searchExcluded }); // unchanged since last derivation → deep rows persist
|
|
220
|
-
}
|
|
221
|
-
// Smallest-first (owner ruling, service#337 follow-up): a fat outlier (a minified bundle,
|
|
222
|
-
// a lockfile that slipped classification) derives LAST, so the corpus is mostly-warm early
|
|
223
|
-
// and the hot path never queues behind the whale. Pure scheduling — nothing is skipped,
|
|
224
|
-
// nothing is lazy; the whale still derives to full depth, just at the back of the line.
|
|
225
|
-
pending.sort((a, b) => a.r.content.length - b.r.content.length);
|
|
226
|
-
const total = pending.length;
|
|
227
|
-
const step = total > 1 ? Math.max(1, Math.floor(total / 10)) : 0; // ~10 milestones, or silent for 0-1
|
|
228
|
-
let completed = 0;
|
|
229
|
-
const tick = () => {
|
|
230
|
-
completed++;
|
|
231
|
-
if (step > 0 && (completed === total || completed % step === 0)) {
|
|
232
|
-
const percent = Math.floor((completed / total) * 100);
|
|
233
|
-
ctx.pushTelemetry?.({ source: "engine:derivation", kind: "embed_progress", message: `Indexing repository semantics: ${percent}% (${completed}/${total})`, completed, total, percent, level: "info" });
|
|
234
|
-
}
|
|
235
|
-
};
|
|
236
|
-
// §derivation-dedup-parallel (#416) — each content+mimetype+configuration identity builds
|
|
237
|
-
// one shared artifact while distinct artifacts run with bounded concurrency.
|
|
238
|
-
const groups = new Map();
|
|
239
|
-
for (const p of pending) {
|
|
240
|
-
const g = groups.get(p.hash);
|
|
241
|
-
if (g === undefined)
|
|
242
|
-
groups.set(p.hash, [p]);
|
|
243
|
-
else
|
|
244
|
-
g.push(p);
|
|
245
|
-
}
|
|
246
|
-
const rawConcurrency = process.env.PLURNK_SERVICE_DERIVE_CONCURRENCY;
|
|
247
|
-
const cores = availableParallelism();
|
|
248
|
-
const configuredConcurrency = rawConcurrency === undefined || rawConcurrency.trim() === ""
|
|
249
|
-
// Entry derivation is a producer tier above the all-core embedding pool.
|
|
250
|
-
// A square-root fan-out keeps that pool fed without simultaneously
|
|
251
|
-
// materializing one enormous symbol/chunk graph per host core.
|
|
252
|
-
? Math.max(1, Math.floor(Math.sqrt(cores)))
|
|
253
|
-
: Number(rawConcurrency);
|
|
254
|
-
if (!Number.isInteger(configuredConcurrency) || configuredConcurrency === 0 || configuredConcurrency < -1) {
|
|
255
|
-
throw new RangeError(`PLURNK_SERVICE_DERIVE_CONCURRENCY must be -1 (match cores) or a positive integer; got ${JSON.stringify(rawConcurrency)}`);
|
|
256
|
-
}
|
|
257
|
-
const concurrency = configuredConcurrency === -1 ? availableParallelism() : configuredConcurrency;
|
|
258
|
-
let lastHeartbeatAt = 0;
|
|
259
|
-
const workerPool = async (work) => {
|
|
260
|
-
let next = 0;
|
|
261
|
-
const worker = async () => {
|
|
262
|
-
while (next < work.length) {
|
|
263
|
-
if (ctx.signal?.aborted === true)
|
|
264
|
-
return;
|
|
265
|
-
const group = work[next++];
|
|
266
|
-
for (const { r, hash, searchExcluded } of group) {
|
|
267
|
-
if (Boolean(ctx.signal?.aborted))
|
|
268
|
-
return;
|
|
269
|
-
await EntryManifest.deriveOne(ctx, r, hash, embedActive, searchExcluded, (progress) => {
|
|
270
|
-
if (step === 0 || progress.total <= 1)
|
|
271
|
-
return;
|
|
272
|
-
const milestone = progress.completed === progress.total
|
|
273
|
-
|| progress.completed % Math.max(1, Math.floor(progress.total / 10)) === 0;
|
|
274
|
-
if (!milestone)
|
|
275
|
-
return;
|
|
276
|
-
const now = Date.now();
|
|
277
|
-
if (now - lastHeartbeatAt < 5_000)
|
|
278
|
-
return;
|
|
279
|
-
lastHeartbeatAt = now;
|
|
280
|
-
const percent = Math.floor((completed / total) * 100);
|
|
281
|
-
ctx.pushTelemetry?.({
|
|
282
|
-
source: "engine:derivation",
|
|
283
|
-
kind: "embed_progress",
|
|
284
|
-
message: `Indexing repository semantics: ${percent}% (${completed}/${total})`,
|
|
285
|
-
completed,
|
|
286
|
-
total,
|
|
287
|
-
percent,
|
|
288
|
-
phase: progress.phase,
|
|
289
|
-
level: "info",
|
|
290
|
-
});
|
|
291
|
-
});
|
|
292
|
-
tick();
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
|
-
};
|
|
296
|
-
await Promise.all(Array.from({ length: Math.min(concurrency, work.length || 1) }, () => worker()));
|
|
297
|
-
};
|
|
298
|
-
// Each group stays on one worker: its representative completes the artifact, then every
|
|
299
|
-
// sibling attaches that same immutable result.
|
|
300
|
-
await workerPool([...groups.values()]);
|
|
301
|
-
}
|
|
302
84
|
}
|
|
303
85
|
//# sourceMappingURL=_entry-manifest.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_entry-manifest.js","sourceRoot":"","sources":["../../src/schemes/_entry-manifest.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,6FAA6F;AAC7F,8FAA8F;AAC9F,8FAA8F;AAC9F,gFAAgF;AAChF,gGAAgG;AAChG,sGAAsG;AACtG,4FAA4F;AAC5F,iGAAiG;AACjG,4EAA4E;AAC5E,EAAE;AACF,iGAAiG;AACjG,gGAAgG;AAGhG,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAsB,MAAM,0BAA0B,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,UAAU,MAAM,mBAAmB,CAAC;AAC3C,OAAO,aAAa,MAAM,sBAAsB,CAAC;AAQjD,MAAM,CAAC,OAAO,OAAO,aAAa;IAC9B,8EAA8E;IAC9E,wFAAwF;IACxF,MAAM,CAAC,MAAM,CAAC,MAAqB,EAAE,QAAgB;QACjD,qFAAqF;QACrF,mFAAmF;QACnF,IAAI,MAAM,KAAK,MAAM;YAAE,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACzD,IAAI,MAAM,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,UAAU,QAAQ,oFAAoF,CAAC,CAAC;QAC7I,uFAAuF;QACvF,uFAAuF;QACvF,qEAAqE;QACrE,OAAO,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED,2FAA2F;IAC3F,0FAA0F;IAC1F,oFAAoF;IACpF,0FAA0F;IAC1F,6FAA6F;IAC7F,uDAAuD;IACvD,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,GAAwB,EAAE,YAA4B,EAAE,OAAgB;QAChG,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC;QACrD,IAAI,SAAS,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;QACvH,IAAI,QAAQ,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,2FAA2F,CAAC,CAAC;QACzI,MAAM,GAAG,GAAG,OAAO,KAAK,SAAS;YAC7B,CAAC,CAAC,MAAM,EAAE,CAAC,6BAA6B,CAAC,GAAG,CAAc,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;YACxF,CAAC,CAAC,MAAM,EAAE,CAAC,0BAA0B,CAAC,GAAG,CAAc,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7G,MAAM,IAAI,GAAG,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC;QAC7F,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAoB,CAAC;QAC7C,MAAM,OAAO,GAAG,OAAO,KAAK,SAAS;YACjC,CAAC,CAAC,MAAM,EAAE,CAAC,gCAAgC,CAAC,GAAG,CAAoC,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;YACjH,CAAC,CAAC,MAAM,EAAE,CAAC,6BAA6B,CAAC,GAAG,CAAoC,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACtI,KAAK,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,OAAO,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACpC,IAAI,IAAI,KAAK,SAAS;gBAAE,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;;gBAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/E,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAwB,CAAC;QAChD,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;YACxD,IAAI,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACtB,KAAK,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;gBAC/B,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBACtC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;oBAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;gBAC7D,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC7B,CAAC;YACD,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;gBAAE,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;YACjF,kFAAkF;YAClF,oFAAoF;YACpF,IAAI,UAAkB,CAAC;YACvB,IAAI,CAAC;gBAAC,UAAU,GAAG,CAAC,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;YAAC,CAAC;YACtH,MAAM,CAAC;gBAAC,UAAU,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;YAAC,CAAC;YACjF,MAAM,SAAS,GAAG,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC;YAC9D,MAAM,UAAU,GAAG,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YACvF,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;QAC1G,CAAC;QACD,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,0EAA0E;IAC1E,iFAAiF;IACjF,gFAAgF;IAChF,4EAA4E;IAC5E,6EAA6E;IAC7E,kEAAkE;IAClE,8EAA8E;IAC9E,qDAAqD;IACrD,MAAM,CAAC,aAAa,GAAG,IAAI,GAAG,EAAyB,CAAC;IAExD,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,GAAwB,EAAE,CAA4E,EAAE,IAAY,EAAE,WAAoB,EAAE,cAAkC,EAAE,UAAsG;QACzS,MAAM,KAAK,GAAG,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACzE,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC;QACtH,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,0EAA0E;QAC5G,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5C,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YACnB,IAAI,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI;gBAAE,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjG,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACf,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAwB,EAAE,CAA4E,EAAE,IAAY,EAAE,WAAoB,EAAE,cAAkC,EAAE,UAAsG;QAClT,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC;QAC9B,IAAI,SAAS,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACrF,IAAI,QAAQ,GAAG,MAAM,EAAE,CAAC,cAAc,CAAC,GAAG,CAAiD,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChH,IAAI,QAAQ,EAAE,KAAK,KAAK,UAAU,EAAE,CAAC;YACjC,MAAM,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5E,OAAO;QACX,CAAC;QACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzB,QAAQ,GAAG,MAAM,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAoC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtG,CAAC;QACD,IAAI,QAAQ,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,IAAI,EAAE,CAAC,CAAC;QAC5F,MAAM,YAAY,GAAG,QAAQ,CAAC,EAAE,CAAC;QACjC,MAAM,cAAc,GAAG,KAAK,EAAE,WAAyE,EAAE,MAAM,GAAkB,IAAI,EAAiB,EAAE;YACpJ,MAAM,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;YACvF,MAAM,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChF,CAAC,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACvF,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,UAAU,CAAC,YAAY,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACxD,MAAM,aAAa,CAAC,QAAQ,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;YACnD,MAAM,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;YACpE,MAAM,cAAc,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;YACjD,OAAO;QACX,CAAC;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,MAAM,UAAU,CAAC,YAAY,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACxD,MAAM,aAAa,CAAC,QAAQ,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;YACnD,MAAM,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;YACpE,MAAM,cAAc,CAAC,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YACjF,OAAO;QACX,CAAC;QACD,IAAI,CAAC;YACD,IAAI,MAAqB,CAAC;YAC1B,IAAI,CAAC;gBACD,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,8OAA8O;gBAChY,MAAM,UAAU,CAAC,YAAY,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;YACnG,CAAC;YAAC,MAAM,CAAC;gBACL,kFAAkF;gBAClF,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC/G,MAAM,UAAU,CAAC,YAAY,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YAC5D,CAAC;YACD,uEAAuE;YACvE,wEAAwE;YACxE,sEAAsE;YACtE,+EAA+E;YAC/E,iFAAiF;YACjF,gFAAgF;YAChF,mFAAmF;YACnF,wDAAwD;YACxD,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC;YACnD,MAAM,aAAa,CAAC,QAAQ,CAAC,EAAE,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;YAC/D,qFAAqF;YACrF,IAAI,aAAa,CAAC,kBAAkB,CAAC,cAAc,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC5D,MAAM,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;gBACpE,MAAM,cAAc,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;gBAClD,OAAO;YACX,CAAC;YACD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,MAAM,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;gBACpE,MAAM,cAAc,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;gBACxD,OAAO;YACX,CAAC;YACD,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,aAAa,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAC9J,MAAM,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YACpE,MAAM,cAAc,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC;QAC1H,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI;gBAAE,MAAM,KAAK,CAAC;YAC9C,MAAM,UAAU,CAAC,YAAY,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACxD,MAAM,aAAa,CAAC,QAAQ,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;YACnD,MAAM,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;YACpE,MAAM,cAAc,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3F,CAAC;IACL,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAwB;QACrD,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC;QAC3C,IAAI,SAAS,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;QAC7H,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,6BAA6B,CAAC,GAAG,CAAc,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC;QACpG,qFAAqF;QACrF,yEAAyE;QACzE,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACtE,wGAAwG;QACxG,kGAAkG;QAClG,wGAAwG;QACxG,MAAM,WAAW,GAAG,UAAU,KAAK,YAAY,CAAC;QAChD,uFAAuF;QACvF,wFAAwF;QACxF,4FAA4F;QAC5F,MAAM,OAAO,GAAgF,EAAE,CAAC;QAChG,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACnB,IAAI,CAAC,CAAC,OAAO,KAAK,MAAM;gBAAE,SAAS,CAAC,4CAA4C;YAChF,oEAAoE;YACpE,gEAAgE;YAChE,kEAAkE;YAClE,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM;gBACtC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAClC,CAAC,CAAC,SAAS,CAAC;YAChB,MAAM,mBAAmB,GAAG,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,cAAc,EAAE,CAAC;YACrG,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC3K,IAAI,IAAI,KAAK,CAAC,CAAC,SAAS;gBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,sDAAsD;QAC/H,CAAC;QACD,0FAA0F;QAC1F,2FAA2F;QAC3F,wFAAwF;QACxF,wFAAwF;QACxF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAChE,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,MAAM,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oCAAoC;QACtG,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,MAAM,IAAI,GAAG,GAAS,EAAE;YACpB,SAAS,EAAE,CAAC;YACZ,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,KAAK,IAAI,SAAS,GAAG,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;gBACtD,GAAG,CAAC,aAAa,EAAE,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,kCAAkC,OAAO,MAAM,SAAS,IAAI,KAAK,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAC1M,CAAC;QACL,CAAC,CAAC;QAEF,0FAA0F;QAC1F,6EAA6E;QAC7E,MAAM,MAAM,GAAG,IAAI,GAAG,EAAuF,CAAC;QAC9G,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACtB,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,CAAC,KAAK,SAAS;gBAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;;gBAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC;QACrE,MAAM,KAAK,GAAG,oBAAoB,EAAE,CAAC;QACrC,MAAM,qBAAqB,GAAG,cAAc,KAAK,SAAS,IAAI,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE;YACtF,yEAAyE;YACzE,mEAAmE;YACnE,+DAA+D;YAC/D,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAC3C,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,qBAAqB,CAAC,IAAI,qBAAqB,KAAK,CAAC,IAAI,qBAAqB,GAAG,CAAC,CAAC,EAAE,CAAC;YACxG,MAAM,IAAI,UAAU,CAAC,yFAAyF,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QACpJ,CAAC;QACD,MAAM,WAAW,GAAG,qBAAqB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC;QAClG,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,MAAM,UAAU,GAAG,KAAK,EAAE,IAAwF,EAAiB,EAAE;YACjI,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,MAAM,MAAM,GAAG,KAAK,IAAmB,EAAE;gBACrC,OAAO,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;oBACxB,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI;wBAAE,OAAO;oBACzC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC3B,KAAK,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,KAAK,EAAE,CAAC;wBAC9C,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;4BAAE,OAAO;wBACzC,MAAM,aAAa,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,QAAQ,EAAE,EAAE;4BAClF,IAAI,IAAI,KAAK,CAAC,IAAI,QAAQ,CAAC,KAAK,IAAI,CAAC;gCAAE,OAAO;4BAC9C,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,KAAK,QAAQ,CAAC,KAAK;mCAChD,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;4BAC/E,IAAI,CAAC,SAAS;gCAAE,OAAO;4BACvB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;4BACvB,IAAI,GAAG,GAAG,eAAe,GAAG,KAAK;gCAAE,OAAO;4BAC1C,eAAe,GAAG,GAAG,CAAC;4BACtB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;4BACtD,GAAG,CAAC,aAAa,EAAE,CAAC;gCAChB,MAAM,EAAE,mBAAmB;gCAC3B,IAAI,EAAE,gBAAgB;gCACtB,OAAO,EAAE,kCAAkC,OAAO,MAAM,SAAS,IAAI,KAAK,GAAG;gCAC7E,SAAS;gCACT,KAAK;gCACL,OAAO;gCACP,KAAK,EAAE,QAAQ,CAAC,KAAK;gCACrB,KAAK,EAAE,MAAM;6BAChB,CAAC,CAAC;wBACP,CAAC,CAAC,CAAC;wBACH,IAAI,EAAE,CAAC;oBACX,CAAC;gBACL,CAAC;YACL,CAAC,CAAC;YACF,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACvG,CAAC,CAAC;QACF,wFAAwF;QACxF,+CAA+C;QAC/C,MAAM,UAAU,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC3C,CAAC;CAEJ"}
|
|
1
|
+
{"version":3,"file":"_entry-manifest.js","sourceRoot":"","sources":["../../src/schemes/_entry-manifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,35 +1,30 @@
|
|
|
1
|
-
import type { EditStatement, ReadStatement } from "@plurnk/plurnk-
|
|
1
|
+
import type { EditStatement, ReadStatement } from "@plurnk/plurnk-contracts";
|
|
2
2
|
import type { PlurnkSchemeContext, SchemeManifest } from "../core/scheme-types.ts";
|
|
3
3
|
import type { EditBatchReceipt } from "../content/index.ts";
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
import type { TextRegion } from "@plurnk/plurnk-contracts";
|
|
5
|
+
import { type MatchEvidence, type SchemeResultBase } from "../core/results.ts";
|
|
6
|
+
export type EditResult = SchemeResultBase & {
|
|
6
7
|
entryId: number | null;
|
|
7
8
|
channel: string | null;
|
|
8
9
|
editReceipt?: EditBatchReceipt | null;
|
|
9
|
-
error?: string;
|
|
10
10
|
};
|
|
11
|
-
export type ReadResult = {
|
|
12
|
-
status: number;
|
|
11
|
+
export type ReadResult = SchemeResultBase & {
|
|
13
12
|
content: string | null;
|
|
14
13
|
mimetype: string | null;
|
|
15
14
|
channel: string | null;
|
|
16
15
|
startLine?: number | null;
|
|
17
|
-
|
|
16
|
+
region?: TextRegion;
|
|
17
|
+
matches?: ReadonlyArray<MatchEvidence>;
|
|
18
18
|
reason?: string;
|
|
19
|
-
error?: string;
|
|
20
19
|
awaitWorker?: string;
|
|
21
20
|
};
|
|
22
|
-
export type OpenFoldResult =
|
|
23
|
-
status: number;
|
|
24
|
-
};
|
|
21
|
+
export type OpenFoldResult = SchemeResultBase;
|
|
25
22
|
export default class EntryOps {
|
|
26
23
|
#private;
|
|
27
24
|
static editWorkspaceEntryBatch(statements: readonly EditStatement[], ctx: PlurnkSchemeContext, manifest: SchemeManifest, explicitOwnerId?: number): Promise<EditResult>;
|
|
28
25
|
static deleteWorkspaceEntry(statement: {
|
|
29
26
|
target: EditStatement["target"];
|
|
30
|
-
}, ctx: PlurnkSchemeContext, manifest: SchemeManifest, explicitOwnerId?: number): Promise<
|
|
31
|
-
status: number;
|
|
32
|
-
}>;
|
|
27
|
+
}, ctx: PlurnkSchemeContext, manifest: SchemeManifest, explicitOwnerId?: number): Promise<SchemeResultBase>;
|
|
33
28
|
static readWorkspaceEntry(statement: ReadStatement, ctx: PlurnkSchemeContext, manifest: SchemeManifest, explicitOwnerId?: number): Promise<ReadResult>;
|
|
34
29
|
}
|
|
35
30
|
//# sourceMappingURL=_entry-ops.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_entry-ops.d.ts","sourceRoot":"","sources":["../../src/schemes/_entry-ops.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"_entry-ops.d.ts","sourceRoot":"","sources":["../../src/schemes/_entry-ops.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAG7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAInF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAgB,EAAE,KAAK,aAAa,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAWxF,MAAM,MAAM,UAAU,GAAG,gBAAgB,GAAG;IAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,WAAW,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;CAAE,CAAC;AAStI,MAAM,MAAM,UAAU,GAAG,gBAAgB,GAAG;IACxC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,OAAO,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AACF,MAAM,MAAM,cAAc,GAAG,gBAAgB,CAAC;AAE9C,MAAM,CAAC,OAAO,OAAO,QAAQ;;IA2DzB,OAAa,uBAAuB,CAAC,UAAU,EAAE,SAAS,aAAa,EAAE,EAAE,GAAG,EAAE,mBAAmB,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CA0M5K;IAID,OAAa,oBAAoB,CAAC,SAAS,EAAE;QAAE,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;KAAE,EAAE,GAAG,EAAE,mBAAmB,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA8BzL;IAED,OAAa,kBAAkB,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,mBAAmB,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CA2G3J;CACJ"}
|