@plurnk/plurnk-service 1.14.2 → 1.16.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 +2 -2
- package/SPEC.md +243 -173
- package/digest-sql/curation/curation.sql +1 -1
- package/dist/build-info.json +1 -1
- package/dist/content/byte-view.d.ts +14 -0
- package/dist/content/byte-view.d.ts.map +1 -0
- package/dist/content/byte-view.js +33 -0
- package/dist/content/byte-view.js.map +1 -0
- package/dist/content/edit-receipt.d.ts.map +1 -1
- package/dist/content/edit-receipt.js +12 -1
- package/dist/content/edit-receipt.js.map +1 -1
- package/dist/content/line-marker.d.ts +2 -1
- package/dist/content/line-marker.d.ts.map +1 -1
- package/dist/content/line-marker.js +1 -0
- package/dist/content/line-marker.js.map +1 -1
- package/dist/content/matcher.d.ts +1 -0
- package/dist/content/matcher.d.ts.map +1 -1
- package/dist/content/matcher.js +1 -0
- package/dist/content/matcher.js.map +1 -1
- package/dist/content/read-projector.d.ts +4 -1
- package/dist/content/read-projector.d.ts.map +1 -1
- package/dist/content/read-projector.js +80 -3
- package/dist/content/read-projector.js.map +1 -1
- package/dist/core/AdmittedTurnExecutor.d.ts +43 -0
- package/dist/core/AdmittedTurnExecutor.d.ts.map +1 -0
- package/dist/core/AdmittedTurnExecutor.js +245 -0
- package/dist/core/AdmittedTurnExecutor.js.map +1 -0
- package/dist/core/BareBatchRunner.d.ts +26 -0
- package/dist/core/BareBatchRunner.d.ts.map +1 -0
- package/dist/core/BareBatchRunner.js +104 -0
- package/dist/core/BareBatchRunner.js.map +1 -0
- package/dist/core/BudgetReadout.d.ts +1 -1
- package/dist/core/BudgetReadout.d.ts.map +1 -1
- package/dist/core/BudgetReadout.js +42 -47
- package/dist/core/BudgetReadout.js.map +1 -1
- package/dist/core/CapabilityResolver.d.ts +2 -1
- package/dist/core/CapabilityResolver.d.ts.map +1 -1
- package/dist/core/CapabilityResolver.js +8 -9
- package/dist/core/CapabilityResolver.js.map +1 -1
- package/dist/core/ChannelWrite.d.ts +1 -1
- package/dist/core/ChannelWrite.d.ts.map +1 -1
- package/dist/core/DataStatementRunner.d.ts +35 -0
- package/dist/core/DataStatementRunner.d.ts.map +1 -0
- package/dist/core/DataStatementRunner.js +252 -0
- package/dist/core/DataStatementRunner.js.map +1 -0
- package/dist/core/Dispatcher.d.ts +8 -3
- package/dist/core/Dispatcher.d.ts.map +1 -1
- package/dist/core/Dispatcher.js +88 -738
- package/dist/core/Dispatcher.js.map +1 -1
- package/dist/core/EditMutations.d.ts +39 -0
- package/dist/core/EditMutations.d.ts.map +1 -0
- package/dist/core/EditMutations.js +418 -0
- package/dist/core/EditMutations.js.map +1 -0
- package/dist/core/Engine.d.ts +2 -23
- package/dist/core/Engine.d.ts.map +1 -1
- package/dist/core/Engine.js +18 -240
- package/dist/core/Engine.js.map +1 -1
- package/dist/core/Engine.sql +24 -23
- package/dist/core/KillHandler.d.ts +32 -0
- package/dist/core/KillHandler.d.ts.map +1 -0
- package/dist/core/KillHandler.js +179 -0
- package/dist/core/KillHandler.js.map +1 -0
- package/dist/core/LogVisibility.d.ts +1 -1
- package/dist/core/LogVisibility.d.ts.map +1 -1
- package/dist/core/LogVisibility.js +3 -4
- package/dist/core/LogVisibility.js.map +1 -1
- package/dist/core/LogWriter.d.ts +42 -0
- package/dist/core/LogWriter.d.ts.map +1 -0
- package/dist/core/LogWriter.js +136 -0
- package/dist/core/LogWriter.js.map +1 -0
- package/dist/core/LoopDriver.d.ts +46 -0
- package/dist/core/LoopDriver.d.ts.map +1 -0
- package/dist/core/LoopDriver.js +263 -0
- package/dist/core/LoopDriver.js.map +1 -0
- package/dist/core/LoopLifecycle.d.ts +2 -1
- package/dist/core/LoopLifecycle.d.ts.map +1 -1
- package/dist/core/MembershipMaterialization.d.ts +7 -0
- package/dist/core/MembershipMaterialization.d.ts.map +1 -0
- package/dist/core/MembershipMaterialization.js +283 -0
- package/dist/core/MembershipMaterialization.js.map +1 -0
- package/dist/core/MutationEffects.d.ts +29 -0
- package/dist/core/MutationEffects.d.ts.map +1 -0
- package/dist/core/MutationEffects.js +318 -0
- package/dist/core/MutationEffects.js.map +1 -0
- package/dist/core/OverflowTurn.d.ts +4 -4
- package/dist/core/OverflowTurn.d.ts.map +1 -1
- package/dist/core/OverflowTurn.js +6 -7
- package/dist/core/OverflowTurn.js.map +1 -1
- package/dist/core/PacketBuilder.d.ts.map +1 -1
- package/dist/core/PacketBuilder.js +31 -9
- package/dist/core/PacketBuilder.js.map +1 -1
- package/dist/core/ResourceMutations.d.ts +12 -36
- package/dist/core/ResourceMutations.d.ts.map +1 -1
- package/dist/core/ResourceMutations.js +27 -1351
- package/dist/core/ResourceMutations.js.map +1 -1
- package/dist/core/ResourceSelector.d.ts +21 -0
- package/dist/core/ResourceSelector.d.ts.map +1 -0
- package/dist/core/ResourceSelector.js +233 -0
- package/dist/core/ResourceSelector.js.map +1 -0
- package/dist/core/ResourceTransfers.d.ts +55 -0
- package/dist/core/ResourceTransfers.d.ts.map +1 -0
- package/dist/core/ResourceTransfers.js +525 -0
- package/dist/core/ResourceTransfers.js.map +1 -0
- package/dist/core/SchemeRegistry.js +2 -2
- package/dist/core/SchemeRegistry.js.map +1 -1
- package/dist/core/SendBroadcastHandler.d.ts +40 -0
- package/dist/core/SendBroadcastHandler.d.ts.map +1 -0
- package/dist/core/SendBroadcastHandler.js +159 -0
- package/dist/core/SendBroadcastHandler.js.map +1 -0
- package/dist/core/StoredPacket.d.ts +11 -0
- package/dist/core/StoredPacket.d.ts.map +1 -1
- package/dist/core/StoredPacket.js +22 -1
- package/dist/core/StoredPacket.js.map +1 -1
- package/dist/core/StrikeRail.d.ts.map +1 -1
- package/dist/core/StrikeRail.js +19 -9
- package/dist/core/StrikeRail.js.map +1 -1
- package/dist/core/TokenCalibration.d.ts +16 -0
- package/dist/core/TokenCalibration.d.ts.map +1 -0
- package/dist/core/TokenCalibration.js +35 -0
- package/dist/core/TokenCalibration.js.map +1 -0
- package/dist/core/ToolResources.d.ts.map +1 -1
- package/dist/core/ToolResources.js +15 -12
- package/dist/core/ToolResources.js.map +1 -1
- package/dist/core/TurnMaterialization.d.ts +37 -0
- package/dist/core/TurnMaterialization.d.ts.map +1 -0
- package/dist/core/TurnMaterialization.js +296 -0
- package/dist/core/TurnMaterialization.js.map +1 -0
- package/dist/core/TurnOps.d.ts.map +1 -1
- package/dist/core/TurnOps.js +6 -8
- package/dist/core/TurnOps.js.map +1 -1
- package/dist/core/TurnRunner.d.ts +15 -27
- package/dist/core/TurnRunner.d.ts.map +1 -1
- package/dist/core/TurnRunner.js +76 -670
- package/dist/core/TurnRunner.js.map +1 -1
- package/dist/core/WorkerControlHandler.d.ts +15 -0
- package/dist/core/WorkerControlHandler.d.ts.map +1 -0
- package/dist/core/WorkerControlHandler.js +89 -0
- package/dist/core/WorkerControlHandler.js.map +1 -0
- package/dist/core/attachments.d.ts +14 -0
- package/dist/core/attachments.d.ts.map +1 -0
- package/dist/core/attachments.js +18 -0
- package/dist/core/attachments.js.map +1 -0
- package/dist/core/fork.d.ts.map +1 -1
- package/dist/core/fork.js +0 -4
- package/dist/core/fork.js.map +1 -1
- package/dist/core/fork.sql +5 -16
- package/dist/core/git-membership.d.ts +15 -0
- package/dist/core/git-membership.d.ts.map +1 -1
- package/dist/core/git-membership.js +4 -273
- package/dist/core/git-membership.js.map +1 -1
- package/dist/core/git-state.d.ts +2 -1
- package/dist/core/git-state.d.ts.map +1 -1
- package/dist/core/mutation-types.d.ts +102 -0
- package/dist/core/mutation-types.d.ts.map +1 -0
- package/dist/core/mutation-types.js +2 -0
- package/dist/core/mutation-types.js.map +1 -0
- package/dist/core/operation-target-groups.js +1 -1
- package/dist/core/operation-target-groups.js.map +1 -1
- package/dist/core/packet-wire.d.ts +7 -6
- package/dist/core/packet-wire.d.ts.map +1 -1
- package/dist/core/packet-wire.js +96 -68
- package/dist/core/packet-wire.js.map +1 -1
- package/dist/core/plurnk-uri.d.ts +0 -1
- package/dist/core/plurnk-uri.d.ts.map +1 -1
- package/dist/core/plurnk-uri.js +1 -1
- package/dist/core/plurnk-uri.js.map +1 -1
- package/dist/core/statement-primary.d.ts +4 -0
- package/dist/core/statement-primary.d.ts.map +1 -0
- package/dist/core/statement-primary.js +3 -0
- package/dist/core/statement-primary.js.map +1 -0
- package/dist/core/teaching-corpus.d.ts +0 -1
- package/dist/core/teaching-corpus.d.ts.map +1 -1
- package/dist/core/teaching-corpus.js +0 -9
- package/dist/core/teaching-corpus.js.map +1 -1
- package/dist/core/turn-scheduler.js +3 -3
- package/dist/core/turn-scheduler.js.map +1 -1
- package/dist/core/turn-signals.d.ts +15 -0
- package/dist/core/turn-signals.d.ts.map +1 -0
- package/dist/core/turn-signals.js +19 -0
- package/dist/core/turn-signals.js.map +1 -0
- package/dist/core/worker-settings.d.ts +0 -1
- package/dist/core/worker-settings.d.ts.map +1 -1
- package/dist/core/worker-settings.js +1 -1
- package/dist/core/worker-settings.js.map +1 -1
- package/dist/digest/Digest.d.ts +3 -16
- package/dist/digest/Digest.d.ts.map +1 -1
- package/dist/digest/Digest.js +10 -958
- package/dist/digest/Digest.js.map +1 -1
- package/dist/digest/DigestRender.d.ts +12 -0
- package/dist/digest/DigestRender.d.ts.map +1 -0
- package/dist/digest/DigestRender.js +641 -0
- package/dist/digest/DigestRender.js.map +1 -0
- package/dist/digest/DigestRequiem.d.ts +13 -0
- package/dist/digest/DigestRequiem.d.ts.map +1 -0
- package/dist/digest/DigestRequiem.js +332 -0
- package/dist/digest/DigestRequiem.js.map +1 -0
- package/dist/digest/digest-rows.d.ts +303 -0
- package/dist/digest/digest-rows.d.ts.map +1 -0
- package/dist/digest/digest-rows.js +2 -0
- package/dist/digest/digest-rows.js.map +1 -0
- package/dist/digest/digest.sql +1 -7
- package/dist/observe/api.d.ts +0 -2
- package/dist/observe/api.d.ts.map +1 -1
- package/dist/observe/api.js +2 -2
- package/dist/observe/api.js.map +1 -1
- package/dist/observe/metrics.d.ts +0 -1
- package/dist/observe/metrics.d.ts.map +1 -1
- package/dist/observe/metrics.js +0 -1
- package/dist/observe/metrics.js.map +1 -1
- package/dist/schemes/Exec.d.ts +4 -1
- package/dist/schemes/Exec.d.ts.map +1 -1
- package/dist/schemes/Exec.js +89 -48
- package/dist/schemes/Exec.js.map +1 -1
- package/dist/schemes/ExecOutputScheme.d.ts +2 -1
- package/dist/schemes/ExecOutputScheme.d.ts.map +1 -1
- package/dist/schemes/ExecOutputScheme.js +3 -3
- package/dist/schemes/ExecOutputScheme.js.map +1 -1
- package/dist/schemes/File.d.ts +4 -1
- package/dist/schemes/File.d.ts.map +1 -1
- package/dist/schemes/File.js +100 -13
- package/dist/schemes/File.js.map +1 -1
- package/dist/schemes/Log.d.ts +4 -5
- package/dist/schemes/Log.d.ts.map +1 -1
- package/dist/schemes/Log.js +26 -118
- package/dist/schemes/Log.js.map +1 -1
- package/dist/schemes/Log.sql +1 -66
- package/dist/schemes/Prompt.js +1 -1
- package/dist/schemes/Prompt.js.map +1 -1
- package/dist/schemes/Worker.d.ts.map +1 -1
- package/dist/schemes/Worker.js +1 -13
- package/dist/schemes/Worker.js.map +1 -1
- package/dist/schemes/_entry-crud.d.ts +3 -1
- package/dist/schemes/_entry-crud.d.ts.map +1 -1
- package/dist/schemes/_entry-crud.js +18 -3
- package/dist/schemes/_entry-crud.js.map +1 -1
- package/dist/schemes/_entry-find.d.ts +4 -2
- package/dist/schemes/_entry-find.d.ts.map +1 -1
- package/dist/schemes/_entry-find.js +79 -10
- package/dist/schemes/_entry-find.js.map +1 -1
- package/dist/schemes/_entry-manifest.d.ts +1 -2
- package/dist/schemes/_entry-manifest.d.ts.map +1 -1
- package/dist/schemes/_entry-ops.d.ts +2 -1
- package/dist/schemes/_entry-ops.d.ts.map +1 -1
- package/dist/schemes/_entry-ops.js +20 -2
- package/dist/schemes/_entry-ops.js.map +1 -1
- package/dist/schemes/_entry-semantic.d.ts +1 -0
- package/dist/schemes/_entry-semantic.d.ts.map +1 -1
- package/dist/schemes/_entry-semantic.js +3 -0
- package/dist/schemes/_entry-semantic.js.map +1 -1
- package/dist/schemes/_entry-semantic.sql +2 -2
- package/dist/schemes/_entry-send.d.ts +0 -1
- package/dist/schemes/_entry-send.d.ts.map +1 -1
- package/dist/schemes/_entry-send.js +5 -80
- package/dist/schemes/_entry-send.js.map +1 -1
- package/dist/schemes/exec-runtime.d.ts +7 -0
- package/dist/schemes/exec-runtime.d.ts.map +1 -0
- package/dist/schemes/exec-runtime.js +2 -0
- package/dist/schemes/exec-runtime.js.map +1 -0
- package/dist/server/ClientReads.d.ts +34 -0
- package/dist/server/ClientReads.d.ts.map +1 -0
- package/dist/server/ClientReads.js +210 -0
- package/dist/server/ClientReads.js.map +1 -0
- package/dist/server/Daemon.d.ts +12 -22
- package/dist/server/Daemon.d.ts.map +1 -1
- package/dist/server/Daemon.js +31 -362
- package/dist/server/Daemon.js.map +1 -1
- package/dist/server/DaemonModule.d.ts +6 -5
- package/dist/server/DaemonModule.d.ts.map +1 -1
- package/dist/server/DrainSupervisor.d.ts +3 -2
- package/dist/server/DrainSupervisor.d.ts.map +1 -1
- package/dist/server/DrainSupervisor.js +7 -3
- package/dist/server/DrainSupervisor.js.map +1 -1
- package/dist/server/Functionality.d.ts +0 -12
- package/dist/server/Functionality.d.ts.map +1 -1
- package/dist/server/Functionality.js.map +1 -1
- package/dist/server/FunctionalityManager.d.ts +0 -1
- package/dist/server/FunctionalityManager.d.ts.map +1 -1
- package/dist/server/FunctionalityManager.js +3 -3
- package/dist/server/FunctionalityManager.js.map +1 -1
- package/dist/server/MembersFunctionality.d.ts +2 -13
- package/dist/server/MembersFunctionality.d.ts.map +1 -1
- package/dist/server/MembersFunctionality.js +4 -4
- package/dist/server/MembersFunctionality.js.map +1 -1
- package/dist/server/SkillsFunctionality.d.ts +1 -7
- package/dist/server/SkillsFunctionality.d.ts.map +1 -1
- package/dist/server/SkillsFunctionality.js +3 -3
- package/dist/server/SkillsFunctionality.js.map +1 -1
- package/dist/server/WorkerModelResolver.d.ts +17 -0
- package/dist/server/WorkerModelResolver.d.ts.map +1 -0
- package/dist/server/WorkerModelResolver.js +166 -0
- package/dist/server/WorkerModelResolver.js.map +1 -0
- package/dist/server/daemon-results.d.ts +5 -0
- package/dist/server/daemon-results.d.ts.map +1 -0
- package/dist/server/daemon-results.js +7 -0
- package/dist/server/daemon-results.js.map +1 -0
- package/dist/server/dispatch-as-plurnk.d.ts.map +1 -1
- package/dist/server/dispatch-as-plurnk.js +4 -6
- package/dist/server/dispatch-as-plurnk.js.map +1 -1
- package/dist/server/logEntry.d.ts +0 -1
- package/dist/server/logEntry.d.ts.map +1 -1
- package/dist/server/logEntry.js +1 -13
- package/dist/server/logEntry.js.map +1 -1
- package/dist/server/logEntry.sql +1 -5
- package/dist/server/loopDocs.d.ts.map +1 -1
- package/dist/server/loopDocs.js +11 -2
- package/dist/server/loopDocs.js.map +1 -1
- package/migrations/001_schema.sql +30 -347
- package/package.json +30 -30
package/dist/schemes/Exec.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { parsePath, PathSyntax
|
|
1
|
+
import { parsePath, PathSyntax } from "@plurnk/plurnk-contracts";
|
|
2
2
|
import { WebFetcher, WebMaterializationError, } from "@plurnk/plurnk-schemes-http";
|
|
3
3
|
import EffectPolicy from "./EffectPolicy.js";
|
|
4
4
|
import EntryCrud from "./_entry-crud.js";
|
|
@@ -23,6 +23,7 @@ import LogEntryProjection from "../core/LogEntryProjection.js";
|
|
|
23
23
|
import LogBody from "../core/LogBody.js";
|
|
24
24
|
import { setTimeout as delay } from "node:timers/promises";
|
|
25
25
|
import ExecScheduler from "./ExecScheduler.js";
|
|
26
|
+
import { execRouteOf } from "./exec-runtime.js";
|
|
26
27
|
// Executors are discovered + probed at boot into ExecutorRegistry and reach
|
|
27
28
|
// the scheme through ctx.executors ({§exec-registry-resolves}). Each runtime tag
|
|
28
29
|
// resolves to its sibling executor; the scheme itself stays runtime-agnostic.
|
|
@@ -52,14 +53,15 @@ const resourceSourceOf = (target) => {
|
|
|
52
53
|
// Dispatcher.#writeLog). Exec owns this convention, so it — not the client — turns
|
|
53
54
|
// the pathname into the entry's coordinate, mirrored onto stream payloads so
|
|
54
55
|
// clients read fields instead of parsing the URI. The
|
|
55
|
-
// coordinate is the
|
|
56
|
-
//
|
|
56
|
+
// coordinate is the numeric triple before the `/EXEC` op segment ({§log-coordinate-hierarchy}:
|
|
57
|
+
// every item address is loop/turn/item/OP); any other pathname yields undefined (no
|
|
58
|
+
// coordinate on the wire).
|
|
57
59
|
// {§notifications-stream-event-on-channel-change}, {§notifications-stream-concluded}
|
|
58
60
|
const coordinateFromPathname = (pathname) => {
|
|
59
61
|
const seg = pathname.split("/").filter(Boolean);
|
|
60
|
-
if (seg.length <
|
|
62
|
+
if (seg.length < 4 || seg.at(-1) !== "EXEC")
|
|
61
63
|
return undefined;
|
|
62
|
-
const [loop_seq, turn_seq, sequence] = seg.slice(-
|
|
64
|
+
const [loop_seq, turn_seq, sequence] = seg.slice(-4, -1).map(Number);
|
|
63
65
|
if (![loop_seq, turn_seq, sequence].every(Number.isInteger))
|
|
64
66
|
return undefined;
|
|
65
67
|
return { loop_seq, turn_seq, sequence };
|
|
@@ -85,7 +87,7 @@ export default class Exec extends CoreSchemeAdapterBase {
|
|
|
85
87
|
// The slot contract, stated when a resource source cannot be read: the resource IS the
|
|
86
88
|
// program and the body its stdin; a command belongs beneath a targetless heading.
|
|
87
89
|
static sourceRecovery(source, upstream) {
|
|
88
|
-
const contract =
|
|
90
|
+
const contract = `\`### EXEC0 (${source})\` runs that resource as the program (its content is the program; the body is its stdin). To run a command in the workspace, write it beneath a targetless \`### EXEC0\`.`;
|
|
89
91
|
return typeof upstream === "string" && upstream.length > 0 ? `${contract} ${upstream}` : contract;
|
|
90
92
|
}
|
|
91
93
|
static manifest = {
|
|
@@ -99,7 +101,8 @@ export default class Exec extends CoreSchemeAdapterBase {
|
|
|
99
101
|
writableBy: ["model", "client"],
|
|
100
102
|
volatile: true,
|
|
101
103
|
modelVisible: true,
|
|
102
|
-
|
|
104
|
+
metadataModifier: true,
|
|
105
|
+
documentation: "Runs a registered executable tool — `### EXEC0 [executor] (program) <timeout minutes,poll minutes>\nbody` — using its `worker://~/_plurnk/tools/` invocation contract. Output streams into the worker's `<executor>:///<loop>/<turn>/<seq>` entry on that tool's own channels. A host-effecting invocation proposes for review before it runs; a read-only or pure one runs ungated. Either way you never fetch the output: the engine surfaces each turn's new stream bytes automatically — folded while it runs, opened when it finishes.",
|
|
103
106
|
};
|
|
104
107
|
// The web-fetch the entry sink calls on content:null ({§exec-entry-sink}).
|
|
105
108
|
// Default = schemes-http's checked WebFetcher; injectable for tests.
|
|
@@ -130,18 +133,30 @@ export default class Exec extends CoreSchemeAdapterBase {
|
|
|
130
133
|
// teardown itself rides the worker's cancellation scope (the spawn's
|
|
131
134
|
// ctx.signal), so even a spawn registering after the cancel self-aborts.
|
|
132
135
|
hasActiveSpawns(workerId) {
|
|
133
|
-
for (const { workerId: r } of this.#activeAborts.values())
|
|
134
|
-
if (r === workerId)
|
|
136
|
+
for (const { workerId: r, detached } of this.#activeAborts.values())
|
|
137
|
+
if (r === workerId && !detached)
|
|
135
138
|
return true;
|
|
136
139
|
return false;
|
|
137
140
|
}
|
|
141
|
+
// {§exec-timeout} — a `<-1>` spawn is nobody's obligation: terminals, joins, and optimistic
|
|
142
|
+
// settlement look past it.
|
|
143
|
+
isDetachedSpawn(subscriptionId) {
|
|
144
|
+
return this.#activeAborts.get(subscriptionId)?.detached === true;
|
|
145
|
+
}
|
|
146
|
+
// {§exec-timeout} — a `<-1>` spawn ends with the daemon: nothing else ever aborts it, so the
|
|
147
|
+
// stop sequence reaps it (bounded housekeeping) before the streaming drain barrier.
|
|
148
|
+
abortDetached() {
|
|
149
|
+
for (const { controller, detached } of this.#activeAborts.values())
|
|
150
|
+
if (detached)
|
|
151
|
+
controller.abort(ExecAbort.teardownReason());
|
|
152
|
+
}
|
|
138
153
|
// {§worker-optimistic-settlement} — wait on exactly the spawns initiated by
|
|
139
154
|
// this turn, ending immediately when all settle and never extending the
|
|
140
155
|
// opportunity to streams inherited from an earlier turn.
|
|
141
156
|
async settleTurnSpawns(workerId, turnId, timeoutMs, signal) {
|
|
142
157
|
signal?.throwIfAborted();
|
|
143
158
|
const pending = [...this.#activeAborts.entries()]
|
|
144
|
-
.filter(([, active]) => active.workerId === workerId && active.turnId === turnId)
|
|
159
|
+
.filter(([, active]) => active.workerId === workerId && active.turnId === turnId && !active.detached)
|
|
145
160
|
.map(([subscriptionId]) => {
|
|
146
161
|
const spawn = this.#activeSpawns.get(subscriptionId);
|
|
147
162
|
if (spawn === undefined) {
|
|
@@ -168,11 +183,11 @@ export default class Exec extends CoreSchemeAdapterBase {
|
|
|
168
183
|
}
|
|
169
184
|
// {§stream-control} — active KILL routes through the live controller;
|
|
170
185
|
// terminal and missing outcomes resolve from the durable subscription.
|
|
171
|
-
async kill(pathname,
|
|
186
|
+
async kill(pathname, scope, ctx, scheme = "exec") {
|
|
172
187
|
const core = this.coreContext(ctx);
|
|
173
188
|
for (const entry of this.#activeAborts.values()) {
|
|
174
189
|
if (entry.workerId === core.workerId && entry.pathname === pathname) {
|
|
175
|
-
entry.controller.abort(ExecAbort.killReason(
|
|
190
|
+
entry.controller.abort(ExecAbort.killReason(null));
|
|
176
191
|
return { status: 200 };
|
|
177
192
|
}
|
|
178
193
|
}
|
|
@@ -204,26 +219,28 @@ export default class Exec extends CoreSchemeAdapterBase {
|
|
|
204
219
|
});
|
|
205
220
|
}
|
|
206
221
|
// EXEC op handler — the actual model-facing entry point per plurnk.md.
|
|
207
|
-
//
|
|
222
|
+
// `### EXEC0 [runtime] (target)\nbody` → runtime-owned invocation buckets.
|
|
208
223
|
//
|
|
209
224
|
// Proposes (status=202) with attrs={runtime, cwd, body, pathname}.
|
|
210
225
|
// applyResolution spawns the subprocess; output streams into the
|
|
211
226
|
// coordinate-stamped <runtime>:///<pathname> entry's stdout/stderr channels
|
|
212
|
-
// (e.g. sh:///1/1/2, {§exec}). The model READs that entry on a subsequent turn.
|
|
227
|
+
// (e.g. sh:///1/1/2/EXEC, {§exec}). The model READs that entry on a subsequent turn.
|
|
213
228
|
async exec(statement, ctx) {
|
|
214
229
|
const core = this.coreContext(ctx);
|
|
215
230
|
const body = statement.body ?? "";
|
|
216
|
-
const requested = typeof statement.signal === "string" ? statement.signal : "";
|
|
217
|
-
const runtime = requested === "" ? "sh" : requested; // empty signal = default shell
|
|
218
231
|
if (core.executors === undefined)
|
|
219
232
|
throw new Error("exec dispatched without an executor registry");
|
|
233
|
+
// {§exec-executor-slot}: the bracket names the executor; the path is its program.
|
|
234
|
+
const route = execRouteOf(statement);
|
|
235
|
+
const runtime = route.runtime;
|
|
220
236
|
// {§exec-registry-resolves} — a non-empty tag selects exactly one registered executable
|
|
221
237
|
// tool. Unknown tags are not reinterpreted as shell command words: that would make the
|
|
222
238
|
// executed command differ from the authored body. Bare EXEC remains the default-shell form.
|
|
223
239
|
const resolved = core.executors.entry(runtime, core.functionalityWorkerId);
|
|
224
240
|
if (resolved === undefined) {
|
|
225
|
-
return Results.failure("scheme:exec", "
|
|
241
|
+
return Results.failure("scheme:exec", "executor-not-registered", 400, `\`[${runtime}]\` names no registered executor for this worker. Executors are taught under \`worker://~/_plurnk/tools/\`; a bare \`### EXEC0\` is the shell.`, {}, {
|
|
226
242
|
requestedRuntime: runtime,
|
|
243
|
+
executors: core.executors.availableRuntimes(core.functionalityWorkerId),
|
|
227
244
|
retryable: false,
|
|
228
245
|
});
|
|
229
246
|
}
|
|
@@ -235,7 +252,7 @@ export default class Exec extends CoreSchemeAdapterBase {
|
|
|
235
252
|
});
|
|
236
253
|
}
|
|
237
254
|
const registry = core.executors.toolRegistry(runtime, core.functionalityWorkerId);
|
|
238
|
-
const exactTarget =
|
|
255
|
+
const exactTarget = route.target === null ? null : route.target.raw;
|
|
239
256
|
const registeredTool = registry?.tools.find((tool) => tool.target === exactTarget);
|
|
240
257
|
if (registry !== null && registeredTool === undefined) {
|
|
241
258
|
const availableTargets = registry.tools.map((tool) => tool.target);
|
|
@@ -252,7 +269,8 @@ export default class Exec extends CoreSchemeAdapterBase {
|
|
|
252
269
|
}
|
|
253
270
|
const invocation = registeredTool?.invocation ?? resolved.invocation;
|
|
254
271
|
const hasBody = body.length > 0;
|
|
255
|
-
const
|
|
272
|
+
const execTarget = route.target;
|
|
273
|
+
const hasTarget = execTarget !== null;
|
|
256
274
|
const refuse = (code, detail, recovery, extensions = {}) => Results.failure("scheme:exec", code, 400, detail, {}, { runtime, recovery, retryable: false, ...extensions });
|
|
257
275
|
if (invocation.body.required && !hasBody) {
|
|
258
276
|
return refuse("body-required", `Executable tool '${runtime}' requires a ${invocation.body.role} body.`, `Provide the ${invocation.body.role} in the EXEC body.`);
|
|
@@ -277,55 +295,79 @@ export default class Exec extends CoreSchemeAdapterBase {
|
|
|
277
295
|
let target = null;
|
|
278
296
|
let resourceSource = null;
|
|
279
297
|
const targetDecl = invocation.target;
|
|
280
|
-
if (
|
|
298
|
+
if (execTarget !== null && targetDecl !== undefined) {
|
|
281
299
|
if (targetDecl.kind === "literal") {
|
|
282
|
-
target =
|
|
300
|
+
target = execTarget.raw;
|
|
283
301
|
}
|
|
284
302
|
else {
|
|
285
|
-
const localTarget = localPathFromTarget(
|
|
303
|
+
const localTarget = localPathFromTarget(execTarget);
|
|
286
304
|
if (localTarget !== null) {
|
|
287
305
|
target = localTarget;
|
|
288
306
|
}
|
|
289
|
-
else if (targetDecl.kind === "resource") {
|
|
290
|
-
resourceSource = resourceSourceOf(
|
|
307
|
+
else if (targetDecl.kind === "resource" || targetDecl.kind === "script") {
|
|
308
|
+
resourceSource = resourceSourceOf(execTarget);
|
|
291
309
|
if (resourceSource === null) {
|
|
292
310
|
throw new Error(`EXEC '${runtime}' resource target could not be classified`);
|
|
293
311
|
}
|
|
294
312
|
}
|
|
295
313
|
else {
|
|
296
|
-
return refuse("target-kind-invalid", `Executable tool '${runtime}' accepts only a local or file:// ${targetDecl.role} target.`, `Use a local or file:// ${targetDecl.role} target.`, { target:
|
|
314
|
+
return refuse("target-kind-invalid", `Executable tool '${runtime}' accepts only a local or file:// ${targetDecl.role} target.`, `Use a local or file:// ${targetDecl.role} target.`, { target: execTarget.raw, targetKind: targetDecl.kind });
|
|
297
315
|
}
|
|
298
316
|
}
|
|
299
317
|
}
|
|
300
|
-
// {§exec-
|
|
301
|
-
//
|
|
302
|
-
// workspace has none.
|
|
303
|
-
// is refused before anything spawns — a command belongs in the body.
|
|
318
|
+
// {§exec-executor-slot} — the path names the program; `{cwd=<directory>}` names where it
|
|
319
|
+
// runs. A relative directory resolves against the project root, or the shell's own cwd
|
|
320
|
+
// when the workspace has none.
|
|
304
321
|
const runRoot = projectRoot ?? process.cwd();
|
|
305
|
-
|
|
306
|
-
|
|
322
|
+
// Metadata on a resource-address target belongs to the source scheme ({§exec-target-routing});
|
|
323
|
+
// on a local program it names the working directory and nothing else.
|
|
324
|
+
for (const block of resourceSource === null ? statement.metadata ?? [] : []) {
|
|
325
|
+
const named = /^cwd=(.+)$/.exec(block.trim());
|
|
326
|
+
if (named === null) {
|
|
327
|
+
return refuse("metadata-unsupported", `EXEC accepts only \`{cwd=<directory>}\` metadata; got \`{${block}}\`.`, "Name the working directory as `{cwd=sub}`; everything else belongs in the body.", { metadata: block });
|
|
328
|
+
}
|
|
329
|
+
const inspected = isAbsolute(named[1]) ? named[1] : resolve(runRoot, named[1]);
|
|
330
|
+
let isDirectory = false;
|
|
307
331
|
try {
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
332
|
+
isDirectory = (await stat(inspected)).isDirectory();
|
|
333
|
+
}
|
|
334
|
+
catch (cause) {
|
|
335
|
+
if (cause?.code !== "ENOENT")
|
|
336
|
+
throw cause;
|
|
337
|
+
}
|
|
338
|
+
if (!isDirectory) {
|
|
339
|
+
return refuse("cwd-not-found", `EXEC working directory '${named[1]}' is not an existing directory.`, "Name an existing directory in `{cwd=…}`.", { cwd: named[1] });
|
|
340
|
+
}
|
|
341
|
+
cwd = inspected;
|
|
342
|
+
}
|
|
343
|
+
// A `script` target must be an existing file; other kinds pass through as declared.
|
|
344
|
+
if (target !== null && targetDecl?.kind === "script") {
|
|
345
|
+
const inspected = isAbsolute(target) ? target : resolve(cwd, target);
|
|
346
|
+
let kind = "missing";
|
|
347
|
+
try {
|
|
348
|
+
kind = (await stat(inspected)).isDirectory() ? "directory" : "file";
|
|
312
349
|
}
|
|
313
350
|
catch (cause) {
|
|
314
351
|
if (cause?.code !== "ENOENT") {
|
|
315
352
|
console.error(`EXEC target classification failed for '${inspected}':`, cause);
|
|
316
353
|
return Results.failure("scheme:exec", "target-classification-failed", 500, `EXEC target '${target}' could not be inspected: ${ErrorDetail.preview(cause)}`, {}, { target, stage: "target-classification" });
|
|
317
354
|
}
|
|
355
|
+
}
|
|
356
|
+
if (kind === "directory") {
|
|
357
|
+
return refuse("target-not-a-program", `EXEC target '${target}' is a directory, not a program.`, "Run in a directory with `{cwd=<directory>}` and put the command in the body.", { target });
|
|
358
|
+
}
|
|
359
|
+
if (kind === "missing") {
|
|
318
360
|
// The target is not a script here, but it may be a registered tool of another
|
|
319
|
-
//
|
|
361
|
+
// executor — say so first; that is what exists (#388).
|
|
320
362
|
const executors = core.executors;
|
|
321
363
|
const ownerRuntimes = executors === undefined
|
|
322
364
|
? []
|
|
323
365
|
: executors.availableRuntimes(core.functionalityWorkerId)
|
|
324
366
|
.filter((tag) => executors.toolRegistry(tag, core.functionalityWorkerId)?.tools.some((tool) => tool.target === target) === true);
|
|
325
367
|
const recovery = ownerRuntimes.length === 0
|
|
326
|
-
? "
|
|
327
|
-
: `Run the registered tool with
|
|
328
|
-
return refuse("target-not-found", "The EXEC
|
|
368
|
+
? "Name an existing script as the program, or place a shell command beneath a bare `### EXEC0`."
|
|
369
|
+
: `Run the registered tool with \`### EXEC0 [${ownerRuntimes[0]}] (${target})\`.`;
|
|
370
|
+
return refuse("target-not-found", "The EXEC program does not resolve as a script or a registered tool for this executor.", recovery, { target, ...(ownerRuntimes.length === 0 ? {} : { toolRuntimes: ownerRuntimes }) });
|
|
329
371
|
}
|
|
330
372
|
}
|
|
331
373
|
if (!hasBody && target === null && resourceSource === null) {
|
|
@@ -348,15 +390,17 @@ export default class Exec extends CoreSchemeAdapterBase {
|
|
|
348
390
|
const marks = statement.lineMarker?.marks;
|
|
349
391
|
const timeoutSec = typeof marks?.[0] === "number" && marks[0] > 0 ? Math.floor(marks[0]) * 60 : undefined;
|
|
350
392
|
const turnScoped = typeof marks?.[0] === "number" && marks[0] === 0;
|
|
393
|
+
const detached = typeof marks?.[0] === "number" && marks[0] === -1;
|
|
351
394
|
const pollSec = typeof marks?.[1] === "number" && marks[1] >= 0 ? Math.floor(marks[1]) * 60 : undefined;
|
|
352
395
|
const attrs = {
|
|
353
396
|
runtime, cwd, body, target, pathname: "", effect,
|
|
354
397
|
...(resourceSource !== null ? { resourceSource } : {}),
|
|
355
398
|
...(timeoutSec !== undefined ? { timeoutSec } : {}),
|
|
356
399
|
...(turnScoped ? { turnScoped: true } : {}),
|
|
400
|
+
...(detached ? { detached: true } : {}),
|
|
357
401
|
...(pollSec !== undefined ? { pollSec } : {}),
|
|
358
402
|
};
|
|
359
|
-
const previewInput = body !== "" ? body :
|
|
403
|
+
const previewInput = body !== "" ? body : execTarget?.raw ?? "";
|
|
360
404
|
const preview = runtime !== "" ? `[${runtime}] ${previewInput}` : `$ ${previewInput}`;
|
|
361
405
|
return { status: 202, body: preview, attrs }; // host runtime proposes with 202 — {§exec-host-proposes}
|
|
362
406
|
}
|
|
@@ -387,7 +431,6 @@ export default class Exec extends CoreSchemeAdapterBase {
|
|
|
387
431
|
op: "READ",
|
|
388
432
|
delimiter: "",
|
|
389
433
|
annotation: null,
|
|
390
|
-
signal: null,
|
|
391
434
|
target: sourceTarget,
|
|
392
435
|
metadata: args.metadata === null ? null : [...args.metadata],
|
|
393
436
|
lineMarker: { marks: [1, -1] },
|
|
@@ -460,7 +503,9 @@ export default class Exec extends CoreSchemeAdapterBase {
|
|
|
460
503
|
});
|
|
461
504
|
const controller = new AbortController();
|
|
462
505
|
let unlink = () => { };
|
|
463
|
-
|
|
506
|
+
// {§exec-timeout} — `<-1>` outlives the loop: it never binds to the loop's teardown; only KILL,
|
|
507
|
+
// the worker's total reap, and daemon shutdown end it.
|
|
508
|
+
if (core.signal !== undefined && attrs.detached !== true) {
|
|
464
509
|
const parent = core.signal;
|
|
465
510
|
// The spawn's kill binds to its loop's cancellation epoch (ctx.signal —
|
|
466
511
|
// captured here, stable for the loop). The parent only aborts on FORCEFUL loop
|
|
@@ -476,7 +521,7 @@ export default class Exec extends CoreSchemeAdapterBase {
|
|
|
476
521
|
if (parent.aborted)
|
|
477
522
|
controller.abort(ExecAbort.teardownReason());
|
|
478
523
|
}
|
|
479
|
-
this.#activeAborts.set(subscriptionId, { workerId: core.workerId, turnId: core.turnId, pathname, runtime, effect, controller, unlink });
|
|
524
|
+
this.#activeAborts.set(subscriptionId, { workerId: core.workerId, turnId: core.turnId, pathname, runtime, effect, controller, unlink, detached: attrs.detached === true });
|
|
480
525
|
this.liveSubscriptions().register(subscriptionId, {
|
|
481
526
|
cancel: () => controller.abort(ExecAbort.teardownReason()),
|
|
482
527
|
});
|
|
@@ -623,8 +668,6 @@ export default class Exec extends CoreSchemeAdapterBase {
|
|
|
623
668
|
throw new Error(web.bodyOutcome.failure?.detail
|
|
624
669
|
?? `entry(): '${path.slice(0, 80)}' produced no readable body`);
|
|
625
670
|
}
|
|
626
|
-
const tags = TagSignal.applied(opts.tags.map((tag) => `+${tag}`)).add;
|
|
627
|
-
const tagSignal = tags.map((tag) => `+${tag}`);
|
|
628
671
|
// {§exec-entry-sink}/{§html-materialization} The shared
|
|
629
672
|
// materializer owns the decisive projection and its provenance.
|
|
630
673
|
const channels = WebFetcher.materializedChannels(web, content === null && fetchAddress !== null
|
|
@@ -677,10 +720,8 @@ export default class Exec extends CoreSchemeAdapterBase {
|
|
|
677
720
|
}
|
|
678
721
|
const logRow = await db.engine_insert_log_entry.get({
|
|
679
722
|
worker_id: narration.workerId, loop_id: narration.loopId, turn_id: narration.turnId, sequence,
|
|
680
|
-
// signal carries additive tag terms through the same slot a model's EDIT uses, so the
|
|
681
|
-
// ambient row renders its tags natively everywhere (packet meta line, digest).
|
|
682
723
|
origin: "_plurnk", source: causalSource, model_call_id: null,
|
|
683
|
-
op: "EDIT", delimiter: "", signal:
|
|
724
|
+
op: "EDIT", delimiter: "", signal: null,
|
|
684
725
|
scheme, username: null, password: null,
|
|
685
726
|
hostname: address === null ? null : parsed.hostname,
|
|
686
727
|
port: address === null ? null : parsed.port,
|
package/dist/schemes/Exec.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Exec.js","sourceRoot":"","sources":["../../src/schemes/Exec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Exec.js","sourceRoot":"","sources":["../../src/schemes/Exec.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ import type { CoreEntryAddress, CoreSchemeCallContext } from "../core/CoreScheme
|
|
|
9
9
|
import { type SchemeResultBase } from "../core/results.ts";
|
|
10
10
|
import type { RuntimeSchemeFacet } from "../server/DaemonModule.ts";
|
|
11
11
|
import type { EntryAddress, RepresentationPreparationRequest, RepresentationPreparationResult } from "@plurnk/plurnk-schemes";
|
|
12
|
+
import type { TextLineMarker } from "@plurnk/plurnk-contracts";
|
|
12
13
|
export default class ExecOutputScheme extends CoreSchemeAdapterBase {
|
|
13
14
|
#private;
|
|
14
15
|
constructor(executor: Executor, exec: Exec, facet?: RuntimeSchemeFacet);
|
|
@@ -17,6 +18,6 @@ export default class ExecOutputScheme extends CoreSchemeAdapterBase {
|
|
|
17
18
|
prepareRepresentation(request: RepresentationPreparationRequest, ctx: CoreSchemeCallContext): Promise<RepresentationPreparationResult>;
|
|
18
19
|
find(statement: FindStatement, ctx: CoreSchemeCallContext): Promise<FindResult>;
|
|
19
20
|
readEntry(pathname: string, ctx: CoreSchemeCallContext): Promise<ReadEntryResult>;
|
|
20
|
-
kill(pathname: string,
|
|
21
|
+
kill(pathname: string, scope: TextLineMarker | null, ctx: CoreSchemeCallContext): Promise<SchemeResultBase>;
|
|
21
22
|
}
|
|
22
23
|
//# sourceMappingURL=ExecOutputScheme.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExecOutputScheme.d.ts","sourceRoot":"","sources":["../../src/schemes/ExecOutputScheme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAkB,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAkB,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC7F,OAAgB,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,KAAK,EACR,YAAY,EACZ,gCAAgC,EAChC,+BAA+B,EAElC,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"ExecOutputScheme.d.ts","sourceRoot":"","sources":["../../src/schemes/ExecOutputScheme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAkB,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAkB,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC7F,OAAgB,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,KAAK,EACR,YAAY,EACZ,gCAAgC,EAChC,+BAA+B,EAElC,MAAM,wBAAwB,CAAC;AAGhC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAkB/D,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,qBAAqB;;IAK/D,YAAY,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,kBAAkB,EAKrE;IAED,IAAI,QAAQ,IAAI,cAAc,CAE7B;IAmBK,mBAAmB,CACrB,MAAM,EAAE,UAAU,EAClB,GAAG,EAAE,qBAAqB,GAC3B,OAAO,CAAC,YAAY,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,IAAI,CAAC,CAkCpE;IAEK,qBAAqB,CACvB,OAAO,EAAE,gCAAgC,EACzC,GAAG,EAAE,qBAAqB,GAC3B,OAAO,CAAC,+BAA+B,CAAC,CAG1C;IAEK,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,UAAU,CAAC,CAgBpF;IAKK,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC,CAGtF;IAIK,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,IAAI,EAAE,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAIhH;CACJ"}
|
|
@@ -9,7 +9,7 @@ import { renderAddress } from "../core/plurnk-uri.js";
|
|
|
9
9
|
// {§stream-owner-scoped} — a stream 404 discloses nothing about existence; it may still say what
|
|
10
10
|
// the address space IS: loop coordinates, the caller's own streams unqualified, a descendant's by
|
|
11
11
|
// worker name, and a tool's own ids as arguments rather than addresses (#392).
|
|
12
|
-
const streamAddressSpace = (scheme) => `\`${scheme}:///<loop>/<turn>/<item
|
|
12
|
+
const streamAddressSpace = (scheme) => `\`${scheme}:///<loop>/<turn>/<item>/EXEC\` addresses this runtime's result streams — your own without a qualifier, another worker's as \`${scheme}://<worker>/…\`. A tool's own ids are arguments: \`### EXEC0 [<executor>] (<tool>)\` with the id in the body.`;
|
|
13
13
|
// {§executor-scheme-output} An executor is a scheme; its output lives at <tag>://. Each discovered
|
|
14
14
|
// executor registers this face under its runtime tag, so READ/FIND <tag>://<coord>
|
|
15
15
|
// read PRIOR output, scoped to the tag's stored entries via the executor's OWN
|
|
@@ -96,10 +96,10 @@ export default class ExecOutputScheme extends CoreSchemeAdapterBase {
|
|
|
96
96
|
}
|
|
97
97
|
// Process-KILL by coordinate — the spawn-abort state (#activeAborts) lives on the
|
|
98
98
|
// one Exec handler, so the per-tag face delegates to it.
|
|
99
|
-
async kill(pathname,
|
|
99
|
+
async kill(pathname, scope, ctx) {
|
|
100
100
|
// The face names its own tag: the terminal status of a finished stream lives under the
|
|
101
101
|
// runtime scheme (`sh:///…`), so a second KILL answers 410, never a 404 under `exec`.
|
|
102
|
-
return this.#exec.kill(pathname,
|
|
102
|
+
return this.#exec.kill(pathname, scope, ctx, this.#executor.manifest.name);
|
|
103
103
|
}
|
|
104
104
|
}
|
|
105
105
|
//# sourceMappingURL=ExecOutputScheme.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExecOutputScheme.js","sourceRoot":"","sources":["../../src/schemes/ExecOutputScheme.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,SAA8B,MAAM,kBAAkB,CAAC;AAC9D,OAAO,SAAmC,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,OAAO,OAAkC,MAAM,oBAAoB,CAAC;AAEpE,OAAO,aAAa,MAAM,+BAA+B,CAAC;AAO1D,OAAO,KAAK,MAAM,kBAAkB,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"ExecOutputScheme.js","sourceRoot":"","sources":["../../src/schemes/ExecOutputScheme.ts"],"names":[],"mappings":"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"}
|
package/dist/schemes/File.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { FindStatement, ParsedPath } from "@plurnk/plurnk-contracts";
|
|
2
|
-
import type { SchemeManifest } from "../core/scheme-types.ts";
|
|
2
|
+
import type { SchemeManifest, PlurnkSchemeContext } from "../core/scheme-types.ts";
|
|
3
3
|
import type { FindResult } from "./_entry-find.ts";
|
|
4
4
|
import type { ReadEntryResult, EntryData, WriteEntryResult, DeleteEntryResult } from "./_entry-crud.ts";
|
|
5
5
|
import { CoreSchemeAdapterBase } from "../core/CoreSchemeServices.ts";
|
|
6
6
|
import type { CoreSchemeCallContext } from "../core/CoreSchemeServices.ts";
|
|
7
7
|
import { type SchemeResultBase } from "../core/results.ts";
|
|
8
|
+
import type { ByteSource } from "../content/byte-view.ts";
|
|
8
9
|
import { type EntryAddress, type ResolvedEditStatement, type ProposalApplyResult } from "@plurnk/plurnk-schemes";
|
|
9
10
|
import type { EditBatchReceipt } from "../content/index.ts";
|
|
10
11
|
type EditResult = SchemeResultBase & {
|
|
@@ -33,6 +34,8 @@ export default class File extends CoreSchemeAdapterBase {
|
|
|
33
34
|
resolveEntryAddress(target: ParsedPath, ctx: CoreSchemeCallContext): Promise<EntryAddress | null>;
|
|
34
35
|
find(statement: FindStatement, ctx: CoreSchemeCallContext): Promise<FindResult>;
|
|
35
36
|
readEntry(pathname: string, ctx: CoreSchemeCallContext): Promise<ReadEntryResult>;
|
|
37
|
+
byteSource(pathname: string, core: Pick<PlurnkSchemeContext, "db" | "workspaceId">): ByteSource;
|
|
38
|
+
missRefusal(pathname: string, core: PlurnkSchemeContext, fields: Record<string, null>): Promise<SchemeResultBase | null>;
|
|
36
39
|
editBatch(statements: readonly ResolvedEditStatement[], ctx: CoreSchemeCallContext): Promise<EditResult>;
|
|
37
40
|
edit(statement: ResolvedEditStatement, ctx: CoreSchemeCallContext): Promise<EditResult>;
|
|
38
41
|
writeEntry(pathname: string, entry: EntryData, ctx: CoreSchemeCallContext): Promise<WriteEntryResult>;
|