ctxr-cli 0.9.0 → 0.10.0

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 (172) hide show
  1. package/README.md +17 -7
  2. package/dist/commands/init.d.ts.map +1 -1
  3. package/dist/commands/init.js +2 -1
  4. package/dist/commands/init.js.map +1 -1
  5. package/dist/commands/publish-check.d.ts.map +1 -1
  6. package/dist/commands/publish-check.js +8 -0
  7. package/dist/commands/publish-check.js.map +1 -1
  8. package/dist/commands/publish-new.d.ts.map +1 -1
  9. package/dist/commands/publish-new.js +15 -0
  10. package/dist/commands/publish-new.js.map +1 -1
  11. package/dist/commands/serve.d.ts.map +1 -1
  12. package/dist/commands/serve.js +33 -11
  13. package/dist/commands/serve.js.map +1 -1
  14. package/dist/commands/session-start.d.ts.map +1 -1
  15. package/dist/commands/session-start.js +9 -1
  16. package/dist/commands/session-start.js.map +1 -1
  17. package/dist/commands/source-check.d.ts.map +1 -1
  18. package/dist/commands/source-check.js +28 -3
  19. package/dist/commands/source-check.js.map +1 -1
  20. package/dist/commands/update.d.ts.map +1 -1
  21. package/dist/commands/update.js +7 -1
  22. package/dist/commands/update.js.map +1 -1
  23. package/dist/commands/verify.d.ts +11 -2
  24. package/dist/commands/verify.d.ts.map +1 -1
  25. package/dist/commands/verify.js +86 -5
  26. package/dist/commands/verify.js.map +1 -1
  27. package/dist/commands/version.d.ts +31 -0
  28. package/dist/commands/version.d.ts.map +1 -0
  29. package/dist/commands/version.js +87 -0
  30. package/dist/commands/version.js.map +1 -0
  31. package/dist/config/defaults.d.ts +12 -2
  32. package/dist/config/defaults.d.ts.map +1 -1
  33. package/dist/config/defaults.js +9 -2
  34. package/dist/config/defaults.js.map +1 -1
  35. package/dist/config/load.d.ts +2 -2
  36. package/dist/config/load.d.ts.map +1 -1
  37. package/dist/config/load.js +13 -3
  38. package/dist/config/load.js.map +1 -1
  39. package/dist/config/render.d.ts +0 -6
  40. package/dist/config/render.d.ts.map +1 -1
  41. package/dist/config/render.js +4 -27
  42. package/dist/config/render.js.map +1 -1
  43. package/dist/config/schema.d.ts +17 -66
  44. package/dist/config/schema.d.ts.map +1 -1
  45. package/dist/config/schema.js +59 -111
  46. package/dist/config/schema.js.map +1 -1
  47. package/dist/core/browse/nav.d.ts.map +1 -1
  48. package/dist/core/browse/nav.js +4 -1
  49. package/dist/core/browse/nav.js.map +1 -1
  50. package/dist/core/browse/preferences.d.ts +26 -0
  51. package/dist/core/browse/preferences.d.ts.map +1 -0
  52. package/dist/core/browse/preferences.js +74 -0
  53. package/dist/core/browse/preferences.js.map +1 -0
  54. package/dist/core/browse/routes.d.ts +10 -8
  55. package/dist/core/browse/routes.d.ts.map +1 -1
  56. package/dist/core/browse/routes.js +113 -24
  57. package/dist/core/browse/routes.js.map +1 -1
  58. package/dist/core/browse/templates.d.ts +14 -4
  59. package/dist/core/browse/templates.d.ts.map +1 -1
  60. package/dist/core/browse/templates.js +22 -4
  61. package/dist/core/browse/templates.js.map +1 -1
  62. package/dist/core/checks/harness-portability-checks.d.ts +21 -0
  63. package/dist/core/checks/harness-portability-checks.d.ts.map +1 -1
  64. package/dist/core/checks/harness-portability-checks.js +46 -1
  65. package/dist/core/checks/harness-portability-checks.js.map +1 -1
  66. package/dist/core/checks/integrity-checks.d.ts +0 -2
  67. package/dist/core/checks/integrity-checks.d.ts.map +1 -1
  68. package/dist/core/checks/integrity-checks.js +2 -27
  69. package/dist/core/checks/integrity-checks.js.map +1 -1
  70. package/dist/core/command.d.ts +6 -0
  71. package/dist/core/command.d.ts.map +1 -1
  72. package/dist/core/env.d.ts +5 -0
  73. package/dist/core/env.d.ts.map +1 -1
  74. package/dist/core/env.js +3 -0
  75. package/dist/core/env.js.map +1 -1
  76. package/dist/core/environment/probe.d.ts +12 -0
  77. package/dist/core/environment/probe.d.ts.map +1 -0
  78. package/dist/core/environment/probe.js +36 -0
  79. package/dist/core/environment/probe.js.map +1 -0
  80. package/dist/core/errors.d.ts +16 -3
  81. package/dist/core/errors.d.ts.map +1 -1
  82. package/dist/core/errors.js +41 -15
  83. package/dist/core/errors.js.map +1 -1
  84. package/dist/core/git/worktree.d.ts +22 -0
  85. package/dist/core/git/worktree.d.ts.map +1 -1
  86. package/dist/core/git/worktree.js +34 -0
  87. package/dist/core/git/worktree.js.map +1 -1
  88. package/dist/core/harness/isolated-run.d.ts +52 -0
  89. package/dist/core/harness/isolated-run.d.ts.map +1 -0
  90. package/dist/core/harness/isolated-run.js +100 -0
  91. package/dist/core/harness/isolated-run.js.map +1 -0
  92. package/dist/core/install-kind.d.ts +25 -0
  93. package/dist/core/install-kind.d.ts.map +1 -0
  94. package/dist/core/install-kind.js +56 -0
  95. package/dist/core/install-kind.js.map +1 -0
  96. package/dist/core/publish/script-check.d.ts +5 -2
  97. package/dist/core/publish/script-check.d.ts.map +1 -1
  98. package/dist/core/publish/script-check.js +5 -2
  99. package/dist/core/publish/script-check.js.map +1 -1
  100. package/dist/core/registry.d.ts +40 -0
  101. package/dist/core/registry.d.ts.map +1 -0
  102. package/dist/core/registry.js +55 -0
  103. package/dist/core/registry.js.map +1 -0
  104. package/dist/core/root.d.ts +11 -5
  105. package/dist/core/root.d.ts.map +1 -1
  106. package/dist/core/root.js +20 -8
  107. package/dist/core/root.js.map +1 -1
  108. package/dist/core/skills.d.ts.map +1 -1
  109. package/dist/core/skills.js +7 -0
  110. package/dist/core/skills.js.map +1 -1
  111. package/dist/core/version-check.d.ts +63 -0
  112. package/dist/core/version-check.d.ts.map +1 -0
  113. package/dist/core/version-check.js +181 -0
  114. package/dist/core/version-check.js.map +1 -0
  115. package/dist/run.d.ts +1 -1
  116. package/dist/run.d.ts.map +1 -1
  117. package/dist/run.js +38 -16
  118. package/dist/run.js.map +1 -1
  119. package/dist/version.d.ts +8 -1
  120. package/dist/version.d.ts.map +1 -1
  121. package/dist/version.js +8 -1
  122. package/dist/version.js.map +1 -1
  123. package/package.json +1 -1
  124. package/templates/agents/canonical.md +1 -1
  125. package/templates/serve/shell.html +16 -2
  126. package/templates/serve/style.css +145 -3
  127. package/templates/skills/ctxr-session-lifecycle.md +20 -0
  128. package/templates/skills/ctxr-upgrade.md +44 -0
  129. package/dist/commands/migrate.d.ts +0 -30
  130. package/dist/commands/migrate.d.ts.map +0 -1
  131. package/dist/commands/migrate.js +0 -56
  132. package/dist/commands/migrate.js.map +0 -1
  133. package/dist/core/migrations/add-explanation-craft-skill.d.ts +0 -26
  134. package/dist/core/migrations/add-explanation-craft-skill.d.ts.map +0 -1
  135. package/dist/core/migrations/add-explanation-craft-skill.js +0 -94
  136. package/dist/core/migrations/add-explanation-craft-skill.js.map +0 -1
  137. package/dist/core/migrations/archive-destination-from-taxonomy.d.ts +0 -35
  138. package/dist/core/migrations/archive-destination-from-taxonomy.d.ts.map +0 -1
  139. package/dist/core/migrations/archive-destination-from-taxonomy.js +0 -109
  140. package/dist/core/migrations/archive-destination-from-taxonomy.js.map +0 -1
  141. package/dist/core/migrations/config-defaults-as-the-convention.d.ts +0 -21
  142. package/dist/core/migrations/config-defaults-as-the-convention.d.ts.map +0 -1
  143. package/dist/core/migrations/config-defaults-as-the-convention.js +0 -54
  144. package/dist/core/migrations/config-defaults-as-the-convention.js.map +0 -1
  145. package/dist/core/migrations/drop-access-axes.d.ts +0 -24
  146. package/dist/core/migrations/drop-access-axes.d.ts.map +0 -1
  147. package/dist/core/migrations/drop-access-axes.js +0 -54
  148. package/dist/core/migrations/drop-access-axes.js.map +0 -1
  149. package/dist/core/migrations/drop-forge-and-workspaces-external.d.ts +0 -19
  150. package/dist/core/migrations/drop-forge-and-workspaces-external.d.ts.map +0 -1
  151. package/dist/core/migrations/drop-forge-and-workspaces-external.js +0 -49
  152. package/dist/core/migrations/drop-forge-and-workspaces-external.js.map +0 -1
  153. package/dist/core/migrations/registry.d.ts +0 -16
  154. package/dist/core/migrations/registry.d.ts.map +0 -1
  155. package/dist/core/migrations/registry.js +0 -34
  156. package/dist/core/migrations/registry.js.map +0 -1
  157. package/dist/core/migrations/rename-conventions-path.d.ts +0 -26
  158. package/dist/core/migrations/rename-conventions-path.d.ts.map +0 -1
  159. package/dist/core/migrations/rename-conventions-path.js +0 -86
  160. package/dist/core/migrations/rename-conventions-path.js.map +0 -1
  161. package/dist/core/migrations/rename-procedures-path.d.ts +0 -17
  162. package/dist/core/migrations/rename-procedures-path.d.ts.map +0 -1
  163. package/dist/core/migrations/rename-procedures-path.js +0 -45
  164. package/dist/core/migrations/rename-procedures-path.js.map +0 -1
  165. package/dist/core/migrations/retain-captures-as-provenance.d.ts +0 -22
  166. package/dist/core/migrations/retain-captures-as-provenance.d.ts.map +0 -1
  167. package/dist/core/migrations/retain-captures-as-provenance.js +0 -133
  168. package/dist/core/migrations/retain-captures-as-provenance.js.map +0 -1
  169. package/dist/core/migrations/types.d.ts +0 -27
  170. package/dist/core/migrations/types.d.ts.map +0 -1
  171. package/dist/core/migrations/types.js +0 -2
  172. package/dist/core/migrations/types.js.map +0 -1
