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

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 (197) hide show
  1. package/CHANGELOG.md +208 -0
  2. package/README.md +27 -0
  3. package/package.json +19 -8
  4. package/src/app.ts +17 -7
  5. package/src/clack.ts +1 -1
  6. package/src/cli.ts +304 -10
  7. package/src/completions.ts +240 -0
  8. package/src/load-app-mirror.ts +160 -0
  9. package/src/local-state-io.ts +153 -0
  10. package/src/project-writes.ts +320 -0
  11. package/src/run-collision.ts +125 -0
  12. package/src/run-completions-install.ts +179 -0
  13. package/src/run-example.ts +149 -0
  14. package/src/run-examples.ts +148 -0
  15. package/src/run-quiet.ts +75 -0
  16. package/src/run-trace.ts +273 -0
  17. package/src/run-warden.ts +39 -0
  18. package/src/run-watch.ts +432 -0
  19. package/src/scaffold-versions.generated.ts +12 -0
  20. package/src/trails/add-surface.ts +172 -0
  21. package/src/trails/add-trail.ts +73 -27
  22. package/src/trails/add-verify.ts +68 -23
  23. package/src/trails/completions-complete.ts +165 -0
  24. package/src/trails/completions.ts +47 -0
  25. package/src/trails/create-scaffold.ts +101 -35
  26. package/src/trails/create.ts +87 -74
  27. package/src/trails/dev-clean.ts +31 -22
  28. package/src/trails/dev-reset.ts +9 -3
  29. package/src/trails/dev-stats.ts +28 -20
  30. package/src/trails/dev-support.ts +109 -95
  31. package/src/trails/draft-promote.ts +351 -107
  32. package/src/trails/guide.ts +55 -38
  33. package/src/trails/load-app.ts +712 -38
  34. package/src/trails/root-dir.ts +21 -0
  35. package/src/trails/run-example.ts +482 -0
  36. package/src/trails/run-examples.ts +141 -0
  37. package/src/trails/run.ts +403 -0
  38. package/src/trails/survey.ts +517 -186
  39. package/src/trails/topo-activation.ts +385 -0
  40. package/src/trails/topo-compile.ts +55 -0
  41. package/src/trails/topo-history.ts +14 -11
  42. package/src/trails/topo-output-schemas.ts +175 -0
  43. package/src/trails/topo-pin.ts +25 -16
  44. package/src/trails/topo-read-support.ts +178 -238
  45. package/src/trails/topo-reports.ts +445 -63
  46. package/src/trails/topo-store-support.ts +67 -35
  47. package/src/trails/topo-support.ts +93 -147
  48. package/src/trails/topo-unpin.ts +17 -7
  49. package/src/trails/topo-verify.ts +19 -10
  50. package/src/trails/topo.ts +64 -31
  51. package/src/trails/warden-guide.ts +121 -0
  52. package/src/trails/warden.ts +137 -47
  53. package/src/versions.ts +28 -0
  54. package/.turbo/turbo-build.log +0 -1
  55. package/.turbo/turbo-lint.log +0 -3
  56. package/.turbo/turbo-typecheck.log +0 -1
  57. package/__tests__/examples.test.ts +0 -20
  58. package/dist/bin/trails.d.ts +0 -3
  59. package/dist/bin/trails.d.ts.map +0 -1
  60. package/dist/bin/trails.js +0 -4
  61. package/dist/bin/trails.js.map +0 -1
  62. package/dist/src/app.d.ts +0 -2
  63. package/dist/src/app.d.ts.map +0 -1
  64. package/dist/src/app.js +0 -22
  65. package/dist/src/app.js.map +0 -1
  66. package/dist/src/clack.d.ts +0 -9
  67. package/dist/src/clack.d.ts.map +0 -1
  68. package/dist/src/clack.js +0 -84
  69. package/dist/src/clack.js.map +0 -1
  70. package/dist/src/cli.d.ts +0 -2
  71. package/dist/src/cli.d.ts.map +0 -1
  72. package/dist/src/cli.js +0 -13
  73. package/dist/src/cli.js.map +0 -1
  74. package/dist/src/trails/add-surface.d.ts +0 -13
  75. package/dist/src/trails/add-surface.d.ts.map +0 -1
  76. package/dist/src/trails/add-surface.js +0 -88
  77. package/dist/src/trails/add-surface.js.map +0 -1
  78. package/dist/src/trails/add-trail.d.ts +0 -10
  79. package/dist/src/trails/add-trail.d.ts.map +0 -1
  80. package/dist/src/trails/add-trail.js +0 -77
  81. package/dist/src/trails/add-trail.js.map +0 -1
  82. package/dist/src/trails/add-trailhead.d.ts +0 -13
  83. package/dist/src/trails/add-trailhead.d.ts.map +0 -1
  84. package/dist/src/trails/add-trailhead.js +0 -88
  85. package/dist/src/trails/add-trailhead.js.map +0 -1
  86. package/dist/src/trails/add-verify.d.ts +0 -10
  87. package/dist/src/trails/add-verify.d.ts.map +0 -1
  88. package/dist/src/trails/add-verify.js +0 -67
  89. package/dist/src/trails/add-verify.js.map +0 -1
  90. package/dist/src/trails/create-scaffold.d.ts +0 -15
  91. package/dist/src/trails/create-scaffold.d.ts.map +0 -1
  92. package/dist/src/trails/create-scaffold.js +0 -288
  93. package/dist/src/trails/create-scaffold.js.map +0 -1
  94. package/dist/src/trails/create.d.ts +0 -22
  95. package/dist/src/trails/create.d.ts.map +0 -1
  96. package/dist/src/trails/create.js +0 -121
  97. package/dist/src/trails/create.js.map +0 -1
  98. package/dist/src/trails/dev-clean.d.ts +0 -9
  99. package/dist/src/trails/dev-clean.d.ts.map +0 -1
  100. package/dist/src/trails/dev-clean.js +0 -65
  101. package/dist/src/trails/dev-clean.js.map +0 -1
  102. package/dist/src/trails/dev-reset.d.ts +0 -6
  103. package/dist/src/trails/dev-reset.d.ts.map +0 -1
  104. package/dist/src/trails/dev-reset.js +0 -38
  105. package/dist/src/trails/dev-reset.js.map +0 -1
  106. package/dist/src/trails/dev-stats.d.ts +0 -7
  107. package/dist/src/trails/dev-stats.d.ts.map +0 -1
  108. package/dist/src/trails/dev-stats.js +0 -61
  109. package/dist/src/trails/dev-stats.js.map +0 -1
  110. package/dist/src/trails/dev-support.d.ts +0 -64
  111. package/dist/src/trails/dev-support.d.ts.map +0 -1
  112. package/dist/src/trails/dev-support.js +0 -178
  113. package/dist/src/trails/dev-support.js.map +0 -1
  114. package/dist/src/trails/draft-promote.d.ts +0 -18
  115. package/dist/src/trails/draft-promote.d.ts.map +0 -1
  116. package/dist/src/trails/draft-promote.js +0 -386
  117. package/dist/src/trails/draft-promote.js.map +0 -1
  118. package/dist/src/trails/guide.d.ts +0 -21
  119. package/dist/src/trails/guide.d.ts.map +0 -1
  120. package/dist/src/trails/guide.js +0 -64
  121. package/dist/src/trails/guide.js.map +0 -1
  122. package/dist/src/trails/load-app.d.ts +0 -6
  123. package/dist/src/trails/load-app.d.ts.map +0 -1
  124. package/dist/src/trails/load-app.js +0 -67
  125. package/dist/src/trails/load-app.js.map +0 -1
  126. package/dist/src/trails/project.d.ts +0 -8
  127. package/dist/src/trails/project.d.ts.map +0 -1
  128. package/dist/src/trails/project.js +0 -54
  129. package/dist/src/trails/project.js.map +0 -1
  130. package/dist/src/trails/survey.d.ts +0 -18
  131. package/dist/src/trails/survey.d.ts.map +0 -1
  132. package/dist/src/trails/survey.js +0 -212
  133. package/dist/src/trails/survey.js.map +0 -1
  134. package/dist/src/trails/topo-constants.d.ts +0 -3
  135. package/dist/src/trails/topo-constants.d.ts.map +0 -1
  136. package/dist/src/trails/topo-constants.js +0 -3
  137. package/dist/src/trails/topo-constants.js.map +0 -1
  138. package/dist/src/trails/topo-export.d.ts +0 -18
  139. package/dist/src/trails/topo-export.d.ts.map +0 -1
  140. package/dist/src/trails/topo-export.js +0 -34
  141. package/dist/src/trails/topo-export.js.map +0 -1
  142. package/dist/src/trails/topo-history.d.ts +0 -24
  143. package/dist/src/trails/topo-history.d.ts.map +0 -1
  144. package/dist/src/trails/topo-history.js +0 -33
  145. package/dist/src/trails/topo-history.js.map +0 -1
  146. package/dist/src/trails/topo-pin.d.ts +0 -21
  147. package/dist/src/trails/topo-pin.d.ts.map +0 -1
  148. package/dist/src/trails/topo-pin.js +0 -35
  149. package/dist/src/trails/topo-pin.js.map +0 -1
  150. package/dist/src/trails/topo-read-support.d.ts +0 -54
  151. package/dist/src/trails/topo-read-support.d.ts.map +0 -1
  152. package/dist/src/trails/topo-read-support.js +0 -178
  153. package/dist/src/trails/topo-read-support.js.map +0 -1
  154. package/dist/src/trails/topo-reports.d.ts +0 -50
  155. package/dist/src/trails/topo-reports.d.ts.map +0 -1
  156. package/dist/src/trails/topo-reports.js +0 -122
  157. package/dist/src/trails/topo-reports.js.map +0 -1
  158. package/dist/src/trails/topo-show.d.ts +0 -23
  159. package/dist/src/trails/topo-show.d.ts.map +0 -1
  160. package/dist/src/trails/topo-show.js +0 -53
  161. package/dist/src/trails/topo-show.js.map +0 -1
  162. package/dist/src/trails/topo-store-support.d.ts +0 -13
  163. package/dist/src/trails/topo-store-support.d.ts.map +0 -1
  164. package/dist/src/trails/topo-store-support.js +0 -55
  165. package/dist/src/trails/topo-store-support.js.map +0 -1
  166. package/dist/src/trails/topo-support.d.ts +0 -87
  167. package/dist/src/trails/topo-support.d.ts.map +0 -1
  168. package/dist/src/trails/topo-support.js +0 -165
  169. package/dist/src/trails/topo-support.js.map +0 -1
  170. package/dist/src/trails/topo-unpin.d.ts +0 -15
  171. package/dist/src/trails/topo-unpin.d.ts.map +0 -1
  172. package/dist/src/trails/topo-unpin.js +0 -39
  173. package/dist/src/trails/topo-unpin.js.map +0 -1
  174. package/dist/src/trails/topo-verify.d.ts +0 -5
  175. package/dist/src/trails/topo-verify.d.ts.map +0 -1
  176. package/dist/src/trails/topo-verify.js +0 -28
  177. package/dist/src/trails/topo-verify.js.map +0 -1
  178. package/dist/src/trails/topo.d.ts +0 -5
  179. package/dist/src/trails/topo.d.ts.map +0 -1
  180. package/dist/src/trails/topo.js +0 -67
  181. package/dist/src/trails/topo.js.map +0 -1
  182. package/dist/src/trails/warden.d.ts +0 -19
  183. package/dist/src/trails/warden.d.ts.map +0 -1
  184. package/dist/src/trails/warden.js +0 -89
  185. package/dist/src/trails/warden.js.map +0 -1
  186. package/dist/tsconfig.tsbuildinfo +0 -1
  187. package/src/__tests__/create.test.ts +0 -351
  188. package/src/__tests__/draft-promote.test.ts +0 -144
  189. package/src/__tests__/guide.test.ts +0 -91
  190. package/src/__tests__/load-app.test.ts +0 -58
  191. package/src/__tests__/survey.test.ts +0 -301
  192. package/src/__tests__/topo-dev.test.ts +0 -424
  193. package/src/__tests__/warden.test.ts +0 -74
  194. package/src/trails/add-trailhead.ts +0 -121
  195. package/src/trails/topo-export.ts +0 -39
  196. package/src/trails/topo-show.ts +0 -58
  197. package/tsconfig.json +0 -9
