@plurnk/plurnk-execs 0.4.44 → 1.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/SPEC.md CHANGED
@@ -144,12 +144,12 @@ Each entry's optional **`documentation`** is full markdown — the flags, modes,
144
144
 
145
145
  ### §3.1 Dynamic runtimes (per-deployment tags)
146
146
 
147
- A package whose tags are not known at publish time — the MCP bridge is the motivating case, where each tag is a per-deployment MCP **server** an operator configures in the environment (plurnk-execs#10) — declares **`plurnk.runtimesModule`** (a path, relative to the package dir) **instead of** a static `plurnk.runtimes[]`:
147
+ A package whose tags are not known at publish time — the MCP bridge is the motivating case, where each tag is a per-deployment MCP **server** an operator configures in the environment (plurnk-execs#10) — declares **`plurnk.runtimesModule`** (an export subpath, resolved through the package's export map) **instead of** a static `plurnk.runtimes[]`:
148
148
 
149
149
  ```json
150
150
  {
151
151
  "name": "@plurnk/plurnk-execs-mcp",
152
- "plurnk": { "kind": "exec", "runtimesModule": "./dist/runtimes.js" }
152
+ "plurnk": { "kind": "exec", "runtimesModule": "./runtimes" }
153
153
  }
154
154
  ```
155
155
 
@@ -1 +1 @@
1
- {"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../src/discover.ts"],"names":[],"mappings":"AAIA,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;CA4JJ"}
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;CAuIJ"}
package/dist/discover.js CHANGED
@@ -8,7 +8,9 @@ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExte
8
8
  };
9
9
  import fs from "node:fs/promises";
10
10
  import path from "node:path";
11
+ import { createRequire } from "node:module";
11
12
  import { pathToFileURL } from "node:url";
13
+ import Meta from "@plurnk/plurnk-meta";
12
14
  import Policy from "./policy.js";
13
15
  // Scan installed executor packages and build the runtime-tag registry the
14
16
  // consuming scheme dispatches on. Parallel to plurnk-mimetypes' discover().
@@ -66,7 +68,7 @@ export default class Discover {
66
68
  // imported: an untrusted third-party package is discovered but not
67
69
  // registered, and its code is never executed. Recorded for the
68
70
  // consumer's telemetry note, never crashed on.
69
- if (!Discover.#isTrusted(manifest.packageName)) {
71
+ if (!Meta.isTrusted(manifest.packageName)) {
70
72
  skipped.add(manifest.packageName);
71
73
  continue;
72
74
  }
@@ -92,56 +94,14 @@ export default class Discover {
92
94
  }
93
95
  return { registry, skipped: [...skipped].sort(), disabled: [...disabled].sort() };
94
96
  }
95
- // Host plugin-trust gate, read from PLURNK_PLUGINS_TRUSTED_ONLY — the SAME
96
- // env var plurnk-service decides once and every scope-agnostic discovery
97
- // surface enforces (plurnk-service#229). Mirrors plurnk-service's
98
- // PluginTrust.isTrusted (we can't import across the package boundary, so the
99
- // ~5-line policy is duplicated, not shared):
100
- // unset / "" / "0" → OFF: every installed package trusted (no regression).
101
- // any value → ON: `@plurnk/*` always trusted, plus a comma-separated
102
- // allowlist of additionally-trusted package names;
103
- // "1" (naming no real package) = on, zero third-party.
104
- static #isTrusted(packageName) {
105
- const gate = process.env.PLURNK_PLUGINS_TRUSTED_ONLY;
106
- if (gate === undefined || gate === "" || gate === "0")
107
- return true;
108
- if (packageName.startsWith("@plurnk/"))
109
- return true;
110
- return gate.split(",").map((s) => s.trim()).includes(packageName);
111
- }
112
97
  // Enumerate every installed package directory — scoped (`@scope/name`) and
113
98
  // unscoped (`name`) — under `<cwd>/node_modules`. The scan is scope-agnostic
114
99
  // so a THIRD PARTY can publish an executor under their own scope (`@acme/foo`)
115
100
  // and have it discovered with no involvement from us; `#readExecInfos` keeps
116
101
  // only the packages that declare `plurnk.kind === "exec"`.
117
102
  static async #defaultPackageDirs(cwd) {
118
- const nm = path.join(cwd, "node_modules");
119
- let entries;
120
- try {
121
- entries = await fs.readdir(nm, { withFileTypes: true });
122
- }
123
- catch {
124
- return [];
125
- }
126
- const dirs = [];
127
- for (const entry of entries) {
128
- if (!entry.isDirectory() || entry.name === ".bin" || entry.name === ".cache")
129
- continue;
130
- if (entry.name.startsWith("@")) {
131
- const scopeDir = path.join(nm, entry.name);
132
- try {
133
- const scoped = await fs.readdir(scopeDir, { withFileTypes: true });
134
- for (const s of scoped)
135
- if (s.isDirectory())
136
- dirs.push(path.join(scopeDir, s.name));
137
- }
138
- catch { /* unreadable scope dir — skip */ }
139
- }
140
- else {
141
- dirs.push(path.join(nm, entry.name));
142
- }
143
- }
144
- return dirs;
103
+ const nm = Meta.nearestNodeModules(cwd) ?? path.join(path.resolve(cwd), "node_modules");
104
+ return (await Meta.packageDirs(nm)).map((c) => c.dir).toSorted();
145
105
  }