@@ -17,15 +17,9 @@ export interface RouteTable {
17
17
  graphDocumentPath: string;
18
18
  /** Keyed by the exact URL-relative path under /publish/ — a lookup miss is the only traversal guard needed (design.md D2). */
19
19
  publishFiles: ReadonlyMap<string, PublishFileRoute>;
20
+ /** Keyed by page path (the same key `publishPages` reports); the page's own declared name, when it has one. */
21
+ publishTitles: ReadonlyMap<string, string>;
20
22
  }
21
- /**
22
- * local-browsing-surface design.md D2: built fresh from the store's own
23
- * enumeration on every call, never cached — so a path outside every
24
- * configured location is absent from the table by construction, and a
25
- * request for it is an ordinary lookup miss rather than a check that could
26
- * be forgotten on one route and not another.
27
- */
28
- export declare function buildRouteTable(store: Store): Promise<RouteTable>;
29
23
  /** The file every published-page directory carries, and the route the navigation links a page to. */
30
24
  export declare const PUBLISH_INDEX_FILE = "index.html";
31
25
  /**
@@ -37,4 +31,12 @@ export declare const PUBLISH_INDEX_FILE = "index.html";
37
31
  * onto a top-level ancestor that may hold no index page at all.
38
32
  */
39
33
  export declare function publishPages(table: RouteTable): string[];
