@plurnk/plurnk-execs 1.6.1 → 1.8.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 +1 -1
- package/README.md +6 -4
- package/SPEC.md +81 -21
- package/dist/RuntimeDeclaration.d.ts.map +1 -1
- package/dist/RuntimeDeclaration.js +23 -5
- package/dist/RuntimeDeclaration.js.map +1 -1
- package/dist/RuntimeInvocation.d.ts +2 -1
- package/dist/RuntimeInvocation.d.ts.map +1 -1
- package/dist/RuntimeInvocation.js +78 -12
- package/dist/RuntimeInvocation.js.map +1 -1
- package/dist/RuntimeSummary.d.ts +4 -0
- package/dist/RuntimeSummary.d.ts.map +1 -0
- package/dist/RuntimeSummary.js +9 -0
- package/dist/RuntimeSummary.js.map +1 -0
- package/dist/discover.d.ts.map +1 -1
- package/dist/discover.js +18 -7
- package/dist/discover.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/types.d.ts +27 -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/.env.defaults
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
# package sets no operative default; the comments below ARE the operator docs.
|
|
5
5
|
|
|
6
6
|
# Allowlist: register ONLY these tags (comma-separated); every other tag is off.
|
|
7
|
-
# PLURNK_EXECS_ONLY=sh,jq
|
|
7
|
+
# PLURNK_EXECS_ONLY=sh,jq
|
|
8
8
|
|
|
9
9
|
# Per-tag kill-switch (case-insensitive): set any registered tag to 0 to drop it.
|
|
10
10
|
# Absent ⇒ the runtime stays enabled. e.g.:
|
package/README.md
CHANGED
|
@@ -36,6 +36,7 @@ runtime declarations, and a default-exported `BaseExecutor` subclass.
|
|
|
36
36
|
{
|
|
37
37
|
"name": "cobol",
|
|
38
38
|
"glyph": "🗄",
|
|
39
|
+
"summary": "Run a COBOL program.",
|
|
39
40
|
"invocation": {
|
|
40
41
|
"body": { "role": "COBOL program", "required": true },
|
|
41
42
|
"example": { "body": "DISPLAY 'HELLO'." }
|
|
@@ -48,10 +49,11 @@ runtime declarations, and a default-exported `BaseExecutor` subclass.
|
|
|
48
49
|
|
|
49
50
|
One package may claim several tags; the consumer instantiates and probes each
|
|
50
51
|
tag independently. A name uses lowercase URI-scheme syntax
|
|
51
|
-
`[a-z][a-z0-9+.-]*`; `only` is reserved by runtime policy. `
|
|
52
|
-
defines the body and optional
|
|
53
|
-
|
|
54
|
-
|
|
52
|
+
`[a-z][a-z0-9+.-]*`; `only` is reserved by runtime policy. `summary` is the
|
|
53
|
+
one-line capability description. `invocation` defines the body and optional
|
|
54
|
+
target buckets plus one canonical example used for dispatch enforcement and the
|
|
55
|
+
generated `worker://plurnk/tools/` document. A `docs/<tag>.md` file supplies
|
|
56
|
+
supplemental detail. See {§executor-runtime-declaration}.
|
|
55
57
|
|
|
56
58
|
### Implement the executor
|
|
57
59
|
|
package/SPEC.md
CHANGED
|
@@ -42,6 +42,7 @@ abstract class BaseExecutor {
|
|
|
42
42
|
abstract run(args: ExecArgs): Promise<ExecResult>;
|
|
43
43
|
probe(signal?: AbortSignal): Promise<RuntimeAvailability>;
|
|
44
44
|
effect(target: string | null): Effect;
|
|
45
|
+
toolRegistry?(): RuntimeToolRegistry;
|
|
45
46
|
}
|
|
46
47
|
|
|
47
48
|
interface ChannelDecl {
|
|
@@ -59,6 +60,7 @@ interface ExecArgs {
|
|
|
59
60
|
write(channel: string, chunk: string, mimetype?: string): void;
|
|
60
61
|
setState(channel: string, state: ChannelState): void;
|
|
61
62
|
emit(notice: Notice): void;
|
|
63
|
+
interact(request: ClientInteractionRequest): Promise<ClientInteractionResolution>;
|
|
62
64
|
entry?(
|
|
63
65
|
path: string,
|
|
64
66
|
content: string | null,
|
|
@@ -95,6 +97,7 @@ surface.
|
|
|
95
97
|
| `write` | Append to a declared channel. An optional mimetype replaces that channel's per-call output type. |
|
|
96
98
|
| `setState` | Move a declared channel from `active` to terminal `closed` or `errored`. |
|
|
97
99
|
| `emit` | Publish a transient, nonterminal Notice. |
|
|
100
|
+
| §executor-interaction-sink `interact` | Await one contracts-owned client interaction ({§client-interaction-wire}). Core owns identity, pending-state durability, client presentation, and cancellation; the executor owns the request and returned payload's meaning. |
|
|
98
101
|
| `entry` | Optionally request consumer-owned entry materialization and receive its canonical model-facing address. |
|
|
99
102
|
|
|
100
103
|
The executor receives callbacks, never a database, subscription registry,
|
|
@@ -228,6 +231,7 @@ carries the canonical attribution fact from {§plugin-attribution}.
|
|
|
228
231
|
{
|
|
229
232
|
"name": "cobol",
|
|
230
233
|
"glyph": "🗄",
|
|
234
|
+
"summary": "Run a COBOL program.",
|
|
231
235
|
"invocation": {
|
|
232
236
|
"body": { "role": "COBOL program", "required": true },
|
|
233
237
|
"example": { "body": "DISPLAY 'HELLO'." }
|
|
@@ -266,24 +270,31 @@ at boot; changing package membership or configuration requires a restart.
|
|
|
266
270
|
|
|
267
271
|
### §executor-runtime-declaration Runtime metadata
|
|
268
272
|
|
|
269
|
-
| Field
|
|
270
|
-
|
|
|
271
|
-
| `name`
|
|
272
|
-
| `glyph`
|
|
273
|
-
| `
|
|
274
|
-
| `
|
|
275
|
-
| `
|
|
276
|
-
| `
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
273
|
+
| Field | Meaning |
|
|
274
|
+
| ------------- | -------------------------------------------------------------------------------------------------- |
|
|
275
|
+
| `name` | Canonical runtime tag and derived output-scheme name, admitted below. |
|
|
276
|
+
| `glyph` | Optional presentation glyph. |
|
|
277
|
+
| `summary` | Required one-line description of the capability. |
|
|
278
|
+
| `invocation` | Required body and target contract, validated and normalized below. |
|
|
279
|
+
| `details` | Optional supplemental Markdown. `docs/<tag>.md` wins over the inline manifest field. |
|
|
280
|
+
| `attribution` | Published per-tag projection of the validated package declaration ({§plugin-attribution}). |
|
|
281
|
+
| `packageName` | Package that owns and default-exports the executor implementation. |
|
|
282
|
+
|
|
283
|
+
The framework validates and carries the summary, invocation, and supplemental
|
|
284
|
+
details as separate facts. The consumer deterministically renders the
|
|
285
|
+
model-facing tool document from either the static invocation or the executor's exact
|
|
286
|
+
{§executor-tool-registry}; authors never duplicate Summary or Invocation in
|
|
287
|
+
prose. A
|
|
282
288
|
multi-tag package appears at most once in `Discovery.packageAttributions`, and
|
|
283
289
|
only when at least one of its tags survives discovery policy. An instantiated
|
|
284
290
|
executor may add attempt-time tags through the shared runtime hook
|
|
285
291
|
({§plugin-attribution}).
|
|
286
292
|
|
|
293
|
+
A package `docs/<tag>.md` remains a valid standalone Markdown document. When
|
|
294
|
+
its first line is the exact authoring title `# <tag>`, discovery removes that
|
|
295
|
+
line and its following blank line before carrying the remainder as supplemental
|
|
296
|
+
details; the generated tool document owns the one model-facing H1.
|
|
297
|
+
|
|
287
298
|
§executor-invocation Every runtime declares exactly one invocation contract:
|
|
288
299
|
|
|
289
300
|
| Field | Contract |
|
|
@@ -296,7 +307,8 @@ executor may add attempt-time tags through the shared runtime hook
|
|
|
296
307
|
| `target.kind` | One of the structural realization modes below. |
|
|
297
308
|
| `target.directory` | Optional `"cwd"`: only a local directory becomes `cwd`; every non-directory remains the declared target. |
|
|
298
309
|
| `exclusive` | Optional `true`: body and target are alternative inputs and supplying both is refused. |
|
|
299
|
-
| `example` |
|
|
310
|
+
| `example` | Concise executable witness with a one-line `body`, `target`, or both as the declared shape permits. |
|
|
311
|
+
| `signature` | One-line structural body signature for a schema-backed invocation; no fabricated argument values. |
|
|
300
312
|
|
|
301
313
|
| Target kind | Consumer realization |
|
|
302
314
|
| ----------- | ------------------------------------------------------------------------------------------------------------------------------ |
|
|
@@ -307,26 +319,75 @@ executor may add attempt-time tags through the shared runtime hook
|
|
|
307
319
|
Every EXEC must supply at least a body or target even when neither field is
|
|
308
320
|
independently required. A target's meaning never changes because the body is
|
|
309
321
|
empty or non-empty. `exclusive` requires a target declaration; `directory` is
|
|
310
|
-
valid only for `path` and `resource` target kinds.
|
|
311
|
-
|
|
312
|
-
section for the runtime.
|
|
322
|
+
valid only for `path` and `resource` target kinds. Exactly one of `example` or
|
|
323
|
+
`signature` is present. An example must satisfy the same required, refused,
|
|
324
|
+
and exclusive buckets and parse as exactly one EXEC section for the runtime. A
|
|
325
|
+
signature is presentation, not an executable example; dispatch still enforces
|
|
326
|
+
the invocation's body and target declarations. An invocation declaration
|
|
313
327
|
with a missing field, unknown field, invalid combination, multiline role, or
|
|
314
328
|
wrong primitive type is a fail-hard plugin contract violation before
|
|
315
329
|
registration. Static, dynamic-hook, and module-owned runtimes use this same
|
|
316
330
|
validation path. The enclosing runtime declaration is closed to `name`,
|
|
317
|
-
`glyph`, `invocation`, and `
|
|
331
|
+
`glyph`, `summary`, `invocation`, and `details`; unknown or mistyped metadata is a
|
|
318
332
|
contract violation rather than silently ignored teaching.
|
|
319
333
|
|
|
334
|
+
§executor-tool-registry A runtime representing a finite family of exact tools
|
|
335
|
+
may implement `toolRegistry()` and return one immutable snapshot:
|
|
336
|
+
|
|
337
|
+
```ts
|
|
338
|
+
interface RuntimeToolRegistry {
|
|
339
|
+
tools: readonly {
|
|
340
|
+
target: string;
|
|
341
|
+
summary: string;
|
|
342
|
+
invocation: RuntimeInvocation;
|
|
343
|
+
details?: string;
|
|
344
|
+
}[];
|
|
345
|
+
}
|
|
346
|
+
```
|
|
347
|
+
|
|
348
|
+
Each entry owns one canonical literal target, one nonempty one-line summary,
|
|
349
|
+
its complete invocation contract, and optional supplemental Markdown. Its
|
|
350
|
+
invocation declares that target bucket as required and
|
|
351
|
+
`literal`; duplicate targets, divergent example targets, or malformed
|
|
352
|
+
invocations fail the plugin boundary. The exact target must round-trip through
|
|
353
|
+
the language's canonical target-slot escaping. The closed `tools` set replaces the
|
|
354
|
+
runtime's generic invocation for model presentation and dispatch admission:
|
|
355
|
+
an empty set exposes and admits no target, with no generic fallback. Core uses
|
|
356
|
+
the selected entry's invocation for bucket validation before calling
|
|
357
|
+
`effect()`.
|
|
358
|
+
|
|
359
|
+
The same snapshot owns every exact tool document, so enabled summaries,
|
|
360
|
+
invocations, admitted targets, and effect-classification inputs cannot describe
|
|
361
|
+
different tool sets. The hook is synchronous and
|
|
362
|
+
side-effect-free; a protocol executor refreshes its cached snapshot at its own
|
|
363
|
+
I/O boundary rather than making packet assembly perform network discovery.
|
|
364
|
+
|
|
365
|
+
§executor-tool-document **Tool documents are the model-facing executor
|
|
366
|
+
directory.** A general runtime's document carries exact H2 `Summary` and
|
|
367
|
+
`Invocation` sections plus its executable witness. Its Summary is that compact
|
|
368
|
+
invocation witness in inline code, with the authored description as an
|
|
369
|
+
operation annotation on its invocation line and a literal `\n` before a
|
|
370
|
+
one-line body. An exact registry instead renders one compact family document
|
|
371
|
+
whose Summary remains the family description and whose H2 `Invocation`
|
|
372
|
+
contains one `plurnk` fence with
|
|
373
|
+
every exact annotated EXEC heading and signature, plus one child document per
|
|
374
|
+
tool. Each child's Summary is its annotated invocation form; its H2 `Invocation`
|
|
375
|
+
contains the literal target, signature, and supplemental input details.
|
|
376
|
+
Supplemental `details` follows framework-owned sections and cannot own identity,
|
|
377
|
+
invocation, or admission. The consumer chooses resource addresses, materializes
|
|
378
|
+
the documents, and exposes each Summary through ordinary FIND metadata. No
|
|
379
|
+
executor table or executor-specific discovery protocol exists.
|
|
380
|
+
|
|
320
381
|
Runtime-name admission is one identity contract:
|
|
321
382
|
|
|
322
383
|
| Constraint | Contract |
|
|
323
384
|
| ----------- | ------------------------------------------------------------------------------------------------------------- |
|
|
324
385
|
| Syntax | `[a-z][a-z0-9+.-]*`: canonical lowercase RFC-scheme syntax that is also an admitted EXEC identifier. |
|
|
325
|
-
| Identity | The exact name is the EXEC selector, registry key,
|
|
386
|
+
| Identity | The exact name is the EXEC selector, registry key, tool-family identity, and output URI-scheme name. |
|
|
326
387
|
| Reservation | `only` is unavailable because `PLURNK_EXECS_ONLY` owns that case-insensitive configuration key. |
|
|
327
388
|
|
|
328
389
|
Installed static declarations, trusted dynamic-hook declarations, and
|
|
329
|
-
module-owned declarations use the same validator before
|
|
390
|
+
module-owned declarations use the same validator before detail lookup,
|
|
330
391
|
policy filtering, or registry mutation. A malformed claimed declaration fails
|
|
331
392
|
hard and names its package or module boundary; discovery still ignores an
|
|
332
393
|
unreadable package that never forms an executor manifest.
|
|
@@ -390,7 +451,6 @@ tags are offered in a particular workspace ({§bundled-set}).
|
|
|
390
451
|
| -------- | ---------------------------------------------------------------------------------------------------------- | ------------------------------- | ---------------------------------- |
|
|
391
452
|
| `common` | `sh`, `bash`, `node`, `python`, `python3`, `perl`, `ruby`, `php`, `lua`, `deno`, `bun`, `tcl`, `bc`, `awk` | `host` | `stdout`, `stderr` / `text/stream` |
|
|
392
453
|
| `git` | `git` | `host` | `stdout`, `stderr` / `text/stream` |
|
|
393
|
-
| `search` | `search`, `news` | `read` | `results` / `application/json` |
|
|
394
454
|
| `jq` | `jq` | no target `pure`; target `read` | `results` / `application/jsonl` |
|
|
395
455
|
| `sqlite` | `sqlite` | memory `pure`; file `host` | `results` / `application/json` |
|
|
396
456
|
| `wasm` | `wat`, `wasm` | no target `pure`; file `read` | `results` / `application/json` |
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RuntimeDeclaration.d.ts","sourceRoot":"","sources":["../src/RuntimeDeclaration.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RuntimeDeclaration.d.ts","sourceRoot":"","sources":["../src/RuntimeDeclaration.ts"],"names":[],"mappings":"AAGA,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,CA6CxD;CACJ"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import RuntimeInvocation from "./RuntimeInvocation.js";
|
|
2
|
+
import RuntimeSummary from "./RuntimeSummary.js";
|
|
2
3
|
import RuntimeTag from "./RuntimeTag.js";
|
|
3
|
-
const FIELDS = new Set(["name", "glyph", "invocation", "
|
|
4
|
+
const FIELDS = new Set(["name", "glyph", "summary", "invocation", "details", "resourcesPath", "expandTools"]);
|
|
4
5
|
export default class RuntimeDeclaration {
|
|
5
6
|
static assert(value, owner) {
|
|
6
7
|
const fail = (detail) => {
|
|
@@ -14,20 +15,37 @@ export default class RuntimeDeclaration {
|
|
|
14
15
|
if (unknown !== undefined)
|
|
15
16
|
fail(`declaration has unknown field '${unknown}'`);
|
|
16
17
|
const name = RuntimeTag.assert(declaration.name, owner);
|
|
18
|
+
const summary = RuntimeSummary.assert(declaration.summary, "summary", fail);
|
|
17
19
|
const invocation = RuntimeInvocation.assert(declaration.invocation, owner, name);
|
|
18
20
|
if ("glyph" in declaration && typeof declaration.glyph !== "string") {
|
|
19
21
|
fail("glyph must be a string");
|
|
20
22
|
}
|
|
21
|
-
if ("
|
|
22
|
-
fail("
|
|
23
|
+
if ("details" in declaration && typeof declaration.details !== "string") {
|
|
24
|
+
fail("details must be a string");
|
|
25
|
+
}
|
|
26
|
+
if ("resourcesPath" in declaration
|
|
27
|
+
&& (typeof declaration.resourcesPath !== "string"
|
|
28
|
+
|| declaration.resourcesPath.length === 0
|
|
29
|
+
|| !declaration.resourcesPath.startsWith("/"))) {
|
|
30
|
+
fail("resourcesPath must be a non-empty absolute pathname like /tools");
|
|
31
|
+
}
|
|
32
|
+
if ("expandTools" in declaration && typeof declaration.expandTools !== "boolean") {
|
|
33
|
+
fail("expandTools must be a boolean");
|
|
23
34
|
}
|
|
24
35
|
return {
|
|
25
36
|
name,
|
|
37
|
+
summary,
|
|
26
38
|
invocation,
|
|
27
39
|
...(declaration.glyph === undefined ? {} : { glyph: declaration.glyph }),
|
|
28
|
-
...(declaration.
|
|
40
|
+
...(declaration.details === undefined
|
|
41
|
+
? {}
|
|
42
|
+
: { details: declaration.details }),
|
|
43
|
+
...(declaration.resourcesPath === undefined
|
|
44
|
+
? {}
|
|
45
|
+
: { resourcesPath: declaration.resourcesPath }),
|
|
46
|
+
...(declaration.expandTools === undefined
|
|
29
47
|
? {}
|
|
30
|
-
: {
|
|
48
|
+
: { expandTools: declaration.expandTools }),
|
|
31
49
|
};
|
|
32
50
|
}
|
|
33
51
|
}
|
|
@@ -1 +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;
|
|
1
|
+
{"version":3,"file":"RuntimeDeclaration.js","sourceRoot":"","sources":["../src/RuntimeDeclaration.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type { RuntimeInvocation as RuntimeInvocationDecl } from "./types.ts";
|
|
1
|
+
import type { RuntimeInvocation as RuntimeInvocationDecl, RuntimeToolRegistry } from "./types.ts";
|
|
2
2
|
export default class RuntimeInvocation {
|
|
3
3
|
static assert(value: unknown, packageName: string, runtime: string): RuntimeInvocationDecl;
|
|
4
|
+
static assertToolRegistry(value: unknown, packageName: string, runtime: string): RuntimeToolRegistry;
|
|
4
5
|
}
|
|
5
6
|
//# sourceMappingURL=RuntimeInvocation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RuntimeInvocation.d.ts","sourceRoot":"","sources":["../src/RuntimeInvocation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RuntimeInvocation.d.ts","sourceRoot":"","sources":["../src/RuntimeInvocation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAGR,iBAAiB,IAAI,qBAAqB,EAE1C,mBAAmB,EAGtB,MAAM,YAAY,CAAC;AAoEpB,MAAM,CAAC,OAAO,OAAO,iBAAiB;IAClC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,qBAAqB,CA2FzF;IAED,MAAM,CAAC,kBAAkB,CACrB,KAAK,EAAE,OAAO,EACd,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GAChB,mBAAmB,CA4CrB;CACJ"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { PlurnkParser } from "@plurnk/plurnk-contracts";
|
|
1
|
+
import { PathSyntax, PlurnkParser } from "@plurnk/plurnk-contracts";
|
|
2
|
+
import RuntimeSummary from "./RuntimeSummary.js";
|
|
2
3
|
const TARGET_KINDS = new Set(["literal", "path", "resource"]);
|
|
3
4
|
const recordOf = (value, field, fail) => {
|
|
4
5
|
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
@@ -28,13 +29,24 @@ const exampleLineOf = (value, field, fail) => {
|
|
|
28
29
|
}
|
|
29
30
|
return value;
|
|
30
31
|
};
|
|
32
|
+
const oneExecSection = (source, expectedTarget) => {
|
|
33
|
+
const parsed = PlurnkParser.parseStatements(source);
|
|
34
|
+
const statements = parsed.items.filter((item) => item.kind === "statement");
|
|
35
|
+
const errors = parsed.items.filter((item) => item.kind === "error");
|
|
36
|
+
const statement = statements[0]?.statement;
|
|
37
|
+
return statements.length === 1
|
|
38
|
+
&& statement?.op === "EXEC"
|
|
39
|
+
&& (expectedTarget === undefined || statement.target?.raw === expectedTarget)
|
|
40
|
+
&& errors.length === 0
|
|
41
|
+
&& parsed.unparsedTail === undefined;
|
|
42
|
+
};
|
|
31
43
|
export default class RuntimeInvocation {
|
|
32
44
|
static assert(value, packageName, runtime) {
|
|
33
45
|
const fail = (detail) => {
|
|
34
46
|
throw new Error(`runtime declaration invalid: ${packageName} '${runtime}' ${detail}`);
|
|
35
47
|
};
|
|
36
48
|
const invocation = recordOf(value, "invocation", fail);
|
|
37
|
-
assertKnownFields(invocation, new Set(["body", "target", "exclusive", "example"]), "invocation", fail);
|
|
49
|
+
assertKnownFields(invocation, new Set(["body", "target", "exclusive", "example", "signature"]), "invocation", fail);
|
|
38
50
|
const bodyValue = recordOf(invocation.body, "invocation.body", fail);
|
|
39
51
|
assertKnownFields(bodyValue, new Set(["role", "required"]), "invocation.body", fail);
|
|
40
52
|
const body = {
|
|
@@ -71,6 +83,22 @@ export default class RuntimeInvocation {
|
|
|
71
83
|
else if (exclusive) {
|
|
72
84
|
fail("exclusive invocation must declare a target");
|
|
73
85
|
}
|
|
86
|
+
const hasExample = "example" in invocation;
|
|
87
|
+
const hasSignature = "signature" in invocation;
|
|
88
|
+
if (hasExample === hasSignature) {
|
|
89
|
+
fail("invocation must provide exactly one example or signature");
|
|
90
|
+
}
|
|
91
|
+
const shape = {
|
|
92
|
+
body,
|
|
93
|
+
...(target === undefined ? {} : { target }),
|
|
94
|
+
...(exclusive ? { exclusive: true } : {}),
|
|
95
|
+
};
|
|
96
|
+
if (hasSignature) {
|
|
97
|
+
return {
|
|
98
|
+
...shape,
|
|
99
|
+
signature: exampleLineOf(invocation.signature, "invocation.signature", fail),
|
|
100
|
+
};
|
|
101
|
+
}
|
|
74
102
|
const exampleValue = recordOf(invocation.example, "invocation.example", fail);
|
|
75
103
|
assertKnownFields(exampleValue, new Set(["body", "target"]), "invocation.example", fail);
|
|
76
104
|
const example = {
|
|
@@ -93,19 +121,57 @@ export default class RuntimeInvocation {
|
|
|
93
121
|
fail("invocation.example must provide the required target");
|
|
94
122
|
if (exclusive && hasBody && hasTarget)
|
|
95
123
|
fail("invocation.example must provide exactly one exclusive input");
|
|
96
|
-
const
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
const
|
|
100
|
-
if (
|
|
124
|
+
const exampleTarget = example.target === undefined
|
|
125
|
+
? ""
|
|
126
|
+
: ` (${PathSyntax.escapeTarget(example.target)})`;
|
|
127
|
+
const source = `## EXEC0 [${runtime}]${exampleTarget}${hasBody ? `\n${example.body}` : ""}`;
|
|
128
|
+
if (!oneExecSection(source)) {
|
|
101
129
|
fail("invocation.example must render one valid EXEC section");
|
|
102
130
|
}
|
|
103
|
-
return {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
131
|
+
return { ...shape, example };
|
|
132
|
+
}
|
|
133
|
+
static assertToolRegistry(value, packageName, runtime) {
|
|
134
|
+
const fail = (detail) => {
|
|
135
|
+
throw new Error(`runtime declaration invalid: ${packageName} '${runtime}' ${detail}`);
|
|
108
136
|
};
|
|
137
|
+
const registry = recordOf(value, "tool registry", fail);
|
|
138
|
+
assertKnownFields(registry, new Set(["tools"]), "tool registry", fail);
|
|
139
|
+
const toolValues = Array.isArray(registry.tools)
|
|
140
|
+
? registry.tools
|
|
141
|
+
: fail("tool registry.tools must be an array");
|
|
142
|
+
const targets = new Set();
|
|
143
|
+
const tools = toolValues.map((value, index) => {
|
|
144
|
+
const tool = recordOf(value, `tool registry.tools[${index}]`, fail);
|
|
145
|
+
assertKnownFields(tool, new Set(["target", "summary", "invocation", "details"]), `tool registry.tools[${index}]`, fail);
|
|
146
|
+
const exactTarget = exampleLineOf(tool.target, `tool registry.tools[${index}].target`, fail);
|
|
147
|
+
const summary = RuntimeSummary.assert(tool.summary, `tool registry.tools[${index}].summary`, fail);
|
|
148
|
+
if ("details" in tool && typeof tool.details !== "string") {
|
|
149
|
+
fail(`tool registry.tools[${index}].details must be a string`);
|
|
150
|
+
}
|
|
151
|
+
const escapedTarget = PathSyntax.escapeTarget(exactTarget);
|
|
152
|
+
if (!oneExecSection(`## EXEC0 [${runtime}] (${escapedTarget})`, exactTarget)) {
|
|
153
|
+
fail(`tool registry.tools[${index}] target '${exactTarget}' must render one valid EXEC section`);
|
|
154
|
+
}
|
|
155
|
+
const invocation = RuntimeInvocation.assert(tool.invocation, packageName, runtime);
|
|
156
|
+
if (invocation.target?.required !== true
|
|
157
|
+
|| invocation.target.kind !== "literal") {
|
|
158
|
+
fail(`tool registry.tools[${index}].invocation must declare a required literal target`);
|
|
159
|
+
}
|
|
160
|
+
if (invocation.example?.target !== undefined && invocation.example.target !== exactTarget) {
|
|
161
|
+
fail(`tool registry.tools[${index}] target '${exactTarget}' conflicts with invocation.example.target '${invocation.example.target}'`);
|
|
162
|
+
}
|
|
163
|
+
if (targets.has(exactTarget)) {
|
|
164
|
+
fail(`tool registry contains duplicate exact target '${exactTarget}'`);
|
|
165
|
+
}
|
|
166
|
+
targets.add(exactTarget);
|
|
167
|
+
return {
|
|
168
|
+
target: exactTarget,
|
|
169
|
+
summary,
|
|
170
|
+
invocation,
|
|
171
|
+
...(tool.details === undefined ? {} : { details: tool.details }),
|
|
172
|
+
};
|
|
173
|
+
});
|
|
174
|
+
return { tools };
|
|
109
175
|
}
|
|
110
176
|
}
|
|
111
177
|
//# sourceMappingURL=RuntimeInvocation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RuntimeInvocation.js","sourceRoot":"","sources":["../src/RuntimeInvocation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"RuntimeInvocation.js","sourceRoot":"","sources":["../src/RuntimeInvocation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RuntimeSummary.d.ts","sourceRoot":"","sources":["../src/RuntimeSummary.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,cAAc;IAC/B,MAAM,CAAC,MAAM,CACT,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,KAAK,GAChC,MAAM,CAKR;CACJ"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export default class RuntimeSummary {
|
|
2
|
+
static assert(value, field, fail) {
|
|
3
|
+
if (typeof value !== "string" || value.trim() === "" || /[\r\n]/u.test(value)) {
|
|
4
|
+
fail(`${field} must be one non-empty line`);
|
|
5
|
+
}
|
|
6
|
+
return value.trim();
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=RuntimeSummary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RuntimeSummary.js","sourceRoot":"","sources":["../src/RuntimeSummary.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,cAAc;IAC/B,MAAM,CAAC,MAAM,CACT,KAAc,EACd,KAAa,EACb,IAA+B;QAE/B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5E,IAAI,CAAC,GAAG,KAAK,6BAA6B,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;CACJ"}
|
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;CA0IJ"}
|
package/dist/discover.js
CHANGED
|
@@ -24,12 +24,12 @@ import RuntimeDeclaration from "./RuntimeDeclaration.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?, invocation,
|
|
27
|
+
// - STATIC: `plurnk.runtimes: { name, glyph?, summary, invocation, details? }[]` —
|
|
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. Summary, invocation, details, 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
|
|
@@ -116,15 +116,18 @@ export default class Discover {
|
|
|
116
116
|
const infos = [];
|
|
117
117
|
for (const raw of await Discover.#runtimeDecls(dir, packageName, plurnk)) {
|
|
118
118
|
const decl = RuntimeDeclaration.assert(raw, packageName);
|
|
119
|
-
// A package doc file wins over inline
|
|
119
|
+
// A package doc file wins over inline details
|
|
120
120
|
// ({§executor-runtime-declaration}).
|
|
121
|
-
const
|
|
121
|
+
const details = await Discover.#readDocFile(dir, decl.name) ?? decl.details ?? "";
|
|
122
122
|
infos.push({
|
|
123
123
|
runtime: decl.name,
|
|
124
124
|
glyph: decl.glyph ?? "",
|
|
125
|
+
summary: decl.summary,
|
|
125
126
|
invocation: decl.invocation,
|
|
126
|
-
|
|
127
|
+
details,
|
|
127
128
|
packageName,
|
|
129
|
+
...(decl.resourcesPath === undefined ? {} : { resourcesPath: decl.resourcesPath }),
|
|
130
|
+
...(decl.expandTools === undefined ? {} : { expandTools: decl.expandTools }),
|
|
128
131
|
...(attribution !== undefined ? { attribution } : {}),
|
|
129
132
|
});
|
|
130
133
|
}
|
|
@@ -187,11 +190,19 @@ export default class Discover {
|
|
|
187
190
|
}
|
|
188
191
|
return decls;
|
|
189
192
|
}
|
|
190
|
-
// A tag's
|
|
193
|
+
// A tag's supplemental detail file under the package's `docs/` folder — the
|
|
191
194
|
// convention's source of truth. Returns null when the package ships none.
|
|
192
195
|
static async #readDocFile(dir, tag) {
|
|
193
196
|
try {
|
|
194
|
-
|
|
197
|
+
const source = await fs.readFile(path.join(dir, "docs", `${tag}.md`), "utf-8");
|
|
198
|
+
const title = `# ${tag}`;
|
|
199
|
+
if (source === title || source === `${title}\n`)
|
|
200
|
+
return "";
|
|
201
|
+
if (source.startsWith(`${title}\r\n`))
|
|
202
|
+
return source.slice(title.length + 2).replace(/^\r?\n/u, "");
|
|
203
|
+
if (source.startsWith(`${title}\n`))
|
|
204
|
+
return source.slice(title.length + 1).replace(/^\r?\n/u, "");
|
|
205
|
+
return source;
|
|
195
206
|
}
|
|
196
207
|
catch {
|
|
197
208
|
return null;
|
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,kBAAkB,MAAM,yBAAyB,CAAC;AAUzD,uEAAuE;AACvE,8EAA8E;AAC9E,gFAAgF;AAChF,EAAE;AACF,4EAA4E;AAC5E,6EAA6E;AAC7E,yEAAyE;AACzE,+BAA+B;AAC/B,EAAE;AACF,+EAA+E;AAC/E,4EAA4E;AAC5E,
|
|
1
|
+
{"version":3,"file":"discover.js","sourceRoot":"","sources":["../src/discover.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export { default as Advertise } from "./advertise.ts";
|
|
|
12
12
|
export { Results } from "@plurnk/plurnk-schemes";
|
|
13
13
|
export type { ProblemDetails, SchemeResult } from "@plurnk/plurnk-schemes";
|
|
14
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";
|
|
15
|
+
export type { ChannelState, ChannelDecl, ExecutorMetadata, ExecArgs, ExecResult, Effect, RuntimeAvailability, RuntimeBodyDecl, RuntimeTargetKind, RuntimeTargetDecl, RuntimeInvocationExample, RuntimeInvocation as RuntimeInvocationDecl, RuntimeRegisteredTool, RuntimeToolRegistry, RuntimeDecl, RuntimesHook, ExecInfo, ExecRegistry, Discovery, DiscoverOptions, SpawnArgs, } from "./types.ts";
|
|
16
16
|
export type { Notice, NoticeLevel, ContentOffset, LogCoordinate } from "./Notice.ts";
|
|
17
17
|
export type { PluginAttributionContext, PluginAttributionDeclaration, PluginAttributionSource, } from "@plurnk/plurnk-meta";
|
|
18
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;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"}
|
|
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,qBAAqB,EACrB,mBAAmB,EACnB,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/types.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { SchemeResult } from "@plurnk/plurnk-schemes";
|
|
2
|
+
import type { ClientInteractionRequest, ClientInteractionResolution } from "@plurnk/plurnk-contracts";
|
|
2
3
|
import type { PackageAttributions } from "@plurnk/plurnk-meta";
|
|
3
4
|
import type { Notice } from "./Notice.ts";
|
|
4
5
|
export type ChannelState = "active" | "closed" | "errored";
|
|
@@ -20,6 +21,7 @@ export interface ExecArgs {
|
|
|
20
21
|
write: (channel: string, chunk: string, mimetype?: string) => void;
|
|
21
22
|
setState: (channel: string, state: ChannelState) => void;
|
|
22
23
|
emit: (notice: Notice) => void;
|
|
24
|
+
interact: (request: ClientInteractionRequest) => Promise<ClientInteractionResolution>;
|
|
23
25
|
entry?: (path: string, content: string | null, opts: {
|
|
24
26
|
tags: string[];
|
|
25
27
|
mimetype?: string;
|
|
@@ -48,25 +50,46 @@ export interface RuntimeInvocationExample {
|
|
|
48
50
|
readonly body?: string;
|
|
49
51
|
readonly target?: string;
|
|
50
52
|
}
|
|
51
|
-
|
|
53
|
+
interface RuntimeInvocationShape {
|
|
52
54
|
readonly body: RuntimeBodyDecl;
|
|
53
55
|
readonly target?: RuntimeTargetDecl;
|
|
54
56
|
readonly exclusive?: true;
|
|
57
|
+
}
|
|
58
|
+
export type RuntimeInvocation = RuntimeInvocationShape & ({
|
|
55
59
|
readonly example: RuntimeInvocationExample;
|
|
60
|
+
readonly signature?: never;
|
|
61
|
+
} | {
|
|
62
|
+
readonly example?: never;
|
|
63
|
+
readonly signature: string;
|
|
64
|
+
});
|
|
65
|
+
export interface RuntimeRegisteredTool {
|
|
66
|
+
readonly target: string;
|
|
67
|
+
readonly summary: string;
|
|
68
|
+
readonly invocation: RuntimeInvocation;
|
|
69
|
+
readonly details?: string;
|
|
70
|
+
}
|
|
71
|
+
export interface RuntimeToolRegistry {
|
|
72
|
+
readonly tools: readonly RuntimeRegisteredTool[];
|
|
56
73
|
}
|
|
57
74
|
export interface ExecInfo {
|
|
58
75
|
runtime: string;
|
|
59
76
|
glyph: string;
|
|
77
|
+
summary: string;
|
|
60
78
|
invocation: RuntimeInvocation;
|
|
61
|
-
|
|
79
|
+
details: string;
|
|
80
|
+
resourcesPath?: string;
|
|
81
|
+
expandTools?: boolean;
|
|
62
82
|
packageName: string;
|
|
63
83
|
attribution?: string | string[];
|
|
64
84
|
}
|
|
65
85
|
export interface RuntimeDecl {
|
|
66
86
|
name: string;
|
|
67
87
|
glyph?: string;
|
|
88
|
+
summary: string;
|
|
68
89
|
invocation: RuntimeInvocation;
|
|
69
|
-
|
|
90
|
+
details?: string;
|
|
91
|
+
resourcesPath?: string;
|
|
92
|
+
expandTools?: boolean;
|
|
70
93
|
}
|
|
71
94
|
export type RuntimesHook = () => RuntimeDecl[] | Promise<RuntimeDecl[]>;
|
|
72
95
|
export type ExecRegistry = ReadonlyMap<string, ExecInfo>;
|
|
@@ -94,4 +117,5 @@ export interface SpawnArgs {
|
|
|
94
117
|
*/
|
|
95
118
|
stdin?: string;
|
|
96
119
|
}
|
|
120
|
+
export {};
|
|
97
121
|
//# sourceMappingURL=types.d.ts.map
|
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;
|
|
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`, `
|
|
2
|
+
// one or more runtime tags (`sh`, `bash`, `python`, `jq`, …) 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,gEAAgE;AAChE,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.8.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.8.0",
|
|
55
|
+
"@plurnk/plurnk-meta": "1.8.0",
|
|
56
|
+
"@plurnk/plurnk-schemes": "1.8.0"
|
|
57
57
|
}
|
|
58
58
|
}
|