@plurnk/plurnk-service 2.0.0 → 3.1.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 +27 -19
- package/INSTALL.md +21 -2
- package/README.md +4 -2
- package/SPEC.md +644 -467
- package/dist/build-info.json +1 -1
- package/dist/completions/_plurnk-service +13 -0
- package/dist/completions/plurnk-service.bash +19 -0
- package/dist/completions/plurnk-service.fish +93 -0
- package/dist/content/edit-receipt.d.ts +1 -1
- package/dist/content/edit-receipt.d.ts.map +1 -1
- package/dist/content/edit-receipt.js +1 -1
- package/dist/content/edit-receipt.js.map +1 -1
- package/dist/content/read-projector.d.ts.map +1 -1
- package/dist/content/read-projector.js +3 -12
- package/dist/content/read-projector.js.map +1 -1
- package/dist/core/AdministrativeLoop.d.ts +1 -1
- package/dist/core/AdministrativeLoop.d.ts.map +1 -1
- package/dist/core/AdministrativeLoop.js +2 -6
- package/dist/core/AdministrativeLoop.js.map +1 -1
- package/dist/core/AdmittedTurnExecutor.d.ts +2 -2
- package/dist/core/AdmittedTurnExecutor.d.ts.map +1 -1
- package/dist/core/AdmittedTurnExecutor.js +16 -24
- package/dist/core/AdmittedTurnExecutor.js.map +1 -1
- package/dist/core/BudgetReadout.d.ts +8 -2
- package/dist/core/BudgetReadout.d.ts.map +1 -1
- package/dist/core/BudgetReadout.js +48 -5
- package/dist/core/BudgetReadout.js.map +1 -1
- package/dist/core/CapabilityPolicies.d.ts +2 -4
- package/dist/core/CapabilityPolicies.d.ts.map +1 -1
- package/dist/core/CapabilityPolicies.js +3 -23
- package/dist/core/CapabilityPolicies.js.map +1 -1
- package/dist/core/CapabilityResolver.d.ts +9 -2
- package/dist/core/CapabilityResolver.d.ts.map +1 -1
- package/dist/core/CapabilityResolver.js +34 -5
- package/dist/core/CapabilityResolver.js.map +1 -1
- package/dist/core/ChannelWrite.d.ts +0 -2
- package/dist/core/ChannelWrite.d.ts.map +1 -1
- package/dist/core/ChannelWrite.js.map +1 -1
- package/dist/core/ClientInteractions.d.ts +3 -2
- package/dist/core/ClientInteractions.d.ts.map +1 -1
- package/dist/core/ClientInteractions.js +21 -12
- package/dist/core/ClientInteractions.js.map +1 -1
- package/dist/core/ClientInteractions.sql +8 -2
- package/dist/core/CoreSchemeServices.d.ts +1 -0
- package/dist/core/CoreSchemeServices.d.ts.map +1 -1
- package/dist/core/CoreSchemeServices.js +1 -0
- package/dist/core/CoreSchemeServices.js.map +1 -1
- package/dist/core/DataStatementRunner.js +1 -1
- package/dist/core/DataStatementRunner.js.map +1 -1
- package/dist/core/Dispatcher.d.ts +3 -2
- package/dist/core/Dispatcher.d.ts.map +1 -1
- package/dist/core/Dispatcher.js +55 -52
- package/dist/core/Dispatcher.js.map +1 -1
- package/dist/core/Engine.d.ts +1 -1
- package/dist/core/Engine.d.ts.map +1 -1
- package/dist/core/Engine.js +4 -6
- package/dist/core/Engine.js.map +1 -1
- package/dist/core/EnvFlags.d.ts.map +1 -1
- package/dist/core/EnvFlags.js +5 -4
- package/dist/core/EnvFlags.js.map +1 -1
- package/dist/core/FabricatedLog.d.ts +1 -0
- package/dist/core/FabricatedLog.d.ts.map +1 -1
- package/dist/core/FabricatedLog.js +9 -1
- package/dist/core/FabricatedLog.js.map +1 -1
- package/dist/core/HostPaths.d.ts +0 -1
- package/dist/core/HostPaths.d.ts.map +1 -1
- package/dist/core/HostPaths.js +0 -2
- package/dist/core/HostPaths.js.map +1 -1
- package/dist/core/KillHandler.d.ts.map +1 -1
- package/dist/core/KillHandler.js +3 -1
- package/dist/core/KillHandler.js.map +1 -1
- package/dist/core/LiveSubscription.d.ts.map +1 -1
- package/dist/core/LiveSubscription.js +14 -2
- package/dist/core/LiveSubscription.js.map +1 -1
- package/dist/core/LiveSubscriptions.d.ts +3 -1
- package/dist/core/LiveSubscriptions.d.ts.map +1 -1
- package/dist/core/LiveSubscriptions.js +16 -1
- package/dist/core/LiveSubscriptions.js.map +1 -1
- package/dist/core/LogBody.d.ts.map +1 -1
- package/dist/core/LogBody.js +3 -1
- package/dist/core/LogBody.js.map +1 -1
- package/dist/core/LogVisibility.d.ts.map +1 -1
- package/dist/core/LogVisibility.js +8 -17
- package/dist/core/LogVisibility.js.map +1 -1
- package/dist/core/LoopDriver.js +7 -6
- package/dist/core/LoopDriver.js.map +1 -1
- package/dist/core/LoopLifecycle.d.ts.map +1 -1
- package/dist/core/LoopLifecycle.js +4 -9
- package/dist/core/LoopLifecycle.js.map +1 -1
- package/dist/core/LoopLifecycle.sql +7 -6
- package/dist/core/MessageResources.sql +31 -0
- package/dist/core/OperatorConfig.d.ts +1 -0
- package/dist/core/OperatorConfig.d.ts.map +1 -1
- package/dist/core/OperatorConfig.js +10 -2
- package/dist/core/OperatorConfig.js.map +1 -1
- package/dist/core/PacketBuilder.d.ts +5 -7
- package/dist/core/PacketBuilder.d.ts.map +1 -1
- package/dist/core/PacketBuilder.js +160 -158
- package/dist/core/PacketBuilder.js.map +1 -1
- package/dist/core/PacketBuilder.sql +20 -6
- package/dist/core/ProposalLifecycle.d.ts +1 -1
- package/dist/core/ProposalLifecycle.d.ts.map +1 -1
- package/dist/core/ProposalLifecycle.js +18 -20
- package/dist/core/ProposalLifecycle.js.map +1 -1
- package/dist/core/ProposalPolicies.d.ts +6 -0
- package/dist/core/ProposalPolicies.d.ts.map +1 -0
- package/dist/core/ProposalPolicies.js +28 -0
- package/dist/core/ProposalPolicies.js.map +1 -0
- package/dist/core/ProviderInstantiate.d.ts.map +1 -1
- package/dist/core/ProviderInstantiate.js +3 -4
- package/dist/core/ProviderInstantiate.js.map +1 -1
- package/dist/core/ReplyMetadata.d.ts +10 -0
- package/dist/core/ReplyMetadata.d.ts.map +1 -0
- package/dist/core/ReplyMetadata.js +20 -0
- package/dist/core/ReplyMetadata.js.map +1 -0
- package/dist/core/ResourceSelector.js +2 -2
- package/dist/core/ResourceSelector.js.map +1 -1
- package/dist/core/ResourceTransfers.js +3 -3
- package/dist/core/ResourceTransfers.js.map +1 -1
- package/dist/core/RuntimeWorker.sql +1 -2
- package/dist/core/SchemeRegistry.d.ts.map +1 -1
- package/dist/core/SchemeRegistry.js +4 -5
- package/dist/core/SchemeRegistry.js.map +1 -1
- package/dist/core/ServiceHelp.d.ts +6 -0
- package/dist/core/ServiceHelp.d.ts.map +1 -0
- package/dist/core/ServiceHelp.js +35 -0
- package/dist/core/ServiceHelp.js.map +1 -0
- package/dist/core/StoredPacket.d.ts +1 -0
- package/dist/core/StoredPacket.d.ts.map +1 -1
- package/dist/core/StoredPacket.js +4 -1
- package/dist/core/StoredPacket.js.map +1 -1
- package/dist/core/StrikeRail.d.ts.map +1 -1
- package/dist/core/StrikeRail.js +2 -2
- package/dist/core/StrikeRail.js.map +1 -1
- package/dist/core/TokenCalibration.d.ts +2 -2
- package/dist/core/TokenCalibration.d.ts.map +1 -1
- package/dist/core/TokenCalibration.js +12 -16
- package/dist/core/TokenCalibration.js.map +1 -1
- package/dist/core/TokenCalibration.sql +29 -6
- package/dist/core/ToolInputSchema.d.ts +1 -0
- package/dist/core/ToolInputSchema.d.ts.map +1 -1
- package/dist/core/ToolInputSchema.js +8 -2
- package/dist/core/ToolInputSchema.js.map +1 -1
- package/dist/core/ToolResources.d.ts +1 -0
- package/dist/core/ToolResources.d.ts.map +1 -1
- package/dist/core/ToolResources.js +7 -1
- package/dist/core/ToolResources.js.map +1 -1
- package/dist/core/TurnDispositionHandler.d.ts +1 -2
- package/dist/core/TurnDispositionHandler.d.ts.map +1 -1
- package/dist/core/TurnDispositionHandler.js +31 -33
- package/dist/core/TurnDispositionHandler.js.map +1 -1
- package/dist/core/TurnMaterialization.d.ts.map +1 -1
- package/dist/core/TurnMaterialization.js +12 -2
- package/dist/core/TurnMaterialization.js.map +1 -1
- package/dist/core/TurnOps.d.ts +5 -1
- package/dist/core/TurnOps.d.ts.map +1 -1
- package/dist/core/TurnOps.js +29 -2
- package/dist/core/TurnOps.js.map +1 -1
- package/dist/core/TurnRunner.d.ts.map +1 -1
- package/dist/core/TurnRunner.js +184 -103
- package/dist/core/TurnRunner.js.map +1 -1
- package/dist/core/TurnSources.sql +2 -2
- package/dist/core/WorkerControlHandler.d.ts.map +1 -1
- package/dist/core/WorkerControlHandler.js +1 -8
- package/dist/core/WorkerControlHandler.js.map +1 -1
- package/dist/core/WorkerName.d.ts +1 -0
- package/dist/core/WorkerName.d.ts.map +1 -1
- package/dist/core/WorkerName.js +2 -0
- package/dist/core/WorkerName.js.map +1 -1
- package/dist/core/WorkerName.sql +2 -2
- package/dist/core/WorkerOwners.d.ts +13 -0
- package/dist/core/WorkerOwners.d.ts.map +1 -0
- package/dist/core/WorkerOwners.js +44 -0
- package/dist/core/WorkerOwners.js.map +1 -0
- package/dist/core/WorkerOwners.sql +55 -0
- package/dist/core/env-catalog.d.ts +3 -0
- package/dist/core/env-catalog.d.ts.map +1 -1
- package/dist/core/env-catalog.js +44 -9
- package/dist/core/env-catalog.js.map +1 -1
- package/dist/core/fork.sql +3 -4
- package/dist/core/packet-inject.js +0 -2
- package/dist/core/packet-inject.js.map +1 -1
- package/dist/core/packet-wire.d.ts +9 -11
- package/dist/core/packet-wire.d.ts.map +1 -1
- package/dist/core/packet-wire.js +103 -126
- package/dist/core/packet-wire.js.map +1 -1
- package/dist/core/plurnk-uri.d.ts +1 -1
- package/dist/core/plurnk-uri.d.ts.map +1 -1
- package/dist/core/plurnk-uri.js +4 -4
- package/dist/core/plurnk-uri.js.map +1 -1
- package/dist/core/recap-lines.d.ts +4 -0
- package/dist/core/recap-lines.d.ts.map +1 -0
- package/dist/core/recap-lines.js +11 -0
- package/dist/core/recap-lines.js.map +1 -0
- package/dist/core/scheme-types.d.ts +2 -1
- package/dist/core/scheme-types.d.ts.map +1 -1
- package/dist/core/sql-functions.d.ts +2 -0
- package/dist/core/sql-functions.d.ts.map +1 -0
- package/dist/core/sql-functions.js +5 -0
- package/dist/core/sql-functions.js.map +1 -0
- package/dist/core/turn-scheduler.d.ts.map +1 -1
- package/dist/core/turn-scheduler.js +1 -1
- package/dist/core/turn-scheduler.js.map +1 -1
- package/dist/core/types.d.ts +0 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/unregistered-scheme.d.ts +1 -3
- package/dist/core/unregistered-scheme.d.ts.map +1 -1
- package/dist/core/unregistered-scheme.js +3 -11
- package/dist/core/unregistered-scheme.js.map +1 -1
- package/dist/evidence/EvidenceReader.d.ts.map +1 -1
- package/dist/evidence/EvidenceReader.js +18 -2
- package/dist/evidence/EvidenceReader.js.map +1 -1
- package/dist/evidence/digest.sql +2 -2
- package/dist/man/plurnk-service.1 +488 -0
- package/dist/schemes/EffectPolicy.d.ts.map +1 -1
- package/dist/schemes/EffectPolicy.js +1 -10
- package/dist/schemes/EffectPolicy.js.map +1 -1
- package/dist/schemes/Env.d.ts +26 -0
- package/dist/schemes/Env.d.ts.map +1 -0
- package/dist/schemes/Env.js +133 -0
- package/dist/schemes/Env.js.map +1 -0
- package/dist/schemes/Exec.d.ts.map +1 -1
- package/dist/schemes/Exec.js +30 -37
- package/dist/schemes/Exec.js.map +1 -1
- package/dist/schemes/ExecOutputScheme.d.ts +3 -2
- package/dist/schemes/ExecOutputScheme.d.ts.map +1 -1
- package/dist/schemes/ExecOutputScheme.js +9 -0
- package/dist/schemes/ExecOutputScheme.js.map +1 -1
- package/dist/schemes/File.d.ts.map +1 -1
- package/dist/schemes/File.js +10 -16
- package/dist/schemes/File.js.map +1 -1
- package/dist/schemes/Log.d.ts.map +1 -1
- package/dist/schemes/Log.js +33 -10
- package/dist/schemes/Log.js.map +1 -1
- package/dist/schemes/Log.sql +9 -0
- package/dist/schemes/QuestionTool.d.ts.map +1 -1
- package/dist/schemes/QuestionTool.js +1 -3
- package/dist/schemes/QuestionTool.js.map +1 -1
- package/dist/schemes/Worker.d.ts.map +1 -1
- package/dist/schemes/Worker.js +6 -8
- package/dist/schemes/Worker.js.map +1 -1
- package/dist/schemes/_entry-find.d.ts +1 -1
- package/dist/schemes/_entry-find.d.ts.map +1 -1
- package/dist/schemes/_entry-find.js +16 -9
- package/dist/schemes/_entry-find.js.map +1 -1
- package/dist/schemes/_entry-fts.d.ts.map +1 -1
- package/dist/schemes/_entry-fts.js +3 -9
- package/dist/schemes/_entry-fts.js.map +1 -1
- package/dist/schemes/_entry-manifest.js +3 -3
- package/dist/schemes/_entry-manifest.js.map +1 -1
- package/dist/schemes/_entry-ops.js +1 -1
- package/dist/schemes/_entry-ops.js.map +1 -1
- package/dist/schemes/exec-abort.js +2 -2
- package/dist/schemes/exec-abort.js.map +1 -1
- package/dist/server/ConfigurationDiagnostics.d.ts +1 -0
- package/dist/server/ConfigurationDiagnostics.d.ts.map +1 -1
- package/dist/server/ConfigurationDiagnostics.js +9 -0
- package/dist/server/ConfigurationDiagnostics.js.map +1 -1
- package/dist/server/Daemon.d.ts +13 -8
- package/dist/server/Daemon.d.ts.map +1 -1
- package/dist/server/Daemon.js +57 -53
- package/dist/server/Daemon.js.map +1 -1
- package/dist/server/DrainSupervisor.d.ts +2 -4
- package/dist/server/DrainSupervisor.d.ts.map +1 -1
- package/dist/server/DrainSupervisor.js +5 -12
- package/dist/server/DrainSupervisor.js.map +1 -1
- package/dist/server/EnvFunctionality.d.ts +6 -6
- package/dist/server/EnvFunctionality.d.ts.map +1 -1
- package/dist/server/EnvFunctionality.js +7 -6
- package/dist/server/EnvFunctionality.js.map +1 -1
- package/dist/server/Functionality.d.ts.map +1 -1
- package/dist/server/Functionality.js +42 -13
- package/dist/server/Functionality.js.map +1 -1
- package/dist/server/FunctionalityManager.d.ts +3 -4
- package/dist/server/FunctionalityManager.d.ts.map +1 -1
- package/dist/server/FunctionalityManager.js +17 -9
- package/dist/server/FunctionalityManager.js.map +1 -1
- package/dist/server/HttpListener.d.ts.map +1 -1
- package/dist/server/HttpListener.js +9 -3
- package/dist/server/HttpListener.js.map +1 -1
- package/dist/server/MembersFunctionality.d.ts +2 -5
- package/dist/server/MembersFunctionality.d.ts.map +1 -1
- package/dist/server/MembersFunctionality.js +5 -3
- package/dist/server/MembersFunctionality.js.map +1 -1
- package/dist/server/WorkspaceStorage.d.ts +0 -1
- package/dist/server/WorkspaceStorage.d.ts.map +1 -1
- package/dist/server/WorkspaceStorage.js +1 -24
- package/dist/server/WorkspaceStorage.js.map +1 -1
- package/dist/server/client-input.d.ts +1 -2
- package/dist/server/client-input.d.ts.map +1 -1
- package/dist/server/client-input.js +13 -15
- package/dist/server/client-input.js.map +1 -1
- package/dist/server/dispatch-as-plurnk.js +1 -1
- package/dist/server/dispatch-as-plurnk.js.map +1 -1
- package/dist/server/drain.sql +16 -15
- package/dist/server/envelope.d.ts +2 -1
- package/dist/server/envelope.d.ts.map +1 -1
- package/dist/server/envelope.js +7 -17
- package/dist/server/envelope.js.map +1 -1
- package/dist/server/envelope.sql +5 -5
- package/dist/server/seam-proposal-list.sql +6 -4
- package/dist/server/workspace-storage.sql +0 -5
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +28 -64
- package/dist/service.js.map +1 -1
- package/docs/env.md +22 -0
- package/migrations/003_loops.sql +2 -2
- package/migrations/006_log.sql +1 -1
- package/migrations/016_selection_statements.sql +1 -0
- package/migrations/017_skills_module.sql +1 -0
- package/migrations/018_worker_owners.sql +103 -0
- package/migrations/019_interactive_owners.sql +7 -0
- package/migrations/020_log_projection.sql +144 -0
- package/migrations/021_packet_roles.sql +86 -0
- package/migrations/022_message_completion.sql +24 -0
- package/package.json +41 -43
- package/dist/core/LegacyHome.d.ts +0 -10
- package/dist/core/LegacyHome.d.ts.map +0 -1
- package/dist/core/LegacyHome.js +0 -170
- package/dist/core/LegacyHome.js.map +0 -1
- package/dist/core/LoopPolicies.d.ts +0 -7
- package/dist/core/LoopPolicies.d.ts.map +0 -1
- package/dist/core/LoopPolicies.js +0 -42
- package/dist/core/LoopPolicies.js.map +0 -1
- package/dist/core/LoopPolicyReader.d.ts +0 -7
- package/dist/core/LoopPolicyReader.d.ts.map +0 -1
- package/dist/core/LoopPolicyReader.js +0 -33
- package/dist/core/LoopPolicyReader.js.map +0 -1
- package/dist/core/LoopPolicyReader.sql +0 -6
- package/dist/index.d.ts +0 -14
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -21
- package/dist/index.js.map +0 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
-- MIGRATE: 16 selection_statements
|
|
2
|
+
-- Released in 2.0.0 and frozen ({§db-migrations}): a shape change is the next MIGRATE version, never an edit here.
|
|
2
3
|
-- {§target-group} {§db-migrations}: normalize derived ASTs, never original emissions or reasoning.
|
|
3
4
|
-- Historical group members determined dispatch; duplicated top-level fields did not override them.
|
|
4
5
|
UPDATE turns
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
-- MIGRATE: 17 skills module
|
|
2
|
+
-- Released in 2.0.0 and frozen ({§db-migrations}): a shape change is the next MIGRATE version, never an edit here.
|
|
2
3
|
-- {§skills-module} — rename ownership; definitions and enabledness remain exact.
|
|
3
4
|
UPDATE workspace_module_state
|
|
4
5
|
SET namespace_owner = '@plurnk/plurnk-skills'
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
-- MIGRATE: 18 worker owners
|
|
2
|
+
-- Released in 3.0.0 and frozen ({§db-migrations}): a shape change is the next MIGRATE version, never an edit here.
|
|
3
|
+
-- {§worker-owner-creation} Ownership is durable; incoming messages confer no authority.
|
|
4
|
+
|
|
5
|
+
CREATE TABLE worker_owners (
|
|
6
|
+
workspace_id INTEGER NOT NULL REFERENCES workspaces(id) ON DELETE CASCADE,
|
|
7
|
+
address TEXT NOT NULL CHECK (length(address) > 0),
|
|
8
|
+
tools TEXT NOT NULL CHECK (json_valid(tools) AND json_type(tools) = 'array'),
|
|
9
|
+
PRIMARY KEY (workspace_id, address),
|
|
10
|
+
CHECK (address != '_plurnk' OR tools = '[]')
|
|
11
|
+
) STRICT;
|
|
12
|
+
|
|
13
|
+
INSERT INTO worker_owners (workspace_id, address, tools)
|
|
14
|
+
SELECT id, '_plurnk', '[]' FROM workspaces;
|
|
15
|
+
|
|
16
|
+
ALTER TABLE workers ADD COLUMN owner TEXT NOT NULL DEFAULT '_plurnk' CHECK (length(owner) > 0);
|
|
17
|
+
|
|
18
|
+
-- SQLite cannot add a composite foreign key to an existing table. These guards enforce
|
|
19
|
+
-- the same workspace/address reference without rebuilding workers and their descendants.
|
|
20
|
+
CREATE TRIGGER worker_owner_insert
|
|
21
|
+
BEFORE INSERT ON workers
|
|
22
|
+
WHEN EXISTS (SELECT 1 FROM workspaces WHERE id = NEW.workspace_id) AND NOT EXISTS (
|
|
23
|
+
SELECT 1 FROM worker_owners WHERE workspace_id = NEW.workspace_id AND address = NEW.owner
|
|
24
|
+
)
|
|
25
|
+
OR (NEW.origin = '_plurnk' AND NEW.owner != '_plurnk')
|
|
26
|
+
OR (NEW.parent_worker_id IS NOT NULL AND EXISTS (
|
|
27
|
+
SELECT 1 FROM workers WHERE id = NEW.parent_worker_id AND workspace_id != NEW.workspace_id
|
|
28
|
+
))
|
|
29
|
+
BEGIN
|
|
30
|
+
SELECT RAISE(ABORT, 'worker owner or parent does not belong to its workspace');
|
|
31
|
+
END;
|
|
32
|
+
|
|
33
|
+
CREATE TRIGGER worker_owner_update
|
|
34
|
+
BEFORE UPDATE OF owner, workspace_id ON workers
|
|
35
|
+
WHEN NOT EXISTS (
|
|
36
|
+
SELECT 1 FROM worker_owners WHERE workspace_id = NEW.workspace_id AND address = NEW.owner
|
|
37
|
+
)
|
|
38
|
+
OR (NEW.origin = '_plurnk' AND NEW.owner != '_plurnk')
|
|
39
|
+
BEGIN
|
|
40
|
+
SELECT RAISE(ABORT, 'worker owner does not belong to its workspace');
|
|
41
|
+
END;
|
|
42
|
+
|
|
43
|
+
CREATE TRIGGER worker_owner_identity
|
|
44
|
+
BEFORE UPDATE OF workspace_id, address ON worker_owners
|
|
45
|
+
BEGIN
|
|
46
|
+
SELECT RAISE(ABORT, 'worker owner identity is immutable');
|
|
47
|
+
END;
|
|
48
|
+
|
|
49
|
+
CREATE TRIGGER worker_owner_referenced
|
|
50
|
+
BEFORE DELETE ON worker_owners
|
|
51
|
+
WHEN EXISTS (SELECT 1 FROM workspaces WHERE id = OLD.workspace_id)
|
|
52
|
+
AND EXISTS (SELECT 1 FROM workers WHERE workspace_id = OLD.workspace_id AND owner = OLD.address)
|
|
53
|
+
BEGIN
|
|
54
|
+
SELECT RAISE(ABORT, 'worker owner is still referenced');
|
|
55
|
+
END;
|
|
56
|
+
|
|
57
|
+
CREATE INDEX workers_owner ON workers (workspace_id, owner);
|
|
58
|
+
|
|
59
|
+
-- {§a2a-worker-ownership} Released A2A contexts were roots. Retained causal
|
|
60
|
+
-- message identities distinguish them from ordinary model conversations.
|
|
61
|
+
CREATE TEMP TABLE a2a_context_parents AS
|
|
62
|
+
SELECT DISTINCT context.id, context.workspace_id
|
|
63
|
+
FROM workers context
|
|
64
|
+
JOIN workers task ON task.parent_worker_id = context.id
|
|
65
|
+
JOIN loops l ON l.worker_id = task.id
|
|
66
|
+
WHERE context.origin = 'model' AND context.parent_worker_id IS NULL
|
|
67
|
+
AND context.default_conversation = 0 AND task.origin = 'model'
|
|
68
|
+
AND l.prompt_source GLOB 'a2a://*'
|
|
69
|
+
AND instr(l.prompt_source, '/contexts/' || context.name || '/tasks/' || task.name || '/messages/') > 0
|
|
70
|
+
AND substr(l.prompt_source, -1) != '/';
|
|
71
|
+
|
|
72
|
+
INSERT INTO workers (workspace_id, name, origin)
|
|
73
|
+
SELECT DISTINCT context.workspace_id, '_plurnk', '_plurnk'
|
|
74
|
+
FROM a2a_context_parents context
|
|
75
|
+
WHERE NOT EXISTS (SELECT 1 FROM workers runtime WHERE runtime.workspace_id = context.workspace_id AND runtime.origin = '_plurnk');
|
|
76
|
+
|
|
77
|
+
UPDATE workers SET parent_worker_id = (
|
|
78
|
+
SELECT runtime.id FROM workers runtime
|
|
79
|
+
WHERE runtime.workspace_id = workers.workspace_id AND runtime.origin = '_plurnk'
|
|
80
|
+
)
|
|
81
|
+
WHERE id IN (SELECT id FROM a2a_context_parents);
|
|
82
|
+
DROP TABLE a2a_context_parents;
|
|
83
|
+
|
|
84
|
+
-- Old process-local interaction waiters cannot survive a daemon restart; ordinary
|
|
85
|
+
-- orphan recovery settles these rows without inventing a client for them.
|
|
86
|
+
ALTER TABLE client_interactions ADD COLUMN recipient TEXT NOT NULL DEFAULT '_plurnk';
|
|
87
|
+
|
|
88
|
+
-- The runtime installs the current fork trigger after migrations.
|
|
89
|
+
DROP TRIGGER IF EXISTS workers_fork_copies_history;
|
|
90
|
+
ALTER TABLE loops DROP COLUMN policy;
|
|
91
|
+
|
|
92
|
+
-- {§schedule-delivery} A stored schedule remains a message definition, not an
|
|
93
|
+
-- approval grant. Preserve its rule, target, prompt, enabled state and provenance.
|
|
94
|
+
UPDATE workspace_module_state
|
|
95
|
+
SET state = json_set(state, '$.definitions', (
|
|
96
|
+
SELECT json_group_object(key, json_remove(value, '$.definition.policy'))
|
|
97
|
+
FROM json_each(state, '$.definitions')
|
|
98
|
+
))
|
|
99
|
+
WHERE namespace_owner = '@plurnk/plurnk-schedule'
|
|
100
|
+
AND EXISTS (
|
|
101
|
+
SELECT 1 FROM json_each(state, '$.definitions')
|
|
102
|
+
WHERE json_type(value, '$.definition.policy') IS NOT NULL
|
|
103
|
+
);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
-- MIGRATE: 19 interactive owners
|
|
2
|
+
-- Released in 3.0.0 and frozen ({§db-migrations}): a shape change is the next MIGRATE version, never an edit here.
|
|
3
|
+
-- {§worker-ownership} An owner states whether a person attends it. Existing owners are
|
|
4
|
+
-- unattended until their client declares otherwise; the runtime owner never is.
|
|
5
|
+
|
|
6
|
+
ALTER TABLE worker_owners ADD COLUMN interactive INTEGER NOT NULL DEFAULT 0
|
|
7
|
+
CHECK (interactive IN (0, 1) AND (address != '_plurnk' OR interactive = 0));
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
-- MIGRATE: 20 log projection
|
|
2
|
+
-- Released in 3.0.0 and frozen ({§db-migrations}): a shape change is the next MIGRATE version, never an edit here.
|
|
3
|
+
-- {§worker-wait-timing} A WAIT receipt's `waiting` is the accepted maximum in non-negative seconds;
|
|
4
|
+
-- a receipt without one carries no bound. The attrs guard is redeclared around this one rewrite.
|
|
5
|
+
DROP TRIGGER IF EXISTS log_entries_immutable_attrs;
|
|
6
|
+
|
|
7
|
+
UPDATE log_entries
|
|
8
|
+
SET attrs = json_remove(attrs, '$.waiting')
|
|
9
|
+
WHERE op = 'WAIT' AND json_extract(attrs, '$.waiting') = -1;
|
|
10
|
+
|
|
11
|
+
CREATE TRIGGER log_entries_immutable_attrs
|
|
12
|
+
BEFORE UPDATE OF attrs ON log_entries
|
|
13
|
+
WHEN COALESCE((
|
|
14
|
+
json_type(OLD.attrs, '$.__plurnk_curation') = 'object'
|
|
15
|
+
AND NEW.attrs = json_remove(OLD.attrs, '$.__plurnk_curation')
|
|
16
|
+
), 0) = 0
|
|
17
|
+
BEGIN
|
|
18
|
+
SELECT RAISE(ABORT, 'log_entries attrs are immutable outside curation payload removal');
|
|
19
|
+
END;
|
|
20
|
+
|
|
21
|
+
-- {§log-history-projection} A projection row is its event's membership and folded intervals.
|
|
22
|
+
-- No foreign key points at log_entry_projections, so the table is rebuilt with those columns
|
|
23
|
+
-- ({§db-migrations}). The view that reads it and the process triggers that name it would be
|
|
24
|
+
-- re-resolved by the RENAME while the table is absent, so they are dropped first: the view is
|
|
25
|
+
-- redeclared below and the processes on the next open ({§db-process-triggers}).
|
|
26
|
+
CREATE TABLE log_entry_projections_rebuilt (
|
|
27
|
+
log_entry_id INTEGER NOT NULL PRIMARY KEY,
|
|
28
|
+
active INTEGER NOT NULL DEFAULT 1 CHECK (active IN (0, 1)),
|
|
29
|
+
folded TEXT NOT NULL DEFAULT '[]'
|
|
30
|
+
CHECK (json_valid(folded) AND json_type(folded) = 'array'),
|
|
31
|
+
FOREIGN KEY (log_entry_id) REFERENCES log_entries(id) ON DELETE CASCADE
|
|
32
|
+
) STRICT, WITHOUT ROWID;
|
|
33
|
+
|
|
34
|
+
INSERT INTO log_entry_projections_rebuilt (log_entry_id, active, folded)
|
|
35
|
+
SELECT log_entry_id, active, folded FROM log_entry_projections;
|
|
36
|
+
|
|
37
|
+
DROP VIEW IF EXISTS active_log_entries;
|
|
38
|
+
DROP TRIGGER IF EXISTS log_entries_initialize_projection;
|
|
39
|
+
DROP TRIGGER IF EXISTS log_entries_apply_curation;
|
|
40
|
+
DROP TRIGGER IF EXISTS workers_fork_copies_history;
|
|
41
|
+
DROP TRIGGER IF EXISTS log_output_admission_immutable;
|
|
42
|
+
DROP TRIGGER IF EXISTS log_output_admission_owner;
|
|
43
|
+
DROP TABLE log_entry_projections;
|
|
44
|
+
ALTER TABLE log_entry_projections_rebuilt RENAME TO log_entry_projections;
|
|
45
|
+
|
|
46
|
+
-- A folded interval is an inclusive [start,end] pair. Ranges are positive,
|
|
47
|
+
-- sorted, disjoint, and non-adjacent; -1 is the final open-ended endpoint.
|
|
48
|
+
-- Canonical intervals make visibility equality and curation effects exact.
|
|
49
|
+
CREATE TRIGGER log_entry_projections_folded_valid_insert
|
|
50
|
+
BEFORE INSERT ON log_entry_projections
|
|
51
|
+
WHEN EXISTS (
|
|
52
|
+
SELECT 1
|
|
53
|
+
FROM json_each(NEW.folded) range
|
|
54
|
+
WHERE range.type != 'array'
|
|
55
|
+
OR json_array_length(range.value) != 2
|
|
56
|
+
OR COALESCE(json_type(range.value, '$[0]'), '') != 'integer'
|
|
57
|
+
OR COALESCE(json_type(range.value, '$[1]'), '') != 'integer'
|
|
58
|
+
OR json_extract(range.value, '$[0]') < 1
|
|
59
|
+
OR (
|
|
60
|
+
json_extract(range.value, '$[1]') != -1
|
|
61
|
+
AND json_extract(range.value, '$[1]') < json_extract(range.value, '$[0]')
|
|
62
|
+
)
|
|
63
|
+
OR EXISTS (
|
|
64
|
+
SELECT 1
|
|
65
|
+
FROM json_each(NEW.folded) previous
|
|
66
|
+
WHERE previous.key = range.key - 1
|
|
67
|
+
AND (
|
|
68
|
+
json_extract(previous.value, '$[1]') = -1
|
|
69
|
+
OR json_extract(range.value, '$[0]') <= json_extract(previous.value, '$[1]') + 1
|
|
70
|
+
)
|
|
71
|
+
)
|
|
72
|
+
)
|
|
73
|
+
BEGIN
|
|
74
|
+
SELECT RAISE(ABORT, 'log entry projection folded ranges are invalid');
|
|
75
|
+
END;
|
|
76
|
+
|
|
77
|
+
CREATE TRIGGER log_entry_projections_folded_valid_update
|
|
78
|
+
BEFORE UPDATE OF folded ON log_entry_projections
|
|
79
|
+
WHEN EXISTS (
|
|
80
|
+
SELECT 1
|
|
81
|
+
FROM json_each(NEW.folded) range
|
|
82
|
+
WHERE range.type != 'array'
|
|
83
|
+
OR json_array_length(range.value) != 2
|
|
84
|
+
OR COALESCE(json_type(range.value, '$[0]'), '') != 'integer'
|
|
85
|
+
OR COALESCE(json_type(range.value, '$[1]'), '') != 'integer'
|
|
86
|
+
OR json_extract(range.value, '$[0]') < 1
|
|
87
|
+
OR (
|
|
88
|
+
json_extract(range.value, '$[1]') != -1
|
|
89
|
+
AND json_extract(range.value, '$[1]') < json_extract(range.value, '$[0]')
|
|
90
|
+
)
|
|
91
|
+
OR EXISTS (
|
|
92
|
+
SELECT 1
|
|
93
|
+
FROM json_each(NEW.folded) previous
|
|
94
|
+
WHERE previous.key = range.key - 1
|
|
95
|
+
AND (
|
|
96
|
+
json_extract(previous.value, '$[1]') = -1
|
|
97
|
+
OR json_extract(range.value, '$[0]') <= json_extract(previous.value, '$[1]') + 1
|
|
98
|
+
)
|
|
99
|
+
)
|
|
100
|
+
)
|
|
101
|
+
BEGIN
|
|
102
|
+
SELECT RAISE(ABORT, 'log entry projection folded ranges are invalid');
|
|
103
|
+
END;
|
|
104
|
+
|
|
105
|
+
CREATE TRIGGER log_entry_projections_kill_terminal
|
|
106
|
+
BEFORE UPDATE OF active ON log_entry_projections
|
|
107
|
+
WHEN OLD.active = 0 AND NEW.active != 0
|
|
108
|
+
BEGIN
|
|
109
|
+
SELECT RAISE(ABORT, 'a killed log entry cannot re-enter the active projection');
|
|
110
|
+
END;
|
|
111
|
+
|
|
112
|
+
CREATE TRIGGER log_entry_projections_delete_with_event_only
|
|
113
|
+
BEFORE DELETE ON log_entry_projections
|
|
114
|
+
WHEN EXISTS (SELECT 1 FROM log_entries WHERE id = OLD.log_entry_id)
|
|
115
|
+
BEGIN
|
|
116
|
+
SELECT RAISE(ABORT, 'a durable log event must retain its projection');
|
|
117
|
+
END;
|
|
118
|
+
|
|
119
|
+
-- {§emission-row} An emission is curated whole: its projection is retired, never trimmed.
|
|
120
|
+
CREATE TRIGGER log_entry_projections_emission_whole
|
|
121
|
+
BEFORE UPDATE OF folded ON log_entry_projections
|
|
122
|
+
WHEN json(NEW.folded) != json('[]')
|
|
123
|
+
AND EXISTS (
|
|
124
|
+
SELECT 1 FROM log_entries
|
|
125
|
+
WHERE id = NEW.log_entry_id AND json_extract(attrs, '$.kind') = 'emission'
|
|
126
|
+
)
|
|
127
|
+
BEGIN
|
|
128
|
+
SELECT RAISE(ABORT, 'an emission row is curated whole');
|
|
129
|
+
END;
|
|
130
|
+
|
|
131
|
+
-- The ordinary operation surface reads this view. Forensic and lifecycle
|
|
132
|
+
-- machinery names log_entries directly and therefore retains complete history.
|
|
133
|
+
CREATE VIEW active_log_entries AS
|
|
134
|
+
SELECT le.id, le.version, le.worker_id, le.loop_id, le.turn_id, le.sequence,
|
|
135
|
+
le.at, le.origin, le.source, le.ambient_event_id, le.inherited_history,
|
|
136
|
+
le.deep_hash, le.model_call_id, le.subscription_publication_id,
|
|
137
|
+
le.op, le.signal, le.scheme, le.username, le.password,
|
|
138
|
+
le.hostname, le.port, le.pathname, le.query, le.fragment, le.lineMarker,
|
|
139
|
+
le.tx, le.mimetype_tx,
|
|
140
|
+
le.rx, le.mimetype_rx, le.status_rx, le.weight,
|
|
141
|
+
le.state, le.outcome, le.attrs, le.initial_folded, projection.folded
|
|
142
|
+
FROM log_entries le
|
|
143
|
+
JOIN log_entry_projections projection ON projection.log_entry_id = le.id
|
|
144
|
+
WHERE projection.active = 1;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
-- MIGRATE: 21 packet roles
|
|
2
|
+
-- Released in 3.1.0 and frozen ({§db-migrations}): a shape change is the next MIGRATE version, never an edit here.
|
|
3
|
+
-- {§packet-wire-envelope} {§packet-items}: preserve every retained role, position and item.
|
|
4
|
+
-- Both sides of the section-membership foreign key are copied before either old table is
|
|
5
|
+
-- dropped. Foreign keys remain enabled; no dependent rows rely on surviving a parent DROP.
|
|
6
|
+
CREATE TABLE turn_sections_rebuilt (
|
|
7
|
+
turn_id INTEGER NOT NULL REFERENCES turns(id) ON DELETE CASCADE,
|
|
8
|
+
position INTEGER NOT NULL CHECK (position >= 0),
|
|
9
|
+
name TEXT NOT NULL CHECK (length(name) > 0),
|
|
10
|
+
slot TEXT NOT NULL CHECK (slot IN ('system', 'user', 'assistant')),
|
|
11
|
+
header TEXT,
|
|
12
|
+
weight INTEGER NOT NULL CHECK (weight >= 0),
|
|
13
|
+
PRIMARY KEY (turn_id, position),
|
|
14
|
+
UNIQUE (turn_id, name)
|
|
15
|
+
) STRICT, WITHOUT ROWID;
|
|
16
|
+
|
|
17
|
+
CREATE TABLE turn_section_items_rebuilt (
|
|
18
|
+
turn_id INTEGER NOT NULL,
|
|
19
|
+
section INTEGER NOT NULL,
|
|
20
|
+
position INTEGER NOT NULL CHECK (position >= 0),
|
|
21
|
+
item_hash TEXT NOT NULL REFERENCES packet_items(hash),
|
|
22
|
+
PRIMARY KEY (turn_id, section, position),
|
|
23
|
+
FOREIGN KEY (turn_id, section) REFERENCES turn_sections_rebuilt(turn_id, position) ON DELETE CASCADE
|
|
24
|
+
) STRICT, WITHOUT ROWID;
|
|
25
|
+
|
|
26
|
+
INSERT INTO turn_sections_rebuilt (turn_id, position, name, slot, header, weight)
|
|
27
|
+
SELECT turn_id, position, name, slot, header, weight FROM turn_sections;
|
|
28
|
+
INSERT INTO turn_section_items_rebuilt (turn_id, section, position, item_hash)
|
|
29
|
+
SELECT turn_id, section, position, item_hash FROM turn_section_items;
|
|
30
|
+
|
|
31
|
+
DROP VIEW turn_packets;
|
|
32
|
+
DROP TRIGGER turn_inference_evidence_insert;
|
|
33
|
+
-- {§db-process-triggers}: reinstalled from its owning INIT after migration.
|
|
34
|
+
DROP TRIGGER IF EXISTS workers_fork_copies_history;
|
|
35
|
+
DROP TABLE turn_section_items;
|
|
36
|
+
DROP TABLE turn_sections;
|
|
37
|
+
ALTER TABLE turn_sections_rebuilt RENAME TO turn_sections;
|
|
38
|
+
ALTER TABLE turn_section_items_rebuilt RENAME TO turn_section_items;
|
|
39
|
+
CREATE INDEX turn_section_items_item_hash ON turn_section_items (item_hash);
|
|
40
|
+
|
|
41
|
+
CREATE TRIGGER turn_inference_evidence_insert
|
|
42
|
+
INSTEAD OF INSERT ON turn_inference_evidence
|
|
43
|
+
BEGIN
|
|
44
|
+
SELECT RAISE(ABORT, 'turn is not an open model inference turn')
|
|
45
|
+
WHERE NOT EXISTS (
|
|
46
|
+
SELECT 1 FROM turns
|
|
47
|
+
WHERE id = NEW.turn_id AND producer = 'model' AND kind = 'inference'
|
|
48
|
+
AND completed_at IS NULL AND packet IS NULL
|
|
49
|
+
);
|
|
50
|
+
SELECT RAISE(ABORT, 'packet sections must be a JSON array of {name, slot, header, weight, items}')
|
|
51
|
+
WHERE json_type(NEW.sections) IS NOT 'array';
|
|
52
|
+
INSERT OR IGNORE INTO packet_items (hash, text)
|
|
53
|
+
SELECT sha256(item.value), item.value
|
|
54
|
+
FROM json_each(NEW.sections) AS section, json_each(section.value, '$.items') AS item;
|
|
55
|
+
INSERT INTO turn_sections (turn_id, position, name, slot, header, weight)
|
|
56
|
+
SELECT NEW.turn_id, section.key,
|
|
57
|
+
json_extract(section.value, '$.name'), json_extract(section.value, '$.slot'),
|
|
58
|
+
json_extract(section.value, '$.header'), json_extract(section.value, '$.weight')
|
|
59
|
+
FROM json_each(NEW.sections) AS section;
|
|
60
|
+
INSERT INTO turn_section_items (turn_id, section, position, item_hash)
|
|
61
|
+
SELECT NEW.turn_id, section.key, item.key, sha256(item.value)
|
|
62
|
+
FROM json_each(NEW.sections) AS section, json_each(section.value, '$.items') AS item;
|
|
63
|
+
UPDATE turns
|
|
64
|
+
SET packet = NEW.packet,
|
|
65
|
+
usage_curation_budget = NEW.usage_curation_budget,
|
|
66
|
+
finish_reason = NEW.finish_reason,
|
|
67
|
+
model = NEW.model,
|
|
68
|
+
meta = NEW.meta
|
|
69
|
+
WHERE id = NEW.turn_id;
|
|
70
|
+
END;
|
|
71
|
+
|
|
72
|
+
CREATE VIEW turn_packets AS
|
|
73
|
+
SELECT t.id, t.loop_id, t.sequence, t.timestamp, t.producer, t.kind, t.status, t.completed_at,
|
|
74
|
+
t.usage_curation_budget, t.finish_reason, t.model, t.meta, t.version,
|
|
75
|
+
CASE WHEN t.packet IS NULL THEN NULL ELSE json_set(t.packet, '$.sections', json((
|
|
76
|
+
SELECT COALESCE(json_group_array(json_object(
|
|
77
|
+
'name', ts.name, 'slot', ts.slot, 'header', ts.header, 'weight', ts.weight,
|
|
78
|
+
'content', COALESCE((
|
|
79
|
+
SELECT group_concat(pi.text, char(10) || char(10) ORDER BY tsi.position)
|
|
80
|
+
FROM turn_section_items tsi JOIN packet_items pi ON pi.hash = tsi.item_hash
|
|
81
|
+
WHERE tsi.turn_id = ts.turn_id AND tsi.section = ts.position
|
|
82
|
+
), '')
|
|
83
|
+
) ORDER BY ts.position), '[]')
|
|
84
|
+
FROM turn_sections ts WHERE ts.turn_id = t.id
|
|
85
|
+
))) END AS packet
|
|
86
|
+
FROM turns t;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
-- MIGRATE: 22 message completion
|
|
2
|
+
-- Released in 3.1.0 and frozen ({§db-migrations}): a shape change is the next MIGRATE version, never an edit here.
|
|
3
|
+
-- {§message-completion}: message outcome is independent of reply delivery and log curation.
|
|
4
|
+
CREATE TABLE message_completions (
|
|
5
|
+
message_id INTEGER PRIMARY KEY REFERENCES loop_messages(id) ON DELETE CASCADE,
|
|
6
|
+
response_id INTEGER NOT NULL REFERENCES log_entries(id),
|
|
7
|
+
status INTEGER NOT NULL CHECK (status IN (200, 499))
|
|
8
|
+
) STRICT;
|
|
9
|
+
CREATE INDEX message_completions_response_id ON message_completions(response_id);
|
|
10
|
+
|
|
11
|
+
-- Before this contract, every delivered reply resolved its messages. Preserve that
|
|
12
|
+
-- established state without rewriting immutable operation evidence.
|
|
13
|
+
INSERT INTO message_completions (message_id, response_id, status)
|
|
14
|
+
SELECT m.id, MAX(r.id), 200
|
|
15
|
+
FROM message_sources m
|
|
16
|
+
JOIN workers w ON w.workspace_id = m.workspace_id
|
|
17
|
+
JOIN log_responses r ON r.worker_id = w.id
|
|
18
|
+
JOIN json_each(r.rx, '$.answers') a ON a.value = m.path
|
|
19
|
+
GROUP BY m.id;
|
|
20
|
+
|
|
21
|
+
DROP VIEW unanswered_messages;
|
|
22
|
+
CREATE VIEW unanswered_messages AS
|
|
23
|
+
SELECT m.* FROM message_sources m
|
|
24
|
+
WHERE NOT EXISTS (SELECT 1 FROM message_completions c WHERE c.message_id = m.id);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plurnk/plurnk-service",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.1.0",
|
|
4
4
|
"description": "Plurnk agent runtime — the server / engine / core. Implements the @plurnk/plurnk-contracts contract.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"plurnk",
|
|
@@ -17,10 +17,6 @@
|
|
|
17
17
|
"node": ">=26"
|
|
18
18
|
},
|
|
19
19
|
"exports": {
|
|
20
|
-
".": {
|
|
21
|
-
"types": "./dist/index.d.ts",
|
|
22
|
-
"default": "./dist/index.js"
|
|
23
|
-
},
|
|
24
20
|
"./launch": {
|
|
25
21
|
"types": "./dist/launch/Launch.d.ts",
|
|
26
22
|
"default": "./dist/launch/Launch.js"
|
|
@@ -71,7 +67,8 @@
|
|
|
71
67
|
"build:dist": "tsc -p tsconfig.build.json",
|
|
72
68
|
"build:sql": "node --conditions=plurnk-dev scripts/copy-sql.mjs",
|
|
73
69
|
"build:info": "node scripts/write-build-info.mjs",
|
|
74
|
-
"build": "
|
|
70
|
+
"build:posix": "node --conditions=plurnk-dev scripts/generate-posix.mjs",
|
|
71
|
+
"build": "npm run build:clean && npm run build:dist && npm run build:sql && npm run build:info && npm run build:posix",
|
|
75
72
|
"build:global:install": "npm run build && npm install -g .",
|
|
76
73
|
"build:global:uninstall": "npm uninstall -g @plurnk/plurnk-service",
|
|
77
74
|
"build:local:install": "node --conditions=plurnk-dev scripts/install-sandbox.mjs install",
|
|
@@ -81,7 +78,8 @@
|
|
|
81
78
|
"release:check": "npm run deps:audit && npm run test:installation",
|
|
82
79
|
"prepublishOnly": "npm run deps:audit && npm run test:installation",
|
|
83
80
|
"prepack": "npm run build",
|
|
84
|
-
"report:floor": "node --conditions=plurnk-dev --import=./test/setup.ts --env-file-if-exists=.env.defaults scripts/floor-report.mjs"
|
|
81
|
+
"report:floor": "node --conditions=plurnk-dev --import=./test/setup.ts --env-file-if-exists=.env.defaults scripts/floor-report.mjs",
|
|
82
|
+
"report:sql": "node --conditions=plurnk-dev scripts/sql-report.mjs"
|
|
85
83
|
},
|
|
86
84
|
"dependencies": {
|
|
87
85
|
"@opentelemetry/api": "^1.9.1",
|
|
@@ -91,26 +89,26 @@
|
|
|
91
89
|
"@opentelemetry/resources": "^2.11.0",
|
|
92
90
|
"@opentelemetry/sdk-metrics": "^2.11.0",
|
|
93
91
|
"@opentelemetry/sdk-trace-base": "^2.11.0",
|
|
94
|
-
"@plurnk/plurnk-a2a": "
|
|
95
|
-
"@plurnk/plurnk-agui": "
|
|
96
|
-
"@plurnk/plurnk-contracts": "
|
|
97
|
-
"@plurnk/plurnk-parser": "
|
|
98
|
-
"@plurnk/plurnk-schedule": "
|
|
99
|
-
"@plurnk/plurnk-skills": "
|
|
100
|
-
"@plurnk/plurnk-execs": "
|
|
101
|
-
"@plurnk/plurnk-execs-common": "2.0.
|
|
102
|
-
"@plurnk/plurnk-execs-jq": "2.0.
|
|
103
|
-
"@plurnk/plurnk-execs-sqlite": "2.0.
|
|
104
|
-
"@plurnk/plurnk-hooks": "2.0.
|
|
105
|
-
"@plurnk/plurnk-mcp": "
|
|
106
|
-
"@plurnk/plurnk-meta": "2.
|
|
92
|
+
"@plurnk/plurnk-a2a": "3.1.0",
|
|
93
|
+
"@plurnk/plurnk-agui": "3.0.0",
|
|
94
|
+
"@plurnk/plurnk-contracts": "3.1.0",
|
|
95
|
+
"@plurnk/plurnk-parser": "3.0.2",
|
|
96
|
+
"@plurnk/plurnk-schedule": "3.0.0",
|
|
97
|
+
"@plurnk/plurnk-skills": "3.0.0",
|
|
98
|
+
"@plurnk/plurnk-execs": "3.1.0",
|
|
99
|
+
"@plurnk/plurnk-execs-common": "2.0.2",
|
|
100
|
+
"@plurnk/plurnk-execs-jq": "2.0.1",
|
|
101
|
+
"@plurnk/plurnk-execs-sqlite": "2.0.1",
|
|
102
|
+
"@plurnk/plurnk-hooks": "2.0.1",
|
|
103
|
+
"@plurnk/plurnk-mcp": "3.0.0",
|
|
104
|
+
"@plurnk/plurnk-meta": "2.1.0",
|
|
107
105
|
"@plurnk/plurnk-agent-plugins": "2.0.0",
|
|
108
|
-
"@plurnk/plurnk-agent-skills": "2.0.
|
|
109
|
-
"@plurnk/plurnk-mimetypes": "
|
|
110
|
-
"@plurnk/plurnk-mimetypes-application-ipynb": "2.0.
|
|
111
|
-
"@plurnk/plurnk-mimetypes-application-json": "2.0.
|
|
112
|
-
"@plurnk/plurnk-mimetypes-application-jsonl": "2.0.
|
|
113
|
-
"@plurnk/plurnk-mimetypes-application-xml": "2.0.
|
|
106
|
+
"@plurnk/plurnk-agent-skills": "2.0.1",
|
|
107
|
+
"@plurnk/plurnk-mimetypes": "3.0.1",
|
|
108
|
+
"@plurnk/plurnk-mimetypes-application-ipynb": "2.0.1",
|
|
109
|
+
"@plurnk/plurnk-mimetypes-application-json": "2.0.1",
|
|
110
|
+
"@plurnk/plurnk-mimetypes-application-jsonl": "2.0.1",
|
|
111
|
+
"@plurnk/plurnk-mimetypes-application-xml": "2.0.1",
|
|
114
112
|
"@plurnk/plurnk-mimetypes-grammar-bash": "2.0.0",
|
|
115
113
|
"@plurnk/plurnk-mimetypes-grammar-c": "2.0.0",
|
|
116
114
|
"@plurnk/plurnk-mimetypes-grammar-cpp": "2.0.0",
|
|
@@ -137,24 +135,24 @@
|
|
|
137
135
|
"@plurnk/plurnk-mimetypes-grammar-typescript": "2.0.0",
|
|
138
136
|
"@plurnk/plurnk-mimetypes-grammar-yaml": "2.0.0",
|
|
139
137
|
"@plurnk/plurnk-mimetypes-grammar-zig": "2.0.0",
|
|
140
|
-
"@plurnk/plurnk-mimetypes-application-pdf": "2.0.
|
|
141
|
-
"@plurnk/plurnk-mimetypes-image": "2.0.
|
|
142
|
-
"@plurnk/plurnk-mimetypes-audio": "2.0.
|
|
143
|
-
"@plurnk/plurnk-mimetypes-text-csv": "2.0.
|
|
144
|
-
"@plurnk/plurnk-mimetypes-text-diff": "2.0.
|
|
145
|
-
"@plurnk/plurnk-mimetypes-text-dotenv": "2.0.
|
|
146
|
-
"@plurnk/plurnk-mimetypes-text-html": "2.0.
|
|
147
|
-
"@plurnk/plurnk-mimetypes-text-ini": "2.0.
|
|
148
|
-
"@plurnk/plurnk-mimetypes-text-markdown": "2.0.
|
|
149
|
-
"@plurnk/plurnk-mimetypes-text-plain": "2.0.
|
|
150
|
-
"@plurnk/plurnk-models": "
|
|
151
|
-
"@plurnk/plurnk-modules": "
|
|
152
|
-
"@plurnk/plurnk-providers": "
|
|
153
|
-
"@plurnk/plurnk-schemes": "
|
|
154
|
-
"@plurnk/plurnk-schemes-http": "2.0.
|
|
138
|
+
"@plurnk/plurnk-mimetypes-application-pdf": "2.0.1",
|
|
139
|
+
"@plurnk/plurnk-mimetypes-image": "2.0.1",
|
|
140
|
+
"@plurnk/plurnk-mimetypes-audio": "2.0.1",
|
|
141
|
+
"@plurnk/plurnk-mimetypes-text-csv": "2.0.1",
|
|
142
|
+
"@plurnk/plurnk-mimetypes-text-diff": "2.0.1",
|
|
143
|
+
"@plurnk/plurnk-mimetypes-text-dotenv": "2.0.1",
|
|
144
|
+
"@plurnk/plurnk-mimetypes-text-html": "2.0.1",
|
|
145
|
+
"@plurnk/plurnk-mimetypes-text-ini": "2.0.1",
|
|
146
|
+
"@plurnk/plurnk-mimetypes-text-markdown": "2.0.1",
|
|
147
|
+
"@plurnk/plurnk-mimetypes-text-plain": "2.0.1",
|
|
148
|
+
"@plurnk/plurnk-models": "3.0.0",
|
|
149
|
+
"@plurnk/plurnk-modules": "3.0.0",
|
|
150
|
+
"@plurnk/plurnk-providers": "3.0.1",
|
|
151
|
+
"@plurnk/plurnk-schemes": "3.1.0",
|
|
152
|
+
"@plurnk/plurnk-schemes-http": "2.0.1",
|
|
155
153
|
"@possumtech/sqlrite": "^6.5.3",
|
|
156
154
|
"diff": "^9.0.0",
|
|
157
|
-
"@plurnk/plurnk-digest": "
|
|
155
|
+
"@plurnk/plurnk-digest": "3.1.0"
|
|
158
156
|
},
|
|
159
157
|
"devDependencies": {
|
|
160
158
|
"@a2a-js/sdk": "1.3.0",
|
|
@@ -172,5 +170,5 @@
|
|
|
172
170
|
"url": "git+https://github.com/plurnk/plurnk-service.git",
|
|
173
171
|
"directory": "plurnk-core"
|
|
174
172
|
},
|
|
175
|
-
"gitHead": "
|
|
173
|
+
"gitHead": "70dd06512f02f66f94a1dae7702085f4980f1686"
|
|
176
174
|
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type HostPaths from "./HostPaths.ts";
|
|
2
|
-
export interface LegacyMigrationMove {
|
|
3
|
-
readonly source: string;
|
|
4
|
-
readonly destination: string;
|
|
5
|
-
}
|
|
6
|
-
export default class LegacyHome {
|
|
7
|
-
static assertCanonical(paths: HostPaths): Promise<void>;
|
|
8
|
-
static migrate(paths: HostPaths): Promise<readonly LegacyMigrationMove[]>;
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=LegacyHome.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LegacyHome.d.ts","sourceRoot":"","sources":["../../src/core/LegacyHome.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AA0C5C,MAAM,WAAW,mBAAmB;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAChC;AAID,MAAM,CAAC,OAAO,OAAO,UAAU;IAC3B,OAAa,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAU5D;IAED,OAAa,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,mBAAmB,EAAE,CAAC,CAmG9E;CACJ"}
|