@avantf/dsh-plugin-base 0.4.2 → 0.5.1

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 CHANGED
@@ -350,6 +350,9 @@ assertProviderConformance(report)
350
350
  **更新**是 `ok` + 一句话的 `warning`(新世代不拿走有消费者的成员),相等是 `ok`。
351
351
  - `readInterfaceRequirement(url)`:读调用方产物里烘着的那条记录 `{ baseVersion, interfaceVersion }`;
352
352
  缺失或畸形返回 `undefined`("没烘"),不抛。
353
+ - `verifyRegisteredFaces({ ctx, packageId, schemaNames?, toolNames, log, scope? })`:挂载之后复查每条声明的
354
+ schema 与工具是否真的可见,返回没看到的那些名字(warn-only)。`scope` 是可选的**不透明**值(本包不认识
355
+ 作用域的类型),会原样传给 `tools.get(name, scope)`;不传就按全局视图 `tools.get(name)` 读。
353
356
  - 拿到 `incompatible` 时的建议动作是**降级**(不使用本包的共享能力)而不是拒绝挂载;拿到 `ok` + `warning`
354
357
  时照常使用、只把那条警告记下来 —— 本包只把裁决与一句话的 `reason` / `warning` 交出去,怎么处理由
355
358
  调用方决定。
@@ -365,9 +368,11 @@ assertProviderConformance(report)
365
368
 
366
369
  - 接口面是 `.` 上的导出(值 + 类型)加上 `./preset` / `./conformance` / `./bootstrap` 三个子路径;`./internal`
367
370
  是内部件,从不承诺稳定。
368
- - **当前这一代(v3)把 `.` 收成了一个稳定子集**:`.` 只列"插件真取用、或插件作者被期望调用"的成员,
369
- 其余进 `./internal`。这是为了把"内部件的改动"与"接口"解耦,不是"这个集合永远不变":新能力从明确
370
- 标注为不稳定的入口引入,既有成员按弃用周期退出。
371
+ - **当前这一代(v4)沿用 v3 的名字面**:`.` 只列"插件真取用、或插件作者被期望调用"的成员,其余进
372
+ `./internal`。这是为了把"内部件的改动"与"接口"解耦,不是"这个集合永远不变":新能力从明确标注为
373
+ 不稳定的入口引入,既有成员按弃用周期退出。v4 一个名字都没动 —— 它加宽的是**既有成员接受的入参**:
374
+ `verifyRegisteredFaces({ …, scope? })` 多了个可选、不透明的 `scope`,原样透传给 `tools.get(name,
375
+ scope)`,好让按作用域注册的工具面能被复查到;不传时行为与 v3 逐字相同。
371
376
  - **v3 是第一次破坏性换代**:v2 的成员如果有消费者,v3 一个不少;但 v3 不再对 v2 做结构超集。旧调用方
372
377
  遇到更新的 base 仍判 `ok` + `warning`,遇到更旧的 base 才降级。
373
378
  - **接口与包版本是两条轴**:接口换代只升 `INTERFACE_VERSION` 并新增快照;包版本是普通 semver,只表达
@@ -3,18 +3,20 @@
3
3
  * @module bootstrap
4
4
  */
5
5
  /** The bootstrap version; the resolved framework must satisfy {@link supportedRange}. */
6
- export declare const VERSION = "0.4.2";
6
+ export declare const VERSION = "0.5.1";
7
7
  /**
8
8
  * The framework interval this bootstrap can launch.
9
9
  *
10
- * Kept equal to the plugins' peer range for the base: the plugin passes no override, so THIS is the
11
- * runtime gate. It is a plain comparator interval, NOT a caret: the package version is ordinary
12
- * semver again and no longer tracks the interface, so the interval stays as wide as the family's
13
- * compatibility promise — `>=0.3.0 <1.0.0` admits every 0.x base this generation of plugins can
14
- * consume, and stops at the major that invented a new interface generation. The interface itself is
15
- * the separate, runtime axis: a base inside this interval whose `INTERFACE_VERSION` differs is judged
16
- * by the base's own gate (INTERFACE.md §1, §3) — an OLDER base degrades, a NEWER one is `ok` + a
17
- * warning (generations are additive), and neither ever refuses the mount.
10
+ * This is the PACKAGE-version window, and nothing else: the interval is byte-for-byte the range the
11
+ * plugins declare in their `dependencies` for the base (the install-time gate; the base is a plain
12
+ * dependency, not a peer) and the plugin passes no override, so THIS is the runtime gate too. It is
13
+ * a plain comparator interval, NOT a caret: the package version is ordinary semver and does not
14
+ * track the interface, so the interval stays as wide as the family's compatibility promise —
15
+ * `>=0.3.0 <1.0.0` admits every 0.x base this generation of plugins can consume. Its upper bound
16
+ * marks no generation boundary. Generation is the separate, runtime axis, judged on its own: the
17
+ * base's `INTERFACE_VERSION` is compared by the base's gate (INTERFACE.md §1, §3) — an OLDER base
18
+ * degrades to `incompatible`, a NEWER one is `ok` + a WARNING (generations are additive), and
19
+ * neither ever refuses the mount.
18
20
  */
19
21
  export declare const supportedRange = ">=0.3.0 <1.0.0";
