@plurnk/plurnk-execs 1.17.0 → 1.18.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 +13 -0
- package/README.md +4 -4
- package/SPEC.md +17 -15
- package/dist/RuntimeInvocation.d.ts.map +1 -1
- package/dist/RuntimeInvocation.js +6 -4
- package/dist/RuntimeInvocation.js.map +1 -1
- package/dist/RuntimeTag.d.ts.map +1 -1
- package/dist/RuntimeTag.js +8 -1
- package/dist/RuntimeTag.js.map +1 -1
- package/package.json +5 -4
package/.env.defaults
CHANGED
|
@@ -9,3 +9,16 @@
|
|
|
9
9
|
# PLURNK_EXECS_QUESTION=0
|
|
10
10
|
# Maximum diagnostic characters in model-facing errors; empty/unset = unbounded.
|
|
11
11
|
PLURNK_EXECS_ERROR_DETAIL_LIMIT=512
|
|
12
|
+
|
|
13
|
+
# Subprocess-common floors ({§operator-config-env-defaults}, {§exec-env-scoped}). The
|
|
14
|
+
# executor framework owns these because every subprocess runtime wants them and one owner
|
|
15
|
+
# per key is enforced at boot — each executor redeclaring them would crash the daemon.
|
|
16
|
+
# They are set-if-unset, so an operator who exports PAGER=less keeps theirs.
|
|
17
|
+
# A pager that waits for a keypress hangs a spawn that has no terminal.
|
|
18
|
+
PAGER=cat
|
|
19
|
+
# git consults its own pager variable first, so both are set.
|
|
20
|
+
GIT_PAGER=cat
|
|
21
|
+
# Colour escapes and progress spinners are noise in a captured channel.
|
|
22
|
+
NO_COLOR=1
|
|
23
|
+
# Non-interactive by construction: tools that branch on CI take the unattended path.
|
|
24
|
+
CI=1
|
package/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# plurnk-execs
|
|
2
2
|
|
|
3
3
|
Lean framework and contract for `@plurnk/plurnk-execs-*` runtime packages. Core
|
|
4
|
-
uses it to discover
|
|
4
|
+
uses it to discover runtime tags, admit calls, and stream each runtime's output
|
|
5
5
|
under its own tag-addressed scheme. The default service manifest, not this
|
|
6
6
|
framework, owns the standard installed leaf set ({§bundled-set}).
|
|
7
7
|
|
|
@@ -18,7 +18,7 @@ framework or service.
|
|
|
18
18
|
## Documentation
|
|
19
19
|
|
|
20
20
|
- [`SPEC.md`](./SPEC.md) — authoritative executor author and consumer contract.
|
|
21
|
-
- [plurnk-contracts](https://github.com/plurnk/plurnk-service/tree/main/plurnk-contracts) —
|
|
21
|
+
- [plurnk-contracts](https://github.com/plurnk/plurnk-service/tree/main/plurnk-contracts) — the execution AST and shared runtime-neutral contracts.
|
|
22
22
|
- [plurnk-schemes](https://github.com/plurnk/plurnk-service/tree/main/plurnk-schemes) — universal operation results and derived output-scheme contract.
|
|
23
23
|
|
|
24
24
|
## Write an executor
|
|
@@ -80,7 +80,7 @@ acceptance is not a same-turn result. See {§executor-effect}.
|
|
|
80
80
|
|
|
81
81
|
### Understand the target
|
|
82
82
|
|
|
83
|
-
The
|
|
83
|
+
The execution's `(target)` slot is runtime-specific:
|
|
84
84
|
|
|
85
85
|
| Runtime family | Typical mapping |
|
|
86
86
|
| -------------- | ----------------------------------------------------------------- |
|
|
@@ -95,7 +95,7 @@ to its tool rather than reconstructing filesystem or scheme policy.
|
|
|
95
95
|
`prepare(input)` validates the tool's raw header metadata before admission and
|
|
96
96
|
returns the effective cwd. `run(args)` receives that cwd and the original
|
|
97
97
|
metadata, separately from the unchanged body. Source acquisition never inherits
|
|
98
|
-
|
|
98
|
+
execution metadata. `BaseExecutor` supplies `[{"cwd": "..."}]`; `SubprocessExecutor` adds
|
|
99
99
|
literal script arguments with `[{"args": ["arg",...]}]`. Override preparation for
|
|
100
100
|
tool-specific options. See {§executor-metadata}.
|
|
101
101
|
|
package/SPEC.md
CHANGED
|
@@ -6,7 +6,7 @@ the framework; executor leaves implement it.
|
|
|
6
6
|
## §executor-role Role and ownership
|
|
7
7
|
|
|
8
8
|
An executor owns one declared runtime-specific invocation shape, its mapping
|
|
9
|
-
from that
|
|
9
|
+
from that fence body and realized target to work, declared output channels,
|
|
10
10
|
environment availability, and effect classification. The consumer owns
|
|
11
11
|
dispatch, invocation-shape enforcement and target realization, proposal policy,
|
|
12
12
|
storage, subscriptions, deadlines, polling, cancellation delivery, packet
|
|
@@ -17,7 +17,7 @@ flowchart LR
|
|
|
17
17
|
Manifest["package runtime declarations"] --> Discover["framework discovery"]
|
|
18
18
|
Discover --> Registry["runtime-tag registry"]
|
|
19
19
|
Registry --> Probe["consumer instantiates and probes each tag"]
|
|
20
|
-
Request["
|
|
20
|
+
Request["fence with runtime tag"] --> Effect["executor effect fact"]
|
|
21
21
|
Effect --> Admission["consumer proposal policy"]
|
|
22
22
|
Admission --> Stream["consumer creates tag-addressed stream"]
|
|
23
23
|
Stream --> Run["executor run with consumer sinks"]
|
|
@@ -77,7 +77,9 @@ Loop, or workspace invoked it beyond the arguments given. A runtime whose
|
|
|
77
77
|
behavior depends on a workspace — an attached MCP server or Functionality
|
|
78
78
|
manager — is published per workspace by its module, closing over that
|
|
79
79
|
identity at publication ({§functionality-model-projection}). Consumers must not smuggle
|
|
80
|
-
identity through `env` or `body` conventions
|
|
80
|
+
identity through `env` or `body` conventions; a consumer that owns both a
|
|
81
|
+
runtime and the execution identity binds the two to each other outside these
|
|
82
|
+
arguments, at the operation.
|
|
81
83
|
|
|
82
84
|
interface RuntimeAvailability {
|
|
83
85
|
available: boolean;
|
|
@@ -92,7 +94,7 @@ The framework constructs one executor per matched runtime tag with
|
|
|
92
94
|
`this.runtime`; it must not retain per-run state on the executor instance. The
|
|
93
95
|
derived addressable runtime scheme retains `glyph` for client discovery
|
|
94
96
|
({§manifest-client-display}); runtime aliases remain excluded from scheme
|
|
95
|
-
model-teaching because the
|
|
97
|
+
model-teaching because the execution invocation directory owns that hot-path
|
|
96
98
|
surface.
|
|
97
99
|
|
|
98
100
|
### §executor-sinks Inputs and sinks
|
|
@@ -100,9 +102,9 @@ surface.
|
|
|
100
102
|
| Field | Contract |
|
|
101
103
|
| ---------- | ------------------------------------------------------------------------------------------------------- |
|
|
102
104
|
| `runtime` | The matched tag. |
|
|
103
|
-
| `body` | The authored
|
|
105
|
+
| `body` | The authored fence body, interpreted according to the runtime's invocation declaration. |
|
|
104
106
|
| `cwd` | Consumer-selected project working directory, or `null` for a runtime that has none. |
|
|
105
|
-
| `target` | Consumer-realized optional
|
|
107
|
+
| `target` | Consumer-realized optional execution target. Its representation and role come from the invocation declaration. |
|
|
106
108
|
| `metadata` | Exact ordered header blocks owned by the invoked executor, retained separately from the body and target. |
|
|
107
109
|
| `env` | Exact child environment when supplied. A subprocess must use it instead of reconstructing host policy. |
|
|
108
110
|
| `signal` | Consumer cancellation. Every executor must honor it at each cancellable boundary. |
|
|
@@ -121,7 +123,7 @@ consumer side of {§executor-role}.
|
|
|
121
123
|
|
|
122
124
|
The invoked executor owns its `[metadata]` for every target kind. The source
|
|
123
125
|
scheme supplies the program or data; it does not inherit the invoking tool's
|
|
124
|
-
options. An internal source READ therefore carries no
|
|
126
|
+
options. An internal source READ therefore carries no execution metadata. An
|
|
125
127
|
authored READ retains its own source-scheme metadata contract.
|
|
126
128
|
|
|
127
129
|
| Stage | Contract |
|
|
@@ -234,7 +236,7 @@ reclassifies the materialized path.
|
|
|
234
236
|
| `pure` | Has no externally observable side effect. | Automatically accepted. |
|
|
235
237
|
|
|
236
238
|
The classification controls admission policy and may be reused as operational
|
|
237
|
-
metadata; it never changes within the invocation. After acceptance, every
|
|
239
|
+
metadata; it never changes within the invocation. After acceptance, every execution
|
|
238
240
|
uses the same background stream path: output is not returned in the dispatching
|
|
239
241
|
turn. Core owns that composed behavior in {§exec-host-proposes},
|
|
240
242
|
{§exec-readpure-ungated}, and {§exec-stream}.
|
|
@@ -256,7 +258,7 @@ unavailable is a fail-hard boot error.
|
|
|
256
258
|
|
|
257
259
|
## §executor-output-address Tag-addressed output
|
|
258
260
|
|
|
259
|
-
`exec` is the consumer's internal
|
|
261
|
+
`exec` is the consumer's internal execution dispatcher; it is not a model-facing
|
|
260
262
|
output namespace. Every available runtime receives one derived read-only
|
|
261
263
|
scheme face from its tag, channels, and default channel. The executor authors
|
|
262
264
|
no second scheme manifest.
|
|
@@ -410,11 +412,11 @@ details; the generated tool document owns the one model-facing H1.
|
|
|
410
412
|
| `resource` | Pass a local/file path directly. After acceptance, resolve a non-file data-scheme address through one exact READ; use its owner-supplied native file or a standalone temporary representation ({§exec-source-temporary}). |
|
|
411
413
|
| `script` | As `resource`, and the local path must be an existing file: a directory or an absent path is refused before anything spawns ({§exec-executor-slot}). |
|
|
412
414
|
|
|
413
|
-
Every
|
|
415
|
+
Every execution must supply at least a body or target even when neither field is
|
|
414
416
|
independently required. A target's meaning never changes because the body is
|
|
415
417
|
empty or non-empty. `exclusive` requires a target declaration. Exactly one of `example`,
|
|
416
418
|
`signature`, or `inputSchema` is present. An example must satisfy the same required, refused,
|
|
417
|
-
and exclusive buckets and parse as exactly one
|
|
419
|
+
and exclusive buckets and parse as exactly one executor fence for the runtime. A
|
|
418
420
|
signature is presentation, not an executable example; dispatch still enforces
|
|
419
421
|
the invocation's body and target declarations. An invocation declaration
|
|
420
422
|
with a missing field, unknown field, invalid combination, multiline role, or
|
|
@@ -488,8 +490,8 @@ Runtime-name admission is one identity contract:
|
|
|
488
490
|
|
|
489
491
|
| Constraint | Contract |
|
|
490
492
|
| ----------- | ------------------------------------------------------------------------------------------------------------- |
|
|
491
|
-
| Syntax | `[a-z][a-z0-9+.-]*`: canonical lowercase RFC-scheme syntax that is also an admitted
|
|
492
|
-
| Identity | The exact name is the
|
|
493
|
+
| Syntax | `[a-z][a-z0-9+.-]*`: canonical lowercase RFC-scheme syntax that is also an admitted execution identifier. |
|
|
494
|
+
| Identity | The exact name is the fence name, registry key, tool-family identity, and output URI-scheme name. |
|
|
493
495
|
| Reservation | `only` is unavailable because `PLURNK_EXECS_ONLY` owns that case-insensitive configuration key. |
|
|
494
496
|
|
|
495
497
|
Installed static declarations, trusted dynamic-hook declarations, and
|
|
@@ -593,7 +595,7 @@ violations for the consumer to contain.
|
|
|
593
595
|
|
|
594
596
|
### §executor-cancellation Cancellation and consumer timing
|
|
595
597
|
|
|
596
|
-
Executors know only the supplied `AbortSignal`. Core owns
|
|
598
|
+
Executors know only the supplied `AbortSignal`. Core owns execution timeout and poll
|
|
597
599
|
syntax, timers, wakes, and loop lifetime in {§exec-timeout} and {§exec-poll}.
|
|
598
600
|
Subprocess cancellation signals the process group: a caller-supplied kill code
|
|
599
601
|
is delivered once; ordinary cancellation uses SIGHUP; loop-end housekeeping
|
|
@@ -605,7 +607,7 @@ The consumer:
|
|
|
605
607
|
|
|
606
608
|
1. discovers declared tags, instantiates and probes each tag, and caches the verdict;
|
|
607
609
|
2. registers a derived output scheme for every admitted, available tag;
|
|
608
|
-
3. resolves
|
|
610
|
+
3. resolves the fence name to exactly one tag and obtains its effect fact;
|
|
609
611
|
4. applies proposal policy, creates the stream entry, and supplies sinks plus cancellation;
|
|
610
612
|
5. validates the terminal result and closes every declared channel and subscription coherently; and
|
|
611
613
|
6. projects stream observations and later reads without calling back into the executor.
|
|
@@ -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":"AAGA,OAAO,KAAK,EAGR,iBAAiB,IAAI,qBAAqB,EAE1C,mBAAmB,EAGtB,MAAM,YAAY,CAAC;AAsEpB,MAAM,CAAC,OAAO,OAAO,iBAAiB;IAClC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,qBAAqB,CAsFzF;IAED,MAAM,CAAC,kBAAkB,CACrB,KAAK,EAAE,OAAO,EACd,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GAChB,mBAAmB,CA4CrB;CACJ"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PlurnkParser } from "@plurnk/plurnk-parser";
|
|
2
|
+
import { PathSyntax } from "@plurnk/plurnk-contracts";
|
|
2
3
|
import RuntimeSummary from "./RuntimeSummary.js";
|
|
4
|
+
import { isExecution } from "@plurnk/plurnk-contracts";
|
|
3
5
|
const TARGET_KINDS = new Set(["literal", "path", "resource", "script"]);
|
|
4
6
|
const recordOf = (value, field, fail) => {
|
|
5
7
|
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
@@ -36,7 +38,7 @@ const oneExecSection = (source, runtime, expectedTarget) => {
|
|
|
36
38
|
const errors = parsed.items.filter((item) => item.kind === "error");
|
|
37
39
|
const statement = statements[0]?.statement;
|
|
38
40
|
return statements.length === 1
|
|
39
|
-
&& statement
|
|
41
|
+
&& statement !== undefined && isExecution(statement)
|
|
40
42
|
&& (expectedTarget === undefined || statement.target?.raw === expectedTarget)
|
|
41
43
|
&& errors.length === 0
|
|
42
44
|
&& parsed.unparsedTail === undefined;
|
|
@@ -120,7 +122,7 @@ export default class RuntimeInvocation {
|
|
|
120
122
|
const exampleTarget = example.target === undefined ? "" : ` (${PathSyntax.escapeTarget(example.target)})`;
|
|
121
123
|
const source = PlurnkParser.frame(`${runtime}${exampleTarget}`, example.body ?? null);
|
|
122
124
|
if (!oneExecSection(source, runtime)) {
|
|
123
|
-
fail("invocation.example must render one valid
|
|
125
|
+
fail("invocation.example must render one valid executor fence");
|
|
124
126
|
}
|
|
125
127
|
return { ...shape, example };
|
|
126
128
|
}
|
|
@@ -144,7 +146,7 @@ export default class RuntimeInvocation {
|
|
|
144
146
|
}
|
|
145
147
|
const escapedTarget = PathSyntax.escapeTarget(exactTarget);
|
|
146
148
|
if (!oneExecSection(PlurnkParser.frame(`${runtime} (${escapedTarget})`, null), runtime, exactTarget)) {
|
|
147
|
-
fail(`tool registry.tools[${index}] target '${exactTarget}' must render one valid
|
|
149
|
+
fail(`tool registry.tools[${index}] target '${exactTarget}' must render one valid executor fence`);
|
|
148
150
|
}
|
|
149
151
|
const invocation = RuntimeInvocation.assert(tool.invocation, packageName, runtime);
|
|
150
152
|
if (invocation.target?.required !== true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RuntimeInvocation.js","sourceRoot":"","sources":["../src/RuntimeInvocation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"RuntimeInvocation.js","sourceRoot":"","sources":["../src/RuntimeInvocation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAUjD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,MAAM,YAAY,GAAG,IAAI,GAAG,CAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AAE3F,MAAM,QAAQ,GAAG,CACb,KAAc,EACd,KAAa,EACb,IAA+B,EACR,EAAE;IACzB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACtE,IAAI,CAAC,GAAG,KAAK,oBAAoB,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,KAAgC,CAAC;AAC5C,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CACtB,KAAwC,EACxC,OAA4B,EAC5B,KAAa,EACb,IAA+B,EAC3B,EAAE;IACN,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACpE,IAAI,OAAO,KAAK,SAAS;QAAE,IAAI,CAAC,GAAG,KAAK,uBAAuB,OAAO,GAAG,CAAC,CAAC;AAC/E,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,CACX,KAAc,EACd,KAAa,EACb,IAA+B,EACzB,EAAE;IACR,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3E,IAAI,CAAC,GAAG,KAAK,6BAA6B,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CACf,KAAc,EACd,KAAa,EACb,IAA+B,EACxB,EAAE;IACT,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,IAAI,CAAC,GAAG,KAAK,kBAAkB,CAAC,CAAC;IACjE,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAClB,KAAc,EACd,KAAa,EACb,IAA+B,EACzB,EAAE;IACR,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,KAAK,KAAK,KAAK,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACrG,IAAI,CAAC,GAAG,KAAK,uCAAuC,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAEF,mGAAmG;AACnG,MAAM,cAAc,GAAG,CAAC,MAAc,EAAE,OAAe,EAAE,cAAuB,EAAW,EAAE;IACzF,MAAM,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC9E,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;IAC5E,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;IAC3C,OAAO,UAAU,CAAC,MAAM,KAAK,CAAC;WACvB,SAAS,KAAK,SAAS,IAAI,WAAW,CAAC,SAAS,CAAC;WACjD,CAAC,cAAc,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,EAAE,GAAG,KAAK,cAAc,CAAC;WAC1E,MAAM,CAAC,MAAM,KAAK,CAAC;WACnB,MAAM,CAAC,YAAY,KAAK,SAAS,CAAC;AAC7C,CAAC,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,iBAAiB;IAClC,MAAM,CAAC,MAAM,CAAC,KAAc,EAAE,WAAmB,EAAE,OAAe;QAC9D,MAAM,IAAI,GAAG,CAAC,MAAc,EAAS,EAAE;YACnC,MAAM,IAAI,KAAK,CAAC,gCAAgC,WAAW,KAAK,OAAO,KAAK,MAAM,EAAE,CAAC,CAAC;QAC1F,CAAC,CAAC;QACF,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;QACvD,iBAAiB,CAAC,UAAU,EAAE,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;QAEnI,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;QACrE,iBAAiB,CAAC,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;QACrF,MAAM,IAAI,GAAoB;YAC1B,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,sBAAsB,EAAE,IAAI,CAAC;YAC1D,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,QAAQ,EAAE,0BAA0B,EAAE,IAAI,CAAC;SAC7E,CAAC;QAEF,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,WAAW,IAAI,UAAU,EAAE,CAAC;YAC5B,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC,SAAS,EAAE,sBAAsB,EAAE,IAAI,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,MAAqC,CAAC;QAC1C,IAAI,QAAQ,IAAI,UAAU,EAAE,CAAC;YACzB,MAAM,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAC;YAC3E,iBAAiB,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAC;YACjG,IAAI,OAAO,WAAW,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,IAAyB,CAAC,EAAE,CAAC;gBACnG,IAAI,CAAC,mEAAmE,CAAC,CAAC;YAC9E,CAAC;YACD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAyB,CAAC;YACnD,MAAM,GAAG;gBACL,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,wBAAwB,EAAE,IAAI,CAAC;gBAC9D,QAAQ,EAAE,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,4BAA4B,EAAE,IAAI,CAAC;gBAC9E,IAAI;aACP,CAAC;QACN,CAAC;aAAM,IAAI,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,4CAA4C,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,UAAU,GAAG,SAAS,IAAI,UAAU,CAAC;QAC3C,MAAM,YAAY,GAAG,WAAW,IAAI,UAAU,CAAC;QAC/C,MAAM,SAAS,GAAG,aAAa,IAAI,UAAU,CAAC;QAC9C,IAAI,CAAC,UAAU,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrE,IAAI,CAAC,yEAAyE,CAAC,CAAC;QACpF,CAAC;QAED,MAAM,KAAK,GAIP;YACA,IAAI;YACJ,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;YAC3C,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5C,CAAC;QACF,IAAI,SAAS,EAAE,CAAC;YACZ,OAAO,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,wBAAwB,EAAE,IAAI,CAAC,EAAE,CAAC;QACvG,CAAC;QACD,IAAI,YAAY,EAAE,CAAC;YACf,OAAO;gBACH,GAAG,KAAK;gBACR,SAAS,EAAE,aAAa,CAAC,UAAU,CAAC,SAAS,EAAE,sBAAsB,EAAE,IAAI,CAAC;aAC/E,CAAC;QACN,CAAC;QAED,MAAM,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,oBAAoB,EAAE,IAAI,CAAC,CAAC;QAC9E,iBAAiB,CAAC,YAAY,EAAE,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,EAAE,oBAAoB,EAAE,IAAI,CAAC,CAAC;QACzF,MAAM,OAAO,GAA6B;YACtC,GAAG,CAAC,MAAM,IAAI,YAAY;gBACtB,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,YAAY,CAAC,IAAI,EAAE,yBAAyB,EAAE,IAAI,CAAC,EAAE;gBAC7E,CAAC,CAAC,EAAE,CAAC;YACT,GAAG,CAAC,QAAQ,IAAI,YAAY;gBACxB,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,MAAM,EAAE,2BAA2B,EAAE,IAAI,CAAC,EAAE;gBACnF,CAAC,CAAC,EAAE,CAAC;SACZ,CAAC;QACF,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC;QAC3C,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC;QAC/C,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS;YAAE,IAAI,CAAC,kDAAkD,CAAC,CAAC;QACrF,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO;YAAE,IAAI,CAAC,mDAAmD,CAAC,CAAC;QACzF,IAAI,MAAM,KAAK,SAAS,IAAI,SAAS;YAAE,IAAI,CAAC,oDAAoD,CAAC,CAAC;QAClG,IAAI,MAAM,EAAE,QAAQ,KAAK,IAAI,IAAI,CAAC,SAAS;YAAE,IAAI,CAAC,qDAAqD,CAAC,CAAC;QACzG,IAAI,SAAS,IAAI,OAAO,IAAI,SAAS;YAAE,IAAI,CAAC,6DAA6D,CAAC,CAAC;QAE3G,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;QAC1G,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,OAAO,GAAG,aAAa,EAAE,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;QACtF,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,yDAAyD,CAAC,CAAC;QACpE,CAAC;QAED,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,kBAAkB,CACrB,KAAc,EACd,WAAmB,EACnB,OAAe;QAEf,MAAM,IAAI,GAAG,CAAC,MAAc,EAAS,EAAE;YACnC,MAAM,IAAI,KAAK,CAAC,gCAAgC,WAAW,KAAK,OAAO,KAAK,MAAM,EAAE,CAAC,CAAC;QAC1F,CAAC,CAAC;QACF,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;QACxD,iBAAiB,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;QACvE,MAAM,UAAU,GAAc,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;YACvD,CAAC,CAAC,QAAQ,CAAC,KAAK;YAChB,CAAC,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAyB,EAAE;YACjE,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,EAAE,uBAAuB,KAAK,GAAG,EAAE,IAAI,CAAC,CAAC;YACpE,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,EAAE,uBAAuB,KAAK,GAAG,EAAE,IAAI,CAAC,CAAC;YACxH,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,uBAAuB,KAAK,UAAU,EAAE,IAAI,CAAC,CAAC;YAC7F,MAAM,OAAO,GAAG,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,uBAAuB,KAAK,WAAW,EAAE,IAAI,CAAC,CAAC;YACvG,IAAI,SAAS,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACxD,IAAI,CAAC,uBAAuB,KAAK,4BAA4B,CAAC,CAAC;YACnE,CAAC;YACD,MAAM,aAAa,GAAG,UAAU,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;YAC3D,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,OAAO,KAAK,aAAa,GAAG,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC;gBACnG,IAAI,CAAC,uBAAuB,KAAK,aAAa,WAAW,wCAAwC,CAAC,CAAC;YACvG,CAAC;YACD,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;YACnF,IACI,UAAU,CAAC,MAAM,EAAE,QAAQ,KAAK,IAAI;mBACjC,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,EACzC,CAAC;gBACC,IAAI,CAAC,uBAAuB,KAAK,qDAAqD,CAAC,CAAC;YAC5F,CAAC;YACD,IAAI,UAAU,CAAC,OAAO,EAAE,MAAM,KAAK,SAAS,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBACxF,IAAI,CAAC,uBAAuB,KAAK,aAAa,WAAW,+CAA+C,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YAC1I,CAAC;YACD,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC3B,IAAI,CAAC,kDAAkD,WAAW,GAAG,CAAC,CAAC;YAC3E,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACzB,OAAO;gBACH,MAAM,EAAE,WAAW;gBACnB,OAAO;gBACP,UAAU;gBACV,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAiB,EAAE,CAAC;aAC7E,CAAC;QACN,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,KAAK,EAAE,CAAC;IACrB,CAAC;CACJ"}
|
package/dist/RuntimeTag.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RuntimeTag.d.ts","sourceRoot":"","sources":["../src/RuntimeTag.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RuntimeTag.d.ts","sourceRoot":"","sources":["../src/RuntimeTag.ts"],"names":[],"mappings":"AAkBA,MAAM,CAAC,OAAO,OAAO,UAAU;IAC3B,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAEzC;IAED,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAYnD;CACJ"}
|
package/dist/RuntimeTag.js
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
import { RUNTIME_TAG } from "@plurnk/plurnk-contracts";
|
|
2
|
+
const SHAPE = RUNTIME_TAG;
|
|
2
3
|
const SHAPE_TEXT = "[a-z][a-z0-9+.-]*";
|
|
4
|
+
// A runtime tag is also an execution's op on the wire, so the internal "exec" scheme and the
|
|
5
|
+
// prompt row's op can never be runtime names.
|
|
3
6
|
const RESERVED = new Map([
|
|
4
7
|
["only", "PLURNK_EXECS_ONLY"],
|
|
8
|
+
["exec", "the execution scheme"],
|
|
9
|
+
["prompt", "the prompt row"],
|
|
10
|
+
["extension", "extension rows"],
|
|
11
|
+
["error", "error rows"],
|
|
5
12
|
]);
|
|
6
13
|
// One admission rule for installed and module-owned executor identities
|
|
7
14
|
// ({§executor-runtime-declaration}). A runtime tag is also its output URI
|
package/dist/RuntimeTag.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RuntimeTag.js","sourceRoot":"","sources":["../src/RuntimeTag.ts"],"names":[],"mappings":"AAAA,MAAM,KAAK,GAAG,
|
|
1
|
+
{"version":3,"file":"RuntimeTag.js","sourceRoot":"","sources":["../src/RuntimeTag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,MAAM,KAAK,GAAG,WAAW,CAAC;AAC1B,MAAM,UAAU,GAAG,mBAAmB,CAAC;AACvC,6FAA6F;AAC7F,8CAA8C;AAC9C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC;IACrB,CAAC,MAAM,EAAE,mBAAmB,CAAC;IAC7B,CAAC,MAAM,EAAE,sBAAsB,CAAC;IAChC,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IAC5B,CAAC,WAAW,EAAE,gBAAgB,CAAC;IAC/B,CAAC,OAAO,EAAE,YAAY,CAAC;CAC1B,CAAC,CAAC;AAEH,wEAAwE;AACxE,0EAA0E;AAC1E,2EAA2E;AAC3E,kDAAkD;AAClD,MAAM,CAAC,OAAO,OAAO,UAAU;IAC3B,MAAM,CAAC,EAAE,CAAC,KAAc;QACpB,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAClF,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,KAAc,EAAE,KAAa;QACvC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,qCAAqC,KAAK,wCAAwC,UAAU,gCAAgC,CAAC,CAAC;QAClJ,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,qCAAqC,KAAK,UAAU,KAAK,gBAAgB,UAAU,gCAAgC,CAAC,CAAC;QACzI,CAAC;QACD,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,qCAAqC,KAAK,UAAU,KAAK,oBAAoB,aAAa,EAAE,CAAC,CAAC;QAClH,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plurnk/plurnk-execs",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.18.0",
|
|
4
4
|
"description": "Framework + contract for the @plurnk/plurnk-execs-* runtime executor packages.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"plurnk",
|
|
@@ -51,8 +51,9 @@
|
|
|
51
51
|
"prepublishOnly": "npm audit --audit-level=moderate && npm test"
|
|
52
52
|
},
|
|
53
53
|
"dependencies": {
|
|
54
|
-
"@plurnk/plurnk-contracts": "1.
|
|
55
|
-
"@plurnk/plurnk-
|
|
56
|
-
"@plurnk/plurnk-
|
|
54
|
+
"@plurnk/plurnk-contracts": "1.18.0",
|
|
55
|
+
"@plurnk/plurnk-parser": "1.18.0",
|
|
56
|
+
"@plurnk/plurnk-meta": "1.18.0",
|
|
57
|
+
"@plurnk/plurnk-schemes": "1.18.0"
|
|
57
58
|
}
|
|
58
59
|
}
|