@plurnk/plurnk-service 1.0.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 +208 -0
- package/INSTALL.md +69 -0
- package/LICENSE +21 -0
- package/README.md +46 -0
- package/SPEC.md +1511 -0
- package/dist/Paths.d.ts +13 -0
- package/dist/Paths.d.ts.map +1 -0
- package/dist/Paths.js +60 -0
- package/dist/Paths.js.map +1 -0
- package/dist/content/edited-span.d.ts +2 -0
- package/dist/content/edited-span.d.ts.map +1 -0
- package/dist/content/edited-span.js +33 -0
- package/dist/content/edited-span.js.map +1 -0
- package/dist/content/index.d.ts +10 -0
- package/dist/content/index.d.ts.map +1 -0
- package/dist/content/index.js +11 -0
- package/dist/content/index.js.map +1 -0
- package/dist/content/line-marker.d.ts +15 -0
- package/dist/content/line-marker.d.ts.map +1 -0
- package/dist/content/line-marker.js +21 -0
- package/dist/content/line-marker.js.map +1 -0
- package/dist/content/matcher.d.ts +44 -0
- package/dist/content/matcher.d.ts.map +1 -0
- package/dist/content/matcher.js +126 -0
- package/dist/content/matcher.js.map +1 -0
- package/dist/content/mimetype-binary.d.ts +8 -0
- package/dist/content/mimetype-binary.d.ts.map +1 -0
- package/dist/content/mimetype-binary.js +17 -0
- package/dist/content/mimetype-binary.js.map +1 -0
- package/dist/content/path-mimetype.d.ts +5 -0
- package/dist/content/path-mimetype.d.ts.map +1 -0
- package/dist/content/path-mimetype.js +15 -0
- package/dist/content/path-mimetype.js.map +1 -0
- package/dist/content/read-resolve.d.ts +20 -0
- package/dist/content/read-resolve.d.ts.map +1 -0
- package/dist/content/read-resolve.js +68 -0
- package/dist/content/read-resolve.js.map +1 -0
- package/dist/core/ChannelWrite.d.ts +100 -0
- package/dist/core/ChannelWrite.d.ts.map +1 -0
- package/dist/core/ChannelWrite.js +112 -0
- package/dist/core/ChannelWrite.js.map +1 -0
- package/dist/core/ChannelWrite.sql +84 -0
- package/dist/core/Db.d.ts +14 -0
- package/dist/core/Db.d.ts.map +1 -0
- package/dist/core/Db.js +7 -0
- package/dist/core/Db.js.map +1 -0
- package/dist/core/Dispatcher.d.ts +67 -0
- package/dist/core/Dispatcher.d.ts.map +1 -0
- package/dist/core/Dispatcher.js +1021 -0
- package/dist/core/Dispatcher.js.map +1 -0
- package/dist/core/Engine.d.ts +113 -0
- package/dist/core/Engine.d.ts.map +1 -0
- package/dist/core/Engine.js +1410 -0
- package/dist/core/Engine.js.map +1 -0
- package/dist/core/Engine.sql +538 -0
- package/dist/core/EnvFlags.d.ts +13 -0
- package/dist/core/EnvFlags.d.ts.map +1 -0
- package/dist/core/EnvFlags.js +84 -0
- package/dist/core/EnvFlags.js.map +1 -0
- package/dist/core/ExecutorRegistry.d.ts +45 -0
- package/dist/core/ExecutorRegistry.d.ts.map +1 -0
- package/dist/core/ExecutorRegistry.js +128 -0
- package/dist/core/ExecutorRegistry.js.map +1 -0
- package/dist/core/PacketBuilder.d.ts +67 -0
- package/dist/core/PacketBuilder.d.ts.map +1 -0
- package/dist/core/PacketBuilder.js +524 -0
- package/dist/core/PacketBuilder.js.map +1 -0
- package/dist/core/PluginLoader.d.ts +17 -0
- package/dist/core/PluginLoader.d.ts.map +1 -0
- package/dist/core/PluginLoader.js +97 -0
- package/dist/core/PluginLoader.js.map +1 -0
- package/dist/core/ProposalLifecycle.d.ts +59 -0
- package/dist/core/ProposalLifecycle.d.ts.map +1 -0
- package/dist/core/ProposalLifecycle.js +215 -0
- package/dist/core/ProposalLifecycle.js.map +1 -0
- package/dist/core/ProviderInstantiate.d.ts +9 -0
- package/dist/core/ProviderInstantiate.d.ts.map +1 -0
- package/dist/core/ProviderInstantiate.js +156 -0
- package/dist/core/ProviderInstantiate.js.map +1 -0
- package/dist/core/SchemeRegistry.d.ts +26 -0
- package/dist/core/SchemeRegistry.d.ts.map +1 -0
- package/dist/core/SchemeRegistry.js +205 -0
- package/dist/core/SchemeRegistry.js.map +1 -0
- package/dist/core/StrikeRail.d.ts +28 -0
- package/dist/core/StrikeRail.d.ts.map +1 -0
- package/dist/core/StrikeRail.js +165 -0
- package/dist/core/StrikeRail.js.map +1 -0
- package/dist/core/TelemetryChannel.d.ts +37 -0
- package/dist/core/TelemetryChannel.d.ts.map +1 -0
- package/dist/core/TelemetryChannel.js +77 -0
- package/dist/core/TelemetryChannel.js.map +1 -0
- package/dist/core/TokenGauge.d.ts +16 -0
- package/dist/core/TokenGauge.d.ts.map +1 -0
- package/dist/core/TokenGauge.js +58 -0
- package/dist/core/TokenGauge.js.map +1 -0
- package/dist/core/caps/CapsResolve.d.ts +5 -0
- package/dist/core/caps/CapsResolve.d.ts.map +1 -0
- package/dist/core/caps/CapsResolve.js +13 -0
- package/dist/core/caps/CapsResolve.js.map +1 -0
- package/dist/core/caps/DbChannelCaps.d.ts +16 -0
- package/dist/core/caps/DbChannelCaps.d.ts.map +1 -0
- package/dist/core/caps/DbChannelCaps.js +41 -0
- package/dist/core/caps/DbChannelCaps.js.map +1 -0
- package/dist/core/caps/DbEntryCaps.d.ts +19 -0
- package/dist/core/caps/DbEntryCaps.d.ts.map +1 -0
- package/dist/core/caps/DbEntryCaps.js +28 -0
- package/dist/core/caps/DbEntryCaps.js.map +1 -0
- package/dist/core/caps/DbNotifyCaps.d.ts +8 -0
- package/dist/core/caps/DbNotifyCaps.d.ts.map +1 -0
- package/dist/core/caps/DbNotifyCaps.js +35 -0
- package/dist/core/caps/DbNotifyCaps.js.map +1 -0
- package/dist/core/caps/DbSubscriptionCaps.d.ts +10 -0
- package/dist/core/caps/DbSubscriptionCaps.d.ts.map +1 -0
- package/dist/core/caps/DbSubscriptionCaps.js +86 -0
- package/dist/core/caps/DbSubscriptionCaps.js.map +1 -0
- package/dist/core/caps/DbTagCaps.d.ts +17 -0
- package/dist/core/caps/DbTagCaps.d.ts.map +1 -0
- package/dist/core/caps/DbTagCaps.js +37 -0
- package/dist/core/caps/DbTagCaps.js.map +1 -0
- package/dist/core/caps/SchemeCtxImpl.d.ts +18 -0
- package/dist/core/caps/SchemeCtxImpl.d.ts.map +1 -0
- package/dist/core/caps/SchemeCtxImpl.js +42 -0
- package/dist/core/caps/SchemeCtxImpl.js.map +1 -0
- package/dist/core/env-defaults.d.ts +19 -0
- package/dist/core/env-defaults.d.ts.map +1 -0
- package/dist/core/env-defaults.js +89 -0
- package/dist/core/env-defaults.js.map +1 -0
- package/dist/core/fork.d.ts +6 -0
- package/dist/core/fork.d.ts.map +1 -0
- package/dist/core/fork.js +84 -0
- package/dist/core/fork.js.map +1 -0
- package/dist/core/fork.sql +85 -0
- package/dist/core/git-membership.d.ts +23 -0
- package/dist/core/git-membership.d.ts.map +1 -0
- package/dist/core/git-membership.js +366 -0
- package/dist/core/git-membership.js.map +1 -0
- package/dist/core/git-state.d.ts +15 -0
- package/dist/core/git-state.d.ts.map +1 -0
- package/dist/core/git-state.js +67 -0
- package/dist/core/git-state.js.map +1 -0
- package/dist/core/packet-inject.d.ts +5 -0
- package/dist/core/packet-inject.d.ts.map +1 -0
- package/dist/core/packet-inject.js +48 -0
- package/dist/core/packet-inject.js.map +1 -0
- package/dist/core/packet-wire.d.ts +46 -0
- package/dist/core/packet-wire.d.ts.map +1 -0
- package/dist/core/packet-wire.js +453 -0
- package/dist/core/packet-wire.js.map +1 -0
- package/dist/core/path-decode.d.ts +2 -0
- package/dist/core/path-decode.d.ts.map +1 -0
- package/dist/core/path-decode.js +8 -0
- package/dist/core/path-decode.js.map +1 -0
- package/dist/core/plugin-attribution.d.ts +5 -0
- package/dist/core/plugin-attribution.d.ts.map +1 -0
- package/dist/core/plugin-attribution.js +39 -0
- package/dist/core/plugin-attribution.js.map +1 -0
- package/dist/core/plurnk-uri.d.ts +7 -0
- package/dist/core/plurnk-uri.d.ts.map +1 -0
- package/dist/core/plurnk-uri.js +52 -0
- package/dist/core/plurnk-uri.js.map +1 -0
- package/dist/core/resolveForLoop.d.ts +5 -0
- package/dist/core/resolveForLoop.d.ts.map +1 -0
- package/dist/core/resolveForLoop.js +12 -0
- package/dist/core/resolveForLoop.js.map +1 -0
- package/dist/core/results.d.ts +12 -0
- package/dist/core/results.d.ts.map +1 -0
- package/dist/core/results.js +27 -0
- package/dist/core/results.js.map +1 -0
- package/dist/core/run-cap.d.ts +8 -0
- package/dist/core/run-cap.d.ts.map +1 -0
- package/dist/core/run-cap.js +20 -0
- package/dist/core/run-cap.js.map +1 -0
- package/dist/core/run-ops.sql +43 -0
- package/dist/core/scheme-types.d.ts +45 -0
- package/dist/core/scheme-types.d.ts.map +1 -0
- package/dist/core/scheme-types.js +6 -0
- package/dist/core/scheme-types.js.map +1 -0
- package/dist/core/session-settings.d.ts +23 -0
- package/dist/core/session-settings.d.ts.map +1 -0
- package/dist/core/session-settings.js +55 -0
- package/dist/core/session-settings.js.map +1 -0
- package/dist/core/teaching.d.ts +3 -0
- package/dist/core/teaching.d.ts.map +1 -0
- package/dist/core/teaching.js +13 -0
- package/dist/core/teaching.js.map +1 -0
- package/dist/core/types.d.ts +3 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +2 -0
- package/dist/core/types.js.map +1 -0
- package/dist/digest/Digest.d.ts +20 -0
- package/dist/digest/Digest.d.ts.map +1 -0
- package/dist/digest/Digest.js +451 -0
- package/dist/digest/Digest.js.map +1 -0
- package/dist/digest/Digest.sql +1 -0
- package/dist/digest/digest.sql +55 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +28 -0
- package/dist/index.js.map +1 -0
- package/dist/schemes/EffectPolicy.d.ts +6 -0
- package/dist/schemes/EffectPolicy.d.ts.map +1 -0
- package/dist/schemes/EffectPolicy.js +18 -0
- package/dist/schemes/EffectPolicy.js.map +1 -0
- package/dist/schemes/Exec.d.ts +39 -0
- package/dist/schemes/Exec.d.ts.map +1 -0
- package/dist/schemes/Exec.js +510 -0
- package/dist/schemes/Exec.js.map +1 -0
- package/dist/schemes/ExecOutputScheme.d.ts +20 -0
- package/dist/schemes/ExecOutputScheme.d.ts.map +1 -0
- package/dist/schemes/ExecOutputScheme.js +39 -0
- package/dist/schemes/ExecOutputScheme.js.map +1 -0
- package/dist/schemes/File.d.ts +42 -0
- package/dist/schemes/File.d.ts.map +1 -0
- package/dist/schemes/File.js +356 -0
- package/dist/schemes/File.js.map +1 -0
- package/dist/schemes/Known.d.ts +17 -0
- package/dist/schemes/Known.d.ts.map +1 -0
- package/dist/schemes/Known.js +40 -0
- package/dist/schemes/Known.js.map +1 -0
- package/dist/schemes/Log.d.ts +22 -0
- package/dist/schemes/Log.d.ts.map +1 -0
- package/dist/schemes/Log.js +269 -0
- package/dist/schemes/Log.js.map +1 -0
- package/dist/schemes/Log.sql +59 -0
- package/dist/schemes/Plurnk.d.ts +17 -0
- package/dist/schemes/Plurnk.d.ts.map +1 -0
- package/dist/schemes/Plurnk.js +46 -0
- package/dist/schemes/Plurnk.js.map +1 -0
- package/dist/schemes/Run.d.ts +25 -0
- package/dist/schemes/Run.d.ts.map +1 -0
- package/dist/schemes/Run.js +172 -0
- package/dist/schemes/Run.js.map +1 -0
- package/dist/schemes/Skill.d.ts +17 -0
- package/dist/schemes/Skill.d.ts.map +1 -0
- package/dist/schemes/Skill.js +40 -0
- package/dist/schemes/Skill.js.map +1 -0
- package/dist/schemes/Unknown.d.ts +17 -0
- package/dist/schemes/Unknown.d.ts.map +1 -0
- package/dist/schemes/Unknown.js +39 -0
- package/dist/schemes/Unknown.js.map +1 -0
- package/dist/schemes/_entry-chunk.d.ts +11 -0
- package/dist/schemes/_entry-chunk.d.ts.map +1 -0
- package/dist/schemes/_entry-chunk.js +100 -0
- package/dist/schemes/_entry-chunk.js.map +1 -0
- package/dist/schemes/_entry-crud.d.ts +31 -0
- package/dist/schemes/_entry-crud.d.ts.map +1 -0
- package/dist/schemes/_entry-crud.js +77 -0
- package/dist/schemes/_entry-crud.js.map +1 -0
- package/dist/schemes/_entry-crud.sql +101 -0
- package/dist/schemes/_entry-find.d.ts +32 -0
- package/dist/schemes/_entry-find.d.ts.map +1 -0
- package/dist/schemes/_entry-find.js +226 -0
- package/dist/schemes/_entry-find.js.map +1 -0
- package/dist/schemes/_entry-find.sql +54 -0
- package/dist/schemes/_entry-graph.d.ts +16 -0
- package/dist/schemes/_entry-graph.d.ts.map +1 -0
- package/dist/schemes/_entry-graph.js +94 -0
- package/dist/schemes/_entry-graph.js.map +1 -0
- package/dist/schemes/_entry-graph.sql +52 -0
- package/dist/schemes/_entry-manifest.d.ts +25 -0
- package/dist/schemes/_entry-manifest.d.ts.map +1 -0
- package/dist/schemes/_entry-manifest.js +266 -0
- package/dist/schemes/_entry-manifest.js.map +1 -0
- package/dist/schemes/_entry-ops.d.ts +32 -0
- package/dist/schemes/_entry-ops.d.ts.map +1 -0
- package/dist/schemes/_entry-ops.js +216 -0
- package/dist/schemes/_entry-ops.js.map +1 -0
- package/dist/schemes/_entry-ops.sql +31 -0
- package/dist/schemes/_entry-semantic.d.ts +38 -0
- package/dist/schemes/_entry-semantic.d.ts.map +1 -0
- package/dist/schemes/_entry-semantic.js +202 -0
- package/dist/schemes/_entry-semantic.js.map +1 -0
- package/dist/schemes/_entry-semantic.sql +95 -0
- package/dist/schemes/_entry-send.d.ts +11 -0
- package/dist/schemes/_entry-send.d.ts.map +1 -0
- package/dist/schemes/_entry-send.js +66 -0
- package/dist/schemes/_entry-send.js.map +1 -0
- package/dist/schemes/cosine.d.ts +4 -0
- package/dist/schemes/cosine.d.ts.map +1 -0
- package/dist/schemes/cosine.js +9 -0
- package/dist/schemes/cosine.js.map +1 -0
- package/dist/schemes/exec-abort.d.ts +15 -0
- package/dist/schemes/exec-abort.d.ts.map +1 -0
- package/dist/schemes/exec-abort.js +29 -0
- package/dist/schemes/exec-abort.js.map +1 -0
- package/dist/schemes/exec-env.d.ts +5 -0
- package/dist/schemes/exec-env.d.ts.map +1 -0
- package/dist/schemes/exec-env.js +34 -0
- package/dist/schemes/exec-env.js.map +1 -0
- package/dist/server/Daemon.d.ts +244 -0
- package/dist/server/Daemon.d.ts.map +1 -0
- package/dist/server/Daemon.js +1119 -0
- package/dist/server/Daemon.js.map +1 -0
- package/dist/server/client-input.d.ts +11 -0
- package/dist/server/client-input.d.ts.map +1 -0
- package/dist/server/client-input.js +145 -0
- package/dist/server/client-input.js.map +1 -0
- package/dist/server/clientTurn.d.ts +6 -0
- package/dist/server/clientTurn.d.ts.map +1 -0
- package/dist/server/clientTurn.js +23 -0
- package/dist/server/clientTurn.js.map +1 -0
- package/dist/server/clientTurn.sql +10 -0
- package/dist/server/dispatch-as-plurnk.d.ts +7 -0
- package/dist/server/dispatch-as-plurnk.d.ts.map +1 -0
- package/dist/server/dispatch-as-plurnk.js +23 -0
- package/dist/server/dispatch-as-plurnk.js.map +1 -0
- package/dist/server/drain.sql +124 -0
- package/dist/server/envelope.d.ts +53 -0
- package/dist/server/envelope.d.ts.map +1 -0
- package/dist/server/envelope.js +172 -0
- package/dist/server/envelope.js.map +1 -0
- package/dist/server/envelope.sql +76 -0
- package/dist/server/logEntry.d.ts +35 -0
- package/dist/server/logEntry.d.ts.map +1 -0
- package/dist/server/logEntry.js +49 -0
- package/dist/server/logEntry.js.map +1 -0
- package/dist/server/logEntry.sql +10 -0
- package/dist/server/loopDocs.d.ts +6 -0
- package/dist/server/loopDocs.d.ts.map +1 -0
- package/dist/server/loopDocs.js +22 -0
- package/dist/server/loopDocs.js.map +1 -0
- package/dist/server/noProposals.d.ts +6 -0
- package/dist/server/noProposals.d.ts.map +1 -0
- package/dist/server/noProposals.js +37 -0
- package/dist/server/noProposals.js.map +1 -0
- package/dist/server/seam-entry-read.sql +21 -0
- package/dist/server/seam-log-read.sql +21 -0
- package/dist/server/seam-loop.sql +9 -0
- package/dist/server/seam-proposal-list.sql +13 -0
- package/dist/server/version-info.d.ts +14 -0
- package/dist/server/version-info.d.ts.map +1 -0
- package/dist/server/version-info.js +69 -0
- package/dist/server/version-info.js.map +1 -0
- package/dist/server/yolo.d.ts +6 -0
- package/dist/server/yolo.d.ts.map +1 -0
- package/dist/server/yolo.js +64 -0
- package/dist/server/yolo.js.map +1 -0
- package/dist/service.d.ts +6 -0
- package/dist/service.d.ts.map +1 -0
- package/dist/service.js +309 -0
- package/dist/service.js.map +1 -0
- package/migrations/0000-00-00.01_schema.sql +500 -0
- package/package.json +86 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Run.js","sourceRoot":"","sources":["../../src/schemes/Run.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AAEvC,OAAO,SAAS,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAG9D,+FAA+F;AAC/F,2FAA2F;AAC3F,iGAAiG;AACjG,4FAA4F;AAC5F,iGAAiG;AACjG,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,YAA2B,EAAE,OAAsB,EAAiB,EAAE;IAC/F,IAAI,YAAY,KAAK,UAAU;QAAE,OAAO,0EAA0E,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,EAAE,CAAC;IAC1J,IAAI,YAAY,KAAK,QAAQ;QAAE,OAAO,qCAAqC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,EAAE,CAAC;IACnH,OAAO,OAAO,CAAC;AACnB,CAAC,CAAC;AAEF,+GAA+G;AAC/G,gGAAgG;AAChG,iGAAiG;AACjG,+FAA+F;AAC/F,sBAAsB;AACtB,6FAA6F;AAC7F,sFAAsF;AACtF,qGAAqG;AACrG,kGAAkG;AAClG,MAAM,CAAC,OAAO,OAAO,GAAG;IACpB,MAAM,CAAC,QAAQ,GAAmB;QAC9B,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE;QACnC,cAAc,EAAE,MAAM;QACtB,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,KAAK;QACZ,UAAU,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;QAC/B,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,IAAI;QAClB,OAAO,EAAE,+DAA+D;KAC3E,CAAC;IAEF,sFAAsF;IACtF,4EAA4E;IAC5E,MAAM,CAAC,UAAU,CAAC,MAAyB;QACvC,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK;YAAE,OAAO,IAAI,CAAC;QACrF,OAAO,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;IACjC,CAAC;IAED,qFAAqF;IACrF,gCAAgC;IAChC,MAAM,CAAC,UAAU,CAAC,MAAyB;QACvC,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK;YAAE,OAAO,EAAE,CAAC;QACxD,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;QAChC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,gFAAgF;IAChF,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,GAAwB;QAC3C,MAAM,GAAG,GAAG,MAAO,GAAG,CAAC,EAAE,CAAC,cAA6B,CAAC,GAAG,CAAmB,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;QACrG,IAAI,GAAG,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACtE,OAAO,GAAG,CAAC,IAAI,CAAC;IACpB,CAAC;IAED,yFAAyF;IACzF,6EAA6E;IAC7E,MAAM,CAAC,UAAU,CAA0C,SAAY,EAAE,KAAa;QAClF,MAAM,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK;YAAE,OAAO,SAAS,CAAC;QACrD,OAAO,EAAE,GAAG,SAAS,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAAwB,EAAE,GAAwB;QACzD,MAAM,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,SAAS,KAAK,IAAI;YAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAC;QACtF,MAAM,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAEnD,sFAAsF;QACtF,kGAAkG;QAClG,IAAI,SAAS,KAAK,EAAE;YAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,2GAA2G,EAAE,CAAC;QAEjK,yFAAyF;QACzF,IAAI,SAAS,KAAK,EAAE;YAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,0DAA0D,EAAE,CAAC;QAChH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QACtD,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,qEAAqE,EAAE,CAAC;QACzH,OAAO,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC1F,CAAC;IAED,uFAAuF;IACvF,yFAAyF;IACzF,0FAA0F;IAC1F,KAAK,CAAC,WAAW,CAAC,SAAwB,EAAE,GAAwB;QAChE,MAAM,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,SAAS,KAAK,IAAI;YAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAC;QACtF,IAAI,SAAS,KAAK,EAAE;YAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,0DAA0D,EAAE,CAAC;QAChH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QACtD,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,qEAAqE,EAAE,CAAC;QACzH,OAAO,QAAQ,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC5F,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAAwB,EAAE,GAAwB;QACzD,MAAM,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,SAAS,KAAK,IAAI;YAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC7F,IAAI,SAAS,KAAK,EAAE;YAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAE,qCAAqC;QAClI,MAAM,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACnD,kGAAkG;QAClG,gGAAgG;QAChG,uFAAuF;QACvF,sGAAsG;QACtG,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;YACnB,MAAM,KAAK,GAAG,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1E,MAAM,GAAG,GAAG,MAAO,GAAG,CAAC,EAAE,CAAC,uBAAsC,CAAC,GAAG,CAAoF,EAAE,UAAU,EAAE,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACpM,IAAI,GAAG,KAAK,SAAS;gBAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,KAAK,4BAA4B,EAAE,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC7I,sFAAsF;YACtF,2FAA2F;YAC3F,+FAA+F;YAC/F,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,KAAK,uEAAuE,EAAE,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;YAC/N,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,gBAAgB,CAAC,IAAI,aAAa,KAAK,2CAA2C,GAAG,CAAC,MAAM,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACrN,CAAC;QACD,6FAA6F;QAC7F,MAAM,KAAK,GAAG,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1E,OAAO,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC1F,CAAC;IAED,yGAAyG;IACzG,MAAM,CAAC,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAErE,0FAA0F;IAC1F,4FAA4F;IAC5F,6FAA6F;IAC7F,KAAK,CAAC,IAAI,CAAC,SAAwB,EAAE,GAAwB;QACzD,MAAM,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,SAAS,KAAK,IAAI;YAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,eAAe,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QAC3I,IAAI,SAAS,KAAK,EAAE;YAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,eAAe,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QACzI,MAAM,KAAK,GAAG,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1E,MAAM,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC;QAC3B,MAAM,MAAM,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK;YACzC,CAAC,CAAC,EAAE,GAAG,SAAS,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,qBAAqB,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE;YACxG,CAAC,CAAC,SAAS,CAAC;QAChB,OAAO,SAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAAwB,EAAE,GAAwB;QACzD,MAAM,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,SAAS,KAAK,IAAI;YAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,0CAA0C,EAAE,CAAC;QAClG,IAAI,SAAS,KAAK,EAAE;YAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,yDAAyD,EAAE,CAAC;QAC/G,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC1F,IAAI,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;QACtB,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,MAAO,GAAG,CAAC,EAAE,CAAC,mBAAkC,CAAC,GAAG,CAAiB,EAAE,UAAU,EAAE,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YACjI,IAAI,GAAG,KAAK,SAAS;gBAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,SAAS,4BAA4B,EAAE,CAAC;YACrG,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC;QACnB,CAAC;QACD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;QAC5B,MAAM,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAC/E,uFAAuF;QACvF,qFAAqF;QACrF,0DAA0D;QAC1D,MAAM,GAAG,GAAG,MAAO,GAAG,CAAC,EAAE,CAAC,qBAAoC,CAAC,GAAG,CAAoB,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/G,MAAM,KAAK,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,kBAAkB,EAAE,GAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAwB,EAAE,CAAC;QAC1H,MAAM,GAAG,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QACxE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IAC3B,CAAC;CACJ"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { SchemeManifest, PlurnkSchemeContext } from "../core/scheme-types.ts";
|
|
2
|
+
import type { EditStatement, FindStatement, ReadStatement, SendStatement } from "@plurnk/plurnk-grammar";
|
|
3
|
+
import type { EditResult, ReadResult } from "./_entry-ops.ts";
|
|
4
|
+
import type { EntryData, ReadEntryResult, WriteEntryResult, DeleteEntryResult } from "./_entry-crud.ts";
|
|
5
|
+
import type { SendResult } from "./_entry-send.ts";
|
|
6
|
+
import type { FindResult } from "./_entry-find.ts";
|
|
7
|
+
export default class Skill {
|
|
8
|
+
static manifest: SchemeManifest;
|
|
9
|
+
edit(statement: EditStatement, ctx: PlurnkSchemeContext): Promise<EditResult>;
|
|
10
|
+
read(statement: ReadStatement, ctx: PlurnkSchemeContext): Promise<ReadResult>;
|
|
11
|
+
readEntry(pathname: string, ctx: PlurnkSchemeContext): Promise<ReadEntryResult>;
|
|
12
|
+
writeEntry(pathname: string, entry: EntryData, ctx: PlurnkSchemeContext): Promise<WriteEntryResult>;
|
|
13
|
+
deleteEntry(pathname: string, ctx: PlurnkSchemeContext): Promise<DeleteEntryResult>;
|
|
14
|
+
send(statement: SendStatement, ctx: PlurnkSchemeContext): Promise<SendResult>;
|
|
15
|
+
find(statement: FindStatement, ctx: PlurnkSchemeContext): Promise<FindResult>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=Skill.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Skill.d.ts","sourceRoot":"","sources":["../../src/schemes/Skill.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnF,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAKzG,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACxG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,CAAC,OAAO,OAAO,KAAK;IACtB,MAAM,CAAC,QAAQ,EAAE,cAAc,CAS7B;IAEI,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CAElF;IAEK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CAElF;IAEK,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC,CAEpF;IAEK,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAExG;IAEK,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAExF;IAEK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CAElF;IAEK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CAElF;CACJ"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
// PROVISIONAL: this scheme handler exists structurally (parallel to Known/
|
|
2
|
+
// Unknown) but its semantics are NOT yet designed.
|
|
3
|
+
import EntryOps from "./_entry-ops.js";
|
|
4
|
+
import EntryCrud from "./_entry-crud.js";
|
|
5
|
+
import EntrySend from "./_entry-send.js";
|
|
6
|
+
import EntryFind from "./_entry-find.js";
|
|
7
|
+
export default class Skill {
|
|
8
|
+
static manifest = {
|
|
9
|
+
name: "skill",
|
|
10
|
+
channels: { body: "text/markdown" },
|
|
11
|
+
defaultChannel: "body",
|
|
12
|
+
category: "data",
|
|
13
|
+
scope: "session",
|
|
14
|
+
writableBy: ["model", "client"],
|
|
15
|
+
volatile: false,
|
|
16
|
+
modelVisible: true,
|
|
17
|
+
};
|
|
18
|
+
async edit(statement, ctx) {
|
|
19
|
+
return EntryOps.editSessionEntry(statement, ctx, Skill.manifest);
|
|
20
|
+
}
|
|
21
|
+
async read(statement, ctx) {
|
|
22
|
+
return EntryOps.readSessionEntry(statement, ctx, Skill.manifest);
|
|
23
|
+
}
|
|
24
|
+
async readEntry(pathname, ctx) {
|
|
25
|
+
return EntryCrud.readEntry(pathname, ctx, Skill.manifest.name);
|
|
26
|
+
}
|
|
27
|
+
async writeEntry(pathname, entry, ctx) {
|
|
28
|
+
return EntryCrud.writeEntry(pathname, entry, ctx, Skill.manifest.name);
|
|
29
|
+
}
|
|
30
|
+
async deleteEntry(pathname, ctx) {
|
|
31
|
+
return EntryCrud.deleteEntry(pathname, ctx, Skill.manifest.name);
|
|
32
|
+
}
|
|
33
|
+
async send(statement, ctx) {
|
|
34
|
+
return EntrySend.sendToSessionEntry(statement, ctx, Skill.manifest.name);
|
|
35
|
+
}
|
|
36
|
+
async find(statement, ctx) {
|
|
37
|
+
return EntryFind.findSessionEntries(statement, ctx, Skill.manifest);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=Skill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Skill.js","sourceRoot":"","sources":["../../src/schemes/Skill.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,mDAAmD;AAInD,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,SAAS,MAAM,kBAAkB,CAAC;AACzC,OAAO,SAAS,MAAM,kBAAkB,CAAC;AACzC,OAAO,SAAS,MAAM,kBAAkB,CAAC;AAMzC,MAAM,CAAC,OAAO,OAAO,KAAK;IACtB,MAAM,CAAC,QAAQ,GAAmB;QAC9B,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE;QACnC,cAAc,EAAE,MAAM;QACtB,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,SAAS;QAChB,UAAU,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;QAC/B,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,IAAI;KACrB,CAAC;IAEF,KAAK,CAAC,IAAI,CAAC,SAAwB,EAAE,GAAwB;QACzD,OAAO,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAAwB,EAAE,GAAwB;QACzD,OAAO,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAgB,EAAE,GAAwB;QACtD,OAAO,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAAgB,EAAE,KAAgB,EAAE,GAAwB;QACzE,OAAO,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAgB,EAAE,GAAwB;QACxD,OAAO,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAAwB,EAAE,GAAwB;QACzD,OAAO,SAAS,CAAC,kBAAkB,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAAwB,EAAE,GAAwB;QACzD,OAAO,SAAS,CAAC,kBAAkB,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACxE,CAAC;CACJ"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { SchemeManifest, PlurnkSchemeContext } from "../core/scheme-types.ts";
|
|
2
|
+
import type { EditStatement, FindStatement, ReadStatement, SendStatement } from "@plurnk/plurnk-grammar";
|
|
3
|
+
import type { EditResult, ReadResult } from "./_entry-ops.ts";
|
|
4
|
+
import type { EntryData, ReadEntryResult, WriteEntryResult, DeleteEntryResult } from "./_entry-crud.ts";
|
|
5
|
+
import type { SendResult } from "./_entry-send.ts";
|
|
6
|
+
import type { FindResult } from "./_entry-find.ts";
|
|
7
|
+
export default class Unknown {
|
|
8
|
+
static manifest: SchemeManifest;
|
|
9
|
+
edit(statement: EditStatement, ctx: PlurnkSchemeContext): Promise<EditResult>;
|
|
10
|
+
read(statement: ReadStatement, ctx: PlurnkSchemeContext): Promise<ReadResult>;
|
|
11
|
+
readEntry(pathname: string, ctx: PlurnkSchemeContext): Promise<ReadEntryResult>;
|
|
12
|
+
writeEntry(pathname: string, entry: EntryData, ctx: PlurnkSchemeContext): Promise<WriteEntryResult>;
|
|
13
|
+
deleteEntry(pathname: string, ctx: PlurnkSchemeContext): Promise<DeleteEntryResult>;
|
|
14
|
+
send(statement: SendStatement, ctx: PlurnkSchemeContext): Promise<SendResult>;
|
|
15
|
+
find(statement: FindStatement, ctx: PlurnkSchemeContext): Promise<FindResult>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=Unknown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Unknown.d.ts","sourceRoot":"","sources":["../../src/schemes/Unknown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnF,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAKzG,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACxG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,CAAC,OAAO,OAAO,OAAO;IACxB,MAAM,CAAC,QAAQ,EAAE,cAAc,CAU7B;IAEI,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CAElF;IAEK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CAElF;IAEK,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC,CAEpF;IAEK,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAExG;IAEK,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAExF;IAEK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CAElF;IAEK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CAElF;CACJ"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import EntryOps from "./_entry-ops.js";
|
|
2
|
+
import EntryCrud from "./_entry-crud.js";
|
|
3
|
+
import EntrySend from "./_entry-send.js";
|
|
4
|
+
import EntryFind from "./_entry-find.js";
|
|
5
|
+
export default class Unknown {
|
|
6
|
+
static manifest = {
|
|
7
|
+
name: "unknown",
|
|
8
|
+
channels: { body: "text/markdown" },
|
|
9
|
+
defaultChannel: "body",
|
|
10
|
+
category: "data",
|
|
11
|
+
scope: "session",
|
|
12
|
+
writableBy: ["model", "client"],
|
|
13
|
+
volatile: false,
|
|
14
|
+
modelVisible: true,
|
|
15
|
+
example: "<<READ(unknown:///entry.md)::READ",
|
|
16
|
+
};
|
|
17
|
+
async edit(statement, ctx) {
|
|
18
|
+
return EntryOps.editSessionEntry(statement, ctx, Unknown.manifest);
|
|
19
|
+
}
|
|
20
|
+
async read(statement, ctx) {
|
|
21
|
+
return EntryOps.readSessionEntry(statement, ctx, Unknown.manifest);
|
|
22
|
+
}
|
|
23
|
+
async readEntry(pathname, ctx) {
|
|
24
|
+
return EntryCrud.readEntry(pathname, ctx, Unknown.manifest.name);
|
|
25
|
+
}
|
|
26
|
+
async writeEntry(pathname, entry, ctx) {
|
|
27
|
+
return EntryCrud.writeEntry(pathname, entry, ctx, Unknown.manifest.name);
|
|
28
|
+
}
|
|
29
|
+
async deleteEntry(pathname, ctx) {
|
|
30
|
+
return EntryCrud.deleteEntry(pathname, ctx, Unknown.manifest.name);
|
|
31
|
+
}
|
|
32
|
+
async send(statement, ctx) {
|
|
33
|
+
return EntrySend.sendToSessionEntry(statement, ctx, Unknown.manifest.name);
|
|
34
|
+
}
|
|
35
|
+
async find(statement, ctx) {
|
|
36
|
+
return EntryFind.findSessionEntries(statement, ctx, Unknown.manifest);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=Unknown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Unknown.js","sourceRoot":"","sources":["../../src/schemes/Unknown.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,SAAS,MAAM,kBAAkB,CAAC;AACzC,OAAO,SAAS,MAAM,kBAAkB,CAAC;AACzC,OAAO,SAAS,MAAM,kBAAkB,CAAC;AAMzC,MAAM,CAAC,OAAO,OAAO,OAAO;IACxB,MAAM,CAAC,QAAQ,GAAmB;QAC9B,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE;QACnC,cAAc,EAAE,MAAM;QACtB,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,SAAS;QAChB,UAAU,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;QAC/B,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,IAAI;QAClB,OAAO,EAAE,mCAAmC;KAC/C,CAAC;IAEF,KAAK,CAAC,IAAI,CAAC,SAAwB,EAAE,GAAwB;QACzD,OAAO,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAAwB,EAAE,GAAwB;QACzD,OAAO,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAgB,EAAE,GAAwB;QACtD,OAAO,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAAgB,EAAE,KAAgB,EAAE,GAAwB;QACzE,OAAO,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAgB,EAAE,GAAwB;QACxD,OAAO,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAAwB,EAAE,GAAwB;QACzD,OAAO,SAAS,CAAC,kBAAkB,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAAwB,EAAE,GAAwB;QACzD,OAAO,SAAS,CAAC,kBAAkB,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1E,CAAC;CACJ"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface ChunkSpec {
|
|
2
|
+
seq: number;
|
|
3
|
+
lineStart: number;
|
|
4
|
+
lineEnd: number;
|
|
5
|
+
text: string;
|
|
6
|
+
}
|
|
7
|
+
export default class EntryChunk {
|
|
8
|
+
#private;
|
|
9
|
+
static tile(content: string, boundaries: ReadonlySet<number>, budget: number, overlap: number, countTokens: (text: string) => Promise<number>): Promise<ChunkSpec[]>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=_entry-chunk.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_entry-chunk.d.ts","sourceRoot":"","sources":["../../src/schemes/_entry-chunk.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,SAAS;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,CAAC,OAAO,OAAO,UAAU;;IAC3B,OAAa,IAAI,CACb,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,EAC/B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,GAC/C,OAAO,CAAC,SAAS,EAAE,CAAC,CA+CtB;CAgCJ"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
// The chunker for the `~query` semantic dialect — lossless, structure-preferring,
|
|
2
|
+
// budget-driven. Service-owned: the embedder daughter only embeds text + reports
|
|
3
|
+
// its window/tokenizer; how an entry is sliced to fit that window is the dialect's
|
|
4
|
+
// job, and the dialect is ours.
|
|
5
|
+
//
|
|
6
|
+
// tile() partitions an entry's body into chunks each <= `budget` tokens, COVERING
|
|
7
|
+
// EVERY LINE (losslessness — no truncation, ever), preferring to break at a
|
|
8
|
+
// `boundaries` line (a @graph symbol edge) when one falls within budget. Pure: no
|
|
9
|
+
// I/O, no DB, no daughter — `countTokens` is injected (the embedder's real
|
|
10
|
+
// tokenizer in production; a conservative char-count upper bound until it reports
|
|
11
|
+
// one; a stub in tests). Every tunable is a parameter — no constants live here.
|
|
12
|
+
export default class EntryChunk {
|
|
13
|
+
static async tile(content, boundaries, budget, overlap, countTokens) {
|
|
14
|
+
if (!(budget >= 1))
|
|
15
|
+
throw new Error(`EntryChunk.tile: budget must be >= 1, got ${budget}`);
|
|
16
|
+
if (!(overlap >= 0 && overlap < 1))
|
|
17
|
+
throw new Error(`EntryChunk.tile: overlap must be in [0,1), got ${overlap}`);
|
|
18
|
+
if (content.length === 0)
|
|
19
|
+
return [];
|
|
20
|
+
const lines = content.split("\n");
|
|
21
|
+
const n = lines.length;
|
|
22
|
+
// The budget is checked against the SUM of per-line counts. Cross-line BPE
|
|
23
|
+
// merges only ever shrink the true token count, so the sum is a safe upper
|
|
24
|
+
// bound: a chunk that passes the sum check is guaranteed <= budget in the
|
|
25
|
+
// real tokenizer. Lossless, and only O(n) countTokens calls.
|
|
26
|
+
const lineTokens = await Promise.all(lines.map(countTokens));
|
|
27
|
+
const chunks = [];
|
|
28
|
+
let start = 0;
|
|
29
|
+
while (start < n) {
|
|
30
|
+
// A single line larger than the whole budget can never fit — sub-split
|
|
31
|
+
// it (the one place we ever cut mid-line). This is what makes "no
|
|
32
|
+
// truncation, ever" hold even for a minified blob or a giant literal.
|
|
33
|
+
if (lineTokens[start] > budget) {
|
|
34
|
+
for (const piece of await EntryChunk.#splitLine(lines[start], budget, countTokens)) {
|
|
35
|
+
chunks.push({ seq: chunks.length, lineStart: start + 1, lineEnd: start + 1, text: piece });
|
|
36
|
+
}
|
|
37
|
+
start += 1;
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
// Greedily pack lines while the running sum stays within budget,
|
|
41
|
+
// remembering the last boundary line crossed (the preferred cut point).
|
|
42
|
+
let end = start;
|
|
43
|
+
let sum = lineTokens[start];
|
|
44
|
+
let lastBoundary = -1;
|
|
45
|
+
while (end + 1 < n && sum + lineTokens[end + 1] <= budget) {
|
|
46
|
+
end += 1;
|
|
47
|
+
sum += lineTokens[end];
|
|
48
|
+
if (boundaries.has(end + 1))
|
|
49
|
+
lastBoundary = end;
|
|
50
|
+
}
|
|
51
|
+
const closeAt = lastBoundary > start ? lastBoundary : end;
|
|
52
|
+
chunks.push({
|
|
53
|
+
seq: chunks.length,
|
|
54
|
+
lineStart: start + 1,
|
|
55
|
+
lineEnd: closeAt + 1,
|
|
56
|
+
text: lines.slice(start, closeAt + 1).join("\n"),
|
|
57
|
+
});
|
|
58
|
+
start = EntryChunk.#nextStart(start, closeAt, n, overlap, budget, lineTokens);
|
|
59
|
+
}
|
|
60
|
+
return chunks;
|
|
61
|
+
}
|
|
62
|
+
// Start of the next chunk: just after the close, backed up by ~overlap*budget
|
|
63
|
+
// tokens of trailing context. Always strictly after `start` so the tiling
|
|
64
|
+
// advances (no infinite loop) and never leaves a gap (next <= closeAt+1).
|
|
65
|
+
static #nextStart(start, closeAt, n, overlap, budget, lineTokens) {
|
|
66
|
+
const after = closeAt + 1;
|
|
67
|
+
if (overlap === 0 || after >= n || closeAt === start)
|
|
68
|
+
return after;
|
|
69
|
+
const want = budget * overlap;
|
|
70
|
+
let next = closeAt;
|
|
71
|
+
let acc = lineTokens[closeAt];
|
|
72
|
+
while (next - 1 > start && acc + lineTokens[next - 1] <= want) {
|
|
73
|
+
next -= 1;
|
|
74
|
+
acc += lineTokens[next];
|
|
75
|
+
}
|
|
76
|
+
return next;
|
|
77
|
+
}
|
|
78
|
+
// Split one over-budget line into contiguous <= budget pieces. Binary-search
|
|
79
|
+
// the longest prefix that fits, repeat. Pieces concatenate back to the line.
|
|
80
|
+
static async #splitLine(line, budget, countTokens) {
|
|
81
|
+
const pieces = [];
|
|
82
|
+
let i = 0;
|
|
83
|
+
while (i < line.length) {
|
|
84
|
+
let lo = i + 1, hi = line.length, best = i + 1;
|
|
85
|
+
while (lo <= hi) {
|
|
86
|
+
const mid = (lo + hi) >> 1;
|
|
87
|
+
if (await countTokens(line.slice(i, mid)) <= budget) {
|
|
88
|
+
best = mid;
|
|
89
|
+
lo = mid + 1;
|
|
90
|
+
}
|
|
91
|
+
else
|
|
92
|
+
hi = mid - 1;
|
|
93
|
+
}
|
|
94
|
+
pieces.push(line.slice(i, best));
|
|
95
|
+
i = best;
|
|
96
|
+
}
|
|
97
|
+
return pieces;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=_entry-chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_entry-chunk.js","sourceRoot":"","sources":["../../src/schemes/_entry-chunk.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { PlurnkSchemeContext } from "../core/scheme-types.ts";
|
|
2
|
+
export type ChannelState = "static" | "active" | "closed" | "errored";
|
|
3
|
+
export interface EntryData {
|
|
4
|
+
channels: Record<string, {
|
|
5
|
+
content: string;
|
|
6
|
+
mimetype: string;
|
|
7
|
+
state?: ChannelState;
|
|
8
|
+
}>;
|
|
9
|
+
tags: string[];
|
|
10
|
+
}
|
|
11
|
+
export interface ReadEntryResult {
|
|
12
|
+
status: number;
|
|
13
|
+
entry: EntryData | null;
|
|
14
|
+
}
|
|
15
|
+
export interface WriteEntryResult {
|
|
16
|
+
status: number;
|
|
17
|
+
created: boolean;
|
|
18
|
+
entryId: number | null;
|
|
19
|
+
body?: string;
|
|
20
|
+
attrs?: object;
|
|
21
|
+
}
|
|
22
|
+
export interface DeleteEntryResult {
|
|
23
|
+
status: number;
|
|
24
|
+
attrs?: object;
|
|
25
|
+
}
|
|
26
|
+
export default class EntryCrud {
|
|
27
|
+
static readEntry(pathname: string, ctx: PlurnkSchemeContext, scheme: string | null): Promise<ReadEntryResult>;
|
|
28
|
+
static writeEntry(pathname: string, entry: EntryData, ctx: PlurnkSchemeContext, scheme: string | null): Promise<WriteEntryResult>;
|
|
29
|
+
static deleteEntry(pathname: string, ctx: PlurnkSchemeContext, scheme: string | null): Promise<DeleteEntryResult>;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=_entry-crud.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_entry-crud.d.ts","sourceRoot":"","sources":["../../src/schemes/_entry-crud.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAGtE,MAAM,WAAW,SAAS;IACtB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,YAAY,CAAA;KAAE,CAAC,CAAC;IACtF,IAAI,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAIvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAC9B,MAAM,EAAE,MAAM,CAAC;IAGf,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,CAAC,OAAO,OAAO,SAAS;IAC1B,OAAa,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC,CAelH;IAED,OAAa,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA2CtI;IAED,OAAa,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAQtH;CACJ"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
// Shared CRUD primitives for entry-bearing schemes (Known, Unknown, Skill).
|
|
2
|
+
// Per SPEC §crud — uniform read/write/delete that the engine drives for
|
|
3
|
+
// cross-scheme orchestration of COPY/MOVE/SEND[410].
|
|
4
|
+
import EntrySemantic from "./_entry-semantic.js";
|
|
5
|
+
import TokenGauge from "../core/TokenGauge.js";
|
|
6
|
+
export default class EntryCrud {
|
|
7
|
+
static async readEntry(pathname, ctx, scheme) {
|
|
8
|
+
const { db, sessionId } = ctx;
|
|
9
|
+
const entry = await db.crud_find_session_entry.get({ session_id: sessionId, scheme, pathname });
|
|
10
|
+
if (entry === undefined)
|
|
11
|
+
return { status: 404, entry: null };
|
|
12
|
+
const channelRows = await db.crud_read_channels.all({ entry_id: entry.id });
|
|
13
|
+
const channels = {};
|
|
14
|
+
for (const row of channelRows) {
|
|
15
|
+
channels[row.name] = { content: row.content, mimetype: row.mimetype };
|
|
16
|
+
}
|
|
17
|
+
const tagRows = await db.crud_read_tags.all({ entry_id: entry.id });
|
|
18
|
+
const tags = tagRows.map((r) => r.tag);
|
|
19
|
+
return { status: 200, entry: { channels, tags } };
|
|
20
|
+
}
|
|
21
|
+
static async writeEntry(pathname, entry, ctx, scheme) {
|
|
22
|
+
const { db, sessionId, tokenize } = ctx;
|
|
23
|
+
if (tokenize === undefined)
|
|
24
|
+
throw new Error("writeEntry: ctx.tokenize is required for token accounting");
|
|
25
|
+
const existing = await db.crud_find_session_entry.get({ session_id: sessionId, scheme, pathname });
|
|
26
|
+
let entryId;
|
|
27
|
+
let created;
|
|
28
|
+
if (existing === undefined) {
|
|
29
|
+
const row = await db.crud_insert_session_entry.get({ session_id: sessionId, scheme, pathname });
|
|
30
|
+
if (row === undefined)
|
|
31
|
+
throw new Error("writeEntry: insert returned no row");
|
|
32
|
+
entryId = row.id;
|
|
33
|
+
created = true;
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
entryId = existing.id;
|
|
37
|
+
created = false;
|
|
38
|
+
await db.crud_delete_channels.run({ entry_id: entryId });
|
|
39
|
+
await db.crud_delete_tags.run({ entry_id: entryId });
|
|
40
|
+
}
|
|
41
|
+
// Writes are VERBATIM — the scheme never transforms what it's handed. Web-page projection
|
|
42
|
+
// (raw html → decisive markdown body + raw `html` archive) lives at the web-fetch entry point
|
|
43
|
+
// (the exec sink), NOT here: an authored/workspace html file is DATA whose attributes are the
|
|
44
|
+
// payload (a `<user email=…>` roster), and a reader-view projection would strip it.
|
|
45
|
+
for (const [channelName, channelData] of Object.entries(entry.channels)) {
|
|
46
|
+
await db.crud_write_channel.run({
|
|
47
|
+
entry_id: entryId, name: channelName, content: channelData.content, mimetype: channelData.mimetype,
|
|
48
|
+
tokens: tokenize(channelData.content), // the write-time upper-bound stamp (§tokenomics-tokens-stored-at-write); the EXACT per-tokenizer count derives async (#312)
|
|
49
|
+
content_hash: TokenGauge.contentHash(channelData.content),
|
|
50
|
+
state: channelData.state ?? "static",
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
for (const tag of entry.tags) {
|
|
54
|
+
await db.crud_write_tag.run({ entry_id: entryId, tag });
|
|
55
|
+
}
|
|
56
|
+
// §semantic-fts-at-write — the keyword half of the ~fusion indexes AT THE WRITE
|
|
57
|
+
// (plain string→FTS, no handler): a cold session's very first query narrows over
|
|
58
|
+
// everything ever written. Only the VECTOR half is derived (background pump +
|
|
59
|
+
// the ~query's inline slice). NB: still NO @graph derivation here — the mimetypes
|
|
60
|
+
// handler is never invoked at write (§mimetype-schemes-do-not-invoke-handlers).
|
|
61
|
+
const body = entry.channels["body"];
|
|
62
|
+
if (body !== undefined)
|
|
63
|
+
await EntrySemantic.indexFts(db, entryId, body.content);
|
|
64
|
+
return { status: created ? 201 : 200, created, entryId };
|
|
65
|
+
}
|
|
66
|
+
static async deleteEntry(pathname, ctx, scheme) {
|
|
67
|
+
const { db, sessionId } = ctx;
|
|
68
|
+
const existing = await db.crud_find_session_entry.get({ session_id: sessionId, scheme, pathname });
|
|
69
|
+
if (existing === undefined)
|
|
70
|
+
return { status: 404 };
|
|
71
|
+
await EntrySemantic.indexFts(db, existing.id, ""); // §semantic-fts-at-write — the keyword row dies with the entry
|
|
72
|
+
await db.crud_delete_entry.run({ entry_id: existing.id });
|
|
73
|
+
// CASCADE on entry_channels, entry_tags per FK constraints.
|
|
74
|
+
return { status: 200 };
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=_entry-crud.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_entry-crud.js","sourceRoot":"","sources":["../../src/schemes/_entry-crud.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
-- Entry CRUD primitives (SPEC §crud). Used by entry-bearing schemes
|
|
2
|
+
-- (known/unknown/skill) and the engine for cross-scheme COPY/MOVE/SEND[410].
|
|
3
|
+
|
|
4
|
+
-- PREP: crud_find_session_entry
|
|
5
|
+
-- Null-aware scheme comparison: the file scheme is the routing internal
|
|
6
|
+
-- for bare/absolute paths; storage normalizes its rows to scheme=NULL
|
|
7
|
+
-- (Engine.#extractTarget). SQL's `=` doesn't match NULL, so use `IS`.
|
|
8
|
+
SELECT id FROM entries
|
|
9
|
+
WHERE scope = 'session' AND session_id = $session_id AND scheme IS $scheme AND pathname = $pathname;
|
|
10
|
+
|
|
11
|
+
-- PREP: crud_read_channels
|
|
12
|
+
SELECT name, content, mimetype FROM entry_channels WHERE entry_id = $entry_id;
|
|
13
|
+
|
|
14
|
+
-- PREP: crud_read_tags
|
|
15
|
+
SELECT tag FROM entry_tags WHERE entry_id = $entry_id ORDER BY tag;
|
|
16
|
+
|
|
17
|
+
-- PREP: crud_insert_session_entry
|
|
18
|
+
INSERT INTO entries (scope, session_id, scheme, pathname)
|
|
19
|
+
VALUES ('session', $session_id, $scheme, $pathname)
|
|
20
|
+
RETURNING id;
|
|
21
|
+
|
|
22
|
+
-- PREP: crud_find_run_entry
|
|
23
|
+
-- Run-scope twin of crud_find_session_entry (§run-scheme). A run entry is keyed
|
|
24
|
+
-- (scope='run', scheme='run', pathname); the owning run rides the pathname's first
|
|
25
|
+
-- segment (the folded run:// authority), so there is no run_id column.
|
|
26
|
+
SELECT id FROM entries
|
|
27
|
+
WHERE scope = 'run' AND session_id = $session_id AND scheme IS $scheme AND pathname = $pathname;
|
|
28
|
+
|
|
29
|
+
-- PREP: crud_insert_run_entry
|
|
30
|
+
INSERT INTO entries (scope, session_id, scheme, pathname)
|
|
31
|
+
VALUES ('run', $session_id, $scheme, $pathname)
|
|
32
|
+
RETURNING id;
|
|
33
|
+
|
|
34
|
+
-- PREP: crud_register_session_member
|
|
35
|
+
-- Idempotent bare-membership insert (SPEC §membership D4 — git ls-files membership).
|
|
36
|
+
-- A git-tracked file is a session member by virtue of being tracked; the row
|
|
37
|
+
-- is the membership marker the File read-gate checks and FIND globs by path.
|
|
38
|
+
-- Channel-less by design — disk stays the truth (D3). ON CONFLICT no-ops so
|
|
39
|
+
-- re-resolving membership each turn never duplicates or churns rows.
|
|
40
|
+
INSERT INTO entries (scope, session_id, scheme, pathname, membership_origin)
|
|
41
|
+
VALUES ('session', $session_id, $scheme, $pathname, $membership_origin)
|
|
42
|
+
ON CONFLICT (session_id, scheme, pathname) WHERE scope = 'session'
|
|
43
|
+
DO NOTHING
|
|
44
|
+
RETURNING id;
|
|
45
|
+
|
|
46
|
+
-- PREP: crud_get_member_sig
|
|
47
|
+
-- SPEC §membership-change-gated-sync — the member's last-synced disk signature
|
|
48
|
+
-- (mtime:size), read before materializing so an unchanged file short-circuits
|
|
49
|
+
-- before any content read. Null-aware scheme (file members store scheme=NULL).
|
|
50
|
+
SELECT id, synced_sig FROM entries
|
|
51
|
+
WHERE scope = 'session' AND session_id = $session_id AND scheme IS $scheme AND pathname = $pathname;
|
|
52
|
+
|
|
53
|
+
-- PREP: crud_set_synced_sig
|
|
54
|
+
-- Stamp the disk signature after a member materializes to disk truth; the next
|
|
55
|
+
-- pass compares against it to skip an unchanged member.
|
|
56
|
+
UPDATE entries SET synced_sig = $synced_sig WHERE id = $entry_id;
|
|
57
|
+
|
|
58
|
+
-- PREP: crud_delete_channels
|
|
59
|
+
DELETE FROM entry_channels WHERE entry_id = $entry_id;
|
|
60
|
+
|
|
61
|
+
-- PREP: crud_delete_channel
|
|
62
|
+
DELETE FROM entry_channels WHERE entry_id = $entry_id AND name = $name
|
|
63
|
+
RETURNING name;
|
|
64
|
+
|
|
65
|
+
-- PREP: crud_delete_tags
|
|
66
|
+
DELETE FROM entry_tags WHERE entry_id = $entry_id;
|
|
67
|
+
|
|
68
|
+
-- PREP: crud_write_channel
|
|
69
|
+
-- #312 — content_hash stamped at every static write: the join key into token_counts.
|
|
70
|
+
INSERT INTO entry_channels (entry_id, name, content, mimetype, tokens, content_hash, state)
|
|
71
|
+
VALUES ($entry_id, $name, $content, $mimetype, $tokens, $content_hash, $state);
|
|
72
|
+
|
|
73
|
+
-- PREP: crud_write_tag
|
|
74
|
+
INSERT OR IGNORE INTO entry_tags (entry_id, tag) VALUES ($entry_id, $tag);
|
|
75
|
+
|
|
76
|
+
-- PREP: crud_delete_tag
|
|
77
|
+
DELETE FROM entry_tags WHERE entry_id = $entry_id AND tag = $tag;
|
|
78
|
+
|
|
79
|
+
-- PREP: crud_delete_entry
|
|
80
|
+
DELETE FROM entries WHERE id = $entry_id;
|
|
81
|
+
|
|
82
|
+
-- PREP: crud_list_reconcilable_members
|
|
83
|
+
-- Overlay-owned file members of a session (membership_origin IN git, constraint).
|
|
84
|
+
-- The reconciliation set: resolveGitMembership compares this against the desired
|
|
85
|
+
-- ((git ls-files ∪ add) − ignore) and un-registers the difference, so entries ==
|
|
86
|
+
-- members. Model-created ('client') members are excluded — not git's to reclaim.
|
|
87
|
+
SELECT id, pathname FROM entries
|
|
88
|
+
WHERE scope = 'session' AND session_id = $session_id AND scheme IS NULL AND membership_origin IN ('git', 'constraint');
|
|
89
|
+
|
|
90
|
+
-- PREP: crud_insert_session_constraint
|
|
91
|
+
-- SPEC §membership constraint overlay — the client supersede. Idempotent per
|
|
92
|
+
-- (session, effect, glob); effect ∈ {add, ignore, read-only}.
|
|
93
|
+
INSERT OR IGNORE INTO session_constraints (session_id, effect, glob)
|
|
94
|
+
VALUES ($session_id, $effect, $glob);
|
|
95
|
+
|
|
96
|
+
-- PREP: crud_list_session_constraints
|
|
97
|
+
SELECT effect, glob FROM session_constraints WHERE session_id = $session_id;
|
|
98
|
+
|
|
99
|
+
-- PREP: crud_delete_session_constraint
|
|
100
|
+
-- "remove" a constraint — deleting the row, not a fourth effect.
|
|
101
|
+
DELETE FROM session_constraints WHERE session_id = $session_id AND effect = $effect AND glob = $glob;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { FindStatement } from "@plurnk/plurnk-grammar";
|
|
2
|
+
import type { PlurnkSchemeContext, SchemeManifest } from "../core/scheme-types.ts";
|
|
3
|
+
import { type CatalogEntry } from "./_entry-manifest.ts";
|
|
4
|
+
export interface Match {
|
|
5
|
+
pathname: string;
|
|
6
|
+
span: {
|
|
7
|
+
lineStart: number;
|
|
8
|
+
lineEnd: number;
|
|
9
|
+
} | null;
|
|
10
|
+
path?: string;
|
|
11
|
+
}
|
|
12
|
+
export type MatchItem = CatalogEntry & {
|
|
13
|
+
matchSpan?: {
|
|
14
|
+
lineStart: number;
|
|
15
|
+
lineEnd: number;
|
|
16
|
+
};
|
|
17
|
+
matchPath?: string;
|
|
18
|
+
};
|
|
19
|
+
export interface FindResult {
|
|
20
|
+
status: number;
|
|
21
|
+
content: string | null;
|
|
22
|
+
mimetype: string | null;
|
|
23
|
+
results: MatchItem[];
|
|
24
|
+
itemsTokenTotal: number;
|
|
25
|
+
pathnames: string[];
|
|
26
|
+
matches: Match[];
|
|
27
|
+
}
|
|
28
|
+
export default class EntryFind {
|
|
29
|
+
#private;
|
|
30
|
+
static findSessionEntries(statement: FindStatement, ctx: PlurnkSchemeContext, manifest: SchemeManifest): Promise<FindResult>;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=_entry-find.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_entry-find.d.ts","sourceRoot":"","sources":["../../src/schemes/_entry-find.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAG5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAInF,OAAsB,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AASxE,MAAM,WAAW,KAAK;IAAG,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CAAE;AAEhH,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG;IAAE,SAAS,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAElH,MAAM,WAAW,UAAU;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,KAAK,EAAE,CAAC;CACpB;AAED,MAAM,CAAC,OAAO,OAAO,SAAS;;IAmJ1B,OAAa,kBAAkB,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,mBAAmB,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CAmCjI;CACJ"}
|