@ontrails/trails 1.0.0-beta.14 → 1.0.0-beta.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/.turbo/turbo-lint.log +1 -1
  2. package/CHANGELOG.md +13 -0
  3. package/__tests__/examples.test.ts +29 -4
  4. package/dist/src/app.js +2 -2
  5. package/dist/src/app.js.map +1 -1
  6. package/dist/src/clack.d.ts +1 -1
  7. package/dist/src/clack.js +1 -1
  8. package/dist/src/cli.js +4 -3
  9. package/dist/src/cli.js.map +1 -1
  10. package/dist/src/trails/add-surface.d.ts +3 -3
  11. package/dist/src/trails/add-surface.d.ts.map +1 -1
  12. package/dist/src/trails/add-surface.js +46 -24
  13. package/dist/src/trails/add-surface.js.map +1 -1
  14. package/dist/src/trails/add-trail.d.ts +3 -1
  15. package/dist/src/trails/add-trail.d.ts.map +1 -1
  16. package/dist/src/trails/add-trail.js +38 -11
  17. package/dist/src/trails/add-trail.js.map +1 -1
  18. package/dist/src/trails/add-trailhead.d.ts +1 -1
  19. package/dist/src/trails/add-trailhead.d.ts.map +1 -1
  20. package/dist/src/trails/add-trailhead.js +4 -4
  21. package/dist/src/trails/add-verify.d.ts +1 -1
  22. package/dist/src/trails/add-verify.d.ts.map +1 -1
  23. package/dist/src/trails/add-verify.js +7 -6
  24. package/dist/src/trails/add-verify.js.map +1 -1
  25. package/dist/src/trails/create-scaffold.d.ts +1 -1
  26. package/dist/src/trails/create-scaffold.d.ts.map +1 -1
  27. package/dist/src/trails/create-scaffold.js +10 -3
  28. package/dist/src/trails/create-scaffold.js.map +1 -1
  29. package/dist/src/trails/create.d.ts +10 -14
  30. package/dist/src/trails/create.d.ts.map +1 -1
  31. package/dist/src/trails/create.js +42 -37
  32. package/dist/src/trails/create.js.map +1 -1
  33. package/dist/src/trails/dev-clean.d.ts +4 -4
  34. package/dist/src/trails/dev-clean.d.ts.map +1 -1
  35. package/dist/src/trails/dev-clean.js +22 -21
  36. package/dist/src/trails/dev-clean.js.map +1 -1
  37. package/dist/src/trails/dev-reset.d.ts +1 -1
  38. package/dist/src/trails/dev-reset.d.ts.map +1 -1
  39. package/dist/src/trails/dev-reset.js +3 -2
  40. package/dist/src/trails/dev-reset.js.map +1 -1
  41. package/dist/src/trails/dev-stats.d.ts +4 -4
  42. package/dist/src/trails/dev-stats.d.ts.map +1 -1
  43. package/dist/src/trails/dev-stats.js +19 -19
  44. package/dist/src/trails/dev-stats.js.map +1 -1
  45. package/dist/src/trails/dev-support.d.ts +17 -17
  46. package/dist/src/trails/dev-support.d.ts.map +1 -1
  47. package/dist/src/trails/dev-support.js +60 -57
  48. package/dist/src/trails/dev-support.js.map +1 -1
  49. package/dist/src/trails/draft-promote.d.ts +1 -1
  50. package/dist/src/trails/draft-promote.d.ts.map +1 -1
  51. package/dist/src/trails/draft-promote.js +30 -16
  52. package/dist/src/trails/draft-promote.js.map +1 -1
  53. package/dist/src/trails/guide.d.ts +2 -2
  54. package/dist/src/trails/guide.d.ts.map +1 -1
  55. package/dist/src/trails/guide.js +1 -4
  56. package/dist/src/trails/guide.js.map +1 -1
  57. package/dist/src/trails/load-app.d.ts +7 -1
  58. package/dist/src/trails/load-app.d.ts.map +1 -1
  59. package/dist/src/trails/load-app.js +374 -26
  60. package/dist/src/trails/load-app.js.map +1 -1
  61. package/dist/src/trails/survey.d.ts +5 -5
  62. package/dist/src/trails/survey.d.ts.map +1 -1
  63. package/dist/src/trails/survey.js +51 -29
  64. package/dist/src/trails/survey.js.map +1 -1
  65. package/dist/src/trails/topo-export.d.ts +5 -4
  66. package/dist/src/trails/topo-export.d.ts.map +1 -1
  67. package/dist/src/trails/topo-export.js +4 -7
  68. package/dist/src/trails/topo-export.js.map +1 -1
  69. package/dist/src/trails/topo-history.d.ts +6 -10
  70. package/dist/src/trails/topo-history.d.ts.map +1 -1
  71. package/dist/src/trails/topo-history.js +7 -8
  72. package/dist/src/trails/topo-history.js.map +1 -1
  73. package/dist/src/trails/topo-pin.d.ts +5 -9
  74. package/dist/src/trails/topo-pin.d.ts.map +1 -1
  75. package/dist/src/trails/topo-pin.js +5 -9
  76. package/dist/src/trails/topo-pin.js.map +1 -1
  77. package/dist/src/trails/topo-read-support.d.ts +12 -8
  78. package/dist/src/trails/topo-read-support.d.ts.map +1 -1
  79. package/dist/src/trails/topo-read-support.js +71 -82
  80. package/dist/src/trails/topo-read-support.js.map +1 -1
  81. package/dist/src/trails/topo-reports.d.ts +15 -11
  82. package/dist/src/trails/topo-reports.d.ts.map +1 -1
  83. package/dist/src/trails/topo-reports.js +40 -34
  84. package/dist/src/trails/topo-reports.js.map +1 -1
  85. package/dist/src/trails/topo-show.d.ts +4 -4
  86. package/dist/src/trails/topo-show.d.ts.map +1 -1
  87. package/dist/src/trails/topo-show.js +8 -12
  88. package/dist/src/trails/topo-show.js.map +1 -1
  89. package/dist/src/trails/topo-store-support.d.ts +2 -2
  90. package/dist/src/trails/topo-store-support.d.ts.map +1 -1
  91. package/dist/src/trails/topo-store-support.js +22 -22
  92. package/dist/src/trails/topo-store-support.js.map +1 -1
  93. package/dist/src/trails/topo-support.d.ts +19 -30
  94. package/dist/src/trails/topo-support.d.ts.map +1 -1
  95. package/dist/src/trails/topo-support.js +63 -96
  96. package/dist/src/trails/topo-support.js.map +1 -1
  97. package/dist/src/trails/topo-unpin.d.ts +9 -4
  98. package/dist/src/trails/topo-unpin.d.ts.map +1 -1
  99. package/dist/src/trails/topo-unpin.js +9 -4
  100. package/dist/src/trails/topo-unpin.js.map +1 -1
  101. package/dist/src/trails/topo-verify.d.ts +2 -2
  102. package/dist/src/trails/topo-verify.d.ts.map +1 -1
  103. package/dist/src/trails/topo-verify.js +1 -5
  104. package/dist/src/trails/topo-verify.js.map +1 -1
  105. package/dist/src/trails/topo.d.ts +2 -2
  106. package/dist/src/trails/topo.d.ts.map +1 -1
  107. package/dist/src/trails/topo.js +6 -10
  108. package/dist/src/trails/topo.js.map +1 -1
  109. package/dist/src/trails/warden.d.ts +3 -2
  110. package/dist/src/trails/warden.d.ts.map +1 -1
  111. package/dist/src/trails/warden.js +11 -2
  112. package/dist/src/trails/warden.js.map +1 -1
  113. package/dist/src/versions.d.ts +12 -0
  114. package/dist/src/versions.d.ts.map +1 -0
  115. package/dist/src/versions.js +23 -0
  116. package/dist/src/versions.js.map +1 -0
  117. package/dist/tsconfig.tsbuildinfo +1 -1
  118. package/package.json +8 -8
  119. package/src/__tests__/add-trail.test.ts +97 -0
  120. package/src/__tests__/create.test.ts +91 -27
  121. package/src/__tests__/guide.test.ts +10 -5
  122. package/src/__tests__/load-app.test.ts +365 -4
  123. package/src/__tests__/survey.test.ts +143 -67
  124. package/src/__tests__/topo-dev.test.ts +48 -46
  125. package/src/app.ts +2 -2
  126. package/src/clack.ts +1 -1
  127. package/src/cli.ts +4 -3
  128. package/src/trails/add-surface.ts +150 -0
  129. package/src/trails/add-trail.ts +46 -10
  130. package/src/trails/add-verify.ts +11 -6
  131. package/src/trails/create-scaffold.ts +16 -3
  132. package/src/trails/create.ts +76 -71
  133. package/src/trails/dev-clean.ts +25 -21
  134. package/src/trails/dev-reset.ts +3 -2
  135. package/src/trails/dev-stats.ts +22 -19
  136. package/src/trails/dev-support.ts +88 -86
  137. package/src/trails/draft-promote.ts +70 -35
  138. package/src/trails/guide.ts +1 -4
  139. package/src/trails/load-app.ts +511 -32
  140. package/src/trails/survey.ts +60 -35
  141. package/src/trails/topo-export.ts +5 -9
  142. package/src/trails/topo-history.ts +8 -10
  143. package/src/trails/topo-pin.ts +9 -13
  144. package/src/trails/topo-read-support.ts +103 -106
  145. package/src/trails/topo-reports.ts +54 -47
  146. package/src/trails/topo-show.ts +8 -12
  147. package/src/trails/topo-store-support.ts +36 -28
  148. package/src/trails/topo-support.ts +90 -134
  149. package/src/trails/topo-unpin.ts +11 -6
  150. package/src/trails/topo-verify.ts +1 -5
  151. package/src/trails/topo.ts +6 -10
  152. package/src/trails/warden.ts +12 -3
  153. package/src/versions.ts +43 -0
  154. package/tsconfig.tests.json +10 -0
  155. package/src/trails/add-trailhead.ts +0 -121
