@plurnk/plurnk-execs 1.3.12 → 1.4.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.
Files changed (50) hide show
  1. package/.env.defaults +4 -0
  2. package/README.md +78 -36
  3. package/SPEC.md +379 -260
  4. package/dist/BaseExecutor.d.ts.map +1 -1
  5. package/dist/BaseExecutor.js +12 -13
  6. package/dist/BaseExecutor.js.map +1 -1
  7. package/dist/ErrorDetail.d.ts +8 -0
  8. package/dist/ErrorDetail.d.ts.map +1 -0
  9. package/dist/ErrorDetail.js +25 -0
  10. package/dist/ErrorDetail.js.map +1 -0
  11. package/dist/Notice.d.ts +3 -0
  12. package/dist/Notice.d.ts.map +1 -0
  13. package/dist/Notice.js +2 -0
  14. package/dist/Notice.js.map +1 -0
  15. package/dist/RuntimeTag.d.ts +5 -0
  16. package/dist/RuntimeTag.d.ts.map +1 -0
  17. package/dist/RuntimeTag.js +28 -0
  18. package/dist/RuntimeTag.js.map +1 -0
  19. package/dist/SubprocessExecutor.d.ts +1 -1
  20. package/dist/SubprocessExecutor.d.ts.map +1 -1
  21. package/dist/SubprocessExecutor.js +67 -20
  22. package/dist/SubprocessExecutor.js.map +1 -1
  23. package/dist/advertise.d.ts +4 -0
  24. package/dist/advertise.d.ts.map +1 -1
  25. package/dist/advertise.js +4 -2
  26. package/dist/advertise.js.map +1 -1
  27. package/dist/discover.d.ts.map +1 -1
  28. package/dist/discover.js +52 -84
  29. package/dist/discover.js.map +1 -1
  30. package/dist/index.d.ts +7 -1
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +10 -6
  33. package/dist/index.js.map +1 -1
  34. package/dist/policy.d.ts +1 -0
  35. package/dist/policy.d.ts.map +1 -1
  36. package/dist/policy.js +21 -20
  37. package/dist/policy.js.map +1 -1
  38. package/dist/runtime.js +1 -1
  39. package/dist/runtime.js.map +1 -1
  40. package/dist/tokenizeArgv.d.ts +5 -0
  41. package/dist/tokenizeArgv.d.ts.map +1 -0
  42. package/dist/tokenizeArgv.js +69 -0
  43. package/dist/tokenizeArgv.js.map +1 -0
  44. package/dist/types.d.ts +6 -4
  45. package/dist/types.d.ts.map +1 -1
  46. package/package.json +11 -15
  47. package/dist/TelemetryEvent.d.ts +0 -18
  48. package/dist/TelemetryEvent.d.ts.map +0 -1
  49. package/dist/TelemetryEvent.js +0 -2
  50. package/dist/TelemetryEvent.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"BaseExecutor.d.ts","sourceRoot":"","sources":["../src/BaseExecutor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAWnH,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,YAAa,YAAW,aAAa;IAC/D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,gBAAgB,EAG/C;IAYD,IAAI,QAAQ,IAAI,cAAc,CAS7B;IAID,IAAI,cAAc,IAAI,MAAM,CAE3B;IAOD,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IAO/D,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAmB5C,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAE/D;IAUD,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAErC;CACJ"}