146
106
  // Read a package's `package.json` and return its manifest iff it declares
147
107
  // `plurnk.kind === "exec"`. Returns null for non-executor packages, a missing
@@ -204,9 +164,9 @@ export default class Discover {
204
164
  return infos;
205
165
  }
206
166
  // Resolve a package's runtime decls. Static `plurnk.runtimes[]` is the common
207
- // case; `plurnk.runtimesModule` (a relative path) is the dynamic hook for
208
- // per-deployment tags. Static wins if both are declared. Returns [] when
209
- // neither is present.
167
+ // case; `plurnk.runtimesModule` (an export subpath, e.g. "./runtimes") is the
168
+ // dynamic hook for per-deployment tags. Static wins if both are declared.
169
+ // Returns [] when neither is present.
210
170
  static async #runtimeDecls(dir, packageName, plurnk) {
211
171
  if (Array.isArray(plurnk.runtimes))
212
172
  return plurnk.runtimes;
@@ -215,13 +175,28 @@ export default class Discover {
215
175
  return Discover.#loadDynamicRuntimes(dir, packageName, mod);
216
176
  return [];
217
177
  }
218
- // Import a trusted package's runtimes hook and call it. Fail-hard on every
219
- // failure — an unloadable module, a missing/non-function export, or a
220
- // non-array return is a contract violation by a trusted package (its own
221
- // packaging or config), surfaced with the cause, never swallowed. The trust
222
- // gate in scan() guarantees this only runs for trusted packages.
178
+ // Import a trusted package's runtimes hook via its export map and call it.
179
+ // The manifest names an export SUBPATH ("./runtimes"), never a file path —
180
+ // resolution through exports keeps dev (src via conditions) and published
181
+ // (dist) layouts on one mechanism. Fail-hard on every failure — an
182
+ // unloadable module, a missing/non-function export, or a non-array return
183
+ // is a contract violation by a trusted package (its own packaging or
184
+ // config), surfaced with the cause, never swallowed. The trust gate in
185
+ // scan() guarantees this only runs for trusted packages.
223
186
  static async #loadDynamicRuntimes(dir, packageName, rel) {
224
- const href = pathToFileURL(path.join(dir, rel)).href;
187
+ if (!rel.startsWith("./"))
188
+ throw new Error(`exec runtimes hook invalid: ${packageName} -> ${rel} must be an export subpath like "./runtimes"`);
189
+ // Self-reference resolution: the subpath resolves through the package's OWN export
190
+ // map anchored at its root — conditions apply (plurnk-dev → src in a workspace
191
+ // checkout; dist when published), and a package needn't be installed to resolve.
192
+ let href;
193
+ try {
194
+ const selfRequire = createRequire(path.join(dir, "package.json"));
195
+ href = pathToFileURL(selfRequire.resolve(`${packageName}${rel.slice(1)}`)).href;
196
+ }
197
+ catch (cause) {
198
+ throw new Error(`exec runtimes hook unloadable: ${packageName} -> ${rel}`, { cause });
199
+ }
225
200
  let mod;
226
201
  try {
227
202
  mod = await import(__rewriteRelativeImportExtension(href));
@@ -1 +1 @@
1
- {"version":3,"file":"discover.js","sourceRoot":"","sources":["../src/discover.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discover.js","sourceRoot":"","sources":["../src/discover.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": "0.4.44",
3
+ "version": "1.0.0",
4
4
  "description": "Framework + contract for the @plurnk/plurnk-execs-* runtime executor family.",
5
5
  "keywords": [
6
6
  "plurnk",
@@ -28,6 +28,7 @@
28
28
  "exports": {
29
29
  ".": {
30
30
  "types": "./dist/index.d.ts",
31
+ "plurnk-dev": "./src/index.ts",
31
32
  "default": "./dist/index.js"
32
33
  },
33
34
  "./package.json": "./package.json"
@@ -40,17 +41,20 @@
40
41
  ],
41
42
  "scripts": {
42
43
  "test:lint": "tsc --noEmit",
43
- "test:unit": "node --test \"src/**/*.test.ts\" \"test/**/*.test.ts\"",
44
+ "test:unit": "node --conditions=plurnk-dev --test \"src/**/*.test.ts\" \"test/**/*.test.ts\"",
44
45
  "test": "npm run test:lint && npm run test:unit",
45
46
  "build:dist": "tsc -p tsconfig.build.json",
46
47
  "build": "npm run build:dist",
47
- "prepare": "npm run build"
48
+ "prepack": "npm run build"
48
49
  },
49
50
  "dependencies": {
50
- "@plurnk/plurnk-schemes": "0.33.21"
51
- },
52
- "devDependencies": {
53
- "@types/node": "^26.0.1",
54
- "typescript": "^7.0.2"
51
+ "@plurnk/plurnk-schemes": "1.0.0",
52
+ "@plurnk/plurnk-execs-common": "1.0.0",
53
+ "@plurnk/plurnk-execs-search": "1.0.0",
54
+ "@plurnk/plurnk-execs-mcp": "1.0.0",
55
+ "@plurnk/plurnk-execs-git": "1.0.0",
56
+ "@plurnk/plurnk-execs-jq": "1.0.0",
57
+ "@plurnk/plurnk-execs-sqlite": "1.0.0",
58
+ "@plurnk/plurnk-meta": "1.0.0"
55
59
  }
56
60
  }