@plurnk/plurnk-execs 3.1.1 → 4.0.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 +2 -1
- package/SPEC.md +19 -5
- package/dist/InvocationMetadata.d.ts.map +1 -1
- package/dist/InvocationMetadata.js +4 -2
- package/dist/InvocationMetadata.js.map +1 -1
- package/dist/Shell.d.ts +13 -0
- package/dist/Shell.d.ts.map +1 -0
- package/dist/Shell.js +51 -0
- package/dist/Shell.js.map +1 -0
- package/dist/SpawnAccount.d.ts +8 -0
- package/dist/SpawnAccount.d.ts.map +1 -1
- package/dist/SpawnAccount.js +18 -5
- package/dist/SpawnAccount.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +5 -2
- package/dist/runtime.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -108,7 +108,8 @@ delivery. The consumer routes SEND to the existing execution address and owns
|
|
|
108
108
|
ordering, deadlines, permissions, and proposals. This does not expose Worker
|
|
109
109
|
identity or grant access to stored output.
|
|
110
110
|
|
|
111
|
-
`SubprocessExecutor` supplies this receiver when launched with `[{"stdin": "open"}]
|
|
111
|
+
`SubprocessExecutor` supplies this receiver when launched with `[{"stdin": "open"}]`, and
|
|
112
|
+
its preparation declares it (`input: "open"`) so the consumer knows a receiver is coming.
|
|
112
113
|
SEND writes exact UTF-8 input; `[{"eof": true}]` ends stdin. No option means ordinary
|
|
113
114
|
batch EOF. See [the live-input contract](SPEC.md#executor-live-input-invocation-local-input).
|
|
114
115
|
|
package/SPEC.md
CHANGED
|
@@ -148,6 +148,11 @@ signal: AbortSignal }` and resolves a universal `SchemeResult`. The body is exac
|
|
|
148
148
|
authored text; metadata belongs to the receiver. Registration is once per run,
|
|
149
149
|
never executor-instance state. An absent callback means the consumer cannot
|
|
150
150
|
deliver live input. A receiver must honor cancellation at each delivery boundary.
|
|
151
|
+
Preparation declares the receiver: an invocation that will register one returns
|
|
152
|
+
`input: "open"` from `prepare` ({§executor-metadata}), so the consumer can tell input
|
|
153
|
+
that has not opened yet from input that never will. Registering without the
|
|
154
|
+
declaration is the executor's defect, refused at registration; declaring and settling
|
|
155
|
+
without registering closes input when the run settles.
|
|
151
156
|
|
|
152
157
|
| Responsibility | Owner |
|
|
153
158
|
| --- | --- |
|
|
@@ -158,7 +163,8 @@ deliver live input. A receiver must honor cancellation at each delivery boundary
|
|
|
158
163
|
|
|
159
164
|
#### §executor-stdin Subprocess input
|
|
160
165
|
|
|
161
|
-
`SubprocessExecutor` accepts `[{"stdin": "open"}]` at invocation
|
|
166
|
+
`SubprocessExecutor` accepts `[{"stdin": "open"}]` at invocation, and its preparation
|
|
167
|
+
then declares `input: "open"` ({§executor-live-input}). The initial recipe
|
|
162
168
|
input precedes SEND bodies and stdin remains open; without this option, existing
|
|
163
169
|
batch input and EOF behavior is unchanged. The same input adapter serves `jq`.
|
|
164
170
|
|
|
@@ -268,10 +274,11 @@ reclassifies the materialized path.
|
|
|
268
274
|
| `pure` | Has no externally observable side effect. | Automatically accepted. |
|
|
269
275
|
|
|
270
276
|
The classification controls admission policy and may be reused as operational
|
|
271
|
-
metadata; it never changes within the invocation. After acceptance,
|
|
277
|
+
metadata; it never changes within the invocation. After acceptance, an external execution
|
|
272
278
|
uses the same background stream path: output is not returned in the dispatching
|
|
273
279
|
turn. Core owns that composed behavior in {§exec-host-proposes},
|
|
274
|
-
{§exec-readpure-ungated}, and {§exec-stream}
|
|
280
|
+
{§exec-readpure-ungated}, and {§exec-stream}; its ordered subsystem commands use
|
|
281
|
+
{§functionality-model-mutation}.
|
|
275
282
|
|
|
276
283
|
### §executor-probe Availability is per runtime tag
|
|
277
284
|
|
|
@@ -595,7 +602,7 @@ package discovery also returns them in `Discovery.disabled`.
|
|
|
595
602
|
Workspace and loop admission remain consumer concerns;
|
|
596
603
|
the framework does not define a second Active/Available state machine.
|
|
597
604
|
|
|
598
|
-
§executor-spawn-account **Every subprocess runtime spawns as one configured account.** `PLURNK_EXECS_SPAWN_USER` names the account each subprocess runtime's child runs as: an account name, resolved once through the host's account database
|
|
605
|
+
§executor-spawn-account **Every subprocess runtime spawns as one configured account.** `PLURNK_EXECS_SPAWN_USER` names the account each subprocess runtime's child runs as: an account name, resolved once through the host's account database with `getent passwd`, or `uid[:gid]` taken as written; unset, the daemon's own. A host without `getent` names the account as `uid[:gid]`. The child's environment names it, `HOME`, `USER` and `LOGNAME` following a named account, applied after the composed environment the service hands over and before the spawn. Availability probes run as the same account, so a runtime the account cannot execute is not advertised. A value that resolves to no account is an invalid configuration at the spawn, named by the knob: a name the database does not hold `names no account on this host`; a lookup that did not run, exited otherwise or answered another record `was not resolved`, with what the lookup did, and is never reported as an absent account. An account the daemon may not assume fails the spawn with the host's error; nothing runs as the daemon's own account in its place. The key sits outside the runtime policy grammar above; the privilege to assume the account is the daemon's to have, nothing here grants it.
|
|
599
606
|
|
|
600
607
|
## §executor-default-inventory Current installed set
|
|
601
608
|
|
|
@@ -636,11 +643,18 @@ interface SpawnArgs {
|
|
|
636
643
|
|
|
637
644
|
| Runtime | No-target spawn |
|
|
638
645
|
| -------------------------- | -------------------------------------------------------------------- |
|
|
639
|
-
| `sh` |
|
|
646
|
+
| `sh` | `<shell> -c <body>`, the environment's shell ({§executor-shell}). |
|
|
640
647
|
| `node` | `node -e <body>`. |
|
|
641
648
|
| `python3` | `python3 -c <body>`. |
|
|
642
649
|
| Other default-base runtime | `<runtime> -c <body>`; specialized executors override this fallback. |
|
|
643
650
|
|
|
651
|
+
§executor-shell **`sh` runs the environment's shell, and says which.** The shell is `$SHELL` when it
|
|
652
|
+
is an absolute path to an executable file, and `/bin/sh`, the system shell, otherwise. It is resolved
|
|
653
|
+
once per daemon process, and that one resolution serves both the spawn and the declaration's summary,
|
|
654
|
+
which names the program the path runs, the version its `--version` reports when it reports one, and
|
|
655
|
+
the path: `Run shell commands and scripts with bash 5.2.37 (/bin/bash).` A script target runs under
|
|
656
|
+
the same shell. Nothing about the dialect is promised beyond what the summary names.
|
|
657
|
+
|
|
644
658
|
With a target, the target is the program and the body is its stdin. Each executor
|
|
645
659
|
uses its interpreter's file form (`awk -f <target>`, for example). The working
|
|
646
660
|
directory is the consumer's `cwd` — the project root, or the directory a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InvocationMetadata.d.ts","sourceRoot":"","sources":["../src/InvocationMetadata.ts"],"names":[],"mappings":"AAEA,OAAO,EAA4B,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACrF,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7D,KAAK,OAAO,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAChE,KAAK,QAAQ,GAAG;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AACpD,KAAK,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,YAAY,CAAA;CAAE,CAAC;AAM/D,MAAM,CAAC,OAAO,OAAO,kBAAkB;;IACnC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,GAAE,QAAa,GAAG,MAAM,CA6B9D;IAWD,OAAa,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,GAAE,QAAa,GAAG,OAAO,CAAC,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"InvocationMetadata.d.ts","sourceRoot":"","sources":["../src/InvocationMetadata.ts"],"names":[],"mappings":"AAEA,OAAO,EAA4B,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACrF,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7D,KAAK,OAAO,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAChE,KAAK,QAAQ,GAAG;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AACpD,KAAK,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,YAAY,CAAA;CAAE,CAAC;AAM/D,MAAM,CAAC,OAAO,OAAO,kBAAkB;;IACnC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,GAAE,QAAa,GAAG,MAAM,CA6B9D;IAWD,OAAa,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,GAAE,QAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CAkBxF;CACJ"}
|
|
@@ -51,13 +51,15 @@ export default class InvocationMetadata {
|
|
|
51
51
|
const parsed = this.parse(input, accepted);
|
|
52
52
|
if ("failure" in parsed)
|
|
53
53
|
return parsed.failure;
|
|
54
|
+
// {§executor-live-input} — `stdin: "open"` is the declaration that a receiver will register.
|
|
55
|
+
const declared = parsed.options.stdin === "open" ? { input: "open" } : {};
|
|
54
56
|
const directory = parsed.options.cwd;
|
|
55
57
|
if (directory === undefined)
|
|
56
|
-
return { status: 200, cwd: input.cwd };
|
|
58
|
+
return { status: 200, cwd: input.cwd, ...declared };
|
|
57
59
|
const cwd = resolve(input.cwd ?? process.cwd(), directory);
|
|
58
60
|
try {
|
|
59
61
|
if ((await stat(cwd)).isDirectory())
|
|
60
|
-
return { status: 200, cwd };
|
|
62
|
+
return { status: 200, cwd, ...declared };
|
|
61
63
|
}
|
|
62
64
|
catch (cause) {
|
|
63
65
|
const code = cause.code;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InvocationMetadata.js","sourceRoot":"","sources":["../src/InvocationMetadata.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"InvocationMetadata.js","sourceRoot":"","sources":["../src/InvocationMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,OAAO,EAAqB,MAAM,wBAAwB,CAAC;AAOrF,gFAAgF;AAChF,+FAA+F;AAC/F,qDAAqD;AACrD,gEAAgE;AAChE,MAAM,CAAC,OAAO,OAAO,kBAAkB;IACnC,MAAM,CAAC,KAAK,CAAC,KAAgB,EAAE,QAAQ,GAAa,EAAE;QAClD,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,MAAc,EAAE,QAAiB,EAAU,EAAE,CAAC,CAAC;YACvE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE;gBACjE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK;aAC5F,CAAC;SACL,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,mBAAmB,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACpG,IAAI,SAAS,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QACnC,MAAM,OAAO,GAAY,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QACtC,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACxD,IAAI,KAAK,KAAK,KAAK,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,KAAK,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,IAAI,KAAK,KAAK,OAAO,CAAC,EAAE,CAAC;gBACpG,OAAO,IAAI,CAAC,sBAAsB,EAAE,oBAAoB,KAAK,CAAC,OAAO,qCAAqC,KAAK,IAAI,EAAE,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC/J,CAAC;YACD,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;gBACpB,IAAI,KAAK,KAAK,MAAM;oBAAE,OAAO,IAAI,CAAC,eAAe,EAAE,sCAAsC,CAAC,CAAC;gBAC3F,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC;gBACvB,SAAS;YACb,CAAC;YACD,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;gBAClB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAAE,OAAO,IAAI,CAAC,aAAa,EAAE,qEAAqE,CAAC,CAAC;gBAC/K,OAAO,CAAC,GAAG,GAAG,KAAK,CAAC;gBACpB,SAAS;YACb,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,EAAiB,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBAChH,OAAO,IAAI,CAAC,cAAc,EAAE,6DAA6D,CAAC,CAAC;YAC/F,CAAC;YACD,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC;QACzB,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,CAAC;IACvB,CAAC;IAED,8FAA8F;IAC9F,6FAA6F;IAC7F,4CAA4C;IAC5C,MAAM,CAAC,OAAO,CAAC,QAAkB;QAC7B,MAAM,KAAK,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,eAAe,CAAC,YAAY,CAAC;aAC7I,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC;QAClC,OAAO,kBAAkB,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,GAAG,CAAC;IACnF,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAgB,EAAE,QAAQ,GAAa,EAAE;QAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC3C,IAAI,SAAS,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC,OAAO,CAAC;QAC/C,6FAA6F;QAC7F,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnF,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;QACrC,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QACjF,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;QAC3D,IAAI,CAAC;YACD,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE;gBAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAClF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,GAAI,KAA+B,CAAC,IAAI,CAAC;YACnD,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,SAAS;gBAAE,MAAM,KAAK,CAAC;QAC7D,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE,eAAe,EAAE,GAAG,EAC5D,kBAAkB,SAAS,iCAAiC,EAAE,EAAE,EAAE;YAC9D,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK;SAC3C,CAAC,CAAC;IACX,CAAC;CACJ"}
|
package/dist/Shell.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface ShellChoice {
|
|
2
|
+
readonly path: string;
|
|
3
|
+
readonly program: string;
|
|
4
|
+
readonly version: string | null;
|
|
5
|
+
}
|
|
6
|
+
export default class Shell {
|
|
7
|
+
#private;
|
|
8
|
+
static readonly SYSTEM = "/bin/sh";
|
|
9
|
+
static resolve(env?: NodeJS.ProcessEnv): ShellChoice;
|
|
10
|
+
static current(): ShellChoice;
|
|
11
|
+
static summary({ path, program, version }: ShellChoice): string;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=Shell.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Shell.d.ts","sourceRoot":"","sources":["../src/Shell.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,WAAW;IAExB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED,MAAM,CAAC,OAAO,OAAO,KAAK;;IACtB,MAAM,CAAC,QAAQ,CAAC,MAAM,aAAa;IAGnC,MAAM,CAAC,OAAO,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,WAAW,CAIhE;IAGD,MAAM,CAAC,OAAO,IAAI,WAAW,CAE5B;IAED,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,WAAW,GAAG,MAAM,CAE9D;CAuBJ"}
|
package/dist/Shell.js
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
// {§executor-shell} The shell `sh` runs: the environment's `$SHELL` when it names an executable file, else
|
|
2
|
+
// the system shell. One resolution per process serves both the declaration's summary and the spawn.
|
|
3
|
+
import { spawnSync } from "node:child_process";
|
|
4
|
+
import { accessSync, constants, realpathSync, statSync } from "node:fs";
|
|
5
|
+
import { basename, isAbsolute } from "node:path";
|
|
6
|
+
import SpawnAccounts from "./SpawnAccount.js";
|
|
7
|
+
export default class Shell {
|
|
8
|
+
static SYSTEM = "/bin/sh";
|
|
9
|
+
static #current = null;
|
|
10
|
+
static resolve(env = process.env) {
|
|
11
|
+
const declared = env.SHELL;
|
|
12
|
+
const path = declared !== undefined && isAbsolute(declared) && Shell.#executable(declared) ? declared : Shell.SYSTEM;
|
|
13
|
+
return { path, program: Shell.#program(path), version: Shell.#version(path, env) };
|
|
14
|
+
}
|
|
15
|
+
// Resolved on first use and held for the process, so what the summary names is what runs.
|
|
16
|
+
static current() {
|
|
17
|
+
return Shell.#current ??= Shell.resolve();
|
|
18
|
+
}
|
|
19
|
+
static summary({ path, program, version }) {
|
|
20
|
+
return `Run shell commands and scripts with ${program}${version === null ? "" : ` ${version}`} (${path}).`;
|
|
21
|
+
}
|
|
22
|
+
static #executable(path) {
|
|
23
|
+
try {
|
|
24
|
+
if (!statSync(path).isFile())
|
|
25
|
+
return false;
|
|
26
|
+
accessSync(path, constants.X_OK);
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
static #program(path) {
|
|
34
|
+
try {
|
|
35
|
+
return basename(realpathSync(path));
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
return basename(path);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
// The first dotted number on the first line; a shell without `--version` (dash) reports none.
|
|
42
|
+
static #version(path, env) {
|
|
43
|
+
const probe = spawnSync(path, ["--version"], {
|
|
44
|
+
encoding: "utf8", timeout: 2_000, stdio: ["ignore", "pipe", "ignore"], ...SpawnAccounts.options(env), // {§executor-spawn-account}
|
|
45
|
+
});
|
|
46
|
+
if (probe.status !== 0)
|
|
47
|
+
return null;
|
|
48
|
+
return /\d+(?:\.\d+)+/u.exec(probe.stdout.split("\n")[0] ?? "")?.[0] ?? null;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=Shell.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Shell.js","sourceRoot":"","sources":["../src/Shell.ts"],"names":[],"mappings":"AAAA,2GAA2G;AAC3G,oGAAoG;AACpG,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,aAAa,MAAM,mBAAmB,CAAC;AAW9C,MAAM,CAAC,OAAO,OAAO,KAAK;IACtB,MAAM,CAAU,MAAM,GAAG,SAAS,CAAC;IACnC,MAAM,CAAC,QAAQ,GAAuB,IAAI,CAAC;IAE3C,MAAM,CAAC,OAAO,CAAC,GAAG,GAAsB,OAAO,CAAC,GAAG;QAC/C,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC;QAC3B,MAAM,IAAI,GAAG,QAAQ,KAAK,SAAS,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;QACrH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;IACvF,CAAC;IAED,0FAA0F;IAC1F,MAAM,CAAC,OAAO;QACV,OAAO,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAe;QAClD,OAAO,uCAAuC,OAAO,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,KAAK,IAAI,IAAI,CAAC;IAC/G,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,IAAY;QAC3B,IAAI,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;gBAAE,OAAO,KAAK,CAAC;YAC3C,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;YACjC,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,KAAK,CAAC;QAAC,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,IAAY;QACxB,IAAI,CAAC;YAAC,OAAO,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QAAC,CAAC;QAC5C,MAAM,CAAC;YAAC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;QAAC,CAAC;IACpC,CAAC;IAED,8FAA8F;IAC9F,MAAM,CAAC,QAAQ,CAAC,IAAY,EAAE,GAAsB;QAChD,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE;YACzC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,4BAA4B;SACrI,CAAC,CAAC;QACH,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACpC,OAAO,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IACjF,CAAC;CACJ"}
|
package/dist/SpawnAccount.d.ts
CHANGED
|
@@ -5,6 +5,13 @@ export type SpawnAccount = {
|
|
|
5
5
|
readonly gid: number;
|
|
6
6
|
readonly home: string | null;
|
|
7
7
|
};
|
|
8
|
+
/** What the host's account lookup answered: the fields of `spawnSync` this resolver reads. */
|
|
9
|
+
export type AccountLookup = (name: string) => {
|
|
10
|
+
readonly error?: Error;
|
|
11
|
+
readonly status: number | null;
|
|
12
|
+
readonly signal?: NodeJS.Signals | null;
|
|
13
|
+
readonly stdout: string;
|
|
14
|
+
};
|
|
8
15
|
export default class SpawnAccounts {
|
|
9
16
|
#private;
|
|
10
17
|
static configured(env?: NodeJS.ProcessEnv): SpawnAccount | null;
|
|
@@ -13,5 +20,6 @@ export default class SpawnAccounts {
|
|
|
13
20
|
gid?: number;
|
|
14
21
|
};
|
|
15
22
|
static environment(base: NodeJS.ProcessEnv, env?: NodeJS.ProcessEnv): NodeJS.ProcessEnv;
|
|
23
|
+
static resolve(value: string, lookup?: AccountLookup): SpawnAccount;
|
|
16
24
|
}
|
|
17
25
|
//# sourceMappingURL=SpawnAccount.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpawnAccount.d.ts","sourceRoot":"","sources":["../src/SpawnAccount.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU,4BAA4B,CAAC;AAEpD,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,CAAC;
|
|
1
|
+
{"version":3,"file":"SpawnAccount.d.ts","sourceRoot":"","sources":["../src/SpawnAccount.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU,4BAA4B,CAAC;AAEpD,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,CAAC;AAEF,8FAA8F;AAC9F,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK;IAC1C,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CAC3B,CAAC;AASF,MAAM,CAAC,OAAO,OAAO,aAAa;;IAG9B,MAAM,CAAC,UAAU,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,YAAY,GAAG,IAAI,CAQ3E;IAGD,MAAM,CAAC,OAAO,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAGnF;IAID,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAAC,UAAU,CAInG;IAID,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,aAAsB,GAAG,YAAY,CAoB1E;CACJ"}
|
package/dist/SpawnAccount.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { spawnSync } from "node:child_process";
|
|
2
2
|
export const SPAWN_USER = "PLURNK_EXECS_SPAWN_USER";
|
|
3
|
+
// getent(1): 2 is "the key is not in the database", distinct from a lookup that failed.
|
|
4
|
+
const GETENT_ABSENT = 2;
|
|
5
|
+
const getent = (name) => spawnSync("getent", ["passwd", name], { encoding: "utf8" });
|
|
3
6
|
// {§executor-spawn-account} — the account every subprocess runtime spawns as. Unset, the
|
|
4
7
|
// daemon's own; a name is resolved once through the host's account database, `uid[:gid]`
|
|
5
8
|
// is taken as written. An unresolvable value is an invalid configuration at the spawn.
|
|
@@ -12,7 +15,7 @@ export default class SpawnAccounts {
|
|
|
12
15
|
const known = SpawnAccounts.#resolved.get(value);
|
|
13
16
|
if (known !== undefined)
|
|
14
17
|
return known;
|
|
15
|
-
const account = SpawnAccounts
|
|
18
|
+
const account = SpawnAccounts.resolve(value);
|
|
16
19
|
SpawnAccounts.#resolved.set(value, account);
|
|
17
20
|
return account;
|
|
18
21
|
}
|
|
@@ -29,16 +32,26 @@ export default class SpawnAccounts {
|
|
|
29
32
|
return base;
|
|
30
33
|
return { ...base, ...(account.home === null ? {} : { HOME: account.home }), USER: account.name, LOGNAME: account.name };
|
|
31
34
|
}
|
|
32
|
-
|
|
35
|
+
// One value resolved, uncached. A lookup that did not run or did not answer says nothing about
|
|
36
|
+
// the account, so it is never reported as an absent one.
|
|
37
|
+
static resolve(value, lookup = getent) {
|
|
33
38
|
const numeric = /^(\d+)(?::(\d+))?$/u.exec(value);
|
|
34
39
|
if (numeric !== null) {
|
|
35
40
|
return { name: null, uid: Number(numeric[1]), gid: Number(numeric[2] ?? numeric[1]), home: null };
|
|
36
41
|
}
|
|
37
|
-
const
|
|
38
|
-
const
|
|
39
|
-
if (
|
|
42
|
+
const answer = lookup(value);
|
|
43
|
+
const unresolved = (what, cause) => new Error(`${SPAWN_USER}='${value}' was not resolved: the host's account lookup, \`getent passwd\`, ${what}; write uid[:gid] to name the account without a lookup.`, cause === undefined ? undefined : { cause });
|
|
44
|
+
if (answer.error !== undefined)
|
|
45
|
+
throw unresolved(`did not run (${answer.error.message})`, answer.error);
|
|
46
|
+
if (answer.status === GETENT_ABSENT) {
|
|
40
47
|
throw new Error(`${SPAWN_USER}='${value}' names no account on this host; write an account name or uid[:gid].`);
|
|
41
48
|
}
|
|
49
|
+
if (answer.status !== 0)
|
|
50
|
+
throw unresolved(answer.status === null ? `was ended by ${answer.signal ?? "a signal"}` : `exited ${answer.status}`);
|
|
51
|
+
const fields = answer.stdout.trim().split(":");
|
|
52
|
+
if (fields.length < 7 || fields[0] !== value || !/^\d+$/u.test(fields[2]) || !/^\d+$/u.test(fields[3])) {
|
|
53
|
+
throw unresolved("answered a record that is not this account's");
|
|
54
|
+
}
|
|
42
55
|
return { name: fields[0], uid: Number(fields[2]), gid: Number(fields[3]), home: fields[5] === "" ? null : fields[5] };
|
|
43
56
|
}
|
|
44
57
|
}
|
package/dist/SpawnAccount.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpawnAccount.js","sourceRoot":"","sources":["../src/SpawnAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,MAAM,CAAC,MAAM,UAAU,GAAG,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"SpawnAccount.js","sourceRoot":"","sources":["../src/SpawnAccount.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,6 +5,8 @@ export { default as SubprocessInput } from "./SubprocessInput.ts";
|
|
|
5
5
|
export { default as InvocationMetadata } from "./InvocationMetadata.ts";
|
|
6
6
|
export { default as ErrorDetail, ERROR_DETAIL_LIMIT } from "./ErrorDetail.ts";
|
|
7
7
|
export { default as SpawnAccounts, SPAWN_USER } from "./SpawnAccount.ts";
|
|
8
|
+
export { default as Shell } from "./Shell.ts";
|
|
9
|
+
export type { ShellChoice } from "./Shell.ts";
|
|
8
10
|
export type { SpawnAccount } from "./SpawnAccount.ts";
|
|
9
11
|
export { CommandSyntaxError, tokenizeArgv } from "./tokenizeArgv.ts";
|
|
10
12
|
export { default as RuntimeTag } from "./RuntimeTag.ts";
|
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,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACzE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,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;AACxE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC;AAKlD,eAAO,MAAM,QAAQ,sBAAgB,CAAC;AAMtC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AAIhD,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,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,UAAU,EACV,MAAM,EACN,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,IAAI,qBAAqB,EAC1C,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,eAAe,EACf,SAAS,GACZ,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAGvE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACrF,YAAY,EACR,2BAA2B,EAC3B,+BAA+B,EAC/B,0BAA0B,GAC7B,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,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,YAAY,CAAC;AAC9C,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,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;AACxE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC;AAKlD,eAAO,MAAM,QAAQ,sBAAgB,CAAC;AAMtC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AAIhD,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,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,UAAU,EACV,MAAM,EACN,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,IAAI,qBAAqB,EAC1C,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,eAAe,EACf,SAAS,GACZ,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAGvE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACrF,YAAY,EACR,2BAA2B,EAC3B,+BAA+B,EAC/B,0BAA0B,GAC7B,MAAM,qBAAqB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -6,6 +6,7 @@ export { default as SubprocessInput } from "./SubprocessInput.js";
|
|
|
6
6
|
export { default as InvocationMetadata } from "./InvocationMetadata.js";
|
|
7
7
|
export { default as ErrorDetail, ERROR_DETAIL_LIMIT } from "./ErrorDetail.js";
|
|
8
8
|
export { default as SpawnAccounts, SPAWN_USER } from "./SpawnAccount.js";
|
|
9
|
+
export { default as Shell } from "./Shell.js";
|
|
9
10
|
export { CommandSyntaxError, tokenizeArgv } from "./tokenizeArgv.js";
|
|
10
11
|
export { default as RuntimeTag } from "./RuntimeTag.js";
|
|
11
12
|
export { default as RuntimeInvocation } from "./RuntimeInvocation.js";
|
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,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,UAAU,EAAE,MAAM,mBAAmB,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,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,YAAY,CAAC;AAG9C,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;AACxE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC;AAElD,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,gFAAgF;AAChF,wEAAwE;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC"}
|
package/dist/runtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,MAAM,CAAC,OAAO,OAAO,OAAO;IACxB,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,GAAG,IAAW,GAAG,SAAS,CAexF;CACJ"}
|
package/dist/runtime.js
CHANGED
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
// Spawn-argument recipes used internally by SubprocessExecutor.
|
|
2
|
+
import Shell from "./Shell.js";
|
|
2
3
|
export default class Runtime {
|
|
3
4
|
static resolve(runtime, command, target = null) {
|
|
5
|
+
// {§executor-shell} `sh` runs the environment's shell.
|
|
4
6
|
const shell = runtime === "" || runtime === "sh";
|
|
7
|
+
const cmd = shell ? Shell.current().path : runtime;
|
|
5
8
|
// With a target the program IS the target and the body is its stdin
|
|
6
9
|
// ({§executor-subprocess-routing}). Every interpreter reads one script
|
|
7
10
|
// file; neither shell command parsing nor an executable bit is required.
|
|
8
11
|
if (target !== null) {
|
|
9
|
-
return { cmd
|
|
12
|
+
return { cmd, args: [target], useShell: false, stdin: command };
|
|
10
13
|
}
|
|
11
14
|
if (shell)
|
|
12
|
-
return { cmd
|
|
15
|
+
return { cmd, args: ["-c", command], useShell: false };
|
|
13
16
|
if (runtime === "node")
|
|
14
17
|
return { cmd: "node", args: ["-e", command], useShell: false };
|
|
15
18
|
if (runtime === "python3")
|
package/dist/runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,gEAAgE;
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAGhE,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,MAAM,CAAC,OAAO,OAAO,OAAO;IACxB,MAAM,CAAC,OAAO,CAAC,OAAe,EAAE,OAAe,EAAE,MAAM,GAAkB,IAAI;QACzE,uDAAuD;QACvD,MAAM,KAAK,GAAG,OAAO,KAAK,EAAE,IAAI,OAAO,KAAK,IAAI,CAAC;QACjD,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;QACnD,oEAAoE;QACpE,uEAAuE;QACvE,yEAAyE;QACzE,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YAClB,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QACpE,CAAC;QACD,IAAI,KAAK;YAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAClE,IAAI,OAAO,KAAK,MAAM;YAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACvF,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAC7F,kEAAkE;QAClE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACpE,CAAC;CACJ"}
|
package/dist/types.d.ts
CHANGED
|
@@ -38,6 +38,7 @@ export interface ExecInputMessage {
|
|
|
38
38
|
export type ExecInputReceiver = (message: ExecInputMessage) => Promise<SchemeResult>;
|
|
39
39
|
export interface ExecPreparation extends SchemeResult {
|
|
40
40
|
readonly cwd?: string | null;
|
|
41
|
+
readonly input?: "open";
|
|
41
42
|
}
|
|
42
43
|
export interface ExecResult extends ChannelProducerResult {
|
|
43
44
|
exitCode?: number;
|
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,qBAAqB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,KAAK,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAClH,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;IAErB,OAAO,EAAE,MAAM,CAAC;IAEhB,IAAI,EAAE,MAAM,CAAC;IAEb,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IAInC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAOnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAMtB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAExB,MAAM,EAAE,WAAW,CAAC;IAEpB,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAOtD,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAEnE,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IAIzD,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAI/B,QAAQ,EAAE,CAAC,OAAO,EAAE,wBAAwB,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAK5G,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,EAAE,IAAI,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACrI;AAED,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,KAAK,GAAG,QAAQ,CAAC,CAAC;AAE3F,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IAC5C,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;CAChC;AAED,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plurnk/plurnk-execs",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0",
|
|
4
4
|
"description": "Framework + contract for the @plurnk/plurnk-execs-* runtime executor packages.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"plurnk",
|
|
@@ -50,10 +50,10 @@
|
|
|
50
50
|
"prepublishOnly": "npm audit --audit-level=moderate && npm test"
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
|
-
"@plurnk/plurnk-contracts": "^
|
|
54
|
-
"@plurnk/plurnk-parser": "^
|
|
53
|
+
"@plurnk/plurnk-contracts": "^4.0.0",
|
|
54
|
+
"@plurnk/plurnk-parser": "^4.0.0",
|
|
55
55
|
"@plurnk/plurnk-meta": "^2.1.0",
|
|
56
|
-
"@plurnk/plurnk-schemes": "^3.
|
|
56
|
+
"@plurnk/plurnk-schemes": "^3.2.0"
|
|
57
57
|
},
|
|
58
|
-
"gitHead": "
|
|
58
|
+
"gitHead": "9f92ceac0af7bdb64e57ebc73c0288bb0f36b720"
|
|
59
59
|
}
|