@volter/twin-catalog 0.2.21 → 0.2.23

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@volter/twin-catalog",
3
- "version": "0.2.21",
3
+ "version": "0.2.23",
4
4
  "description": "The moderated twin distribution: approved versions and submission tooling for independent publishers.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -38,7 +38,7 @@
38
38
  "evidence"
39
39
  ],
40
40
  "catalog": {
41
- "sourceCommit": "9ddd392f308b6117596141fe62ff9e593c97b574",
42
- "digest": "6eb6ed3d49a71b4696b3de94ded50876b71e186f6ba5fdf670041364d8a853fe"
41
+ "sourceCommit": "469e90a6e6093cba4bb7d4272efbddddc4f36ddf",
42
+ "digest": "4b2cd196c82d39e60f2e52fc81cd6123570fa615435404f26d96b5a976dd67ac"
43
43
  }
44
44
  }
@@ -35,7 +35,14 @@ for (const group of ['dependencies', 'optionalDependencies', 'peerDependencies',
35
35
  // The standard's client cases and the pack's declared SDK examples need their pinned development clients too.
36
36
  // This installs data only; candidate scripts never execute in the networked preparation phase.
37
37
  const standardManifest = read('/opt/catalog/node_modules/@volter/twin-standard/package.json');
38
- const dependencies = { ...standardManifest.devDependencies, ...pack.devDependencies, ...policy.tools, [s.package]: s.version };
38
+ // Evaluator client cases run against the released standard's clients. The candidate's development manifest
39
+ // supplies additional clients; it cannot replace one used by that evaluator. Retain collisions as conditions,
40
+ // rather than claiming these cases measured the candidate's different SDK range.
41
+ const clientDependencyChoices = Object.entries(pack.devDependencies ?? {}).flatMap(([name, candidate]) => {
42
+ const evaluator = standardManifest.devDependencies?.[name];
43
+ return evaluator && evaluator !== candidate ? [{ name, candidate, evaluator, selected: evaluator }] : [];
44
+ });
45
+ const dependencies = { ...pack.devDependencies, ...standardManifest.devDependencies, ...policy.tools, [s.package]: s.version };
39
46
  requireThat(!Object.hasOwn(policy.tools, s.package), 'submission collides with evaluator tooling');
40
47
  write('/work/package.json', { name: 'catalog-assessment', private: true, dependencies });
41
48
  await installationMetadata(s, policy.registry);
@@ -83,5 +90,5 @@ const packageMetadata = {
83
90
  repositoryDirectory: typeof pack.repository === 'object' ? pack.repository.directory ?? null : null,
84
91
  bugs: typeof pack.bugs === 'string' ? pack.bugs : pack.bugs?.url ?? null,
85
92
  };
86
- write('/work/prepared.json', { schemaVersion: 1, submission: s, integrity: s.integrity, provenance, packageMetadata, dependencyLockSha256: digest(readFileSync('/work/package-lock.json', 'utf8')), clientSdkLocks, tools: policy.tools });
93
+ write('/work/prepared.json', { schemaVersion: 1, submission: s, integrity: s.integrity, provenance, packageMetadata, dependencyLockSha256: digest(readFileSync('/work/package-lock.json', 'utf8')), clientSdkLocks, clientDependencyChoices, tools: policy.tools });
87
94
  write('/work/world.json', { id: 'catalog-assessment', network: { egress: [] }, services: [] });
@@ -0,0 +1,20 @@
1
+ {
2
+ "vendor": "openai",
3
+ "packages": [
4
+ {
5
+ "name": "@volter/twin-openai",
6
+ "source": "twin-packs-open",
7
+ "versions": [
8
+ {
9
+ "version": "3.0.2",
10
+ "status": "live",
11
+ "integrity": "sha512-DbNSre3DPt6mY1VKRX9Tdevl2Gg0l2vi9Jx7FGH23Xl3WEV+tWCyiUMDSDc8uoCBT0p1VUR7xz8svjRDukDORw==",
12
+ "submission": "6f9f4c4659dc8d86e42363050c0ee444e4f1e05409866bf4ee3b54d12a3c2cc2",
13
+ "commit": "2064bfcc2bc3ac5db0cfbb215fd83ff931d9cb10",
14
+ "at": "2026-10-06T23:22:55Z",
15
+ "by": "moderated-merge"
16
+ }
17
+ ]
18
+ }
19
+ ]
20
+ }