@plurnk/plurnk-service 1.7.0 → 1.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.defaults +49 -42
- package/INSTALL.md +48 -11
- package/README.md +12 -2
- package/SPEC.md +1166 -475
- package/digest-sql/channel-dispositions/dispositions.sql +15 -0
- package/digest-sql/channel-state/state.sql +6 -0
- package/digest-sql/curation/curation.sql +5 -0
- package/digest-sql/derivations/derivations.sql +4 -0
- package/digest-sql/embeddings/embeddings.sql +4 -0
- package/digest-sql/entry-dispositions/dispositions.sql +15 -0
- package/digest-sql/entry-state/state.sql +6 -0
- package/digest-sql/token-counts/token-counts.sql +2 -0
- package/dist/Paths.d.ts +0 -4
- package/dist/Paths.d.ts.map +1 -1
- package/dist/Paths.js +1 -21
- package/dist/Paths.js.map +1 -1
- package/dist/build-info.json +1 -1
- package/dist/content/read-projector.d.ts.map +1 -1
- package/dist/content/read-projector.js +4 -3
- package/dist/content/read-projector.js.map +1 -1
- package/dist/core/BudgetReadout.d.ts.map +1 -1
- package/dist/core/BudgetReadout.js +12 -22
- package/dist/core/BudgetReadout.js.map +1 -1
- package/dist/core/ChannelWrite.d.ts +8 -3
- package/dist/core/ChannelWrite.d.ts.map +1 -1
- package/dist/core/ChannelWrite.js +40 -8
- package/dist/core/ChannelWrite.js.map +1 -1
- package/dist/core/ChannelWrite.sql +19 -5
- package/dist/core/CoreSchemeServices.d.ts +7 -3
- package/dist/core/CoreSchemeServices.d.ts.map +1 -1
- package/dist/core/CoreSchemeServices.js +8 -1
- package/dist/core/CoreSchemeServices.js.map +1 -1
- package/dist/core/Dispatcher.d.ts +15 -6
- package/dist/core/Dispatcher.d.ts.map +1 -1
- package/dist/core/Dispatcher.js +352 -306
- package/dist/core/Dispatcher.js.map +1 -1
- package/dist/core/Engine.d.ts +22 -10
- package/dist/core/Engine.d.ts.map +1 -1
- package/dist/core/Engine.js +86 -46
- package/dist/core/Engine.js.map +1 -1
- package/dist/core/Engine.sql +202 -177
- package/dist/core/EntryAddressBinding.d.ts +32 -0
- package/dist/core/EntryAddressBinding.d.ts.map +1 -0
- package/dist/core/EntryAddressBinding.js +93 -0
- package/dist/core/EntryAddressBinding.js.map +1 -0
- package/dist/core/ExecutorRegistry.d.ts +12 -6
- package/dist/core/ExecutorRegistry.d.ts.map +1 -1
- package/dist/core/ExecutorRegistry.js +34 -31
- package/dist/core/ExecutorRegistry.js.map +1 -1
- package/dist/core/HostPaths.d.ts +29 -0
- package/dist/core/HostPaths.d.ts.map +1 -0
- package/dist/core/HostPaths.js +74 -0
- package/dist/core/HostPaths.js.map +1 -0
- package/dist/core/LegacyHome.d.ts +10 -0
- package/dist/core/LegacyHome.d.ts.map +1 -0
- package/dist/core/LegacyHome.js +170 -0
- package/dist/core/LegacyHome.js.map +1 -0
- package/dist/core/LogBody.d.ts +1 -1
- package/dist/core/LogBody.d.ts.map +1 -1
- package/dist/core/LogBody.js +21 -3
- package/dist/core/LogBody.js.map +1 -1
- package/dist/core/LogEntryProjection.js +1 -1
- package/dist/core/LogEntryProjection.js.map +1 -1
- package/dist/core/LogVisibility.d.ts +28 -0
- package/dist/core/LogVisibility.d.ts.map +1 -0
- package/dist/core/LogVisibility.js +215 -0
- package/dist/core/LogVisibility.js.map +1 -0
- package/dist/core/LoopLifecycle.d.ts +1 -0
- package/dist/core/LoopLifecycle.d.ts.map +1 -1
- package/dist/core/LoopLifecycle.js +8 -0
- package/dist/core/LoopLifecycle.js.map +1 -1
- package/dist/core/LoopLifecycle.sql +10 -0
- package/dist/core/OperatorConfig.d.ts +6 -0
- package/dist/core/OperatorConfig.d.ts.map +1 -0
- package/dist/core/OperatorConfig.js +95 -0
- package/dist/core/OperatorConfig.js.map +1 -0
- package/dist/core/OverflowTurn.d.ts +11 -0
- package/dist/core/OverflowTurn.d.ts.map +1 -0
- package/dist/core/OverflowTurn.js +81 -0
- package/dist/core/OverflowTurn.js.map +1 -0
- package/dist/core/Owner.js +3 -3
- package/dist/core/Owner.js.map +1 -1
- package/dist/core/PacketBuilder.d.ts +7 -15
- package/dist/core/PacketBuilder.d.ts.map +1 -1
- package/dist/core/PacketBuilder.js +64 -127
- package/dist/core/PacketBuilder.js.map +1 -1
- package/dist/core/ProblemLog.js +1 -1
- package/dist/core/ProblemLog.js.map +1 -1
- package/dist/core/ProposalLifecycle.d.ts +4 -1
- package/dist/core/ProposalLifecycle.d.ts.map +1 -1
- package/dist/core/ProposalLifecycle.js +86 -47
- package/dist/core/ProposalLifecycle.js.map +1 -1
- package/dist/core/ProviderInstantiate.d.ts +9 -5
- package/dist/core/ProviderInstantiate.d.ts.map +1 -1
- package/dist/core/ProviderInstantiate.js +99 -104
- package/dist/core/ProviderInstantiate.js.map +1 -1
- package/dist/core/ReasoningEvent.d.ts +13 -0
- package/dist/core/ReasoningEvent.d.ts.map +1 -0
- package/dist/core/ReasoningEvent.js +6 -0
- package/dist/core/ReasoningEvent.js.map +1 -0
- package/dist/core/ResourceMutations.d.ts +15 -19
- package/dist/core/ResourceMutations.d.ts.map +1 -1
- package/dist/core/ResourceMutations.js +118 -41
- package/dist/core/ResourceMutations.js.map +1 -1
- package/dist/core/SchemeRegistry.d.ts +12 -12
- package/dist/core/SchemeRegistry.d.ts.map +1 -1
- package/dist/core/SchemeRegistry.js +58 -57
- package/dist/core/SchemeRegistry.js.map +1 -1
- package/dist/core/ToolResources.d.ts +19 -0
- package/dist/core/ToolResources.d.ts.map +1 -0
- package/dist/core/ToolResources.js +123 -0
- package/dist/core/ToolResources.js.map +1 -0
- package/dist/core/Turn.d.ts +27 -0
- package/dist/core/Turn.d.ts.map +1 -0
- package/dist/core/Turn.js +43 -0
- package/dist/core/Turn.js.map +1 -0
- package/dist/core/Turn.sql +72 -0
- package/dist/core/TurnOps.d.ts +7 -0
- package/dist/core/TurnOps.d.ts.map +1 -0
- package/dist/core/TurnOps.js +73 -0
- package/dist/core/TurnOps.js.map +1 -0
- package/dist/core/TurnRunner.d.ts +56 -5
- package/dist/core/TurnRunner.d.ts.map +1 -1
- package/dist/core/TurnRunner.js +1163 -929
- package/dist/core/TurnRunner.js.map +1 -1
- package/dist/core/WorkerName.d.ts +2 -1
- package/dist/core/WorkerName.d.ts.map +1 -1
- package/dist/core/WorkerName.js +2 -1
- package/dist/core/WorkerName.js.map +1 -1
- package/dist/core/WorkerName.sql +17 -2
- package/dist/core/WorkspaceGate.js +1 -1
- package/dist/core/WorkspaceGate.js.map +1 -1
- package/dist/core/caps/CapsResolve.d.ts +2 -2
- package/dist/core/caps/CapsResolve.d.ts.map +1 -1
- package/dist/core/caps/CapsResolve.js +5 -7
- package/dist/core/caps/CapsResolve.js.map +1 -1
- package/dist/core/caps/DbChannelCaps.d.ts +1 -1
- package/dist/core/caps/DbChannelCaps.d.ts.map +1 -1
- package/dist/core/caps/DbChannelCaps.js +13 -11
- package/dist/core/caps/DbChannelCaps.js.map +1 -1
- package/dist/core/caps/DbEntryCaps.d.ts +5 -5
- package/dist/core/caps/DbEntryCaps.d.ts.map +1 -1
- package/dist/core/caps/DbEntryCaps.js +27 -30
- package/dist/core/caps/DbEntryCaps.js.map +1 -1
- package/dist/core/caps/DbNotifyCaps.d.ts +1 -1
- package/dist/core/caps/DbNotifyCaps.d.ts.map +1 -1
- package/dist/core/caps/DbNotifyCaps.js +5 -3
- package/dist/core/caps/DbNotifyCaps.js.map +1 -1
- package/dist/core/caps/DbSubscriptionCaps.d.ts +3 -3
- package/dist/core/caps/DbSubscriptionCaps.d.ts.map +1 -1
- package/dist/core/caps/DbSubscriptionCaps.js +16 -26
- package/dist/core/caps/DbSubscriptionCaps.js.map +1 -1
- package/dist/core/caps/SchemeCtxImpl.d.ts +6 -4
- package/dist/core/caps/SchemeCtxImpl.d.ts.map +1 -1
- package/dist/core/caps/SchemeCtxImpl.js +37 -5
- package/dist/core/caps/SchemeCtxImpl.js.map +1 -1
- package/dist/core/env-defaults.d.ts.map +1 -1
- package/dist/core/env-defaults.js +7 -5
- package/dist/core/env-defaults.js.map +1 -1
- package/dist/core/file-creation-policy.d.ts +9 -0
- package/dist/core/file-creation-policy.d.ts.map +1 -0
- package/dist/core/file-creation-policy.js +25 -0
- package/dist/core/file-creation-policy.js.map +1 -0
- package/dist/core/fork.d.ts +4 -1
- package/dist/core/fork.d.ts.map +1 -1
- package/dist/core/fork.js +39 -16
- package/dist/core/fork.js.map +1 -1
- package/dist/core/fork.sql +83 -40
- package/dist/core/git-env.d.ts +0 -1
- package/dist/core/git-env.d.ts.map +1 -1
- package/dist/core/git-env.js +0 -3
- package/dist/core/git-env.js.map +1 -1
- package/dist/core/git-membership.d.ts +19 -1
- package/dist/core/git-membership.d.ts.map +1 -1
- package/dist/core/git-membership.js +233 -74
- package/dist/core/git-membership.js.map +1 -1
- package/dist/core/git-state.d.ts.map +1 -1
- package/dist/core/git-state.js +13 -14
- package/dist/core/git-state.js.map +1 -1
- package/dist/core/operation-target-groups.d.ts +3 -0
- package/dist/core/operation-target-groups.d.ts.map +1 -0
- package/dist/core/operation-target-groups.js +53 -0
- package/dist/core/operation-target-groups.js.map +1 -0
- package/dist/core/packet-inject.d.ts +0 -1
- package/dist/core/packet-inject.d.ts.map +1 -1
- package/dist/core/packet-inject.js +6 -13
- package/dist/core/packet-inject.js.map +1 -1
- package/dist/core/packet-wire.d.ts +4 -0
- package/dist/core/packet-wire.d.ts.map +1 -1
- package/dist/core/packet-wire.js +226 -53
- package/dist/core/packet-wire.js.map +1 -1
- package/dist/core/plurnk-uri.d.ts +14 -3
- package/dist/core/plurnk-uri.d.ts.map +1 -1
- package/dist/core/plurnk-uri.js +62 -24
- package/dist/core/plurnk-uri.js.map +1 -1
- package/dist/core/scheme-types.d.ts +1 -0
- package/dist/core/scheme-types.d.ts.map +1 -1
- package/dist/core/teaching.d.ts.map +1 -1
- package/dist/core/teaching.js +4 -5
- package/dist/core/teaching.js.map +1 -1
- package/dist/core/worker-ops.sql +10 -6
- package/dist/core/worker-settings.d.ts +10 -0
- package/dist/core/worker-settings.d.ts.map +1 -0
- package/dist/core/worker-settings.js +32 -0
- package/dist/core/worker-settings.js.map +1 -0
- package/dist/core/workspace-settings.d.ts +2 -11
- package/dist/core/workspace-settings.d.ts.map +1 -1
- package/dist/core/workspace-settings.js +7 -47
- package/dist/core/workspace-settings.js.map +1 -1
- package/dist/digest/Digest.d.ts.map +1 -1
- package/dist/digest/Digest.js +164 -92
- package/dist/digest/Digest.js.map +1 -1
- package/dist/digest/digest.sql +9 -3
- package/dist/observe/genai.d.ts +9 -0
- package/dist/observe/genai.d.ts.map +1 -0
- package/dist/observe/genai.js +31 -0
- package/dist/observe/genai.js.map +1 -0
- package/dist/observe/spans.d.ts +3 -3
- package/dist/observe/spans.d.ts.map +1 -1
- package/dist/observe/spans.js +20 -5
- package/dist/observe/spans.js.map +1 -1
- package/dist/schemes/EffectPolicy.d.ts +3 -0
- package/dist/schemes/EffectPolicy.d.ts.map +1 -1
- package/dist/schemes/EffectPolicy.js +38 -6
- package/dist/schemes/EffectPolicy.js.map +1 -1
- package/dist/schemes/Exec.d.ts +3 -2
- package/dist/schemes/Exec.d.ts.map +1 -1
- package/dist/schemes/Exec.js +109 -34
- package/dist/schemes/Exec.js.map +1 -1
- package/dist/schemes/ExecOutputScheme.d.ts.map +1 -1
- package/dist/schemes/ExecOutputScheme.js +5 -4
- package/dist/schemes/ExecOutputScheme.js.map +1 -1
- package/dist/schemes/File.d.ts.map +1 -1
- package/dist/schemes/File.js +170 -80
- package/dist/schemes/File.js.map +1 -1
- package/dist/schemes/Log.d.ts +6 -2
- package/dist/schemes/Log.d.ts.map +1 -1
- package/dist/schemes/Log.js +73 -22
- package/dist/schemes/Log.js.map +1 -1
- package/dist/schemes/Log.sql +25 -7
- package/dist/schemes/Prompt.d.ts +2 -3
- package/dist/schemes/Prompt.d.ts.map +1 -1
- package/dist/schemes/Prompt.js +5 -9
- package/dist/schemes/Prompt.js.map +1 -1
- package/dist/schemes/QuestionTool.d.ts +10 -0
- package/dist/schemes/QuestionTool.d.ts.map +1 -0
- package/dist/schemes/QuestionTool.js +81 -0
- package/dist/schemes/QuestionTool.js.map +1 -0
- package/dist/schemes/Skill.d.ts.map +1 -1
- package/dist/schemes/Skill.js +6 -1
- package/dist/schemes/Skill.js.map +1 -1
- package/dist/schemes/Worker.d.ts.map +1 -1
- package/dist/schemes/Worker.js +97 -34
- package/dist/schemes/Worker.js.map +1 -1
- package/dist/schemes/_entry-crud.d.ts +5 -5
- package/dist/schemes/_entry-crud.d.ts.map +1 -1
- package/dist/schemes/_entry-crud.js +22 -17
- package/dist/schemes/_entry-crud.js.map +1 -1
- package/dist/schemes/_entry-crud.sql +77 -24
- package/dist/schemes/_entry-find.d.ts +8 -5
- package/dist/schemes/_entry-find.d.ts.map +1 -1
- package/dist/schemes/_entry-find.js +121 -40
- package/dist/schemes/_entry-find.js.map +1 -1
- package/dist/schemes/_entry-find.sql +16 -11
- package/dist/schemes/_entry-graph.sql +2 -6
- package/dist/schemes/_entry-manifest.d.ts +2 -2
- package/dist/schemes/_entry-manifest.d.ts.map +1 -1
- package/dist/schemes/_entry-manifest.js +18 -6
- package/dist/schemes/_entry-manifest.js.map +1 -1
- package/dist/schemes/_entry-ops.d.ts +6 -5
- package/dist/schemes/_entry-ops.d.ts.map +1 -1
- package/dist/schemes/_entry-ops.js +39 -46
- package/dist/schemes/_entry-ops.js.map +1 -1
- package/dist/schemes/_entry-ops.sql +9 -6
- package/dist/schemes/_entry-send.d.ts +2 -2
- package/dist/schemes/_entry-send.d.ts.map +1 -1
- package/dist/schemes/_entry-send.js +16 -14
- package/dist/schemes/_entry-send.js.map +1 -1
- package/dist/schemes/_search-index.d.ts.map +1 -1
- package/dist/schemes/_search-index.js +39 -25
- package/dist/schemes/_search-index.js.map +1 -1
- package/dist/server/Daemon.d.ts +98 -15
- package/dist/server/Daemon.d.ts.map +1 -1
- package/dist/server/Daemon.js +864 -348
- package/dist/server/Daemon.js.map +1 -1
- package/dist/server/DaemonModule.d.ts +84 -19
- package/dist/server/DaemonModule.d.ts.map +1 -1
- package/dist/server/DrainSupervisor.d.ts +15 -10
- package/dist/server/DrainSupervisor.d.ts.map +1 -1
- package/dist/server/DrainSupervisor.js +70 -19
- package/dist/server/DrainSupervisor.js.map +1 -1
- package/dist/server/Functionality.d.ts +44 -0
- package/dist/server/Functionality.d.ts.map +1 -0
- package/dist/server/Functionality.js +422 -0
- package/dist/server/Functionality.js.map +1 -0
- package/dist/server/FunctionalityManager.d.ts +22 -0
- package/dist/server/FunctionalityManager.d.ts.map +1 -0
- package/dist/server/FunctionalityManager.js +121 -0
- package/dist/server/FunctionalityManager.js.map +1 -0
- package/dist/server/SkillsFunctionality.d.ts +61 -0
- package/dist/server/SkillsFunctionality.d.ts.map +1 -0
- package/dist/server/SkillsFunctionality.js +449 -0
- package/dist/server/SkillsFunctionality.js.map +1 -0
- package/dist/server/WorkerCapabilities.d.ts +21 -0
- package/dist/server/WorkerCapabilities.d.ts.map +1 -0
- package/dist/server/WorkerCapabilities.js +214 -0
- package/dist/server/WorkerCapabilities.js.map +1 -0
- package/dist/server/WorkerResidency.d.ts +40 -0
- package/dist/server/WorkerResidency.d.ts.map +1 -0
- package/dist/server/WorkerResidency.js +283 -0
- package/dist/server/WorkerResidency.js.map +1 -0
- package/dist/server/client-input.d.ts +6 -2
- package/dist/server/client-input.d.ts.map +1 -1
- package/dist/server/client-input.js +72 -32
- package/dist/server/client-input.js.map +1 -1
- package/dist/server/dispatch-as-plurnk.d.ts +2 -2
- package/dist/server/dispatch-as-plurnk.d.ts.map +1 -1
- package/dist/server/dispatch-as-plurnk.js +109 -23
- package/dist/server/dispatch-as-plurnk.js.map +1 -1
- package/dist/server/drain.sql +33 -13
- package/dist/server/envelope.d.ts +7 -2
- package/dist/server/envelope.d.ts.map +1 -1
- package/dist/server/envelope.js +12 -6
- package/dist/server/envelope.js.map +1 -1
- package/dist/server/envelope.sql +36 -4
- package/dist/server/lifecycle-recovery.sql +24 -17
- package/dist/server/logEntry.d.ts +2 -1
- package/dist/server/logEntry.d.ts.map +1 -1
- package/dist/server/logEntry.js +3 -2
- package/dist/server/logEntry.js.map +1 -1
- package/dist/server/logEntry.sql +7 -0
- package/dist/server/loop-model.d.ts +2 -2
- package/dist/server/loop-model.d.ts.map +1 -1
- package/dist/server/loop-model.js +23 -33
- package/dist/server/loop-model.js.map +1 -1
- package/dist/server/loopDocs.d.ts +2 -1
- package/dist/server/loopDocs.d.ts.map +1 -1
- package/dist/server/loopDocs.js +88 -21
- package/dist/server/loopDocs.js.map +1 -1
- package/dist/server/loopDocs.sql +14 -8
- package/dist/server/model-catalog.d.ts +3 -0
- package/dist/server/model-catalog.d.ts.map +1 -0
- package/dist/server/model-catalog.js +83 -0
- package/dist/server/model-catalog.js.map +1 -0
- package/dist/server/model-route.d.ts +7 -0
- package/dist/server/model-route.d.ts.map +1 -0
- package/dist/server/model-route.js +47 -0
- package/dist/server/model-route.js.map +1 -0
- package/dist/server/module-discovery.d.ts +13 -0
- package/dist/server/module-discovery.d.ts.map +1 -0
- package/dist/server/module-discovery.js +103 -0
- package/dist/server/module-discovery.js.map +1 -0
- package/dist/server/seam-entry-read.sql +9 -7
- package/dist/server/seam-log-read.sql +1 -1
- package/dist/server/seam-loop.sql +10 -1
- package/dist/server/seam-proposal-list.sql +4 -2
- package/dist/server/worker-capabilities.sql +19 -0
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +193 -124
- package/dist/service.js.map +1 -1
- package/migrations/001_schema.sql +905 -196
- package/package.json +40 -38
- package/dist/core/ExecutableTools.d.ts +0 -11
- package/dist/core/ExecutableTools.d.ts.map +0 -1
- package/dist/core/ExecutableTools.js +0 -49
- package/dist/core/ExecutableTools.js.map +0 -1
- package/dist/core/JournalTurn.d.ts +0 -9
- package/dist/core/JournalTurn.d.ts.map +0 -1
- package/dist/core/JournalTurn.js +0 -14
- package/dist/core/JournalTurn.js.map +0 -1
- package/dist/core/JournalTurn.sql +0 -10
- package/dist/core/git-iso.d.ts +0 -13
- package/dist/core/git-iso.d.ts.map +0 -1
- package/dist/core/git-iso.js +0 -267
- package/dist/core/git-iso.js.map +0 -1
- package/dist/core/search-gate.d.ts +0 -17
- package/dist/core/search-gate.d.ts.map +0 -1
- package/dist/core/search-gate.js +0 -77
- package/dist/core/search-gate.js.map +0 -1
- package/dist/digest/Digest.sql +0 -1
- package/dist/server/workspace-capabilities.sql +0 -19
package/.env.defaults
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
# ⚠ REFERENCE — this is @plurnk/plurnk-service's shipped .env.defaults: the operative floor
|
|
2
|
-
# for its knobs and
|
|
3
|
-
#
|
|
4
|
-
#
|
|
5
|
-
# (yours, seeded once, never touched) or ./.env.
|
|
2
|
+
# for its knobs and source of the derived --<knob> CLI flags. Run
|
|
3
|
+
# `plurnk-service config defaults` for the complete owner-labelled installed aggregate. Put user
|
|
4
|
+
# overrides in $XDG_CONFIG_HOME/plurnk/.env (seeded once, never overwritten), ./.env, or the shell.
|
|
6
5
|
#
|
|
7
6
|
# THE STANDARD (every plurnk package, third-party included): ship a `.env.defaults` at your
|
|
8
7
|
# package root declaring YOUR knobs (prefix = your package's name); the file IS the documentation.
|
|
@@ -12,16 +11,23 @@
|
|
|
12
11
|
#
|
|
13
12
|
# Source classes (low → high precedence; higher classes win):
|
|
14
13
|
# assembled .env.defaults floor (this file + every installed member's, uniqueness-checked)
|
|
15
|
-
# <
|
|
14
|
+
# < $XDG_CONFIG_HOME/plurnk/.env (your user config — seeded once, yours to keep)
|
|
16
15
|
# < ./.env (per-project, current directory)
|
|
17
16
|
# < --env-file=… / --config=…
|
|
18
17
|
# < shell environment
|
|
19
18
|
# < --<knob> CLI flags (the 1:1 mirror: --service-max-turns <-> PLURNK_SERVICE_MAX_TURNS)
|
|
20
|
-
#
|
|
19
|
+
# Later repeated explicit files win.
|
|
21
20
|
# Feature-flag bools use `=== "1"` exactly, never `=== "true"`. `~/` expands to your home.
|
|
22
21
|
|
|
23
22
|
# --- Storage ---
|
|
24
|
-
|
|
23
|
+
# Empty derives $XDG_DATA_HOME/plurnk/plurnk.db (default ~/.local/share/plurnk/plurnk.db).
|
|
24
|
+
# An explicit non-empty path overrides it; `~/` expands to home.
|
|
25
|
+
PLURNK_SERVICE_DB_PATH=
|
|
26
|
+
|
|
27
|
+
# Filesystem creation ceiling. none = deny new files; root = only project_root (default);
|
|
28
|
+
# namespace = also permit canonical outside-root paths. Existing-member writes are unaffected.
|
|
29
|
+
# A workspace may narrow this with settings.fileCreateScope, never widen it.
|
|
30
|
+
PLURNK_SERVICE_FILE_CREATE_SCOPE=root
|
|
25
31
|
|
|
26
32
|
# --- Sqlite tuning (curated knobs passed through to sqlrite; optional) ---
|
|
27
33
|
# sqlrite already sets the safe posture (WAL + synchronous=NORMAL + busy_timeout=5000ms).
|
|
@@ -42,8 +48,9 @@ PLURNK_HOST=127.0.0.1
|
|
|
42
48
|
PLURNK_PORT=3044
|
|
43
49
|
|
|
44
50
|
# --- Loop control ---
|
|
45
|
-
# Optional default child-
|
|
46
|
-
# its spawning loop's
|
|
51
|
+
# Optional default child-model selector (declared alias or provider/model route).
|
|
52
|
+
# Unset = each WORK/FORK child inherits its spawning loop's model. Clients may
|
|
53
|
+
# override this per top-level loop.
|
|
47
54
|
# PLURNK_MODEL_CHILD=fast
|
|
48
55
|
# Operator turn ceiling. -1 (default) = no cap (loops end via SEND, provider capacity,
|
|
49
56
|
# strikes, or cycle detection). A positive value is an inviolable hard cap a
|
|
@@ -56,6 +63,15 @@ PLURNK_SERVICE_MAX_TURNS=-1
|
|
|
56
63
|
PLURNK_SERVICE_MAX_COMMANDS=-1
|
|
57
64
|
# Live & demo test harness story timeout (ms) — 10 minutes (600000ms).
|
|
58
65
|
PLURNK_SERVICE_LIVE_TIMEOUT=600000
|
|
66
|
+
# {§crash-only-stop} — the daemon's settle deadline on stop(): past this the
|
|
67
|
+
# shutdown abandons its waits instead of hanging forever on a wedged child.
|
|
68
|
+
PLURNK_SERVICE_STOP_TIMEOUT_MS=30000
|
|
69
|
+
# Capability residency is demand-owned. After the final lease, keep the
|
|
70
|
+
# worker warm this many ms for quick reuse. 0 = no grace; -1 = no time bound.
|
|
71
|
+
PLURNK_SERVICE_WORKER_WARM_MS=900000
|
|
72
|
+
# Maximum lease-free worker Functionality snapshots retained process-wide. Active work is
|
|
73
|
+
# exempt. 0 = retain none; -1 = no idle-LRU bound.
|
|
74
|
+
PLURNK_SERVICE_WORKER_WARM_MAX=2
|
|
59
75
|
# Proposal resolution bound (ms). Empty = a stopped world waits for its human indefinitely;
|
|
60
76
|
# a finite positive value auto-cancels unattended (outcome=timeout). Every other explicit
|
|
61
77
|
# value is invalid and fails at the proposal lifecycle owner.
|
|
@@ -63,15 +79,21 @@ PLURNK_SERVICE_PROPOSAL_TIMEOUT_MS=
|
|
|
63
79
|
# Turn-hold runtimes: while a listed runtime's stream is in flight the cycle pauses (no next
|
|
64
80
|
# turn) until it concludes. Bounded by _HOLD_MS, fail-open at the cap. Empty = no holds.
|
|
65
81
|
# A bare name holds all of that runtime's spawns; `<runtime>:<effect>` holds only
|
|
66
|
-
# that effect class.
|
|
67
|
-
|
|
82
|
+
# that effect class. The retired web-search family names are gone; declare operator
|
|
83
|
+
# runtimes explicitly.
|
|
84
|
+
PLURNK_SERVICE_EXEC_HOLD=
|
|
68
85
|
PLURNK_SERVICE_EXEC_HOLD_MS=300000
|
|
86
|
+
# Effect admission overrides ({§effect-policy-tunable}): comma-separated
|
|
87
|
+
# <effect>:<policy> entries (host/read/pure → propose/auto). Unlisted effects
|
|
88
|
+
# keep the default map (host proposes; read/pure auto-run). Empty = defaults.
|
|
89
|
+
PLURNK_SERVICE_EFFECT_POLICY=
|
|
69
90
|
# Optimistic worker settlement: before model dispatch, allow newly started
|
|
70
91
|
# streams or a completion wake with live siblings this many ms to quiesce.
|
|
71
92
|
# Settlement ends immediately at quiescence and never extends its first
|
|
72
93
|
# deadline; survivors follow the monitored lifecycle. 0 = off.
|
|
73
94
|
PLURNK_SERVICE_OPTIMISTIC_WAIT_MS=5000
|
|
74
|
-
# Exec poll backoff (
|
|
95
|
+
# Exec poll backoff ({§exec-poll}, https://github.com/plurnk/plurnk-service/issues/521):
|
|
96
|
+
# a parked exec with NO explicit `<,P>` cadence is no longer
|
|
75
97
|
# park-blind-forever — the loop wakes on an exponential backoff so the model regains a turn to read
|
|
76
98
|
# partial output and re-park a slow long-runner or KILL a stuck one. Wake N fires at BASE·2^min(N,TURNS-1)
|
|
77
99
|
# seconds (60,120,240,…,7680), then holds at the cap. An explicit `<,P>` wins; `<,0>` opts out (blind).
|
|
@@ -123,12 +145,7 @@ PLURNK_SERVICE_GIT_ALLOWED=1
|
|
|
123
145
|
# PLURNK_SERVICE_GIT_AUTO — automatic project-repository membership. =1 includes the Git
|
|
124
146
|
# repository containing project_root; =0 leaves `pick` as the only membership source.
|
|
125
147
|
PLURNK_SERVICE_GIT_AUTO=1
|
|
126
|
-
#
|
|
127
|
-
# binary. =1 explicitly selects the slower, in-process isomorphic-git backend
|
|
128
|
-
# for a deployment that cannot spawn Git. The two backends never fail over.
|
|
129
|
-
PLURNK_SERVICE_GIT_ISO=0
|
|
130
|
-
# Maximum stdout/stderr payload accepted from one native Git subprocess. The
|
|
131
|
-
# optional in-process reader does not use this bound.
|
|
148
|
+
# Maximum stdout/stderr payload accepted from one native Git subprocess.
|
|
132
149
|
PLURNK_SERVICE_GIT_OUTPUT_MAX_BYTES=67108864
|
|
133
150
|
|
|
134
151
|
# Ordinary bounded OPEN-body projection. READ/FIND results and PLAN working
|
|
@@ -142,17 +159,6 @@ PLURNK_SERVICE_PREVIEW_CHARS=2560
|
|
|
142
159
|
# line anchor. 0 authenticates only the addressed line.
|
|
143
160
|
PLURNK_SERVICE_LINE_ANCHOR_CONTEXT_LINES=2
|
|
144
161
|
|
|
145
|
-
# --- Reference docs (auto-READ at turn 0) ---
|
|
146
|
-
# PLURNK_SERVICE_MD_<ALIAS>=<path> materializes <path>'s markdown as a
|
|
147
|
-
# worker://plurnk/<ALIAS>.md
|
|
148
|
-
# entry the model READs at turn 0 — an idiomatic way to inject standing context
|
|
149
|
-
# (an ordinary entry + READ op, not a bespoke packet section). ~ expands to home;
|
|
150
|
-
# relative paths resolve against the package root. A client may add its own docs
|
|
151
|
-
# per workspace via workspace.create settings.mdDocs (content, not a path); those UNION
|
|
152
|
-
# with these env docs, keyed by alias — the client wins a collision (#231).
|
|
153
|
-
# Commented out = no docs by default. (The operating policy is NOT a doc: readSystemPolicy
|
|
154
|
-
# already renders ~/.plurnk/AGENTS.md as the ## Policy section — pointing a
|
|
155
|
-
# PLURNK_SERVICE_MD_* alias at it injects the same file twice.)
|
|
156
162
|
# Turn-0 catalog preview so a run opens oriented, not blank. Folder-capable schemes use
|
|
157
163
|
# FIND(<scheme>:///*): direct entries plus exact dir/** summaries carrying each subtree's
|
|
158
164
|
# recursive item and token counts. Curated kernel docs remain recursive, demonstrating both
|
|
@@ -195,22 +201,29 @@ PLURNK_SERVICE_PROMPT_PROJECTION=25%
|
|
|
195
201
|
# (PLURNK_PLUGINS_TRUSTED_ONLY lives in @plurnk/plurnk-meta — reader-declares: the
|
|
196
202
|
# trust rule's one implementation lives there and so does its knob.)
|
|
197
203
|
|
|
198
|
-
# PLURNK_SERVICE_DOCS_EXCLUDE — comma list of scheme
|
|
199
|
-
# and
|
|
200
|
-
#
|
|
201
|
-
# are inert (a filter, not a contract).
|
|
204
|
+
# PLURNK_SERVICE_DOCS_EXCLUDE — comma list of scheme names dropped from BOTH the teaching oneliner
|
|
205
|
+
# and its materialized pull-doc on load. Executable tools instead use their one enablement policy,
|
|
206
|
+
# so an enabled tool is always discoverable. Empty → exclude nothing. Unknown names are inert.
|
|
202
207
|
PLURNK_SERVICE_DOCS_EXCLUDE="plurnk,file,exec"
|
|
203
208
|
|
|
209
|
+
# PLURNK_SERVICE_SKILLS_CLI — the standard Agent Skills installer command line beneath the Worker
|
|
210
|
+
# `skills` Functionality family (`add` installs, `remove` uninstalls, `discover {source}` lists).
|
|
211
|
+
# The installed SKILL.md, never the CLI's output, is the evidence. Point it at a pinned binary
|
|
212
|
+
# or a fixture; it is never taught to the model or run by a client.
|
|
213
|
+
PLURNK_SERVICE_SKILLS_CLI="npx --yes skills"
|
|
214
|
+
# PLURNK_SERVICE_SKILLS_REGISTRY_URL — the ecosystem registry behind `discover {query}`
|
|
215
|
+
# (GET <url>/api/search?q=…). Empty disables registry search (501 registry-not-configured).
|
|
216
|
+
PLURNK_SERVICE_SKILLS_REGISTRY_URL=https://skills.sh
|
|
217
|
+
|
|
204
218
|
# PLURNK_SERVICE_PACKET_INJECT — an operator markdown file injected as a section right after the teaching
|
|
205
219
|
# (the cached prefix). Read per-turn (live edits); a set-but-unreadable path fails the turn HARD.
|
|
206
220
|
# `~/` expands to home. Unset → no section. The pressure valve for "improve the packet" without a fork.
|
|
207
221
|
# PLURNK_SERVICE_PACKET_INJECT="~/injection.md"
|
|
208
222
|
|
|
209
223
|
# PLURNK_SERVICE_POLICY — the operating-policy markdown, rendered as the ## Policy
|
|
210
|
-
# section. Unset = the seeded
|
|
224
|
+
# section. Unset = the seeded $XDG_CONFIG_HOME/plurnk/AGENTS.md; a path = that file;
|
|
225
|
+
# EXPLICITLY empty = policy off.
|
|
211
226
|
# PLURNK_SERVICE_POLICY=
|
|
212
|
-
# PLURNK_SERVICE_PROJECT — a per-project policy markdown (relative to projectRoot). Unset = <root>/AGENTS.md.
|
|
213
|
-
# PLURNK_SERVICE_PROJECT=
|
|
214
227
|
# PLURNK_SERVICE_REQUIREMENTS — Recap source override (relative to the package root).
|
|
215
228
|
# Unset = the packaged requirements.md.
|
|
216
229
|
# PLURNK_SERVICE_REQUIREMENTS=
|
|
@@ -236,12 +249,6 @@ PLURNK_SERVICE_MAX_EMBED_SIZE=0
|
|
|
236
249
|
# hosts/runs that don't want vector search; the Mock bootstrap and constrained benchmarks set it.
|
|
237
250
|
PLURNK_SERVICE_EMBED_DISABLE=0
|
|
238
251
|
|
|
239
|
-
# Which exec runtimes the search gate treats as searches — the per-turn cap and identical-query
|
|
240
|
-
# dedup apply to these (the search family delegates page fetches to the entry() sink; {§exec-entry-sink}).
|
|
241
|
-
PLURNK_SERVICE_SEARCH_RUNTIMES=search
|
|
242
|
-
# Per-turn search flood cap: the (N+1)th search EXEC in one turn is refused 429 (dedup of
|
|
243
|
-
# identical queries is unconditional and separate — it strikes and serves the prior results).
|
|
244
|
-
PLURNK_SERVICE_SEARCH_MAX_PER_TURN=3
|
|
245
252
|
# Comma-separated file pathname patterns omitted from search derivations. Content remains directly
|
|
246
253
|
# readable. Patterns without `/` match the basename; patterns with `/` match the full pathname.
|
|
247
254
|
# Uses body-matcher glob syntax; the first match is the observable exclusion reason. Empty = none.
|
package/INSTALL.md
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
# Configuring plurnk-service
|
|
2
2
|
|
|
3
|
-
Operator guide. Put machine-specific choices in
|
|
3
|
+
Operator guide. Put machine-specific choices in
|
|
4
|
+
`$XDG_CONFIG_HOME/plurnk/.env` (normally `~/.config/plurnk/.env`). Each
|
|
5
|
+
installed package's `.env.defaults` is the authoritative list and floor for
|
|
6
|
+
the knobs that package owns. `plurnk-service config defaults` projects the
|
|
7
|
+
complete owner-labelled catalog on demand; no generated copy is persisted.
|
|
4
8
|
|
|
5
9
|
## Install
|
|
6
10
|
|
|
@@ -10,7 +14,14 @@ plurnk-service migrate # apply the disposable version-1 schema baseline
|
|
|
10
14
|
plurnk-service start
|
|
11
15
|
```
|
|
12
16
|
|
|
13
|
-
First start creates
|
|
17
|
+
First start creates `$XDG_CONFIG_HOME/plurnk` with `.env` (yours, seeded once
|
|
18
|
+
with three model profiles—**edit this**) and `AGENTS.md` (the operating policy,
|
|
19
|
+
yours). Durable SQLite data defaults to `$XDG_DATA_HOME/plurnk/plurnk.db`. No
|
|
20
|
+
model ships active; the daemon can boot without one, but model loops fail until
|
|
21
|
+
`PLURNK_MODEL` selects a declared alias or exact provider/model route. Use `plurnk-service config`, `config
|
|
22
|
+
edit`, `config defaults`, and `config check` to inspect and maintain the one
|
|
23
|
+
environment cascade. A pre-XDG `~/.plurnk` is never read implicitly; stop the
|
|
24
|
+
old daemon and run `plurnk-service paths migrate` once.
|
|
14
25
|
|
|
15
26
|
The default service includes local embeddings. An explicitly disabled or unavailable embedder makes `~query` fall back to FTS keyword ranking. Set `PLURNK_MIMETYPES_EMBED_BASE_URL` to use a remote OpenAI-compatible embedding endpoint instead.
|
|
16
27
|
|
|
@@ -21,14 +32,20 @@ Higher-priority source classes override lower ones ({§operator-config-precedenc
|
|
|
21
32
|
| Priority | Source | Role |
|
|
22
33
|
|---------:|----------------------------------------|--------------------------------------------------------------------------------------------|
|
|
23
34
|
| 1 | Installed packages' assembled defaults | Versioned floor; one owner per key. A collision fails boot naming both owners. |
|
|
24
|
-
| 2 |
|
|
35
|
+
| 2 | `$XDG_CONFIG_HOME/plurnk/.env` | User configuration, seeded once and never overwritten. |
|
|
25
36
|
| 3 | `./.env` | Configuration for the current working directory. |
|
|
26
37
|
| 4 | `--config=<path>` | One explicit service configuration file. |
|
|
27
38
|
| 5 | `--env-file*` | Repeatable explicit files; later files win. The `-if-exists` form skips absent files. |
|
|
28
39
|
| 6 | Shell environment | Process-level operator values. |
|
|
29
40
|
| 7 | `--<flag>` | Highest-priority service CLI value. |
|
|
30
41
|
|
|
31
|
-
|
|
42
|
+
The service CLI mirrors only the `PLURNK_*` variables declared by the service
|
|
43
|
+
package's own `.env.defaults`: strip `PLURNK_`, lowercase, and replace `_` with
|
|
44
|
+
`-` (`PLURNK_SERVICE_MAX_TURNS` ↔ `--service-max-turns`). Installed plugin
|
|
45
|
+
knobs remain available through env/config files and `config defaults` without
|
|
46
|
+
implicitly expanding the service executable's CLI
|
|
47
|
+
({§operator-config-cli-flags}). Feature-flag booleans use `1`, not `true`;
|
|
48
|
+
`~/` expands to home.
|
|
32
49
|
|
|
33
50
|
## The prefix law (who owns a flag)
|
|
34
51
|
|
|
@@ -36,6 +53,24 @@ Family prefixes identify the semantic owner: `PLURNK_SERVICE_*` (this daemon), `
|
|
|
36
53
|
|
|
37
54
|
When a value is required, an unset or retired name fails boot naming the violated key rather than selecting a silent default.
|
|
38
55
|
|
|
56
|
+
## Agent Skills
|
|
57
|
+
|
|
58
|
+
Plurnk reads the standard universal roots: project skills from
|
|
59
|
+
`.agents/skills/<name>/SKILL.md`, then user-global skills from
|
|
60
|
+
`~/.agents/skills/<name>/SKILL.md`. Project names shadow global names. Plurnk
|
|
61
|
+
bundles no skills, never copies anything into a universal root by itself, and
|
|
62
|
+
keeps no separate skill registry.
|
|
63
|
+
|
|
64
|
+
Skills are managed per Worker through the common Functionality lifecycle —
|
|
65
|
+
`worker.skills.{list,discover,add,enable,disable,remove}` from a client, the
|
|
66
|
+
generated `EXEC [skills]` family from the model. `add` installs through the
|
|
67
|
+
standard ecosystem CLI (`PLURNK_SERVICE_SKILLS_CLI`, default `npx --yes skills`) into
|
|
68
|
+
the chosen scope, `discover` searches the ecosystem registry
|
|
69
|
+
(`PLURNK_SERVICE_SKILLS_REGISTRY_URL`, default `https://skills.sh`), and a skill you
|
|
70
|
+
install with the CLI yourself is admitted at the next turn. Prefer the project
|
|
71
|
+
scope; choose `global` only when you intend to share a skill with every
|
|
72
|
+
compatible agent using the universal user root.
|
|
73
|
+
|
|
39
74
|
## Couplings (the edges an agent gets wrong)
|
|
40
75
|
|
|
41
76
|
These are relationships *between* flags. Set them as a unit.
|
|
@@ -58,12 +93,14 @@ These are relationships *between* flags. Set them as a unit.
|
|
|
58
93
|
Local llama-server users may set `PLURNK_PROVIDERS_GBNF_<alias>`; transport
|
|
59
94
|
and enforcement are verified at boot. Cloud and endpoint-managed aliases
|
|
60
95
|
leave it unset. A configured PLURNK rail requires reasoning `adaptive` or
|
|
61
|
-
|
|
96
|
+
a fixed effort; pairing it with `off` is invalid. Pin
|
|
62
97
|
`PLURNK_PROVIDERS_LLAMA_SERVER_<alias>=1` only when a llama-server cannot be
|
|
63
98
|
fingerprinted reliably.
|
|
64
99
|
- **A reasoning model must reason somewhere.**
|
|
65
|
-
`PLURNK_PROVIDERS_REASONING_<alias>` selects `off`, `adaptive`,
|
|
66
|
-
|
|
100
|
+
`PLURNK_PROVIDERS_REASONING_<alias>` selects `off`, `adaptive`, `low`,
|
|
101
|
+
`medium`, or `high`. A fixed effort may require a positive provider reasoning
|
|
102
|
+
budget when the provider exposes manual token allocation rather than an
|
|
103
|
+
effort control.
|
|
67
104
|
|
|
68
105
|
## Profiles (examples, not a decision tree — adapt to the real box)
|
|
69
106
|
|
|
@@ -78,9 +115,9 @@ Each mirrors a `# --- section ---` in the floor; consult the floor for exact def
|
|
|
78
115
|
|
|
79
116
|
- **Storage** — `PLURNK_SERVICE_DB_PATH`, and the optional `PLURNK_SERVICE_SQLITE_*` passthroughs (sqlrite already sets a safe WAL posture; tune only for a hot/large DB).
|
|
80
117
|
- **Daemon transport** — bare `PLURNK_HOST`/`PLURNK_PORT`: THE client surface (the AG-UI+ listener, bound by the plurnk-agui module at boot). Production is single-listener; every first-party client rides it.
|
|
81
|
-
- **Model
|
|
118
|
+
- **Model selection** — bare `PLURNK_MODEL` selects a declared alias or exact provider/model route; `PLURNK_MODEL_<alias>` defines an optional friendly route and tuning scope; `PLURNK_BASEURL_<alias>` overrides that alias's endpoint. `PLURNK_MODEL_CHILD` accepts the same selector vocabulary for WORK/FORK descendants; unset inherits the spawning loop's provider.
|
|
82
119
|
- **Loop control / engine rails** — `PLURNK_SERVICE_MAX_TURNS` (−1 = uncapped), `_MAX_COMMANDS`, `_MAX_STRIKES`, `_EMISSION_ATTEMPTS`, `_MIN_CYCLES`, `_MAX_CYCLE_PERIOD`, `_LOOP_TIMEOUT`, `_PROPOSAL_TIMEOUT_MS`, `_EXEC_HOLD`, `_OPTIMISTIC_WAIT_MS`, `_EXEC_POLL_SEC`/`_TURNS`, `_EXEC_KILL_GRACE_MS`, `_WORKSPACE_WORKERS_MAX_ACTIVE`.
|
|
83
|
-
- **Git** — `PLURNK_SERVICE_GIT_ALLOWED` (0 = hard sandbox lockout)
|
|
120
|
+
- **Files and Git** — `PLURNK_SERVICE_FILE_CREATE_SCOPE=none|root|namespace` bounds new filesystem files (`root` by default); `PLURNK_SERVICE_GIT_ALLOWED` (0 = hard sandbox lockout) and `_GIT_AUTO` govern Git participation. A workspace may narrow creation with `settings.fileCreateScope`.
|
|
84
121
|
- **Packet / reference docs** — `PLURNK_SERVICE_FILES_ITEMS` (turn-0 shallow file-map cap), `_PREVIEW_LINES`/`_PREVIEW_CHARS`, `_LINE_ANCHOR_CONTEXT_LINES`, `_EDIT_RECEIPT_REVISION_CHARS`/`_CONTEXT_LINES`, `_BRANCH_RECEIPT_REVISION_CHARS`, `_DOCS_EXCLUDE`, `_PACKET_INJECT` (operator markdown section), `_POLICY`/`_PROJECT` (policy overrides), `_REQUIREMENTS` (Recap-source override), `_MD_<alias>` (materialized reference entry).
|
|
85
122
|
- **Providers** — the portable provider knobs and defaults are defined by
|
|
86
123
|
`@plurnk/plurnk-providers/.env.defaults`; any provider knob may take an alias
|
|
@@ -92,8 +129,8 @@ Each mirrors a `# --- section ---` in the floor; consult the floor for exact def
|
|
|
92
129
|
of that provider-derived curation gauge.
|
|
93
130
|
- **Plugins** — bare `PLURNK_PLUGINS_TRUSTED_ONLY` (0/unset = load all installed; a value = `@plurnk/*` plus an allowlist).
|
|
94
131
|
- **Semantic search** — `PLURNK_SERVICE_SEMANTIC_CHUNK_TOKENS`/`_CHUNK_OVERLAP` (service-side chunking), `PLURNK_SERVICE_EMBED_DISABLE` (FTS-only), `PLURNK_MIMETYPES_EMBED_WORKERS` (the embedder's pool — mimetypes-owned).
|
|
95
|
-
- **Schemes: http** — `PLURNK_SCHEMES_HTTP_FETCH_TIMEOUT`, `_TTL_MS`, optional `#
|
|
96
|
-
- **Execs**
|
|
132
|
+
- **Schemes: http** — `PLURNK_SCHEMES_HTTP_FETCH_TIMEOUT`, `_TTL_MS`, optional `# PLURNK_SCHEMES_HTTP_MATERIALIZER=` (a materializer plugin id).
|
|
133
|
+
- **Execs** — `PLURNK_EXECS_<runtime>=0` disables a runtime; web discovery is an MCP attachment (`PLURNK_MCP_<server>`), not an executor.
|
|
97
134
|
- **Hooks** — `PLURNK_HOOKS_COMMAND` plus JSON `PLURNK_HOOKS_ARGS` invokes one exact no-shell command for the core events selected by `PLURNK_HOOKS_EVENTS`; see `@plurnk/plurnk-hooks/README.md`.
|
|
98
135
|
- **Observability** — standard `OTEL_*` env ({§observability-boundary}):
|
|
99
136
|
`OTEL_TRACES_EXPORTER`/`OTEL_METRICS_EXPORTER` (`otlp` or `console`; unset
|
package/README.md
CHANGED
|
@@ -34,7 +34,17 @@ plurnk-service migrate # apply the disposable version-1 schema baseline
|
|
|
34
34
|
plurnk-service start # daemon
|
|
35
35
|
```
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
Configuration follows XDG at `$XDG_CONFIG_HOME/plurnk` (normally
|
|
38
|
+
`~/.config/plurnk`); durable data defaults to `$XDG_DATA_HOME/plurnk` (normally
|
|
39
|
+
`~/.local/share/plurnk`). First start seeds the user-owned `.env` and
|
|
40
|
+
`AGENTS.md` once. Select an exact route with
|
|
41
|
+
`PLURNK_MODEL=<provider>/<model-id>`, or declare a reusable/tuned
|
|
42
|
+
`PLURNK_MODEL_<alias>=<provider>/<model-id>` and select its alias. Run
|
|
43
|
+
`plurnk-service config defaults` for
|
|
44
|
+
the complete installed option catalog and `plurnk-service config check` to
|
|
45
|
+
validate without contacting a provider. **[`INSTALL.md`](./INSTALL.md) is the
|
|
46
|
+
configuration guide.** A legacy mixed `~/.plurnk` is moved only by the explicit
|
|
47
|
+
`plurnk-service paths migrate` command.
|
|
38
48
|
|
|
39
49
|
The 1.x package retains its frozen root library barrel for SemVer compatibility;
|
|
40
50
|
it is not the client boundary and gains no new APIs. Programmatic forensic use
|
|
@@ -59,7 +69,7 @@ The default service installation includes `@plurnk/plurnk-mimetypes-embeddings`,
|
|
|
59
69
|
|
|
60
70
|
## The file sandbox
|
|
61
71
|
|
|
62
|
-
Plurnk sees what Git or
|
|
72
|
+
Plurnk sees what Git or an ordinary `pick` admits. The AGENTS.md policy path is injected separately as privileged policy, not as a file entry. A path admitted by neither source does not exist to the model and cannot be overwritten. Accepted creation is exclusive and never orphaned: it is Git-added or receives an inspectable exact pick. Creation defaults to `project_root`, can be disabled or expanded to the canonical namespace by operator policy, and only an explicit pick overrides Git ignore. Member edits remain proposal-gated; an outside-root member is read-only unless a pick grants it. `EXEC` deliberately reaches beyond this file sandbox, so its proposal policy is the machine perimeter. Details: SPEC {§scheme-address} ({§fs-namespace} through {§fs-world-state}).
|
|
63
73
|
|
|
64
74
|
## Tests
|
|
65
75
|
|