@@ -1 +0,0 @@
1
- {"version":3,"file":"draft-promote.js","sourceRoot":"","sources":["../../../src/trails/draft-promote.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- /**
2
- * `guide` trail -- Runtime guidance.
3
- *
4
- * Lists trails with descriptions and examples. Detailed guidance is planned for post-v1.
5
- */
6
- export declare const guideTrail: import("@ontrails/core").Trail<{
7
- module: string;
8
- trailId?: string | undefined;
9
- }, {
10
- description: string;
11
- exampleCount: number;
12
- id: string;
13
- kind: string;
14
- }[] | {
15
- description: string | null;
16
- detours: unknown;
17
- examples: unknown[];
18
- id: string;
19
- kind: string;
20
- }>;
21
- //# sourceMappingURL=guide.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"guide.d.ts","sourceRoot":"","sources":["../../../src/trails/guide.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA0BH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;EA0DrB,CAAC"}
@@ -1,64 +0,0 @@
1
- /**
2
- * `guide` trail -- Runtime guidance.
3
- *
4
- * Lists trails with descriptions and examples. Detailed guidance is planned for post-v1.
5
- */
6
- import { NotFoundError, Result, trail } from '@ontrails/core';
7
- import { z } from 'zod';
8
- import { loadApp } from './load-app.js';
9
- import { buildCurrentGuideEntries, buildCurrentTopoDetail, } from './topo-read-support.js';
10
- // ---------------------------------------------------------------------------
11
- // Helpers
12
- // ---------------------------------------------------------------------------
13
- export const guideTrail = trail('guide', {
14
- blaze: async (input, ctx) => {
15
- const rootDir = ctx.cwd ?? '.';
16
- const app = await loadApp(input.module, rootDir);
17
- if (input.trailId) {
18
- const detail = buildCurrentTopoDetail(app, input.trailId, { rootDir });
19
- if (detail === undefined || detail.kind !== 'trail') {
20
- return Result.err(new NotFoundError(`Trail not found: ${input.trailId}`));
21
- }
22
- return Result.ok({
23
- description: detail.description,
24
- detours: detail.detours,
25
- examples: detail.examples,
26
- id: detail.id,
27
- kind: detail.kind,
28
- });
29
- }
30
- return Result.ok(buildCurrentGuideEntries(app, { rootDir }));
31
- },
32
- description: 'Runtime guidance for trails',
33
- examples: [
34
- {
35
- description: 'Lists all trails with descriptions and example counts',
36
- input: { module: './src/app.ts' },
37
- name: 'List trail guidance',
38
- },
39
- ],
40
- input: z.object({
41
- module: z
42
- .string()
43
- .default('./src/app.ts')
44
- .describe('Path to the app module'),
45
- trailId: z.string().optional().describe('Trail ID for detailed guidance'),
46
- }),
47
- intent: 'read',
48
- output: z.union([
49
- z.array(z.object({
50
- description: z.string(),
51
- exampleCount: z.number(),
52
- id: z.string(),
53
- kind: z.string(),
54
- })),
55
- z.object({
56
- description: z.string().nullable(),
57
- detours: z.unknown().nullable(),
58
- examples: z.array(z.unknown()),
59
- id: z.string(),
60
- kind: z.string(),
61
- }),
62
- ]),
63
- });
64
- //# sourceMappingURL=guide.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"guide.js","sourceRoot":"","sources":["../../../src/trails/guide.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EACL,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAahC,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,EAAE;IACvC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC1B,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC;QAC/B,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAEjD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YACvE,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACpD,OAAO,MAAM,CAAC,GAAG,CACf,IAAI,aAAa,CAAC,oBAAoB,KAAK,CAAC,OAAO,EAAE,CAAC,CACvD,CAAC;YACJ,CAAC;YACD,OAAO,MAAM,CAAC,EAAE,CAAC;gBACf,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,IAAI,EAAE,MAAM,CAAC,IAAI;aAClB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC,EAAE,CACd,wBAAwB,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAiB,CAC3D,CAAC;IACJ,CAAC;IACD,WAAW,EAAE,6BAA6B;IAC1C,QAAQ,EAAE;QACR;YACE,WAAW,EAAE,uDAAuD;YACpE,KAAK,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE;YACjC,IAAI,EAAE,qBAAqB;SAC5B;KACF;IACD,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,OAAO,CAAC,cAAc,CAAC;aACvB,QAAQ,CAAC,wBAAwB,CAAC;QACrC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;KAC1E,CAAC;IACF,MAAM,EAAE,MAAM;IACd,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC;QACd,CAAC,CAAC,KAAK,CACL,CAAC,CAAC,MAAM,CAAC;YACP,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;YACvB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;YACxB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;YACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;SACjB,CAAC,CACH;QACD,CAAC,CAAC,MAAM,CAAC;YACP,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAClC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAC/B,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YAC9B,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;YACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;SACjB,CAAC;KACH,CAAC;CACH,CAAC,CAAC"}
@@ -1,6 +0,0 @@
1
- import type { Topo } from '@ontrails/core';
2
- /** Load a Topo export from a module path relative to cwd. */
3
- export declare const loadApp: (modulePath: string, cwd: string, options?: {
4
- fresh?: boolean | undefined;
5
- }) => Promise<Topo>;
6
- //# sourceMappingURL=load-app.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"load-app.d.ts","sourceRoot":"","sources":["../../../src/trails/load-app.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAuE3C,6DAA6D;AAC7D,eAAO,MAAM,OAAO,GAClB,YAAY,MAAM,EAClB,KAAK,MAAM,EACX,UAAS;IAAE,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAAO,KAC5C,OAAO,CAAC,IAAI,CAmBd,CAAC"}
@@ -1,67 +0,0 @@
1
- import { existsSync, rmSync } from 'node:fs';
2
- import { basename, dirname, isAbsolute, join, resolve } from 'node:path';
3
- import { fileURLToPath, pathToFileURL } from 'node:url';
4
- const URL_SCHEME = /^[a-zA-Z][a-zA-Z\d+.-]*:/;
5
- const resolveUrlModulePath = (modulePath) => {
6
- const url = new URL(modulePath);
7
- return url.protocol === 'file:' ? fileURLToPath(url) : modulePath;
8
- };
9
- const resolveFilesystemModulePath = (modulePath, cwd) => {
10
- const absolutePath = isAbsolute(modulePath)
11
- ? modulePath
12
- : resolve(cwd, modulePath);
13
- if (!absolutePath.endsWith('.js') || existsSync(absolutePath)) {
14
- return absolutePath;
15
- }
16
- const tsPath = absolutePath.replace(/\.js$/, '.ts');
17
- return existsSync(tsPath) ? tsPath : absolutePath;
18
- };
19
- /** Resolve a module path from cwd so CLI defaults behave like shell paths. */
20
- const resolveAbsoluteModulePath = (modulePath, cwd) => URL_SCHEME.test(modulePath)
21
- ? resolveUrlModulePath(modulePath)
22
- : resolveFilesystemModulePath(modulePath, cwd);
23
- const freshModuleCopyPath = (absolutePath) => join(dirname(absolutePath), `.__fresh-${Date.now()}-${Math.random().toString(36).slice(2)}-${basename(absolutePath)}`);
24
- /**
25
- * Import a module bypassing the ESM cache for the entry file.
26
- *
27
- * @remarks
28
- * Cache-busting applies to the entry module only. Transitive imports resolved
29
- * by the entry file are still served from Bun's module cache. This is
30
- * acceptable for the draft promotion workflow (the only caller) because
31
- * promotion changes which modules the entry file imports, not the modules
32
- * themselves. If a deeper cache-bust is needed in the future, consider
33
- * Bun's `Loader.registry` or a full process restart.
34
- */
35
- const importFreshModule = async (modulePath, cwd) => {
36
- const absolutePath = resolveAbsoluteModulePath(modulePath, cwd);
37
- if (URL_SCHEME.test(absolutePath) && !absolutePath.startsWith('/')) {
38
- const url = new URL(absolutePath);
39
- url.searchParams.set('t', Date.now().toString());
40
- return (await import(url.href));
41
- }
42
- const freshPath = freshModuleCopyPath(absolutePath);
43
- await Bun.write(freshPath, await Bun.file(absolutePath).text());
44
- try {
45
- return (await import(pathToFileURL(freshPath).href));
46
- }
47
- finally {
48
- rmSync(freshPath, { force: true });
49
- }
50
- };
51
- /** Load a Topo export from a module path relative to cwd. */
52
- export const loadApp = async (modulePath, cwd, options = {}) => {
53
- const resolvedModulePath = resolveAbsoluteModulePath(modulePath, cwd);
54
- const mod = options.fresh === true
55
- ? await importFreshModule(modulePath, cwd)
56
- : (await import(URL_SCHEME.test(resolvedModulePath) &&
57
- !resolvedModulePath.startsWith('/')
58
- ? new URL(resolvedModulePath).href
59
- : pathToFileURL(resolvedModulePath).href));
60
- const app = (mod['default'] ?? mod['app']);
61
- if (!app?.trails) {
62
- throw new Error(`Could not find a Topo export in "${modulePath}". ` +
63
- "Expected a default or named 'app' export created with topo().");
64
- }
65
- return app;
66
- };
67
- //# sourceMappingURL=load-app.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"load-app.js","sourceRoot":"","sources":["../../../src/trails/load-app.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- /**
2
- * Shared Trails-project detection helpers for scaffold trails.
3
- */
4
- /** Find the app module that defines a topo inside `src/`. */
5
- export declare const findTopoPath: (cwd: string) => Promise<string | null>;
6
- /** Detect whether the directory already looks like a Trails project. */
7
- export declare const isInsideProject: (cwd: string) => Promise<boolean>;
8
- //# sourceMappingURL=project.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../../src/trails/project.ts"],"names":[],"mappings":"AAAA;;GAEG;AAmCH,6DAA6D;AAC7D,eAAO,MAAM,YAAY,GAAU,KAAK,MAAM,KAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAkBrE,CAAC;AAEF,wEAAwE;AACxE,eAAO,MAAM,eAAe,GAAU,KAAK,MAAM,KAAG,OAAO,CAAC,OAAO,CAKlE,CAAC"}
@@ -1,54 +0,0 @@
1
- /**
2
- * Shared Trails-project detection helpers for scaffold trails.
3
- */
4
- import { existsSync } from 'node:fs';
5
- import { join } from 'node:path';
6
- import { isDraftMarkedFile } from '@ontrails/warden';
7
- /** Return all TypeScript entries in a project's src directory. */
8
- const sourceEntryPriority = (entry) => {
9
- if (entry === 'app.ts') {
10
- return 0;
11
- }
12
- return isDraftMarkedFile(entry) ? 2 : 1;
13
- };
14
- const scanSourceEntries = (srcDir) => [...new Bun.Glob('*.ts').scanSync({ cwd: srcDir })].toSorted((a, b) => {
15
- const priority = sourceEntryPriority(a) - sourceEntryPriority(b);
16
- if (priority === 0) {
17
- return a.localeCompare(b);
18
- }
19
- return priority;
20
- });
21
- /** Resolve an entry to an app import if it contains topo(). */
22
- const toTopoImport = async (srcDir, entry) => {
23
- const content = await Bun.file(join(srcDir, entry)).text();
24
- return content.includes('topo(')
25
- ? `./${entry.replace(/\.ts$/, '.js')}`
26
- : null;
27
- };
28
- /** Find the app module that defines a topo inside `src/`. */
29
- export const findTopoPath = async (cwd) => {
30
- const srcDir = join(cwd, 'src');
31
- if (!existsSync(srcDir)) {
32
- return null;
33
- }
34
- try {
35
- for (const entry of scanSourceEntries(srcDir)) {
36
- const appImport = await toTopoImport(srcDir, entry);
37
- if (appImport) {
38
- return appImport;
39
- }
40
- }
41
- }
42
- catch {
43
- return null;
44
- }
45
- return null;
46
- };
47
- /** Detect whether the directory already looks like a Trails project. */
48
- export const isInsideProject = async (cwd) => {
49
- if (existsSync(join(cwd, '.trails'))) {
50
- return true;
51
- }
52
- return (await findTopoPath(cwd)) !== null;
53
- };
54
- //# sourceMappingURL=project.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project.js","sourceRoot":"","sources":["../../../src/trails/project.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,kEAAkE;AAClE,MAAM,mBAAmB,GAAG,CAAC,KAAa,EAAU,EAAE;IACpD,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvB,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,MAAc,EAAY,EAAE,CACrD,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;IACpE,MAAM,QAAQ,GAAG,mBAAmB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;IACjE,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC,CAAC;AAEL,+DAA+D;AAC/D,MAAM,YAAY,GAAG,KAAK,EACxB,MAAc,EACd,KAAa,EACW,EAAE;IAC1B,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3D,OAAO,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC9B,CAAC,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;QACtC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC,CAAC;AAEF,6DAA6D;AAC7D,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,GAAW,EAA0B,EAAE;IACxE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAChC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,KAAK,MAAM,KAAK,IAAI,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9C,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACpD,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,wEAAwE;AACxE,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAAE,GAAW,EAAoB,EAAE;IACrE,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,CAAC,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC;AAC5C,CAAC,CAAC"}
@@ -1,18 +0,0 @@
1
- /**
2
- * `survey` trail -- Full topo introspection.
3
- *
4
- * Lists trails, shows detail for individual trails, generates trailhead maps,
5
- * and diffs against previous versions.
6
- */
7
- export { formatProvisionDetail, generateBriefReport, generateSurveyList, generateTrailDetail, } from './topo-reports.js';
8
- export type { BriefReport, SurveyListReport, TrailDetailReport, } from './topo-reports.js';
9
- export declare const surveyTrail: import("@ontrails/core").Trail<{
10
- breakingOnly: boolean;
11
- brief: boolean;
12
- generate: boolean;
13
- module: string;
14
- openapi: boolean;
15
- diff?: string | undefined;
16
- trailId?: string | undefined;
17
- }, object>;
18
- //# sourceMappingURL=survey.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"survey.d.ts","sourceRoot":"","sources":["../../../src/trails/survey.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAqBH,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AA+H3B,eAAO,MAAM,WAAW;;;;;;;;UAoItB,CAAC"}
@@ -1,212 +0,0 @@
1
- /**
2
- * `survey` trail -- Full topo introspection.
3
- *
4
- * Lists trails, shows detail for individual trails, generates trailhead maps,
5
- * and diffs against previous versions.
6
- */
7
- import { NotFoundError, Result, trail } from '@ontrails/core';
8
- import { diffTrailheadMaps, generateOpenApiSpec, generateTrailheadMap, readTrailheadMap, } from '@ontrails/schema';
9
- import { z } from 'zod';
10
- import { loadApp } from './load-app.js';
11
- import { buildCurrentTopoBrief, buildCurrentTopoDetail, buildCurrentTopoList, } from './topo-read-support.js';
12
- import { exportCurrentTopo } from './topo-store-support.js';
13
- export { formatProvisionDetail, generateBriefReport, generateSurveyList, generateTrailDetail, } from './topo-reports.js';
14
- // ---------------------------------------------------------------------------
15
- // Brief report (formerly scout)
16
- // ---------------------------------------------------------------------------
17
- const formatDiff = (diff) => ({
18
- breaking: diff.breaking,
19
- hasBreaking: diff.hasBreaking,
20
- info: diff.info,
21
- warnings: diff.warnings,
22
- });
23
- const buildSurveyDiff = async (app, breakingOnly) => {
24
- const currentMap = generateTrailheadMap(app);
25
- const previousMap = await readTrailheadMap();
26
- if (!previousMap) {
27
- return Result.err(new NotFoundError('No previous trailhead map found. Run `trails topo export` first.'));
28
- }
29
- const diff = diffTrailheadMaps(previousMap, currentMap);
30
- return Result.ok(breakingOnly
31
- ? formatDiff({
32
- ...diff,
33
- entries: diff.breaking,
34
- info: [],
35
- warnings: [],
36
- })
37
- : formatDiff(diff));
38
- };
39
- const buildSurveyDetail = (app, trailId, rootDir) => {
40
- const detail = buildCurrentTopoDetail(app, trailId, { rootDir });
41
- if (detail !== undefined) {
42
- return Result.ok(detail);
43
- }
44
- return Result.err(new NotFoundError(`Trail or provision not found: ${trailId}`));
45
- };
46
- const buildSurveyGenerate = async (app, rootDir) => {
47
- const exported = await exportCurrentTopo(app, { rootDir });
48
- if (exported.isErr()) {
49
- return exported;
50
- }
51
- return Result.ok({
52
- hash: exported.value.hash,
53
- lockPath: exported.value.lockPath,
54
- mapPath: exported.value.mapPath,
55
- });
56
- };
57
- /** Ordered mode checks — first truthy predicate wins, otherwise 'list'. */
58
- const modeChecks = [
59
- [(i) => i.brief, 'brief'],
60
- [(i) => Boolean(i.diff), 'diff'],
61
- [(i) => Boolean(i.trailId), 'detail'],
62
- [(i) => i.generate, 'generate'],
63
- [(i) => i.openapi, 'openapi'],
64
- ];
65
- /** Determine which survey mode was requested, falling back to 'list'. */
66
- const resolveSurveyMode = (input) => modeChecks.find(([predicate]) => predicate(input))?.[1] ?? 'list';
67
- /** Handlers keyed by survey mode. */
68
- const surveyHandlers = {
69
- brief: (app, _input, rootDir) => Result.ok(buildCurrentTopoBrief(app, { rootDir })),
70
- detail: (app, input, rootDir) => buildSurveyDetail(app, input.trailId ?? '', rootDir),
71
- diff: (app, input) => buildSurveyDiff(app, input.breakingOnly),
72
- generate: (app, _input, rootDir) => buildSurveyGenerate(app, rootDir),
73
- list: (app, _input, rootDir) => Result.ok(buildCurrentTopoList(app, { rootDir })),
74
- openapi: (app) => Result.ok(generateOpenApiSpec(app)),
75
- };
76
- /** Dispatch to the appropriate survey sub-command based on input flags. */
77
- const dispatchSurvey = (app, input, rootDir) => {
78
- const mode = resolveSurveyMode(input);
79
- const handler = surveyHandlers[mode];
80
- return handler(app, input, rootDir);
81
- };
82
- // ---------------------------------------------------------------------------
83
- // Trail definition
84
- // ---------------------------------------------------------------------------
85
- export const surveyTrail = trail('survey', {
86
- blaze: async (input, ctx) => {
87
- const rootDir = ctx.cwd ?? '.';
88
- const app = await loadApp(input.module, rootDir);
89
- return dispatchSurvey(app, input, rootDir);
90
- },
91
- description: 'Full topo introspection',
92
- examples: [
93
- {
94
- description: 'Lists all registered trails with safety and trailhead info',
95
- input: { module: './src/app.ts' },
96
- name: 'List all trails',
97
- },
98
- {
99
- description: 'Quick capability summary with counts and feature flags',
100
- input: { brief: true, module: './src/app.ts' },
101
- name: 'Brief capability report',
102
- },
103
- {
104
- description: 'Generate an OpenAPI 3.1 specification for the topo',
105
- input: { module: './src/app.ts', openapi: true },
106
- name: 'OpenAPI spec',
107
- },
108
- ],
109
- input: z.object({
110
- breakingOnly: z
111
- .boolean()
112
- .default(false)
113
- .describe('Only show breaking changes'),
114
- brief: z.boolean().default(false).describe('Quick capability summary'),
115
- diff: z.string().optional().describe('Diff against a git ref'),
116
- generate: z
117
- .boolean()
118
- .default(false)
119
- .describe('Generate trailhead map and lock file'),
120
- module: z
121
- .string()
122
- .default('./src/app.ts')
123
- .describe('Path to the app module'),
124
- openapi: z.boolean().default(false).describe('Output OpenAPI 3.1 spec'),
125
- trailId: z.string().optional().describe('Trail ID for detail view'),
126
- }),
127
- intent: 'read',
128
- output: z.union([
129
- z.object({
130
- count: z.number(),
131
- entries: z.array(z.object({
132
- examples: z.number(),
133
- id: z.string(),
134
- kind: z.string(),
135
- safety: z.string(),
136
- })),
137
- provisionCount: z.number(),
138
- provisions: z.array(z.object({
139
- description: z.string().nullable(),
140
- health: z.enum(['available', 'none']),
141
- id: z.string(),
142
- kind: z.literal('provision'),
143
- lifetime: z.literal('singleton'),
144
- usedBy: z.array(z.string()),
145
- })),
146
- }),
147
- z.object({
148
- contractVersion: z.string(),
149
- features: z.object({
150
- detours: z.boolean(),
151
- examples: z.boolean(),
152
- outputSchemas: z.boolean(),
153
- provisions: z.boolean(),
154
- signals: z.boolean(),
155
- }),
156
- name: z.string(),
157
- provisions: z.number(),
158
- signals: z.number(),
159
- trails: z.number(),
160
- version: z.string(),
161
- }),
162
- z.object({
163
- breaking: z.array(z.unknown()),
164
- hasBreaking: z.boolean(),
165
- info: z.array(z.unknown()),
166
- warnings: z.array(z.unknown()),
167
- }),
168
- z.object({
169
- crosses: z.array(z.string()),
170
- description: z.unknown().nullable(),
171
- detours: z.unknown().nullable(),
172
- examples: z.array(z.unknown()),
173
- id: z.string(),
174
- intent: z.enum(['read', 'write', 'destroy']),
175
- kind: z.string(),
176
- provisions: z.array(z.string()),
177
- safety: z.string(),
178
- }),
179
- z.object({
180
- description: z.string().nullable(),
181
- health: z.enum(['available', 'none']),
182
- id: z.string(),
183
- kind: z.literal('provision'),
184
- lifetime: z.literal('singleton'),
185
- usedBy: z.array(z.string()),
186
- }),
187
- z.object({
188
- hash: z.string(),
189
- lockPath: z.string(),
190
- mapPath: z.string(),
191
- }),
192
- z.object({
193
- components: z.object({
194
- schemas: z.record(z.string(), z.unknown()),
195
- }),
196
- info: z.object({
197
- description: z.string().optional(),
198
- title: z.string(),
199
- version: z.string(),
200
- }),
201
- openapi: z.literal('3.1.0'),
202
- paths: z.record(z.string(), z.record(z.string(), z.unknown())),
203
- servers: z
204
- .array(z.object({
205
- description: z.string().optional(),
206
- url: z.string(),
207
- }))
208
- .optional(),
209
- }),
210
- ]),
211
- });
212
- //# sourceMappingURL=survey.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"survey.js","sourceRoot":"","sources":["../../../src/trails/survey.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- export declare const REPORT_CONTRACT_VERSION = "2026-03";
2
- export declare const REPORT_VERSION = "0.1.0";
3
- //# sourceMappingURL=topo-constants.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"topo-constants.d.ts","sourceRoot":"","sources":["../../../src/trails/topo-constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,YAAY,CAAC;AACjD,eAAO,MAAM,cAAc,UAAU,CAAC"}
@@ -1,3 +0,0 @@
1
- export const REPORT_CONTRACT_VERSION = '2026-03';
2
- export const REPORT_VERSION = '0.1.0';
3
- //# sourceMappingURL=topo-constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"topo-constants.js","sourceRoot":"","sources":["../../../src/trails/topo-constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,uBAAuB,GAAG,SAAS,CAAC;AACjD,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC"}
@@ -1,18 +0,0 @@
1
- export declare const topoExportTrail: import("@ontrails/core").Trail<{
2
- module: string;
3
- rootDir?: string | undefined;
4
- }, {
5
- hash: string;
6
- lockPath: string;
7
- mapPath: string;
8
- save: {
9
- createdAt: string;
10
- gitDirty: boolean;
11
- id: string;
12
- provisionCount: number;
13
- signalCount: number;
14
- trailCount: number;
15
- gitSha?: string | undefined;
16
- };
17
- }>;
18
- //# sourceMappingURL=topo-export.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"topo-export.d.ts","sourceRoot":"","sources":["../../../src/trails/topo-export.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;EA2B1B,CAAC"}
@@ -1,34 +0,0 @@
1
- import { trail } from '@ontrails/core';
2
- import { z } from 'zod';
3
- import { loadApp } from './load-app.js';
4
- import { exportCurrentTopo } from './topo-store-support.js';
5
- import { DEFAULT_APP_MODULE, isolatedExampleInput, topoSaveOutput, } from './topo-support.js';
6
- export const topoExportTrail = trail('topo.export', {
7
- blaze: async (input, ctx) => {
8
- const rootDir = input.rootDir ?? ctx.cwd ?? process.cwd();
9
- const app = await loadApp(input.module, rootDir);
10
- return exportCurrentTopo(app, { rootDir });
11
- },
12
- description: 'Export the current topo to .trails artifacts',
13
- examples: [
14
- {
15
- input: isolatedExampleInput('topo-export'),
16
- name: 'Write the current topo export',
17
- },
18
- ],
19
- input: z.object({
20
- module: z
21
- .string()
22
- .default(DEFAULT_APP_MODULE)
23
- .describe('Path to the app module'),
24
- rootDir: z.string().optional().describe('Workspace root directory'),
25
- }),
26
- intent: 'write',
27
- output: z.object({
28
- hash: z.string(),
29
- lockPath: z.string(),
30
- mapPath: z.string(),
31
- save: topoSaveOutput,
32
- }),
33
- });
34
- //# sourceMappingURL=topo-export.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"topo-export.js","sourceRoot":"","sources":["../../../src/trails/topo-export.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,GACf,MAAM,mBAAmB,CAAC;AAE3B,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC,aAAa,EAAE;IAClD,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,GAAG,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1D,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACjD,OAAO,iBAAiB,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,WAAW,EAAE,8CAA8C;IAC3D,QAAQ,EAAE;QACR;YACE,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC;YAC1C,IAAI,EAAE,+BAA+B;SACtC;KACF;IACD,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,OAAO,CAAC,kBAAkB,CAAC;aAC3B,QAAQ,CAAC,wBAAwB,CAAC;QACrC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;KACpE,CAAC;IACF,MAAM,EAAE,OAAO;IACf,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;QACpB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,IAAI,EAAE,cAAc;KACrB,CAAC;CACH,CAAC,CAAC"}