@plurnk/plurnk-service 1.0.4 → 1.0.6
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 +55 -31
- package/INSTALL.md +3 -3
- package/README.md +4 -4
- package/SPEC.md +205 -193
- package/dist/Paths.js +1 -1
- package/dist/Paths.js.map +1 -1
- package/dist/core/ChannelWrite.d.ts +18 -18
- package/dist/core/ChannelWrite.d.ts.map +1 -1
- package/dist/core/ChannelWrite.js +17 -17
- package/dist/core/ChannelWrite.js.map +1 -1
- package/dist/core/ChannelWrite.sql +11 -11
- package/dist/core/Dispatcher.d.ts +11 -16
- package/dist/core/Dispatcher.d.ts.map +1 -1
- package/dist/core/Dispatcher.js +122 -125
- package/dist/core/Dispatcher.js.map +1 -1
- package/dist/core/Engine.d.ts +20 -23
- package/dist/core/Engine.d.ts.map +1 -1
- package/dist/core/Engine.js +213 -210
- package/dist/core/Engine.js.map +1 -1
- package/dist/core/Engine.sql +108 -130
- package/dist/core/PacketBuilder.d.ts +10 -11
- package/dist/core/PacketBuilder.d.ts.map +1 -1
- package/dist/core/PacketBuilder.js +204 -128
- package/dist/core/PacketBuilder.js.map +1 -1
- package/dist/core/ProposalLifecycle.d.ts +8 -8
- package/dist/core/ProposalLifecycle.d.ts.map +1 -1
- package/dist/core/ProposalLifecycle.js +10 -10
- package/dist/core/ProposalLifecycle.js.map +1 -1
- package/dist/core/ProviderInstantiate.d.ts +1 -0
- package/dist/core/ProviderInstantiate.d.ts.map +1 -1
- package/dist/core/ProviderInstantiate.js +9 -3
- package/dist/core/ProviderInstantiate.js.map +1 -1
- package/dist/core/SchemeRegistry.d.ts +4 -1
- package/dist/core/SchemeRegistry.d.ts.map +1 -1
- package/dist/core/SchemeRegistry.js +18 -9
- package/dist/core/SchemeRegistry.js.map +1 -1
- package/dist/core/TelemetryChannel.d.ts +5 -5
- package/dist/core/TelemetryChannel.d.ts.map +1 -1
- package/dist/core/TelemetryChannel.js +9 -9
- package/dist/core/TelemetryChannel.js.map +1 -1
- package/dist/core/caps/CapsResolve.js +2 -2
- package/dist/core/caps/CapsResolve.js.map +1 -1
- package/dist/core/caps/DbNotifyCaps.js +2 -2
- package/dist/core/caps/DbNotifyCaps.js.map +1 -1
- package/dist/core/caps/DbSubscriptionCaps.js +7 -7
- package/dist/core/caps/DbSubscriptionCaps.js.map +1 -1
- package/dist/core/caps/SchemeCtxImpl.d.ts +2 -2
- package/dist/core/caps/SchemeCtxImpl.d.ts.map +1 -1
- package/dist/core/caps/SchemeCtxImpl.js +4 -4
- package/dist/core/caps/SchemeCtxImpl.js.map +1 -1
- package/dist/core/content-hash.d.ts +2 -0
- package/dist/core/content-hash.d.ts.map +1 -0
- package/dist/core/content-hash.js +6 -0
- package/dist/core/content-hash.js.map +1 -0
- package/dist/core/fork.d.ts +1 -1
- package/dist/core/fork.d.ts.map +1 -1
- package/dist/core/fork.js +31 -26
- package/dist/core/fork.js.map +1 -1
- package/dist/core/fork.sql +41 -32
- package/dist/core/git-env.d.ts.map +1 -1
- package/dist/core/git-env.js +23 -7
- package/dist/core/git-env.js.map +1 -1
- package/dist/core/git-iso.d.ts +9 -0
- package/dist/core/git-iso.d.ts.map +1 -0
- package/dist/core/git-iso.js +227 -0
- package/dist/core/git-iso.js.map +1 -0
- package/dist/core/git-membership.d.ts +2 -2
- package/dist/core/git-membership.d.ts.map +1 -1
- package/dist/core/git-membership.js +70 -50
- package/dist/core/git-membership.js.map +1 -1
- package/dist/core/git-state.d.ts +1 -1
- package/dist/core/git-state.d.ts.map +1 -1
- package/dist/core/git-state.js +21 -11
- package/dist/core/git-state.js.map +1 -1
- package/dist/core/packet-wire.d.ts.map +1 -1
- package/dist/core/packet-wire.js +81 -22
- package/dist/core/packet-wire.js.map +1 -1
- package/dist/core/plurnk-uri.d.ts +2 -2
- package/dist/core/plurnk-uri.d.ts.map +1 -1
- package/dist/core/plurnk-uri.js +19 -12
- package/dist/core/plurnk-uri.js.map +1 -1
- package/dist/core/run-ops.sql +26 -26
- package/dist/core/scheme-types.d.ts +6 -11
- package/dist/core/scheme-types.d.ts.map +1 -1
- package/dist/core/search-gate.js +0 -0
- package/dist/core/search-gate.js.map +1 -1
- package/dist/core/token-ruler.d.ts +2 -0
- package/dist/core/token-ruler.d.ts.map +1 -0
- package/dist/core/token-ruler.js +18 -0
- package/dist/core/token-ruler.js.map +1 -0
- package/dist/core/worker-cap.d.ts +8 -0
- package/dist/core/worker-cap.d.ts.map +1 -0
- package/dist/core/worker-cap.js +20 -0
- package/dist/core/worker-cap.js.map +1 -0
- package/dist/core/{session-settings.d.ts → workspace-settings.d.ts} +5 -5
- package/dist/core/workspace-settings.d.ts.map +1 -0
- package/dist/core/{session-settings.js → workspace-settings.js} +13 -13
- package/dist/core/workspace-settings.js.map +1 -0
- package/dist/digest/Digest.d.ts +3 -3
- package/dist/digest/Digest.d.ts.map +1 -1
- package/dist/digest/Digest.js +79 -73
- package/dist/digest/Digest.js.map +1 -1
- package/dist/digest/digest.sql +18 -18
- package/dist/schemes/Exec.d.ts +9 -2
- package/dist/schemes/Exec.d.ts.map +1 -1
- package/dist/schemes/Exec.js +121 -68
- package/dist/schemes/Exec.js.map +1 -1
- package/dist/schemes/ExecOutputScheme.js +3 -3
- package/dist/schemes/ExecOutputScheme.js.map +1 -1
- package/dist/schemes/File.js +23 -23
- package/dist/schemes/File.js.map +1 -1
- package/dist/schemes/Known.js +5 -5
- package/dist/schemes/Known.js.map +1 -1
- package/dist/schemes/Log.d.ts.map +1 -1
- package/dist/schemes/Log.js +63 -14
- package/dist/schemes/Log.js.map +1 -1
- package/dist/schemes/Log.sql +49 -8
- package/dist/schemes/Plurnk.js +5 -5
- package/dist/schemes/Plurnk.js.map +1 -1
- package/dist/schemes/Skill.js +5 -5
- package/dist/schemes/Skill.js.map +1 -1
- package/dist/schemes/Unknown.js +5 -5
- package/dist/schemes/Unknown.js.map +1 -1
- package/dist/schemes/{Run.d.ts → Worker.d.ts} +2 -2
- package/dist/schemes/Worker.d.ts.map +1 -0
- package/dist/schemes/{Run.js → Worker.js} +67 -67
- package/dist/schemes/Worker.js.map +1 -0
- package/dist/schemes/_entry-crud.js +11 -11
- package/dist/schemes/_entry-crud.js.map +1 -1
- package/dist/schemes/_entry-crud.sql +29 -29
- 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-find.sql +9 -9
- package/dist/schemes/_entry-graph.d.ts +2 -2
- package/dist/schemes/_entry-graph.d.ts.map +1 -1
- package/dist/schemes/_entry-graph.js +18 -18
- package/dist/schemes/_entry-graph.js.map +1 -1
- package/dist/schemes/_entry-graph.sql +8 -8
- package/dist/schemes/_entry-manifest.d.ts +1 -1
- package/dist/schemes/_entry-manifest.d.ts.map +1 -1
- package/dist/schemes/_entry-manifest.js +74 -50
- package/dist/schemes/_entry-manifest.js.map +1 -1
- package/dist/schemes/_entry-ops.d.ts +4 -4
- package/dist/schemes/_entry-ops.d.ts.map +1 -1
- package/dist/schemes/_entry-ops.js +25 -25
- package/dist/schemes/_entry-ops.js.map +1 -1
- package/dist/schemes/_entry-ops.sql +9 -9
- package/dist/schemes/_entry-semantic.d.ts +2 -1
- package/dist/schemes/_entry-semantic.d.ts.map +1 -1
- package/dist/schemes/_entry-semantic.js +23 -4
- package/dist/schemes/_entry-semantic.js.map +1 -1
- package/dist/schemes/_entry-semantic.sql +18 -4
- package/dist/schemes/_entry-send.d.ts +1 -1
- package/dist/schemes/_entry-send.d.ts.map +1 -1
- package/dist/schemes/_entry-send.js +6 -6
- package/dist/schemes/_entry-send.js.map +1 -1
- package/dist/schemes/exec-abort.js +1 -1
- package/dist/schemes/exec-abort.js.map +1 -1
- package/dist/server/Daemon.d.ts +50 -48
- package/dist/server/Daemon.d.ts.map +1 -1
- package/dist/server/Daemon.js +307 -297
- package/dist/server/Daemon.js.map +1 -1
- package/dist/server/client-input.js +20 -20
- package/dist/server/client-input.js.map +1 -1
- package/dist/server/dispatch-as-plurnk.d.ts +1 -1
- package/dist/server/dispatch-as-plurnk.d.ts.map +1 -1
- package/dist/server/dispatch-as-plurnk.js +7 -7
- package/dist/server/dispatch-as-plurnk.js.map +1 -1
- package/dist/server/drain.sql +27 -27
- package/dist/server/envelope.d.ts +20 -20
- package/dist/server/envelope.d.ts.map +1 -1
- package/dist/server/envelope.js +86 -86
- package/dist/server/envelope.js.map +1 -1
- package/dist/server/envelope.sql +39 -39
- package/dist/server/logEntry.d.ts +1 -1
- package/dist/server/logEntry.d.ts.map +1 -1
- package/dist/server/logEntry.js +1 -1
- package/dist/server/logEntry.js.map +1 -1
- package/dist/server/loop-model.d.ts +3 -0
- package/dist/server/loop-model.d.ts.map +1 -0
- package/dist/server/loop-model.js +26 -0
- package/dist/server/loop-model.js.map +1 -0
- package/dist/server/loopDocs.d.ts +1 -1
- package/dist/server/loopDocs.d.ts.map +1 -1
- package/dist/server/loopDocs.js +6 -6
- package/dist/server/loopDocs.js.map +1 -1
- package/dist/server/seam-entry-read.sql +2 -2
- package/dist/server/seam-log-read.sql +3 -3
- package/dist/server/seam-loop.sql +3 -3
- package/dist/server/seam-proposal-list.sql +4 -4
- package/dist/server/yolo.js +2 -2
- package/dist/server/yolo.js.map +1 -1
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +21 -6
- package/dist/service.js.map +1 -1
- package/migrations/0000-00-00.01_schema.sql +84 -85
- package/package.json +17 -14
- package/dist/core/TokenGauge.d.ts +0 -16
- package/dist/core/TokenGauge.d.ts.map +0 -1
- package/dist/core/TokenGauge.js +0 -58
- package/dist/core/TokenGauge.js.map +0 -1
- package/dist/core/run-cap.d.ts +0 -8
- package/dist/core/run-cap.d.ts.map +0 -1
- package/dist/core/run-cap.js +0 -20
- package/dist/core/run-cap.js.map +0 -1
- package/dist/core/search-prefetch.d.ts +0 -17
- package/dist/core/search-prefetch.d.ts.map +0 -1
- package/dist/core/search-prefetch.js +0 -164
- package/dist/core/search-prefetch.js.map +0 -1
- package/dist/core/session-settings.d.ts.map +0 -1
- package/dist/core/session-settings.js.map +0 -1
- package/dist/schemes/Run.d.ts.map +0 -1
- package/dist/schemes/Run.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Digest.js","sourceRoot":"","sources":["../../src/digest/Digest.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Digest.js","sourceRoot":"","sources":["../../src/digest/Digest.ts"],"names":[],"mappings":"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"}
|
package/dist/digest/digest.sql
CHANGED
|
@@ -1,38 +1,38 @@
|
|
|
1
1
|
-- Forensic read queries for bin/digest.ts. Opened via SqlRiteSync against an
|
|
2
2
|
-- existing plurnk*.db the daemon already migrated — NO `-- INIT:` blocks, these
|
|
3
3
|
-- compile against its schema and never alter it. The digest reads a quiescent
|
|
4
|
-
-- DB (a kept test .db or a post-
|
|
4
|
+
-- DB (a kept test .db or a post-workspace plurnk.db), so each PREP is its own read
|
|
5
5
|
-- — sqlrite 5 dropped the JS transaction composer and these never needed it.
|
|
6
6
|
|
|
7
|
-
-- PREP:
|
|
8
|
-
SELECT * FROM
|
|
7
|
+
-- PREP: digest_workspaces
|
|
8
|
+
SELECT * FROM workspaces ORDER BY id;
|
|
9
9
|
|
|
10
|
-
-- PREP:
|
|
11
|
-
SELECT * FROM
|
|
10
|
+
-- PREP: digest_workers
|
|
11
|
+
SELECT * FROM workers ORDER BY id;
|
|
12
12
|
|
|
13
13
|
-- PREP: digest_loops
|
|
14
|
-
SELECT id,
|
|
15
|
-
FROM loops ORDER BY
|
|
14
|
+
SELECT id, worker_id, sequence, status, prompt, flags
|
|
15
|
+
FROM loops ORDER BY worker_id, sequence;
|
|
16
16
|
|
|
17
17
|
-- PREP: digest_turns
|
|
18
18
|
SELECT id, loop_id, sequence, status, packet,
|
|
19
19
|
usage_prompt, usage_completion, usage_cached, usage_cost_pico,
|
|
20
|
-
finish_reason, model, timestamp
|
|
20
|
+
finish_reason, model, meta, timestamp
|
|
21
21
|
FROM turns ORDER BY loop_id, sequence;
|
|
22
22
|
|
|
23
23
|
-- PREP: digest_log_entries
|
|
24
|
-
SELECT id,
|
|
24
|
+
SELECT id, worker_id, loop_id, turn_id, sequence, at, origin,
|
|
25
25
|
op, suffix, signal,
|
|
26
26
|
scheme, pathname,
|
|
27
27
|
tx, rx, status_rx, mimetype_rx,
|
|
28
28
|
state, outcome, attrs
|
|
29
29
|
FROM log_entries ORDER BY loop_id, turn_id, sequence;
|
|
30
30
|
|
|
31
|
-
-- PREP:
|
|
31
|
+
-- PREP: digest_worker_rollups
|
|
32
32
|
-- Per-run aggregates (token/cost SUMs, loop/turn COUNTs, last-turn status) —
|
|
33
33
|
-- the run-summary data-ops, computed in SQL rather than rolled up in JS.
|
|
34
34
|
SELECT
|
|
35
|
-
r.id AS
|
|
35
|
+
r.id AS worker_id,
|
|
36
36
|
COUNT(DISTINCT l.id) AS loops,
|
|
37
37
|
COUNT(t.id) AS turns,
|
|
38
38
|
COALESCE(SUM(t.usage_prompt), 0) AS total_prompt,
|
|
@@ -40,16 +40,16 @@ SELECT
|
|
|
40
40
|
COALESCE(SUM(t.usage_cached), 0) AS total_cached,
|
|
41
41
|
COALESCE(SUM(t.usage_cost_pico), 0) AS total_cost_pico,
|
|
42
42
|
(SELECT t2.status FROM turns t2 JOIN loops l2 ON t2.loop_id = l2.id
|
|
43
|
-
WHERE l2.
|
|
44
|
-
FROM
|
|
45
|
-
LEFT JOIN loops l ON l.
|
|
43
|
+
WHERE l2.worker_id = r.id ORDER BY l2.sequence DESC, t2.sequence DESC LIMIT 1) AS last_status
|
|
44
|
+
FROM workers r
|
|
45
|
+
LEFT JOIN loops l ON l.worker_id = r.id
|
|
46
46
|
LEFT JOIN turns t ON t.loop_id = l.id
|
|
47
47
|
GROUP BY r.id
|
|
48
48
|
ORDER BY r.id;
|
|
49
49
|
|
|
50
|
-
-- PREP:
|
|
50
|
+
-- PREP: digest_worker_op_mix
|
|
51
51
|
-- Per-run op histogram (GROUP BY run, op), pre-sorted by frequency.
|
|
52
|
-
SELECT
|
|
52
|
+
SELECT worker_id, op, COUNT(*) AS n
|
|
53
53
|
FROM log_entries
|
|
54
|
-
GROUP BY
|
|
55
|
-
ORDER BY
|
|
54
|
+
GROUP BY worker_id, op
|
|
55
|
+
ORDER BY worker_id, n DESC, op;
|
package/dist/schemes/Exec.d.ts
CHANGED
|
@@ -9,12 +9,19 @@ type ExecResult = {
|
|
|
9
9
|
attrs?: object;
|
|
10
10
|
error?: string;
|
|
11
11
|
};
|
|
12
|
+
export type WebFetch = (url: string, opts?: {
|
|
13
|
+
signal?: AbortSignal;
|
|
14
|
+
}) => Promise<{
|
|
15
|
+
body: string;
|
|
16
|
+
mimetype: string;
|
|
17
|
+
} | null>;
|
|
12
18
|
export default class Exec {
|
|
13
19
|
#private;
|
|
14
20
|
static manifest: SchemeManifest;
|
|
21
|
+
constructor(fetchWeb?: WebFetch);
|
|
15
22
|
idle(): Promise<void>;
|
|
16
|
-
hasActiveSpawns(
|
|
17
|
-
hasActiveHoldSpawns(
|
|
23
|
+
hasActiveSpawns(workerId: number): boolean;
|
|
24
|
+
hasActiveHoldSpawns(workerId: number, holdSet: ReadonlySet<string>): boolean;
|
|
18
25
|
kill(pathname: string, signal: number | null, ctx: PlurnkSchemeContext): Promise<{
|
|
19
26
|
status: number;
|
|
20
27
|
error?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Exec.d.ts","sourceRoot":"","sources":["../../src/schemes/Exec.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAkB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"Exec.d.ts","sourceRoot":"","sources":["../../src/schemes/Exec.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAkB,MAAM,wBAAwB,CAAC;AAO1G,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAKnF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACxG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AASnD,KAAK,UAAU,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAyDpF,MAAM,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,KAAK,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAAC;AAE5H,MAAM,CAAC,OAAO,OAAO,IAAI;;IACrB,MAAM,CAAC,QAAQ,EAAE,cAAc,CAc7B;IAMF,YAAY,QAAQ,CAAC,EAAE,QAAQ,EAG9B;IAKK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAE1B;IAMD,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAGzC;IAMD,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,OAAO,CAG3E;IASK,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAYzH;IAQD,iBAAiB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAE9C;IAUK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CA6FlF;IAEK,eAAe,CACjB,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,EACtC,GAAG,EAAE,mBAAmB,GACzB,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAoG9D;IAqMK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CAElF;IAEK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CAElF;IAEK,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC,CAEpF;IAEK,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAExG;IAEK,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAExF;CACJ"}
|
package/dist/schemes/Exec.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { parsePath } from "@plurnk/plurnk-grammar";
|
|
2
2
|
import { Policy } from "@plurnk/plurnk-execs";
|
|
3
|
-
import
|
|
3
|
+
import { WebFetcher } from "@plurnk/plurnk-schemes-http";
|
|
4
|
+
import WorkspaceSettings from "../core/workspace-settings.js";
|
|
4
5
|
import EffectPolicy from "./EffectPolicy.js";
|
|
5
6
|
import EntryOps from "./_entry-ops.js";
|
|
6
7
|
import EntryCrud from "./_entry-crud.js";
|
|
@@ -9,16 +10,16 @@ import EntryFind from "./_entry-find.js";
|
|
|
9
10
|
import ChannelWrite from "../core/ChannelWrite.js";
|
|
10
11
|
import ExecEnv from "./exec-env.js";
|
|
11
12
|
import ExecAbort from "./exec-abort.js";
|
|
12
|
-
import { writeFile, unlink } from "node:fs/promises";
|
|
13
|
+
import { writeFile, unlink, stat } from "node:fs/promises";
|
|
13
14
|
import { tmpdir } from "node:os";
|
|
14
|
-
import { join } from "node:path";
|
|
15
|
+
import { join, resolve } from "node:path";
|
|
15
16
|
// Executors are discovered + probed at boot into ExecutorRegistry and reach
|
|
16
17
|
// the scheme through ctx.executors (plurnk-service#181). Each runtime tag
|
|
17
18
|
// resolves to its sibling executor; the scheme itself stays runtime-agnostic.
|
|
18
|
-
//
|
|
19
|
-
//
|
|
20
|
-
//
|
|
21
|
-
const
|
|
19
|
+
// The local path a subprocess EXEC's `(target)` slot names — a bare local path or a file:/// URL (both
|
|
20
|
+
// decode to a filesystem path). Stat-routed at dispatch (#462): a directory becomes cwd, a file is the
|
|
21
|
+
// program/data-source. A plurnk-scheme target is NOT local — schemeTargetOf handles that.
|
|
22
|
+
const localPathFromTarget = (target) => {
|
|
22
23
|
if (target === null)
|
|
23
24
|
return null;
|
|
24
25
|
if (target.kind === "local")
|
|
@@ -29,7 +30,7 @@ const cwdFromTarget = (target) => {
|
|
|
29
30
|
return null;
|
|
30
31
|
};
|
|
31
32
|
// #201 — a plurnk-scheme target (known/exec/log/…), distinct from file/local
|
|
32
|
-
// (which
|
|
33
|
+
// (which localPathFromTarget handles as a path). Its content is resolved at apply-time;
|
|
33
34
|
// executors stay scheme-blind (SPEC §5), so the scheme — not the executor — reads it.
|
|
34
35
|
const schemeTargetOf = (target) => {
|
|
35
36
|
if (target === null || target.kind !== "url")
|
|
@@ -59,38 +60,46 @@ export default class Exec {
|
|
|
59
60
|
channels: { stdout: "text/stream", stderr: "text/stream" },
|
|
60
61
|
defaultChannel: "stdout",
|
|
61
62
|
category: "data",
|
|
62
|
-
scope: "
|
|
63
|
+
scope: "workspace",
|
|
63
64
|
writableBy: ["model", "client"],
|
|
64
65
|
volatile: true,
|
|
65
66
|
modelVisible: true,
|
|
66
67
|
example: "<<EXEC[sqlite]:SELECT 22.0 / 7.0:EXEC",
|
|
67
|
-
documentation: "Runs a command in a runtime — `<<EXEC[runtime](cwd):command:EXEC` — output streams into the
|
|
68
|
+
documentation: "Runs a command in a runtime — `<<EXEC[runtime](cwd):command:EXEC` — output streams into the worker's `<runtime>:///<loop>/<turn>/<seq>` entry on the runtime's own channels (a subprocess → stdout/stderr; a computational runtime like sqlite/jq → a JSON `results` channel). A host-effecting command proposes for review before it runs; a read-only/pure one runs ungated. Either way you never fetch the output: the engine surfaces each turn's new stream bytes to you automatically — folded while the command runs, opened when it finishes.",
|
|
68
69
|
flags: {
|
|
69
70
|
excludedInAsk: true,
|
|
70
71
|
},
|
|
71
72
|
};
|
|
73
|
+
// The web-fetch the entry sink calls on content:null (§exec-entry-sink / #455). Default = schemes-http's
|
|
74
|
+
// guarded WebFetcher over one warm-Chromium pool shared across this handler's sinks; injectable so tests
|
|
75
|
+
// substitute the network (the guard blocks localhost, so no local server can exercise the live path).
|
|
76
|
+
#fetchWeb;
|
|
77
|
+
constructor(fetchWeb) {
|
|
78
|
+
const webFetcher = new WebFetcher();
|
|
79
|
+
this.#fetchWeb = fetchWeb ?? ((url, opts) => webFetcher.fetch(url, opts));
|
|
80
|
+
}
|
|
72
81
|
#activeAborts = new Map();
|
|
73
82
|
#activeSpawns = new Map();
|
|
74
83
|
async idle() {
|
|
75
84
|
await Promise.allSettled([...this.#activeSpawns.values()]);
|
|
76
85
|
}
|
|
77
|
-
// Whether the
|
|
86
|
+
// Whether the worker has an in-flight spawn (a background exec). The daemon
|
|
78
87
|
// reads this only for loop.cancel's cancelled=true/false answer — the
|
|
79
|
-
// teardown itself rides the
|
|
88
|
+
// teardown itself rides the worker's cancellation scope (the spawn's
|
|
80
89
|
// ctx.signal), so even a spawn registering after the cancel self-aborts.
|
|
81
|
-
hasActiveSpawns(
|
|
82
|
-
for (const {
|
|
83
|
-
if (r ===
|
|
90
|
+
hasActiveSpawns(workerId) {
|
|
91
|
+
for (const { workerId: r } of this.#activeAborts.values())
|
|
92
|
+
if (r === workerId)
|
|
84
93
|
return true;
|
|
85
94
|
return false;
|
|
86
95
|
}
|
|
87
|
-
// §exec-hold-until-concluded — does the
|
|
96
|
+
// §exec-hold-until-concluded — does the worker hold an in-flight spawn whose RUNTIME is in the
|
|
88
97
|
// operator's hold set? The turn-hold exception (owner ruling): for streams we know and
|
|
89
98
|
// control (the search family — one final JSON digest, seconds-bounded), the engine holds
|
|
90
99
|
// the next packet until conclusion instead of giving the model a turn it can only waste.
|
|
91
|
-
hasActiveHoldSpawns(
|
|
92
|
-
for (const {
|
|
93
|
-
if (r ===
|
|
100
|
+
hasActiveHoldSpawns(workerId, holdSet) {
|
|
101
|
+
for (const { workerId: r, runtime } of this.#activeAborts.values())
|
|
102
|
+
if (r === workerId && holdSet.has(runtime))
|
|
94
103
|
return true;
|
|
95
104
|
return false;
|
|
96
105
|
}
|
|
@@ -109,18 +118,18 @@ export default class Exec {
|
|
|
109
118
|
}
|
|
110
119
|
}
|
|
111
120
|
// Not running — settle the outcome from the closed subscription's status.
|
|
112
|
-
const terminal = await ChannelWrite.execTerminalStatus(ctx.db, {
|
|
121
|
+
const terminal = await ChannelWrite.execTerminalStatus(ctx.db, { workspaceId: ctx.workspaceId, pathname });
|
|
113
122
|
if (terminal === null)
|
|
114
123
|
return { status: 404, error: `no exec at exec://${pathname}` };
|
|
115
124
|
if (terminal === 499)
|
|
116
125
|
return { status: 410, error: `exec://${pathname} was killed earlier` };
|
|
117
126
|
return { status: 304 };
|
|
118
127
|
}
|
|
119
|
-
// Registry-routed reap (§
|
|
120
|
-
// the
|
|
128
|
+
// Registry-routed reap (§worker-lifecycle-total-reap): the daemon's cancel iterates
|
|
129
|
+
// the worker's open subscriptions and calls this per id, aborting the spawn's
|
|
121
130
|
// controller directly. Idempotent — a no-op if the spawn already finished or this
|
|
122
131
|
// id isn't ours. Distinct from kill (by pathname, the model's KILL op): this is by
|
|
123
|
-
// subscription id, the
|
|
132
|
+
// subscription id, the worker-level reap that does not depend on the signal listener.
|
|
124
133
|
// Always a teardown — the bounded housekeeping reap, never the model's bare signal.
|
|
125
134
|
abortSubscription(subscriptionId) {
|
|
126
135
|
this.#activeAborts.get(subscriptionId)?.controller.abort(ExecAbort.teardownReason());
|
|
@@ -138,7 +147,29 @@ export default class Exec {
|
|
|
138
147
|
// #201 — a plurnk-scheme target carries content the scheme resolves at
|
|
139
148
|
// apply-time; an empty body is then legal (the target IS the script).
|
|
140
149
|
const schemeTarget = schemeTargetOf(statement.target);
|
|
141
|
-
|
|
150
|
+
// #462 — stat-route the local (target): a DIRECTORY overrides cwd (run the body IN it); a FILE is
|
|
151
|
+
// the program/data-source the executor runs (body = stdin). A stat-miss falls to the file arm so the
|
|
152
|
+
// runtime reports its own not-found, never a dispatch 400. cwd otherwise = the workspace workspace
|
|
153
|
+
// (project_root) — the directory File writes to, and what a data-source target resolves against.
|
|
154
|
+
const workspaceRow = await ctx.db.envelope_get_workspace.get({ id: ctx.workspaceId });
|
|
155
|
+
const projectRoot = workspaceRow?.project_root ?? null;
|
|
156
|
+
const localTarget = localPathFromTarget(statement.target);
|
|
157
|
+
let routedTarget = localTarget;
|
|
158
|
+
let cwd = projectRoot;
|
|
159
|
+
if (localTarget !== null) {
|
|
160
|
+
const abs = projectRoot !== null ? resolve(projectRoot, localTarget) : localTarget;
|
|
161
|
+
try {
|
|
162
|
+
if ((await stat(abs)).isDirectory()) {
|
|
163
|
+
cwd = abs;
|
|
164
|
+
routedTarget = null;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
catch { /* stat-miss → file arm; the runtime reports its own not-found */ }
|
|
168
|
+
}
|
|
169
|
+
// Empty body is legal when the target IS the program: a #201 scheme target (the target is the
|
|
170
|
+
// script) or a #462 FILE target (run it, no stdin). Empty body with a directory target (nothing
|
|
171
|
+
// to run) or no target at all → 400.
|
|
172
|
+
if (command.length === 0 && schemeTarget === null && routedTarget === null) {
|
|
142
173
|
return { status: 400, error: "EXEC requires a command body (or a scheme target to run)" };
|
|
143
174
|
}
|
|
144
175
|
const requested = typeof statement.signal === "string" ? statement.signal : "";
|
|
@@ -158,13 +189,13 @@ export default class Exec {
|
|
|
158
189
|
command = command.length > 0 ? `${runtime} ${command}` : runtime;
|
|
159
190
|
runtime = "sh";
|
|
160
191
|
}
|
|
161
|
-
// #328 — per-
|
|
162
|
-
//
|
|
163
|
-
// runtime. Checked on the EFFECTIVE runtime: a fall-through rides sh's gate, so a
|
|
192
|
+
// #328 — per-workspace client policy narrows the boot-registered set (subtractive). A tag the
|
|
193
|
+
// workspace's client layer disables is ABSENT for this workspace — refused like an unavailable
|
|
194
|
+
// runtime. Checked on the EFFECTIVE runtime: a fall-through rides sh's gate, so a workspace
|
|
164
195
|
// that disabled sh gets the refusal, never a side door.
|
|
165
|
-
const
|
|
166
|
-
if (
|
|
167
|
-
return { status: 501, error: `\`${runtime}\` is disabled for this
|
|
196
|
+
const workspaceExecs = (await WorkspaceSettings.read(ctx.db, ctx.workspaceId)).execs;
|
|
197
|
+
if (workspaceExecs !== null && !Policy.isEnabled(runtime, workspaceExecs)) {
|
|
198
|
+
return { status: 501, error: `\`${runtime}\` is disabled for this workspace by client policy (PLURNK_EXECS_*)` };
|
|
168
199
|
}
|
|
169
200
|
const resolved = ctx.executors.entry(runtime); // registry resolves the runtime tag; unknown/unavailable → 501 — §exec-registry-resolves
|
|
170
201
|
if (resolved === undefined) {
|
|
@@ -177,18 +208,16 @@ export default class Exec {
|
|
|
177
208
|
const why = resolved.detail === undefined ? "" : `: ${resolved.detail}`;
|
|
178
209
|
return { status: 501, error: `\`${runtime}\` is unavailable${why}` };
|
|
179
210
|
}
|
|
180
|
-
// The
|
|
181
|
-
//
|
|
182
|
-
|
|
211
|
+
// The (target) slot the executor receives — its DATA SOURCE / program (jq input, sqlite db, or a
|
|
212
|
+
// subprocess program run with the body as stdin; #15). A #462 directory target routed to cwd above
|
|
213
|
+
// leaves this null (the body is the command, run in that directory).
|
|
214
|
+
const target = routedTarget;
|
|
183
215
|
// Effect classifies by the target only, never by parsing the command (#289): host → propose,
|
|
184
216
|
// read/pure → auto-run inline (plurnk-service#182).
|
|
185
217
|
const policy = EffectPolicy.decide(resolved.executor.effect(target, command));
|
|
186
|
-
// cwd is
|
|
187
|
-
// target resolves against (execs 0.4.26 §2)
|
|
188
|
-
// in
|
|
189
|
-
// against it (so EXEC[jq](data/x.json) finds the workspace file, not one at the daemon's cwd).
|
|
190
|
-
const sessionRow = await ctx.db.envelope_get_session.get({ id: ctx.sessionId });
|
|
191
|
-
const cwd = sessionRow?.project_root ?? null;
|
|
218
|
+
// cwd is the workspace WORKSPACE (project_root) — the directory File writes to and a relative
|
|
219
|
+
// data-source target resolves against (execs 0.4.26 §2) — UNLESS a #462 directory target overrode
|
|
220
|
+
// it above, in which case the body runs in that directory. A file/data-source target never moves cwd.
|
|
192
221
|
// Pathname is assigned by Dispatcher.#writeLog as <runtime>/<loop_seq>/
|
|
193
222
|
// <turn_seq>/<sequence> (executor-domain + coordinate, e.g. sh/1/1/2).
|
|
194
223
|
// `pathname` is stamped into attrs at log-write time; applyResolution
|
|
@@ -242,12 +271,16 @@ export default class Exec {
|
|
|
242
271
|
command = content;
|
|
243
272
|
}
|
|
244
273
|
else {
|
|
245
|
-
tempPath = join(tmpdir(), `plurnk-exec-${ctx.
|
|
274
|
+
tempPath = join(tmpdir(), `plurnk-exec-${ctx.workspaceId}-${pathname.replace(/[^a-zA-Z0-9]/g, "-")}`);
|
|
246
275
|
await writeFile(tempPath, content, "utf8");
|
|
247
276
|
target = tempPath;
|
|
248
277
|
}
|
|
249
278
|
}
|
|
250
|
-
|
|
279
|
+
// #500 — the accept-half mirrors the propose-half's #462 stat-route: an empty body with a
|
|
280
|
+
// LOCAL FILE target is legal (the target IS the program — the executor runs it as its script
|
|
281
|
+
// positional, transient exec per the owner ruling). Empty body with no target of any kind
|
|
282
|
+
// remains the contradiction.
|
|
283
|
+
if (command.length === 0 && target === null) {
|
|
251
284
|
return { status: 500, outcome: "missing_command" };
|
|
252
285
|
}
|
|
253
286
|
// Resolve the runtime's executor from the boot registry, then seed
|
|
@@ -274,7 +307,7 @@ export default class Exec {
|
|
|
274
307
|
if (entryId === null)
|
|
275
308
|
return { status: 500, outcome: "entry_write_failed" };
|
|
276
309
|
const subscriptionId = await ChannelWrite.openSubscription(ctx.db, {
|
|
277
|
-
|
|
310
|
+
workerId: ctx.workerId, entryId, scheme: runtime,
|
|
278
311
|
handle: runtime !== "" ? `${runtime}: ${command}` : command,
|
|
279
312
|
pollSeconds: typeof attrs.pollSec === "number" ? attrs.pollSec : null, // §exec-poll — hibernation wake cadence
|
|
280
313
|
turnScoped: attrs.turnScoped === true, // §exec-poll — `<0>` reaped at the next pre-turn
|
|
@@ -297,7 +330,7 @@ export default class Exec {
|
|
|
297
330
|
if (parent.aborted)
|
|
298
331
|
controller.abort(ExecAbort.teardownReason());
|
|
299
332
|
}
|
|
300
|
-
this.#activeAborts.set(subscriptionId, {
|
|
333
|
+
this.#activeAborts.set(subscriptionId, { workerId: ctx.workerId, pathname, runtime, controller, unlink });
|
|
301
334
|
const tail = this.#runExecutor({
|
|
302
335
|
executor: resolved.executor,
|
|
303
336
|
runtime, command, cwd, target, ctx, pathname,
|
|
@@ -344,8 +377,8 @@ export default class Exec {
|
|
|
344
377
|
// §exec-entry-sink (#340) — the executor's entry() materialization request. The executor
|
|
345
378
|
// owns zero substrate: it hands us (path, content, {tags, mimetype}) and WE create/update
|
|
346
379
|
// the entry (writeEntry upsert; tags UNIONED — writeEntry alone replaces), then narrate ONE
|
|
347
|
-
// EDIT row in the reserved plurnk
|
|
348
|
-
// run) — the existing env-delta ambience folds it into every
|
|
380
|
+
// EDIT row in the reserved plurnk worker's log (the fs-fiction pattern, source = the calling
|
|
381
|
+
// run) — the existing env-delta ambience folds it into every worker's next packet. The row is a
|
|
349
382
|
// FULL fiction: tx carries the statement (body = the written content — the journal records
|
|
350
383
|
// the write, replay/fork-complete), rx carries the span (§edit-result-render, the whole
|
|
351
384
|
// content numbered — a wholesale write's span IS the content; no diff, which would be a
|
|
@@ -357,10 +390,25 @@ export default class Exec {
|
|
|
357
390
|
let entryChain = Promise.resolve();
|
|
358
391
|
let narration = null;
|
|
359
392
|
const entrySink = (path, content, opts) => {
|
|
393
|
+
const parsed = parsePath(path);
|
|
394
|
+
if (parsed === null || parsed.kind !== "url" || parsed.scheme === null)
|
|
395
|
+
return Promise.reject(new Error(`entry(): '${path.slice(0, 80)}' is not a URL`));
|
|
396
|
+
if (content !== null && opts.mimetype === undefined)
|
|
397
|
+
return Promise.reject(new Error("entry(): mimetype is required when content is provided"));
|
|
398
|
+
// §exec-entry-sink / #455 — content:null ⇒ core fetches the page through schemes-http's guarded
|
|
399
|
+
// primitive. The fetch STARTS HERE, OFF the write-serialization chain, so concurrent entry() calls
|
|
400
|
+
// fetch in PARALLEL (owner ruling: search fetches must not freeze the agent); only the entry WRITE
|
|
401
|
+
// serializes on entryChain (db-write ordering). A null fetch is dead (guard-refused / unreachable /
|
|
402
|
+
// non-2xx / non-textual / empty) and REJECTS, so the executor prunes that survivor. Non-null content
|
|
403
|
+
// is the materialize-given-body path — the caller already holds the bytes and states their mimetype.
|
|
404
|
+
const materialized = content === null
|
|
405
|
+
? this.#fetchWeb(path, { signal })
|
|
406
|
+
: Promise.resolve({ body: content, mimetype: opts.mimetype });
|
|
360
407
|
const op = async () => {
|
|
361
|
-
const
|
|
362
|
-
if (
|
|
363
|
-
throw new Error(`entry(): '${path.slice(0, 80)}' is
|
|
408
|
+
const fetched = await materialized;
|
|
409
|
+
if (fetched === null)
|
|
410
|
+
throw new Error(`entry(): '${path.slice(0, 80)}' is dead`);
|
|
411
|
+
const { body, mimetype } = fetched;
|
|
364
412
|
const pathname = foldAuthorityIntoPath(parsed.hostname, parsed.pathname);
|
|
365
413
|
const prior = await EntryCrud.readEntry(pathname, ctx, parsed.scheme);
|
|
366
414
|
const tags = [...new Set([...(prior.entry?.tags ?? []), ...opts.tags])];
|
|
@@ -369,38 +417,38 @@ export default class Exec {
|
|
|
369
417
|
// FTS indexes, every price reports) with the raw page under `html` (xpath + archive).
|
|
370
418
|
// Scoped HERE, not writeEntry: only auto-fetched web content projects; authored files
|
|
371
419
|
// stay verbatim (a `<user email=…>` roster's attribute data must survive a default READ).
|
|
372
|
-
let channels = { body: { content, mimetype
|
|
373
|
-
let decisive =
|
|
374
|
-
if (
|
|
375
|
-
const projected = (await ctx.mimetypes.process({ content, hint: "text/html" }, { channels: ["content"] })).content;
|
|
420
|
+
let channels = { body: { content: body, mimetype } };
|
|
421
|
+
let decisive = body;
|
|
422
|
+
if (mimetype === "text/html" && ctx.mimetypes !== undefined) {
|
|
423
|
+
const projected = (await ctx.mimetypes.process({ content: body, hint: "text/html" }, { channels: ["content"] })).content;
|
|
376
424
|
if (typeof projected === "string" && projected.length > 0) {
|
|
377
|
-
channels = { body: { content: projected, mimetype: "text/markdown" }, html: { content, mimetype
|
|
425
|
+
channels = { body: { content: projected, mimetype: "text/markdown" }, html: { content: body, mimetype } };
|
|
378
426
|
decisive = projected;
|
|
379
427
|
}
|
|
380
428
|
}
|
|
381
429
|
const written = await EntryCrud.writeEntry(pathname, { channels, tags }, ctx, parsed.scheme);
|
|
382
430
|
if (narration === null) {
|
|
383
|
-
const run = await db.
|
|
384
|
-
?? await db.
|
|
431
|
+
const run = await db.envelope_get_worker_by_name.get({ workspace_id: ctx.workspaceId, name: "plurnk" })
|
|
432
|
+
?? await db.envelope_insert_worker.get({ workspace_id: ctx.workspaceId, name: "plurnk", origin: "plurnk" });
|
|
385
433
|
if (run === undefined)
|
|
386
|
-
throw new Error("entry(): plurnk
|
|
387
|
-
const loop = await db.envelope_insert_client_loop.get({
|
|
434
|
+
throw new Error("entry(): plurnk worker resolution returned no row");
|
|
435
|
+
const loop = await db.envelope_insert_client_loop.get({ worker_id: run.id });
|
|
388
436
|
if (loop === undefined)
|
|
389
437
|
throw new Error("entry(): loop insert returned no row");
|
|
390
438
|
const seqRow = await db.client_turn_next_sequence.get({ loop_id: loop.id });
|
|
391
439
|
const turn = await db.client_turn_insert.get({ loop_id: loop.id, sequence: seqRow?.next ?? 1, packet: "{}" });
|
|
392
440
|
if (turn === undefined)
|
|
393
441
|
throw new Error("entry(): turn insert returned no row");
|
|
394
|
-
narration = {
|
|
442
|
+
narration = { workerId: run.id, loopId: loop.id, turnId: turn.id, seq: 1 };
|
|
395
443
|
}
|
|
396
444
|
await db.engine_insert_log_entry.get({
|
|
397
|
-
|
|
445
|
+
worker_id: narration.workerId, loop_id: narration.loopId, turn_id: narration.turnId, sequence: narration.seq++,
|
|
398
446
|
// signal carries the tags — the SAME slot a model's EDIT[tags] uses, so the
|
|
399
447
|
// ambient row renders its tags natively everywhere (packet meta line, digest).
|
|
400
|
-
origin: "plurnk", source: String(ctx.
|
|
448
|
+
origin: "plurnk", source: String(ctx.workerId), op: "EDIT", suffix: "", signal: JSON.stringify(tags),
|
|
401
449
|
scheme: parsed.scheme, username: null, password: null, hostname: null, port: null,
|
|
402
450
|
pathname, params: null, fragment: null, lineMarker: null,
|
|
403
|
-
tx: JSON.stringify({ op: "EDIT", body
|
|
451
|
+
tx: JSON.stringify({ op: "EDIT", body }), mimetype_tx: "application/json",
|
|
404
452
|
rx: JSON.stringify({
|
|
405
453
|
status: written.status, entryId: written.entryId, tags,
|
|
406
454
|
span: decisive.split("\n").map((l, n) => `${n + 1}:\t${l}`).join("\n"),
|
|
@@ -468,20 +516,25 @@ export default class Exec {
|
|
|
468
516
|
stderrLength = stderrMeta?.contentLength ?? 0;
|
|
469
517
|
}
|
|
470
518
|
finally {
|
|
519
|
+
// §exec-entry-sink — drain the entry()/narration writes so the tail (hence idle()) is a
|
|
520
|
+
// COMPLETE quiescence barrier: a consumer woken below, or a teardown awaiting idle(), must
|
|
521
|
+
// not race an in-flight entry() write into a closing db (#432 teardown race). Each op is
|
|
522
|
+
// enqueued as `.then(op, op)`, so entryChain never rejects — awaiting it in finally is safe.
|
|
523
|
+
await entryChain;
|
|
471
524
|
if (timeoutTimer !== null)
|
|
472
525
|
clearTimeout(timeoutTimer); // a finished spawn leaves no pending timer
|
|
473
526
|
// #201 — a materialized data-source temp file outlives the spawn it fed;
|
|
474
|
-
// unlink it once the
|
|
527
|
+
// unlink it once the worker settles (open-unlink is safe on Linux).
|
|
475
528
|
if (tempPath !== null)
|
|
476
529
|
await unlink(tempPath).catch(() => { });
|
|
477
530
|
this.#activeAborts.get(subscriptionId)?.unlink();
|
|
478
531
|
this.#activeAborts.delete(subscriptionId);
|
|
479
532
|
this.#activeSpawns.delete(subscriptionId);
|
|
480
|
-
// Every
|
|
533
|
+
// Every worker backgrounds now (§exec-stream) — wake a parked loop on completion so the
|
|
481
534
|
// run resumes to the turn where the stream's terminal delta surfaces.
|
|
482
|
-
if (ctx.
|
|
483
|
-
ctx.
|
|
484
|
-
|
|
535
|
+
if (ctx.wakeWorkerNotify !== undefined) {
|
|
536
|
+
ctx.wakeWorkerNotify({
|
|
537
|
+
workspaceId: ctx.workspaceId, workerId: ctx.workerId,
|
|
485
538
|
entryId, target: `${runtime}://${pathname}`, subscriptionId, closeStatus,
|
|
486
539
|
scheme: runtime,
|
|
487
540
|
summary: `${runtime}://${pathname} completed (${exitLabel}); stdout=${stdoutLength} bytes, stderr=${stderrLength} bytes`,
|
|
@@ -492,10 +545,10 @@ export default class Exec {
|
|
|
492
545
|
return closeStatus;
|
|
493
546
|
}
|
|
494
547
|
async read(statement, ctx) {
|
|
495
|
-
return EntryOps.
|
|
548
|
+
return EntryOps.readWorkspaceEntry(statement, ctx, Exec.manifest);
|
|
496
549
|
}
|
|
497
550
|
async find(statement, ctx) {
|
|
498
|
-
return EntryFind.
|
|
551
|
+
return EntryFind.findWorkspaceEntries(statement, ctx, Exec.manifest);
|
|
499
552
|
}
|
|
500
553
|
async readEntry(pathname, ctx) {
|
|
501
554
|
return EntryCrud.readEntry(pathname, ctx, Exec.manifest.name);
|