20
22
  /** Sink for the warnings that replace a throw. */
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,yFAAyF;AACzF,eAAO,MAAM,OAAO,UAAU,CAAA;AAC9B;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,cAAc,mBAAmB,CAAA;AAI9C,kDAAkD;AAClD,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAC7B;AAED,sEAAsE;AACtE,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAA;IACjC,iDAAiD;IACjD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CACjC;AAED,wDAAwD;AACxD,MAAM,WAAW,iBAAiB;IAChC,4CAA4C;IAC5C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,qDAAqD;IACrD,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;CAC5B;AA8LD;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAoC7G;AAED,oFAAoF;AACpF,wBAAsB,aAAa,CAAC,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAaxG;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,GAAE,MAAsB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAyCnG"}
1
+ {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,yFAAyF;AACzF,eAAO,MAAM,OAAO,UAAU,CAAA;AAC9B;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,cAAc,mBAAmB,CAAA;AAI9C,kDAAkD;AAClD,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAC7B;AAED,sEAAsE;AACtE,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAA;IACjC,iDAAiD;IACjD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CACjC;AAED,wDAAwD;AACxD,MAAM,WAAW,iBAAiB;IAChC,4CAA4C;IAC5C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,qDAAqD;IACrD,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;CAC5B;AA8LD;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAoC7G;AAED,oFAAoF;AACpF,wBAAsB,aAAa,CAAC,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAaxG;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,GAAE,MAAsB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAyCnG"}
package/dist/bootstrap.js CHANGED
@@ -7,18 +7,20 @@ import { createRequire } from 'node:module';
7
7
  import { dirname, join } from 'node:path';
8
8
  import { fileURLToPath, pathToFileURL } from 'node:url';
9
9
  /** The bootstrap version; the resolved framework must satisfy {@link supportedRange}. */
10
- export const VERSION = '0.4.2';
10
+ export const VERSION = '0.5.1';
11
11
  /**
12
12
  * The framework interval this bootstrap can launch.
13
13
  *
14
- * Kept equal to the plugins' peer range for the base: the plugin passes no override, so THIS is the
15
- * runtime gate. It is a plain comparator interval, NOT a caret: the package version is ordinary
16
- * semver again and no longer tracks the interface, so the interval stays as wide as the family's
17
- * compatibility promise — `>=0.3.0 <1.0.0` admits every 0.x base this generation of plugins can
18
- * consume, and stops at the major that invented a new interface generation. The interface itself is
19
- * the separate, runtime axis: a base inside this interval whose `INTERFACE_VERSION` differs is judged
20
- * by the base's own gate (INTERFACE.md §1, §3) — an OLDER base degrades, a NEWER one is `ok` + a
21
- * warning (generations are additive), and neither ever refuses the mount.
14
+ * This is the PACKAGE-version window, and nothing else: the interval is byte-for-byte the range the
15
+ * plugins declare in their `dependencies` for the base (the install-time gate; the base is a plain
16
+ * dependency, not a peer) and the plugin passes no override, so THIS is the runtime gate too. It is
17
+ * a plain comparator interval, NOT a caret: the package version is ordinary semver and does not
18
+ * track the interface, so the interval stays as wide as the family's compatibility promise —
19
+ * `>=0.3.0 <1.0.0` admits every 0.x base this generation of plugins can consume. Its upper bound
20
+ * marks no generation boundary. Generation is the separate, runtime axis, judged on its own: the
21
+ * base's `INTERFACE_VERSION` is compared by the base's gate (INTERFACE.md §1, §3) — an OLDER base
22
+ * degrades to `incompatible`, a NEWER one is `ok` + a WARNING (generations are additive), and
23
+ * neither ever refuses the mount.
22
24
  */
23
25
  export const supportedRange = '>=0.3.0 <1.0.0';
24
26
  const PACKAGE = '@avantf/dsh-plugin-base';
package/dist/compat.d.ts CHANGED
@@ -397,7 +397,16 @@ export declare function declaredSchemaKeys(packageId: string, names: readonly st
397
397
  * Known limit: invocation ENDPOINTS are not observable through the documented query surface
398
398
  * (`list`/`listPackages` expose schemas and the package model only), so the four descriptors are
399
399
  * covered through the schema keys they use, not counted themselves.
400
- * @param input - the live context, the real tool names, and the logger.
400
+ *
401
+ * `scope` is the OPTIONAL second argument the tools half hands to `tools.get`. A host whose registry
402
+ * is addressed per scope (a sub-session's `agent.ctx.tools.register`, for instance) answers `undefined`
403
+ * for a name that was really registered in some other scope, so a caller reading a scoped registration
404
+ * back has to name that scope or the check reports a false "missing". This module has NO DSH
405
+ * dependency and does not know what a scope IS: the value is passed through opaquely, exactly as the
406
+ * caller's own registry expects it. Omitting it keeps the older reading — the second argument is then
407
+ * `undefined`, which any registry that ignores it (every one that existed through v3) treats exactly as
408
+ * it treated the single-argument call.
409
+ * @param input - the live context, the real tool names, the logger, and the caller's optional scope.
401
410
  * @returns the registrations that did not show up (empty on success).
402
411
  */
403
412
  export declare function verifyRegisteredFaces(input: {
@@ -407,6 +416,12 @@ export declare function verifyRegisteredFaces(input: {
407
416
  readonly schemaNames?: readonly string[];
408
417
  readonly toolNames: readonly string[];
409
418
  readonly log: CompatLogger;
419
+ /**
420
+ * Opaque pass-through scope for the tools lookup (interface generation v4). Base does not interpret
421
+ * it — it is whatever the live `tools.get(name, scope)` accepts — and omitting it keeps the global
422
+ * one-argument reading.
423
+ */
424
+ readonly scope?: unknown;
410
425
  }): {
411
426
  readonly missing: readonly string[];
412
427
  };
@@ -1 +1 @@
1
- {"version":3,"file":"compat.d.ts","sourceRoot":"","sources":["../src/compat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compat.d.ts","sourceRoot":"","sources":["../src/compat.ts"],"names":[],"mappings":"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"}
package/dist/compat.js CHANGED
@@ -716,7 +716,16 @@ export function declaredSchemaKeys(packageId, names) {
716
716
  * Known limit: invocation ENDPOINTS are not observable through the documented query surface
717
717
  * (`list`/`listPackages` expose schemas and the package model only), so the four descriptors are
718
718
  * covered through the schema keys they use, not counted themselves.
719
- * @param input - the live context, the real tool names, and the logger.
719
+ *
720
+ * `scope` is the OPTIONAL second argument the tools half hands to `tools.get`. A host whose registry
721
+ * is addressed per scope (a sub-session's `agent.ctx.tools.register`, for instance) answers `undefined`
722
+ * for a name that was really registered in some other scope, so a caller reading a scoped registration
723
+ * back has to name that scope or the check reports a false "missing". This module has NO DSH
724
+ * dependency and does not know what a scope IS: the value is passed through opaquely, exactly as the
725
+ * caller's own registry expects it. Omitting it keeps the older reading — the second argument is then
726
+ * `undefined`, which any registry that ignores it (every one that existed through v3) treats exactly as
727
+ * it treated the single-argument call.
728
+ * @param input - the live context, the real tool names, the logger, and the caller's optional scope.
720
729
  * @returns the registrations that did not show up (empty on success).
721
730
  */
722
731
  export function verifyRegisteredFaces(input) {
@@ -741,7 +750,11 @@ export function verifyRegisteredFaces(input) {
741
750
  if (isRecord(tools) && typeof tools['get'] === 'function') {
742
751
  for (const name of input.toolNames) {
743
752
  try {
744
- if (tools['get'](name) === undefined)
753
+ // The property is read once and called with the caller's scope; a `get` that only accepts one
754
+ // parameter (every registry v3 and earlier knew) simply ignores the second argument, so the
755
+ // omitted-scope reading is unchanged.
756
+ const get = tools['get'];
757
+ if (get(name, input.scope) === undefined)
745
758
  missing.push(name);
746
759
  }
747
760
  catch {
package/dist/index.d.ts CHANGED
@@ -8,7 +8,14 @@
8
8
  * installed plugins actually consume plus the extension points a plugin author is expected to call,
9
9
  * and nothing else: the zero-consumer composition pieces moved to `./internal` (see that module).
10
10
  *
11
- * The same surface is stated as a type + two name lists in `./interface.js`; `api/interface-v3.json`
11
+ * Those are two DIFFERENT kinds of claim, and `test/public-surface.spec.ts` keeps them apart instead of
12
+ * describing both as "consumed": the consumer half is PROVEN by a cross-tree scan (every `.` member must
13
+ * be read by a discovered plugin tree), while a member no tree reads today — an author-facing entry
14
+ * point such as `verdictOf` / `gatherEvidence` or the family paths — must be REGISTERED in that file's
15
+ * `EXTENSION_POINTS` with a one-line reason. A `.` member that is neither consumed nor registered is a
16
+ * red gate, not a hidden promise.
17
+ *
18
+ * The same surface is stated as a type + two name lists in `./interface.js`; `api/interface-v4.json`
12
19
  * is its snapshot, and `test/public-surface.spec.ts` keeps the three in step. Do not add a member
13
20
  * here without a generation decision.
14
21
  *
@@ -29,7 +36,7 @@ export { PromptFiles } from './kit/prompt_files.js';
29
36
  export type { LoadedPromptText, PromptFileSpec, PromptFilesIo, PromptFilesLogger, PromptFilesOptions } from './kit/prompt_files.js';
30
37
  export { wellFormedDeep, wellFormedText } from './kit/wellformed.js';
31
38
  export { INTERFACE_VERSION } from './interface.js';
32
- export type { BaseRuntimeV1, BaseRuntimeV2, BaseRuntimeV3, BaseTypeSurfaceV1, BaseTypeSurfaceV2, BaseTypeSurfaceV3, } from './interface.js';
39
+ export type { BaseRuntimeV1, BaseRuntimeV2, BaseRuntimeV3, BaseRuntimeV4, BaseTypeSurfaceV1, BaseTypeSurfaceV2, BaseTypeSurfaceV3, BaseTypeSurfaceV4, } from './interface.js';
33
40
  export { checkInterface, readInterfaceRequirement } from './interface_gate.js';
34
41
  export type { InterfaceRequirement, InterfaceVerdict } from './interface_gate.js';
35
42
  export type { AtStartup, AtUse, BuiltinKind, ItemPolicy, Kind, Manifest, MirrorPolicy, OnMissing, ProvisionItem, ResourceHandle, ResourceSource, ResourceState, Startup, EnsureOptions, Plan, PlanAction, PlanEntry, PlanOptions, ProvisionEvent, ProvisionReport, ProvisionReportEntry, ProvisionStatus, ReportAction, Disposable, ProgressEvent, ProvisionFs, ProvisionLock, ProvisionLogger, ProvisionPolicy, Provisioner, ProvisionerExperimental, ProvisionerOptions, PrunePolicy, PruneReport, InstallContext, InstallManifest, Provider, ProviderContext, ProviderPlan, ProbeResult, PublishMeta, Resolved, ResourceIdentity, } from './types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACzE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtD,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AACnF,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC5E,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAC3E,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAQ5E,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EACpB,SAAS,EACT,qBAAqB,GACtB,MAAM,aAAa,CAAA;AACpB,YAAY,EACV,aAAa,EACb,cAAc,EACd,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,YAAY,EACZ,eAAe,EACf,YAAY,GACb,MAAM,aAAa,CAAA;AAYpB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAC1G,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AACnI,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAapE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClD,YAAY,EACV,aAAa,EACb,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,gBAAgB,CAAA;AAMvB,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AAC9E,YAAY,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAEjF,YAAY,EAEV,SAAS,EACT,KAAK,EACL,WAAW,EACX,UAAU,EACV,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,aAAa,EAEb,cAAc,EACd,cAAc,EACd,aAAa,EACb,OAAO,EAEP,aAAa,EACb,IAAI,EACJ,UAAU,EACV,SAAS,EACT,WAAW,EACX,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,YAAY,EAEZ,UAAU,EACV,aAAa,EACb,WAAW,EACX,aAAa,EACb,eAAe,EACf,eAAe,EACf,WAAW,EACX,uBAAuB,EACvB,kBAAkB,EAClB,WAAW,EACX,WAAW,EAEX,cAAc,EACd,eAAe,EACf,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,WAAW,EACX,WAAW,EACX,QAAQ,EACR,gBAAgB,GACjB,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACzE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtD,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AACnF,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC5E,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAC3E,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAQ5E,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EACpB,SAAS,EACT,qBAAqB,GACtB,MAAM,aAAa,CAAA;AACpB,YAAY,EACV,aAAa,EACb,cAAc,EACd,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,YAAY,EACZ,eAAe,EACf,YAAY,GACb,MAAM,aAAa,CAAA;AAYpB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAC1G,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AACnI,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAcpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClD,YAAY,EACV,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,gBAAgB,CAAA;AAMvB,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AAC9E,YAAY,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAEjF,YAAY,EAEV,SAAS,EACT,KAAK,EACL,WAAW,EACX,UAAU,EACV,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,aAAa,EAEb,cAAc,EACd,cAAc,EACd,aAAa,EACb,OAAO,EAEP,aAAa,EACb,IAAI,EACJ,UAAU,EACV,SAAS,EACT,WAAW,EACX,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,YAAY,EAEZ,UAAU,EACV,aAAa,EACb,WAAW,EACX,aAAa,EACb,eAAe,EACf,eAAe,EACf,WAAW,EACX,uBAAuB,EACvB,kBAAkB,EAClB,WAAW,EACX,WAAW,EAEX,cAAc,EACd,eAAe,EACf,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,WAAW,EACX,WAAW,EACX,QAAQ,EACR,gBAAgB,GACjB,MAAM,YAAY,CAAA"}
package/dist/index.js CHANGED
@@ -8,7 +8,14 @@
8
8
  * installed plugins actually consume plus the extension points a plugin author is expected to call,
9
9
  * and nothing else: the zero-consumer composition pieces moved to `./internal` (see that module).
10
10
  *
11
- * The same surface is stated as a type + two name lists in `./interface.js`; `api/interface-v3.json`
11
+ * Those are two DIFFERENT kinds of claim, and `test/public-surface.spec.ts` keeps them apart instead of
12
+ * describing both as "consumed": the consumer half is PROVEN by a cross-tree scan (every `.` member must
13
+ * be read by a discovered plugin tree), while a member no tree reads today — an author-facing entry
14
+ * point such as `verdictOf` / `gatherEvidence` or the family paths — must be REGISTERED in that file's
15
+ * `EXTENSION_POINTS` with a one-line reason. A `.` member that is neither consumed nor registered is a
16
+ * red gate, not a hidden promise.
17
+ *
18
+ * The same surface is stated as a type + two name lists in `./interface.js`; `api/interface-v4.json`
12
19
  * is its snapshot, and `test/public-surface.spec.ts` keeps the three in step. Do not add a member
13
20
  * here without a generation decision.
14
21
  *
@@ -30,10 +37,10 @@ export { BUILD_VERSIONS_FILE, COMPAT_PREFIX, compatReport, gatherEvidence, provi
30
37
  // base release, without rebuilding or republishing any plugin. Plugins therefore never inline this
31
38
  // code: they load the base at startup and take these capabilities from it at runtime.
32
39
  //
33
- // Generation v3 moved the members with no runtime consumer off `.`: `createPluginLogger` (both trees
34
- // use their own logger, which must exist before the base is resolved) and the Typert symbol kit
35
- // (`strictCodec` / `endpointId` / `fieldSymbol` / `resultSymbol`), which both trees keep as local
36
- // two-line mirrors because the Remote/wire faces are assembled at module load. Both live on
40
+ // Generation v3 moved the members with no runtime consumer off `.`: `createPluginLogger` (each tree
41
+ // uses its own logger, which must exist before the base is resolved) and the Typert symbol kit
42
+ // (`strictCodec` / `endpointId` / `fieldSymbol` / `resultSymbol`), which each tree keeps as a local
43
+ // two-line mirror because the Remote/wire faces are assembled at module load. Both live on
37
44
  // `./internal` now.
38
45
  export { expandHome, familyHome, familyModelsDir, familyToolsDir, resolveDataHome } from './kit/family.js';
39
46
  export { PromptFiles } from './kit/prompt_files.js';
@@ -44,11 +51,12 @@ export { wellFormedDeep, wellFormedText } from './kit/wellformed.js';
44
51
  // build time and compare against the value the base they loaded at runtime reports — it is the one
45
52
  // value here whose job is the RUNTIME interface gate rather than a caller's API, so it belongs on `.`.
46
53
  //
47
- // v1/v2 stay exported as their generations' type records: a caller compiled against them keeps a
48
- // name. v3 is the first generation that is NOT `extends` its predecessor — it PRUNES the zero-consumer
49
- // members to `./internal` (INTERFACE.md §9); the proof that this lost nothing is
50
- // `VALUE_NAMES_V3 ∪ PRUNED_VALUE_NAMES === VALUE_NAMES_V2` plus the cross-tree zero-consumer check in
51
- // `test/public-surface.spec.ts`.
54
+ // v1/v2/v3 stay exported as their generations' type records: a caller compiled against them keeps a
55
+ // name. v3 is the generation that PRUNES the zero-consumer members to `./internal` (INTERFACE.md §9);
56
+ // the proof that this lost nothing is `VALUE_NAMES_V3 ∪ PRUNED_VALUE_NAMES === VALUE_NAMES_V2` plus
57
+ // the cross-tree zero-consumer check in `test/public-surface.spec.ts`. v4 changes no name: it is the
58
+ // generation in which `verifyRegisteredFaces` takes an optional opaque `scope` (INTERFACE.md §10), so
59
+ // its lists are the v3 lists and `public-surface.spec.ts` asserts that instead of assuming it.
52
60
  export { INTERFACE_VERSION } from './interface.js';
53
61
  // The runtime interface gate: the verdict function the plugins call with the generation they baked,
54
62
  // and the ONE reader of a plugin's `lib/interface-version.json`. They live here rather than in each
@@ -13,10 +13,10 @@
13
13
  *
14
14
  * The surface has TWO halves and they are named separately because they are checked differently:
15
15
  *
16
- * - {@link BaseRuntimeV2} — the VALUE members of the CURRENT generation. A real module can be
16
+ * - {@link BaseRuntimeV4} — the VALUE members of the CURRENT generation. A real module can be
17
17
  * structurally assigned to it, so a missing or reshaped value member is a compile error, and
18
18
  * `keyof` matches the runtime exports.
19
- * - {@link BaseTypeSurfaceV2} — the TYPES a caller names when using those members (types are erased,
19
+ * - {@link BaseTypeSurfaceV4} — the TYPES a caller names when using those members (types are erased,
20
20
  * so no runtime value can carry them). `keyof` is the type-name list.
21
21
  *
22
22
  * GENERATIONS WERE ADDITIVE through v2, and that is what made `loaded > required ⇒ ok` sound:
@@ -26,12 +26,21 @@
26
26
  * {@link BaseRuntimeV2}. What keeps the newer-is-ok rule admissible is the replacement proof, asserted
27
27
  * in `test/public-surface.spec.ts`: `VALUE_NAMES_V3 ∪ PRUNED_VALUE_NAMES === VALUE_NAMES_V2` (nothing
28
28
  * was silently renamed or lost — every shed name is in the frozen {@link PRUNED_VALUE_NAMES}) and each
29
- * pruned name has zero consumers across the two plugin trees' non-test source and scripts. A generation
30
- * that drops a name with a consumer would fail that second half.
29
+ * pruned name has zero consumers across the DISCOVERED consumer trees' non-test source and scripts. A
30
+ * generation that drops a name with a consumer would fail that second half.
31
31
  *
32
- * `VALUE_NAMES_V1` / `TYPE_NAMES_V1` are the frozen v1 lists and `VALUE_NAMES_V2` / `TYPE_NAMES_V2`
33
- * the frozen v2 lists; `VALUE_NAMES_V3` / `TYPE_NAMES_V3` are the current ones. The v1/v2 interfaces
34
- * stay exported unchanged as their generations' records.
32
+ * **v4 changes no NAME** (INTERFACE.md §10): it is the generation in which the EXISTING member
33
+ * `verifyRegisteredFaces` accepts one more OPTIONAL input field (`scope?: unknown`), so a host whose
34
+ * tools registry is addressed per scope can be read back through it. The name surface is therefore
35
+ * identical to v3 in both halves — `VALUE_NAMES_V4` / `TYPE_NAMES_V4` are exactly the v3 lists — which
36
+ * `test/public-surface.spec.ts` asserts rather than assumes. Adding an optional, named field is how a
37
+ * signature grows without taking anything away; it is still an interface change (the meaning of what
38
+ * the member accepts), so the generation moved.
39
+ *
40
+ * `VALUE_NAMES_V1` / `TYPE_NAMES_V1` are the frozen v1 lists, `VALUE_NAMES_V2` / `TYPE_NAMES_V2` the
41
+ * frozen v2 lists, and `VALUE_NAMES_V3` / `TYPE_NAMES_V3` the frozen v3 lists;
42
+ * `VALUE_NAMES_V4` / `TYPE_NAMES_V4` are the current ones. The v1/v2/v3 interfaces stay exported
43
+ * unchanged as their generations' records.
35
44
  *
36
45
  * The name lists are the same surface as data, because the snapshot gate needs to compare string sets.
37
46
  * The gate asserts they are exactly the two `keyof`s, so a member can never be added to the interface
@@ -40,7 +49,8 @@
40
49
  * `INTERFACE_VERSION` is the integer the plugins bake at build time and compare against the value
41
50
  * reported by the base they actually loaded at startup. It moves only for an INTERFACE change (the set
42
51
  * of names below, a signature in it, or the meaning of a member) — not for a behaviour/flow change and
43
- * not for a fix. The package version remains the INSTALL-time gate (the plugin's peer range); this
52
+ * not for a fix. The package version remains the INSTALL-time gate (the plugin's declared
53
+ * `dependencies` range); this
44
54
  * constant is the RUNTIME one.
45
55
  *
46
56
  * @module @avantf/dsh-plugin-base/interface
@@ -58,19 +68,22 @@ import type { AtStartup, AtUse, BuiltinKind, Disposable, EnsureOptions, InstallC
58
68
  /**
59
69
  * The integer interface generation this module implements.
60
70
  *
61
- * `3` is the CURRENT generation: the v2 surface MINUS the 18 zero-consumer members that moved to
62
- * `./internal` (INTERFACE.md §9) and PLUS the one newly-named compat type (`ServiceContract`). The
71
+ * `4` is the CURRENT generation: the v3 NAME surface UNCHANGED, with one member's accepted input
72
+ * widened — `verifyRegisteredFaces` now takes an optional, opaque `scope` and hands it to
73
+ * `tools.get(name, scope)` (INTERFACE.md §10). Nothing was added to or removed from `.`; what moved is
74
+ * what an existing member accepts, which is an interface change all the same (INTERFACE.md §1). The
63
75
  * file name's `N` and this constant are the SAME fact — `test/public-surface.spec.ts` asserts that the
64
76
  * snapshot for this constant exists and that its `interfaceVersion` field equals it, so "the JSON says
65
- * v4, the constant says 3" cannot happen. Bump it (and add `api/interface-vN.json`) only for an
77
+ * v5, the constant says 4" cannot happen. Bump it (and add `api/interface-vN.json`) only for an
66
78
  * interface change (INTERFACE.md §1); a behaviour change or a fix does NOT touch it. The plugins bake
67
79
  * this number into their artifacts and compare it, at startup, with the number the base they loaded
68
80
  * reports — a difference is a warning and a capability-level degradation, never a refused mount.
69
81
  *
70
- * `2` and `1` are the earlier frozen generations (`api/interface-v2.json`, `api/interface-v1.json`).
71
- * They stay in the tree as those generations' records and as the types the plugins still import.
82
+ * `3`, `2` and `1` are the earlier frozen generations (`api/interface-v3.json`,
83
+ * `api/interface-v2.json`, `api/interface-v1.json`). They stay in the tree as those generations'
84
+ * records and as the types callers compiled against still import.
72
85
  */
73
- export declare const INTERFACE_VERSION = 3;
86
+ export declare const INTERFACE_VERSION = 4;
74
87
  /**
75
88
  * The VALUE half of the v1 `.` surface: every member that exists at runtime.
76
89
  *
@@ -196,7 +209,7 @@ export interface BaseRuntimeV1 {
196
209
  readonly MODEL_CACHE_KIND: typeof import('./providers/model.js').MODEL_CACHE_KIND;
197
210
  }
198
211
  /**
199
- * The VALUE half of the FROZEN v2 `.` surface: v1 plus the well-formed-text kit. It stays exported as that generation's record; the CURRENT generation is {@link BaseRuntimeV3}.
212
+ * The VALUE half of the FROZEN v2 `.` surface: v1 plus the well-formed-text kit. It stays exported as that generation's record; the CURRENT generation is {@link BaseRuntimeV4}.
200
213
  *
201
214
  * Additive by construction — it `extends` {@link BaseRuntimeV1}, so a v2 that dropped or reshaped a v1
202
215
  * member is a compile error, and `keyof BaseRuntimeV2` is exactly v1's members plus the two below. The
@@ -221,18 +234,24 @@ export interface BaseRuntimeV2 extends BaseRuntimeV1 {
221
234
  readonly wellFormedDeep: typeof import('./kit/wellformed.js').wellFormedDeep;
222
235
  }
223
236
  /**
224
- * The VALUE half of the CURRENT (v3) `.` surface: the STABLE SUBSET the installed plugins consume.
237
+ * The VALUE half of the FROZEN v3 `.` surface: the STABLE SUBSET the installed plugins consume.
225
238
  *
226
239
  * v3 does NOT `extends` {@link BaseRuntimeV2} — it is the first pruning generation (INTERFACE.md §9).
227
- * The 18 members with zero consumers across both plugin trees moved to `./internal`
240
+ * The 18 members with zero consumers across the discovered consumer trees moved to `./internal`
228
241
  * ({@link PRUNED_VALUE_NAMES}); the 32 below are what is left, and every one is either taken off the
229
- * loaded module by a plugin today or is an extension point a plugin author is meant to call
230
- * (`createProvisioner` + providers, family paths, the gate, the provisioner error type).
242
+ * loaded module by a plugin today OR registered as an extension point in `test/public-surface.spec.ts`'s
243
+ * `EXTENSION_POINTS` — an author-facing entry point the family's own plugins happen not to read (the
244
+ * verdict/gather pair, the family paths, `reasonOf`, `INTERFACE_VERSION`, the provisioner + providers).
245
+ * That consumer-or-registration split is a GATE there, not prose: a `.` member that is neither read by
246
+ * a tree nor registered is red.
231
247
  *
232
248
  * A real v3 module is still structurally a v1/v2 module — the shed values remain reachable through the
233
249
  * package (`./internal` and the `./compat` subpath) and, in practice, plugins never named them — but
234
250
  * that is a consumer-level fact proven in `test/public-surface.spec.ts`, not a structural one, which
235
251
  * is exactly why the generation number moved.
252
+ *
253
+ * v3 stays exported as that generation's record; the CURRENT generation is {@link BaseRuntimeV4}, whose
254
+ * NAME surface is exactly this one (v4 only widened `verifyRegisteredFaces`'s input, INTERFACE.md §10).
236
255
  */
237
256
  export interface BaseRuntimeV3 {
238
257
  /** The interface generation; see {@link INTERFACE_VERSION}. */
@@ -300,6 +319,91 @@ export interface BaseRuntimeV3 {
300
319
  /** The model-cache item kind. */
301
320
  readonly MODEL_CACHE_KIND: typeof import('./providers/model.js').MODEL_CACHE_KIND;
302
321
  }
322
+ /**
323
+ * The VALUE half of the CURRENT (v4) `.` surface.
324
+ *
325
+ * **v4 adds no name**: it is the v3 list, member for member ({@link VALUE_NAMES_V4} is asserted to be
326
+ * exactly {@link VALUE_NAMES_V3}). The generation moved because an EXISTING member's accepted input
327
+ * changed: `verifyRegisteredFaces` now takes an optional `scope` and passes it through to
328
+ * `tools.get(name, scope)` (INTERFACE.md §10). Members are declared here rather than inherited so this
329
+ * interface is the CURRENT generation's own name carrier — `test/public-surface.spec.ts` assigns a real
330
+ * module to it and derives the snapshot from it, which is what makes the v3 record above historical
331
+ * rather than "the same thing under two names".
332
+ *
333
+ * The one signature to read closely is {@link BaseRuntimeV4.verifyRegisteredFaces}: base has no DSH
334
+ * dependency and does not know what a scope is, so the field is typed `unknown` and passed through
335
+ * opaquely. It is optional, so a caller that omits it keeps the older one-argument reading exactly.
336
+ */
337
+ export interface BaseRuntimeV4 {
338
+ /** The interface generation; see {@link INTERFACE_VERSION}. */
339
+ readonly INTERFACE_VERSION: typeof INTERFACE_VERSION;
340
+ /** The compat log token (`compat:`) every line the gate emits begins with. */
341
+ readonly COMPAT_PREFIX: typeof import('./compat.js').COMPAT_PREFIX;
342
+ /** The baked build-record file name (`dsh-build.json`) read beside a plugin's entry. */
343
+ readonly BUILD_VERSIONS_FILE: typeof import('./compat.js').BUILD_VERSIONS_FILE;
344
+ /** The item schema generation this build understands. */
345
+ readonly ITEM_SCHEMA_VERSION: typeof import('./provisioner.js').ITEM_SCHEMA_VERSION;
346
+ /** Decide whether a loaded module implements the interface generation a caller requires. */
347
+ readonly checkInterface: typeof import('./interface_gate.js').checkInterface;
348
+ /** Read the `{ baseVersion, interfaceVersion }` record a plugin artifact was baked with. */
349
+ readonly readInterfaceRequirement: typeof import('./interface_gate.js').readInterfaceRequirement;
350
+ /** Run the gate against a live context: register nothing, decide `load`, log the diagnosis. */
351
+ readonly provision: typeof import('./compat.js').provision;
352
+ /** Build the refusal report from a verdict plus the CALLER's wording. */
353
+ readonly compatReport: typeof import('./compat.js').compatReport;
354
+ /** Keep one user-visible command that reports a refusal (the only channel on that path). */
355
+ readonly registerMegaphone: typeof import('./compat.js').registerMegaphone;
356
+ /** The wire schema names a contribution declares (the post-registration check's input). */
357
+ readonly schemaNamesFrom: typeof import('./compat.js').schemaNamesFrom;
358
+ /**
359
+ * Confirm, after mounting, that every declared schema and tool is really registered. Takes an
360
+ * optional opaque `scope` (the v4 widening) and reads each tool back with it — `tools.get(name,
361
+ * scope)` — so a per-scope registration is not reported as a false "missing".
362
+ */
363
+ readonly verifyRegisteredFaces: typeof import('./compat.js').verifyRegisteredFaces;
364
+ /** The peer-range FLOORS of the packages that identify the host (the `declared` fallback). */
365
+ readonly readDeclaredVersions: typeof import('./compat.js').readDeclaredVersions;
366
+ /** The versions this BUILD was compiled against, baked next to the entry. */
367
+ readonly readBuildVersions: typeof import('./compat.js').readBuildVersions;
368
+ /** The versions THIS build's links resolve to at startup. */
369
+ readonly readRuntimeVersions: typeof import('./compat.js').readRuntimeVersions;
370
+ /** Build the probe tool declaration from the caller's own `defineTool`. */
371
+ readonly toolProbeDeclaration: typeof import('./compat.js').toolProbeDeclaration;
372
+ /** The rules as a pure function of evidence (no host, no I/O). */
373
+ readonly verdictOf: typeof import('./compat.js').verdictOf;
374
+ /** Gather the plain evidence {@link BaseRuntimeV4.verdictOf} consumes from a live context. */
375
+ readonly gatherEvidence: typeof import('./compat.js').gatherEvidence;
376
+ /** Ensure + read the family's user-editable prompt files. */
377
+ readonly PromptFiles: typeof import('./kit/prompt_files.js').PromptFiles;
378
+ /** The family root: `$AVANTF_HOME`, else `~/.avantf/env`. */
379
+ readonly familyHome: typeof import('./kit/family.js').familyHome;
380
+ /** `<family root>/tools`. */
381
+ readonly familyToolsDir: typeof import('./kit/family.js').familyToolsDir;
382
+ /** `<family root>/models`. */
383
+ readonly familyModelsDir: typeof import('./kit/family.js').familyModelsDir;
384
+ /** The DATA root, by the family's layer order: ⑤ explicit → ④ `$AVANTF_HOME` → ② configured → `~/.avantf`. */
385
+ readonly resolveDataHome: typeof import('./kit/family.js').resolveDataHome;
386
+ /** `~/x` → `<home>/x`, `~` → `<home>`; anything else unchanged. */
387
+ readonly expandHome: typeof import('./kit/family.js').expandHome;
388
+ /** Repair lone surrogates in ONE string (U+FFFD), engine-independent and total. */
389
+ readonly wellFormedText: typeof import('./kit/wellformed.js').wellFormedText;
390
+ /** {@link BaseRuntimeV4.wellFormedText} over a JSON-shaped value. */
391
+ readonly wellFormedDeep: typeof import('./kit/wellformed.js').wellFormedDeep;
392
+ /** Build a provisioner over a family root. */
393
+ readonly createProvisioner: typeof import('./provisioner.js').createProvisioner;
394
+ /** The error a failed provision throws, with its machine-readable `code`. */
395
+ readonly ProvisionError: typeof import('./errors.js').ProvisionError;
396
+ /** The machine-readable code of a provision failure. */
397
+ readonly reasonOf: typeof import('./errors.js').reasonOf;
398
+ /** The binary-archive provider factory. */
399
+ readonly binaryArchiveProvider: typeof import('./providers/archive.js').binaryArchiveProvider;
400
+ /** The binary-archive item kind. */
401
+ readonly BINARY_ARCHIVE_KIND: typeof import('./providers/archive.js').BINARY_ARCHIVE_KIND;
402
+ /** The model-cache provider factory. */
403
+ readonly modelCacheProvider: typeof import('./providers/model.js').modelCacheProvider;
404
+ /** The model-cache item kind. */
405
+ readonly MODEL_CACHE_KIND: typeof import('./providers/model.js').MODEL_CACHE_KIND;
406
+ }
303
407
  /**
304
408
  * The TYPE half of the v1 `.` surface: every type a caller names when it uses the members above.
305
409
  *
@@ -377,7 +481,7 @@ export interface BaseTypeSurfaceV1 {
377
481
  readonly InterfaceRequirement: InterfaceRequirement;
378
482
  }
379
483
  /**
380
- * The TYPE half of the FROZEN v2 `.` surface. It stays exported as that generation's record; the CURRENT generation is {@link BaseTypeSurfaceV3}.
484
+ * The TYPE half of the FROZEN v2 `.` surface. It stays exported as that generation's record; the CURRENT generation is {@link BaseTypeSurfaceV4}.
381
485
  *
382
486
  * v2 is additive at runtime only: the well-formed-text helpers take and return `string` / a generic
383
487
  * `T`, so they introduce no named type. This interface therefore adds nothing to
@@ -387,7 +491,8 @@ export interface BaseTypeSurfaceV1 {
387
491
  export interface BaseTypeSurfaceV2 extends BaseTypeSurfaceV1 {
388
492
  }
389
493
  /**
390
- * The TYPE half of the CURRENT (v3) `.` surface.
494
+ * The TYPE half of the FROZEN v3 `.` surface. It stays exported as that generation's record; the
495
+ * CURRENT generation is {@link BaseTypeSurfaceV4}, whose name list is exactly this one.
391
496
  *
392
497
  * v3 does NOT `extends` {@link BaseTypeSurfaceV2}: it is the pruning generation. It drops the four
393
498
  * types that existed only for the shed values (`StrictCodec`, `PluginLogger`, `PluginLoggerHost`,
@@ -464,6 +569,84 @@ export interface BaseTypeSurfaceV3 {
464
569
  InterfaceRequirement: InterfaceRequirement;
465
570
  InterfaceVerdict: InterfaceVerdict;
466
571
  }
572
+ /**
573
+ * The TYPE half of the CURRENT (v4) `.` surface.
574
+ *
575
+ * **v4 names no new type and sheds none**: it is the v3 list, entry for entry ({@link TYPE_NAMES_V4}
576
+ * is exactly {@link TYPE_NAMES_V3}). It exists because the generation's type half must have a carrier
577
+ * of its own — the snapshot's type list is derived from THIS interface, and `checkInterface`'s
578
+ * newer-is-ok rule is stated per generation — while the widening that produced v4
579
+ * (`verifyRegisteredFaces`'s optional `scope`, INTERFACE.md §10) introduces no named type at all: the
580
+ * field is `unknown` on purpose, because base does not know what a scope is.
581
+ */
582
+ export interface BaseTypeSurfaceV4 {
583
+ ArchivePack: ArchivePack;
584
+ BinaryArchiveSpec: BinaryArchiveSpec;
585
+ ModelCacheLayout: ModelCacheLayout;
586
+ ModelCacheSpec: ModelCacheSpec;
587
+ ProvisionCode: ProvisionCode;
588
+ AtStartup: AtStartup;
589
+ AtUse: AtUse;
590
+ BuiltinKind: BuiltinKind;
591
+ Disposable: Disposable;
592
+ EnsureOptions: EnsureOptions;
593
+ InstallContext: InstallContext;
594
+ InstallManifest: InstallManifest;
595
+ ItemPolicy: ItemPolicy;
596
+ Kind: Kind;
597
+ Manifest: Manifest;
598
+ MirrorPolicy: MirrorPolicy;
599
+ OnMissing: OnMissing;
600
+ Plan: Plan;
601
+ PlanAction: PlanAction;
602
+ PlanEntry: PlanEntry;
603
+ PlanOptions: PlanOptions;
604
+ ProbeResult: ProbeResult;
605
+ ProgressEvent: ProgressEvent;
606
+ Provider: Provider;
607
+ ProviderContext: ProviderContext;
608
+ ProviderPlan: ProviderPlan;
609
+ ProvisionEvent: ProvisionEvent;
610
+ ProvisionFs: ProvisionFs;
611
+ ProvisionItem: ProvisionItem;
612
+ ProvisionLock: ProvisionLock;
613
+ ProvisionLogger: ProvisionLogger;
614
+ ProvisionPolicy: ProvisionPolicy;
615
+ ProvisionReport: ProvisionReport;
616
+ ProvisionReportEntry: ProvisionReportEntry;
617
+ ProvisionStatus: ProvisionStatus;
618
+ Provisioner: Provisioner;
619
+ ProvisionerExperimental: ProvisionerExperimental;
620
+ ProvisionerOptions: ProvisionerOptions;
621
+ PrunePolicy: PrunePolicy;
622
+ PruneReport: PruneReport;
623
+ PublishMeta: PublishMeta;
624
+ ReportAction: ReportAction;
625
+ Resolved: Resolved;
626
+ ResourceHandle: ResourceHandle;
627
+ ResourceIdentity: ResourceIdentity;
628
+ ResourceSource: ResourceSource;
629
+ ResourceState: ResourceState;
630
+ Startup: Startup;
631
+ CompatContext: CompatContext;
632
+ CompatEvidence: CompatEvidence;
633
+ CompatLine: CompatLine;
634
+ CompatLogger: CompatLogger;
635
+ CompatReportWords: CompatReportWords;
636
+ CompatSpec: CompatSpec;
637
+ CompatVerdict: CompatVerdict;
638
+ ProbeOutcome: ProbeOutcome;
639
+ ServiceContract: ServiceContract;
640
+ ServiceProbe: ServiceProbe;
641
+ DataHomeInput: DataHomeInput;
642
+ LoadedPromptText: LoadedPromptText;
643
+ PromptFileSpec: PromptFileSpec;
644
+ PromptFilesIo: PromptFilesIo;
645
+ PromptFilesLogger: PromptFilesLogger;
646
+ PromptFilesOptions: PromptFilesOptions;
647
+ InterfaceRequirement: InterfaceRequirement;
648
+ InterfaceVerdict: InterfaceVerdict;
649
+ }
467
650
  /**
468
651
  * Every VALUE name of the v1 `.` surface, in {@link BaseRuntimeV1} declaration order.
469
652
  *
@@ -499,21 +682,32 @@ export declare const TYPE_NAMES_V2: readonly ["EnsureOptions", "InstallContext",
499
682
  /**
500
683
  * The VALUE names v3 shed from `.` — the frozen PRUNE list (INTERFACE.md §9).
501
684
  *
502
- * Every one of them has zero consumers across the two plugin trees' non-test source and scripts (the
503
- * proof is `PUBLIC-SURFACE`'s cross-tree check), and every one of them now lives on `./internal`
504
- * instead. This list is not documentation: `test/public-surface.spec.ts` asserts
685
+ * Every one of them has zero consumers across the discovered consumer trees' non-test source and
686
+ * scripts (the proof is `PUBLIC-SURFACE`'s cross-tree check), and every one of them now lives on
687
+ * `./internal` instead. This list is not documentation: `test/public-surface.spec.ts` asserts
505
688
  * `VALUE_NAMES_V2 === [...VALUE_NAMES_V3, ...PRUNED_VALUE_NAMES]` (both directions), so a v4 cannot
506
689
  * quietly drop a name that is neither in the surface nor on this list.
507
690
  */
508
691
  export declare const PRUNED_VALUE_NAMES: readonly ["CAPABILITIES", "COMPAT_PROBE_TOOL", "DEFAULT_DEADLINE_MS", "NPM_PACKAGE_KIND", "checkInterval", "checkServices", "createPluginLogger", "declaredSchemaKeys", "endpointId", "fieldSymbol", "floorOf", "normalizeOnMissing", "npmPackageProvider", "probeToolsRegistry", "probeTypertRegistry", "resolveRuntimeVersion", "resultSymbol", "strictCodec"];
509
692
  /**
510
- * Every VALUE name of the CURRENT (v3) `.` surface, in {@link BaseRuntimeV3} declaration order.
693
+ * Every VALUE name of the FROZEN v3 `.` surface, in {@link BaseRuntimeV3} declaration order.
511
694
  *
512
695
  * NOT a spread of v2: v3 prunes, so it is stated as itself. The `satisfies` clause ties it to
513
696
  * {@link BaseRuntimeV3}, and the gate asserts the whole `keyof`, so a member added to the interface
514
- * and not to this list is a compile error.
697
+ * and not to this list is a compile error. v3 stays frozen as that generation's record;
698
+ * {@link VALUE_NAMES_V4} is the current list, exactly this one.
515
699
  */
516
700
  export declare const VALUE_NAMES_V3: readonly ["INTERFACE_VERSION", "COMPAT_PREFIX", "BUILD_VERSIONS_FILE", "ITEM_SCHEMA_VERSION", "checkInterface", "readInterfaceRequirement", "provision", "compatReport", "registerMegaphone", "schemaNamesFrom", "verifyRegisteredFaces", "readDeclaredVersions", "readBuildVersions", "readRuntimeVersions", "toolProbeDeclaration", "verdictOf", "gatherEvidence", "PromptFiles", "familyHome", "familyToolsDir", "familyModelsDir", "resolveDataHome", "expandHome", "wellFormedText", "wellFormedDeep", "createProvisioner", "ProvisionError", "reasonOf", "binaryArchiveProvider", "BINARY_ARCHIVE_KIND", "modelCacheProvider", "MODEL_CACHE_KIND"];
701
+ /**
702
+ * Every VALUE name of the CURRENT (v4) `.` surface, in {@link BaseRuntimeV4} declaration order.
703
+ *
704
+ * The spread is the whole point of this generation: v4 adds no name, so the list is stated as "the v3
705
+ * list verbatim" and `test/public-surface.spec.ts` asserts equality with {@link VALUE_NAMES_V3} — both
706
+ * the set and the order, so neither half of that claim can drift silently. The `satisfies` clause
707
+ * still checks the whole v4 `keyof`, so a member added to {@link BaseRuntimeV4} and not here is a
708
+ * compile error.
709
+ */
710
+ export declare const VALUE_NAMES_V4: readonly ["INTERFACE_VERSION", "COMPAT_PREFIX", "BUILD_VERSIONS_FILE", "ITEM_SCHEMA_VERSION", "checkInterface", "readInterfaceRequirement", "provision", "compatReport", "registerMegaphone", "schemaNamesFrom", "verifyRegisteredFaces", "readDeclaredVersions", "readBuildVersions", "readRuntimeVersions", "toolProbeDeclaration", "verdictOf", "gatherEvidence", "PromptFiles", "familyHome", "familyToolsDir", "familyModelsDir", "resolveDataHome", "expandHome", "wellFormedText", "wellFormedDeep", "createProvisioner", "ProvisionError", "reasonOf", "binaryArchiveProvider", "BINARY_ARCHIVE_KIND", "modelCacheProvider", "MODEL_CACHE_KIND"];
517
711
  /**
518
712
  * The TYPE names v3 NAMES for the first time — they were reachable through `export *` in v2 but were
519
713
  * never declared in {@link BaseTypeSurfaceV2}, so they had no entry and no promise. v3's explicit
@@ -526,10 +720,19 @@ export declare const ADDED_TYPE_NAMES: readonly ["ArchivePack", "AtStartup", "At
526
720
  */
527
721
  export declare const PRUNED_TYPE_NAMES: readonly ["PluginLogger", "PluginLoggerHost", "PluginLoggerOptions", "StrictCodec"];
528
722
  /**
529
- * Every TYPE name of the CURRENT (v3) `.` surface, in {@link BaseTypeSurfaceV3} declaration order.
723
+ * Every TYPE name of the FROZEN v3 `.` surface, in {@link BaseTypeSurfaceV3} declaration order.
530
724
  *
531
725
  * v3 is a pruning generation, so this is stated explicitly rather than spread. The gate asserts it
532
- * partitions v2 together with {@link PRUNED_TYPE_NAMES} and {@link ADDED_TYPE_NAMES}.
726
+ * partitions v2 together with {@link PRUNED_TYPE_NAMES} and {@link ADDED_TYPE_NAMES}. v3 stays frozen
727
+ * as that generation's record; {@link TYPE_NAMES_V4} is the current list, exactly this one.
533
728
  */
534
729
  export declare const TYPE_NAMES_V3: readonly ["ArchivePack", "BinaryArchiveSpec", "ModelCacheLayout", "ModelCacheSpec", "ProvisionCode", "AtStartup", "AtUse", "BuiltinKind", "Disposable", "EnsureOptions", "InstallContext", "InstallManifest", "ItemPolicy", "Kind", "Manifest", "MirrorPolicy", "OnMissing", "Plan", "PlanAction", "PlanEntry", "PlanOptions", "ProbeResult", "ProgressEvent", "Provider", "ProviderContext", "ProviderPlan", "ProvisionEvent", "ProvisionFs", "ProvisionItem", "ProvisionLock", "ProvisionLogger", "ProvisionPolicy", "ProvisionReport", "ProvisionReportEntry", "ProvisionStatus", "Provisioner", "ProvisionerExperimental", "ProvisionerOptions", "PrunePolicy", "PruneReport", "PublishMeta", "ReportAction", "Resolved", "ResourceHandle", "ResourceIdentity", "ResourceSource", "ResourceState", "Startup", "CompatContext", "CompatEvidence", "CompatLine", "CompatLogger", "CompatReportWords", "CompatSpec", "CompatVerdict", "ProbeOutcome", "ServiceContract", "ServiceProbe", "DataHomeInput", "LoadedPromptText", "PromptFileSpec", "PromptFilesIo", "PromptFilesLogger", "PromptFilesOptions", "InterfaceRequirement", "InterfaceVerdict"];
730
+ /**
731
+ * Every TYPE name of the CURRENT (v4) `.` surface, in {@link BaseTypeSurfaceV4} declaration order.
732
+ *
733
+ * Like {@link VALUE_NAMES_V4}, the spread states the fact this generation is about: v4 names no new type
734
+ * and sheds none, so the list is the v3 list verbatim. `test/public-surface.spec.ts` asserts equality
735
+ * with {@link TYPE_NAMES_V3}, and the `satisfies` clause ties it to the whole v4 `keyof`.
736
+ */
737
+ export declare const TYPE_NAMES_V4: readonly ["ArchivePack", "BinaryArchiveSpec", "ModelCacheLayout", "ModelCacheSpec", "ProvisionCode", "AtStartup", "AtUse", "BuiltinKind", "Disposable", "EnsureOptions", "InstallContext", "InstallManifest", "ItemPolicy", "Kind", "Manifest", "MirrorPolicy", "OnMissing", "Plan", "PlanAction", "PlanEntry", "PlanOptions", "ProbeResult", "ProgressEvent", "Provider", "ProviderContext", "ProviderPlan", "ProvisionEvent", "ProvisionFs", "ProvisionItem", "ProvisionLock", "ProvisionLogger", "ProvisionPolicy", "ProvisionReport", "ProvisionReportEntry", "ProvisionStatus", "Provisioner", "ProvisionerExperimental", "ProvisionerOptions", "PrunePolicy", "PruneReport", "PublishMeta", "ReportAction", "Resolved", "ResourceHandle", "ResourceIdentity", "ResourceSource", "ResourceState", "Startup", "CompatContext", "CompatEvidence", "CompatLine", "CompatLogger", "CompatReportWords", "CompatSpec", "CompatVerdict", "ProbeOutcome", "ServiceContract", "ServiceProbe", "DataHomeInput", "LoadedPromptText", "PromptFileSpec", "PromptFilesIo", "PromptFilesLogger", "PromptFilesOptions", "InterfaceRequirement", "InterfaceVerdict"];
535
738
  //# sourceMappingURL=interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../src/interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACrL,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAC1F,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AACnI,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,KAAK,EACV,SAAS,EACT,KAAK,EACL,WAAW,EACX,UAAU,EACV,aAAa,EACb,cAAc,EACd,eAAe,EACf,UAAU,EACV,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,IAAI,EACJ,UAAU,EACV,SAAS,EACT,WAAW,EACX,WAAW,EACX,aAAa,EACb,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,cAAc,EACd,WAAW,EACX,aAAa,EACb,aAAa,EACb,eAAe,EACf,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,WAAW,EACX,uBAAuB,EACvB,kBAAkB,EAClB,WAAW,EACX,WAAW,EACX,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,OAAO,EACR,MAAM,YAAY,CAAA;AAEnB;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,iBAAiB,IAAI,CAAA;AAElC;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,aAAa;IAE5B,+DAA+D;IAC/D,QAAQ,CAAC,iBAAiB,EAAE,OAAO,iBAAiB,CAAA;IACpD,8EAA8E;IAC9E,QAAQ,CAAC,aAAa,EAAE,cAAc,aAAa,EAAE,aAAa,CAAA;IAClE,wFAAwF;IACxF,QAAQ,CAAC,mBAAmB,EAAE,cAAc,aAAa,EAAE,mBAAmB,CAAA;IAC9E,gEAAgE;IAChE,QAAQ,CAAC,iBAAiB,EAAE,cAAc,aAAa,EAAE,iBAAiB,CAAA;IAC1E,yDAAyD;IACzD,QAAQ,CAAC,mBAAmB,EAAE,cAAc,kBAAkB,EAAE,mBAAmB,CAAA;IACnF,oDAAoD;IACpD,QAAQ,CAAC,mBAAmB,EAAE,cAAc,kBAAkB,EAAE,mBAAmB,CAAA;IACnF,yCAAyC;IACzC,QAAQ,CAAC,YAAY,EAAE,cAAc,kBAAkB,EAAE,YAAY,CAAA;IAGrE;;;;;;OAMG;IACH,QAAQ,CAAC,cAAc,EAAE,cAAc,qBAAqB,EAAE,cAAc,CAAA;IAC5E;;;OAGG;IACH,QAAQ,CAAC,wBAAwB,EAAE,cAAc,qBAAqB,EAAE,wBAAwB,CAAA;IAGhG,+FAA+F;IAC/F,QAAQ,CAAC,SAAS,EAAE,cAAc,aAAa,EAAE,SAAS,CAAA;IAC1D,yEAAyE;IACzE,QAAQ,CAAC,YAAY,EAAE,cAAc,aAAa,EAAE,YAAY,CAAA;IAChE,4FAA4F;IAC5F,QAAQ,CAAC,iBAAiB,EAAE,cAAc,aAAa,EAAE,iBAAiB,CAAA;IAC1E,2FAA2F;IAC3F,QAAQ,CAAC,eAAe,EAAE,cAAc,aAAa,EAAE,eAAe,CAAA;IACtE,yFAAyF;IACzF,QAAQ,CAAC,qBAAqB,EAAE,cAAc,aAAa,EAAE,qBAAqB,CAAA;IAClF,8FAA8F;IAC9F,QAAQ,CAAC,oBAAoB,EAAE,cAAc,aAAa,EAAE,oBAAoB,CAAA;IAChF,6EAA6E;IAC7E,QAAQ,CAAC,iBAAiB,EAAE,cAAc,aAAa,EAAE,iBAAiB,CAAA;IAC1E,6DAA6D;IAC7D,QAAQ,CAAC,mBAAmB,EAAE,cAAc,aAAa,EAAE,mBAAmB,CAAA;IAC9E,2EAA2E;IAC3E,QAAQ,CAAC,oBAAoB,EAAE,cAAc,aAAa,EAAE,oBAAoB,CAAA;IAChF,kEAAkE;IAClE,QAAQ,CAAC,SAAS,EAAE,cAAc,aAAa,EAAE,SAAS,CAAA;IAC1D,qDAAqD;IACrD,QAAQ,CAAC,OAAO,EAAE,cAAc,aAAa,EAAE,OAAO,CAAA;IACtD,kEAAkE;IAClE,QAAQ,CAAC,qBAAqB,EAAE,cAAc,aAAa,EAAE,qBAAqB,CAAA;IAClF,oFAAoF;IACpF,QAAQ,CAAC,aAAa,EAAE,cAAc,aAAa,EAAE,aAAa,CAAA;IAClE,6FAA6F;IAC7F,QAAQ,CAAC,aAAa,EAAE,cAAc,aAAa,EAAE,aAAa,CAAA;IAClE,gFAAgF;IAChF,QAAQ,CAAC,cAAc,EAAE,cAAc,aAAa,EAAE,cAAc,CAAA;IACpE,+FAA+F;IAC/F,QAAQ,CAAC,kBAAkB,EAAE,cAAc,aAAa,EAAE,kBAAkB,CAAA;IAC5E,0EAA0E;IAC1E,QAAQ,CAAC,mBAAmB,EAAE,cAAc,aAAa,EAAE,mBAAmB,CAAA;IAC9E,gFAAgF;IAChF,QAAQ,CAAC,kBAAkB,EAAE,cAAc,aAAa,EAAE,kBAAkB,CAAA;IAG5E,6DAA6D;IAC7D,QAAQ,CAAC,WAAW,EAAE,cAAc,uBAAuB,EAAE,WAAW,CAAA;IACxE,2EAA2E;IAC3E,QAAQ,CAAC,kBAAkB,EAAE,cAAc,iBAAiB,EAAE,kBAAkB,CAAA;IAChF,6DAA6D;IAC7D,QAAQ,CAAC,UAAU,EAAE,cAAc,iBAAiB,EAAE,UAAU,CAAA;IAChE,6BAA6B;IAC7B,QAAQ,CAAC,cAAc,EAAE,cAAc,iBAAiB,EAAE,cAAc,CAAA;IACxE,8BAA8B;IAC9B,QAAQ,CAAC,eAAe,EAAE,cAAc,iBAAiB,EAAE,eAAe,CAAA;IAC1E;;;;OAIG;IACH,QAAQ,CAAC,eAAe,EAAE,cAAc,iBAAiB,EAAE,eAAe,CAAA;IAC1E,mEAAmE;IACnE,QAAQ,CAAC,UAAU,EAAE,cAAc,iBAAiB,EAAE,UAAU,CAAA;IAChE,iFAAiF;IACjF,QAAQ,CAAC,WAAW,EAAE,cAAc,iBAAiB,EAAE,WAAW,CAAA;IAClE,wCAAwC;IACxC,QAAQ,CAAC,UAAU,EAAE,cAAc,iBAAiB,EAAE,UAAU,CAAA;IAChE,kDAAkD;IAClD,QAAQ,CAAC,WAAW,EAAE,cAAc,iBAAiB,EAAE,WAAW,CAAA;IAClE,4CAA4C;IAC5C,QAAQ,CAAC,YAAY,EAAE,cAAc,iBAAiB,EAAE,YAAY,CAAA;IAGpE,8CAA8C;IAC9C,QAAQ,CAAC,iBAAiB,EAAE,cAAc,kBAAkB,EAAE,iBAAiB,CAAA;IAC/E,iEAAiE;IACjE,QAAQ,CAAC,kBAAkB,EAAE,cAAc,kBAAkB,EAAE,kBAAkB,CAAA;IACjF,6EAA6E;IAC7E,QAAQ,CAAC,cAAc,EAAE,cAAc,aAAa,EAAE,cAAc,CAAA;IACpE,wDAAwD;IACxD,QAAQ,CAAC,QAAQ,EAAE,cAAc,aAAa,EAAE,QAAQ,CAAA;IACxD,2CAA2C;IAC3C,QAAQ,CAAC,qBAAqB,EAAE,cAAc,wBAAwB,EAAE,qBAAqB,CAAA;IAC7F,oCAAoC;IACpC,QAAQ,CAAC,mBAAmB,EAAE,cAAc,wBAAwB,EAAE,mBAAmB,CAAA;IACzF,wCAAwC;IACxC,QAAQ,CAAC,kBAAkB,EAAE,cAAc,oBAAoB,EAAE,kBAAkB,CAAA;IACnF,iCAAiC;IACjC,QAAQ,CAAC,gBAAgB,EAAE,cAAc,oBAAoB,EAAE,gBAAgB,CAAA;IAC/E,wCAAwC;IACxC,QAAQ,CAAC,kBAAkB,EAAE,cAAc,sBAAsB,EAAE,kBAAkB,CAAA;IACrF,iCAAiC;IACjC,QAAQ,CAAC,gBAAgB,EAAE,cAAc,sBAAsB,EAAE,gBAAgB,CAAA;CAClF;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAc,SAAQ,aAAa;IAClD;;;;;;OAMG;IACH,QAAQ,CAAC,cAAc,EAAE,cAAc,qBAAqB,EAAE,cAAc,CAAA;IAC5E;;;;OAIG;IACH,QAAQ,CAAC,cAAc,EAAE,cAAc,qBAAqB,EAAE,cAAc,CAAA;CAC7E;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,aAAa;IAE5B,+DAA+D;IAC/D,QAAQ,CAAC,iBAAiB,EAAE,OAAO,iBAAiB,CAAA;IACpD,8EAA8E;IAC9E,QAAQ,CAAC,aAAa,EAAE,cAAc,aAAa,EAAE,aAAa,CAAA;IAClE,wFAAwF;IACxF,QAAQ,CAAC,mBAAmB,EAAE,cAAc,aAAa,EAAE,mBAAmB,CAAA;IAC9E,yDAAyD;IACzD,QAAQ,CAAC,mBAAmB,EAAE,cAAc,kBAAkB,EAAE,mBAAmB,CAAA;IAGnF,4FAA4F;IAC5F,QAAQ,CAAC,cAAc,EAAE,cAAc,qBAAqB,EAAE,cAAc,CAAA;IAC5E,4FAA4F;IAC5F,QAAQ,CAAC,wBAAwB,EAAE,cAAc,qBAAqB,EAAE,wBAAwB,CAAA;IAGhG,+FAA+F;IAC/F,QAAQ,CAAC,SAAS,EAAE,cAAc,aAAa,EAAE,SAAS,CAAA;IAC1D,yEAAyE;IACzE,QAAQ,CAAC,YAAY,EAAE,cAAc,aAAa,EAAE,YAAY,CAAA;IAChE,4FAA4F;IAC5F,QAAQ,CAAC,iBAAiB,EAAE,cAAc,aAAa,EAAE,iBAAiB,CAAA;IAC1E,2FAA2F;IAC3F,QAAQ,CAAC,eAAe,EAAE,cAAc,aAAa,EAAE,eAAe,CAAA;IACtE,yFAAyF;IACzF,QAAQ,CAAC,qBAAqB,EAAE,cAAc,aAAa,EAAE,qBAAqB,CAAA;IAClF,8FAA8F;IAC9F,QAAQ,CAAC,oBAAoB,EAAE,cAAc,aAAa,EAAE,oBAAoB,CAAA;IAChF,6EAA6E;IAC7E,QAAQ,CAAC,iBAAiB,EAAE,cAAc,aAAa,EAAE,iBAAiB,CAAA;IAC1E,6DAA6D;IAC7D,QAAQ,CAAC,mBAAmB,EAAE,cAAc,aAAa,EAAE,mBAAmB,CAAA;IAC9E,2EAA2E;IAC3E,QAAQ,CAAC,oBAAoB,EAAE,cAAc,aAAa,EAAE,oBAAoB,CAAA;IAChF,kEAAkE;IAClE,QAAQ,CAAC,SAAS,EAAE,cAAc,aAAa,EAAE,SAAS,CAAA;IAC1D,8FAA8F;IAC9F,QAAQ,CAAC,cAAc,EAAE,cAAc,aAAa,EAAE,cAAc,CAAA;IAGpE,6DAA6D;IAC7D,QAAQ,CAAC,WAAW,EAAE,cAAc,uBAAuB,EAAE,WAAW,CAAA;IACxE,6DAA6D;IAC7D,QAAQ,CAAC,UAAU,EAAE,cAAc,iBAAiB,EAAE,UAAU,CAAA;IAChE,6BAA6B;IAC7B,QAAQ,CAAC,cAAc,EAAE,cAAc,iBAAiB,EAAE,cAAc,CAAA;IACxE,8BAA8B;IAC9B,QAAQ,CAAC,eAAe,EAAE,cAAc,iBAAiB,EAAE,eAAe,CAAA;IAC1E,8GAA8G;IAC9G,QAAQ,CAAC,eAAe,EAAE,cAAc,iBAAiB,EAAE,eAAe,CAAA;IAC1E,mEAAmE;IACnE,QAAQ,CAAC,UAAU,EAAE,cAAc,iBAAiB,EAAE,UAAU,CAAA;IAChE,mFAAmF;IACnF,QAAQ,CAAC,cAAc,EAAE,cAAc,qBAAqB,EAAE,cAAc,CAAA;IAC5E,qEAAqE;IACrE,QAAQ,CAAC,cAAc,EAAE,cAAc,qBAAqB,EAAE,cAAc,CAAA;IAG5E,8CAA8C;IAC9C,QAAQ,CAAC,iBAAiB,EAAE,cAAc,kBAAkB,EAAE,iBAAiB,CAAA;IAC/E,6EAA6E;IAC7E,QAAQ,CAAC,cAAc,EAAE,cAAc,aAAa,EAAE,cAAc,CAAA;IACpE,wDAAwD;IACxD,QAAQ,CAAC,QAAQ,EAAE,cAAc,aAAa,EAAE,QAAQ,CAAA;IACxD,2CAA2C;IAC3C,QAAQ,CAAC,qBAAqB,EAAE,cAAc,wBAAwB,EAAE,qBAAqB,CAAA;IAC7F,oCAAoC;IACpC,QAAQ,CAAC,mBAAmB,EAAE,cAAc,wBAAwB,EAAE,mBAAmB,CAAA;IACzF,wCAAwC;IACxC,QAAQ,CAAC,kBAAkB,EAAE,cAAc,sBAAsB,EAAE,kBAAkB,CAAA;IACrF,iCAAiC;IACjC,QAAQ,CAAC,gBAAgB,EAAE,cAAc,sBAAsB,EAAE,gBAAgB,CAAA;CAClF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAA;IACrC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAA;IACvC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAA;IACzC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;IAC/B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IACnB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;IACnC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IACnB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;IACjC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;IACjC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAA;IACrC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAA;IACvC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAA;IAC3C,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAA;IACrC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAA;IAC7C,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAA;IAC/C,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAA;IACzC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;IACnC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAA;IACrC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAA;IACvC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;IACjC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAA;IACrC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAA;IACzC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAA;IACzC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAA;IACzC,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAA;IACnD,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAA;IACzC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;IACjC,QAAQ,CAAC,uBAAuB,EAAE,uBAAuB,CAAA;IACzD,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAA;IAC/C,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;IACjC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;IACjC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;IACjC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAA;IACvC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAA;IAC3C,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAA;IACrC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAA;IACrC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAA;IACvC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;IAC/B,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;IACnC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;IAC/B,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAA;IACrC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAA;IAC7C,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;IACnC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;IACnC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;IACnC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAA;IAC3C,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAA;IACjD,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;IACjC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAA;IACrC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAA;IAC3C,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAA;CACpD;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;CAAG;AAE/D;;;;;;;;;GASG;AACH,MAAM,WAAW,iBAAiB;IAEhC,WAAW,EAAE,WAAW,CAAA;IACxB,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,cAAc,EAAE,cAAc,CAAA;IAC9B,aAAa,EAAE,aAAa,CAAA;IAE5B,SAAS,EAAE,SAAS,CAAA;IACpB,KAAK,EAAE,KAAK,CAAA;IACZ,WAAW,EAAE,WAAW,CAAA;IACxB,UAAU,EAAE,UAAU,CAAA;IACtB,aAAa,EAAE,aAAa,CAAA;IAC5B,cAAc,EAAE,cAAc,CAAA;IAC9B,eAAe,EAAE,eAAe,CAAA;IAChC,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE,IAAI,CAAA;IACV,QAAQ,EAAE,QAAQ,CAAA;IAClB,YAAY,EAAE,YAAY,CAAA;IAC1B,SAAS,EAAE,SAAS,CAAA;IACpB,IAAI,EAAE,IAAI,CAAA;IACV,UAAU,EAAE,UAAU,CAAA;IACtB,SAAS,EAAE,SAAS,CAAA;IACpB,WAAW,EAAE,WAAW,CAAA;IACxB,WAAW,EAAE,WAAW,CAAA;IACxB,aAAa,EAAE,aAAa,CAAA;IAC5B,QAAQ,EAAE,QAAQ,CAAA;IAClB,eAAe,EAAE,eAAe,CAAA;IAChC,YAAY,EAAE,YAAY,CAAA;IAC1B,cAAc,EAAE,cAAc,CAAA;IAC9B,WAAW,EAAE,WAAW,CAAA;IACxB,aAAa,EAAE,aAAa,CAAA;IAC5B,aAAa,EAAE,aAAa,CAAA;IAC5B,eAAe,EAAE,eAAe,CAAA;IAChC,eAAe,EAAE,eAAe,CAAA;IAChC,eAAe,EAAE,eAAe,CAAA;IAChC,oBAAoB,EAAE,oBAAoB,CAAA;IAC1C,eAAe,EAAE,eAAe,CAAA;IAChC,WAAW,EAAE,WAAW,CAAA;IACxB,uBAAuB,EAAE,uBAAuB,CAAA;IAChD,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,WAAW,EAAE,WAAW,CAAA;IACxB,WAAW,EAAE,WAAW,CAAA;IACxB,WAAW,EAAE,WAAW,CAAA;IACxB,YAAY,EAAE,YAAY,CAAA;IAC1B,QAAQ,EAAE,QAAQ,CAAA;IAClB,cAAc,EAAE,cAAc,CAAA;IAC9B,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,cAAc,EAAE,cAAc,CAAA;IAC9B,aAAa,EAAE,aAAa,CAAA;IAC5B,OAAO,EAAE,OAAO,CAAA;IAEhB,aAAa,EAAE,aAAa,CAAA;IAC5B,cAAc,EAAE,cAAc,CAAA;IAC9B,UAAU,EAAE,UAAU,CAAA;IACtB,YAAY,EAAE,YAAY,CAAA;IAC1B,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,UAAU,EAAE,UAAU,CAAA;IACtB,aAAa,EAAE,aAAa,CAAA;IAC5B,YAAY,EAAE,YAAY,CAAA;IAC1B,eAAe,EAAE,eAAe,CAAA;IAChC,YAAY,EAAE,YAAY,CAAA;IAE1B,aAAa,EAAE,aAAa,CAAA;IAC5B,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,cAAc,EAAE,cAAc,CAAA;IAC9B,aAAa,EAAE,aAAa,CAAA;IAC5B,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,kBAAkB,EAAE,kBAAkB,CAAA;IAEtC,oBAAoB,EAAE,oBAAoB,CAAA;IAC1C,gBAAgB,EAAE,gBAAgB,CAAA;CACnC;AAED;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,66BAiD0B,CAAA;AAErD;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,m9BA0D+B,CAAA;AAEzD;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,i9BAI0B,CAAA;AAErD;;;;;GAKG;AACH,eAAO,MAAM,aAAa,m9BAA6E,CAAA;AAEvG;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,kWAmBsB,CAAA;AAErD;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,0nBAiC0B,CAAA;AAErD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,4NAc4B,CAAA;AAEzD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,qFAK2B,CAAA;AAEzD;;;;;GAKG;AACH,eAAO,MAAM,aAAa,0lCAmE+B,CAAA"}
1
+ {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../src/interface.ts"],"names":[],"mappings":"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"}
package/dist/interface.js CHANGED
@@ -1,19 +1,22 @@
1
1
  /**
2
2
  * The integer interface generation this module implements.
3
3
  *
4
- * `3` is the CURRENT generation: the v2 surface MINUS the 18 zero-consumer members that moved to
5
- * `./internal` (INTERFACE.md §9) and PLUS the one newly-named compat type (`ServiceContract`). The
4
+ * `4` is the CURRENT generation: the v3 NAME surface UNCHANGED, with one member's accepted input
5
+ * widened — `verifyRegisteredFaces` now takes an optional, opaque `scope` and hands it to
6
+ * `tools.get(name, scope)` (INTERFACE.md §10). Nothing was added to or removed from `.`; what moved is
7
+ * what an existing member accepts, which is an interface change all the same (INTERFACE.md §1). The
6
8
  * file name's `N` and this constant are the SAME fact — `test/public-surface.spec.ts` asserts that the
7
9
  * snapshot for this constant exists and that its `interfaceVersion` field equals it, so "the JSON says
8
- * v4, the constant says 3" cannot happen. Bump it (and add `api/interface-vN.json`) only for an
10
+ * v5, the constant says 4" cannot happen. Bump it (and add `api/interface-vN.json`) only for an
9
11
  * interface change (INTERFACE.md §1); a behaviour change or a fix does NOT touch it. The plugins bake
10
12
  * this number into their artifacts and compare it, at startup, with the number the base they loaded
11
13
  * reports — a difference is a warning and a capability-level degradation, never a refused mount.
12
14
  *
13
- * `2` and `1` are the earlier frozen generations (`api/interface-v2.json`, `api/interface-v1.json`).
14
- * They stay in the tree as those generations' records and as the types the plugins still import.
15
+ * `3`, `2` and `1` are the earlier frozen generations (`api/interface-v3.json`,
16
+ * `api/interface-v2.json`, `api/interface-v1.json`). They stay in the tree as those generations'
17
+ * records and as the types callers compiled against still import.
15
18
  */
16
- export const INTERFACE_VERSION = 3;
19
+ export const INTERFACE_VERSION = 4;
17
20
  /**
18
21
  * Every VALUE name of the v1 `.` surface, in {@link BaseRuntimeV1} declaration order.
19
22
  *
@@ -160,9 +163,9 @@ export const TYPE_NAMES_V2 = [...TYPE_NAMES_V1];
160
163
  /**
161
164
  * The VALUE names v3 shed from `.` — the frozen PRUNE list (INTERFACE.md §9).
162
165
  *
163
- * Every one of them has zero consumers across the two plugin trees' non-test source and scripts (the
164
- * proof is `PUBLIC-SURFACE`'s cross-tree check), and every one of them now lives on `./internal`
165
- * instead. This list is not documentation: `test/public-surface.spec.ts` asserts
166
+ * Every one of them has zero consumers across the discovered consumer trees' non-test source and
167
+ * scripts (the proof is `PUBLIC-SURFACE`'s cross-tree check), and every one of them now lives on
168
+ * `./internal` instead. This list is not documentation: `test/public-surface.spec.ts` asserts
166
169
  * `VALUE_NAMES_V2 === [...VALUE_NAMES_V3, ...PRUNED_VALUE_NAMES]` (both directions), so a v4 cannot
167
170
  * quietly drop a name that is neither in the surface nor on this list.
168
171
  */
@@ -187,11 +190,12 @@ export const PRUNED_VALUE_NAMES = [
187
190
  'strictCodec',
188
191
  ];
189
192
  /**
190
- * Every VALUE name of the CURRENT (v3) `.` surface, in {@link BaseRuntimeV3} declaration order.
193
+ * Every VALUE name of the FROZEN v3 `.` surface, in {@link BaseRuntimeV3} declaration order.
191
194
  *
192
195
  * NOT a spread of v2: v3 prunes, so it is stated as itself. The `satisfies` clause ties it to
193
196
  * {@link BaseRuntimeV3}, and the gate asserts the whole `keyof`, so a member added to the interface
194
- * and not to this list is a compile error.
197
+ * and not to this list is a compile error. v3 stays frozen as that generation's record;
198
+ * {@link VALUE_NAMES_V4} is the current list, exactly this one.
195
199
  */
196
200
  export const VALUE_NAMES_V3 = [
197
201
  'INTERFACE_VERSION',
@@ -227,6 +231,16 @@ export const VALUE_NAMES_V3 = [
227
231
  'modelCacheProvider',
228
232
  'MODEL_CACHE_KIND',
229
233
  ];
234
+ /**
235
+ * Every VALUE name of the CURRENT (v4) `.` surface, in {@link BaseRuntimeV4} declaration order.
236
+ *
237
+ * The spread is the whole point of this generation: v4 adds no name, so the list is stated as "the v3
238
+ * list verbatim" and `test/public-surface.spec.ts` asserts equality with {@link VALUE_NAMES_V3} — both
239
+ * the set and the order, so neither half of that claim can drift silently. The `satisfies` clause
240
+ * still checks the whole v4 `keyof`, so a member added to {@link BaseRuntimeV4} and not here is a
241
+ * compile error.
242
+ */
243
+ export const VALUE_NAMES_V4 = [...VALUE_NAMES_V3];
230
244
  /**
231
245
  * The TYPE names v3 NAMES for the first time — they were reachable through `export *` in v2 but were
232
246
  * never declared in {@link BaseTypeSurfaceV2}, so they had no entry and no promise. v3's explicit
@@ -258,10 +272,11 @@ export const PRUNED_TYPE_NAMES = [
258
272
  'StrictCodec',
259
273
  ];
260
274
  /**
261
- * Every TYPE name of the CURRENT (v3) `.` surface, in {@link BaseTypeSurfaceV3} declaration order.
275
+ * Every TYPE name of the FROZEN v3 `.` surface, in {@link BaseTypeSurfaceV3} declaration order.
262
276
  *
263
277
  * v3 is a pruning generation, so this is stated explicitly rather than spread. The gate asserts it
264
- * partitions v2 together with {@link PRUNED_TYPE_NAMES} and {@link ADDED_TYPE_NAMES}.
278
+ * partitions v2 together with {@link PRUNED_TYPE_NAMES} and {@link ADDED_TYPE_NAMES}. v3 stays frozen
279
+ * as that generation's record; {@link TYPE_NAMES_V4} is the current list, exactly this one.
265
280
  */
266
281
  export const TYPE_NAMES_V3 = [
267
282
  'ArchivePack',
@@ -331,4 +346,12 @@ export const TYPE_NAMES_V3 = [
331
346
  'InterfaceRequirement',
332
347
  'InterfaceVerdict',
333
348
  ];
349
+ /**
350
+ * Every TYPE name of the CURRENT (v4) `.` surface, in {@link BaseTypeSurfaceV4} declaration order.
351
+ *
352
+ * Like {@link VALUE_NAMES_V4}, the spread states the fact this generation is about: v4 names no new type
353
+ * and sheds none, so the list is the v3 list verbatim. `test/public-surface.spec.ts` asserts equality
354
+ * with {@link TYPE_NAMES_V3}, and the `satisfies` clause ties it to the whole v4 `keyof`.
355
+ */
356
+ export const TYPE_NAMES_V4 = [...TYPE_NAMES_V3];
334
357
  //# sourceMappingURL=interface.js.map
@@ -15,7 +15,8 @@ export interface InterfaceRequirement {
15
15
  *
16
16
  * `ok` — both sides were readable and the loaded base can serve this build: either the generations are
17
17
  * equal, or the loaded base is NEWER and the newer generation provably keeps every member a consumer
18
- * uses (the additive superset for v1 → v2; the pruning proof for v2 → v3).
18
+ * uses (the additive superset for v1 → v2; the pruning proof for v2 → v3, inherited unchanged by the
19
+ * name-preserving v3 → v4).
19
20
  * Use the base normally; if {@link InterfaceVerdict.warning} is set, log it as one WARNING first.
20
21
  * `incompatible` — both sides were readable and the loaded base is OLDER than the build, so the members
21
22
  * this build requires may be missing; a caller must NOT use the base's shared capabilities. The family
@@ -1 +1 @@
1
- {"version":3,"file":"interface_gate.d.ts","sourceRoot":"","sources":["../src/interface_gate.ts"],"names":[],"mappings":"AA6CA;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,qFAAqF;IACrF,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,0EAA0E;IAC1E,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;CAClC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,IAAI,GAAG,cAAc,GAAG,aAAa,CAAA;IACtD,qEAAqE;IACrE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,uEAAuE;IACvE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE;IAAE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAAE,GAC/C,gBAAgB,CA2ClB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAa5F"}
1
+ {"version":3,"file":"interface_gate.d.ts","sourceRoot":"","sources":["../src/interface_gate.ts"],"names":[],"mappings":"AAiDA;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,qFAAqF;IACrF,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,0EAA0E;IAC1E,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;CAClC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,IAAI,GAAG,cAAc,GAAG,aAAa,CAAA;IACtD,qEAAqE;IACrE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,uEAAuE;IACvE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE;IAAE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAAE,GAC/C,gBAAgB,CA+ClB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAa5F"}
@@ -32,8 +32,12 @@
32
32
  * - an ADDITIVE generation states `Vn extends Vn-1` and the snapshot gate checks the name superset
33
33
  * (`v1 → v2`, INTERFACE.md §5);
34
34
  * - a PRUNING generation (`v2 → v3`, INTERFACE.md §9) instead proves `Vn-1 = Vn ⊎ PRUNED` plus that
35
- * every `PRUNED` name has zero consumers across the two plugin trees
36
- * (`test/public-surface.spec.ts`), and `test/interface_gate.spec.ts` pins it against the real module.
35
+ * every `PRUNED` name has zero consumers across every discovered plugin tree
36
+ * (`test/public-surface.spec.ts`), and `test/interface_gate.spec.ts` pins it against the real module;
37
+ * - a generation that changes NO NAME (`v3 → v4`, INTERFACE.md §10) inherits the previous generation's
38
+ * proof as-is — it only WIDENS what an existing member accepts (an optional input field), so the v3
39
+ * prune proof still carries the rule and the name lists are asserted equal in
40
+ * `test/public-surface.spec.ts`.
37
41
  *
38
42
  * The `loaded > required` branch below is admissible ONLY while one of those proofs holds. A generation
39
43
  * that drops a name WITH a consumer would fail the pruning proof, and that is the signal it must not be
@@ -83,14 +87,18 @@ export function checkInterface(required, module) {
83
87
  if (loadedVersion === required)
84
88
  return { status: 'ok', required, loaded: loadedVersion };
85
89
  if (loadedVersion > required) {
86
- // The SAFE direction, admitted only on the mechanical superset proof (see the module header):
87
- // every member this older build requires still exists, so the base is used normally — the newer
88
- // generation's OWN members simply go unused by this build.
90
+ // The SAFE direction, admitted only on the mechanical proof (see the module header): every member
91
+ // this older build requires still exists, so the base is used normally — the newer generation's
92
+ // OWN members simply go unused by this build. The sentence below deliberately does NOT say
93
+ // "generations are pure additions": that was never true in general (v3 PRUNED 18 members), and a
94
+ // maintainer reading it that way could treat a pruning generation as admissible. What is true —
95
+ // and what the proof establishes per generation — is the weaker, checkable claim: the members
96
+ // THIS build requires were not taken away.
89
97
  return {
90
98
  status: 'ok',
91
99
  required,
92
100
  loaded: loadedVersion,
93
- warning: `the loaded base reports interface generation ${String(loadedVersion)}, newer than the ${String(required)} this build was written for (host base is newer); WARNING — generations are pure additions, so every member this build requires is present and the base is judged usable`,
101
+ warning: `the loaded base reports interface generation ${String(loadedVersion)}, newer than the ${String(required)} this build was written for (host base is newer); WARNING — the newer generation keeps every member this build requires (that is the proof it is admitted on: an additive superset, or a pruning whose shed names are frozen and have zero consumers), so the base is judged usable`,
94
102
  };
95
103
  }
96
104
  return {
@@ -7,8 +7,8 @@
7
7
  * - the framework's own seams (fs, locks, archives, layout, lint, semver …), and
8
8
  * - the **composition pieces** of the pieces `.` does export: the individual probes and evidence
9
9
  * helpers `compat.gatherEvidence` is built from, the provisioner's policy helpers and constants,
10
- * the npm-package provider, and the Typert symbol kit whose symbols/wire helpers the two plugins
11
- * keep as LOCAL mirrors by design (they are assembled at module load, before any base can be
10
+ * the npm-package provider, and the Typert symbol kit whose symbols/wire helpers every plugin
11
+ * keeps as a LOCAL mirror by design (they are assembled at module load, before any base can be
12
12
  * imported).
13
13
  *
14
14
  * Generation v3 moved exactly those zero-consumer names here (INTERFACE.md §9). `./internal` is NOT
package/dist/internal.js CHANGED
@@ -7,8 +7,8 @@
7
7
  * - the framework's own seams (fs, locks, archives, layout, lint, semver …), and
8
8
  * - the **composition pieces** of the pieces `.` does export: the individual probes and evidence
9
9
  * helpers `compat.gatherEvidence` is built from, the provisioner's policy helpers and constants,
10
- * the npm-package provider, and the Typert symbol kit whose symbols/wire helpers the two plugins
11
- * keep as LOCAL mirrors by design (they are assembled at module load, before any base can be
10
+ * the npm-package provider, and the Typert symbol kit whose symbols/wire helpers every plugin
11
+ * keeps as a LOCAL mirror by design (they are assembled at module load, before any base can be
12
12
  * imported).
13
13
  *
14
14
  * Generation v3 moved exactly those zero-consumer names here (INTERFACE.md §9). `./internal` is NOT
@@ -32,7 +32,7 @@ export { candidateUrls, downloadBytes, fetchImplOf, platformKey, readCapped, rea
32
32
  export { CONTROL_DIR, assertSafeRelativePath, assertSafeRelativeRoot, controlRoot, declaredPath, layoutPath, lockPath, quarantineRoot, stagingDir, statusLockPath, statusPath, tempRoot, versionSegment, } from './layout.js';
33
33
  export { BOOTSTRAP_SUBPATH, FRAMEWORK_INLINING_BEACONS, FRAMEWORK_PACKAGE, MIN_INLINING_BEACONS, findFrameworkImports, findInliningBeacons, isBootstrapSpecifier, } from './artifact.js';
34
34
  // ── generation v3: the names `.` shed ────────────────────────────────────────────────────────────
35
- // Each of these has zero consumers across the two plugin trees' non-test source and scripts
35
+ // Each of these has zero consumers across every discovered plugin tree's non-test source and scripts
36
36
  // (`test/public-surface.spec.ts` re-proves that mechanically). They are composition pieces of the
37
37
  // members `.` still exports, or kit mirrors the plugins keep locally on purpose — never a plugin's
38
38
  // entry point. Their canonical home is here; INTERFACE.md §9 records why each one moved.
@@ -9,7 +9,7 @@
9
9
  * of switches would be worse than the duplication it removes.
10
10
  *
11
11
  * The type-symbol convention is `<package>#<namespace>/<method>:<field>`; the probe, the runtime
12
- * registry and the report all key off it, so it must not drift between the two plugins.
12
+ * registry and the report all key off it, so it must not drift between plugin trees.
13
13
  *
14
14
  * @module @avantf/dsh-plugin-base/kit/typert
15
15
  */
package/dist/preset.d.ts CHANGED
@@ -10,7 +10,7 @@ export interface EnvinitPresetOptions {
10
10
  readonly cwd?: string;
11
11
  /** Extra module names that must stay external (the plugin's own whitelist). */
12
12
  readonly external?: readonly string[];
13
- /** The declared framework range; when given it must equal `peerDependencies`. */
13
+ /** The declared framework range; when given it must equal `dependencies`. */
14
14
  readonly range?: string;
15
15
  /** Assert against this framework copy instead of resolving one from `cwd`. */
16
16
  readonly frameworkDir?: string;
@@ -20,7 +20,7 @@ export interface EnvinitPreset {
20
20
  readonly frameworkDir: string;
21
21
  /** The framework package version found there. */
22
22
  readonly frameworkVersion: string;
23
- /** The plugin's declared range (`peerDependencies`). */
23
+ /** The plugin's declared range (`dependencies`). */
24
24
  readonly declaredRange: string;
25
25
  /** Names the bundler must keep external. */
26
26
  readonly external: readonly string[];
@@ -1 +1 @@
1
- {"version":3,"file":"preset.d.ts","sourceRoot":"","sources":["../src/preset.ts"],"names":[],"mappings":"AAkBA,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;AAExD,uEAAuE;AACvE,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAA;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,yDAAyD;IACzD,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,+EAA+E;IAC/E,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACrC,iFAAiF;IACjF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,8EAA8E;IAC9E,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAC/B;AAED,MAAM,WAAW,aAAa;IAC5B,qDAAqD;IACrD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,iDAAiD;IACjD,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;IACjC,wDAAwD;IACxD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,4CAA4C;IAC5C,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;IACpC,qCAAqC;IACrC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAA;IACtC,QAAQ,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAA;IACvC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAA;CACrB;AAqED,qDAAqD;AACrD,wBAAgB,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,aAAa,CAoH/E;AAED,+EAA+E;AAC/E,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAE/D;AAED,MAAM,WAAW,qBAAqB;IACpC,kFAAkF;IAClF,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACtC,wEAAwE;IACxE,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAC7C;AAED,gHAAgH;AAChH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,qBAAqB,GAAG,SAAS,WAAW,EAAE,CAqD7F;AAED,wDAAwD;AACxD,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,GAAG,IAAI,CAI9E"}
1
+ {"version":3,"file":"preset.d.ts","sourceRoot":"","sources":["../src/preset.ts"],"names":[],"mappings":"AAkBA,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;AAExD,uEAAuE;AACvE,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAA;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,yDAAyD;IACzD,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,+EAA+E;IAC/E,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACrC,6EAA6E;IAC7E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,8EAA8E;IAC9E,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAC/B;AAED,MAAM,WAAW,aAAa;IAC5B,qDAAqD;IACrD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,iDAAiD;IACjD,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;IACjC,oDAAoD;IACpD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,4CAA4C;IAC5C,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;IACpC,qCAAqC;IACrC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAA;IACtC,QAAQ,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAA;IACvC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAA;CACrB;AAqED,qDAAqD;AACrD,wBAAgB,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,aAAa,CA0H/E;AAED,+EAA+E;AAC/E,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAE/D;AAED,MAAM,WAAW,qBAAqB;IACpC,kFAAkF;IAClF,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACtC,wEAAwE;IACxE,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAC7C;AAED,gHAAgH;AAChH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,qBAAqB,GAAG,SAAS,WAAW,EAAE,CAqD7F;AAED,wDAAwD;AACxD,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,GAAG,IAAI,CAI9E"}
package/dist/preset.js CHANGED
@@ -116,34 +116,40 @@ export function envinitPreset(options = {}) {
116
116
  out.fail('preset/framework-self-contained', `框架包必须自包含:dependencies 必须为空(现有 ${String(runtimeDeps)} 条);peerDependencies 只允许 zod(现有多余 ${unexpectedPeers.join(', ') || '(无)'})`);
117
117
  }
118
118
  // ── declared range ─────────────────────────────────────────────────────────
119
+ // The base is an ORDINARY dependency of a plugin, not a peer: the host provides only the DSH
120
+ // packages, and a dsh profile is written with `autoInstallPeers: false`, so a peer would simply
121
+ // never be installed. Installing the plugin must therefore bring the base along — the install-time
122
+ // range lives in `dependencies` (root `AGENTS.md` 「发布面」, `scripts/release-check.mjs`). The
123
+ // `devDependencies` entry carries the SAME range so the repo's own `pnpm install` links the
124
+ // workspace `base/`; the two must stay literally identical or pnpm can resolve a second copy.
119
125
  const pluginPkg = readJson(join(cwd, 'package.json'));
120
126
  if (pluginPkg === undefined) {
121
- out.fail('preset/peer-range-declared', `${join(cwd, 'package.json')} 不可读`);
127
+ out.fail('preset/dependency-range-declared', `${join(cwd, 'package.json')} 不可读`);
122
128
  return { frameworkDir, frameworkVersion, declaredRange: '', external, noExternal, checks: out.checks, ok: false };
123
129
  }
124
- const peer = pluginPkg['peerDependencies'];
125
- const declaredRange = typeof peer === 'object' && peer !== null ? str(peer[FRAMEWORK_PACKAGE]) : undefined;
130
+ const deps = pluginPkg['dependencies'];
131
+ const declaredRange = typeof deps === 'object' && deps !== null ? str(deps[FRAMEWORK_PACKAGE]) : undefined;
126
132
  if (declaredRange === undefined) {
127
- out.fail('preset/peer-range-declared', `插件必须在 peerDependencies 声明 ${FRAMEWORK_PACKAGE} 的区间`);
133
+ out.fail('preset/dependency-range-declared', `插件必须在 dependencies 声明 ${FRAMEWORK_PACKAGE} 的区间`);
128
134
  return { frameworkDir, frameworkVersion, declaredRange: '', external, noExternal, checks: out.checks, ok: false };
129
135
  }
130
136
  try {
131
137
  assertRange(declaredRange);
132
- out.pass('preset/peer-range-declared', `peerDependencies["${FRAMEWORK_PACKAGE}"] = ${declaredRange}`);
138
+ out.pass('preset/dependency-range-declared', `dependencies["${FRAMEWORK_PACKAGE}"] = ${declaredRange}`);
133
139
  }
134
140
  catch (error) {
135
- out.fail('preset/peer-range-declared', `区间不在支持的 semver 子集内:${declaredRange}(${error instanceof Error ? error.message : String(error)})`);
141
+ out.fail('preset/dependency-range-declared', `区间不在支持的 semver 子集内:${declaredRange}(${error instanceof Error ? error.message : String(error)})`);
136
142
  }
137
143
  const dev = pluginPkg['devDependencies'];
138
144
  const devRange = typeof dev === 'object' && dev !== null ? str(dev[FRAMEWORK_PACKAGE]) : undefined;
139
145
  const rangeProblems = [];
140
146
  if (devRange !== declaredRange)
141
- rangeProblems.push(`devDependencies 是 ${devRange ?? '(缺失)'},应与 peerDependencies 同区间`);
147
+ rangeProblems.push(`devDependencies 是 ${devRange ?? '(缺失)'},应与 dependencies 同区间`);
142
148
  if (options.range !== undefined && options.range !== declaredRange) {
143
- rangeProblems.push(`传入的 range 是 ${options.range},应等于 peerDependencies`);
149
+ rangeProblems.push(`传入的 range 是 ${options.range},应等于 dependencies`);
144
150
  }
145
151
  if (rangeProblems.length === 0) {
146
- out.pass('preset/range-single-source', `peerDependencies ≡ devDependencies = ${declaredRange}`);
152
+ out.pass('preset/range-single-source', `dependencies ≡ devDependencies = ${declaredRange}`);
147
153
  }
148
154
  else {
149
155
  out.fail('preset/range-single-source', rangeProblems.join(';'));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@avantf/dsh-plugin-base",
3
- "version": "0.4.2",
3
+ "version": "0.5.1",
4
4
  "description": "The @avantf family base for DSH plugins: startup environment initialisation (declare → probe → fetch → verify → report) plus the host compatibility gate (provision / verdictOf / probes / report / post-registration verification). One package, loaded by the plugins through the inlined bootstrap.",
5
5
  "keywords": [
6
6
  "dsh",