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

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 (140) hide show
  1. package/.turbo/turbo-lint.log +1 -1
  2. package/CHANGELOG.md +16 -0
  3. package/__tests__/examples.test.ts +14 -0
  4. package/dist/src/app.d.ts.map +1 -1
  5. package/dist/src/app.js +13 -2
  6. package/dist/src/app.js.map +1 -1
  7. package/dist/src/clack.d.ts +1 -1
  8. package/dist/src/clack.js +1 -1
  9. package/dist/src/cli.js +2 -2
  10. package/dist/src/cli.js.map +1 -1
  11. package/dist/src/trails/add-trail.js +13 -13
  12. package/dist/src/trails/add-trail.js.map +1 -1
  13. package/dist/src/trails/add-trailhead.d.ts +13 -0
  14. package/dist/src/trails/add-trailhead.d.ts.map +1 -0
  15. package/dist/src/trails/add-trailhead.js +88 -0
  16. package/dist/src/trails/add-trailhead.js.map +1 -0
  17. package/dist/src/trails/add-verify.js +10 -10
  18. package/dist/src/trails/add-verify.js.map +1 -1
  19. package/dist/src/trails/create-scaffold.js +26 -26
  20. package/dist/src/trails/create-scaffold.js.map +1 -1
  21. package/dist/src/trails/create.d.ts +6 -6
  22. package/dist/src/trails/create.d.ts.map +1 -1
  23. package/dist/src/trails/create.js +29 -29
  24. package/dist/src/trails/create.js.map +1 -1
  25. package/dist/src/trails/dev-clean.d.ts +9 -0
  26. package/dist/src/trails/dev-clean.d.ts.map +1 -0
  27. package/dist/src/trails/dev-clean.js +65 -0
  28. package/dist/src/trails/dev-clean.js.map +1 -0
  29. package/dist/src/trails/dev-reset.d.ts +6 -0
  30. package/dist/src/trails/dev-reset.d.ts.map +1 -0
  31. package/dist/src/trails/dev-reset.js +38 -0
  32. package/dist/src/trails/dev-reset.js.map +1 -0
  33. package/dist/src/trails/dev-stats.d.ts +7 -0
  34. package/dist/src/trails/dev-stats.d.ts.map +1 -0
  35. package/dist/src/trails/dev-stats.js +61 -0
  36. package/dist/src/trails/dev-stats.js.map +1 -0
  37. package/dist/src/trails/dev-support.d.ts +64 -0
  38. package/dist/src/trails/dev-support.d.ts.map +1 -0
  39. package/dist/src/trails/dev-support.js +178 -0
  40. package/dist/src/trails/dev-support.js.map +1 -0
  41. package/dist/src/trails/draft-promote.d.ts +18 -0
  42. package/dist/src/trails/draft-promote.d.ts.map +1 -0
  43. package/dist/src/trails/draft-promote.js +386 -0
  44. package/dist/src/trails/draft-promote.js.map +1 -0
  45. package/dist/src/trails/guide.d.ts +13 -3
  46. package/dist/src/trails/guide.d.ts.map +1 -1
  47. package/dist/src/trails/guide.js +21 -37
  48. package/dist/src/trails/guide.js.map +1 -1
  49. package/dist/src/trails/load-app.d.ts +3 -1
  50. package/dist/src/trails/load-app.d.ts.map +1 -1
  51. package/dist/src/trails/load-app.js +53 -10
  52. package/dist/src/trails/load-app.js.map +1 -1
  53. package/dist/src/trails/project.d.ts.map +1 -1
  54. package/dist/src/trails/project.js +14 -3
  55. package/dist/src/trails/project.js.map +1 -1
  56. package/dist/src/trails/survey.d.ts +4 -58
  57. package/dist/src/trails/survey.d.ts.map +1 -1
  58. package/dist/src/trails/survey.js +52 -173
  59. package/dist/src/trails/survey.js.map +1 -1
  60. package/dist/src/trails/topo-constants.d.ts +3 -0
  61. package/dist/src/trails/topo-constants.d.ts.map +1 -0
  62. package/dist/src/trails/topo-constants.js +3 -0
  63. package/dist/src/trails/topo-constants.js.map +1 -0
  64. package/dist/src/trails/topo-export.d.ts +18 -0
  65. package/dist/src/trails/topo-export.d.ts.map +1 -0
  66. package/dist/src/trails/topo-export.js +34 -0
  67. package/dist/src/trails/topo-export.js.map +1 -0
  68. package/dist/src/trails/topo-history.d.ts +24 -0
  69. package/dist/src/trails/topo-history.d.ts.map +1 -0
  70. package/dist/src/trails/topo-history.js +33 -0
  71. package/dist/src/trails/topo-history.js.map +1 -0
  72. package/dist/src/trails/topo-pin.d.ts +21 -0
  73. package/dist/src/trails/topo-pin.d.ts.map +1 -0
  74. package/dist/src/trails/topo-pin.js +35 -0
  75. package/dist/src/trails/topo-pin.js.map +1 -0
  76. package/dist/src/trails/topo-read-support.d.ts +54 -0
  77. package/dist/src/trails/topo-read-support.d.ts.map +1 -0
  78. package/dist/src/trails/topo-read-support.js +178 -0
  79. package/dist/src/trails/topo-read-support.js.map +1 -0
  80. package/dist/src/trails/topo-reports.d.ts +50 -0
  81. package/dist/src/trails/topo-reports.d.ts.map +1 -0
  82. package/dist/src/trails/topo-reports.js +122 -0
  83. package/dist/src/trails/topo-reports.js.map +1 -0
  84. package/dist/src/trails/topo-show.d.ts +23 -0
  85. package/dist/src/trails/topo-show.d.ts.map +1 -0
  86. package/dist/src/trails/topo-show.js +53 -0
  87. package/dist/src/trails/topo-show.js.map +1 -0
  88. package/dist/src/trails/topo-store-support.d.ts +13 -0
  89. package/dist/src/trails/topo-store-support.d.ts.map +1 -0
  90. package/dist/src/trails/topo-store-support.js +55 -0
  91. package/dist/src/trails/topo-store-support.js.map +1 -0
  92. package/dist/src/trails/topo-support.d.ts +87 -0
  93. package/dist/src/trails/topo-support.d.ts.map +1 -0
  94. package/dist/src/trails/topo-support.js +165 -0
  95. package/dist/src/trails/topo-support.js.map +1 -0
  96. package/dist/src/trails/topo-unpin.d.ts +15 -0
  97. package/dist/src/trails/topo-unpin.d.ts.map +1 -0
  98. package/dist/src/trails/topo-unpin.js +39 -0
  99. package/dist/src/trails/topo-unpin.js.map +1 -0
  100. package/dist/src/trails/topo-verify.d.ts +5 -0
  101. package/dist/src/trails/topo-verify.d.ts.map +1 -0
  102. package/dist/src/trails/topo-verify.js +28 -0
  103. package/dist/src/trails/topo-verify.js.map +1 -0
  104. package/dist/src/trails/topo.d.ts +5 -0
  105. package/dist/src/trails/topo.d.ts.map +1 -0
  106. package/dist/src/trails/topo.js +67 -0
  107. package/dist/src/trails/topo.js.map +1 -0
  108. package/dist/src/trails/warden.d.ts +1 -1
  109. package/dist/src/trails/warden.d.ts.map +1 -1
  110. package/dist/src/trails/warden.js +28 -27
  111. package/dist/src/trails/warden.js.map +1 -1
  112. package/dist/tsconfig.tsbuildinfo +1 -1
  113. package/package.json +8 -7
  114. package/src/__tests__/draft-promote.test.ts +144 -0
  115. package/src/__tests__/load-app.test.ts +43 -0
  116. package/src/__tests__/survey.test.ts +85 -0
  117. package/src/__tests__/topo-dev.test.ts +424 -0
  118. package/src/app.ts +22 -0
  119. package/src/trails/dev-clean.ts +73 -0
  120. package/src/trails/dev-reset.ts +44 -0
  121. package/src/trails/dev-stats.ts +64 -0
  122. package/src/trails/dev-support.ts +326 -0
  123. package/src/trails/draft-promote.ts +704 -0
  124. package/src/trails/guide.ts +22 -37
  125. package/src/trails/load-app.ts +76 -13
  126. package/src/trails/project.ts +17 -3
  127. package/src/trails/survey.ts +56 -256
  128. package/src/trails/topo-constants.ts +2 -0
  129. package/src/trails/topo-export.ts +39 -0
  130. package/src/trails/topo-history.ts +40 -0
  131. package/src/trails/topo-pin.ts +42 -0
  132. package/src/trails/topo-read-support.ts +332 -0
  133. package/src/trails/topo-reports.ts +221 -0
  134. package/src/trails/topo-show.ts +58 -0
  135. package/src/trails/topo-store-support.ts +96 -0
  136. package/src/trails/topo-support.ts +274 -0
  137. package/src/trails/topo-unpin.ts +51 -0
  138. package/src/trails/topo-verify.ts +29 -0
  139. package/src/trails/topo.ts +73 -0
  140. package/src/trails/warden.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"load-app.js","sourceRoot":"","sources":["../../../src/trails/load-app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAIzC,MAAM,UAAU,GAAG,0BAA0B,CAAC;AAE9C,8EAA8E;AAC9E,MAAM,sBAAsB,GAAG,CAAC,UAAkB,EAAE,GAAW,EAAU,EAAE;IACzE,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAChC,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,YAAY,GAAG,UAAU,CAAC,UAAU,CAAC;QACzC,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAC7B,OAAO,aAAa,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC;AAC1C,CAAC,CAAC;AAEF,6DAA6D;AAC7D,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAC1B,UAAkB,EAClB,GAAW,EACI,EAAE;IACjB,MAAM,GAAG,GAAG,CAAC,MAAM,MAAM,CAAC,sBAAsB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAGjE,CAAC;IACF,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAqB,CAAC;IAC/D,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,oCAAoC,UAAU,KAAK;YACjD,+DAA+D,CAClE,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC"}
