@plurnk/plurnk-service 1.6.1 → 1.8.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 +29 -42
- package/INSTALL.md +49 -10
- package/README.md +11 -1
- package/SPEC.md +702 -287
- package/digest-sql/channel-dispositions/dispositions.sql +15 -0
- package/digest-sql/channel-state/state.sql +6 -0
- package/digest-sql/curation/curation.sql +5 -0
- package/digest-sql/derivations/derivations.sql +4 -0
- package/digest-sql/embeddings/embeddings.sql +4 -0
- package/digest-sql/entry-dispositions/dispositions.sql +15 -0
- package/digest-sql/entry-state/state.sql +6 -0
- package/digest-sql/token-counts/token-counts.sql +2 -0
- package/dist/Paths.d.ts +2 -5
- package/dist/Paths.d.ts.map +1 -1
- package/dist/Paths.js +9 -21
- package/dist/Paths.js.map +1 -1
- package/dist/build-info.json +1 -1
- package/dist/content/read-projector.d.ts.map +1 -1
- package/dist/content/read-projector.js +4 -3
- package/dist/content/read-projector.js.map +1 -1
- package/dist/core/BudgetReadout.d.ts.map +1 -1
- package/dist/core/BudgetReadout.js +12 -22
- package/dist/core/BudgetReadout.js.map +1 -1
- package/dist/core/ChannelWrite.d.ts.map +1 -1
- package/dist/core/ChannelWrite.js.map +1 -1
- package/dist/core/ChannelWrite.sql +2 -1
- package/dist/core/ClientInteractions.d.ts +19 -0
- package/dist/core/ClientInteractions.d.ts.map +1 -0
- package/dist/core/ClientInteractions.js +124 -0
- package/dist/core/ClientInteractions.js.map +1 -0
- package/dist/core/ClientInteractions.sql +34 -0
- package/dist/core/CoreSchemeServices.d.ts +8 -2
- 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 +9 -6
- package/dist/core/Dispatcher.d.ts.map +1 -1
- package/dist/core/Dispatcher.js +74 -125
- package/dist/core/Dispatcher.js.map +1 -1
- package/dist/core/Engine.d.ts +26 -9
- package/dist/core/Engine.d.ts.map +1 -1
- package/dist/core/Engine.js +125 -44
- package/dist/core/Engine.js.map +1 -1
- package/dist/core/Engine.sql +112 -107
- package/dist/core/ExecutorRegistry.d.ts +19 -5
- package/dist/core/ExecutorRegistry.d.ts.map +1 -1
- package/dist/core/ExecutorRegistry.js +144 -18
- package/dist/core/ExecutorRegistry.js.map +1 -1
- package/dist/core/HostPaths.d.ts +29 -0
- package/dist/core/HostPaths.d.ts.map +1 -0
- package/dist/core/HostPaths.js +74 -0
- package/dist/core/HostPaths.js.map +1 -0
- package/dist/core/LegacyHome.d.ts +10 -0
- package/dist/core/LegacyHome.d.ts.map +1 -0
- package/dist/core/LegacyHome.js +170 -0
- package/dist/core/LegacyHome.js.map +1 -0
- package/dist/core/LogBody.d.ts +1 -1
- package/dist/core/LogBody.d.ts.map +1 -1
- package/dist/core/LogBody.js +2 -2
- package/dist/core/LogBody.js.map +1 -1
- package/dist/core/LogEntryProjection.js +1 -1
- package/dist/core/LogEntryProjection.js.map +1 -1
- package/dist/core/LogVisibility.d.ts +28 -0
- package/dist/core/LogVisibility.d.ts.map +1 -0
- package/dist/core/LogVisibility.js +215 -0
- package/dist/core/LogVisibility.js.map +1 -0
- package/dist/core/LoopLifecycle.d.ts +1 -0
- package/dist/core/LoopLifecycle.d.ts.map +1 -1
- package/dist/core/LoopLifecycle.js +8 -0
- package/dist/core/LoopLifecycle.js.map +1 -1
- package/dist/core/LoopLifecycle.sql +10 -0
- package/dist/core/OperatorConfig.d.ts +6 -0
- package/dist/core/OperatorConfig.d.ts.map +1 -0
- package/dist/core/OperatorConfig.js +92 -0
- package/dist/core/OperatorConfig.js.map +1 -0
- package/dist/core/OverflowTurn.d.ts +11 -0
- package/dist/core/OverflowTurn.d.ts.map +1 -0
- package/dist/core/OverflowTurn.js +77 -0
- package/dist/core/OverflowTurn.js.map +1 -0
- package/dist/core/Owner.js +2 -2
- package/dist/core/Owner.js.map +1 -1
- package/dist/core/PacketBuilder.d.ts +3 -15
- package/dist/core/PacketBuilder.d.ts.map +1 -1
- package/dist/core/PacketBuilder.js +52 -113
- package/dist/core/PacketBuilder.js.map +1 -1
- package/dist/core/ProblemLog.js +1 -1
- package/dist/core/ProblemLog.js.map +1 -1
- package/dist/core/ProposalLifecycle.d.ts +3 -1
- package/dist/core/ProposalLifecycle.d.ts.map +1 -1
- package/dist/core/ProposalLifecycle.js +9 -26
- package/dist/core/ProposalLifecycle.js.map +1 -1
- package/dist/core/ProviderInstantiate.d.ts +9 -5
- package/dist/core/ProviderInstantiate.d.ts.map +1 -1
- package/dist/core/ProviderInstantiate.js +99 -104
- package/dist/core/ProviderInstantiate.js.map +1 -1
- package/dist/core/ResourceMutations.d.ts +2 -2
- package/dist/core/ResourceMutations.d.ts.map +1 -1
- package/dist/core/ResourceMutations.js +13 -11
- package/dist/core/ResourceMutations.js.map +1 -1
- package/dist/core/SchemeRegistry.d.ts +18 -11
- package/dist/core/SchemeRegistry.d.ts.map +1 -1
- package/dist/core/SchemeRegistry.js +201 -53
- package/dist/core/SchemeRegistry.js.map +1 -1
- package/dist/core/ToolResources.d.ts +19 -0
- package/dist/core/ToolResources.d.ts.map +1 -0
- package/dist/core/ToolResources.js +122 -0
- package/dist/core/ToolResources.js.map +1 -0
- package/dist/core/Turn.d.ts +27 -0
- package/dist/core/Turn.d.ts.map +1 -0
- package/dist/core/Turn.js +43 -0
- package/dist/core/Turn.js.map +1 -0
- package/dist/core/Turn.sql +72 -0
- package/dist/core/TurnOps.d.ts +7 -0
- package/dist/core/TurnOps.d.ts.map +1 -0
- package/dist/core/TurnOps.js +63 -0
- package/dist/core/TurnOps.js.map +1 -0
- package/dist/core/TurnRunner.d.ts +15 -5
- package/dist/core/TurnRunner.d.ts.map +1 -1
- package/dist/core/TurnRunner.js +1050 -900
- package/dist/core/TurnRunner.js.map +1 -1
- package/dist/core/WorkerName.d.ts +1 -1
- package/dist/core/WorkerName.d.ts.map +1 -1
- package/dist/core/WorkspaceGate.d.ts +1 -0
- package/dist/core/WorkspaceGate.d.ts.map +1 -1
- package/dist/core/WorkspaceGate.js +39 -0
- package/dist/core/WorkspaceGate.js.map +1 -1
- package/dist/core/caps/CoreInteractionCaps.d.ts +9 -0
- package/dist/core/caps/CoreInteractionCaps.d.ts.map +1 -0
- package/dist/core/caps/CoreInteractionCaps.js +14 -0
- package/dist/core/caps/CoreInteractionCaps.js.map +1 -0
- package/dist/core/caps/SchemeCtxImpl.d.ts +2 -1
- package/dist/core/caps/SchemeCtxImpl.d.ts.map +1 -1
- package/dist/core/caps/SchemeCtxImpl.js +3 -0
- package/dist/core/caps/SchemeCtxImpl.js.map +1 -1
- package/dist/core/env-defaults.d.ts.map +1 -1
- package/dist/core/env-defaults.js +7 -5
- package/dist/core/env-defaults.js.map +1 -1
- package/dist/core/fork.d.ts.map +1 -1
- package/dist/core/fork.js +15 -4
- package/dist/core/fork.js.map +1 -1
- package/dist/core/fork.sql +57 -27
- package/dist/core/git-env.d.ts +0 -1
- package/dist/core/git-env.d.ts.map +1 -1
- package/dist/core/git-env.js +0 -3
- package/dist/core/git-env.js.map +1 -1
- package/dist/core/git-membership.d.ts.map +1 -1
- package/dist/core/git-membership.js +10 -26
- package/dist/core/git-membership.js.map +1 -1
- package/dist/core/git-state.d.ts.map +1 -1
- package/dist/core/git-state.js +13 -14
- package/dist/core/git-state.js.map +1 -1
- package/dist/core/operation-target-groups.d.ts +3 -0
- package/dist/core/operation-target-groups.d.ts.map +1 -0
- package/dist/core/operation-target-groups.js +53 -0
- package/dist/core/operation-target-groups.js.map +1 -0
- package/dist/core/packet-inject.d.ts +0 -1
- package/dist/core/packet-inject.d.ts.map +1 -1
- package/dist/core/packet-inject.js +6 -13
- package/dist/core/packet-inject.js.map +1 -1
- package/dist/core/packet-wire.d.ts +4 -0
- package/dist/core/packet-wire.d.ts.map +1 -1
- package/dist/core/packet-wire.js +208 -44
- package/dist/core/packet-wire.js.map +1 -1
- package/dist/core/plurnk-uri.d.ts +1 -1
- package/dist/core/plurnk-uri.d.ts.map +1 -1
- package/dist/core/plurnk-uri.js +3 -3
- package/dist/core/plurnk-uri.js.map +1 -1
- package/dist/core/scheme-types.d.ts +2 -1
- package/dist/core/scheme-types.d.ts.map +1 -1
- package/dist/core/scheme-types.js.map +1 -1
- package/dist/core/teaching.d.ts.map +1 -1
- package/dist/core/teaching.js +4 -5
- package/dist/core/teaching.js.map +1 -1
- package/dist/core/worker-settings.d.ts +9 -0
- package/dist/core/worker-settings.d.ts.map +1 -0
- package/dist/core/worker-settings.js +25 -0
- package/dist/core/worker-settings.js.map +1 -0
- package/dist/core/workspace-settings.d.ts +0 -11
- package/dist/core/workspace-settings.d.ts.map +1 -1
- package/dist/core/workspace-settings.js +3 -47
- package/dist/core/workspace-settings.js.map +1 -1
- package/dist/digest/Digest.d.ts.map +1 -1
- package/dist/digest/Digest.js +164 -92
- package/dist/digest/Digest.js.map +1 -1
- package/dist/digest/digest.sql +8 -2
- package/dist/observe/genai.d.ts +9 -0
- package/dist/observe/genai.d.ts.map +1 -0
- package/dist/observe/genai.js +31 -0
- package/dist/observe/genai.js.map +1 -0
- package/dist/observe/spans.d.ts +3 -3
- package/dist/observe/spans.d.ts.map +1 -1
- package/dist/observe/spans.js +20 -5
- package/dist/observe/spans.js.map +1 -1
- package/dist/schemes/EffectPolicy.d.ts +3 -0
- package/dist/schemes/EffectPolicy.d.ts.map +1 -1
- package/dist/schemes/EffectPolicy.js +38 -6
- package/dist/schemes/EffectPolicy.js.map +1 -1
- package/dist/schemes/Exec.d.ts.map +1 -1
- package/dist/schemes/Exec.js +82 -18
- package/dist/schemes/Exec.js.map +1 -1
- package/dist/schemes/Log.d.ts +6 -2
- package/dist/schemes/Log.d.ts.map +1 -1
- package/dist/schemes/Log.js +73 -22
- package/dist/schemes/Log.js.map +1 -1
- package/dist/schemes/Log.sql +25 -7
- package/dist/schemes/Prompt.d.ts.map +1 -1
- package/dist/schemes/Prompt.js +1 -2
- package/dist/schemes/Prompt.js.map +1 -1
- package/dist/schemes/QuestionTool.d.ts +10 -0
- package/dist/schemes/QuestionTool.d.ts.map +1 -0
- package/dist/schemes/QuestionTool.js +81 -0
- package/dist/schemes/QuestionTool.js.map +1 -0
- package/dist/schemes/Skill.d.ts.map +1 -1
- package/dist/schemes/Skill.js +4 -1
- package/dist/schemes/Skill.js.map +1 -1
- package/dist/schemes/Worker.d.ts.map +1 -1
- package/dist/schemes/Worker.js +20 -3
- package/dist/schemes/Worker.js.map +1 -1
- package/dist/schemes/_entry-crud.sql +19 -1
- package/dist/schemes/_entry-find.d.ts +5 -3
- package/dist/schemes/_entry-find.d.ts.map +1 -1
- package/dist/schemes/_entry-find.js +102 -22
- package/dist/schemes/_entry-find.js.map +1 -1
- package/dist/schemes/_entry-find.sql +8 -6
- package/dist/schemes/_entry-graph.sql +2 -6
- package/dist/schemes/_entry-manifest.d.ts.map +1 -1
- package/dist/schemes/_entry-manifest.js +12 -1
- package/dist/schemes/_entry-manifest.js.map +1 -1
- package/dist/schemes/_search-index.d.ts.map +1 -1
- package/dist/schemes/_search-index.js +37 -25
- package/dist/schemes/_search-index.js.map +1 -1
- package/dist/server/Daemon.d.ts +69 -12
- package/dist/server/Daemon.d.ts.map +1 -1
- package/dist/server/Daemon.js +737 -133
- package/dist/server/Daemon.js.map +1 -1
- package/dist/server/DaemonModule.d.ts +31 -3
- package/dist/server/DaemonModule.d.ts.map +1 -1
- package/dist/server/DrainSupervisor.d.ts +12 -9
- package/dist/server/DrainSupervisor.d.ts.map +1 -1
- package/dist/server/DrainSupervisor.js +59 -10
- package/dist/server/DrainSupervisor.js.map +1 -1
- package/dist/server/client-input.d.ts +7 -2
- package/dist/server/client-input.d.ts.map +1 -1
- package/dist/server/client-input.js +65 -34
- package/dist/server/client-input.js.map +1 -1
- package/dist/server/dispatch-as-plurnk.d.ts.map +1 -1
- package/dist/server/dispatch-as-plurnk.js +28 -6
- package/dist/server/dispatch-as-plurnk.js.map +1 -1
- package/dist/server/drain.sql +26 -11
- package/dist/server/envelope.d.ts +1 -1
- package/dist/server/envelope.d.ts.map +1 -1
- package/dist/server/envelope.js +4 -4
- package/dist/server/envelope.js.map +1 -1
- package/dist/server/envelope.sql +25 -1
- package/dist/server/lifecycle-recovery.sql +17 -1
- package/dist/server/logEntry.d.ts +2 -1
- package/dist/server/logEntry.d.ts.map +1 -1
- package/dist/server/logEntry.js +3 -2
- package/dist/server/logEntry.js.map +1 -1
- package/dist/server/logEntry.sql +7 -0
- package/dist/server/loop-model.d.ts +2 -2
- package/dist/server/loop-model.d.ts.map +1 -1
- package/dist/server/loop-model.js +23 -33
- package/dist/server/loop-model.js.map +1 -1
- package/dist/server/loopDocs.d.ts +1 -0
- package/dist/server/loopDocs.d.ts.map +1 -1
- package/dist/server/loopDocs.js +94 -14
- package/dist/server/loopDocs.js.map +1 -1
- package/dist/server/loopDocs.sql +12 -0
- package/dist/server/model-catalog.d.ts +3 -0
- package/dist/server/model-catalog.d.ts.map +1 -0
- package/dist/server/model-catalog.js +83 -0
- package/dist/server/model-catalog.js.map +1 -0
- package/dist/server/model-route.d.ts +7 -0
- package/dist/server/model-route.d.ts.map +1 -0
- package/dist/server/model-route.js +47 -0
- package/dist/server/model-route.js.map +1 -0
- package/dist/server/module-discovery.d.ts +13 -0
- package/dist/server/module-discovery.d.ts.map +1 -0
- package/dist/server/module-discovery.js +78 -0
- package/dist/server/module-discovery.js.map +1 -0
- package/dist/server/skillDocs.d.ts +9 -0
- package/dist/server/skillDocs.d.ts.map +1 -0
- package/dist/server/skillDocs.js +212 -0
- package/dist/server/skillDocs.js.map +1 -0
- package/dist/server/skillDocs.sql +14 -0
- package/dist/server/workspace-capabilities.sql +19 -0
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +182 -123
- package/dist/service.js.map +1 -1
- package/migrations/001_schema.sql +455 -65
- package/package.json +38 -37
- package/dist/core/ExecutableTools.d.ts +0 -10
- package/dist/core/ExecutableTools.d.ts.map +0 -1
- package/dist/core/ExecutableTools.js +0 -41
- package/dist/core/ExecutableTools.js.map +0 -1
- package/dist/core/JournalTurn.d.ts +0 -9
- package/dist/core/JournalTurn.d.ts.map +0 -1
- package/dist/core/JournalTurn.js +0 -14
- package/dist/core/JournalTurn.js.map +0 -1
- package/dist/core/JournalTurn.sql +0 -10
- package/dist/core/git-iso.d.ts +0 -13
- package/dist/core/git-iso.d.ts.map +0 -1
- package/dist/core/git-iso.js +0 -267
- package/dist/core/git-iso.js.map +0 -1
- package/dist/core/search-gate.d.ts +0 -17
- package/dist/core/search-gate.d.ts.map +0 -1
- package/dist/core/search-gate.js +0 -77
- package/dist/core/search-gate.js.map +0 -1
- package/dist/digest/Digest.sql +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envelope.d.ts","sourceRoot":"","sources":["../../src/server/envelope.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAExC,OAAgB,EAAyB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAcvF,MAAM,WAAW,YAAY;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,GAAG,QAAQ,GAAG,
|
|
1
|
+
{"version":3,"file":"envelope.d.ts","sourceRoot":"","sources":["../../src/server/envelope.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAExC,OAAgB,EAAyB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAcvF,MAAM,WAAW,YAAY;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;CAC1C;AAKD,MAAM,WAAW,cAAc;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,CAAC,OAAO,OAAO,QAAQ;;IAUzB,MAAM,CAAC,qBAAqB,IAAI,MAAM,CAErC;IAED,OAAa,oBAAoB,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,GAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,cAAc,CAAC,CA+BhK;IAgED,OAAa,iBAAiB,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,cAAc,CAAC,CAiB1I;IAID,OAAa,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAIvE;IAQD,OAAa,iBAAiB,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAehH;IAED,OAAa,iBAAiB,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAS3E;IAKD,OAAa,kBAAkB,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAM5E;IAED,OAAa,uBAAuB,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAEtF;IAID,OAAa,uBAAuB,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAGlG;IAED,OAAa,eAAe,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAUxF;IAED,OAAa,cAAc,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAE3D;IAKD,OAAa,mBAAmB,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA2B3F;CACJ"}
|
package/dist/server/envelope.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
//
|
|
3
3
|
// A client-interface module receives this value from an explicit workspace create
|
|
4
4
|
// or attach call. Core creates or selects the client worker but retains no transport
|
|
5
|
-
// binding; each dispatched client action allocates and settles its own
|
|
5
|
+
// binding; each dispatched client action allocates and settles its own administrative loop.
|
|
6
6
|
import GitMembership from "../core/git-membership.js";
|
|
7
7
|
import Results, { OperationFailureError } from "../core/results.js";
|
|
8
8
|
import LoopLifecycle from "../core/LoopLifecycle.js";
|
|
@@ -103,8 +103,8 @@ export default class Envelope {
|
|
|
103
103
|
workerId: worker.id, workerName: worker.name,
|
|
104
104
|
};
|
|
105
105
|
}
|
|
106
|
-
// Client action
|
|
107
|
-
// statements become ordered turns and settlement closes the
|
|
106
|
+
// Client action loop allocator. One action allocates one administrative
|
|
107
|
+
// loop; its statements become ordered turns and settlement closes the loop.
|
|
108
108
|
static async ensureClientLoop(db, workerId) {
|
|
109
109
|
const loop = await db.envelope_insert_client_loop.get({ worker_id: workerId });
|
|
110
110
|
if (loop === undefined)
|
|
@@ -151,7 +151,7 @@ export default class Envelope {
|
|
|
151
151
|
const existing = await db.envelope_get_worker_by_name.get({ workspace_id: workspaceId, name: "plurnk" });
|
|
152
152
|
if (existing !== undefined)
|
|
153
153
|
return existing.id;
|
|
154
|
-
const worker = await db.envelope_insert_worker.get({ workspace_id: workspaceId, name: "plurnk", origin: "
|
|
154
|
+
const worker = await db.envelope_insert_worker.get({ workspace_id: workspaceId, name: "plurnk", origin: "_plurnk" });
|
|
155
155
|
if (worker === undefined)
|
|
156
156
|
throw new Error("ensurePlurnkWorker: worker insert returned no row");
|
|
157
157
|
return worker.id;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envelope.js","sourceRoot":"","sources":["../../src/server/envelope.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,EAAE;AACF,kFAAkF;AAClF,qFAAqF;AACrF,
|
|
1
|
+
{"version":3,"file":"envelope.js","sourceRoot":"","sources":["../../src/server/envelope.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,EAAE;AACF,kFAAkF;AAClF,qFAAqF;AACrF,4FAA4F;AAG5F,OAAO,aAAa,MAAM,2BAA2B,CAAC;AACtD,OAAO,OAAO,EAAE,EAAE,qBAAqB,EAAqB,MAAM,oBAAoB,CAAC;AACvF,OAAO,aAAa,MAAM,0BAA0B,CAAC;AACrD,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAE/C,MAAM,eAAe,GAAG,CACpB,KAAa,EACb,IAAY,EACZ,MAAc,EACd,MAAc,EACd,UAAU,GAAsC,EAAE,EAC7B,EAAE,CAAC,IAAI,qBAAqB,CACjD,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,CAAC,CAC/D,CAAC;AA2BF,MAAM,CAAC,OAAO,OAAO,QAAQ;IACzB,gFAAgF;IAChF,8EAA8E;IAC9E,+DAA+D;IAC/D,MAAM,CAAC,OAAO,CAAC,MAAc;QACzB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAChF,OAAO,GAAG,MAAM,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,qBAAqB;QACxB,OAAO,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAM,EAAE,IAAI,GAAuF,EAAE;QACnI,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,CAAC,CAAC;QACvE,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC;QAC7C,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,yBAAyB,CAAC,GAAG,CAA4D,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC,CAAC;QAC1L,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,eAAe,CACjB,kBAAkB,EAClB,eAAe,EACf,GAAG,EACH,mBAAmB,IAAI,sBAAsB,EAC7C;gBACI,IAAI;gBACJ,QAAQ,EAAE,oEAAoE;gBAC9E,SAAS,EAAE,KAAK;aACnB,CACJ,CAAC;QACN,CAAC;QACD,kFAAkF;QAClF,2EAA2E;QAC3E,6CAA6C;QAC7C,MAAM,aAAa,CAAC,oBAAoB,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE;YAC1C,WAAW,EAAE,SAAS,CAAC,EAAE;YACzB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,QAAQ;SACnB,CAAC,CAAC;QACH,OAAO;YACH,WAAW,EAAE,SAAS,CAAC,EAAE,EAAE,aAAa,EAAE,SAAS,CAAC,IAAI;YACxD,WAAW,EAAE,SAAS,CAAC,YAAY;YACnC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI;SAC/C,CAAC;IACN,CAAC;IAED,sDAAsD;IACtD,gFAAgF;IAChF,4FAA4F;IAC5F,iFAAiF;IACjF,gFAAgF;IAChF,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,EAAM,EAAE,WAAmB,EAAE,IAAgD;QACrG,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAC/D,MAAM,eAAe,CACjB,eAAe,EACf,0BAA0B,EAC1B,GAAG,EACH,iEAAiE,EACjE;gBACI,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,QAAQ,EAAE,yCAAyC;gBACnD,SAAS,EAAE,KAAK;aACnB,CACJ,CAAC;QACN,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,yBAAyB,CAAC,GAAG,CAAqD,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YACnI,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,eAAe,CACjB,eAAe,EACf,kBAAkB,EAClB,GAAG,EACH,UAAU,IAAI,CAAC,QAAQ,kBAAkB,EACzC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAC9B,CAAC;YACN,CAAC;YACD,IAAI,QAAQ,CAAC,YAAY,KAAK,WAAW,EAAE,CAAC;gBACxC,MAAM,eAAe,CACjB,eAAe,EACf,oBAAoB,EACpB,GAAG,EACH,UAAU,IAAI,CAAC,QAAQ,iCAAiC,WAAW,GAAG,EACtE;oBACI,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,WAAW;oBACX,iBAAiB,EAAE,QAAQ,CAAC,YAAY;oBACxC,SAAS,EAAE,KAAK;iBACnB,CACJ,CAAC;YACN,CAAC;YACD,OAAO,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QACpD,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,yBAAyB;YAChF,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,2BAA2B,CAAC,GAAG,CAA+B,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;YACzI,IAAI,QAAQ,KAAK,SAAS;gBAAE,OAAO,QAAQ,CAAC;YAC5C,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,sBAAsB,CAAC,GAAG,CAA+B,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;YACrJ,IAAI,OAAO,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAC3F,OAAO,OAAO,CAAC;QACnB,CAAC;QACD,OAAO,MAAM,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE;YAClC,WAAW;YACX,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,QAAQ;SACnB,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAM,EAAE,WAAmB,EAAE,IAAI,GAA+C,EAAE;QAC7G,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,sBAAsB,CAAC,GAAG,CAA4D,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QACtI,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,eAAe,CACjB,kBAAkB,EAClB,qBAAqB,EACrB,GAAG,EACH,aAAa,WAAW,kBAAkB,EAC1C,EAAE,WAAW,EAAE,CAClB,CAAC;QACN,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,cAAc,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACrE,OAAO;YACH,WAAW,EAAE,SAAS,CAAC,EAAE,EAAE,aAAa,EAAE,SAAS,CAAC,IAAI;YACxD,WAAW,EAAE,SAAS,CAAC,YAAY;YACnC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI;SAC/C,CAAC;IACN,CAAC;IAED,wEAAwE;IACxE,4EAA4E;IAC5E,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAM,EAAE,QAAgB;QAClD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,2BAA2B,CAAC,GAAG,CAAiB,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC/F,IAAI,IAAI,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACzF,OAAO,IAAI,CAAC,EAAE,CAAC;IACnB,CAAC;IAED,qHAAqH;IACrH,+EAA+E;IAC/E,gFAAgF;IAChF,gFAAgF;IAChF,8EAA8E;IAC9E,uFAAuF;IACvF,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAM,EAAE,WAAmB,EAAE,IAAa;QACrE,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrB,OAAO,MAAM,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE;gBAClC,WAAW;gBACX,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,OAAO;aAClB,CAAC,CAAC;QACP,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,sBAAsB,CAAC,GAAG,CAA+B;YAC7E,YAAY,EAAE,WAAW;YACzB,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;YAC7B,MAAM,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,IAAI,MAAM,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QAC9F,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAM,EAAE,WAAmB;QACtD,4EAA4E;QAC5E,yEAAyE;QACzE,iEAAiE;QACjE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,yBAAyB,CAAC,EAAE,EAAE;YAC1D,WAAW;YACX,MAAM,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,EAAE,CAAC;IACrB,CAAC;IAED,0EAA0E;IAC1E,4EAA4E;IAC5E,+EAA+E;IAC/E,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAM,EAAE,WAAmB;QACvD,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,2BAA2B,CAAC,GAAG,CAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACzH,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,QAAQ,CAAC,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,sBAAsB,CAAC,GAAG,CAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QACrI,IAAI,MAAM,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QAC/F,OAAO,MAAM,CAAC,EAAE,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAM,EAAE,WAAmB;QAC5D,OAAO,MAAM,EAAE,CAAC,mCAAmC,CAAC,GAAG,CAAY,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC;IACtG,CAAC;IAED,8EAA8E;IAC9E,uEAAuE;IACvE,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAM,EAAE,WAAmB,EAAE,KAAa;QAC3E,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,+BAA+B,CAAC,GAAG,CAAqB,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;QACpH,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,EAAM,EAAE,MAAc,EAAE,MAAoB;QACrE,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QACtD,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACtE,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,WAAW,MAAM,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,EAAE,CAAC,0BAA0B,CAAC,GAAG,CAAC;YACpC,MAAM,EAAE,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC;YACjD,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC7B,OAAO,EAAE,MAAM;SAClB,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,EAAM;QAC9B,OAAO,MAAM,EAAE,CAAC,wBAAwB,CAAC,GAAG,EAAgB,CAAC;IACjE,CAAC;IAED,qFAAqF;IACrF,sFAAsF;IACtF,+EAA+E;IAC/E,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAM,EAAE,WAAmB,EAAE,IAAY;QACtE,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,2BAA2B,CAAC,GAAG,CAA+B,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9G,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACpB,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,sBAAsB,CAAC,GAAG,CAAiB,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;YAC3F,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC1B,MAAM,eAAe,CACjB,kBAAkB,EAClB,eAAe,EACf,GAAG,EACH,mBAAmB,IAAI,sBAAsB,EAC7C;oBACI,WAAW;oBACX,IAAI;oBACJ,QAAQ,EAAE,gCAAgC;oBAC1C,SAAS,EAAE,KAAK;iBACnB,CACJ,CAAC;YACN,CAAC;YACD,MAAM,eAAe,CACjB,kBAAkB,EAClB,qBAAqB,EACrB,GAAG,EACH,aAAa,WAAW,kBAAkB,EAC1C,EAAE,WAAW,EAAE,CAClB,CAAC;QACN,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,CAAC;IACpB,CAAC;CACJ"}
|
package/dist/server/envelope.sql
CHANGED
|
@@ -28,7 +28,7 @@ RETURNING id, name;
|
|
|
28
28
|
|
|
29
29
|
-- PREP: envelope_insert_worker
|
|
30
30
|
-- origin is the worker's actor ({§machine-processes}): 'model' (the conversation),
|
|
31
|
-
-- 'client' (a connection's own worker), or '
|
|
31
|
+
-- 'client' (a connection's own worker), or '_plurnk' (the runtime self-hosting worker).
|
|
32
32
|
INSERT INTO workers (workspace_id, name, origin)
|
|
33
33
|
VALUES ($workspace_id, $name, $origin)
|
|
34
34
|
RETURNING id, name, origin;
|
|
@@ -45,6 +45,30 @@ FROM workers
|
|
|
45
45
|
WHERE workspace_id = $workspace_id
|
|
46
46
|
ORDER BY created_at DESC;
|
|
47
47
|
|
|
48
|
+
-- PREP: worker_settings_read
|
|
49
|
+
-- {§worker-settings} — the worker's own behavioral-rules bag.
|
|
50
|
+
SELECT settings FROM workers WHERE id = $id;
|
|
51
|
+
|
|
52
|
+
-- PREP: worker_settings_update
|
|
53
|
+
UPDATE workers
|
|
54
|
+
SET settings = $settings,
|
|
55
|
+
version = version + 1
|
|
56
|
+
WHERE id = $id
|
|
57
|
+
RETURNING id;
|
|
58
|
+
|
|
59
|
+
-- PREP: worker_generation_policy_read
|
|
60
|
+
-- {§worker-model-selection}/{§worker-reasoning-policy} — one durable generation policy.
|
|
61
|
+
SELECT model_route_id, spawn_model_route_id, reasoning_policy FROM workers WHERE id = $id;
|
|
62
|
+
|
|
63
|
+
-- PREP: worker_generation_policy_update
|
|
64
|
+
UPDATE workers
|
|
65
|
+
SET model_route_id = $model_route_id,
|
|
66
|
+
spawn_model_route_id = $spawn_model_route_id,
|
|
67
|
+
reasoning_policy = $reasoning_policy,
|
|
68
|
+
version = version + 1
|
|
69
|
+
WHERE id = $id
|
|
70
|
+
RETURNING id;
|
|
71
|
+
|
|
48
72
|
-- PREP: envelope_list_workspace_prompts
|
|
49
73
|
-- {§methods-workspace-prompts}: nonempty model-root loop seeds, newest-first;
|
|
50
74
|
-- spawned and forked children are not workspace-level user prompt history.
|
|
@@ -63,6 +63,16 @@ WHERE state = 'pending'
|
|
|
63
63
|
AND l.terminated_at IS NOT NULL
|
|
64
64
|
);
|
|
65
65
|
|
|
66
|
+
-- PREP: recovery_fail_open_turns
|
|
67
|
+
-- Every open turn has lost its process-local producer, including a narrow crash
|
|
68
|
+
-- window after its loop parked or queued. Provider evidence settles first; then
|
|
69
|
+
-- the producer-neutral lifecycle closes every unfinished container without
|
|
70
|
+
-- fabricating packet evidence.
|
|
71
|
+
UPDATE turns
|
|
72
|
+
SET status = 500,
|
|
73
|
+
completed_at = strftime('%Y-%m-%dT%H:%M:%fZ', 'now')
|
|
74
|
+
WHERE completed_at IS NULL;
|
|
75
|
+
|
|
66
76
|
-- PREP: recovery_fail_ownerless_proposals
|
|
67
77
|
-- {§worker-lifecycle-restart-recovery} Every proposed row depended on a
|
|
68
78
|
-- process-local resolution waiter. At boot that owner is necessarily gone, so
|
|
@@ -93,6 +103,12 @@ SET state = 'failed',
|
|
|
93
103
|
deep_hash = NULL
|
|
94
104
|
WHERE state = 'proposed';
|
|
95
105
|
|
|
106
|
+
-- PREP: recovery_remove_ownerless_client_interactions
|
|
107
|
+
-- The durable request can be re-presented only while its exact process-local
|
|
108
|
+
-- awaiting owner exists. No response was recorded, so recovery removes the
|
|
109
|
+
-- orphan instead of fabricating a cancellation or replaying its operation.
|
|
110
|
+
DELETE FROM client_interactions;
|
|
111
|
+
|
|
96
112
|
-- PREP: recovery_error_orphan_subscription_channels
|
|
97
113
|
-- Every open subscription belonged to a callable in the prior process. Mark its
|
|
98
114
|
-- active content terminal before closing the durable row, so an interruption
|
|
@@ -163,7 +179,7 @@ WHERE source.status IN (200, 413, 429, 499, 500, 504, 508)
|
|
|
163
179
|
AND e.pathname LIKE '/' || source.sequence || '/%'
|
|
164
180
|
AND NOT EXISTS (
|
|
165
181
|
SELECT 1 FROM log_entries le
|
|
166
|
-
WHERE le.loop_id = source.id AND le.origin = '
|
|
182
|
+
WHERE le.loop_id = source.id AND le.origin = '_plurnk' AND le.op = 'prompt'
|
|
167
183
|
AND le.scheme = 'prompt' AND le.pathname = e.pathname
|
|
168
184
|
)
|
|
169
185
|
)
|
|
@@ -11,7 +11,7 @@ export type LogEntryWire = {
|
|
|
11
11
|
origin: string;
|
|
12
12
|
source: string | null;
|
|
13
13
|
op: string | null;
|
|
14
|
-
|
|
14
|
+
delimiter: string;
|
|
15
15
|
signal: unknown;
|
|
16
16
|
scheme: string | null;
|
|
17
17
|
username: string | null;
|
|
@@ -30,6 +30,7 @@ export type LogEntryWire = {
|
|
|
30
30
|
weight: number;
|
|
31
31
|
attrs: unknown;
|
|
32
32
|
tags: string[];
|
|
33
|
+
reasoning?: string;
|
|
33
34
|
};
|
|
34
35
|
export default class LogEntry {
|
|
35
36
|
#private;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logEntry.d.ts","sourceRoot":"","sources":["../../src/server/logEntry.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAMxC,MAAM,MAAM,YAAY,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,
|
|
1
|
+
{"version":3,"file":"logEntry.d.ts","sourceRoot":"","sources":["../../src/server/logEntry.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAMxC,MAAM,MAAM,YAAY,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,OAAO,CAAC;IACpB,EAAE,EAAE,OAAO,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,EAAE,EAAE,OAAO,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,QAAQ;;IAsBzB,OAAa,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAoCpE;CACJ"}
|
package/dist/server/logEntry.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
export default class LogEntry {
|
|
5
5
|
static #parseJsonOrNull(v) {
|
|
6
6
|
// "" is the actionless-row sentinel for "no statement" (error and
|
|
7
|
-
//
|
|
7
|
+
// actionless source rows store tx="");
|
|
8
8
|
// JSON.parse("") throws, so an empty string is no-value → null, like NULL itself.
|
|
9
9
|
if (v === null || v === undefined || v === "")
|
|
10
10
|
return null;
|
|
@@ -39,7 +39,7 @@ export default class LogEntry {
|
|
|
39
39
|
origin: row.origin,
|
|
40
40
|
source: row.source,
|
|
41
41
|
op: row.op,
|
|
42
|
-
|
|
42
|
+
delimiter: row.delimiter,
|
|
43
43
|
signal: LogEntry.#parseJsonOrNull(row.signal),
|
|
44
44
|
scheme: row.scheme,
|
|
45
45
|
username: row.username,
|
|
@@ -58,6 +58,7 @@ export default class LogEntry {
|
|
|
58
58
|
weight: row.weight,
|
|
59
59
|
attrs: LogEntry.#parseJsonOrNull(row.attrs),
|
|
60
60
|
tags: LogEntry.#parseTags(row.tags),
|
|
61
|
+
...(typeof row.reasoning === "string" ? { reasoning: row.reasoning } : {}),
|
|
61
62
|
};
|
|
62
63
|
}
|
|
63
64
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logEntry.js","sourceRoot":"","sources":["../../src/server/logEntry.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,mEAAmE;AACnE,yCAAyC;
|
|
1
|
+
{"version":3,"file":"logEntry.js","sourceRoot":"","sources":["../../src/server/logEntry.ts"],"names":[],"mappings":"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"}
|
package/dist/server/logEntry.sql
CHANGED
|
@@ -4,6 +4,13 @@
|
|
|
4
4
|
-- loop_seq / turn_seq are the loop+turn ordinals (the logical coordinate clients
|
|
5
5
|
-- render, e.g. 01/02/03) — distinct from the loop_id/turn_id DB keys ({§methods-log-coordinate}).
|
|
6
6
|
SELECT le.*, l.sequence AS loop_seq, t.sequence AS turn_seq,
|
|
7
|
+
CASE
|
|
8
|
+
WHEN le.origin = 'model'
|
|
9
|
+
AND le.op = 'SEND'
|
|
10
|
+
AND json_type(t.packet, '$.assistant.reasoning') = 'text'
|
|
11
|
+
AND length(json_extract(t.packet, '$.assistant.reasoning')) > 0
|
|
12
|
+
THEN json_extract(t.packet, '$.assistant.reasoning')
|
|
13
|
+
END AS reasoning,
|
|
7
14
|
COALESCE((
|
|
8
15
|
SELECT json_group_array(tag)
|
|
9
16
|
FROM (SELECT tag FROM log_tags WHERE log_entry_id = le.id ORDER BY tag)
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { ProviderAlias } from "@plurnk/plurnk-providers";
|
|
2
|
-
export declare const
|
|
1
|
+
import type { ProviderAlias, ProviderSpec } from "@plurnk/plurnk-providers";
|
|
2
|
+
export declare const resolveLoopRoute: (selector: string | undefined, declared: readonly ProviderAlias[]) => ProviderSpec | null;
|
|
3
3
|
//# sourceMappingURL=loop-model.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop-model.d.ts","sourceRoot":"","sources":["../../src/server/loop-model.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"loop-model.d.ts","sourceRoot":"","sources":["../../src/server/loop-model.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAW5E,eAAO,MAAM,gBAAgB,aACf,MAAM,GAAG,SAAS,YAClB,SAAS,aAAa,EAAE,KACnC,YAAY,GAAG,IAsBjB,CAAC"}
|
|
@@ -1,39 +1,29 @@
|
|
|
1
|
+
import { resolveModelSelector } from "@plurnk/plurnk-providers";
|
|
1
2
|
import Results, { OperationFailureError } from "../core/results.js";
|
|
2
|
-
// {§methods-loop-run-model}: resolve a runLoop call's optional
|
|
3
|
-
//
|
|
3
|
+
// {§methods-loop-run-model}: resolve a runLoop call's optional selector to the
|
|
4
|
+
// ProviderSpec to instantiate, or null for "use the boot default". PURE (no env read, no
|
|
4
5
|
// construction) so the precedence + parse contract is hermetically testable; the Daemon wraps it
|
|
5
6
|
// with ProviderInstantiate + the #provider fallback.
|
|
6
7
|
//
|
|
7
|
-
//
|
|
8
|
-
// A malformed
|
|
9
|
-
// run the wrong model.
|
|
10
|
-
export const
|
|
11
|
-
if (
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
if (resolved === undefined) {
|
|
28
|
-
throw new OperationFailureError(Results.failure("daemon:provider", "alias-not-found", 404, `Provider alias '${alias}' is not declared.`, {}, {
|
|
29
|
-
alias,
|
|
30
|
-
stage: "provider-selection",
|
|
31
|
-
recovery: "Select a declared provider alias.",
|
|
32
|
-
retryable: false,
|
|
33
|
-
}));
|
|
34
|
-
}
|
|
35
|
-
return resolved;
|
|
36
|
-
}
|
|
37
|
-
return null; // neither → the daemon's boot default
|
|
8
|
+
// One selector accepts either a declared alias or an exact provider/model route.
|
|
9
|
+
// A malformed route or undeclared alias throws legibly — the daemon must never
|
|
10
|
+
// silently run the wrong model.
|
|
11
|
+
export const resolveLoopRoute = (selector, declared) => {
|
|
12
|
+
if (selector === undefined)
|
|
13
|
+
return null;
|
|
14
|
+
const route = resolveModelSelector(selector, declared);
|
|
15
|
+
if (route !== null)
|
|
16
|
+
return route;
|
|
17
|
+
const exact = selector.includes("/");
|
|
18
|
+
throw new OperationFailureError(Results.failure("daemon:provider", exact ? "model-spec-invalid" : "alias-not-found", exact ? 400 : 404, exact
|
|
19
|
+
? `Model selector '${selector}' is not a provider/model specification.`
|
|
20
|
+
: `Provider alias '${selector}' is not declared.`, {}, {
|
|
21
|
+
selector,
|
|
22
|
+
stage: "provider-selection",
|
|
23
|
+
recovery: exact
|
|
24
|
+
? "Use a provider/model specification."
|
|
25
|
+
: "Select a declared alias or use a provider/model specification.",
|
|
26
|
+
retryable: false,
|
|
27
|
+
}));
|
|
38
28
|
};
|
|
39
29
|
//# sourceMappingURL=loop-model.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop-model.js","sourceRoot":"","sources":["../../src/server/loop-model.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"loop-model.js","sourceRoot":"","sources":["../../src/server/loop-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,OAAO,EAAE,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEpE,+EAA+E;AAC/E,yFAAyF;AACzF,iGAAiG;AACjG,qDAAqD;AACrD,EAAE;AACF,iFAAiF;AACjF,+EAA+E;AAC/E,gCAAgC;AAChC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC5B,QAA4B,EAC5B,QAAkC,EACf,EAAE;IACrB,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACxC,MAAM,KAAK,GAAG,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACvD,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACjC,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,IAAI,qBAAqB,CAAC,OAAO,CAAC,OAAO,CAC3C,iBAAiB,EACjB,KAAK,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,iBAAiB,EAChD,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EACjB,KAAK;QACD,CAAC,CAAC,mBAAmB,QAAQ,0CAA0C;QACvE,CAAC,CAAC,mBAAmB,QAAQ,oBAAoB,EACrD,EAAE,EACF;QACI,QAAQ;QACR,KAAK,EAAE,oBAAoB;QAC3B,QAAQ,EAAE,KAAK;YACX,CAAC,CAAC,qCAAqC;YACvC,CAAC,CAAC,gEAAgE;QACtE,SAAS,EAAE,KAAK;KACnB,CACJ,CAAC,CAAC;AACP,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loopDocs.d.ts","sourceRoot":"","sources":["../../src/server/loopDocs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"loopDocs.d.ts","sourceRoot":"","sources":["../../src/server/loopDocs.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAWxC,MAAM,CAAC,OAAO,OAAO,QAAQ;;IAsBzB,OAAa,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmEnF;CACJ"}
|
package/dist/server/loopDocs.js
CHANGED
|
@@ -1,23 +1,103 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
// Workspace documentation reconciliation. It runs when the daemon boots an existing workspace
|
|
2
|
+
// and when a new workspace is created, never as a per-worker or per-loop ritual. Two sets run
|
|
3
|
+
// through the workspace's reserved plurnk worker ({§actor-boundary}):
|
|
4
|
+
// 1. the project AGENTS.md at worker://plurnk/agents.md — Engine.runTurn foists
|
|
5
|
+
// its READ at turn 0 ({§turn0-agents-stunt});
|
|
6
|
+
// 2. the exact current scheme and executable-tool reference set under
|
|
7
|
+
// worker://plurnk/skills/plurnk/ and worker://plurnk/tools/ — discovered by the
|
|
8
|
+
// turn-0 FIND surveys ({§schemes-self-doc-materialization},
|
|
9
|
+
// {§tools-resource-materialization}).
|
|
10
|
+
import { createHash } from "node:crypto";
|
|
11
|
+
import { readFile } from "node:fs/promises";
|
|
12
|
+
import { join } from "node:path";
|
|
13
|
+
import { UNKNOWN_POSITION, } from "@plurnk/plurnk-contracts";
|
|
14
|
+
import Owner from "../core/Owner.js";
|
|
3
15
|
import DispatchAsPlurnk from "./dispatch-as-plurnk.js";
|
|
4
16
|
export default class LoopDocs {
|
|
17
|
+
// {§schemes-self-doc-materialization} {§tools-resource-materialization} —
|
|
18
|
+
// the generated-skill surface tracks a content signature so repeated
|
|
19
|
+
// boot/module-publish materializations dispatch nothing when nothing
|
|
20
|
+
// changed (the entry layer's 304 no-op never even runs).
|
|
21
|
+
static #signatures = new WeakMap();
|
|
22
|
+
static #target(pathname) {
|
|
23
|
+
return {
|
|
24
|
+
kind: "url",
|
|
25
|
+
raw: `worker://plurnk${pathname}`,
|
|
26
|
+
scheme: "worker",
|
|
27
|
+
username: null,
|
|
28
|
+
password: null,
|
|
29
|
+
hostname: "plurnk",
|
|
30
|
+
port: null,
|
|
31
|
+
pathname,
|
|
32
|
+
query: null,
|
|
33
|
+
fragment: null,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
5
36
|
static async materialize(engine, db, workspaceId) {
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
37
|
+
const statements = [];
|
|
38
|
+
const ownerId = await Owner.kernelId(db, workspaceId);
|
|
39
|
+
// {§turn0-agents-stunt} — the project's AGENTS.md becomes one
|
|
40
|
+
// kernel-owned worker://plurnk/agents.md entry, foisted at turn 0.
|
|
41
|
+
// Absent file retires an EXISTING entry; nothing is ever 410'd blind.
|
|
42
|
+
const workspace = await db.envelope_get_workspace.get({
|
|
43
|
+
id: workspaceId,
|
|
44
|
+
});
|
|
45
|
+
const agentsContent = workspace?.project_root === null || workspace?.project_root === undefined
|
|
46
|
+
? null
|
|
47
|
+
: await readFile(join(workspace.project_root, "AGENTS.md"), "utf8").catch(() => null);
|
|
48
|
+
const agentsEntry = await db.crud_find_workspace_entry.get({
|
|
49
|
+
workspace_id: workspaceId,
|
|
50
|
+
owner_id: ownerId,
|
|
51
|
+
scheme: "worker",
|
|
52
|
+
pathname: "/agents.md",
|
|
53
|
+
});
|
|
54
|
+
if (agentsContent === null) {
|
|
55
|
+
if (agentsEntry !== undefined) {
|
|
56
|
+
statements.push({
|
|
57
|
+
op: "SEND", delimiter: "", annotation: null, signal: 410,
|
|
58
|
+
target: LoopDocs.#target("/agents.md"),
|
|
59
|
+
lineMarker: null, body: null, position: UNKNOWN_POSITION,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
statements.push({
|
|
65
|
+
op: "EDIT", delimiter: "", annotation: null, signal: null,
|
|
66
|
+
target: LoopDocs.#target("/agents.md"),
|
|
67
|
+
lineMarker: { marks: [1, -1] }, body: agentsContent, position: UNKNOWN_POSITION,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
const desiredDocs = new Map((await engine.referenceEntries(workspaceId)).map(({ pathname, content }) => [pathname, content]));
|
|
71
|
+
const materializedDocs = await db.loop_docs_materialized.all({
|
|
72
|
+
workspace_id: workspaceId,
|
|
73
|
+
owner_id: ownerId,
|
|
74
|
+
});
|
|
75
|
+
for (const { pathname } of materializedDocs) {
|
|
76
|
+
if (desiredDocs.has(pathname))
|
|
77
|
+
continue;
|
|
78
|
+
statements.push({
|
|
79
|
+
op: "SEND", delimiter: "", annotation: null, signal: 410,
|
|
80
|
+
target: LoopDocs.#target(pathname),
|
|
81
|
+
lineMarker: null, body: null, position: UNKNOWN_POSITION,
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
for (const [pathname, content] of desiredDocs) {
|
|
85
|
+
statements.push({
|
|
86
|
+
op: "EDIT", delimiter: "", annotation: null, signal: null,
|
|
87
|
+
target: LoopDocs.#target(pathname),
|
|
16
88
|
lineMarker: { marks: [1, -1] }, body: content, position: UNKNOWN_POSITION,
|
|
17
89
|
});
|
|
18
90
|
}
|
|
19
|
-
|
|
20
|
-
|
|
91
|
+
const signature = createHash("sha256")
|
|
92
|
+
.update(agentsContent ?? "\u0000")
|
|
93
|
+
.update([...desiredDocs].map(([pathname, content]) => `${pathname}\u0000${content}`).join("\u0001"))
|
|
94
|
+
.digest("hex");
|
|
95
|
+
const byWorkspace = LoopDocs.#signatures.get(db) ?? new Map();
|
|
96
|
+
if (byWorkspace.get(workspaceId) === signature)
|
|
97
|
+
return;
|
|
98
|
+
await DispatchAsPlurnk.dispatch(engine, db, workspaceId, statements);
|
|
99
|
+
byWorkspace.set(workspaceId, signature);
|
|
100
|
+
LoopDocs.#signatures.set(db, byWorkspace);
|
|
21
101
|
}
|
|
22
102
|
}
|
|
23
103
|
//# sourceMappingURL=loopDocs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loopDocs.js","sourceRoot":"","sources":["../../src/server/loopDocs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"loopDocs.js","sourceRoot":"","sources":["../../src/server/loopDocs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
-- Kernel reference-resource reconciliation ({§schemes-self-doc-materialization},
|
|
2
|
+
-- {§tools-resource-materialization}) — the generated Plurnk skills under
|
|
3
|
+
-- worker://plurnk/skills/plurnk/ plus the project-AGENTS entry.
|
|
4
|
+
|
|
5
|
+
-- PREP: loop_docs_materialized
|
|
6
|
+
SELECT pathname
|
|
7
|
+
FROM entries
|
|
8
|
+
WHERE workspace_id = $workspace_id
|
|
9
|
+
AND owner_id = $owner_id
|
|
10
|
+
AND scheme = 'worker'
|
|
11
|
+
AND (pathname = '/agents.md' OR substr(pathname, 1, 15) = '/skills/plurnk/')
|
|
12
|
+
ORDER BY pathname;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-catalog.d.ts","sourceRoot":"","sources":["../../src/server/model-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EAEzB,MAAM,0BAA0B,CAAC;AAuBlC,eAAO,MAAM,gBAAgB,UAClB,iBAAiB,QACnB,MAAM,CAAC,UAAU,KACvB,gBAkEF,CAAC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { Validator, } from "@plurnk/plurnk-contracts";
|
|
2
|
+
import { catalogSnapshot, providerCatalogSnapshot, providerNameFromCatalogId, } from "@plurnk/plurnk-models";
|
|
3
|
+
import { providerReadiness } from "@plurnk/plurnk-providers";
|
|
4
|
+
const DEFAULT_LIMIT = 50;
|
|
5
|
+
const compareText = (left, right) => left < right ? -1 : left > right ? 1 : 0;
|
|
6
|
+
const entryMatches = (entry, search) => [
|
|
7
|
+
entry.selector,
|
|
8
|
+
entry.provider,
|
|
9
|
+
entry.providerName,
|
|
10
|
+
entry.model,
|
|
11
|
+
entry.modelName,
|
|
12
|
+
].some((value) => value.toLowerCase().includes(search));
|
|
13
|
+
// {§model-catalog} Core composes the release-pinned Models.dev facts with the
|
|
14
|
+
// provider owner's local readiness predicate. Enumeration is pure local work:
|
|
15
|
+
// it never probes, authenticates, selects, or invokes a model.
|
|
16
|
+
export const listModelCatalog = (input, env = process.env) => {
|
|
17
|
+
const query = Validator.assertModelCatalogQuery(input);
|
|
18
|
+
const requestedProvider = query.provider?.toLowerCase();
|
|
19
|
+
const search = query.search?.trim().toLowerCase() ?? "";
|
|
20
|
+
const availability = query.availability ?? "configured";
|
|
21
|
+
const offset = query.offset ?? 0;
|
|
22
|
+
const limit = query.limit ?? DEFAULT_LIMIT;
|
|
23
|
+
const providers = providerCatalogSnapshot();
|
|
24
|
+
const readinessByProvider = new Map();
|
|
25
|
+
const entries = [];
|
|
26
|
+
for (const [catalogProviderId, models] of Object.entries(catalogSnapshot())) {
|
|
27
|
+
const provider = providerNameFromCatalogId(catalogProviderId);
|
|
28
|
+
if (requestedProvider !== undefined && provider.toLowerCase() !== requestedProvider)
|
|
29
|
+
continue;
|
|
30
|
+
const providerInfo = providers[catalogProviderId];
|
|
31
|
+
if (providerInfo === undefined) {
|
|
32
|
+
throw new Error(`Models.dev catalog provider '${catalogProviderId}' has no provider facts`);
|
|
33
|
+
}
|
|
34
|
+
let readiness = readinessByProvider.get(provider);
|
|
35
|
+
if (readiness === undefined) {
|
|
36
|
+
const resolved = providerReadiness(provider, env);
|
|
37
|
+
if (resolved === null) {
|
|
38
|
+
throw new Error(`Models.dev catalog provider '${catalogProviderId}' has no supported runtime adapter`);
|
|
39
|
+
}
|
|
40
|
+
readiness = resolved;
|
|
41
|
+
readinessByProvider.set(provider, readiness);
|
|
42
|
+
}
|
|
43
|
+
if (availability === "configured" && !readiness.ready)
|
|
44
|
+
continue;
|
|
45
|
+
for (const [model, info] of Object.entries(models)) {
|
|
46
|
+
const selector = `${provider}/${model}`;
|
|
47
|
+
const entry = {
|
|
48
|
+
selector,
|
|
49
|
+
provider,
|
|
50
|
+
providerName: providerInfo.name,
|
|
51
|
+
model,
|
|
52
|
+
modelName: info.name,
|
|
53
|
+
limits: {
|
|
54
|
+
contextTokens: info.contextWindow,
|
|
55
|
+
...(info.maxInputTokens === undefined ? {} : { inputTokens: info.maxInputTokens }),
|
|
56
|
+
...(info.maxOutputTokens === undefined ? {} : { outputTokens: info.maxOutputTokens }),
|
|
57
|
+
},
|
|
58
|
+
capabilities: {
|
|
59
|
+
attachment: info.attachment,
|
|
60
|
+
reasoning: info.reasoning,
|
|
61
|
+
toolCall: info.toolCall,
|
|
62
|
+
...(info.structuredOutput === undefined ? {} : { structuredOutput: info.structuredOutput }),
|
|
63
|
+
...(info.temperature === undefined ? {} : { temperature: info.temperature }),
|
|
64
|
+
inputModalities: [...info.modalities.input],
|
|
65
|
+
outputModalities: [...info.modalities.output],
|
|
66
|
+
},
|
|
67
|
+
readiness,
|
|
68
|
+
};
|
|
69
|
+
if (search.length === 0 || entryMatches(entry, search))
|
|
70
|
+
entries.push(entry);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
entries.sort((left, right) => compareText(left.selector, right.selector));
|
|
74
|
+
const items = entries.slice(offset, offset + limit);
|
|
75
|
+
const nextOffset = offset + items.length;
|
|
76
|
+
return Validator.assertModelCatalogPage({
|
|
77
|
+
items,
|
|
78
|
+
offset,
|
|
79
|
+
total: entries.length,
|
|
80
|
+
...(nextOffset < entries.length ? { nextOffset } : {}),
|
|
81
|
+
});
|
|
82
|
+
};
|
|
83
|
+
//# sourceMappingURL=model-catalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-catalog.js","sourceRoot":"","sources":["../../src/server/model-catalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ModelRoute } from "@plurnk/plurnk-contracts";
|
|
2
|
+
import type { ProviderSpec } from "@plurnk/plurnk-providers";
|
|
3
|
+
import type { Db } from "../core/Db.ts";
|
|
4
|
+
export declare const routeForSpec: (db: Db, spec: ProviderSpec | null) => Promise<number | null>;
|
|
5
|
+
export declare const specForRoute: (db: Db, routeId: number | null) => Promise<ProviderSpec | null>;
|
|
6
|
+
export declare const projectModelRoute: (spec: ProviderSpec) => ModelRoute;
|
|
7
|
+
//# sourceMappingURL=model-route.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-route.d.ts","sourceRoot":"","sources":["../../src/server/model-route.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAExC,eAAO,MAAM,YAAY,OAAc,EAAE,QAAQ,YAAY,GAAG,IAAI,KAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAmB3F,CAAC;AAEF,eAAO,MAAM,YAAY,OAAc,EAAE,WAAW,MAAM,GAAG,IAAI,KAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAU9F,CAAC;AAGF,eAAO,MAAM,iBAAiB,SAAU,YAAY,KAAG,UAIrD,CAAC"}
|