@plurnk/plurnk-service 3.0.0 → 3.2.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 +38 -21
- package/INSTALL.md +38 -1
- package/README.md +3 -0
- package/SPEC.md +681 -268
- 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 +94 -0
- package/dist/content/path-mimetype.d.ts.map +1 -1
- package/dist/content/path-mimetype.js +2 -8
- package/dist/content/path-mimetype.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 +36 -32
- package/dist/core/AdmittedTurnExecutor.js.map +1 -1
- package/dist/core/BudgetReadout.d.ts +7 -2
- package/dist/core/BudgetReadout.d.ts.map +1 -1
- package/dist/core/BudgetReadout.js +36 -5
- package/dist/core/BudgetReadout.js.map +1 -1
- package/dist/{schemes/_derivation-use.d.ts → core/ContentUse.d.ts} +3 -3
- package/dist/core/ContentUse.d.ts.map +1 -0
- package/dist/{schemes/_derivation-use.js → core/ContentUse.js} +8 -7
- package/dist/core/ContentUse.js.map +1 -0
- package/dist/core/DataStatementRunner.d.ts.map +1 -1
- package/dist/core/DataStatementRunner.js +8 -20
- package/dist/core/DataStatementRunner.js.map +1 -1
- package/dist/core/Dispatcher.d.ts +11 -3
- package/dist/core/Dispatcher.d.ts.map +1 -1
- package/dist/core/Dispatcher.js +186 -109
- package/dist/core/Dispatcher.js.map +1 -1
- package/dist/core/EditMutations.js +1 -1
- package/dist/core/EditMutations.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 -7
- package/dist/core/Engine.js.map +1 -1
- package/dist/core/EnvFlags.js +1 -1
- 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 +8 -0
- package/dist/core/FabricatedLog.js.map +1 -1
- package/dist/core/FileAddress.d.ts +12 -0
- package/dist/core/FileAddress.d.ts.map +1 -0
- package/dist/core/FileAddress.js +73 -0
- package/dist/core/FileAddress.js.map +1 -0
- package/dist/core/FilePublication.d.ts +15 -0
- package/dist/core/FilePublication.d.ts.map +1 -0
- package/dist/core/FilePublication.js +143 -0
- package/dist/core/FilePublication.js.map +1 -0
- package/dist/core/FileSnapshot.d.ts +26 -0
- package/dist/core/FileSnapshot.d.ts.map +1 -0
- package/dist/core/FileSnapshot.js +179 -0
- package/dist/core/FileSnapshot.js.map +1 -0
- package/dist/core/KillHandler.d.ts.map +1 -1
- package/dist/core/KillHandler.js +4 -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/LoopDriver.d.ts.map +1 -1
- package/dist/core/LoopDriver.js +3 -0
- package/dist/core/LoopDriver.js.map +1 -1
- package/dist/core/LoopLifecycle.sql +1 -0
- package/dist/core/MembershipMaterialization.d.ts.map +1 -1
- package/dist/core/MembershipMaterialization.js +87 -143
- package/dist/core/MembershipMaterialization.js.map +1 -1
- package/dist/core/MessageResources.sql +31 -0
- package/dist/core/MutationEffects.d.ts +2 -1
- package/dist/core/MutationEffects.d.ts.map +1 -1
- package/dist/core/MutationEffects.js +14 -1
- package/dist/core/MutationEffects.js.map +1 -1
- package/dist/core/PacketBuilder.d.ts +2 -2
- package/dist/core/PacketBuilder.d.ts.map +1 -1
- package/dist/core/PacketBuilder.js +123 -51
- package/dist/core/PacketBuilder.js.map +1 -1
- package/dist/core/PacketBuilder.sql +21 -14
- package/dist/core/PathGlob.d.ts +6 -0
- package/dist/core/PathGlob.d.ts.map +1 -0
- package/dist/core/PathGlob.js +24 -0
- package/dist/core/PathGlob.js.map +1 -0
- package/dist/core/ProposalLifecycle.d.ts +2 -1
- package/dist/core/ProposalLifecycle.d.ts.map +1 -1
- package/dist/core/ProposalLifecycle.js +45 -33
- package/dist/core/ProposalLifecycle.js.map +1 -1
- package/dist/core/ProposalLifecycle.sql +4 -0
- 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/ResourceBindings.d.ts.map +1 -1
- package/dist/core/ResourceBindings.js +4 -3
- package/dist/core/ResourceBindings.js.map +1 -1
- package/dist/core/ResourceSelector.d.ts +1 -2
- package/dist/core/ResourceSelector.d.ts.map +1 -1
- package/dist/core/ResourceSelector.js +30 -9
- package/dist/core/ResourceSelector.js.map +1 -1
- package/dist/core/ResourceTransfers.d.ts +1 -1
- package/dist/core/ResourceTransfers.d.ts.map +1 -1
- package/dist/core/ResourceTransfers.js +26 -11
- package/dist/core/ResourceTransfers.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/TurnDispositionHandler.d.ts +1 -2
- package/dist/core/TurnDispositionHandler.d.ts.map +1 -1
- package/dist/core/TurnDispositionHandler.js +30 -26
- package/dist/core/TurnDispositionHandler.js.map +1 -1
- package/dist/core/TurnMaterialization.d.ts.map +1 -1
- package/dist/core/TurnMaterialization.js +11 -1
- 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 +122 -56
- package/dist/core/TurnRunner.js.map +1 -1
- package/dist/core/TurnSources.sql +2 -2
- package/dist/core/caps/SchemeCtxImpl.d.ts +1 -0
- package/dist/core/caps/SchemeCtxImpl.d.ts.map +1 -1
- package/dist/core/caps/SchemeCtxImpl.js +5 -0
- package/dist/core/caps/SchemeCtxImpl.js.map +1 -1
- package/dist/core/git-membership.d.ts +1 -0
- package/dist/core/git-membership.d.ts.map +1 -1
- package/dist/core/git-membership.js +9 -11
- package/dist/core/git-membership.js.map +1 -1
- package/dist/core/glob_match.js +3 -3
- package/dist/core/glob_match.js.map +1 -1
- package/dist/core/mutation-types.d.ts +3 -0
- package/dist/core/mutation-types.d.ts.map +1 -1
- package/dist/core/namespace.d.ts +4 -1
- package/dist/core/namespace.d.ts.map +1 -1
- package/dist/core/namespace.js +14 -3
- package/dist/core/namespace.js.map +1 -1
- package/dist/core/packet-wire.d.ts +7 -1
- package/dist/core/packet-wire.d.ts.map +1 -1
- package/dist/core/packet-wire.js +98 -36
- package/dist/core/packet-wire.js.map +1 -1
- package/dist/core/plurnk-uri.d.ts +3 -2
- package/dist/core/plurnk-uri.d.ts.map +1 -1
- package/dist/core/plurnk-uri.js +23 -11
- 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 +1 -0
- 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/sqlite-synchronous.d.ts +2 -0
- package/dist/core/sqlite-synchronous.d.ts.map +1 -0
- package/dist/core/sqlite-synchronous.js +4 -0
- package/dist/core/sqlite-synchronous.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/evidence/EvidenceReader.d.ts.map +1 -1
- package/dist/evidence/EvidenceReader.js +23 -3
- package/dist/evidence/EvidenceReader.js.map +1 -1
- package/dist/evidence/digest.sql +7 -1
- package/dist/man/plurnk-service.1 +499 -0
- 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 +15 -15
- 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 +1 -0
- package/dist/schemes/File.d.ts.map +1 -1
- package/dist/schemes/File.js +233 -268
- package/dist/schemes/File.js.map +1 -1
- package/dist/schemes/Log.d.ts.map +1 -1
- package/dist/schemes/Log.js +97 -17
- package/dist/schemes/Log.js.map +1 -1
- package/dist/schemes/Log.sql +9 -0
- package/dist/schemes/Worker.js +1 -1
- package/dist/schemes/Worker.js.map +1 -1
- package/dist/schemes/_entry-crud.d.ts +2 -0
- package/dist/schemes/_entry-crud.d.ts.map +1 -1
- package/dist/schemes/_entry-crud.js +8 -5
- package/dist/schemes/_entry-crud.js.map +1 -1
- package/dist/schemes/_entry-crud.sql +15 -15
- package/dist/schemes/_entry-find.d.ts +2 -1
- package/dist/schemes/_entry-find.d.ts.map +1 -1
- package/dist/schemes/_entry-find.js +31 -19
- package/dist/schemes/_entry-find.js.map +1 -1
- 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 +10 -8
- package/dist/schemes/_entry-manifest.js.map +1 -1
- package/dist/schemes/_entry-ops.d.ts.map +1 -1
- package/dist/schemes/_entry-ops.js +9 -7
- package/dist/schemes/_entry-ops.js.map +1 -1
- package/dist/schemes/_path-scope.d.ts.map +1 -1
- package/dist/schemes/_path-scope.js +12 -4
- package/dist/schemes/_path-scope.js.map +1 -1
- package/dist/schemes/_search-index.js +3 -3
- package/dist/schemes/_search-index.js.map +1 -1
- package/dist/schemes/exec-abort.js +2 -2
- package/dist/schemes/exec-abort.js.map +1 -1
- package/dist/schemes/exec-env.d.ts.map +1 -1
- package/dist/schemes/exec-env.js +7 -22
- package/dist/schemes/exec-env.js.map +1 -1
- package/dist/server/Daemon.d.ts +1 -0
- package/dist/server/Daemon.d.ts.map +1 -1
- package/dist/server/Daemon.js +45 -68
- package/dist/server/Daemon.js.map +1 -1
- package/dist/server/DrainSupervisor.d.ts +2 -3
- package/dist/server/DrainSupervisor.d.ts.map +1 -1
- package/dist/server/DrainSupervisor.js +34 -6
- package/dist/server/DrainSupervisor.js.map +1 -1
- package/dist/server/EnvFunctionality.d.ts +4 -2
- package/dist/server/EnvFunctionality.d.ts.map +1 -1
- package/dist/server/EnvFunctionality.js +23 -12
- package/dist/server/EnvFunctionality.js.map +1 -1
- package/dist/server/Functionality.d.ts.map +1 -1
- package/dist/server/Functionality.js +15 -8
- package/dist/server/Functionality.js.map +1 -1
- package/dist/server/FunctionalityManager.d.ts +1 -1
- package/dist/server/FunctionalityManager.d.ts.map +1 -1
- package/dist/server/FunctionalityManager.js +5 -1
- package/dist/server/FunctionalityManager.js.map +1 -1
- package/dist/server/MembersFunctionality.d.ts.map +1 -1
- package/dist/server/MembersFunctionality.js +12 -12
- package/dist/server/MembersFunctionality.js.map +1 -1
- package/dist/server/Retention.d.ts.map +1 -1
- package/dist/server/Retention.js +5 -5
- package/dist/server/Retention.js.map +1 -1
- package/dist/server/Retention.sql +49 -23
- package/dist/server/client-input.d.ts.map +1 -1
- package/dist/server/client-input.js +12 -3
- package/dist/server/client-input.js.map +1 -1
- package/dist/server/drain.sql +10 -9
- package/dist/server/lifecycle-recovery.sql +4 -1
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +9 -31
- package/dist/service.js.map +1 -1
- package/docs/copy-move.md +3 -0
- package/docs/env.md +32 -4
- package/docs/members.md +16 -1
- package/migrations/018_worker_owners.sql +1 -0
- package/migrations/019_interactive_owners.sql +1 -0
- package/migrations/020_log_projection.sql +1 -0
- package/migrations/021_packet_roles.sql +86 -0
- package/migrations/022_message_completion.sql +24 -0
- package/migrations/023_file_revisions.sql +54 -0
- package/migrations/024_proposal_decisions.sql +34 -0
- package/migrations/025_response_retention.sql +30 -0
- package/package.json +38 -34
- package/dist/schemes/_derivation-use.d.ts.map +0 -1
- package/dist/schemes/_derivation-use.js.map +0 -1
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
-- MIGRATE: 23 file revisions
|
|
2
|
+
-- Released in 3.2.0 and frozen ({§db-migrations}): a shape change is the next MIGRATE version, never an edit here.
|
|
3
|
+
-- {§file-snapshot-revision}: stat-only baselines cannot authorize content replacement.
|
|
4
|
+
-- Retain every projection; ordinary materialization supplies its complete revision.
|
|
5
|
+
UPDATE entries SET synced_sig = NULL WHERE scheme = 'file';
|
|
6
|
+
|
|
7
|
+
DROP TRIGGER entry_publication_insert;
|
|
8
|
+
DROP VIEW entry_publication;
|
|
9
|
+
|
|
10
|
+
CREATE VIEW entry_publication AS
|
|
11
|
+
SELECT NULL AS workspace_id, NULL AS scheme, NULL AS authority, NULL AS pathname,
|
|
12
|
+
NULL AS attributes, NULL AS default_channel, NULL AS output,
|
|
13
|
+
NULL AS channels, NULL AS created, NULL AS synced_sig
|
|
14
|
+
WHERE 0;
|
|
15
|
+
|
|
16
|
+
CREATE TRIGGER entry_publication_insert
|
|
17
|
+
INSTEAD OF INSERT ON entry_publication
|
|
18
|
+
BEGIN
|
|
19
|
+
SELECT CASE WHEN json_type(NEW.channels) IS NOT 'object'
|
|
20
|
+
THEN RAISE(ABORT, 'entry publication requires a channel object') END;
|
|
21
|
+
INSERT INTO entries (workspace_id, scheme, authority, pathname, attributes, default_channel, output, synced_sig)
|
|
22
|
+
VALUES (NEW.workspace_id, NEW.scheme, NEW.authority, NEW.pathname,
|
|
23
|
+
COALESCE(NEW.attributes, '{}'), NEW.default_channel, NEW.output, NEW.synced_sig)
|
|
24
|
+
ON CONFLICT (workspace_id, scheme, authority, pathname) DO UPDATE SET
|
|
25
|
+
attributes = COALESCE(NEW.attributes, entries.attributes),
|
|
26
|
+
default_channel = excluded.default_channel,
|
|
27
|
+
output = MAX(entries.output, excluded.output),
|
|
28
|
+
synced_sig = excluded.synced_sig;
|
|
29
|
+
DELETE FROM entry_channels WHERE entry_id = (
|
|
30
|
+
SELECT id FROM entries WHERE workspace_id = NEW.workspace_id
|
|
31
|
+
AND scheme = NEW.scheme AND authority = NEW.authority AND pathname = NEW.pathname
|
|
32
|
+
) AND name NOT IN (SELECT key FROM json_each(NEW.channels));
|
|
33
|
+
UPDATE entry_channels
|
|
34
|
+
SET content = json_extract(c.value, '$.content'),
|
|
35
|
+
mimetype = json_extract(c.value, '$.mimetype'),
|
|
36
|
+
weight = json_extract(c.value, '$.weight'),
|
|
37
|
+
content_hash = json_extract(c.value, '$.content_hash'),
|
|
38
|
+
state = json_extract(c.value, '$.state'),
|
|
39
|
+
producer_result = json_extract(c.value, '$.producer_result')
|
|
40
|
+
FROM (SELECT key, value FROM json_each(NEW.channels)) AS c
|
|
41
|
+
WHERE entry_channels.name = c.key
|
|
42
|
+
AND entry_channels.entry_id = (
|
|
43
|
+
SELECT id FROM entries WHERE workspace_id = NEW.workspace_id
|
|
44
|
+
AND scheme = NEW.scheme AND authority = NEW.authority AND pathname = NEW.pathname
|
|
45
|
+
);
|
|
46
|
+
INSERT INTO entry_channels (entry_id, name, content, mimetype, weight, content_hash, state, producer_result)
|
|
47
|
+
SELECT e.id, c.key, json_extract(c.value, '$.content'), json_extract(c.value, '$.mimetype'),
|
|
48
|
+
json_extract(c.value, '$.weight'), json_extract(c.value, '$.content_hash'),
|
|
49
|
+
json_extract(c.value, '$.state'), json_extract(c.value, '$.producer_result')
|
|
50
|
+
FROM entries e, json_each(NEW.channels) c
|
|
51
|
+
WHERE e.workspace_id = NEW.workspace_id AND e.scheme = NEW.scheme
|
|
52
|
+
AND e.authority = NEW.authority AND e.pathname = NEW.pathname
|
|
53
|
+
AND NOT EXISTS (SELECT 1 FROM entry_channel_rows r WHERE r.entry_id = e.id AND r.name = c.key);
|
|
54
|
+
END;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
-- MIGRATE: 24 proposal decisions
|
|
2
|
+
-- Released in 3.2.0 and frozen ({§db-migrations}): a shape change is the next MIGRATE version, never an edit here.
|
|
3
|
+
-- {§proposal-decision-evidence}: authority precedes effects; results cannot replace decisions.
|
|
4
|
+
CREATE TABLE proposal_decisions (
|
|
5
|
+
log_entry_id INTEGER PRIMARY KEY REFERENCES log_entries(id) ON DELETE CASCADE,
|
|
6
|
+
decision TEXT NOT NULL CHECK (decision IN ('accept', 'reject', 'cancel')),
|
|
7
|
+
resolver TEXT NOT NULL CHECK (length(resolver) > 0),
|
|
8
|
+
body TEXT,
|
|
9
|
+
outcome TEXT,
|
|
10
|
+
decided_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now'))
|
|
11
|
+
) STRICT;
|
|
12
|
+
|
|
13
|
+
CREATE TRIGGER proposal_decision_insert
|
|
14
|
+
BEFORE INSERT ON proposal_decisions
|
|
15
|
+
BEGIN
|
|
16
|
+
SELECT CASE WHEN NOT EXISTS (
|
|
17
|
+
SELECT 1 FROM log_entries le JOIN workers w ON w.id = le.worker_id
|
|
18
|
+
WHERE le.id = NEW.log_entry_id AND le.state = 'proposed'
|
|
19
|
+
AND (NEW.resolver = '_plurnk' OR NEW.resolver = w.owner)
|
|
20
|
+
) THEN RAISE(ABORT, 'proposal decision requires a pending operation and its resolving authority') END;
|
|
21
|
+
END;
|
|
22
|
+
|
|
23
|
+
CREATE TRIGGER proposal_decision_immutable
|
|
24
|
+
BEFORE UPDATE ON proposal_decisions
|
|
25
|
+
BEGIN
|
|
26
|
+
SELECT RAISE(ABORT, 'proposal decisions are immutable');
|
|
27
|
+
END;
|
|
28
|
+
|
|
29
|
+
CREATE TRIGGER proposal_decision_history_lifetime
|
|
30
|
+
BEFORE DELETE ON proposal_decisions
|
|
31
|
+
WHEN EXISTS (SELECT 1 FROM log_entries WHERE id = OLD.log_entry_id)
|
|
32
|
+
BEGIN
|
|
33
|
+
SELECT RAISE(ABORT, 'proposal decisions belong to operation history');
|
|
34
|
+
END;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
-- MIGRATE: 25 response retention
|
|
2
|
+
-- Released in 3.2.0 and frozen ({§db-migrations}): a shape change is the next MIGRATE version, never an edit here.
|
|
3
|
+
-- {§retention-policy}: one logical call owns retirement of all its captured payloads.
|
|
4
|
+
ALTER TABLE inference_calls ADD COLUMN payloads_retired_at TEXT;
|
|
5
|
+
|
|
6
|
+
CREATE TRIGGER inference_payload_retirement_insert
|
|
7
|
+
BEFORE INSERT ON inference_calls WHEN NEW.payloads_retired_at IS NOT NULL
|
|
8
|
+
BEGIN
|
|
9
|
+
SELECT RAISE(ABORT, 'inference payloads cannot open retired');
|
|
10
|
+
END;
|
|
11
|
+
|
|
12
|
+
CREATE TRIGGER inference_payload_retirement_once
|
|
13
|
+
BEFORE UPDATE OF payloads_retired_at ON inference_calls
|
|
14
|
+
WHEN OLD.payloads_retired_at IS NOT NULL OR NEW.payloads_retired_at IS NULL
|
|
15
|
+
OR NEW.state = 'pending'
|
|
16
|
+
OR NOT EXISTS (SELECT 1 FROM turns WHERE id = NEW.turn_id AND completed_at IS NOT NULL)
|
|
17
|
+
OR EXISTS (SELECT 1 FROM provider_requests WHERE inference_call_id = NEW.id AND state = 'pending')
|
|
18
|
+
BEGIN
|
|
19
|
+
SELECT RAISE(ABORT, 'inference payload retirement requires completed work and occurs once');
|
|
20
|
+
END;
|
|
21
|
+
|
|
22
|
+
CREATE TRIGGER provider_request_payload_immutable
|
|
23
|
+
BEFORE UPDATE OF evidence ON provider_requests
|
|
24
|
+
WHEN OLD.state <> 'pending' AND NOT (
|
|
25
|
+
OLD.evidence IS NOT NULL AND NEW.evidence IS NULL
|
|
26
|
+
AND EXISTS (SELECT 1 FROM inference_calls WHERE id = OLD.inference_call_id AND payloads_retired_at IS NOT NULL)
|
|
27
|
+
)
|
|
28
|
+
BEGIN
|
|
29
|
+
SELECT RAISE(ABORT, 'provider request payload is immutable except through retention');
|
|
30
|
+
END;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plurnk/plurnk-service",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.2.0",
|
|
4
4
|
"description": "Plurnk agent runtime — the server / engine / core. Implements the @plurnk/plurnk-contracts contract.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"plurnk",
|
|
@@ -67,7 +67,8 @@
|
|
|
67
67
|
"build:dist": "tsc -p tsconfig.build.json",
|
|
68
68
|
"build:sql": "node --conditions=plurnk-dev scripts/copy-sql.mjs",
|
|
69
69
|
"build:info": "node scripts/write-build-info.mjs",
|
|
70
|
-
"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",
|
|
71
72
|
"build:global:install": "npm run build && npm install -g .",
|
|
72
73
|
"build:global:uninstall": "npm uninstall -g @plurnk/plurnk-service",
|
|
73
74
|
"build:local:install": "node --conditions=plurnk-dev scripts/install-sandbox.mjs install",
|
|
@@ -77,36 +78,37 @@
|
|
|
77
78
|
"release:check": "npm run deps:audit && npm run test:installation",
|
|
78
79
|
"prepublishOnly": "npm run deps:audit && npm run test:installation",
|
|
79
80
|
"prepack": "npm run build",
|
|
80
|
-
"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"
|
|
81
83
|
},
|
|
82
84
|
"dependencies": {
|
|
83
85
|
"@opentelemetry/api": "^1.9.1",
|
|
84
|
-
"@opentelemetry/context-async-hooks": "^2.
|
|
85
|
-
"@opentelemetry/exporter-metrics-otlp-http": "^0.
|
|
86
|
-
"@opentelemetry/exporter-trace-otlp-http": "^0.
|
|
87
|
-
"@opentelemetry/resources": "^2.
|
|
88
|
-
"@opentelemetry/sdk-metrics": "^2.
|
|
89
|
-
"@opentelemetry/sdk-trace-base": "^2.
|
|
90
|
-
"@plurnk/plurnk-a2a": "3.
|
|
86
|
+
"@opentelemetry/context-async-hooks": "^2.12.0",
|
|
87
|
+
"@opentelemetry/exporter-metrics-otlp-http": "^0.223.0",
|
|
88
|
+
"@opentelemetry/exporter-trace-otlp-http": "^0.223.0",
|
|
89
|
+
"@opentelemetry/resources": "^2.12.0",
|
|
90
|
+
"@opentelemetry/sdk-metrics": "^2.12.0",
|
|
91
|
+
"@opentelemetry/sdk-trace-base": "^2.12.0",
|
|
92
|
+
"@plurnk/plurnk-a2a": "3.1.1",
|
|
91
93
|
"@plurnk/plurnk-agui": "3.0.0",
|
|
92
|
-
"@plurnk/plurnk-contracts": "3.0
|
|
93
|
-
"@plurnk/plurnk-parser": "3.0.
|
|
94
|
-
"@plurnk/plurnk-schedule": "3.0.
|
|
95
|
-
"@plurnk/plurnk-skills": "3.0.
|
|
96
|
-
"@plurnk/plurnk-execs": "3.
|
|
97
|
-
"@plurnk/plurnk-execs-common": "2.0.
|
|
98
|
-
"@plurnk/plurnk-execs-jq": "2.0.
|
|
99
|
-
"@plurnk/plurnk-execs-sqlite": "2.0.
|
|
94
|
+
"@plurnk/plurnk-contracts": "3.2.0",
|
|
95
|
+
"@plurnk/plurnk-parser": "3.0.3",
|
|
96
|
+
"@plurnk/plurnk-schedule": "3.0.1",
|
|
97
|
+
"@plurnk/plurnk-skills": "3.0.1",
|
|
98
|
+
"@plurnk/plurnk-execs": "3.1.1",
|
|
99
|
+
"@plurnk/plurnk-execs-common": "2.0.2",
|
|
100
|
+
"@plurnk/plurnk-execs-jq": "2.0.2",
|
|
101
|
+
"@plurnk/plurnk-execs-sqlite": "2.0.2",
|
|
100
102
|
"@plurnk/plurnk-hooks": "2.0.1",
|
|
101
|
-
"@plurnk/plurnk-mcp": "3.0.
|
|
102
|
-
"@plurnk/plurnk-meta": "2.
|
|
103
|
+
"@plurnk/plurnk-mcp": "3.0.1",
|
|
104
|
+
"@plurnk/plurnk-meta": "2.1.1",
|
|
103
105
|
"@plurnk/plurnk-agent-plugins": "2.0.0",
|
|
104
106
|
"@plurnk/plurnk-agent-skills": "2.0.1",
|
|
105
|
-
"@plurnk/plurnk-mimetypes": "3.0.
|
|
107
|
+
"@plurnk/plurnk-mimetypes": "3.0.2",
|
|
106
108
|
"@plurnk/plurnk-mimetypes-application-ipynb": "2.0.1",
|
|
107
109
|
"@plurnk/plurnk-mimetypes-application-json": "2.0.1",
|
|
108
110
|
"@plurnk/plurnk-mimetypes-application-jsonl": "2.0.1",
|
|
109
|
-
"@plurnk/plurnk-mimetypes-application-xml": "2.0.
|
|
111
|
+
"@plurnk/plurnk-mimetypes-application-xml": "2.0.2",
|
|
110
112
|
"@plurnk/plurnk-mimetypes-grammar-bash": "2.0.0",
|
|
111
113
|
"@plurnk/plurnk-mimetypes-grammar-c": "2.0.0",
|
|
112
114
|
"@plurnk/plurnk-mimetypes-grammar-cpp": "2.0.0",
|
|
@@ -135,29 +137,31 @@
|
|
|
135
137
|
"@plurnk/plurnk-mimetypes-grammar-zig": "2.0.0",
|
|
136
138
|
"@plurnk/plurnk-mimetypes-application-pdf": "2.0.1",
|
|
137
139
|
"@plurnk/plurnk-mimetypes-image": "2.0.1",
|
|
138
|
-
"@plurnk/plurnk-mimetypes-audio": "2.0.
|
|
140
|
+
"@plurnk/plurnk-mimetypes-audio": "2.0.2",
|
|
139
141
|
"@plurnk/plurnk-mimetypes-text-csv": "2.0.1",
|
|
140
142
|
"@plurnk/plurnk-mimetypes-text-diff": "2.0.1",
|
|
141
143
|
"@plurnk/plurnk-mimetypes-text-dotenv": "2.0.1",
|
|
142
|
-
"@plurnk/plurnk-mimetypes-text-html": "2.0.
|
|
144
|
+
"@plurnk/plurnk-mimetypes-text-html": "2.0.2",
|
|
143
145
|
"@plurnk/plurnk-mimetypes-text-ini": "2.0.1",
|
|
144
146
|
"@plurnk/plurnk-mimetypes-text-markdown": "2.0.1",
|
|
145
147
|
"@plurnk/plurnk-mimetypes-text-plain": "2.0.1",
|
|
146
|
-
"@plurnk/plurnk-models": "3.0.
|
|
147
|
-
"@plurnk/plurnk-modules": "3.
|
|
148
|
-
"@plurnk/plurnk-providers": "3.0.
|
|
149
|
-
"@plurnk/plurnk-schemes": "3.
|
|
148
|
+
"@plurnk/plurnk-models": "3.0.1",
|
|
149
|
+
"@plurnk/plurnk-modules": "3.1.0",
|
|
150
|
+
"@plurnk/plurnk-providers": "3.0.2",
|
|
151
|
+
"@plurnk/plurnk-schemes": "3.1.1",
|
|
150
152
|
"@plurnk/plurnk-schemes-http": "2.0.1",
|
|
151
|
-
"@possumtech/sqlrite": "^6.
|
|
153
|
+
"@possumtech/sqlrite": "^6.6.1",
|
|
152
154
|
"diff": "^9.0.0",
|
|
153
|
-
"
|
|
155
|
+
"glob": "^13.0.6",
|
|
156
|
+
"minimatch": "^10.2.6",
|
|
157
|
+
"@plurnk/plurnk-digest": "3.2.0"
|
|
154
158
|
},
|
|
155
159
|
"devDependencies": {
|
|
156
160
|
"@a2a-js/sdk": "1.3.0",
|
|
157
|
-
"@modelcontextprotocol/server": "2.
|
|
158
|
-
"@opentelemetry/core": "^2.
|
|
161
|
+
"@modelcontextprotocol/server": "2.3.1",
|
|
162
|
+
"@opentelemetry/core": "^2.12.0",
|
|
159
163
|
"marked": "^18.0.14",
|
|
160
|
-
"zod": "4.6.
|
|
164
|
+
"zod": "4.6.6"
|
|
161
165
|
},
|
|
162
166
|
"homepage": "https://github.com/plurnk/plurnk-service/tree/main/plurnk-core#readme",
|
|
163
167
|
"bugs": {
|
|
@@ -168,5 +172,5 @@
|
|
|
168
172
|
"url": "git+https://github.com/plurnk/plurnk-service.git",
|
|
169
173
|
"directory": "plurnk-core"
|
|
170
174
|
},
|
|
171
|
-
"gitHead": "
|
|
175
|
+
"gitHead": "f96502a26d62a6f87b22950a9e2006348ac8a6bc"
|
|
172
176
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_derivation-use.d.ts","sourceRoot":"","sources":["../../src/schemes/_derivation-use.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAMxC,MAAM,CAAC,OAAO,OAAO,aAAa;;IAY9B,OAAa,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAMjE;IAED,OAAa,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAU3E;CACJ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_derivation-use.js","sourceRoot":"","sources":["../../src/schemes/_derivation-use.ts"],"names":[],"mappings":"AAIA,+FAA+F;AAC/F,kGAAkG;AAClG,MAAM,CAAC,OAAO,OAAO,aAAa;IAC9B,MAAM,CAAU,UAAU,GAAG,IAAI,OAAO,EAAa,CAAC;IAEtD,MAAM,CAAC,MAAM,CAAC,EAAM;QAChB,IAAI,KAAK,GAAG,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,KAAK,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;YACzC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAAI,CAAI,EAAM,EAAE,MAAwB;QACjD,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACvC,OAAO,KAAK,CAAC,UAAU,KAAK,IAAI;YAAE,MAAM,KAAK,CAAC,UAAU,CAAC;QACzD,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,IAAI,CAAC;YAAC,OAAO,MAAM,MAAM,EAAE,CAAC;QAAC,CAAC;gBACtB,CAAC;YAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAAC,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAO,CAAI,EAAM,EAAE,MAAwB;QACpD,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACvC,IAAI,KAAK,CAAC,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAChE,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,EAAQ,CAAC;QAC9C,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;QACnC,IAAI,CAAC;YAAC,OAAO,MAAM,MAAM,EAAE,CAAC;QAAC,CAAC;gBACtB,CAAC;YACL,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;YACxB,OAAO,CAAC,OAAO,EAAE,CAAC;QACtB,CAAC;IACL,CAAC;CACJ"}
|