1
+ {"version":3,"file":"load-app.js","sourceRoot":"","sources":["../../../src/trails/load-app.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../../src/trails/project.ts"],"names":[],"mappings":"AAAA;;GAEG;AAqBH,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
+ {"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"}
@@ -3,10 +3,21 @@
3
3
  */
4
4
  import { existsSync } from 'node:fs';
5
5
  import { join } from 'node:path';
6
+ import { isDraftMarkedFile } from '@ontrails/warden';
6
7
  /** Return all TypeScript entries in a project's src directory. */
7
- const scanSourceEntries = (srcDir) => [
8
- ...new Bun.Glob('*.ts').scanSync({ cwd: srcDir }),
9
- ];
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
+ });
10
21
  /** Resolve an entry to an app import if it contains topo(). */
11
22
  const toTopoImport = async (srcDir, entry) => {
12
23
  const content = await Bun.file(join(srcDir, entry)).text();
@@ -1 +1 @@
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,kEAAkE;AAClE,MAAM,iBAAiB,GAAG,CAAC,MAAc,EAAY,EAAE,CAAC;IACtD,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;CAClD,CAAC;AAEF,+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
+ {"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,66 +1,12 @@
1
1
  /**
2
2
  * `survey` trail -- Full topo introspection.
3
3
  *
4
- * Lists trails, shows detail for individual trails, generates surface maps,
4
+ * Lists trails, shows detail for individual trails, generates trailhead maps,
5
5
  * and diffs against previous versions.
6
6
  */
7
- import type { Topo, Trail } from '@ontrails/core';
8
- export interface BriefReport {
9
- readonly name: string;
10
- readonly version: string;
11
- readonly contractVersion: string;
12
- readonly features: {
13
- readonly services: boolean;
14
- readonly outputSchemas: boolean;
15
- readonly examples: boolean;
16
- readonly detours: boolean;
17
- readonly events: boolean;
18
- };
19
- readonly trails: number;
20
- readonly events: number;
21
- readonly services: number;
22
- }
23
- export interface SurveyListReport {
24
- readonly count: number;
25
- readonly entries: readonly {
26
- readonly examples: number;
27
- readonly id: string;
28
- readonly kind: string;
29
- readonly safety: string;
30
- }[];
31
- readonly serviceCount: number;
32
- readonly services: readonly {
33
- readonly description: string | null;
34
- readonly health: 'available' | 'none';
35
- readonly id: string;
36
- readonly kind: 'service';
37
- readonly lifetime: 'singleton';
38
- readonly usedBy: readonly string[];
39
- }[];
40
- }
41
- export interface TrailDetailReport {
42
- readonly description: string | null;
43
- readonly detours: Trail<unknown, unknown>['detours'] | null;
44
- readonly examples: readonly unknown[];
45
- readonly follow: readonly string[];
46
- readonly id: string;
47
- readonly intent: 'read' | 'write' | 'destroy';
48
- readonly kind: string;
49
- readonly safety: string;
50
- readonly services: readonly string[];
51
- }
52
- /** Generate a compact capability report for the given topo. */
53
- export declare const generateBriefReport: (app: Topo) => BriefReport;
54
- export declare const generateSurveyList: (app: Topo) => SurveyListReport;
55
- /**
56
- * Build a human-readable detail view for a single trail.
57
- *
58
- * Overlaps with `trailToEntry` in `@ontrails/schema` which builds the
59
- * surface-map entry. The two serve different audiences (human display vs
60
- * machine-diffable surface map) so they are kept separate.
61
- */
62
- export declare const generateTrailDetail: (item: Trail<unknown, unknown>) => TrailDetailReport;
63
- export declare const surveyTrail: Trail<{
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<{
64
10
  breakingOnly: boolean;
65
11
  brief: boolean;
66
12
  generate: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"survey.d.ts","sourceRoot":"","sources":["../../../src/trails/survey.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAoBlD,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,QAAQ,EAAE,OAAO,CAAC;QAC3B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;QAChC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;QAC3B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;QAC1B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;KAC1B,CAAC;IACF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;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,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,SAAS;QAC1B,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,SAAS,CAAC;QACzB,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,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,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,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAiCD,+DAA+D;AAC/D,eAAO,MAAM,mBAAmB,GAAI,KAAK,IAAI,KAAG,WAmB/C,CAAC;AAwDF,eAAO,MAAM,kBAAkB,GAAI,KAAK,IAAI,KAAG,gBA4B9C,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,GAC9B,MAAM,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,KAC5B,iBAgBF,CAAC;AA+HF,eAAO,MAAM,WAAW;;;;;;;;UAmItB,CAAC"}
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,142 +1,19 @@
1
1
  /**
2
2
  * `survey` trail -- Full topo introspection.
3
3
  *
4
- * Lists trails, shows detail for individual trails, generates surface maps,
4
+ * Lists trails, shows detail for individual trails, generates trailhead maps,
5
5
  * and diffs against previous versions.
6
6
  */
7
- import { Result, trail } from '@ontrails/core';
8
- import { diffSurfaceMaps, generateOpenApiSpec, generateSurfaceMap, hashSurfaceMap, readSurfaceMap, writeSurfaceLock, writeSurfaceMap, } from '@ontrails/schema';
7
+ import { NotFoundError, Result, trail } from '@ontrails/core';
8
+ import { diffTrailheadMaps, generateOpenApiSpec, generateTrailheadMap, readTrailheadMap, } from '@ontrails/schema';
9
9
  import { z } from 'zod';
10
10
  import { loadApp } from './load-app.js';
11
- /** Check if a trail has a specific feature. */
12
- const trailHas = (raw, key) => {
13
- if (key === 'examples') {
14
- return Array.isArray(raw[key]) && raw[key].length > 0;
15
- }
16
- return Boolean(raw[key]);
17
- };
18
- /** Detect which features are used across trails. */
19
- const detectFeatures = (app) => {
20
- const trails = [...app.trails.values()].map((item) => item);
21
- return {
22
- hasDetours: trails.some((r) => trailHas(r, 'detours')),
23
- hasExamples: trails.some((r) => trailHas(r, 'examples')),
24
- hasOutputSchemas: trails.some((r) => trailHas(r, 'output')),
25
- hasServices: trails.some((r) => Array.isArray(r['services']) && r['services'].length > 0),
26
- };
27
- };
28
- /** Generate a compact capability report for the given topo. */
29
- export const generateBriefReport = (app) => {
30
- const { hasDetours, hasExamples, hasOutputSchemas, hasServices } = detectFeatures(app);
31
- return {
32
- contractVersion: '2026-03',
33
- events: app.events.size,
34
- features: {
35
- detours: hasDetours,
36
- events: app.events.size > 0,
37
- examples: hasExamples,
38
- outputSchemas: hasOutputSchemas,
39
- services: hasServices,
40
- },
41
- name: app.name,
42
- services: app.services.size,
43
- trails: app.trails.size,
44
- version: '0.1.0',
45
- };
46
- };
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';
47
14
  // ---------------------------------------------------------------------------
48
- // Formatting helpers
15
+ // Brief report (formerly scout)
49
16
  // ---------------------------------------------------------------------------
50
- const safetyLabel = (entry) => {
51
- if (entry.intent === 'destroy') {
52
- return 'destroy';
53
- }
54
- if (entry.intent === 'read') {
55
- return 'read';
56
- }
57
- return '-';
58
- };
59
- const buildServiceUsage = (app) => {
60
- const usage = new Map();
61
- for (const trailDef of app.list()) {
62
- for (const declaredService of trailDef.services) {
63
- const users = usage.get(declaredService.id) ?? [];
64
- users.push(trailDef.id);
65
- usage.set(declaredService.id, users);
66
- }
67
- }
68
- return new Map([...usage.entries()].map(([id, users]) => [id, users.toSorted()]));
69
- };
70
- const serviceHealthStatus = (service) => service.health === undefined ? 'none' : 'available';
71
- const formatServiceList = (app) => {
72
- const usage = buildServiceUsage(app);
73
- return app
74
- .listServices()
75
- .map((service) => ({
76
- description: service.description ?? null,
77
- health: serviceHealthStatus(service),
78
- id: service.id,
79
- kind: service.kind,
80
- lifetime: 'singleton',
81
- usedBy: usage.get(service.id) ?? [],
82
- }))
83
- .toSorted((a, b) => a.id.localeCompare(b.id));
84
- };
85
- export const generateSurveyList = (app) => {
86
- const items = app.list();
87
- const entries = items.map((item) => {
88
- const safety = safetyLabel(item);
89
- const examples = Array.isArray(item.examples)
90
- ? item.examples.length
91
- : 0;
92
- return {
93
- examples,
94
- id: item.id,
95
- kind: item.kind,
96
- safety,
97
- };
98
- });
99
- const services = formatServiceList(app);
100
- return {
101
- count: items.length,
102
- entries,
103
- serviceCount: services.length,
104
- services,
105
- };
106
- };
107
- /**
108
- * Build a human-readable detail view for a single trail.
109
- *
110
- * Overlaps with `trailToEntry` in `@ontrails/schema` which builds the
111
- * surface-map entry. The two serve different audiences (human display vs
112
- * machine-diffable surface map) so they are kept separate.
113
- */
114
- export const generateTrailDetail = (item) => {
115
- const safety = safetyLabel(item);
116
- return {
117
- description: item.description ?? null,
118
- detours: item.detours ?? null,
119
- examples: item.examples ?? [],
120
- follow: item.follow.toSorted(),
121
- id: item.id,
122
- intent: item.intent,
123
- kind: item.kind,
124
- safety,
125
- services: item.services.map((service) => service.id).toSorted(),
126
- };
127
- };
128
- const formatServiceDetail = (app, serviceId) => {
129
- const item = app.getService(serviceId);
130
- const usedBy = buildServiceUsage(app).get(serviceId) ?? [];
131
- return {
132
- description: item?.description ?? null,
133
- health: item ? serviceHealthStatus(item) : 'none',
134
- id: serviceId,
135
- kind: 'service',
136
- lifetime: 'singleton',
137
- usedBy,
138
- };
139
- };
140
17
  const formatDiff = (diff) => ({
141
18
  breaking: diff.breaking,
142
19
  hasBreaking: diff.hasBreaking,
@@ -144,12 +21,12 @@ const formatDiff = (diff) => ({
144
21
  warnings: diff.warnings,
145
22
  });
146
23
  const buildSurveyDiff = async (app, breakingOnly) => {
147
- const currentMap = generateSurfaceMap(app);
148
- const previousMap = await readSurfaceMap();
24
+ const currentMap = generateTrailheadMap(app);
25
+ const previousMap = await readTrailheadMap();
149
26
  if (!previousMap) {
150
- return Result.err(new Error('No previous surface map found. Run `trails survey generate` first.'));
27
+ return Result.err(new NotFoundError('No previous trailhead map found. Run `trails topo export` first.'));
151
28
  }
152
- const diff = diffSurfaceMaps(previousMap, currentMap);
29
+ const diff = diffTrailheadMaps(previousMap, currentMap);
153
30
  return Result.ok(breakingOnly
154
31
  ? formatDiff({
155
32
  ...diff,
@@ -159,22 +36,23 @@ const buildSurveyDiff = async (app, breakingOnly) => {
159
36
  })
160
37
  : formatDiff(diff));
161
38
  };
162
- const buildSurveyDetail = (app, trailId) => {
163
- const item = app.get(trailId);
164
- if (item) {
165
- return Result.ok(generateTrailDetail(item));
39
+ const buildSurveyDetail = (app, trailId, rootDir) => {
40
+ const detail = buildCurrentTopoDetail(app, trailId, { rootDir });
41
+ if (detail !== undefined) {
42
+ return Result.ok(detail);
166
43
  }
167
- if (app.getService(trailId)) {
168
- return Result.ok(formatServiceDetail(app, trailId));
169
- }
170
- return Result.err(new Error(`Trail or service not found: ${trailId}`));
44
+ return Result.err(new NotFoundError(`Trail or provision not found: ${trailId}`));
171
45
  };
172
- const buildSurveyGenerate = async (app) => {
173
- const surfaceMap = generateSurfaceMap(app);
174
- const mapPath = await writeSurfaceMap(surfaceMap);
175
- const hash = hashSurfaceMap(surfaceMap);
176
- const lockPath = await writeSurfaceLock(hash);
177
- return Result.ok({ hash, lockPath, mapPath });
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
+ });
178
56
  };
179
57
  /** Ordered mode checks — first truthy predicate wins, otherwise 'list'. */
180
58
  const modeChecks = [
@@ -188,38 +66,43 @@ const modeChecks = [
188
66
  const resolveSurveyMode = (input) => modeChecks.find(([predicate]) => predicate(input))?.[1] ?? 'list';
189
67
  /** Handlers keyed by survey mode. */
190
68
  const surveyHandlers = {
191
- brief: (app) => Result.ok(generateBriefReport(app)),
192
- detail: (app, input) => buildSurveyDetail(app, input.trailId ?? ''),
69
+ brief: (app, _input, rootDir) => Result.ok(buildCurrentTopoBrief(app, { rootDir })),
70
+ detail: (app, input, rootDir) => buildSurveyDetail(app, input.trailId ?? '', rootDir),
193
71
  diff: (app, input) => buildSurveyDiff(app, input.breakingOnly),
194
- generate: (app) => buildSurveyGenerate(app),
195
- list: (app) => Result.ok(generateSurveyList(app)),
72
+ generate: (app, _input, rootDir) => buildSurveyGenerate(app, rootDir),
73
+ list: (app, _input, rootDir) => Result.ok(buildCurrentTopoList(app, { rootDir })),
196
74
  openapi: (app) => Result.ok(generateOpenApiSpec(app)),
197
75
  };
198
76
  /** Dispatch to the appropriate survey sub-command based on input flags. */
199
- const dispatchSurvey = (app, input) => {
77
+ const dispatchSurvey = (app, input, rootDir) => {
200
78
  const mode = resolveSurveyMode(input);
201
79
  const handler = surveyHandlers[mode];
202
- return handler(app, input);
80
+ return handler(app, input, rootDir);
203
81
  };
204
82
  // ---------------------------------------------------------------------------
205
83
  // Trail definition
206
84
  // ---------------------------------------------------------------------------
207
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
+ },
208
91
  description: 'Full topo introspection',
209
92
  examples: [
210
93
  {
211
- description: 'Lists all registered trails with safety and surface info',
212
- input: {},
94
+ description: 'Lists all registered trails with safety and trailhead info',
95
+ input: { module: './src/app.ts' },
213
96
  name: 'List all trails',
214
97
  },
215
98
  {
216
99
  description: 'Quick capability summary with counts and feature flags',
217
- input: { brief: true },
100
+ input: { brief: true, module: './src/app.ts' },
218
101
  name: 'Brief capability report',
219
102
  },
220
103
  {
221
104
  description: 'Generate an OpenAPI 3.1 specification for the topo',
222
- input: { openapi: true },
105
+ input: { module: './src/app.ts', openapi: true },
223
106
  name: 'OpenAPI spec',
224
107
  },
225
108
  ],
@@ -233,7 +116,7 @@ export const surveyTrail = trail('survey', {
233
116
  generate: z
234
117
  .boolean()
235
118
  .default(false)
236
- .describe('Generate surface map and lock file'),
119
+ .describe('Generate trailhead map and lock file'),
237
120
  module: z
238
121
  .string()
239
122
  .default('./src/app.ts')
@@ -251,28 +134,28 @@ export const surveyTrail = trail('survey', {
251
134
  kind: z.string(),
252
135
  safety: z.string(),
253
136
  })),
254
- serviceCount: z.number(),
255
- services: z.array(z.object({
137
+ provisionCount: z.number(),
138
+ provisions: z.array(z.object({
256
139
  description: z.string().nullable(),
257
140
  health: z.enum(['available', 'none']),
258
141
  id: z.string(),
259
- kind: z.literal('service'),
142
+ kind: z.literal('provision'),
260
143
  lifetime: z.literal('singleton'),
261
144
  usedBy: z.array(z.string()),
262
145
  })),
263
146
  }),
264
147
  z.object({
265
148
  contractVersion: z.string(),
266
- events: z.number(),
267
149
  features: z.object({
268
150
  detours: z.boolean(),
269
- events: z.boolean(),
270
151
  examples: z.boolean(),
271
152
  outputSchemas: z.boolean(),
272
- services: z.boolean(),
153
+ provisions: z.boolean(),
154
+ signals: z.boolean(),
273
155
  }),
274
156
  name: z.string(),
275
- services: z.number(),
157
+ provisions: z.number(),
158
+ signals: z.number(),
276
159
  trails: z.number(),
277
160
  version: z.string(),
278
161
  }),
@@ -283,21 +166,21 @@ export const surveyTrail = trail('survey', {
283
166
  warnings: z.array(z.unknown()),
284
167
  }),
285
168
  z.object({
169
+ crosses: z.array(z.string()),
286
170
  description: z.unknown().nullable(),
287
171
  detours: z.unknown().nullable(),
288
172
  examples: z.array(z.unknown()),
289
- follow: z.array(z.string()),
290
173
  id: z.string(),
291
174
  intent: z.enum(['read', 'write', 'destroy']),
292
175
  kind: z.string(),
176
+ provisions: z.array(z.string()),
293
177
  safety: z.string(),
294
- services: z.array(z.string()),
295
178
  }),
296
179
  z.object({
297
180
  description: z.string().nullable(),
298
181
  health: z.enum(['available', 'none']),
299
182
  id: z.string(),
300
- kind: z.literal('service'),
183
+ kind: z.literal('provision'),
301
184
  lifetime: z.literal('singleton'),
302
185
  usedBy: z.array(z.string()),
303
186
  }),
@@ -325,9 +208,5 @@ export const surveyTrail = trail('survey', {
325
208
  .optional(),
326
209
  }),
327
210
  ]),
328
- run: async (input, ctx) => {
329
- const app = await loadApp(input.module, ctx.cwd ?? '.');
330
- return dispatchSurvey(app, input);
331
- },
332
211
  });
333
212
  //# sourceMappingURL=survey.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"survey.js","sourceRoot":"","sources":["../../../src/trails/survey.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"survey.js","sourceRoot":"","sources":["../../../src/trails/survey.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,3 @@
1
+ export const REPORT_CONTRACT_VERSION = '2026-03';
2
+ export const REPORT_VERSION = '0.1.0';
3
+ //# sourceMappingURL=topo-constants.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,18 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"topo-export.d.ts","sourceRoot":"","sources":["../../../src/trails/topo-export.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;EA2B1B,CAAC"}
@@ -0,0 +1,34 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,24 @@
1
+ export declare const topoHistoryTrail: import("@ontrails/core").Trail<{
2
+ limit: number;
3
+ rootDir?: string | undefined;
4
+ }, {
5
+ dbPath: string;
6
+ limit: number;
7
+ pinCount: number;
8
+ pins: {
9
+ createdAt: string;
10
+ name: string;
11
+ saveId: string;
12
+ }[];
13
+ saveCount: number;
14
+ saves: {
15
+ createdAt: string;
16
+ gitDirty: boolean;
17
+ id: string;
18
+ provisionCount: number;
19
+ signalCount: number;
20
+ trailCount: number;
21
+ gitSha?: string | undefined;
22
+ }[];
23
+ }>;
24
+ //# sourceMappingURL=topo-history.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"topo-history.d.ts","sourceRoot":"","sources":["../../../src/trails/topo-history.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;EA4B3B,CAAC"}