34
+ /**
35
+ * local-browsing-surface design.md D2: built fresh from the store's own
36
+ * enumeration on every call, never cached — so a path outside every
37
+ * configured location is absent from the table by construction, and a
38
+ * request for it is an ordinary lookup miss rather than a check that could
39
+ * be forgotten on one route and not another.
40
+ */
41
+ export declare function buildRouteTable(store: Store): Promise<RouteTable>;
40
42
  //# sourceMappingURL=routes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../src/core/browse/routes.ts"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,oEAAoE;IACpE,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,wGAAwG;IACxG,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACjC,mCAAmC;IACnC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC3C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,8HAA8H;IAC9H,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CACrD;AAuBD;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,CAevE;AAED,qGAAqG;AACrG,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAE/C;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE,CASxD"}
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../src/core/browse/routes.ts"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,oEAAoE;IACpE,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,wGAAwG;IACxG,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACjC,mCAAmC;IACnC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC3C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,8HAA8H;IAC9H,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACpD,+GAA+G;IAC/G,aAAa,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C;AAuBD,qGAAqG;AACrG,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAa/C;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE,CAExD;AAyFD;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,CAgBvE"}
@@ -1,4 +1,4 @@
1
- import { readdir } from 'node:fs/promises';
1
+ import { open, readdir } from 'node:fs/promises';
2
2
  import path from 'node:path';
3
3
  import { catalogSectionsFor, sectionFileName } from '../catalog/model.js';
4
4
  import { graphDocumentPath } from '../graph/persist.js';
@@ -25,6 +25,116 @@ async function walkFiles(root, relative = '') {
25
25
  }
26
26
  return files;
27
27
  }