@@ -1,49 +1,47 @@
1
1
  /**
2
2
  * Read-only topo store consumer helpers.
3
3
  *
4
- * Extracted from topo-support.ts so this branch (trl-132) owns its own file,
5
- * keeping absorb routing clean across the stack.
4
+ * Extracted from topo-support.ts to isolate read-only store consumer helpers,
5
+ * keeping module boundaries clean.
6
6
  */
7
7
  import { existsSync } from 'node:fs';
8
8
  import { join } from 'node:path';
9
- import { ConflictError, createTopoStore, InternalError, NotFoundError, Result, } from '@ontrails/core';
10
- import { listTopoSaves } from '@ontrails/core/internal/topo-saves';
11
- import { openReadTrailsDb, resolveTrailsDbPath, resolveTrailsDir, } from '@ontrails/core/internal/trails-db';
12
- import { readTrailheadLockData } from '@ontrails/schema';
9
+ import { ConflictError, createTopoStore, InternalError, listTopoSnapshots, NotFoundError, Result, } from '@ontrails/core';
10
+ import { deriveTrailsDbPath, deriveTrailsDir, } from '@ontrails/core/internal/trails-db';
11
+ import { readSurfaceLockData } from '@ontrails/schema';
13
12
  import { REPORT_CONTRACT_VERSION, REPORT_VERSION } from './topo-constants.js';
