@plurnk/plurnk-service 0.2.0 → 0.3.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/SPEC.md +67 -90
- package/dist/core/Engine.d.ts +1 -1
- package/dist/core/Engine.d.ts.map +1 -1
- package/dist/core/Engine.js +172 -82
- package/dist/core/Engine.js.map +1 -1
- package/dist/core/ProviderRegistry.d.ts +1 -1
- package/dist/core/ProviderRegistry.d.ts.map +1 -1
- package/dist/core/ProviderRegistry.js.map +1 -1
- package/dist/core/packet-wire.js +94 -29
- package/dist/core/packet-wire.js.map +1 -1
- package/dist/providers/Mock.d.ts +2 -2
- package/dist/providers/Mock.d.ts.map +1 -1
- package/dist/providers/Mock.js.map +1 -1
- package/dist/schemes/File.d.ts +4 -4
- package/dist/schemes/File.d.ts.map +1 -1
- package/dist/schemes/File.js +79 -47
- package/dist/schemes/File.js.map +1 -1
- package/dist/schemes/Known.js +1 -1
- package/dist/schemes/Known.js.map +1 -1
- package/dist/schemes/Log.d.ts +7 -1
- package/dist/schemes/Log.d.ts.map +1 -1
- package/dist/schemes/Log.js +41 -9
- package/dist/schemes/Log.js.map +1 -1
- package/dist/schemes/Plurnk.d.ts +15 -1
- package/dist/schemes/Plurnk.d.ts.map +1 -1
- package/dist/schemes/Plurnk.js +50 -8
- package/dist/schemes/Plurnk.js.map +1 -1
- package/dist/schemes/Skill.js +1 -1
- package/dist/schemes/Skill.js.map +1 -1
- package/dist/schemes/Unknown.js +1 -1
- package/dist/schemes/Unknown.js.map +1 -1
- package/dist/schemes/_entry-crud.d.ts +3 -3
- package/dist/schemes/_entry-crud.d.ts.map +1 -1
- package/dist/schemes/_entry-crud.js.map +1 -1
- package/dist/schemes/_entry-ops.d.ts.map +1 -1
- package/dist/schemes/_entry-ops.js +2 -18
- package/dist/schemes/_entry-ops.js.map +1 -1
- package/dist/server/ClientConnection.d.ts.map +1 -1
- package/dist/server/ClientConnection.js +6 -1
- package/dist/server/ClientConnection.js.map +1 -1
- package/dist/server/envelope.d.ts +2 -1
- package/dist/server/envelope.d.ts.map +1 -1
- package/dist/server/envelope.js +11 -8
- package/dist/server/envelope.js.map +1 -1
- package/dist/server/logEntry.d.ts +9 -9
- package/dist/server/logEntry.d.ts.map +1 -1
- package/dist/server/logEntry.js +10 -10
- package/dist/server/logEntry.js.map +1 -1
- package/dist/server/methods/_dispatchAsClient.d.ts.map +1 -1
- package/dist/server/methods/_dispatchAsClient.js +7 -2
- package/dist/server/methods/_dispatchAsClient.js.map +1 -1
- package/dist/server/methods/loop_run.d.ts.map +1 -1
- package/dist/server/methods/loop_run.js +7 -2
- package/dist/server/methods/loop_run.js.map +1 -1
- package/migrations/001_schema.sql +324 -0
- package/package.json +18 -12
- package/migrations/001_sessions.sql +0 -11
- package/migrations/002_runs.sql +0 -16
- package/migrations/003_loops.sql +0 -12
- package/migrations/004_turns.sql +0 -18
- package/migrations/005_entries.sql +0 -44
- package/migrations/006_log_entries.sql +0 -51
- package/migrations/007_visibility.sql +0 -10
- package/migrations/008_schemes_providers.sql +0 -25
- package/migrations/009_cost_rollups.sql +0 -44
- package/migrations/010_subscriptions.sql +0 -36
- package/migrations/011_turn_call_metadata.sql +0 -7
- package/migrations/012_proposal_lifecycle.sql +0 -22
- package/migrations/013_log_entries_lifecycle_columns.sql +0 -22
- package/migrations/014_loop_flags.sql +0 -9
- package/migrations/015_sessions_project_root.sql +0 -6
- package/migrations/016_persona_columns.sql +0 -11
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
-- INIT: turn_call_metadata
|
|
2
|
-
-- Adds Turn-level call metadata fields per plurnk-grammar 0.6.0 Turn.json:
|
|
3
|
-
-- finish_reason and model are properties of the provider call, not the
|
|
4
|
-
-- model's emission payload. They belong on the Turn row alongside usage,
|
|
5
|
-
-- not nested into packet.assistant (which is "what the model said").
|
|
6
|
-
ALTER TABLE turns ADD COLUMN finish_reason TEXT;
|
|
7
|
-
ALTER TABLE turns ADD COLUMN model TEXT NOT NULL DEFAULT 'unknown' CHECK (length(model) >= 1);
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
-- INIT: proposal_lifecycle
|
|
2
|
-
-- log_entries gets the state⊥status lifecycle dimension. Status is the HTTP-
|
|
3
|
-
-- aligned outcome (200, 202, 400, etc.); state is where in the lifecycle the
|
|
4
|
-
-- entry lives. Most rows are 'resolved' immediately (status 200/4xx written
|
|
5
|
-
-- in one shot); side-effecting actions that propose first transition through
|
|
6
|
-
-- 'proposed' → 'resolved' (accepted) or 'proposed' → 'failed' (rejected) or
|
|
7
|
-
-- 'proposed' → 'cancelled' (loop aborted, timeout). Per rummy SPEC.
|
|
8
|
-
--
|
|
9
|
-
-- outcome is a short reason string when state ∈ {failed, cancelled}.
|
|
10
|
-
-- Opaque to most callers; a few plugins parse it (timeout, rejected,
|
|
11
|
-
-- loop_aborted, policy_veto, etc).
|
|
12
|
-
--
|
|
13
|
-
-- attrs is the proposal payload — opaque JSON the scheme supplies when
|
|
14
|
-
-- emitting status 202, retrieved by the client to render review UI, and
|
|
15
|
-
-- handed back to the scheme's applyResolution() on accept. File scheme uses
|
|
16
|
-
-- it for {path, patch_full, patched_full}; exec scheme uses {command, args,
|
|
17
|
-
-- cwd}; etc. Engine doesn't interpret the contents.
|
|
18
|
-
ALTER TABLE log_entries ADD COLUMN state TEXT NOT NULL DEFAULT 'resolved'
|
|
19
|
-
CHECK (state IN ('proposed', 'resolved', 'failed', 'cancelled'));
|
|
20
|
-
ALTER TABLE log_entries ADD COLUMN outcome TEXT;
|
|
21
|
-
ALTER TABLE log_entries ADD COLUMN attrs TEXT NOT NULL DEFAULT '{}'
|
|
22
|
-
CHECK (json_valid(attrs));
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
-- INIT: log_entries_lifecycle_columns
|
|
2
|
-
-- log_entries was append-only via the original log_entries_immutable trigger
|
|
3
|
-
-- (migration 006). The proposal lifecycle (task #42) needs to mutate state,
|
|
4
|
-
-- outcome, status_rx, and rx when a proposal resolves from 'proposed' to
|
|
5
|
-
-- 'resolved' / 'failed' / 'cancelled'. The other columns stay immutable
|
|
6
|
-
-- (audit invariant: the original action's identity and target never change).
|
|
7
|
-
--
|
|
8
|
-
-- Replaces the single blanket UPDATE trigger with a column-scoped one that
|
|
9
|
-
-- only fires when genuinely-immutable fields are touched.
|
|
10
|
-
DROP TRIGGER IF EXISTS log_entries_immutable;
|
|
11
|
-
|
|
12
|
-
CREATE TRIGGER log_entries_immutable_core
|
|
13
|
-
BEFORE UPDATE OF
|
|
14
|
-
run_id, loop_id, turn_id, action_index, at, origin,
|
|
15
|
-
op, suffix, signal,
|
|
16
|
-
target_scheme, target_username, target_password, target_hostname,
|
|
17
|
-
target_port, target_pathname, target_params, target_fragment,
|
|
18
|
-
lineMarker, tx, mimetype_tx, mimetype_rx, attrs
|
|
19
|
-
ON log_entries
|
|
20
|
-
BEGIN
|
|
21
|
-
SELECT RAISE(ABORT, 'log_entries core fields are immutable; only state/outcome/status_rx/rx may change (proposal lifecycle)');
|
|
22
|
-
END;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
-- INIT: loop_flags
|
|
2
|
-
-- Persists per-loop flags (mode, yolo, noWeb, noInteraction, noProposals)
|
|
3
|
-
-- declared in src/core/scheme-types.ts. Per-loop scope matches task #43's
|
|
4
|
-
-- design; runs may scope this longer in a future iteration.
|
|
5
|
-
--
|
|
6
|
-
-- Defaults to '{}' so existing loops read as all-false via the merge with
|
|
7
|
-
-- DEFAULT_LOOP_FLAGS in application code.
|
|
8
|
-
ALTER TABLE loops ADD COLUMN flags TEXT NOT NULL DEFAULT '{}'
|
|
9
|
-
CHECK (json_valid(flags));
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
-- INIT: sessions_project_root
|
|
2
|
-
-- Adds the workspace pointer column to sessions per AGENTS.md §Phase F.1.
|
|
3
|
-
-- Nullable: NULL = headless (engine runs entries-only, no disk side-effects);
|
|
4
|
-
-- non-null = absolute path to the client's source tree, supplied at
|
|
5
|
-
-- session.create or session.set_root. Server never guesses.
|
|
6
|
-
ALTER TABLE sessions ADD COLUMN project_root TEXT;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
-- INIT: persona_columns
|
|
2
|
-
-- Three-level persona cascade (issue #150). packet.system.persona is
|
|
3
|
-
-- resolved at packet-build time by taking the first non-null value of:
|
|
4
|
-
-- loops.persona > runs.persona > sessions.persona > PATHS.defaultPersona
|
|
5
|
-
--
|
|
6
|
-
-- Nullable everywhere; null means "fall through to the next level." The
|
|
7
|
-
-- file-based default catches the case where no level was set via RPC.
|
|
8
|
-
-- Persona content is text/markdown per @plurnk/plurnk-grammar Packet.json.
|
|
9
|
-
ALTER TABLE sessions ADD COLUMN persona TEXT;
|
|
10
|
-
ALTER TABLE runs ADD COLUMN persona TEXT;
|
|
11
|
-
ALTER TABLE loops ADD COLUMN persona TEXT;
|