@volter/twin-standard 1.0.100 → 1.0.102

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.
@@ -18,7 +18,7 @@ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExte
18
18
  // sending each lane's host to it
19
19
  // (package.json, README.md, LICENSE, src/{manifest,fetch,server,cli,
20
20
  // index}.ts, src/semantics/{states,shared,doors}.ts,
21
- // journeys/demand.json): the author fills the manifest's
21
+ // journeys/{demand,first-use}.json): the author fills the manifest's
22
22
  // vendor facts, the descriptor's hosts and the families
23
23
  // bun scripts/create-pack.ts <unit> --index write src/semantics/index.ts, the handler map, and src/fetch.ts from the
24
24
  // families' files (every exported function, by its name)
@@ -371,6 +371,16 @@ export function initFiles(vendor) {
371
371
  'tsconfig.json': TSCONFIG,
372
372
  'README.md': `# @volter/twin-${vendor}\n\nThe ${vendor} twin (Protocol 3). Its surface is derived from the vendor's spec (\`spec/\`, provenance in\n\`spec/SOURCE.md\`); what it serves and why is its manifest and semantics.\n\nRules, layout and tools: twin-world's architecture ("Protocol 3", "The catalog: where twins come from").\n`,
373
373
  'journeys/demand.json': `${JSON.stringify({ measured: 'FILL: when and how the applications were read', applications: [] }, null, 1)}\n`,
374
+ // Deliberately incomplete: the author supplies the SDK entry with the outline, before semantics. Keeping the file
375
+ // present prevents a new vendor from falling back to an older standard fixture; empty commands cannot qualify.
376
+ 'journeys/first-use.json': `${JSON.stringify({
377
+ schemaVersion: 1,
378
+ source: 'FILL: the vendor quickstart and demand-pinned official SDK',
379
+ about: 'FILL: the customer outcome, identity, default SDK calls and stored result',
380
+ files: { 'package.json': '', '.env.example': '' },
381
+ run: [],
382
+ retention: { readback: [] },
383
+ }, null, 2)}\n`,
374
384
  'src/semantics/states.ts': `// ${vendor}'s state machines and state rulings, each transition cited (architecture, "State").\nexport const states = {};\n`,
375
385
  'src/semantics/shared.ts': `// What every family of ${vendor} shares: its stored shapes, who is calling, and the vendor's answers.\nimport type { HandlerContext } from '@volter/world-core';\n\nexport type Row = Record<string, unknown>;\nexport type { HandlerContext };\n`,
376
386
  'src/semantics/doors.ts': `// The World's doors (architecture, "Doors, screens and the gap"): what the vendor's own pages do that its API does\n// not, each declared in the manifest's \`doors\` (its id, method and path under \`/_twin/\`) and answered here by the\n// export its id names, over the contract's context.\nimport type { HandlerContext } from '@volter/world-core';\n\nexport type { HandlerContext };\n`,
@@ -391,6 +401,7 @@ export function laneInitFiles(vendor, lanes) {
391
401
  'package.json': single['package.json'].replace('"spec",', lanes.map((l) => `"${l}",`).join('\n ')),
392
402
  'README.md': `# @volter/twin-${vendor}\n\nThe ${vendor} twin (Protocol 3), one lane per API: ${lanes.map((l) => `\`${l}/\``).join(', ')}, each derived from its own spec\n(\`<lane>/spec/\`, provenance in its SOURCE.md). FILL: what each lane is of.\n`,
393
403
  'journeys/demand.json': single['journeys/demand.json'],
404
+ 'journeys/first-use.json': single['journeys/first-use.json'],
394
405
  'tsconfig.json': TSCONFIG,
395
406
  // the vendor's front, as data: its lanes and how its gateway routes them, its discovery facts, its descriptor. The
396
407
  // kernel serves it (createVendorFetch, from the generated fetch.ts); nothing routes by hand
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@volter/twin-standard",
3
- "version": "1.0.100",
3
+ "version": "1.0.102",
4
4
  "description": "The Protocol 3 standard for Volter twin packs: the criteria a pack is graded by, the grader, the gate a pack repository and the twin catalog run on every change and submission, and the spec derivation the grade checks against. Pin a version: every place a pack is judged judges by that standard.",
5
5
  "keywords": [
6
6
  "twin",
@@ -75,7 +75,7 @@
75
75
  "yaml": "2.9.0"
76
76
  },
77
77
  "peerDependencies": {
78
- "@volter/world-core": "3.0.108",
78
+ "@volter/world-core": "3.0.110",
79
79
  "@volter/world-runtime": "*",
80
80
  "playwright": "^1.63.0"
81
81
  },
@@ -10,7 +10,7 @@
10
10
  // sending each lane's host to it
11
11
  // (package.json, README.md, LICENSE, src/{manifest,fetch,server,cli,
12
12
  // index}.ts, src/semantics/{states,shared,doors}.ts,
13
- // journeys/demand.json): the author fills the manifest's
13
+ // journeys/{demand,first-use}.json): the author fills the manifest's
14
14
  // vendor facts, the descriptor's hosts and the families
15
15
  // bun scripts/create-pack.ts <unit> --index write src/semantics/index.ts, the handler map, and src/fetch.ts from the
16
16
  // families' files (every exported function, by its name)
@@ -362,6 +362,16 @@ export function initFiles(vendor: string): Record<string, string> {
362
362
  'tsconfig.json': TSCONFIG,
363
363
  'README.md': `# @volter/twin-${vendor}\n\nThe ${vendor} twin (Protocol 3). Its surface is derived from the vendor's spec (\`spec/\`, provenance in\n\`spec/SOURCE.md\`); what it serves and why is its manifest and semantics.\n\nRules, layout and tools: twin-world's architecture ("Protocol 3", "The catalog: where twins come from").\n`,
364
364
  'journeys/demand.json': `${JSON.stringify({ measured: 'FILL: when and how the applications were read', applications: [] }, null, 1)}\n`,
365
+ // Deliberately incomplete: the author supplies the SDK entry with the outline, before semantics. Keeping the file
366
+ // present prevents a new vendor from falling back to an older standard fixture; empty commands cannot qualify.
367
+ 'journeys/first-use.json': `${JSON.stringify({
368
+ schemaVersion: 1,
369
+ source: 'FILL: the vendor quickstart and demand-pinned official SDK',
370
+ about: 'FILL: the customer outcome, identity, default SDK calls and stored result',
371
+ files: { 'package.json': '', '.env.example': '' },
372
+ run: [],
373
+ retention: { readback: [] },
374
+ }, null, 2)}\n`,
365
375
  'src/semantics/states.ts': `// ${vendor}'s state machines and state rulings, each transition cited (architecture, "State").\nexport const states = {};\n`,
366
376
  'src/semantics/shared.ts': `// What every family of ${vendor} shares: its stored shapes, who is calling, and the vendor's answers.\nimport type { HandlerContext } from '@volter/world-core';\n\nexport type Row = Record<string, unknown>;\nexport type { HandlerContext };\n`,
367
377
  'src/semantics/doors.ts': `// The World's doors (architecture, "Doors, screens and the gap"): what the vendor's own pages do that its API does\n// not, each declared in the manifest's \`doors\` (its id, method and path under \`/_twin/\`) and answered here by the\n// export its id names, over the contract's context.\nimport type { HandlerContext } from '@volter/world-core';\n\nexport type { HandlerContext };\n`,
@@ -383,6 +393,7 @@ export function laneInitFiles(vendor: string, lanes: string[]): Record<string, s
383
393
  'package.json': single['package.json']!.replace('"spec",', lanes.map((l) => `"${l}",`).join('\n ')),
384
394
  'README.md': `# @volter/twin-${vendor}\n\nThe ${vendor} twin (Protocol 3), one lane per API: ${lanes.map((l) => `\`${l}/\``).join(', ')}, each derived from its own spec\n(\`<lane>/spec/\`, provenance in its SOURCE.md). FILL: what each lane is of.\n`,
385
395
  'journeys/demand.json': single['journeys/demand.json']!,
396
+ 'journeys/first-use.json': single['journeys/first-use.json']!,
386
397
  'tsconfig.json': TSCONFIG,
387
398
  // the vendor's front, as data: its lanes and how its gateway routes them, its discovery facts, its descriptor. The
388
399
  // kernel serves it (createVendorFetch, from the generated fetch.ts); nothing routes by hand