28
+ /** The file every published-page directory carries, and the route the navigation links a page to. */
29
+ export const PUBLISH_INDEX_FILE = 'index.html';
30
+ function pagesFromPublishFiles(publishFiles) {
31
+ const pages = new Set();
32
+ for (const urlPath of publishFiles.keys()) {
33
+ const separator = urlPath.lastIndexOf('/');
34
+ if (separator === -1)
35
+ continue;
36
+ if (urlPath.slice(separator + 1) !== PUBLISH_INDEX_FILE)
37
+ continue;
38
+ pages.add(urlPath.slice(0, separator));
39
+ }
40
+ return [...pages].sort();
41
+ }
42
+ /**
43
+ * browse-navigation-by-folder design.md D4: a published page is a directory
44
+ * holding an index page, at whatever depth it sits — not an immediate child
45
+ * of the publish path. A directory that only contains other pages is a
46
+ * grouping node with no page of its own, and a page nested several
47
+ * directories deep is addressable at its full path rather than collapsed
48
+ * onto a top-level ancestor that may hold no index page at all.
49
+ */
50
+ export function publishPages(table) {
51
+ return pagesFromPublishFiles(table.publishFiles);
52
+ }
53
+ /** design.md D4 (serve-page-names-theme-and-nav-toggle): a page's title is always in its <head>, well within this bound. */
54
+ const TITLE_PREFIX_BYTES = 4096;
55
+ const TITLE_MAX_LENGTH = 120;
56
+ const TITLE_TAG_RE = /<title[^>]*>([\s\S]*?)<\/title>/i;
57
+ const ENTITY_RE = /&(#x?[0-9a-f]+|[a-z]+);/gi;
58
+ const NAMED_ENTITIES = {
59
+ amp: '&',
60
+ lt: '<',
61
+ gt: '>',
62
+ quot: '"',
63
+ apos: "'",
64
+ };
65
+ function decodeEntities(text) {
66
+ return text.replace(ENTITY_RE, (match, body) => {
67
+ if (body.startsWith('#')) {
68
+ const isHex = body[1] === 'x' || body[1] === 'X';
69
+ const codePoint = Number.parseInt(body.slice(isHex ? 2 : 1), isHex ? 16 : 10);
70
+ if (!Number.isFinite(codePoint) || codePoint < 0 || codePoint > 0x10ffff)
71
+ return match;
72
+ try {
73
+ return String.fromCodePoint(codePoint);
74
+ }
75
+ catch {
76
+ return match;
77
+ }
78
+ }
79
+ const named = NAMED_ENTITIES[body.toLowerCase()];
80
+ return named ?? match;
81
+ });
82
+ }
83
+ /**
84
+ * design.md D1/D4 (serve-page-names-theme-and-nav-toggle): extracts a
85
+ * page's declared name from a bounded prefix of its HTML source. A prefix
86
+ * truncated mid-tag has no closing </title> within it, so the regex simply
87
+ * fails to match and the caller falls back — no partial-tag text is ever
88
+ * returned.
89
+ */
90
+ function extractTitle(htmlPrefix) {
91
+ const match = TITLE_TAG_RE.exec(htmlPrefix);
92
+ if (!match)
93
+ return undefined;
94
+ const collapsed = decodeEntities(match[1] ?? '').replace(/\s+/g, ' ').trim();
95
+ if (collapsed.length === 0)
96
+ return undefined;
97
+ return collapsed.length > TITLE_MAX_LENGTH ? collapsed.slice(0, TITLE_MAX_LENGTH) : collapsed;
98
+ }
99
+ /**
100
+ * Reads only the first TITLE_PREFIX_BYTES of the file — a page's title is
101
+ * always in its <head>, and this keeps the per-request cost proportional to
102
+ * page count rather than page size (design.md D4). Sliced as a Buffer and
103
+ * decoded afterward, so a multibyte character straddling the boundary is
104
+ * never split mid-sequence before decoding.
105
+ */
106
+ async function readPageTitle(absolutePath) {
107
+ let handle;
108
+ try {
109
+ handle = await open(absolutePath, 'r');
110
+ }
111
+ catch {
112
+ return undefined;
113
+ }
114
+ try {
115
+ const buffer = Buffer.alloc(TITLE_PREFIX_BYTES);
116
+ const { bytesRead } = await handle.read(buffer, 0, TITLE_PREFIX_BYTES, 0);
117
+ return extractTitle(buffer.subarray(0, bytesRead).toString('utf8'));
118
+ }
119
+ catch {
120
+ return undefined;
121
+ }
122
+ finally {
123
+ await handle.close();
124
+ }
125
+ }
126
+ async function resolvePublishTitles(pages, publishFiles) {
127
+ const titles = new Map();
128
+ await Promise.all(pages.map(async (page) => {
129
+ const indexRoute = publishFiles.get(`${page}/${PUBLISH_INDEX_FILE}`);
130
+ if (!indexRoute)
131
+ return;
132
+ const title = await readPageTitle(indexRoute.absolutePath);
133
+ if (title)
134
+ titles.set(page, title);
135
+ }));
136
+ return titles;
137
+ }
28
138
  /**
29
139
  * local-browsing-surface design.md D2: built fresh from the store's own
30
140
  * enumeration on every call, never cached — so a path outside every
@@ -41,28 +151,7 @@ export async function buildRouteTable(store) {
41
151
  ]));
42
152
  const publishRoot = path.join(store.root, store.config.publish.path);
43
153
  const publishFiles = new Map((await walkFiles(publishRoot)).map((file) => [file.urlPath, file]));
44
- return { notes, catalog, graphDocumentPath: graphDocumentPath(store), publishFiles };
45
- }
46
- /** The file every published-page directory carries, and the route the navigation links a page to. */
47
- export const PUBLISH_INDEX_FILE = 'index.html';
48
- /**
49
- * browse-navigation-by-folder design.md D4: a published page is a directory
50
- * holding an index page, at whatever depth it sits — not an immediate child
51
- * of the publish path. A directory that only contains other pages is a
52
- * grouping node with no page of its own, and a page nested several
53
- * directories deep is addressable at its full path rather than collapsed
54
- * onto a top-level ancestor that may hold no index page at all.
55
- */
56
- export function publishPages(table) {
57
- const pages = new Set();
58
- for (const urlPath of table.publishFiles.keys()) {
59
- const separator = urlPath.lastIndexOf('/');
60
- if (separator === -1)
61
- continue;
62
- if (urlPath.slice(separator + 1) !== PUBLISH_INDEX_FILE)
63
- continue;
64
- pages.add(urlPath.slice(0, separator));
65
- }
66
- return [...pages].sort();
154
+ const publishTitles = await resolvePublishTitles(pagesFromPublishFiles(publishFiles), publishFiles);
155
+ return { notes, catalog, graphDocumentPath: graphDocumentPath(store), publishFiles, publishTitles };
67
156
  }
68
157
  //# sourceMappingURL=routes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../src/core/browse/routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../src/core/browse/routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAa,MAAM,kBAAkB,CAAC;AA0BxD,KAAK,UAAU,SAAS,CAAC,IAAY,EAAE,QAAQ,GAAG,EAAE;IAClD,IAAI,OAAO,CAAC;IACZ,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAC;QAChE,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,MAAM,KAAK,GAAuB,EAAE,CAAC;IACrC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;QAC1E,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,SAAS,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,qGAAqG;AACrG,MAAM,CAAC,MAAM,kBAAkB,GAAG,YAAY,CAAC;AAE/C,SAAS,qBAAqB,CAAC,YAAmD;IAChF,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,MAAM,OAAO,IAAI,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;QAC1C,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,SAAS,KAAK,CAAC,CAAC;YAAE,SAAS;QAC/B,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,kBAAkB;YAAE,SAAS;QAClE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,KAAiB;IAC5C,OAAO,qBAAqB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AACnD,CAAC;AAED,4HAA4H;AAC5H,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAChC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAE7B,MAAM,YAAY,GAAG,kCAAkC,CAAC;AACxD,MAAM,SAAS,GAAG,2BAA2B,CAAC;AAC9C,MAAM,cAAc,GAAqC;IACvD,GAAG,EAAE,GAAG;IACR,EAAE,EAAE,GAAG;IACP,EAAE,EAAE,GAAG;IACP,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;CACV,CAAC;AAEF,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE;QACrD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;YACjD,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC9E,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,CAAC,IAAI,SAAS,GAAG,QAAQ;gBAAE,OAAO,KAAK,CAAC;YACvF,IAAI,CAAC;gBACH,OAAO,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACjD,OAAO,KAAK,IAAI,KAAK,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,UAAkB;IACtC,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5C,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7E,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7C,OAAO,SAAS,CAAC,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAChG,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,aAAa,CAAC,YAAoB;IAC/C,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAChD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC;QAC1E,OAAO,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACtE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,KAAwB,EACxB,YAAmD;IAEnD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACvB,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,kBAAkB,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC,UAAU;YAAE,OAAO;QACxB,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAC3D,IAAI,KAAK;YAAE,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC,CACH,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,KAAY;IAChD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAEjE,MAAM,OAAO,GAAG,IAAI,GAAG,CACrB,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QAChD,OAAO,CAAC,EAAE;QACV,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,EAAE;KAC7G,CAAC,CACH,CAAC;IAEF,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACjG,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,qBAAqB,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC,CAAC;IAEpG,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC;AACtG,CAAC"}
@@ -1,13 +1,23 @@
1
+ import type { NavState, ThemeMode } from './preferences.js';
2
+ export interface ShellState {
3
+ theme: ThemeMode;
4
+ navState: NavState;
5
+ }
1
6
  /**
2
- * Wraps rendered body HTML in the shared page shell, substituting all three
3
- * slots exactly once each. browse-navigation-by-folder design.md D1: the
7
+ * Wraps rendered body HTML in the shared page shell, substituting every
8
+ * slot exactly once. browse-navigation-by-folder design.md D1: the
4
9
  * navigation is a slot here rather than markup each route prepends, so no
5
10
  * HTML route can render without it.
6
11
  *
7
12
  * Each substitution passes a replacer function rather than a string, because
8
13
  * `String.replace` reads `$&`, `$\'` and friends out of a string replacement
9
- * — and a note path or title is free to contain them.
14
+ * — and a note path or title is free to contain them. `state.theme` and
15
+ * `state.navState` are always one of a fixed, known-safe literal union —
16
+ * resolved by `resolveTheme`/`resolveNavState`, never raw cookie or
17
+ * query-parameter text — so they're interpolated directly; the toggle label
18
+ * is still escaped, since escaping a value already known-safe costs nothing
19
+ * and keeps every slot here following the same rule.
10
20
  */
11
- export declare function renderShell(title: string, bodyHtml: string, navHtml: string): Promise<string>;
21
+ export declare function renderShell(title: string, bodyHtml: string, navHtml: string, state: ShellState): Promise<string>;
12
22
  export declare function readStylesheet(): Promise<string>;
13
23
  //# sourceMappingURL=templates.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../../src/core/browse/templates.ts"],"names":[],"mappings":"AAqBA;;;;;;;;;GASG;AACH,wBAAsB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAMnG;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAEtD"}
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../../src/core/browse/templates.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAmB5D,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAaD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAUtH;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAEtD"}
@@ -16,20 +16,38 @@ function templatesDir() {
16
16
  async function readServeTemplate(fileName) {
17
17
  return readFile(path.join(templatesDir(), fileName), 'utf8');
18
18
  }
19
+ /** design.md D9: the wide-viewport control links to the opposite of the current state. */
20
+ const NAV_TOGGLE_HREF = {
21
+ shown: '?ctxr-nav=collapsed',
22
+ collapsed: '?ctxr-nav=shown',
23
+ };
24
+ const NAV_TOGGLE_LABEL = {
25
+ shown: 'Hide sidebar',
26
+ collapsed: 'Show sidebar',
27
+ };
19
28
  /**
20
- * Wraps rendered body HTML in the shared page shell, substituting all three
21
- * slots exactly once each. browse-navigation-by-folder design.md D1: the
29
+ * Wraps rendered body HTML in the shared page shell, substituting every
30
+ * slot exactly once. browse-navigation-by-folder design.md D1: the
22
31
  * navigation is a slot here rather than markup each route prepends, so no
23
32
  * HTML route can render without it.
24
33
  *
25
34
  * Each substitution passes a replacer function rather than a string, because
26
35
  * `String.replace` reads `$&`, `$\'` and friends out of a string replacement
27
- * — and a note path or title is free to contain them.
36
+ * — and a note path or title is free to contain them. `state.theme` and
37
+ * `state.navState` are always one of a fixed, known-safe literal union —
38
+ * resolved by `resolveTheme`/`resolveNavState`, never raw cookie or
39
+ * query-parameter text — so they're interpolated directly; the toggle label
40
+ * is still escaped, since escaping a value already known-safe costs nothing
41
+ * and keeps every slot here following the same rule.
28
42
  */
29
- export async function renderShell(title, bodyHtml, navHtml) {
43
+ export async function renderShell(title, bodyHtml, navHtml, state) {
30
44
  const shell = await readServeTemplate('shell.html');
31
45
  return shell
32
46
  .replace('{{TITLE}}', () => escapeHtml(title))
47
+ .replace('{{THEME}}', () => state.theme)
48
+ .replace('{{NAV_STATE}}', () => state.navState)
49
+ .replace('{{NAV_TOGGLE_HREF}}', () => NAV_TOGGLE_HREF[state.navState])
50
+ .replace('{{NAV_TOGGLE_LABEL}}', () => escapeHtml(NAV_TOGGLE_LABEL[state.navState]))
33
51
  .replace('{{NAV}}', () => navHtml)
34
52
  .replace('{{BODY}}', () => bodyHtml);
35
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../../src/core/browse/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC;;;;;;;GAOG;AACH,SAAS,YAAY;IACnB,OAAO,aAAa,CAAC,IAAI,GAAG,CAAC,0BAA0B,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,QAAgB;IAC/C,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;AAC/D,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAAa,EAAE,QAAgB,EAAE,OAAe;IAChF,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACpD,OAAO,KAAK;SACT,OAAO,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;SAC7C,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC;SACjC,OAAO,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,OAAO,iBAAiB,CAAC,WAAW,CAAC,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../../src/core/browse/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC;;;;;;;GAOG;AACH,SAAS,YAAY;IACnB,OAAO,aAAa,CAAC,IAAI,GAAG,CAAC,0BAA0B,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,QAAgB;IAC/C,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;AAC/D,CAAC;AAOD,0FAA0F;AAC1F,MAAM,eAAe,GAAuC;IAC1D,KAAK,EAAE,qBAAqB;IAC5B,SAAS,EAAE,iBAAiB;CAC7B,CAAC;AAEF,MAAM,gBAAgB,GAAuC;IAC3D,KAAK,EAAE,cAAc;IACrB,SAAS,EAAE,cAAc;CAC1B,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAAa,EAAE,QAAgB,EAAE,OAAe,EAAE,KAAiB;IACnG,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACpD,OAAO,KAAK;SACT,OAAO,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;SAC7C,OAAO,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC;SACvC,OAAO,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC;SAC9C,OAAO,CAAC,qBAAqB,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SACrE,OAAO,CAAC,sBAAsB,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;SACnF,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC;SACjC,OAAO,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,OAAO,iBAAiB,CAAC,WAAW,CAAC,CAAC;AACxC,CAAC"}
@@ -8,5 +8,26 @@
8
8
  * truncating content the inlining exists to surface.
9
9
  */
10
10
  export declare const conventionsSectionSizeCheck: import("./types.js").CheckDefinition;
11
+ /**
12
+ * harness-portability spec (retire-store-migrations): "A skills path sitting
13
+ * on a harness's own branded directory is reported."
14
+ *
15
+ * `bridgeHarnessSkills` skips a harness whose directory already equals the
16
+ * canonical skills path, and `harness_portability.skills_bridge` skips on the
17
+ * same equality — correctly, since a harness needing no bridge has none to
18
+ * break. That leaves one state neither can express: the configured skills
19
+ * path having drifted onto a harness's OWN branded directory, where no bridge
20
+ * is created and any harness the store has not declared finds nothing.
21
+ *
22
+ * Compared against the adapter's declared `skillsDir`, never
23
+ * `effectiveSkillsDir` — a store that sets `adapters[].skills_dir` equal to
24
+ * the canonical path is deliberately opting out of a bridge, which the
25
+ * adapters spec supports by name, and must not be reported for it.
26
+ *
27
+ * An observation, not an invariant: this capability's "A store predating this
28
+ * default keeps its own path" scenario permits exactly this state, with no
29
+ * relocation and no migration. The store is told, not blocked.
30
+ */
31
+ export declare const skillsPathIsHarnessBrandedCheck: import("./types.js").CheckDefinition;
11
32
  export declare const HARNESS_PORTABILITY_CHECKS: import("./types.js").CheckDefinition[];
12
33
  //# sourceMappingURL=harness-portability-checks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"harness-portability-checks.d.ts","sourceRoot":"","sources":["../../../src/core/checks/harness-portability-checks.ts"],"names":[],"mappings":"AAKA;;;;;;;;GAQG;AACH,eAAO,MAAM,2BAA2B,sCAuBtC,CAAC;AAEH,eAAO,MAAM,0BAA0B,wCAAgC,CAAC"}
1
+ {"version":3,"file":"harness-portability-checks.d.ts","sourceRoot":"","sources":["../../../src/core/checks/harness-portability-checks.ts"],"names":[],"mappings":"AAOA;;;;;;;;GAQG;AACH,eAAO,MAAM,2BAA2B,sCAuBtC,CAAC;AAEH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,+BAA+B,sCAqB1C,CAAC;AAEH,eAAO,MAAM,0BAA0B,wCAAiE,CAAC"}
@@ -1,3 +1,5 @@
1
+ import { configuredAdapters } from '../../adapters/registry.js';
2
+ import { DEFAULT_SKILLS_PATH } from '../../config/defaults.js';
1
3
  import { AGENTS_MD_CONVENTIONS_FENCE, agentsMdPath } from '../agents-doc.js';
2
4
  import { readFencedRegionFromFile } from '../fs/fenced-region.js';
3
5
  import { defineCheck } from './types.js';
@@ -34,5 +36,48 @@ export const conventionsSectionSizeCheck = defineCheck({
34
36
  return { status: 'fail', findings: [finding] };
35
37
  },
36
38
  });
37
- export const HARNESS_PORTABILITY_CHECKS = [conventionsSectionSizeCheck];
39
+ /**
40
+ * harness-portability spec (retire-store-migrations): "A skills path sitting
41
+ * on a harness's own branded directory is reported."
42
+ *
43
+ * `bridgeHarnessSkills` skips a harness whose directory already equals the
44
+ * canonical skills path, and `harness_portability.skills_bridge` skips on the
45
+ * same equality — correctly, since a harness needing no bridge has none to
46
+ * break. That leaves one state neither can express: the configured skills
47
+ * path having drifted onto a harness's OWN branded directory, where no bridge
48
+ * is created and any harness the store has not declared finds nothing.
49
+ *
50
+ * Compared against the adapter's declared `skillsDir`, never
51
+ * `effectiveSkillsDir` — a store that sets `adapters[].skills_dir` equal to
52
+ * the canonical path is deliberately opting out of a bridge, which the
53
+ * adapters spec supports by name, and must not be reported for it.
54
+ *
55
+ * An observation, not an invariant: this capability's "A store predating this
56
+ * default keeps its own path" scenario permits exactly this state, with no
57
+ * relocation and no migration. The store is told, not blocked.
58
+ */
59
+ export const skillsPathIsHarnessBrandedCheck = defineCheck({
60
+ id: 'harness_portability.skills_path_is_harness_branded',
61
+ title: 'The configured skills path is not a declared harness\'s own branded directory',
62
+ severity: 'observation',
63
+ capability: 'harness-portability',
64
+ scopes: ['store'],
65
+ async run(ctx) {
66
+ const canonical = ctx.config.harness.skills_path;
67
+ const findings = [];
68
+ for (const adapter of configuredAdapters(ctx.config, 'harness-generation')) {
69
+ if (adapter.skillsDir !== canonical)
70
+ continue;
71
+ findings.push({
72
+ code: 'harness_portability.skills_path_is_harness_branded',
73
+ severity: 'info',
74
+ message: `harness.skills_path is "${canonical}", which is ${adapter.id}'s own branded skills directory. No bridge is created for it, and a harness this store does not declare finds no skills there. The cross-harness location is "${DEFAULT_SKILLS_PATH}".`,
75
+ subject: adapter.id,
76
+ details: { path: canonical, canonical: DEFAULT_SKILLS_PATH },
77
+ });
78
+ }
79
+ return { status: findings.length > 0 ? 'fail' : 'pass', findings };
80
+ },
81
+ });
82
+ export const HARNESS_PORTABILITY_CHECKS = [conventionsSectionSizeCheck, skillsPathIsHarnessBrandedCheck];
38
83
  //# sourceMappingURL=harness-portability-checks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"harness-portability-checks.js","sourceRoot":"","sources":["../../../src/core/checks/harness-portability-checks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAE7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,WAAW,CAAC;IACrD,EAAE,EAAE,8CAA8C;IAClD,KAAK,EAAE,2FAA2F;IAClG,QAAQ,EAAE,WAAW;IACrB,UAAU,EAAE,qBAAqB;IACjC,MAAM,EAAE,CAAC,OAAO,CAAC;IACjB,KAAK,CAAC,GAAG,CAAC,GAAG;QACX,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,2BAA2B,CAAC,CAAC;QACxG,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,0DAA0D,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QAClH,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC;QACvD,IAAI,IAAI,IAAI,MAAM;YAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QAE5D,MAAM,OAAO,GAAY;YACvB,IAAI,EAAE,uDAAuD;YAC7D,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,8CAA8C,IAAI,8CAA8C,MAAM,+EAA+E;YAC9L,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SAC1B,CAAC;QACF,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACjD,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,2BAA2B,CAAC,CAAC"}
1
+ {"version":3,"file":"harness-portability-checks.js","sourceRoot":"","sources":["../../../src/core/checks/harness-portability-checks.ts"],"names":[],"mappings":"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"}
@@ -23,8 +23,6 @@ export declare const derivedArtifactStalenessCheck: import("./types.js").CheckDe
23
23
  * syntax) — never a legitimate "leave it" case — so it's this check's alone.
24
24
  */
25
25
  export declare const graphAmbiguousLinksCheck: import("./types.js").CheckDefinition;
26
- /** store-integrity spec: "schema version currency (per store-lifecycle)." */
27
- export declare const schemaVersionCurrencyCheck: import("./types.js").CheckDefinition;
28
26
  /** store-integrity spec: "adapter compatibility (per adapters)." */
29
27
  export declare const adapterCompatibilityCheck: import("./types.js").CheckDefinition;
30
28
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"integrity-checks.d.ts","sourceRoot":"","sources":["../../../src/core/checks/integrity-checks.ts"],"names":[],"mappings":"AAkCA;;;;;;;GAOG;AACH,eAAO,MAAM,6BAA6B,sCAkCxC,CAAC;AAEH;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,wBAAwB,sCAsBnC,CAAC;AAEH,6EAA6E;AAC7E,eAAO,MAAM,0BAA0B,sCAsBrC,CAAC;AAEH,oEAAoE;AACpE,eAAO,MAAM,yBAAyB,sCAuBpC,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,sCAwBnC,CAAC;AAYH;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,0CAA0C,sCAiDrD,CAAC;AAEH,qEAAqE;AACrE,eAAO,MAAM,6BAA6B,sCAgBxC,CAAC;AAEH;;;;;;;;;GASG;AACH,eAAO,MAAM,kCAAkC,sCA4B7C,CAAC;AAqBH;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,wCAAwC,sCAiEnD,CAAC;AAEH,eAAO,MAAM,gBAAgB,wCAU5B,CAAC"}
1
+ {"version":3,"file":"integrity-checks.d.ts","sourceRoot":"","sources":["../../../src/core/checks/integrity-checks.ts"],"names":[],"mappings":"AAkCA;;;;;;;GAOG;AACH,eAAO,MAAM,6BAA6B,sCAkCxC,CAAC;AAEH;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,wBAAwB,sCAsBnC,CAAC;AAEH,oEAAoE;AACpE,eAAO,MAAM,yBAAyB,sCAuBpC,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,sCAwBnC,CAAC;AAYH;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,0CAA0C,sCAiDrD,CAAC;AAEH,qEAAqE;AACrE,eAAO,MAAM,6BAA6B,sCAgBxC,CAAC;AAEH;;;;;;;;;GASG;AACH,eAAO,MAAM,kCAAkC,sCA4B7C,CAAC;AAqBH;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,wCAAwC,sCAiEnD,CAAC;AAEH,eAAO,MAAM,gBAAgB,wCAS5B,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { readFile } from 'node:fs/promises';
2
2
  import path from 'node:path';
3
3
  import { configuredAdapters, resolveAdapter } from '../../adapters/registry.js';
4
- import { StoreConfigSchema, SUPPORTED_SCHEMA_VERSION } from '../../config/schema.js';
4
+ import { StoreConfigSchema } from '../../config/schema.js';
5
5
  import { AGENTS_MD_CONVENTIONS_FENCE, AGENTS_MD_MISSION_FENCE, agentsMdPath, checkAgentsMdDrift, renderConventionsSection, renderMissionSection, } from '../agents-doc.js';
6
6
  import { checkCatalogStale } from '../catalog/build.js';
7
7
  import { extractDocMetadata, scanConventions } from '../conventions.js';
@@ -99,30 +99,6 @@ export const graphAmbiguousLinksCheck = defineCheck({
99
99
  return { status: findings.length > 0 ? 'fail' : 'pass', findings };
100
100
  },
101
101
  });
102
- /** store-integrity spec: "schema version currency (per store-lifecycle)." */
103
- export const schemaVersionCurrencyCheck = defineCheck({
104
- id: 'store.schema_version_currency',
105
- title: 'The store is at the current schema version',
106
- severity: 'invariant',
107
- capability: 'store-lifecycle',
108
- scopes: ['store'],
109
- async run(ctx) {
110
- if (ctx.config.schema_version >= SUPPORTED_SCHEMA_VERSION) {
111
- return { status: 'pass', findings: [] };
112
- }
113
- return {
114
- status: 'fail',
115
- findings: [
116
- {
117
- code: 'store.schema_version_behind',
118
- severity: 'error',
119
- message: `The store is at schema_version ${ctx.config.schema_version}, behind the supported version ${SUPPORTED_SCHEMA_VERSION}. Run \`ctxr migrate\`.`,
120
- details: { current: ctx.config.schema_version, supported: SUPPORTED_SCHEMA_VERSION },
121
- },
122
- ],
123
- };
124
- },
125
- });
126
102
  /** store-integrity spec: "adapter compatibility (per adapters)." */
127
103
  export const adapterCompatibilityCheck = defineCheck({
128
104
  id: 'adapters.compatibility',
@@ -266,7 +242,7 @@ export const noUnrecognizedConfigKeysCheck = defineCheck({
266
242
  const findings = unrecognized.map((key) => ({
267
243
  code: 'store.unrecognized_config_key',
268
244
  severity: 'error',
269
- message: `contexture.yaml has a top-level "${key}" key that this version of contexture doesn't recognize — a config schema this old, or a capability retired in a later release. Remove it, or check contexture's changelog for a migration note.`,
245
+ message: `contexture.yaml has a top-level "${key}" key that this version of contexture doesn't recognize — a typo, or a capability retired in a later release. Remove it, or check contexture's release notes for what replaced it.`,
270
246
  subject: key,
271
247
  }));
272
248
  return { status: findings.length > 0 ? 'fail' : 'pass', findings };
@@ -405,7 +381,6 @@ export const stagedAgentsMdInlinedContentCurrentCheck = defineCheck({
405
381
  export const INTEGRITY_CHECKS = [
406
382
  derivedArtifactStalenessCheck,
407
383
  graphAmbiguousLinksCheck,
408
- schemaVersionCurrencyCheck,
409
384
  adapterCompatibilityCheck,
410
385
  harnessEntryNoDuplicateConventionTextCheck,
411
386
  harnessSkillsBridgeCheck,
@@ -1 +1 @@
1
- {"version":3,"file":"integrity-checks.js","sourceRoot":"","sources":["../../../src/core/checks/integrity-checks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"integrity-checks.js","sourceRoot":"","sources":["../../../src/core/checks/integrity-checks.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,12 @@ export interface CommandOutcome<TData> {
17
17
  findings: Finding[];
18
18
  /** One-line human-readable summary, used when --json is not passed. */
19
19
  humanSummary: string;
20
+ /**
21
+ * Diagnostic lines for stderr, emitted through Reporter alongside the result
22
+ * in BOTH modes — this is how a command says something to a human without
23
+ * touching stdout, which --json reserves for exactly one JSON value.
24
+ */
25
+ notices?: string[];
20
26
  storeRoot: string | null;
21
27
  schemaVersion: number | null;
22
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/core/command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,UAAU,GAAG,QAAQ,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc,CAAC,KAAK;IACnC,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC;IACnB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,uEAAuE;IACvE,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B"}
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/core/command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,UAAU,GAAG,QAAQ,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc,CAAC,KAAK;IACnC,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC;IACnB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,uEAAuE;IACvE,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B"}
@@ -1,5 +1,6 @@
1
1
  import type { Prompter } from '../prompt/prompter.js';
2
2
  import type { GitRunner } from './git/exec.js';
3
+ import type { RegistryClient } from './registry.js';
3
4
  /**
4
5
  * The injected environment every command runs against. `run(argv, env)` is
5
6
  * the one testable seam in the whole CLI: tests build a fake RunEnv (piped
@@ -20,12 +21,16 @@ export interface Io {
20
21
  }
21
22
  export interface RunEnv {
22
23
  cwd: string;
24
+ /** The running Node binary, used to tell a global install from a working copy. */
25
+ execPath: string;
23
26
  env: Readonly<Record<string, string | undefined>>;
24
27
  io: Io;
25
28
  /** Set by program.ts before a command runs: the --no-input flag, or implied by --json. */
26
29
  noInput: boolean;
27
30
  prompter: Prompter;
28
31
  git: GitRunner;
32
+ /** The release registry. The only network-capable port; see core/registry.ts. */
33
+ registry: RegistryClient;
29
34
  now(): Date;
30
35
  }
31
36
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/core/env.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAI/C;;;;;;GAMG;AACH,MAAM,WAAW,EAAE;IACjB,KAAK,EAAE,MAAM,CAAC,cAAc,GAAG;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACnD,MAAM,EAAE,MAAM,CAAC,cAAc,GAAG;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACpD,MAAM,EAAE,MAAM,CAAC,cAAc,GAAG;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CACrD;AAED,MAAM,WAAW,MAAM;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IAClD,EAAE,EAAE,EAAE,CAAC;IACP,0FAA0F;IAC1F,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;IACnB,GAAG,EAAE,SAAS,CAAC;IACf,GAAG,IAAI,IAAI,CAAC;CACb;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAElD;AAED,wBAAgB,OAAO,IAAI,MAAM,CAUhC"}
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/core/env.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAIpD;;;;;;GAMG;AACH,MAAM,WAAW,EAAE;IACjB,KAAK,EAAE,MAAM,CAAC,cAAc,GAAG;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACnD,MAAM,EAAE,MAAM,CAAC,cAAc,GAAG;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACpD,MAAM,EAAE,MAAM,CAAC,cAAc,GAAG;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CACrD;AAED,MAAM,WAAW,MAAM;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,kFAAkF;IAClF,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IAClD,EAAE,EAAE,EAAE,CAAC;IACP,0FAA0F;IAC1F,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;IACnB,GAAG,EAAE,SAAS,CAAC;IACf,iFAAiF;IACjF,QAAQ,EAAE,cAAc,CAAC;IACzB,GAAG,IAAI,IAAI,CAAC;CACb;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAElD;AAED,wBAAgB,OAAO,IAAI,MAAM,CAYhC"}
package/dist/core/env.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { createExecFileGitRunner } from './git/exec.js';
2
+ import { createFetchRegistryClient } from './registry.js';
2
3
  import { createInquirerPrompter } from '../prompt/inquirer-prompter.js';
3
4
  /**
4
5
  * interactive ⇔ stdin.isTTY && stdout.isTTY && !noInput.
@@ -13,11 +14,13 @@ export function isInteractive(env) {
13
14
  export function realEnv() {
14
15
  return {
15
16
  cwd: process.cwd(),
17
+ execPath: process.execPath,
16
18
  env: process.env,
17
19
  io: { stdin: process.stdin, stdout: process.stdout, stderr: process.stderr },
18
20
  noInput: false,
19
21
  prompter: createInquirerPrompter(),
20
22
  git: createExecFileGitRunner(),
23
+ registry: createFetchRegistryClient(),
21
24
  now: () => new Date(),
22
25
  };
23
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/core/env.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AA0BxE;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,OAAO,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,OAAO;IACrB,OAAO;QACL,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;QAC5E,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,sBAAsB,EAAE;QAClC,GAAG,EAAE,uBAAuB,EAAE;QAC9B,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE;KACtB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/core/env.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAExD,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AA8BxE;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,OAAO,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,OAAO;IACrB,OAAO;QACL,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;QAC5E,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,sBAAsB,EAAE;QAClC,GAAG,EAAE,uBAAuB,EAAE;QAC9B,QAAQ,EAAE,yBAAyB,EAAE;QACrC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE;KACtB,CAAC;AACJ,CAAC"}