14
- import { createCurrentTopoSave, LOCK_PATH, resolveRootDir, } from './topo-support.js';
13
+ import { createCurrentTopoSnapshot, deriveRootDir, LOCK_PATH, } from './topo-support.js';
15
14
  // ---------------------------------------------------------------------------
16
15
  // Store helpers
17
16
  // ---------------------------------------------------------------------------
18
- const topoStoreRef = (saveId) => ({ saveId });
19
- const hasCommittedLock = (trailsDir) => existsSync(join(trailsDir, 'trails.lock')) ||
20
- existsSync(join(trailsDir, 'trailhead.lock'));
21
- const readTrailheadEntries = (trailheadMapJson) => JSON.parse(trailheadMapJson).entries;
22
- const buildBriefReportFromStore = (app, store, ref, save) => {
23
- const trails = store.trails.list({ save: ref });
17
+ const topoStoreRef = (snapshotId) => ({ snapshotId });
18
+ const hasCommittedLock = (trailsDir) => existsSync(join(trailsDir, 'trails.lock'));
19
+ const readSurfaceEntries = (surfaceMapJson) => JSON.parse(surfaceMapJson).entries;
20
+ const buildBriefReportFromStore = (app, store, ref, snapshot) => {
21
+ const trails = store.trails.list({ snapshot: ref });
24
22
  const exportRecord = store.exports.get(ref);
25
23
  const trailEntries = exportRecord === undefined
26
24
  ? []
27
- : readTrailheadEntries(exportRecord.trailheadMapJson).filter((entry) => entry.kind === 'trail');
25
+ : readSurfaceEntries(exportRecord.surfaceMapJson).filter((entry) => entry.kind === 'trail');
28
26
  return {
29
27
  contractVersion: REPORT_CONTRACT_VERSION,
30
28
  features: {
31
- detours: trailEntries.some((entry) => (Object.keys(entry.detours ?? {}).length ?? 0) > 0),
29
+ detours: trailEntries.some((entry) => (entry.detours ?? []).length > 0),
32
30
  examples: trails.some((trail) => trail.hasExamples),
33
31
  outputSchemas: trails.some((trail) => trail.hasOutput),
34
- provisions: save.provisionCount > 0,
35
- signals: save.signalCount > 0,
32
+ resources: snapshot.resourceCount > 0,
33
+ signals: snapshot.signalCount > 0,
36
34
  },
37
35
  name: app.name,
38
- provisions: save.provisionCount,
39
- signals: save.signalCount,
40
- trails: save.trailCount,
36
+ resources: snapshot.resourceCount,
37
+ signals: snapshot.signalCount,
38
+ trails: snapshot.trailCount,
41
39
  version: REPORT_VERSION,
42
40
  };
43
41
  };
44
42
  const buildSurveyListFromStore = (store, ref) => {
45
- const trails = store.trails.list({ save: ref });
46
- const provisions = store.provisions.list({ save: ref });
43
+ const trails = store.trails.list({ snapshot: ref });
44
+ const resources = store.resources.list({ snapshot: ref });
47
45
  return {
48
46
  count: trails.length,
49
47
  entries: trails.map((trail) => ({
@@ -52,35 +50,36 @@ const buildSurveyListFromStore = (store, ref) => {
52
50
  kind: trail.kind,
53
51
  safety: trail.safety,
54
52
  })),
55
- provisionCount: provisions.length,
56
- provisions: provisions.map((provision) => ({
57
- description: provision.description,
58
- health: provision.health,
59
- id: provision.id,
60
- kind: provision.kind,
61
- lifetime: provision.lifetime,
62
- usedBy: provision.usedBy,
53
+ resourceCount: resources.length,
54
+ resources: resources.map((resource) => ({
55
+ description: resource.description,
56
+ health: resource.health,
57
+ id: resource.id,
58
+ kind: resource.kind,
59
+ lifetime: resource.lifetime,
60
+ usedBy: resource.usedBy,
63
61
  })),
64
62
  };
65
63
  };
66
64
  const buildTrailDetailFromStore = (detail) => ({
67
- crosses: [...(detail?.crosses ?? [])],
68
- description: detail?.description ?? null,
69
- detours: detail?.detours ?? null,
70
- examples: [...(detail?.examples ?? [])],
71
- id: detail?.id ?? '',
72
- intent: detail?.intent ?? 'write',
73
- kind: detail?.kind ?? 'trail',
74
- provisions: [...(detail?.provisions ?? [])],
75
- safety: detail?.safety ?? '-',
65
+ crosses: [...detail.crosses],
66
+ description: detail.description,
67
+ detours: detail.detours,
68
+ examples: [...detail.examples],
69
+ id: detail.id,
70
+ intent: detail.intent,
71
+ kind: detail.kind,
72
+ pattern: detail.pattern,
73
+ resources: [...detail.resources],
74
+ safety: detail.safety,
76
75
  });
77
- const buildProvisionDetailFromStore = (provision) => ({
78
- description: provision.description,
79
- health: provision.health,
80
- id: provision.id,
81
- kind: provision.kind,
82
- lifetime: provision.lifetime,
83
- usedBy: [...provision.usedBy],
76
+ const buildResourceDetailFromStore = (resource) => ({
77
+ description: resource.description,
78
+ health: resource.health,
79
+ id: resource.id,
80
+ kind: resource.kind,
81
+ lifetime: resource.lifetime,
82
+ usedBy: [...resource.usedBy],
84
83
  });
85
84
  // ---------------------------------------------------------------------------
86
85
  // withCurrentTopoStore
@@ -88,52 +87,42 @@ const buildProvisionDetailFromStore = (provision) => ({
88
87
  /**
89
88
  * Run a read callback against the latest topo store state.
90
89
  *
91
- * Uses the most recent existing save when available, only creating a new save
92
- * when no prior save exists. This avoids unbounded save accumulation from
90
+ * Uses the most recent existing snapshot when available, only creating a new
91
+ * snapshot when no prior snapshot exists. This avoids unbounded snapshot
92
+ * accumulation from
93
93
  * read-only operations like survey, guide, and show.
94
94
  */
95
95
  const withCurrentTopoStore = (app, rootDir, read) => {
96
- const dbPath = resolveTrailsDbPath({ rootDir });
97
- const existingSave = existsSync(dbPath)
98
- ? (() => {
99
- const db = openReadTrailsDb({ rootDir });
100
- try {
101
- return listTopoSaves(db)[0];
102
- }
103
- finally {
104
- db.close();
105
- }
106
- })()
107
- : undefined;
108
- const save = existingSave ?? createCurrentTopoSave(app, { rootDir });
96
+ const [existingSnapshot] = listTopoSnapshots({ limit: 1, rootDir });
97
+ const snapshot = existingSnapshot ?? createCurrentTopoSnapshot(app, { rootDir });
109
98
  const store = createTopoStore({ rootDir });
110
- return read(store, topoStoreRef(save.id), save);
99
+ return read(store, topoStoreRef(snapshot.id), snapshot);
111
100
  };
112
101
  // ---------------------------------------------------------------------------
113
102
  // Public read-only consumers
114
103
  // ---------------------------------------------------------------------------
115
104
  export const buildTopoSummary = (app, options) => {
116
- const rootDir = resolveRootDir(options?.rootDir);
117
- const trailsDir = resolveTrailsDir({ rootDir });
118
- return withCurrentTopoStore(app, rootDir, (store, ref, save) => ({
119
- app: buildBriefReportFromStore(app, store, ref, save),
120
- dbPath: resolveTrailsDbPath({ rootDir }),
105
+ const rootDir = deriveRootDir(options?.rootDir);
106
+ const trailsDir = deriveTrailsDir({ rootDir });
107
+ return withCurrentTopoStore(app, rootDir, (store, ref, snapshot) => ({
108
+ app: buildBriefReportFromStore(app, store, ref, snapshot),
109
+ dbPath: deriveTrailsDbPath({ rootDir }),
121
110
  list: buildSurveyListFromStore(store, ref),
122
111
  lockExists: hasCommittedLock(trailsDir),
123
112
  lockPath: LOCK_PATH,
124
113
  }));
125
114
  };
126
115
  export const buildCurrentTopoBrief = (app, options) => {
127
- const rootDir = resolveRootDir(options?.rootDir);
128
- return withCurrentTopoStore(app, rootDir, (store, ref, save) => buildBriefReportFromStore(app, store, ref, save));
116
+ const rootDir = deriveRootDir(options?.rootDir);
117
+ return withCurrentTopoStore(app, rootDir, (store, ref, snapshot) => buildBriefReportFromStore(app, store, ref, snapshot));
129
118
  };
130
119
  export const buildCurrentTopoList = (app, options) => {
131
- const rootDir = resolveRootDir(options?.rootDir);
120
+ const rootDir = deriveRootDir(options?.rootDir);
132
121
  return withCurrentTopoStore(app, rootDir, (store, ref) => buildSurveyListFromStore(store, ref));
133
122
  };
134
123
  export const buildCurrentGuideEntries = (app, options) => {
135
- const rootDir = resolveRootDir(options?.rootDir);
136
- return withCurrentTopoStore(app, rootDir, (store, ref) => store.trails.list({ save: ref }).map((trail) => ({
124
+ const rootDir = deriveRootDir(options?.rootDir);
125
+ return withCurrentTopoStore(app, rootDir, (store, ref) => store.trails.list({ snapshot: ref }).map((trail) => ({
137
126
  description: trail.description ?? '(no description)',
138
127
  exampleCount: trail.exampleCount,
139
128
  id: trail.id,
@@ -141,29 +130,29 @@ export const buildCurrentGuideEntries = (app, options) => {
141
130
  })));
142
131
  };
143
132
  export const buildCurrentTopoDetail = (app, id, options) => {
144
- const rootDir = resolveRootDir(options?.rootDir);
133
+ const rootDir = deriveRootDir(options?.rootDir);
145
134
  return withCurrentTopoStore(app, rootDir, (store, ref) => {
146
- const trail = store.trails.get(id, { save: ref });
135
+ const trail = store.trails.get(id, { snapshot: ref });
147
136
  if (trail !== undefined) {
148
137
  return buildTrailDetailFromStore(trail);
149
138
  }
150
- const provision = store.provisions.get(id, { save: ref });
151
- return provision === undefined
139
+ const resource = store.resources.get(id, { snapshot: ref });
140
+ return resource === undefined
152
141
  ? undefined
153
- : buildProvisionDetailFromStore(provision);
142
+ : buildResourceDetailFromStore(resource);
154
143
  });
155
144
  };
156
145
  export const verifyCurrentTopo = async (app, options) => {
157
- const rootDir = resolveRootDir(options?.rootDir);
158
- const committedLock = await readTrailheadLockData({
159
- dir: resolveTrailsDir({ rootDir }),
146
+ const rootDir = deriveRootDir(options?.rootDir);
147
+ const committedLock = await readSurfaceLockData({
148
+ dir: deriveTrailsDir({ rootDir }),
160
149
  });
161
150
  if (committedLock === null) {
162
151
  return Result.err(new NotFoundError('No committed trails.lock found. Run `trails topo export` first.'));
163
152
  }
164
- const currentHash = withCurrentTopoStore(app, rootDir, (store, ref) => store.exports.get(ref)?.trailheadHash);
153
+ const currentHash = withCurrentTopoStore(app, rootDir, (store, ref) => store.exports.get(ref)?.surfaceHash);
165
154
  if (currentHash === undefined) {
166
- return Result.err(new InternalError('No stored topo export found for the current topo save'));
155
+ return Result.err(new InternalError('No stored topo export found for the current topo snapshot'));
167
156
  }
168
157
  if (committedLock.hash !== currentHash) {
169
158
  return Result.err(new ConflictError('trails.lock is stale. Run `trails topo export` to refresh it.'));
@@ -1 +1 @@
1
- {"version":3,"file":"topo-read-support.js","sourceRoot":"","sources":["../../../src/trails/topo-read-support.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"topo-read-support.js","sourceRoot":"","sources":["../../../src/trails/topo-read-support.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ export interface BriefReport {
4
4
  readonly version: string;
5
5
  readonly contractVersion: string;
6
6
  readonly features: {
7
- readonly provisions: boolean;
7
+ readonly resources: boolean;
8
8
  readonly outputSchemas: boolean;
9
9
  readonly examples: boolean;
10
10
  readonly detours: boolean;
@@ -12,7 +12,7 @@ export interface BriefReport {
12
12
  };
13
13
  readonly trails: number;
14
14
  readonly signals: number;
15
- readonly provisions: number;
15
+ readonly resources: number;
16
16
  }
17
17
  export interface SurveyListReport {
18
18
  readonly count: number;
@@ -22,29 +22,33 @@ export interface SurveyListReport {
22
22
  readonly kind: string;
23
23
  readonly safety: string;
24
24
  }[];
25
- readonly provisionCount: number;
26
- readonly provisions: readonly {
25
+ readonly resourceCount: number;
26
+ readonly resources: readonly {
27
27
  readonly description: string | null;
28
28
  readonly health: 'available' | 'none';
29
29
  readonly id: string;
30
- readonly kind: 'provision';
30
+ readonly kind: 'resource';
31
31
  readonly lifetime: 'singleton';
32
32
  readonly usedBy: readonly string[];
33
33
  }[];
34
34
  }
35
35
  export interface TrailDetailReport {
36
36
  readonly description: string | null;
37
- readonly detours: Trail<unknown, unknown>['detours'] | null;
37
+ readonly detours: readonly {
38
+ readonly on: string;
39
+ readonly maxAttempts: number;
40
+ }[] | null;
38
41
  readonly examples: readonly unknown[];
39
42
  readonly crosses: readonly string[];
40
43
  readonly id: string;
41
44
  readonly intent: 'read' | 'write' | 'destroy';
42
45
  readonly kind: string;
46
+ readonly pattern: string | null;
43
47
  readonly safety: string;
44
- readonly provisions: readonly string[];
48
+ readonly resources: readonly string[];
45
49
  }
46
- export declare const generateBriefReport: (app: Topo) => BriefReport;
47
- export declare const formatProvisionDetail: (app: Topo, provisionId: string) => object;
48
- export declare const generateSurveyList: (app: Topo) => SurveyListReport;
49
- export declare const generateTrailDetail: (item: Trail<unknown, unknown>) => TrailDetailReport;
50
+ export declare const deriveBriefReport: (app: Topo) => BriefReport;
51
+ export declare const deriveResourceDetail: (app: Topo, resourceId: string) => object;
52
+ export declare const deriveSurveyList: (app: Topo) => SurveyListReport;
53
+ export declare const deriveTrailDetail: (item: Trail<unknown, unknown>) => TrailDetailReport;
50
54
  //# sourceMappingURL=topo-reports.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"topo-reports.d.ts","sourceRoot":"","sources":["../../../src/trails/topo-reports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAIlD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;QAC7B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;QAChC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;QAC3B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;QAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;KAC3B,CAAC;IACF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,SAAS;QACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACzB,EAAE,CAAC;IACJ,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,SAAS;QAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QACpC,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAAC;QACtC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;QAC3B,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;QAC/B,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;KACpC,EAAE,CAAC;CACL;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IAC5D,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AAgCD,eAAO,MAAM,mBAAmB,GAAI,KAAK,IAAI,KAAG,WAmB/C,CAAC;AAwCF,eAAO,MAAM,qBAAqB,GAChC,KAAK,IAAI,EACT,aAAa,MAAM,KAClB,MAYF,CAAC;AAiBF,eAAO,MAAM,kBAAkB,GAAI,KAAK,IAAI,KAAG,gBA4B9C,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,MAAM,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,KAC5B,iBAgBF,CAAC"}
1
+ {"version":3,"file":"topo-reports.d.ts","sourceRoot":"","sources":["../../../src/trails/topo-reports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAIlD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;QAC5B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;QAChC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;QAC3B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;QAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;KAC3B,CAAC;IACF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,SAAS;QACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACzB,EAAE,CAAC;IACJ,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,SAAS;QAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QACpC,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAAC;QACtC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;QAC1B,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;QAC/B,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;KACpC,EAAE,CAAC;CACL;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,OAAO,EACZ,SAAS;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,GAChE,IAAI,CAAC;IACT,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC;AAgCD,eAAO,MAAM,iBAAiB,GAAI,KAAK,IAAI,KAAG,WAmB7C,CAAC;AAwCF,eAAO,MAAM,oBAAoB,GAAI,KAAK,IAAI,EAAE,YAAY,MAAM,KAAG,MAYpE,CAAC;AAiBF,eAAO,MAAM,gBAAgB,GAAI,KAAK,IAAI,KAAG,gBA4B5C,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,MAAM,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,KAC5B,iBAuBF,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { REPORT_CONTRACT_VERSION, REPORT_VERSION } from './topo-constants.js';
2
2
  const trailHas = (raw, key) => {
3
- if (key === 'examples') {
3
+ if (key === 'examples' || key === 'detours') {
4
4
  return Array.isArray(raw[key]) && raw[key].length > 0;
5
5
  }
6
6
  return Boolean(raw[key]);
@@ -11,23 +11,23 @@ const detectFeatures = (app) => {
11
11
  hasDetours: trails.some((r) => trailHas(r, 'detours')),
12
12
  hasExamples: trails.some((r) => trailHas(r, 'examples')),
13
13
  hasOutputSchemas: trails.some((r) => trailHas(r, 'output')),
14
- hasProvisions: trails.some((r) => Array.isArray(r['provisions']) &&
15
- r['provisions'].length > 0),
14
+ hasResources: trails.some((r) => Array.isArray(r['resources']) &&
15
+ r['resources'].length > 0),
16
16
  };
17
17
  };
18
- export const generateBriefReport = (app) => {
19
- const { hasDetours, hasExamples, hasOutputSchemas, hasProvisions } = detectFeatures(app);
18
+ export const deriveBriefReport = (app) => {
19
+ const { hasDetours, hasExamples, hasOutputSchemas, hasResources } = detectFeatures(app);
20
20
  return {
21
21
  contractVersion: REPORT_CONTRACT_VERSION,
22
22
  features: {
23
23
  detours: hasDetours,
24
24
  examples: hasExamples,
25
25
  outputSchemas: hasOutputSchemas,
26
- provisions: hasProvisions,
26
+ resources: hasResources,
27
27
  signals: app.signals.size > 0,
28
28
  },
29
29
  name: app.name,
30
- provisions: app.provisions.size,
30
+ resources: app.resources.size,
31
31
  signals: app.signals.size,
32
32
  trails: app.trails.size,
33
33
  version: REPORT_VERSION,
@@ -45,45 +45,45 @@ const safetyLabel = (entry) => {
45
45
  }
46
46
  return '-';
47
47
  };
48
- const buildProvisionUsage = (app) => {
48
+ const buildResourceUsage = (app) => {
49
49
  const usage = new Map();
50
50
  for (const trailDef of app.list()) {
51
- for (const declaredProvision of trailDef.provisions) {
52
- const users = usage.get(declaredProvision.id) ?? [];
51
+ for (const declaredResource of trailDef.resources) {
52
+ const users = usage.get(declaredResource.id) ?? [];
53
53
  users.push(trailDef.id);
54
- usage.set(declaredProvision.id, users);
54
+ usage.set(declaredResource.id, users);
55
55
  }
56
56
  }
57
57
  return new Map([...usage.entries()].map(([id, users]) => [id, users.toSorted()]));
58
58
  };
59
- const provisionHealthStatus = (provision) => provision.health === undefined ? 'none' : 'available';
60
- export const formatProvisionDetail = (app, provisionId) => {
61
- const item = app.getProvision(provisionId);
62
- const usedBy = buildProvisionUsage(app).get(provisionId) ?? [];
59
+ const resourceHealthStatus = (resource) => resource.health === undefined ? 'none' : 'available';
60
+ export const deriveResourceDetail = (app, resourceId) => {
61
+ const item = app.getResource(resourceId);
62
+ const usedBy = buildResourceUsage(app).get(resourceId) ?? [];
63
63
  return {
64
64
  description: item?.description ?? null,
65
- health: item ? provisionHealthStatus(item) : 'none',
66
- id: provisionId,
67
- kind: 'provision',
65
+ health: item ? resourceHealthStatus(item) : 'none',
66
+ id: resourceId,
67
+ kind: 'resource',
68
68
  lifetime: 'singleton',
69
69
  usedBy,
70
70
  };
71
71
  };
72
- const formatProvisionList = (app) => {
73
- const usage = buildProvisionUsage(app);
72
+ const formatResourceList = (app) => {
73
+ const usage = buildResourceUsage(app);
74
74
  return app
75
- .listProvisions()
76
- .map((provision) => ({
77
- description: provision.description ?? null,
78
- health: provisionHealthStatus(provision),
79
- id: provision.id,
80
- kind: provision.kind,
75
+ .listResources()
76
+ .map((resource) => ({
77
+ description: resource.description ?? null,
78
+ health: resourceHealthStatus(resource),
79
+ id: resource.id,
80
+ kind: resource.kind,
81
81
  lifetime: 'singleton',
82
- usedBy: usage.get(provision.id) ?? [],
82
+ usedBy: usage.get(resource.id) ?? [],
83
83
  }))
84
84
  .toSorted((a, b) => a.id.localeCompare(b.id));
85
85
  };
86
- export const generateSurveyList = (app) => {
86
+ export const deriveSurveyList = (app) => {
87
87
  const items = app.list();
88
88
  const entries = items.map((item) => {
89
89
  const safety = safetyLabel(item);
@@ -97,25 +97,31 @@ export const generateSurveyList = (app) => {
97
97
  safety,
98
98
  };
99
99
  });
100
- const provisions = formatProvisionList(app);
100
+ const resources = formatResourceList(app);
101
101
  return {
102
102
  count: items.length,
103
103
  entries,
104
- provisionCount: provisions.length,
105
- provisions,
104
+ resourceCount: resources.length,
105
+ resources,
106
106
  };
107
107
  };
108
- export const generateTrailDetail = (item) => {
108
+ export const deriveTrailDetail = (item) => {
109
109
  const safety = safetyLabel(item);
110
110
  return {
111
111
  crosses: item.crosses.toSorted(),
112
112
  description: item.description ?? null,
113
- detours: item.detours ?? null,
113
+ detours: item.detours.length > 0
114
+ ? item.detours.map((d) => ({
115
+ maxAttempts: d.maxAttempts ?? 1,
116
+ on: d.on.name,
117
+ }))
118
+ : null,
114
119
  examples: item.examples ?? [],
115
120
  id: item.id,
116
121
  intent: item.intent,
117
122
  kind: item.kind,
118
- provisions: item.provisions.map((provision) => provision.id).toSorted(),
123
+ pattern: item.pattern ?? null,
124
+ resources: item.resources.map((resource) => resource.id).toSorted(),
119
125
  safety,
120
126
  };
121
127
  };
@@ -1 +1 @@
1
- {"version":3,"file":"topo-reports.js","sourceRoot":"","sources":["../../../src/trails/topo-reports.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"topo-reports.js","sourceRoot":"","sources":["../../../src/trails/topo-reports.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  export declare const topoShowTrail: import("@ontrails/core").Trail<{
2
2
  id: string;
3
- module: string;
3
+ module?: string | undefined;
4
4
  rootDir?: string | undefined;
5
5
  }, {
6
6
  crosses: string[];
@@ -10,14 +10,14 @@ export declare const topoShowTrail: import("@ontrails/core").Trail<{
10
10
  id: string;
11
11
  intent: "read" | "write" | "destroy";
12
12
  kind: string;
13
- provisions: string[];
13
+ resources: string[];
14
14
  safety: string;
15
15
  } | {
16
16
  description: string | null;
17
17
  health: "available" | "none";
18
18
  id: string;
19
- kind: "provision";
19
+ kind: "resource";
20
20
  lifetime: "singleton";
21
21
  usedBy: string[];
22
- }>;
22
+ }, never>;
23
23
  //# sourceMappingURL=topo-show.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"topo-show.d.ts","sourceRoot":"","sources":["../../../src/trails/topo-show.ts"],"names":[],"mappings":"AA4BA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;EA6BxB,CAAC"}
1
+ {"version":3,"file":"topo-show.d.ts","sourceRoot":"","sources":["../../../src/trails/topo-show.ts"],"names":[],"mappings":"AA2BA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;SA0BxB,CAAC"}
@@ -2,7 +2,6 @@ import { NotFoundError, Result, trail } from '@ontrails/core';
2
2
  import { z } from 'zod';
3
3
  import { loadApp } from './load-app.js';
4
4
  import { buildCurrentTopoDetail } from './topo-read-support.js';
5
- import { DEFAULT_APP_MODULE } from './topo-support.js';
6
5
  const trailDetailOutput = z.object({
7
6
  crosses: z.array(z.string()),
8
7
  description: z.unknown().nullable(),
@@ -11,14 +10,14 @@ const trailDetailOutput = z.object({
11
10
  id: z.string(),
12
11
  intent: z.enum(['read', 'write', 'destroy']),
13
12
  kind: z.string(),
14
- provisions: z.array(z.string()),
13
+ resources: z.array(z.string()),
15
14
  safety: z.string(),
16
15
  });
17
- const provisionDetailOutput = z.object({
16
+ const resourceDetailOutput = z.object({
18
17
  description: z.string().nullable(),
19
18
  health: z.enum(['available', 'none']),
20
19
  id: z.string(),
21
- kind: z.literal('provision'),
20
+ kind: z.literal('resource'),
22
21
  lifetime: z.literal('singleton'),
23
22
  usedBy: z.array(z.string()),
24
23
  });
@@ -30,9 +29,9 @@ export const topoShowTrail = trail('topo.show', {
30
29
  if (detail !== undefined) {
31
30
  return Result.ok(detail);
32
31
  }
33
- return Result.err(new NotFoundError(`Trail or provision not found: ${input.id}`));
32
+ return Result.err(new NotFoundError(`Trail or resource not found: ${input.id}`));
34
33
  },
35
- description: 'Show detail for a current trail or provision',
34
+ description: 'Show detail for a current trail or resource',
36
35
  examples: [
37
36
  {
38
37
  input: { id: 'topo' },
@@ -40,14 +39,11 @@ export const topoShowTrail = trail('topo.show', {
40
39
  },
41
40
  ],
42
41
  input: z.object({
43
- id: z.string().describe('Trail or provision ID to inspect'),
44
- module: z
45
- .string()
46
- .default(DEFAULT_APP_MODULE)
47
- .describe('Path to the app module'),
42
+ id: z.string().describe('Trail or resource ID to inspect'),
43
+ module: z.string().optional().describe('Path to the app module'),
48
44
  rootDir: z.string().optional().describe('Workspace root directory'),
49
45
  }),
50
46
  intent: 'read',
51
- output: z.union([trailDetailOutput, provisionDetailOutput]),
47
+ output: z.union([trailDetailOutput, resourceDetailOutput]),
52
48
  });
53
49
  //# sourceMappingURL=topo-show.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"topo-show.js","sourceRoot":"","sources":["../../../src/trails/topo-show.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"topo-show.js","sourceRoot":"","sources":["../../../src/trails/topo-show.ts"],"names":[],"mappings":"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"}