1
+ {"version":3,"file":"BaseExecutor.d.ts","sourceRoot":"","sources":["../src/BaseExecutor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAWnH,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,YAAa,YAAW,aAAa;IAC/D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,gBAAgB,EAG/C;IAaD,IAAI,QAAQ,IAAI,cAAc,CAS7B;IAID,IAAI,cAAc,IAAI,MAAM,CAE3B;IAOD,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IAO/D,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAmB5C,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAE/D;IAQD,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAErC;CACJ"}
@@ -7,7 +7,7 @@ import { OutputScheme } from "@plurnk/plurnk-schemes";
7
7
  // The consuming scheme owns all I/O and lifecycle machinery (db, channels,
8
8
  // subscriptions, AbortController bridging, wake-on-completion). The executor
9
9
  // receives sinks via ExecArgs and nothing more — it stays stateless across
10
- // runs beyond its construction metadata (SPEC §5; the statelessness rule is §6).
10
+ // runs beyond its construction metadata ({§executor-role}).
11
11
  export default class BaseExecutor {
12
12
  runtime;
13
13
  glyph;
@@ -15,11 +15,12 @@ export default class BaseExecutor {
15
15
  this.runtime = runtime;
16
16
  this.glyph = glyph;
17
17
  }
18
- // --- output addressing: the executor produces, the consumer reads (SPEC §2.6)
18
+ // Output addressing: the executor produces and the consumer reads
19
+ // ({§executor-output-address}).
19
20
  // The executor is a PRODUCER. Its output streams (via run()'s write/setState)
20
21
  // into a consumer-held log entry addressed at `<tag>://<coord>`; every READ /
21
22
  // FIND over that entry is the consumer's uniform machinery, identical across
22
- // every tag (MCP no exception). The executor's only scheme-facing job is to
23
+ // every tag. The executor's only scheme-facing job is to
23
24
  // DECLARE the output scheme's manifest — derived from the runtime decl via
24
25
  // schemes' `manifestFromRuntime`, which is the sole reason it conforms to
25
26
  // SchemeHandler. It serves no read: BaseExecutor implements no read/find and
@@ -43,7 +44,7 @@ export default class BaseExecutor {
43
44
  // sqlite, where the daemon itself satisfies the dependency). Subclasses
44
45
  // that depend on an external binary or external config override.
45
46
  //
46
- // The consumer probes once at boot, per package, runs probes concurrently
47
+ // The consumer probes once at boot, per runtime tag, runs probes concurrently
47
48
  // under a per-probe timeout, and caches the result. Unlike `run()`, this
48
49
  // MAY reject — the consumer treats a rejection as `{ available: false }` —
49
50
  // but returning a crafted `{ available: false, detail }` for an expected
@@ -53,19 +54,17 @@ export default class BaseExecutor {
53
54
  // override that spawns a child (or opens a connection) MUST hand it to that
54
55
  // child so a resolved or timed-out probe REAPS it at once — otherwise an
55
56
  // in-flight `--version` write can EPIPE after the host tears down
56
- // (plurnk-execs#16). Optional and ignore-safe: a probe that spawns nothing
57
+ // ({§executor-probe}). Optional and ignore-safe: a probe that spawns nothing
57
58
  // needs nothing.
58
59
  async probe(_signal) {
59
60
  return { available: true };
60
61
  }
61
- // Side-effect class of an invocation against `target` (the parsed EXEC
62
- // `(target)` slot — the same value run() receives as `args.target`), for the
63
- // consumer's proposal-gating
64
- // policy (service#182). MUST be pure, synchronous, and cheap — it runs on
65
- // the dispatch hot path at propose time: classify the target only, NEVER
66
- // the command (parsing SQL/shell to judge intent is a sandbox-escape
67
- // footgun). Default `host` is the conservative, fail-safe end — anything we
68
- // can't classify is treated as host code-execution and proposed.
62
+ // Side-effect class of an invocation against the consumer-canonical logical
63
+ // target ({§executor-effect}). It is normally the same value run() receives;
64
+ // a consumer that later materializes an addressed source may supply a stable,
65
+ // opaque target-present identity instead. MUST be pure, synchronous, and
66
+ // cheap: classify the target only, NEVER authored command text. Default
67
+ // `host` is conservative — anything unclassifiable is proposed.
69
68
  effect(_target) {
70
69
  return "host";
71
70
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BaseExecutor.js","sourceRoot":"","sources":["../src/BaseExecutor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAItD,gFAAgF;AAChF,6EAA6E;AAC7E,6EAA6E;AAC7E,yEAAyE;AACzE,EAAE;AACF,2EAA2E;AAC3E,6EAA6E;AAC7E,2EAA2E;AAC3E,iFAAiF;AACjF,MAAM,CAAC,OAAO,OAAgB,YAAY;IAC7B,OAAO,CAAS;IAChB,KAAK,CAAS;IAEvB,YAAY,EAAE,OAAO,EAAE,KAAK,EAAoB;QAC5C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,+EAA+E;IAC/E,8EAA8E;IAC9E,8EAA8E;IAC9E,6EAA6E;IAC7E,4EAA4E;IAC5E,2EAA2E;IAC3E,0EAA0E;IAC1E,6EAA6E;IAC7E,2EAA2E;IAC3E,8EAA8E;IAC9E,IAAI,QAAQ;QACR,OAAO,YAAY,CAAC,mBAAmB,CAAC;YACpC,IAAI,EAAE,IAAI,CAAC,OAAO;YAClB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,MAAM,CAAC,WAAW,CACxB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAC7E;YACD,cAAc,EAAE,IAAI,CAAC,cAAc;SACtC,CAAC,CAAC;IACP,CAAC;IAED,yEAAyE;IACzE,oEAAoE;IACpE,IAAI,cAAc;QACd,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/C,CAAC;IAgBD,wEAAwE;IACxE,0EAA0E;IAC1E,wEAAwE;IACxE,iEAAiE;IACjE,EAAE;IACF,0EAA0E;IAC1E,yEAAyE;IACzE,2EAA2E;IAC3E,yEAAyE;IACzE,4DAA4D;IAC5D,EAAE;IACF,sEAAsE;IACtE,4EAA4E;IAC5E,yEAAyE;IACzE,kEAAkE;IAClE,2EAA2E;IAC3E,iBAAiB;IACjB,KAAK,CAAC,KAAK,CAAC,OAAqB;QAC7B,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,uEAAuE;IACvE,6EAA6E;IAC7E,6BAA6B;IAC7B,0EAA0E;IAC1E,yEAAyE;IACzE,qEAAqE;IACrE,4EAA4E;IAC5E,iEAAiE;IACjE,MAAM,CAAC,OAAsB;QACzB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ"}
1
+ {"version":3,"file":"BaseExecutor.js","sourceRoot":"","sources":["../src/BaseExecutor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAItD,gFAAgF;AAChF,6EAA6E;AAC7E,6EAA6E;AAC7E,yEAAyE;AACzE,EAAE;AACF,2EAA2E;AAC3E,6EAA6E;AAC7E,2EAA2E;AAC3E,4DAA4D;AAC5D,MAAM,CAAC,OAAO,OAAgB,YAAY;IAC7B,OAAO,CAAS;IAChB,KAAK,CAAS;IAEvB,YAAY,EAAE,OAAO,EAAE,KAAK,EAAoB;QAC5C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,kEAAkE;IAClE,gCAAgC;IAChC,8EAA8E;IAC9E,8EAA8E;IAC9E,6EAA6E;IAC7E,yDAAyD;IACzD,2EAA2E;IAC3E,0EAA0E;IAC1E,6EAA6E;IAC7E,2EAA2E;IAC3E,8EAA8E;IAC9E,IAAI,QAAQ;QACR,OAAO,YAAY,CAAC,mBAAmB,CAAC;YACpC,IAAI,EAAE,IAAI,CAAC,OAAO;YAClB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,MAAM,CAAC,WAAW,CACxB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAC7E;YACD,cAAc,EAAE,IAAI,CAAC,cAAc;SACtC,CAAC,CAAC;IACP,CAAC;IAED,yEAAyE;IACzE,oEAAoE;IACpE,IAAI,cAAc;QACd,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/C,CAAC;IAgBD,wEAAwE;IACxE,0EAA0E;IAC1E,wEAAwE;IACxE,iEAAiE;IACjE,EAAE;IACF,8EAA8E;IAC9E,yEAAyE;IACzE,2EAA2E;IAC3E,yEAAyE;IACzE,4DAA4D;IAC5D,EAAE;IACF,sEAAsE;IACtE,4EAA4E;IAC5E,yEAAyE;IACzE,kEAAkE;IAClE,6EAA6E;IAC7E,iBAAiB;IACjB,KAAK,CAAC,KAAK,CAAC,OAAqB;QAC7B,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,4EAA4E;IAC5E,6EAA6E;IAC7E,8EAA8E;IAC9E,yEAAyE;IACzE,wEAAwE;IACxE,gEAAgE;IAChE,MAAM,CAAC,OAAsB;QACzB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ"}
@@ -0,0 +1,8 @@
1
+ import type { ExecResult } from "./types.ts";
2
+ export declare const ERROR_DETAIL_LIMIT = "PLURNK_EXECS_ERROR_DETAIL_LIMIT";
3
+ export default class ErrorDetail {
4
+ static configuredLimit(): number | null;
5
+ static preview(value: unknown, limit: number): string;
6
+ static invalidConfiguration(owner: string): ExecResult;
7
+ }
8
+ //# sourceMappingURL=ErrorDetail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorDetail.d.ts","sourceRoot":"","sources":["../src/ErrorDetail.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,eAAO,MAAM,kBAAkB,oCAAoC,CAAC;AAEpE,MAAM,CAAC,OAAO,OAAO,WAAW;IAC5B,MAAM,CAAC,eAAe,IAAI,MAAM,GAAG,IAAI,CAKtC;IAED,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAKpD;IAED,MAAM,CAAC,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAarD;CACJ"}
@@ -0,0 +1,25 @@
1
+ import { Results } from "@plurnk/plurnk-schemes";
2
+ export const ERROR_DETAIL_LIMIT = "PLURNK_EXECS_ERROR_DETAIL_LIMIT";
3
+ export default class ErrorDetail {
4
+ static configuredLimit() {
5
+ const raw = process.env[ERROR_DETAIL_LIMIT];
6
+ if (raw === undefined || raw === "")
7
+ return null;
8
+ const limit = Number(raw);
9
+ return Number.isSafeInteger(limit) && limit >= 0 ? limit : null;
10
+ }
11
+ static preview(value, limit) {
12
+ const text = value instanceof Error ? value.message : String(value);
13
+ return text.length > limit
14
+ ? `${text.slice(0, limit)}...`
15
+ : text;
16
+ }
17
+ static invalidConfiguration(owner) {
18
+ return Results.failure(owner, "invalid-configuration", 500, `${ERROR_DETAIL_LIMIT} must be set to a non-negative integer.`, {}, {
19
+ configuration: ERROR_DETAIL_LIMIT,
20
+ stage: "configuration",
21
+ retryable: false,
22
+ });
23
+ }
24
+ }
25
+ //# sourceMappingURL=ErrorDetail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorDetail.js","sourceRoot":"","sources":["../src/ErrorDetail.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAGjD,MAAM,CAAC,MAAM,kBAAkB,GAAG,iCAAiC,CAAC;AAEpE,MAAM,CAAC,OAAO,OAAO,WAAW;IAC5B,MAAM,CAAC,eAAe;QAClB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAC5C,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE;YAAE,OAAO,IAAI,CAAC;QACjD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,OAAO,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACpE,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,KAAc,EAAE,KAAa;QACxC,MAAM,IAAI,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC,MAAM,GAAG,KAAK;YACtB,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK;YAC9B,CAAC,CAAC,IAAI,CAAC;IACf,CAAC;IAED,MAAM,CAAC,oBAAoB,CAAC,KAAa;QACrC,OAAO,OAAO,CAAC,OAAO,CAClB,KAAK,EACL,uBAAuB,EACvB,GAAG,EACH,GAAG,kBAAkB,yCAAyC,EAC9D,EAAE,EACF;YACI,aAAa,EAAE,kBAAkB;YACjC,KAAK,EAAE,eAAe;YACtB,SAAS,EAAE,KAAK;SACnB,CACJ,CAAC;IACN,CAAC;CACJ"}
@@ -0,0 +1,3 @@
1
+ export type { ContentOffset, LogCoordinate, Notice, } from "@plurnk/plurnk-contracts";
2
+ export type NoticeLevel = "error" | "warn" | "info";
3
+ //# sourceMappingURL=Notice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Notice.d.ts","sourceRoot":"","sources":["../src/Notice.ts"],"names":[],"mappings":"AAAA,YAAY,EACR,aAAa,EACb,aAAa,EACb,MAAM,GACT,MAAM,0BAA0B,CAAC;AAElC,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC"}
package/dist/Notice.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Notice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Notice.js","sourceRoot":"","sources":["../src/Notice.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export default class RuntimeTag {
2
+ static is(value: unknown): value is string;
3
+ static assert(value: unknown, owner: string): string;
4
+ }
5
+ //# sourceMappingURL=RuntimeTag.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RuntimeTag.d.ts","sourceRoot":"","sources":["../src/RuntimeTag.ts"],"names":[],"mappings":"AAUA,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"}
@@ -0,0 +1,28 @@
1
+ const SHAPE = /^[a-z][a-z0-9+.-]*$/;
2
+ const SHAPE_TEXT = "[a-z][a-z0-9+.-]*";
3
+ const RESERVED = new Map([
4
+ ["only", "PLURNK_EXECS_ONLY"],
5
+ ]);
6
+ // One admission rule for installed and module-owned executor identities
7
+ // ({§executor-runtime-declaration}). A runtime tag is also its output URI
8
+ // scheme, so canonical lowercase scheme syntax prevents folded aliases and
9
+ // keeps package-owned docs beneath docs/<tag>.md.
10
+ export default class RuntimeTag {
11
+ static is(value) {
12
+ return typeof value === "string" && SHAPE.test(value) && !RESERVED.has(value);
13
+ }
14
+ static assert(value, owner) {
15
+ if (typeof value !== "string" || value.length === 0) {
16
+ throw new Error(`exec runtime declaration invalid: ${owner} must declare a string name matching ${SHAPE_TEXT} (lowercase URI-scheme syntax)`);
17
+ }
18
+ if (!SHAPE.test(value)) {
19
+ throw new Error(`exec runtime declaration invalid: ${owner} name '${value}' must match ${SHAPE_TEXT} (lowercase URI-scheme syntax)`);
20
+ }
21
+ const configuration = RESERVED.get(value);
22
+ if (configuration !== undefined) {
23
+ throw new Error(`exec runtime declaration invalid: ${owner} name '${value}' is reserved by ${configuration}`);
24
+ }
25
+ return value;
26
+ }
27
+ }
28
+ //# sourceMappingURL=RuntimeTag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RuntimeTag.js","sourceRoot":"","sources":["../src/RuntimeTag.ts"],"names":[],"mappings":"AAAA,MAAM,KAAK,GAAG,qBAAqB,CAAC;AACpC,MAAM,UAAU,GAAG,mBAAmB,CAAC;AACvC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC;IACrB,CAAC,MAAM,EAAE,mBAAmB,CAAC;CAChC,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"}
@@ -6,6 +6,6 @@ export default class SubprocessExecutor extends BaseExecutor {
6
6
  effect(_target: string | null): Effect;
7
7
  probe(signal?: AbortSignal): Promise<RuntimeAvailability>;
8
8
  protected spawnArgs(runtime: string, command: string, target: string | null): SpawnArgs;
9
- run({ runtime, command, cwd, target, env, signal, write, setState, emit }: ExecArgs): Promise<ExecResult>;
9
+ run({ runtime, command, cwd, target, env, signal, write, setState }: ExecArgs): Promise<ExecResult>;
10
10
  }
11
11
  //# sourceMappingURL=SubprocessExecutor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SubprocessExecutor.d.ts","sourceRoot":"","sources":["../src/SubprocessExecutor.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAE7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAuB5G,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,YAAY;IACxD,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAKpD;IAKD,SAAS,KAAK,MAAM,IAAI,MAAM,GAAG,IAAI,CAEpC;IAGQ,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAE9C;IAEc,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAsBvE;IAQD,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAEtF;IAED,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAgGxG;CACJ"}
1
+ {"version":3,"file":"SubprocessExecutor.d.ts","sourceRoot":"","sources":["../src/SubprocessExecutor.ts"],"names":[],"mappings":"AAEA,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAI7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAuB5G,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,YAAY;IACxD,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAKpD;IAKD,SAAS,KAAK,MAAM,IAAI,MAAM,GAAG,IAAI,CAEpC;IAGQ,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAE9C;IAEc,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA2BvE;IASD,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAEtF;IAED,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAuKlG;CACJ"}
@@ -1,6 +1,9 @@
1
1
  import { spawn } from "node:child_process";
2
+ import { Results } from "@plurnk/plurnk-schemes";
2
3
  import BaseExecutor from "./BaseExecutor.js";
4
+ import ErrorDetail, { ERROR_DETAIL_LIMIT } from "./ErrorDetail.js";
3
5
  import Runtime from "./runtime.js";
6
+ import { CommandSyntaxError } from "./tokenizeArgv.js";
4
7
  // KILL[code]: an abort reason carrying `{ signal }` (a Unix signal name or
5
8
  // number) delivers exactly that signal, once, fire-and-forget — no escalation;
6
9
  // the model asked for a specific code. Absent → null → the polite default.
@@ -44,10 +47,15 @@ export default class SubprocessExecutor extends BaseExecutor {
44
47
  return { available: true };
45
48
  if (signal?.aborted)
46
49
  return { available: false };
47
- // No internal deadline — the per-probe timeout is the consumer's (SPEC
48
- // §2.2), handed in as `signal`. We pass it to spawn so a resolved or
50
+ const detailLimit = ErrorDetail.configuredLimit();
51
+ if (detailLimit === null) {
52
+ return { available: false, detail: `${ERROR_DETAIL_LIMIT} must be set to a non-negative integer.` };
53
+ }
54
+ // No internal deadline — the per-probe timeout is the consumer's
55
+ // ({§executor-probe}), handed in as `signal`. We pass it to spawn so a
56
+ // resolved or
49
57
  // timed-out probe REAPS its child at once; no in-flight `--version` write
50
- // can EPIPE after host teardown (plurnk-execs#16). stdin/stderr are
58
+ // can EPIPE after host teardown. stdin/stderr are
51
59
  // /dev/null'd — only stdout is read, for the version detail.
52
60
  return new Promise((resolve) => {
53
61
  let settled = false;
@@ -62,7 +70,7 @@ export default class SubprocessExecutor extends BaseExecutor {
62
70
  ? { available: false }
63
71
  : { available: false, detail: `${bin} not found on PATH` }));
64
72
  child.on("close", (code) => done(code === 0
65
- ? { available: true, detail: out.trim().split("\n")[0] || undefined }
73
+ ? { available: true, detail: ErrorDetail.preview(out.trim().split("\n")[0], detailLimit) || undefined }
66
74
  : { available: false, detail: `${bin} --version exited ${code}` }));
67
75
  });
68
76
  }
@@ -71,18 +79,45 @@ export default class SubprocessExecutor extends BaseExecutor {
71
79
  // interpreter table (e.g. the common-REPL harness) override this — and so
72
80
  // inherit run()'s streaming + process-group abort handling rather than
73
81
  // reimplementing it. When `target` is set, the body becomes the program's
74
- // stdin (plurnk-execs#15) — the plugin maps it; the parent parses nothing.
82
+ // stdin ({§executor-subprocess-routing}); the plugin maps it and the parent
83
+ // parses nothing.
75
84
  spawnArgs(runtime, command, target) {
76
85
  return Runtime.resolve(runtime, command, target);
77
86
  }
78
- run({ runtime, command, cwd, target, env, signal, write, setState, emit }) {
79
- const { cmd, args, useShell, stdin } = this.spawnArgs(runtime, command, target);
87
+ run({ runtime, command, cwd, target, env, signal, write, setState }) {
88
+ const detailLimit = ErrorDetail.configuredLimit();
89
+ if (detailLimit === null) {
90
+ setState("stdout", "errored");
91
+ setState("stderr", "errored");
92
+ return Promise.resolve(ErrorDetail.invalidConfiguration("executor:subprocess"));
93
+ }
94
+ let spawnArgs;
95
+ try {
96
+ spawnArgs = this.spawnArgs(runtime, command, target);
97
+ }
98
+ catch (cause) {
99
+ if (!(cause instanceof CommandSyntaxError))
100
+ throw cause;
101
+ setState("stdout", "errored");
102
+ setState("stderr", "errored");
103
+ return Promise.resolve(Results.failure("executor:subprocess", "invalid-command", 400, `Could not parse the '${runtime}' command: ${ErrorDetail.preview(cause, detailLimit)}.`, { exitCode: -1 }, {
104
+ runtime,
105
+ stage: "input-validation",
106
+ recovery: "Correct the command quoting and retry.",
107
+ retryable: false,
108
+ }));
109
+ }
110
+ const { cmd, args, useShell, stdin } = spawnArgs;
80
111
  return new Promise((resolve) => {
81
112
  // Already cancelled before we start — don't launch a doomed process.
82
113
  if (signal.aborted) {
83
114
  setState("stdout", "errored");
84
115
  setState("stderr", "errored");
85
- resolve({ status: 499, exitCode: -1 });
116
+ resolve(Results.failure("executor:subprocess", "cancelled", 499, `Execution of '${runtime}' was cancelled before it started.`, { exitCode: -1 }, {
117
+ runtime,
118
+ stage: "execution",
119
+ retryable: false,
120
+ }));
86
121
  return;
87
122
  }
88
123
  let settled = false;
@@ -92,11 +127,11 @@ export default class SubprocessExecutor extends BaseExecutor {
92
127
  // (e.g. the `sleep` in `sh -c "sleep 30"`) that a bare SIGTERM to the
93
128
  // direct child orphans, leaking the process and its stdout pipe. We
94
129
  // drive cancellation manually rather than via spawn's `signal`
95
- // option, which only kills the direct child (plurnk-execs#4).
130
+ // option, which only kills the direct child ({§executor-cancellation}).
96
131
  // env: consumer-scoped when provided (drops plurnk's own secrets,
97
- // plurnk-execs#8); host env inherited by default for back-compat.
132
+ // {§exec-env-scoped}); host env inherited when absent.
98
133
  // fd0: a provided stdin body gets a pipe (written + EOF'd below); NO
99
- // stdin body gets /dev/null, never a dangling open pipe (#519). A bare
134
+ // stdin body gets /dev/null, never a dangling open pipe. A bare
100
135
  // interpreter reached via the sh fallthrough (`EXEC[python3]` → `sh -c
101
136
  // "python3 …"`) reads its program from fd0 — an unclosed pipe there
102
137
  // never EOFs, so the child blocks in the kernel (unix_stream_read) and
@@ -112,8 +147,8 @@ export default class SubprocessExecutor extends BaseExecutor {
112
147
  // A fast-exiting child (`jq` on a small file — dead in milliseconds)
113
148
  // can already be gone when this write lands; the end() then EPIPEs,
114
149
  // and with no 'error' listener the rejection escapes and fails the
115
- // consumer even though the exec succeeded (#23 — the probe lane got
116
- // the same guard in #16). The child's exit code is the truth; a
150
+ // consumer even though the exec succeeded. The child's exit code is
151
+ // the truth; a
117
152
  // stdin write racing child exit is expected noise, not a failure.
118
153
  if (stdin !== undefined && child.stdin) {
119
154
  child.stdin.on("error", () => { });
@@ -159,19 +194,31 @@ export default class SubprocessExecutor extends BaseExecutor {
159
194
  child.stdout?.on("data", (chunk) => write("stdout", chunk.toString("utf8")));
160
195
  child.stderr?.on("data", (chunk) => write("stderr", chunk.toString("utf8")));
161
196
  child.on("error", (err) => {
162
- // The process could not be started — a framework-level failure
163
- // the model benefits from seeing as telemetry (a nonzero exit,
164
- // by contrast, is the program's own result and lives on stderr).
165
- emit({ source: `exec:${runtime}`, kind: "spawn_failed", message: err.message });
166
- finish({ status: 500, exitCode: -1 }, "errored");
197
+ finish(Results.failure("executor:subprocess", "spawn-failed", 500, `Could not start '${runtime}': ${ErrorDetail.preview(err, detailLimit)}`, { exitCode: -1 }, {
198
+ runtime,
199
+ stage: "spawn",
200
+ errorCode: err.code,
201
+ retryable: false,
202
+ }), "errored");
167
203
  });
168
204
  child.on("close", (code) => {
169
205
  if (signal.aborted) {
170
- finish({ status: 499, exitCode: code ?? -1 }, "errored");
206
+ finish(Results.failure("executor:subprocess", "cancelled", 499, `Execution of '${runtime}' was cancelled.`, { exitCode: code ?? -1 }, {
207
+ runtime,
208
+ stage: "execution",
209
+ retryable: false,
210
+ }), "errored");
171
211
  return;
172
212
  }
173
213
  const ok = code === 0;
174
- finish({ status: ok ? 200 : 500, exitCode: code ?? -1 }, ok ? "closed" : "errored");
214
+ finish(ok
215
+ ? { status: 200, exitCode: 0 }
216
+ : Results.failure("executor:subprocess", "nonzero-exit", 500, `'${runtime}' exited with code ${code ?? -1}.`, { exitCode: code ?? -1 }, {
217
+ runtime,
218
+ stage: "execution",
219
+ recovery: "Inspect the stdout and stderr channels before correcting the command.",
220
+ retryable: false,
221
+ }), ok ? "closed" : "errored");
175
222
  });
176
223
  });
177
224
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SubprocessExecutor.js","sourceRoot":"","sources":["../src/SubprocessExecutor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SubprocessExecutor.js","sourceRoot":"","sources":["../src/SubprocessExecutor.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,8 @@
1
1
  import type { ExecInfo, ExecRegistry } from "./types.ts";
2
+ /**
3
+ * @deprecated Frozen 1.x compatibility helper. Hosts own executable admission
4
+ * and presentation through their current composition ({§executor-advertise-compat}).
5
+ */
2
6
  export default class Advertise {
3
7
  static readonly NO_EXECS_NOTICE = "No EXEC operations permitted";
4
8
  static contribute(registry: ExecRegistry, isPermitted: (tag: string) => boolean): {
@@ -1 +1 @@
1
- {"version":3,"file":"advertise.d.ts","sourceRoot":"","sources":["../src/advertise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAGzD,MAAM,CAAC,OAAO,OAAO,SAAS;IAE1B,MAAM,CAAC,QAAQ,CAAC,eAAe,kCAAkC;IAEjE,MAAM,CAAC,UAAU,CACb,QAAQ,EAAE,YAAY,EACtB,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GACtC;QAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAGlD;CACJ"}
1
+ {"version":3,"file":"advertise.d.ts","sourceRoot":"","sources":["../src/advertise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEzD;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,SAAS;IAC1B,MAAM,CAAC,QAAQ,CAAC,eAAe,kCAAkC;IAEjE,MAAM,CAAC,UAAU,CACb,QAAQ,EAAE,YAAY,EACtB,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GACtC;QAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAGlD;CACJ"}
package/dist/advertise.js CHANGED
@@ -1,6 +1,8 @@
1
- // The EXEC family's per-loop capability contribution (SPEC §3.4, execs#24).
1
+ /**
2
+ * @deprecated Frozen 1.x compatibility helper. Hosts own executable admission
3
+ * and presentation through their current composition ({§executor-advertise-compat}).
4
+ */
2
5
  export default class Advertise {
3
- // Deliberate wording — validated by the consumer probe, not free to edit (SPEC §3.4).
4
6
  static NO_EXECS_NOTICE = "No EXEC operations permitted";
5
7
  static contribute(registry, isPermitted) {
6
8
  const permitted = [...registry.values()].filter(({ runtime }) => isPermitted(runtime));
@@ -1 +1 @@
1
- {"version":3,"file":"advertise.js","sourceRoot":"","sources":["../src/advertise.ts"],"names":[],"mappings":"AAEA,4EAA4E;AAC5E,MAAM,CAAC,OAAO,OAAO,SAAS;IAC1B,sFAAsF;IACtF,MAAM,CAAU,eAAe,GAAG,8BAA8B,CAAC;IAEjE,MAAM,CAAC,UAAU,CACb,QAAsB,EACtB,WAAqC;QAErC,MAAM,SAAS,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;QACvF,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5F,CAAC;CACJ"}
1
+ {"version":3,"file":"advertise.js","sourceRoot":"","sources":["../src/advertise.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,SAAS;IAC1B,MAAM,CAAU,eAAe,GAAG,8BAA8B,CAAC;IAEjE,MAAM,CAAC,UAAU,CACb,QAAsB,EACtB,WAAqC;QAErC,MAAM,SAAS,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;QACvF,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5F,CAAC;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../src/discover.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAyB,MAAM,YAAY,CAAC;AAkDpF,MAAM,CAAC,OAAO,OAAO,QAAQ;;IACzB,OAAa,IAAI,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,SAAS,CAAC,CA0CnE;CA0IJ"}
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;CAsIJ"}