@plurnk/plurnk-execs 1.4.0 → 1.6.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/README.md +7 -4
- package/SPEC.md +76 -26
- package/dist/RuntimeDeclaration.d.ts +5 -0
- package/dist/RuntimeDeclaration.d.ts.map +1 -0
- package/dist/RuntimeDeclaration.js +34 -0
- package/dist/RuntimeDeclaration.js.map +1 -0
- package/dist/RuntimeInvocation.d.ts +5 -0
- package/dist/RuntimeInvocation.d.ts.map +1 -0
- package/dist/RuntimeInvocation.js +111 -0
- package/dist/RuntimeInvocation.js.map +1 -0
- package/dist/SubprocessExecutor.d.ts +1 -1
- package/dist/SubprocessExecutor.d.ts.map +1 -1
- package/dist/SubprocessExecutor.js +5 -5
- package/dist/SubprocessExecutor.js.map +1 -1
- package/dist/discover.d.ts.map +1 -1
- package/dist/discover.js +9 -13
- package/dist/discover.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +24 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -36,7 +36,10 @@ runtime declarations, and a default-exported `BaseExecutor` subclass.
|
|
|
36
36
|
{
|
|
37
37
|
"name": "cobol",
|
|
38
38
|
"glyph": "🗄",
|
|
39
|
-
"
|
|
39
|
+
"invocation": {
|
|
40
|
+
"body": { "role": "COBOL program", "required": true },
|
|
41
|
+
"example": { "body": "DISPLAY 'HELLO'." }
|
|
42
|
+
}
|
|
40
43
|
}
|
|
41
44
|
]
|
|
42
45
|
}
|
|
@@ -45,9 +48,9 @@ runtime declarations, and a default-exported `BaseExecutor` subclass.
|
|
|
45
48
|
|
|
46
49
|
One package may claim several tags; the consumer instantiates and probes each
|
|
47
50
|
tag independently. A name uses lowercase URI-scheme syntax
|
|
48
|
-
`[a-z][a-z0-9+.-]*`; `only` is reserved by runtime policy. `
|
|
49
|
-
|
|
50
|
-
|
|
51
|
+
`[a-z][a-z0-9+.-]*`; `only` is reserved by runtime policy. `invocation`
|
|
52
|
+
defines the body and optional target buckets plus one canonical example used
|
|
53
|
+
for both dispatch enforcement and the generated tool table. A `docs/<tag>.md` file supplies full reference
|
|
51
54
|
material. See {§executor-runtime-declaration}.
|
|
52
55
|
|
|
53
56
|
### Implement the executor
|
package/SPEC.md
CHANGED
|
@@ -5,18 +5,19 @@ the framework; executor leaves implement it.
|
|
|
5
5
|
|
|
6
6
|
## §executor-role Role and ownership
|
|
7
7
|
|
|
8
|
-
An executor owns
|
|
9
|
-
target to work, declared output channels,
|
|
10
|
-
classification. The consumer owns
|
|
11
|
-
|
|
12
|
-
|
|
8
|
+
An executor owns one declared runtime-specific invocation shape, its mapping
|
|
9
|
+
from that EXEC body and realized target to work, declared output channels,
|
|
10
|
+
environment availability, and effect classification. The consumer owns
|
|
11
|
+
dispatch, invocation-shape enforcement and target realization, proposal policy,
|
|
12
|
+
storage, subscriptions, deadlines, polling, cancellation delivery, packet
|
|
13
|
+
projection, and all reads of stored output.
|
|
13
14
|
|
|
14
15
|
```mermaid
|
|
15
16
|
flowchart LR
|
|
16
17
|
Manifest["package runtime declarations"] --> Discover["framework discovery"]
|
|
17
18
|
Discover --> Registry["runtime-tag registry"]
|
|
18
19
|
Registry --> Probe["consumer instantiates and probes each tag"]
|
|
19
|
-
Request["EXEC
|
|
20
|
+
Request["EXEC with runtime tag"] --> Effect["executor effect fact"]
|
|
20
21
|
Effect --> Admission["consumer proposal policy"]
|
|
21
22
|
Admission --> Stream["consumer creates tag-addressed stream"]
|
|
22
23
|
Stream --> Run["executor run with consumer sinks"]
|
|
@@ -50,7 +51,7 @@ interface ChannelDecl {
|
|
|
50
51
|
|
|
51
52
|
interface ExecArgs {
|
|
52
53
|
runtime: string;
|
|
53
|
-
|
|
54
|
+
body: string;
|
|
54
55
|
cwd: string | null;
|
|
55
56
|
target: string | null;
|
|
56
57
|
env?: NodeJS.ProcessEnv;
|
|
@@ -78,16 +79,17 @@ The framework constructs one executor per matched runtime tag with
|
|
|
78
79
|
`this.runtime`; it must not retain per-run state on the executor instance. The
|
|
79
80
|
derived addressable runtime scheme retains `glyph` for client discovery
|
|
80
81
|
({§manifest-client-display}); runtime aliases remain excluded from scheme
|
|
81
|
-
model-teaching because EXEC
|
|
82
|
+
model-teaching because the EXEC invocation directory owns that hot-path
|
|
83
|
+
surface.
|
|
82
84
|
|
|
83
85
|
### §executor-sinks Inputs and sinks
|
|
84
86
|
|
|
85
87
|
| Field | Contract |
|
|
86
88
|
| ---------- | ------------------------------------------------------------------------------------------------------- |
|
|
87
89
|
| `runtime` | The matched tag. |
|
|
88
|
-
| `
|
|
90
|
+
| `body` | The authored EXEC body, interpreted according to the runtime's invocation declaration. |
|
|
89
91
|
| `cwd` | Consumer-selected project working directory, or `null` for a runtime that has none. |
|
|
90
|
-
| `target` | Consumer-
|
|
92
|
+
| `target` | Consumer-realized optional EXEC target. Its representation and role come from the invocation declaration. |
|
|
91
93
|
| `env` | Exact child environment when supplied. A subprocess must use it instead of reconstructing host policy. |
|
|
92
94
|
| `signal` | Consumer cancellation. Every executor must honor it at each cancellable boundary. |
|
|
93
95
|
| `write` | Append to a declared channel. An optional mimetype replaces that channel's per-call output type. |
|
|
@@ -106,7 +108,14 @@ entry from that declaration and rejects writes or state transitions for an
|
|
|
106
108
|
undeclared channel. `defaultChannel` is the fragmentless READ channel and
|
|
107
109
|
defaults to the first declared channel. Subprocess executors declare
|
|
108
110
|
`stdout` and `stderr`, with `stdout` first; logical runtimes commonly declare
|
|
109
|
-
`results`.
|
|
111
|
+
`results`. The declared or per-write mimetype remains the channel's content
|
|
112
|
+
type through storage and model observation; the consumer derives incremental
|
|
113
|
+
versus atomic publication from that type under {§exec-stream}.
|
|
114
|
+
|
|
115
|
+
An executor that produces a generated JSON value uses the contracts-owned
|
|
116
|
+
`renderJsonResult` projection ({§json-result-rendering}). This gives a
|
|
117
|
+
top-level result array one addressable item per physical line without
|
|
118
|
+
reformatting arbitrary source JSON read from an entry.
|
|
110
119
|
|
|
111
120
|
### §executor-results Results, failures, and notices
|
|
112
121
|
|
|
@@ -195,8 +204,9 @@ belong to core's {§stream-owner-scoped} and {§exec-stream} contracts.
|
|
|
195
204
|
|
|
196
205
|
`entry(path, content, { tags, mimetype? })` is a consumer-implemented sink, not
|
|
197
206
|
executor access to storage. The consumer materializes or updates an entry,
|
|
198
|
-
|
|
199
|
-
canonical model-facing address.
|
|
207
|
+
uses the tags to classify its ordinary journal announcement, and resolves the
|
|
208
|
+
canonical model-facing address. Tags never become resource metadata.
|
|
209
|
+
`content === null` requests consumer-sourced
|
|
200
210
|
acquisition. Rejection means only that this materialization failed; it does not
|
|
201
211
|
invalidate the executor's upstream result. When the sink is absent, the
|
|
202
212
|
executor preserves its result without inventing a materialization verdict.
|
|
@@ -218,7 +228,10 @@ carries the canonical attribution fact from {§plugin-attribution}.
|
|
|
218
228
|
{
|
|
219
229
|
"name": "cobol",
|
|
220
230
|
"glyph": "🗄",
|
|
221
|
-
"
|
|
231
|
+
"invocation": {
|
|
232
|
+
"body": { "role": "COBOL program", "required": true },
|
|
233
|
+
"example": { "body": "DISPLAY 'HELLO'." }
|
|
234
|
+
}
|
|
222
235
|
}
|
|
223
236
|
]
|
|
224
237
|
}
|
|
@@ -257,16 +270,52 @@ at boot; changing package membership or configuration requires a restart.
|
|
|
257
270
|
| --------------- | -------------------------------------------------------------------------------------------------- |
|
|
258
271
|
| `name` | Canonical runtime tag and derived output-scheme name, admitted below. |
|
|
259
272
|
| `glyph` | Optional presentation glyph. |
|
|
260
|
-
| `
|
|
273
|
+
| `invocation` | Required body and target contract, validated and normalized below. |
|
|
261
274
|
| `documentation` | Optional full Markdown reference. `docs/<tag>.md` wins over the inline manifest field. |
|
|
262
275
|
| `attribution` | Published per-tag projection of the validated package declaration ({§plugin-attribution}). |
|
|
263
276
|
| `packageName` | Package that owns and default-exports the executor implementation. |
|
|
264
277
|
|
|
265
|
-
The framework carries
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
278
|
+
The framework carries invocation metadata and documentation content unchanged
|
|
279
|
+
after validating the invocation. The consumer derives its complete always-on
|
|
280
|
+
tools directory, including one concise invocation example per selector, from
|
|
281
|
+
that metadata; detailed instruction remains in on-demand documentation. A
|
|
282
|
+
multi-tag package appears at most once in `Discovery.packageAttributions`, and
|
|
283
|
+
only when at least one of its tags survives discovery policy. An instantiated
|
|
284
|
+
executor may add attempt-time tags through the shared runtime hook
|
|
285
|
+
({§plugin-attribution}).
|
|
286
|
+
|
|
287
|
+
§executor-invocation Every runtime declares exactly one invocation contract:
|
|
288
|
+
|
|
289
|
+
| Field | Contract |
|
|
290
|
+
| ------------------ | --------------------------------------------------------------------------------------------------------- |
|
|
291
|
+
| `body.role` | One-line model-facing description of the authored body. |
|
|
292
|
+
| `body.required` | When true, an empty body is refused before effect admission. |
|
|
293
|
+
| `target` | Omitted when this runtime accepts no target; a present authored target is then refused. |
|
|
294
|
+
| `target.role` | One-line model-facing description of the target. |
|
|
295
|
+
| `target.required` | When true, an absent target is refused before effect admission. |
|
|
296
|
+
| `target.kind` | One of the structural realization modes below. |
|
|
297
|
+
| `target.directory` | Optional `"cwd"`: only a local directory becomes `cwd`; every non-directory remains the declared target. |
|
|
298
|
+
| `exclusive` | Optional `true`: body and target are alternative inputs and supplying both is refused. |
|
|
299
|
+
| `example` | Required concise invocation witness with a one-line `body`, `target`, or both as the declared shape permits. |
|
|
300
|
+
|
|
301
|
+
| Target kind | Consumer realization |
|
|
302
|
+
| ----------- | ------------------------------------------------------------------------------------------------------------------------------ |
|
|
303
|
+
| `literal` | Preserve the complete authored target string. It is an executor identifier, never a scheme read or filesystem classification. |
|
|
304
|
+
| `path` | Accept only a local or `file://` path and pass that path directly, subject only to an explicit directory rule. |
|
|
305
|
+
| `resource` | Pass a local/file path directly; resolve a non-file data-scheme address through one exact READ and materialize its string representation to a temporary file. |
|
|
306
|
+
|
|
307
|
+
Every EXEC must supply at least a body or target even when neither field is
|
|
308
|
+
independently required. A target's meaning never changes because the body is
|
|
309
|
+
empty or non-empty. `exclusive` requires a target declaration; `directory` is
|
|
310
|
+
valid only for `path` and `resource` target kinds. The example must satisfy the
|
|
311
|
+
same required, refused, and exclusive buckets and parse as exactly one EXEC
|
|
312
|
+
section for the runtime. An invocation declaration
|
|
313
|
+
with a missing field, unknown field, invalid combination, multiline role, or
|
|
314
|
+
wrong primitive type is a fail-hard plugin contract violation before
|
|
315
|
+
registration. Static, dynamic-hook, and module-owned runtimes use this same
|
|
316
|
+
validation path. The enclosing runtime declaration is closed to `name`,
|
|
317
|
+
`glyph`, `invocation`, and `documentation`; unknown or mistyped metadata is a
|
|
318
|
+
contract violation rather than silently ignored teaching.
|
|
270
319
|
|
|
271
320
|
Runtime-name admission is one identity contract:
|
|
272
321
|
|
|
@@ -341,7 +390,7 @@ tags are offered in a particular workspace ({§bundled-set}).
|
|
|
341
390
|
| -------- | ---------------------------------------------------------------------------------------------------------- | ------------------------------- | ---------------------------------- |
|
|
342
391
|
| `common` | `sh`, `bash`, `node`, `python`, `python3`, `perl`, `ruby`, `php`, `lua`, `deno`, `bun`, `tcl`, `bc`, `awk` | `host` | `stdout`, `stderr` / `text/stream` |
|
|
343
392
|
| `git` | `git` | `host` | `stdout`, `stderr` / `text/stream` |
|
|
344
|
-
| `search` | `search`, `
|
|
393
|
+
| `search` | `search`, `news` | `read` | `results` / `application/json` |
|
|
345
394
|
| `jq` | `jq` | no target `pure`; target `read` | `results` / `application/jsonl` |
|
|
346
395
|
| `sqlite` | `sqlite` | memory `pure`; file `host` | `results` / `application/json` |
|
|
347
396
|
| `wasm` | `wat`, `wasm` | no target `pure`; file `read` | `results` / `application/json` |
|
|
@@ -367,13 +416,14 @@ interface SpawnArgs {
|
|
|
367
416
|
| Runtime | No-target spawn |
|
|
368
417
|
| -------------------------- | -------------------------------------------------------------------- |
|
|
369
418
|
| `sh` / `bash` | Shell command line. |
|
|
370
|
-
| `node` | `node -e <
|
|
371
|
-
| `python` / `python3` | `python3 -c <
|
|
372
|
-
| Other default-base runtime | `<runtime> -c <
|
|
419
|
+
| `node` | `node -e <body>`. |
|
|
420
|
+
| `python` / `python3` | `python3 -c <body>`. |
|
|
421
|
+
| Other default-base runtime | `<runtime> -c <body>`; specialized leaves override this fallback. |
|
|
373
422
|
|
|
374
423
|
With a target, the target is the program and the body is its stdin. Core
|
|
375
|
-
|
|
376
|
-
|
|
424
|
+
routes a local directory to `cwd` only when that runtime's invocation
|
|
425
|
+
declaration opts into the directory rule; every other target remains the
|
|
426
|
+
executor target. Data runtimes define their own declared target kind and role.
|
|
377
427
|
|
|
378
428
|
Subprocess leaves inherit stdout/stderr streaming, scoped-environment handoff,
|
|
379
429
|
availability probing, operation results, exit code, and process-group
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RuntimeDeclaration.d.ts","sourceRoot":"","sources":["../src/RuntimeDeclaration.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAI9C,MAAM,CAAC,OAAO,OAAO,kBAAkB;IACnC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,WAAW,CA4BxD;CACJ"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import RuntimeInvocation from "./RuntimeInvocation.js";
|
|
2
|
+
import RuntimeTag from "./RuntimeTag.js";
|
|
3
|
+
const FIELDS = new Set(["name", "glyph", "invocation", "documentation"]);
|
|
4
|
+
export default class RuntimeDeclaration {
|
|
5
|
+
static assert(value, owner) {
|
|
6
|
+
const fail = (detail) => {
|
|
7
|
+
throw new Error(`runtime declaration invalid: ${owner} ${detail}`);
|
|
8
|
+
};
|
|
9
|
+
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
10
|
+
fail("declaration must be an object");
|
|
11
|
+
}
|
|
12
|
+
const declaration = value;
|
|
13
|
+
const unknown = Object.keys(declaration).find((key) => !FIELDS.has(key));
|
|
14
|
+
if (unknown !== undefined)
|
|
15
|
+
fail(`declaration has unknown field '${unknown}'`);
|
|
16
|
+
const name = RuntimeTag.assert(declaration.name, owner);
|
|
17
|
+
const invocation = RuntimeInvocation.assert(declaration.invocation, owner, name);
|
|
18
|
+
if ("glyph" in declaration && typeof declaration.glyph !== "string") {
|
|
19
|
+
fail("glyph must be a string");
|
|
20
|
+
}
|
|
21
|
+
if ("documentation" in declaration && typeof declaration.documentation !== "string") {
|
|
22
|
+
fail("documentation must be a string");
|
|
23
|
+
}
|
|
24
|
+
return {
|
|
25
|
+
name,
|
|
26
|
+
invocation,
|
|
27
|
+
...(declaration.glyph === undefined ? {} : { glyph: declaration.glyph }),
|
|
28
|
+
...(declaration.documentation === undefined
|
|
29
|
+
? {}
|
|
30
|
+
: { documentation: declaration.documentation }),
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=RuntimeDeclaration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RuntimeDeclaration.js","sourceRoot":"","sources":["../src/RuntimeDeclaration.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AACvD,OAAO,UAAU,MAAM,iBAAiB,CAAC;AAGzC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC;AAEzE,MAAM,CAAC,OAAO,OAAO,kBAAkB;IACnC,MAAM,CAAC,MAAM,CAAC,KAAc,EAAE,KAAa;QACvC,MAAM,IAAI,GAAG,CAAC,MAAc,EAAS,EAAE;YACnC,MAAM,IAAI,KAAK,CAAC,gCAAgC,KAAK,IAAI,MAAM,EAAE,CAAC,CAAC;QACvE,CAAC,CAAC;QACF,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACtE,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,WAAW,GAAG,KAAgC,CAAC;QACrD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACzE,IAAI,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,kCAAkC,OAAO,GAAG,CAAC,CAAC;QAE9E,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACjF,IAAI,OAAO,IAAI,WAAW,IAAI,OAAO,WAAW,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAClE,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,eAAe,IAAI,WAAW,IAAI,OAAO,WAAW,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;YAClF,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO;YACH,IAAI;YACJ,UAAU;YACV,GAAG,CAAC,WAAW,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,KAAe,EAAE,CAAC;YAClF,GAAG,CAAC,WAAW,CAAC,aAAa,KAAK,SAAS;gBACvC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,aAAa,EAAE,WAAW,CAAC,aAAuB,EAAE,CAAC;SAChE,CAAC;IACN,CAAC;CACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RuntimeInvocation.d.ts","sourceRoot":"","sources":["../src/RuntimeInvocation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAGR,iBAAiB,IAAI,qBAAqB,EAG7C,MAAM,YAAY,CAAC;AAwDpB,MAAM,CAAC,OAAO,OAAO,iBAAiB;IAClC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,qBAAqB,CA0EzF;CACJ"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { PlurnkParser } from "@plurnk/plurnk-contracts";
|
|
2
|
+
const TARGET_KINDS = new Set(["literal", "path", "resource"]);
|
|
3
|
+
const recordOf = (value, field, fail) => {
|
|
4
|
+
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
5
|
+
fail(`${field} must be an object`);
|
|
6
|
+
}
|
|
7
|
+
return value;
|
|
8
|
+
};
|
|
9
|
+
const assertKnownFields = (value, allowed, field, fail) => {
|
|
10
|
+
const unknown = Object.keys(value).find((key) => !allowed.has(key));
|
|
11
|
+
if (unknown !== undefined)
|
|
12
|
+
fail(`${field} has unknown field '${unknown}'`);
|
|
13
|
+
};
|
|
14
|
+
const roleOf = (value, field, fail) => {
|
|
15
|
+
if (typeof value !== "string" || value.trim() === "" || /[\r\n]/.test(value)) {
|
|
16
|
+
fail(`${field} must be one non-empty line`);
|
|
17
|
+
}
|
|
18
|
+
return value.trim();
|
|
19
|
+
};
|
|
20
|
+
const requiredOf = (value, field, fail) => {
|
|
21
|
+
if (typeof value !== "boolean")
|
|
22
|
+
fail(`${field} must be boolean`);
|
|
23
|
+
return value;
|
|
24
|
+
};
|
|
25
|
+
const exampleLineOf = (value, field, fail) => {
|
|
26
|
+
if (typeof value !== "string" || value.trim() === "" || value !== value.trim() || /[\r\n]/.test(value)) {
|
|
27
|
+
fail(`${field} must be one non-empty canonical line`);
|
|
28
|
+
}
|
|
29
|
+
return value;
|
|
30
|
+
};
|
|
31
|
+
export default class RuntimeInvocation {
|
|
32
|
+
static assert(value, packageName, runtime) {
|
|
33
|
+
const fail = (detail) => {
|
|
34
|
+
throw new Error(`runtime declaration invalid: ${packageName} '${runtime}' ${detail}`);
|
|
35
|
+
};
|
|
36
|
+
const invocation = recordOf(value, "invocation", fail);
|
|
37
|
+
assertKnownFields(invocation, new Set(["body", "target", "exclusive", "example"]), "invocation", fail);
|
|
38
|
+
const bodyValue = recordOf(invocation.body, "invocation.body", fail);
|
|
39
|
+
assertKnownFields(bodyValue, new Set(["role", "required"]), "invocation.body", fail);
|
|
40
|
+
const body = {
|
|
41
|
+
role: roleOf(bodyValue.role, "invocation.body.role", fail),
|
|
42
|
+
required: requiredOf(bodyValue.required, "invocation.body.required", fail),
|
|
43
|
+
};
|
|
44
|
+
let exclusive = false;
|
|
45
|
+
if ("exclusive" in invocation) {
|
|
46
|
+
exclusive = requiredOf(invocation.exclusive, "invocation.exclusive", fail);
|
|
47
|
+
}
|
|
48
|
+
let target;
|
|
49
|
+
if ("target" in invocation) {
|
|
50
|
+
const targetValue = recordOf(invocation.target, "invocation.target", fail);
|
|
51
|
+
assertKnownFields(targetValue, new Set(["role", "required", "kind", "directory"]), "invocation.target", fail);
|
|
52
|
+
if (typeof targetValue.kind !== "string" || !TARGET_KINDS.has(targetValue.kind)) {
|
|
53
|
+
fail("invocation.target.kind must be literal, path, or resource");
|
|
54
|
+
}
|
|
55
|
+
const kind = targetValue.kind;
|
|
56
|
+
let directory;
|
|
57
|
+
if ("directory" in targetValue) {
|
|
58
|
+
if (targetValue.directory !== "cwd")
|
|
59
|
+
fail("invocation.target.directory must be cwd");
|
|
60
|
+
if (kind === "literal")
|
|
61
|
+
fail("literal target cannot route a directory to cwd");
|
|
62
|
+
directory = "cwd";
|
|
63
|
+
}
|
|
64
|
+
target = {
|
|
65
|
+
role: roleOf(targetValue.role, "invocation.target.role", fail),
|
|
66
|
+
required: requiredOf(targetValue.required, "invocation.target.required", fail),
|
|
67
|
+
kind,
|
|
68
|
+
...(directory === undefined ? {} : { directory }),
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
else if (exclusive) {
|
|
72
|
+
fail("exclusive invocation must declare a target");
|
|
73
|
+
}
|
|
74
|
+
const exampleValue = recordOf(invocation.example, "invocation.example", fail);
|
|
75
|
+
assertKnownFields(exampleValue, new Set(["body", "target"]), "invocation.example", fail);
|
|
76
|
+
const example = {
|
|
77
|
+
...("body" in exampleValue
|
|
78
|
+
? { body: exampleLineOf(exampleValue.body, "invocation.example.body", fail) }
|
|
79
|
+
: {}),
|
|
80
|
+
...("target" in exampleValue
|
|
81
|
+
? { target: exampleLineOf(exampleValue.target, "invocation.example.target", fail) }
|
|
82
|
+
: {}),
|
|
83
|
+
};
|
|
84
|
+
const hasBody = example.body !== undefined;
|
|
85
|
+
const hasTarget = example.target !== undefined;
|
|
86
|
+
if (!hasBody && !hasTarget)
|
|
87
|
+
fail("invocation.example must provide a body or target");
|
|
88
|
+
if (body.required && !hasBody)
|
|
89
|
+
fail("invocation.example must provide the required body");
|
|
90
|
+
if (target === undefined && hasTarget)
|
|
91
|
+
fail("invocation.example cannot provide a refused target");
|
|
92
|
+
if (target?.required === true && !hasTarget)
|
|
93
|
+
fail("invocation.example must provide the required target");
|
|
94
|
+
if (exclusive && hasBody && hasTarget)
|
|
95
|
+
fail("invocation.example must provide exactly one exclusive input");
|
|
96
|
+
const source = `## EXEC0 [${runtime}]${hasTarget ? ` (${example.target})` : ""}${hasBody ? `\n${example.body}` : ""}`;
|
|
97
|
+
const parsed = PlurnkParser.parseStatements(source);
|
|
98
|
+
const statements = parsed.items.filter((item) => item.kind === "statement");
|
|
99
|
+
const errors = parsed.items.filter((item) => item.kind === "error");
|
|
100
|
+
if (statements.length !== 1 || statements[0]?.statement.op !== "EXEC" || errors.length > 0 || parsed.unparsedTail !== undefined) {
|
|
101
|
+
fail("invocation.example must render one valid EXEC section");
|
|
102
|
+
}
|
|
103
|
+
return {
|
|
104
|
+
body,
|
|
105
|
+
...(target === undefined ? {} : { target }),
|
|
106
|
+
...(exclusive ? { exclusive: true } : {}),
|
|
107
|
+
example,
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=RuntimeInvocation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RuntimeInvocation.js","sourceRoot":"","sources":["../src/RuntimeInvocation.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,6 @@ export default class SubprocessExecutor extends BaseExecutor {
|
|
|
6
6
|
effect(_target: string | null): Effect;
|
|
7
7
|
probe(signal?: AbortSignal): Promise<RuntimeAvailability>;
|
|
8
8
|
protected spawnArgs(runtime: string, command: string, target: string | null): SpawnArgs;
|
|
9
|
-
run({ runtime,
|
|
9
|
+
run({ runtime, body, cwd, target, env, signal, write, setState }: ExecArgs): Promise<ExecResult>;
|
|
10
10
|
}
|
|
11
11
|
//# sourceMappingURL=SubprocessExecutor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SubprocessExecutor.d.ts","sourceRoot":"","sources":["../src/SubprocessExecutor.ts"],"names":[],"mappings":"AAEA,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAI7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAuB5G,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,YAAY;IACxD,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAKpD;IAKD,SAAS,KAAK,MAAM,IAAI,MAAM,GAAG,IAAI,CAEpC;IAGQ,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAE9C;IAEc,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA2BvE;IASD,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAEtF;IAED,GAAG,CAAC,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"SubprocessExecutor.d.ts","sourceRoot":"","sources":["../src/SubprocessExecutor.ts"],"names":[],"mappings":"AAEA,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAI7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAuB5G,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,YAAY;IACxD,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAKpD;IAKD,SAAS,KAAK,MAAM,IAAI,MAAM,GAAG,IAAI,CAEpC;IAGQ,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAE9C;IAEc,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA2BvE;IASD,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAEtF;IAED,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAuK/F;CACJ"}
|
|
@@ -4,7 +4,7 @@ import BaseExecutor from "./BaseExecutor.js";
|
|
|
4
4
|
import ErrorDetail, { ERROR_DETAIL_LIMIT } from "./ErrorDetail.js";
|
|
5
5
|
import Runtime from "./runtime.js";
|
|
6
6
|
import { CommandSyntaxError } from "./tokenizeArgv.js";
|
|
7
|
-
// KILL
|
|
7
|
+
// KILL signal: an abort reason carrying `{ signal }` (a Unix signal name or
|
|
8
8
|
// number) delivers exactly that signal, once, fire-and-forget — no escalation;
|
|
9
9
|
// the model asked for a specific code. Absent → null → the polite default.
|
|
10
10
|
const overrideSignal = (reason) => {
|
|
@@ -84,7 +84,7 @@ export default class SubprocessExecutor extends BaseExecutor {
|
|
|
84
84
|
spawnArgs(runtime, command, target) {
|
|
85
85
|
return Runtime.resolve(runtime, command, target);
|
|
86
86
|
}
|
|
87
|
-
run({ runtime,
|
|
87
|
+
run({ runtime, body, cwd, target, env, signal, write, setState }) {
|
|
88
88
|
const detailLimit = ErrorDetail.configuredLimit();
|
|
89
89
|
if (detailLimit === null) {
|
|
90
90
|
setState("stdout", "errored");
|
|
@@ -93,7 +93,7 @@ export default class SubprocessExecutor extends BaseExecutor {
|
|
|
93
93
|
}
|
|
94
94
|
let spawnArgs;
|
|
95
95
|
try {
|
|
96
|
-
spawnArgs = this.spawnArgs(runtime,
|
|
96
|
+
spawnArgs = this.spawnArgs(runtime, body, target);
|
|
97
97
|
}
|
|
98
98
|
catch (cause) {
|
|
99
99
|
if (!(cause instanceof CommandSyntaxError))
|
|
@@ -132,7 +132,7 @@ export default class SubprocessExecutor extends BaseExecutor {
|
|
|
132
132
|
// {§exec-env-scoped}); host env inherited when absent.
|
|
133
133
|
// fd0: a provided stdin body gets a pipe (written + EOF'd below); NO
|
|
134
134
|
// stdin body gets /dev/null, never a dangling open pipe. A bare
|
|
135
|
-
// interpreter reached via the sh fallthrough (`
|
|
135
|
+
// interpreter reached via the sh fallthrough (EXEC runtime `python3` → `sh -c
|
|
136
136
|
// "python3 …"`) reads its program from fd0 — an unclosed pipe there
|
|
137
137
|
// never EOFs, so the child blocks in the kernel (unix_stream_read) and
|
|
138
138
|
// the exec obligation never resolves: the loop hangs until a client
|
|
@@ -164,7 +164,7 @@ export default class SubprocessExecutor extends BaseExecutor {
|
|
|
164
164
|
};
|
|
165
165
|
const onAbort = () => {
|
|
166
166
|
const reason = signal.reason;
|
|
167
|
-
// KILL
|
|
167
|
+
// A KILL signal delivers exactly that signal once, fire-and-forget.
|
|
168
168
|
const override = overrideSignal(reason);
|
|
169
169
|
if (override !== null) {
|
|
170
170
|
killGroup(override);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SubprocessExecutor.js","sourceRoot":"","sources":["../src/SubprocessExecutor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAC7C,OAAO,WAAW,EAAE,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAGvD,
|
|
1
|
+
{"version":3,"file":"SubprocessExecutor.js","sourceRoot":"","sources":["../src/SubprocessExecutor.ts"],"names":[],"mappings":"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"}
|
package/dist/discover.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../src/discover.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAyB,MAAM,YAAY,CAAC;AA8BpF,MAAM,CAAC,OAAO,OAAO,QAAQ;;IACzB,OAAa,IAAI,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,SAAS,CAAC,CAwCnE;
|
|
1
|
+
{"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../src/discover.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAyB,MAAM,YAAY,CAAC;AA8BpF,MAAM,CAAC,OAAO,OAAO,QAAQ;;IACzB,OAAa,IAAI,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,SAAS,CAAC,CAwCnE;CAkIJ"}
|
package/dist/discover.js
CHANGED
|
@@ -12,7 +12,7 @@ import { createRequire } from "node:module";
|
|
|
12
12
|
import { pathToFileURL } from "node:url";
|
|
13
13
|
import Meta from "@plurnk/plurnk-meta";
|
|
14
14
|
import Policy from "./policy.js";
|
|
15
|
-
import
|
|
15
|
+
import RuntimeDeclaration from "./RuntimeDeclaration.js";
|
|
16
16
|
// Build the flat runtime-tag registry from installed executor packages
|
|
17
17
|
// ({§executor-discovery}). `index.ts` re-exports `Discover.scan` as discover;
|
|
18
18
|
// internal calls retain the class binding so that detached export stays usable.
|
|
@@ -24,12 +24,12 @@ import RuntimeTag from "./RuntimeTag.js";
|
|
|
24
24
|
//
|
|
25
25
|
// Trust precedes executable hooks ({§executor-trust}). A package is recognized
|
|
26
26
|
// only when its manifest declares `plurnk.kind === "exec"`; tags come from:
|
|
27
|
-
// - STATIC: `plurnk.runtimes: { name, glyph?,
|
|
27
|
+
// - STATIC: `plurnk.runtimes: { name, glyph?, invocation, documentation? }[]` —
|
|
28
28
|
// tags known at publish time.
|
|
29
29
|
// - DYNAMIC: `plurnk.runtimesModule: "<export-subpath>"` — a trusted hook that
|
|
30
30
|
// returns deployment-configured declarations ({§executor-dynamic-runtimes}).
|
|
31
31
|
// Each decl registers its tag separately; one package can claim many tags
|
|
32
|
-
// backed by the same default export.
|
|
32
|
+
// backed by the same default export. Invocation, documentation, and attribution
|
|
33
33
|
// projection are defined by {§executor-runtime-declaration}.
|
|
34
34
|
//
|
|
35
35
|
// Tags occupy one flat namespace. Two packages claiming one tag are a fail-hard
|
|
@@ -114,19 +114,15 @@ export default class Discover {
|
|
|
114
114
|
// Produce one ExecInfo per static or dynamic runtime declaration.
|
|
115
115
|
static async #readExecInfos(dir, { packageName, plurnk }, attribution) {
|
|
116
116
|
const infos = [];
|
|
117
|
-
for (const
|
|
118
|
-
const
|
|
119
|
-
? decl
|
|
120
|
-
: {};
|
|
121
|
-
const runtime = RuntimeTag.assert(e.name, packageName);
|
|
117
|
+
for (const raw of await Discover.#runtimeDecls(dir, packageName, plurnk)) {
|
|
118
|
+
const decl = RuntimeDeclaration.assert(raw, packageName);
|
|
122
119
|
// A package doc file wins over inline documentation
|
|
123
120
|
// ({§executor-runtime-declaration}).
|
|
124
|
-
const
|
|
125
|
-
const documentation = await Discover.#readDocFile(dir, runtime) ?? inlineDoc;
|
|
121
|
+
const documentation = await Discover.#readDocFile(dir, decl.name) ?? decl.documentation ?? "";
|
|
126
122
|
infos.push({
|
|
127
|
-
runtime,
|
|
128
|
-
glyph:
|
|
129
|
-
|
|
123
|
+
runtime: decl.name,
|
|
124
|
+
glyph: decl.glyph ?? "",
|
|
125
|
+
invocation: decl.invocation,
|
|
130
126
|
documentation,
|
|
131
127
|
packageName,
|
|
132
128
|
...(attribution !== undefined ? { attribution } : {}),
|
package/dist/discover.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discover.js","sourceRoot":"","sources":["../src/discover.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,IAAI,MAAM,qBAAqB,CAAC;AAEvC,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,
|
|
1
|
+
{"version":3,"file":"discover.js","sourceRoot":"","sources":["../src/discover.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,12 +4,15 @@ export { default as SubprocessExecutor } from "./SubprocessExecutor.ts";
|
|
|
4
4
|
export { default as ErrorDetail, ERROR_DETAIL_LIMIT } from "./ErrorDetail.ts";
|
|
5
5
|
export { CommandSyntaxError, tokenizeArgv } from "./tokenizeArgv.ts";
|
|
6
6
|
export { default as RuntimeTag } from "./RuntimeTag.ts";
|
|
7
|
+
export { default as RuntimeInvocation } from "./RuntimeInvocation.ts";
|
|
8
|
+
export { default as RuntimeDeclaration } from "./RuntimeDeclaration.ts";
|
|
7
9
|
export declare const discover: typeof Discover.scan;
|
|
8
10
|
export { default as Policy } from "./policy.ts";
|
|
9
11
|
export { default as Advertise } from "./advertise.ts";
|
|
10
12
|
export { Results } from "@plurnk/plurnk-schemes";
|
|
11
13
|
export type { ProblemDetails, SchemeResult } from "@plurnk/plurnk-schemes";
|
|
12
|
-
export
|
|
14
|
+
export { renderJsonResult } from "@plurnk/plurnk-contracts";
|
|
15
|
+
export type { ChannelState, ChannelDecl, ExecutorMetadata, ExecArgs, ExecResult, Effect, RuntimeAvailability, RuntimeBodyDecl, RuntimeTargetKind, RuntimeTargetDecl, RuntimeInvocationExample, RuntimeInvocation as RuntimeInvocationDecl, RuntimeDecl, RuntimesHook, ExecInfo, ExecRegistry, Discovery, DiscoverOptions, SpawnArgs, } from "./types.ts";
|
|
13
16
|
export type { Notice, NoticeLevel, ContentOffset, LogCoordinate } from "./Notice.ts";
|
|
14
17
|
export type { PluginAttributionContext, PluginAttributionDeclaration, PluginAttributionSource, } from "@plurnk/plurnk-meta";
|
|
15
18
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,eAAe,CAAC;AAGrC,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,eAAe,CAAC;AAGrC,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAKxE,eAAO,MAAM,QAAQ,sBAAgB,CAAC;AAMtC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AAIhD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAItD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG5D,YAAY,EACR,YAAY,EACZ,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,UAAU,EACV,MAAM,EACN,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,IAAI,qBAAqB,EAC1C,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,eAAe,EACf,SAAS,GACZ,MAAM,YAAY,CAAC;AAGpB,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACrF,YAAY,EACR,wBAAwB,EACxB,4BAA4B,EAC5B,uBAAuB,GAC1B,MAAM,qBAAqB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -5,6 +5,8 @@ export { default as SubprocessExecutor } from "./SubprocessExecutor.js";
|
|
|
5
5
|
export { default as ErrorDetail, ERROR_DETAIL_LIMIT } from "./ErrorDetail.js";
|
|
6
6
|
export { CommandSyntaxError, tokenizeArgv } from "./tokenizeArgv.js";
|
|
7
7
|
export { default as RuntimeTag } from "./RuntimeTag.js";
|
|
8
|
+
export { default as RuntimeInvocation } from "./RuntimeInvocation.js";
|
|
9
|
+
export { default as RuntimeDeclaration } from "./RuntimeDeclaration.js";
|
|
8
10
|
// Discovery ({§executor-discovery}). The behavior lives on `Discover`; the
|
|
9
11
|
// documented `discover()` entry is its `scan` static, re-exported here so the
|
|
10
12
|
// public contract and the consumer's import stay unchanged.
|
|
@@ -20,4 +22,5 @@ export { default as Advertise } from "./advertise.js";
|
|
|
20
22
|
// Universal operation-result helpers. Executors return the same result shape as
|
|
21
23
|
// schemes; the consuming daemon validates it at the plugin boundary.
|
|
22
24
|
export { Results } from "@plurnk/plurnk-schemes";
|
|
25
|
+
export { renderJsonResult } from "@plurnk/plurnk-contracts";
|
|
23
26
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,eAAe,CAAC;AAErC,oBAAoB;AACpB,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,eAAe,CAAC;AAErC,oBAAoB;AACpB,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAExE,2EAA2E;AAC3E,8EAA8E;AAC9E,4DAA4D;AAC5D,MAAM,CAAC,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;AAEtC,kFAAkF;AAClF,+EAA+E;AAC/E,+EAA+E;AAC/E,2CAA2C;AAC3C,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AAEhD,4EAA4E;AAC5E,wEAAwE;AACxE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEtD,gFAAgF;AAChF,qEAAqE;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export interface ExecutorMetadata {
|
|
|
12
12
|
}
|
|
13
13
|
export interface ExecArgs {
|
|
14
14
|
runtime: string;
|
|
15
|
-
|
|
15
|
+
body: string;
|
|
16
16
|
cwd: string | null;
|
|
17
17
|
target: string | null;
|
|
18
18
|
env?: NodeJS.ProcessEnv;
|
|
@@ -33,10 +33,31 @@ export interface RuntimeAvailability {
|
|
|
33
33
|
available: boolean;
|
|
34
34
|
detail?: string;
|
|
35
35
|
}
|
|
36
|
+
export interface RuntimeBodyDecl {
|
|
37
|
+
readonly role: string;
|
|
38
|
+
readonly required: boolean;
|
|
39
|
+
}
|
|
40
|
+
export type RuntimeTargetKind = "literal" | "path" | "resource";
|
|
41
|
+
export interface RuntimeTargetDecl {
|
|
42
|
+
readonly role: string;
|
|
43
|
+
readonly required: boolean;
|
|
44
|
+
readonly kind: RuntimeTargetKind;
|
|
45
|
+
readonly directory?: "cwd";
|
|
46
|
+
}
|
|
47
|
+
export interface RuntimeInvocationExample {
|
|
48
|
+
readonly body?: string;
|
|
49
|
+
readonly target?: string;
|
|
50
|
+
}
|
|
51
|
+
export interface RuntimeInvocation {
|
|
52
|
+
readonly body: RuntimeBodyDecl;
|
|
53
|
+
readonly target?: RuntimeTargetDecl;
|
|
54
|
+
readonly exclusive?: true;
|
|
55
|
+
readonly example: RuntimeInvocationExample;
|
|
56
|
+
}
|
|
36
57
|
export interface ExecInfo {
|
|
37
58
|
runtime: string;
|
|
38
59
|
glyph: string;
|
|
39
|
-
|
|
60
|
+
invocation: RuntimeInvocation;
|
|
40
61
|
documentation: string;
|
|
41
62
|
packageName: string;
|
|
42
63
|
attribution?: string | string[];
|
|
@@ -44,7 +65,7 @@ export interface ExecInfo {
|
|
|
44
65
|
export interface RuntimeDecl {
|
|
45
66
|
name: string;
|
|
46
67
|
glyph?: string;
|
|
47
|
-
|
|
68
|
+
invocation: RuntimeInvocation;
|
|
48
69
|
documentation?: string;
|
|
49
70
|
}
|
|
50
71
|
export type RuntimesHook = () => RuntimeDecl[] | Promise<RuntimeDecl[]>;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAI1C,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAG3D,MAAM,WAAW,WAAW;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,YAAY,CAAC;CAC/B;AAKD,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACjB;AAOD,MAAM,WAAW,QAAQ;IAGrB,OAAO,EAAE,MAAM,CAAC;IAEhB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// Runtime executor contract. Each `@plurnk/plurnk-execs-*` sibling declares
|
|
2
|
-
// one or more runtime tags (`sh`, `bash`, `python`, `search`, `news
|
|
2
|
+
// one or more runtime tags (`sh`, `bash`, `python`, `search`, `news`) in
|
|
3
3
|
// its `package.json` `plurnk.runtimes[]` block, and provides a BaseExecutor
|
|
4
4
|
// subclass implementing the dispatch for those tags.
|
|
5
5
|
//
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,yEAAyE;AACzE,4EAA4E;AAC5E,qDAAqD;AACrD,EAAE;AACF,gEAAgE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plurnk/plurnk-execs",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"description": "Framework + contract for the @plurnk/plurnk-execs-* runtime executor packages.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"plurnk",
|
|
@@ -51,8 +51,8 @@
|
|
|
51
51
|
"prepublishOnly": "npm audit --audit-level=moderate && npm test"
|
|
52
52
|
},
|
|
53
53
|
"dependencies": {
|
|
54
|
-
"@plurnk/plurnk-contracts": "1.
|
|
55
|
-
"@plurnk/plurnk-meta": "1.
|
|
56
|
-
"@plurnk/plurnk-schemes": "1.
|
|
54
|
+
"@plurnk/plurnk-contracts": "1.6.0",
|
|
55
|
+
"@plurnk/plurnk-meta": "1.6.0",
|
|
56
|
+
"@plurnk/plurnk-schemes": "1.6.0"
|
|
57
57
|
}
|
|
58
58
|
}
|