@velarscript/cli 0.10.1

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 (228) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +117 -0
  3. package/dist/application-package-host.d.ts +5 -0
  4. package/dist/application-package-host.d.ts.map +1 -0
  5. package/dist/application-package-host.js +67 -0
  6. package/dist/application-package-host.js.map +1 -0
  7. package/dist/bounded-text.d.ts +2 -0
  8. package/dist/bounded-text.d.ts.map +1 -0
  9. package/dist/bounded-text.js +13 -0
  10. package/dist/bounded-text.js.map +1 -0
  11. package/dist/browser-process-owner.d.ts +15 -0
  12. package/dist/browser-process-owner.d.ts.map +1 -0
  13. package/dist/browser-process-owner.js +151 -0
  14. package/dist/browser-process-owner.js.map +1 -0
  15. package/dist/browser-test-runner.d.ts +11 -0
  16. package/dist/browser-test-runner.d.ts.map +1 -0
  17. package/dist/browser-test-runner.js +1022 -0
  18. package/dist/browser-test-runner.js.map +1 -0
  19. package/dist/build-engine-tool.d.ts +3 -0
  20. package/dist/build-engine-tool.d.ts.map +1 -0
  21. package/dist/build-engine-tool.js +34 -0
  22. package/dist/build-engine-tool.js.map +1 -0
  23. package/dist/build-staging.d.ts +3 -0
  24. package/dist/build-staging.d.ts.map +1 -0
  25. package/dist/build-staging.js +3 -0
  26. package/dist/build-staging.js.map +1 -0
  27. package/dist/bundled-application-package-host-registry.d.ts +10 -0
  28. package/dist/bundled-application-package-host-registry.d.ts.map +1 -0
  29. package/dist/bundled-application-package-host-registry.js +16 -0
  30. package/dist/bundled-application-package-host-registry.js.map +1 -0
  31. package/dist/bundled-extension-registry.d.ts +22 -0
  32. package/dist/bundled-extension-registry.d.ts.map +1 -0
  33. package/dist/bundled-extension-registry.js +10 -0
  34. package/dist/bundled-extension-registry.js.map +1 -0
  35. package/dist/canonical-path.d.ts +3 -0
  36. package/dist/canonical-path.d.ts.map +1 -0
  37. package/dist/canonical-path.js +30 -0
  38. package/dist/canonical-path.js.map +1 -0
  39. package/dist/cli.d.ts +3 -0
  40. package/dist/cli.d.ts.map +1 -0
  41. package/dist/cli.js +1274 -0
  42. package/dist/cli.js.map +1 -0
  43. package/dist/config.d.ts +26 -0
  44. package/dist/config.d.ts.map +1 -0
  45. package/dist/config.js +403 -0
  46. package/dist/config.js.map +1 -0
  47. package/dist/deployment-verifier.d.ts +34 -0
  48. package/dist/deployment-verifier.d.ts.map +1 -0
  49. package/dist/deployment-verifier.js +260 -0
  50. package/dist/deployment-verifier.js.map +1 -0
  51. package/dist/dev-server.d.ts +3 -0
  52. package/dist/dev-server.d.ts.map +1 -0
  53. package/dist/dev-server.js +464 -0
  54. package/dist/dev-server.js.map +1 -0
  55. package/dist/embedded-modules.d.ts +17 -0
  56. package/dist/embedded-modules.d.ts.map +1 -0
  57. package/dist/embedded-modules.js +33 -0
  58. package/dist/embedded-modules.js.map +1 -0
  59. package/dist/extension-metadata.d.ts +23 -0
  60. package/dist/extension-metadata.d.ts.map +1 -0
  61. package/dist/extension-metadata.js +254 -0
  62. package/dist/extension-metadata.js.map +1 -0
  63. package/dist/file-integrity.d.ts +7 -0
  64. package/dist/file-integrity.d.ts.map +1 -0
  65. package/dist/file-integrity.js +14 -0
  66. package/dist/file-integrity.js.map +1 -0
  67. package/dist/framework-host.d.ts +12 -0
  68. package/dist/framework-host.d.ts.map +1 -0
  69. package/dist/framework-host.js +46 -0
  70. package/dist/framework-host.js.map +1 -0
  71. package/dist/host-error.d.ts +6 -0
  72. package/dist/host-error.d.ts.map +1 -0
  73. package/dist/host-error.js +54 -0
  74. package/dist/host-error.js.map +1 -0
  75. package/dist/installed-package.d.ts +9 -0
  76. package/dist/installed-package.d.ts.map +1 -0
  77. package/dist/installed-package.js +23 -0
  78. package/dist/installed-package.js.map +1 -0
  79. package/dist/language-server-bundle-entry.d.ts +2 -0
  80. package/dist/language-server-bundle-entry.d.ts.map +1 -0
  81. package/dist/language-server-bundle-entry.js +7 -0
  82. package/dist/language-server-bundle-entry.js.map +1 -0
  83. package/dist/language-server-tool.d.ts +3 -0
  84. package/dist/language-server-tool.d.ts.map +1 -0
  85. package/dist/language-server-tool.js +30 -0
  86. package/dist/language-server-tool.js.map +1 -0
  87. package/dist/language-server.d.ts +9 -0
  88. package/dist/language-server.d.ts.map +1 -0
  89. package/dist/language-server.js +1733 -0
  90. package/dist/language-server.js.map +1 -0
  91. package/dist/mechanical-fixer.d.ts +30 -0
  92. package/dist/mechanical-fixer.d.ts.map +1 -0
  93. package/dist/mechanical-fixer.js +103 -0
  94. package/dist/mechanical-fixer.js.map +1 -0
  95. package/dist/module-assets.d.ts +11 -0
  96. package/dist/module-assets.d.ts.map +1 -0
  97. package/dist/module-assets.js +90 -0
  98. package/dist/module-assets.js.map +1 -0
  99. package/dist/npm.d.ts +23 -0
  100. package/dist/npm.d.ts.map +1 -0
  101. package/dist/npm.js +456 -0
  102. package/dist/npm.js.map +1 -0
  103. package/dist/official-language-server-extensions.d.ts +2 -0
  104. package/dist/official-language-server-extensions.d.ts.map +1 -0
  105. package/dist/official-language-server-extensions.js +38 -0
  106. package/dist/official-language-server-extensions.js.map +1 -0
  107. package/dist/official-script-language-service.d.ts +2 -0
  108. package/dist/official-script-language-service.d.ts.map +1 -0
  109. package/dist/official-script-language-service.js +10 -0
  110. package/dist/official-script-language-service.js.map +1 -0
  111. package/dist/official-tool-assets.d.ts +3 -0
  112. package/dist/official-tool-assets.d.ts.map +1 -0
  113. package/dist/official-tool-assets.js +41 -0
  114. package/dist/official-tool-assets.js.map +1 -0
  115. package/dist/ownership-graph.d.ts +46 -0
  116. package/dist/ownership-graph.d.ts.map +1 -0
  117. package/dist/ownership-graph.js +255 -0
  118. package/dist/ownership-graph.js.map +1 -0
  119. package/dist/package-manager.d.ts +20 -0
  120. package/dist/package-manager.d.ts.map +1 -0
  121. package/dist/package-manager.js +345 -0
  122. package/dist/package-manager.js.map +1 -0
  123. package/dist/packaged-official-tool.d.ts +8 -0
  124. package/dist/packaged-official-tool.d.ts.map +1 -0
  125. package/dist/packaged-official-tool.js +32 -0
  126. package/dist/packaged-official-tool.js.map +1 -0
  127. package/dist/preview-server.d.ts +11 -0
  128. package/dist/preview-server.d.ts.map +1 -0
  129. package/dist/preview-server.js +163 -0
  130. package/dist/preview-server.js.map +1 -0
  131. package/dist/production-build.d.ts +57 -0
  132. package/dist/production-build.d.ts.map +1 -0
  133. package/dist/production-build.js +332 -0
  134. package/dist/production-build.js.map +1 -0
  135. package/dist/production-verifier.d.ts +9 -0
  136. package/dist/production-verifier.d.ts.map +1 -0
  137. package/dist/production-verifier.js +268 -0
  138. package/dist/production-verifier.js.map +1 -0
  139. package/dist/program-runner.d.ts +7 -0
  140. package/dist/program-runner.d.ts.map +1 -0
  141. package/dist/program-runner.js +98 -0
  142. package/dist/program-runner.js.map +1 -0
  143. package/dist/project-check.d.ts +31 -0
  144. package/dist/project-check.d.ts.map +1 -0
  145. package/dist/project-check.js +95 -0
  146. package/dist/project-check.js.map +1 -0
  147. package/dist/project-format.d.ts +6 -0
  148. package/dist/project-format.d.ts.map +1 -0
  149. package/dist/project-format.js +21 -0
  150. package/dist/project-format.js.map +1 -0
  151. package/dist/project-semantic.d.ts +62 -0
  152. package/dist/project-semantic.d.ts.map +1 -0
  153. package/dist/project-semantic.js +1079 -0
  154. package/dist/project-semantic.js.map +1 -0
  155. package/dist/project-session.d.ts +36 -0
  156. package/dist/project-session.d.ts.map +1 -0
  157. package/dist/project-session.js +339 -0
  158. package/dist/project-session.js.map +1 -0
  159. package/dist/project-task-bundle-entry.d.ts +2 -0
  160. package/dist/project-task-bundle-entry.d.ts.map +1 -0
  161. package/dist/project-task-bundle-entry.js +18 -0
  162. package/dist/project-task-bundle-entry.js.map +1 -0
  163. package/dist/project-task-invocation.d.ts +16 -0
  164. package/dist/project-task-invocation.d.ts.map +1 -0
  165. package/dist/project-task-invocation.js +72 -0
  166. package/dist/project-task-invocation.js.map +1 -0
  167. package/dist/project-task-tool.d.ts +3 -0
  168. package/dist/project-task-tool.d.ts.map +1 -0
  169. package/dist/project-task-tool.js +61 -0
  170. package/dist/project-task-tool.js.map +1 -0
  171. package/dist/project.d.ts +71 -0
  172. package/dist/project.d.ts.map +1 -0
  173. package/dist/project.js +1750 -0
  174. package/dist/project.js.map +1 -0
  175. package/dist/reproduction.d.ts +50 -0
  176. package/dist/reproduction.d.ts.map +1 -0
  177. package/dist/reproduction.js +321 -0
  178. package/dist/reproduction.js.map +1 -0
  179. package/dist/script-language-service.d.ts +82 -0
  180. package/dist/script-language-service.d.ts.map +1 -0
  181. package/dist/script-language-service.js +18 -0
  182. package/dist/script-language-service.js.map +1 -0
  183. package/dist/source-limits.d.ts +5 -0
  184. package/dist/source-limits.d.ts.map +1 -0
  185. package/dist/source-limits.js +19 -0
  186. package/dist/source-limits.js.map +1 -0
  187. package/dist/standalone-build.d.ts +15 -0
  188. package/dist/standalone-build.d.ts.map +1 -0
  189. package/dist/standalone-build.js +76 -0
  190. package/dist/standalone-build.js.map +1 -0
  191. package/dist/standard-modules.d.ts +22 -0
  192. package/dist/standard-modules.d.ts.map +1 -0
  193. package/dist/standard-modules.js +3066 -0
  194. package/dist/standard-modules.js.map +1 -0
  195. package/dist/static-deployment.d.ts +48 -0
  196. package/dist/static-deployment.d.ts.map +1 -0
  197. package/dist/static-deployment.js +142 -0
  198. package/dist/static-deployment.js.map +1 -0
  199. package/dist/test-output.d.ts +20 -0
  200. package/dist/test-output.d.ts.map +1 -0
  201. package/dist/test-output.js +119 -0
  202. package/dist/test-output.js.map +1 -0
  203. package/dist/test-runner.d.ts +13 -0
  204. package/dist/test-runner.d.ts.map +1 -0
  205. package/dist/test-runner.js +226 -0
  206. package/dist/test-runner.js.map +1 -0
  207. package/dist/typescript-declarations.d.ts +20 -0
  208. package/dist/typescript-declarations.d.ts.map +1 -0
  209. package/dist/typescript-declarations.js +1609 -0
  210. package/dist/typescript-declarations.js.map +1 -0
  211. package/dist/uncaught-program-error.d.ts +24 -0
  212. package/dist/uncaught-program-error.d.ts.map +1 -0
  213. package/dist/uncaught-program-error.js +105 -0
  214. package/dist/uncaught-program-error.js.map +1 -0
  215. package/dist/unowned-errors.d.ts +56 -0
  216. package/dist/unowned-errors.d.ts.map +1 -0
  217. package/dist/unowned-errors.js +82 -0
  218. package/dist/unowned-errors.js.map +1 -0
  219. package/dist/version.d.ts +3 -0
  220. package/dist/version.d.ts.map +1 -0
  221. package/dist/version.js +3 -0
  222. package/dist/version.js.map +1 -0
  223. package/dist/workspace-index.d.ts +78 -0
  224. package/dist/workspace-index.d.ts.map +1 -0
  225. package/dist/workspace-index.js +493 -0
  226. package/dist/workspace-index.js.map +1 -0
  227. package/package.json +45 -0
  228. package/skill/ai-skill.md +749 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typescript-declarations.js","sourceRoot":"","sources":["../src/typescript-declarations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ export interface UncaughtProgramEntryOptions {
2
+ /** The compiled entry module the launcher imports. */
3
+ readonly entryUrl: string;
4
+ /** The `.vel` entry the author wrote, named in the failure header. */
5
+ readonly sourcePath: string;
6
+ /** Prints every frame, including Node.js internals, instead of the owned ones. */
7
+ readonly fullStack: boolean;
8
+ }
9
+ /**
10
+ * MOD-U10: an uncaught module-initialization or entry error used to reach the
11
+ * author as a raw Node.js crash dump — `.vel` frames source-mapped correctly but
12
+ * buried between `ModuleJob.run (node:internal/...)` frames and a `Node.js
13
+ * vX.Y.Z` banner, which reads as a toolchain crash rather than a program
14
+ * failure. `velar run` therefore enters the program through this launcher: the
15
+ * failure is presented as an owned VelarScript failure with the author's frames,
16
+ * and the unfiltered trace stays one flag away (`velar run --stack`).
17
+ *
18
+ * The launcher only presents an error Node.js would otherwise have made fatal:
19
+ * when the program installs its own `uncaughtException` listener the program
20
+ * owns the error and this handler stands down, so program semantics are
21
+ * unchanged.
22
+ */
23
+ export declare function uncaughtProgramEntrySource(options: UncaughtProgramEntryOptions): string;
24
+ //# sourceMappingURL=uncaught-program-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uncaught-program-error.d.ts","sourceRoot":"","sources":["../src/uncaught-program-error.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,2BAA2B;IAC1C,sDAAsD;IACtD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,sEAAsE;IACtE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,kFAAkF;IAClF,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,2BAA2B,GAAG,MAAM,CAyFvF"}
@@ -0,0 +1,105 @@
1
+ /**
2
+ * MOD-U10: an uncaught module-initialization or entry error used to reach the
3
+ * author as a raw Node.js crash dump — `.vel` frames source-mapped correctly but
4
+ * buried between `ModuleJob.run (node:internal/...)` frames and a `Node.js
5
+ * vX.Y.Z` banner, which reads as a toolchain crash rather than a program
6
+ * failure. `velar run` therefore enters the program through this launcher: the
7
+ * failure is presented as an owned VelarScript failure with the author's frames,
8
+ * and the unfiltered trace stays one flag away (`velar run --stack`).
9
+ *
10
+ * The launcher only presents an error Node.js would otherwise have made fatal:
11
+ * when the program installs its own `uncaughtException` listener the program
12
+ * owns the error and this handler stands down, so program semantics are
13
+ * unchanged.
14
+ */
15
+ export function uncaughtProgramEntrySource(options) {
16
+ return `import { readFileSync } from "node:fs";
17
+
18
+ const entryUrl = ${JSON.stringify(options.entryUrl)};
19
+ const sourcePath = ${JSON.stringify(options.sourcePath)};
20
+ const fullStack = ${options.fullStack ? "true" : "false"};
21
+ const maximumTextLength = 64 * 1024;
22
+ const maximumCauseDepth = 8;
23
+ const internalFrame = /(?:^|\\s|\\()node:[a-z_]+(?:\\/|:)/u;
24
+ const framePosition = /\\(?([^()]+):(\\d+):(\\d+)\\)?$/u;
25
+ const launcherUrl = import.meta.url;
26
+
27
+ const bounded = (value) => (value.length <= maximumTextLength ? value : \`\${value.slice(0, maximumTextLength)}…\`);
28
+ const portableFrame = (frame) => frame.replaceAll("\\\\", "/");
29
+
30
+ const describe = (error) => {
31
+ if (error instanceof Error) {
32
+ const stack = typeof error.stack === "string" && error.stack.length > 0
33
+ ? error.stack
34
+ : \`\${error.name}: \${error.message}\`;
35
+ return bounded(stack);
36
+ }
37
+ if (typeof error === "string") return bounded(\`The program threw a non-Error string value: \${error}\`);
38
+ const kind = error === null ? "null" : typeof error;
39
+ return \`The program threw a non-Error \${kind} value\`;
40
+ };
41
+
42
+ const presentTrace = (error) => {
43
+ const lines = describe(error).split("\\n");
44
+ // The launcher itself is never the author's frame in either presentation.
45
+ const frames = lines.filter((line) => /^\\s+at\\s/u.test(line) && !line.includes(launcherUrl));
46
+ const owned = fullStack ? frames : frames.filter((line) => !internalFrame.test(line));
47
+ const header = lines.filter((line) => !/^\\s+at\\s/u.test(line));
48
+ return { header, owned, hidden: frames.length - owned.length };
49
+ };
50
+
51
+ const codeFrame = (frame) => {
52
+ const position = framePosition.exec(frame.trimEnd());
53
+ if (!position || !position[1].endsWith(".vel")) return [];
54
+ try {
55
+ const text = readFileSync(position[1], "utf8");
56
+ if (text.length > 4 * 1024 * 1024) return [];
57
+ const line = text.split(/\\r\\n|\\r|\\n/u)[Number(position[2]) - 1];
58
+ if (line === undefined || line.length > 240) return [];
59
+ const column = Math.max(1, Number(position[3]));
60
+ return [line, \`\${" ".repeat(column - 1)}^\`];
61
+ } catch {
62
+ return [];
63
+ }
64
+ };
65
+
66
+ const present = (error) => {
67
+ const output = [\`velar run: uncaught error while running \${sourcePath}\`];
68
+ let current = error;
69
+ for (let depth = 0; depth <= maximumCauseDepth; depth += 1) {
70
+ const trace = presentTrace(current);
71
+ if (depth > 0) output.push("caused by:");
72
+ output.push(...trace.header);
73
+ if (depth === 0 && trace.owned.length > 0) output.push(...codeFrame(trace.owned[0]));
74
+ output.push(...trace.owned.map(portableFrame));
75
+ if (trace.hidden > 0) {
76
+ output.push(\` (\${trace.hidden} Node.js internal frame\${trace.hidden === 1 ? "" : "s"} hidden; rerun with 'velar run --stack' for the full trace)\`);
77
+ }
78
+ const cause = current instanceof Error ? current.cause : undefined;
79
+ if (cause === undefined || cause === null) break;
80
+ if (depth === maximumCauseDepth) {
81
+ output.push("caused by: (further causes omitted)");
82
+ break;
83
+ }
84
+ current = cause;
85
+ }
86
+ process.stderr.write(\`\${output.join("\\n")}\\n\`);
87
+ };
88
+
89
+ process.on("uncaughtException", (error) => {
90
+ // Another listener means the program owns this error and Node.js would not
91
+ // have made it fatal; the launcher stays out of the way.
92
+ if (process.listeners("uncaughtException").length > 1) return;
93
+ present(error);
94
+ process.exit(1);
95
+ });
96
+
97
+ // The entry is imported without awaiting it here: an await in this launcher
98
+ // would add a launcher frame to every async stack the program itself prints.
99
+ import(entryUrl).catch((error) => {
100
+ present(error);
101
+ process.exit(1);
102
+ });
103
+ `;
104
+ }
105
+ //# sourceMappingURL=uncaught-program-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uncaught-program-error.js","sourceRoot":"","sources":["../src/uncaught-program-error.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,0BAA0B,CAAC,OAAoC;IAC7E,OAAO;;mBAEU,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC;qBAC9B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC;oBACnC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmFvD,CAAC;AACF,CAAC"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * ASY-D2 + WEB-N5 + BLD-D1, one stance owned in one place: any unowned error
3
+ * during a test fails that test. Unowned means anything that reaches the host
4
+ * error channel instead of the test's own await chain — a detached-task
5
+ * report, an uncaught exception or unhandled rejection (a module whose
6
+ * initialization touches the DOM in a headless run lands here), or any other
7
+ * console.error the program never owned.
8
+ *
9
+ * Both test runners share this channel because the stance is not a property of
10
+ * one runner: the Node runner adopted it first, the browser runner ran without
11
+ * it long enough for a page that threw on every mount to report `1 passed, 0
12
+ * failed` twice in a blind test, and a third channel (work still running after
13
+ * the last test) escaped both. A single owner makes the three reachable
14
+ * failure paths — during a test, while loading a test module, and after the
15
+ * run — one mechanism instead of three partial copies.
16
+ */
17
+ export interface UnownedErrorChannel {
18
+ /**
19
+ * Reports captured since the last drain. Two macrotask turns let reports
20
+ * that were already scheduled during the awaited work (a settled detached
21
+ * rejection observes on a microtask, its chained observer one turn later)
22
+ * land before the verdict is read.
23
+ */
24
+ drain(): Promise<readonly string[]>;
25
+ /**
26
+ * Waits until the process has no work left to do, so a failure that lands
27
+ * late is still attributed to the work that started it. Resolves true on
28
+ * quiescence and false when the owned upper bound expires — an expiry is
29
+ * itself a failure, because work that never finishes is work whose failure
30
+ * can never be reported.
31
+ */
32
+ settle(timeoutMs: number): Promise<boolean>;
33
+ /** Restores the host channels and disarms the exit net. */
34
+ release(): void;
35
+ }
36
+ export interface UnownedErrorChannelOptions {
37
+ /**
38
+ * Arms a process-exit net: a report still undrained when the process exits
39
+ * is written to stderr and forces a non-zero exit code. Only a runner that
40
+ * owns its whole process may arm it, and only a runner whose exit path is
41
+ * `process.exit` needs it — quiescence cannot be observed through a live IPC
42
+ * channel, so the browser-test worker cannot use `settle` as its last net.
43
+ */
44
+ readonly exitNet?: boolean;
45
+ }
46
+ export declare function captureUnownedErrors(options?: UnownedErrorChannelOptions): UnownedErrorChannel;
47
+ /**
48
+ * A compiled test module reports its failures with JavaScript stacks. Without
49
+ * source-map support those stacks name the runner's own sandbox
50
+ * (`.velar/test-XXXX/src/a.test.js?run=...`), which is not a place the author
51
+ * can edit; with it they name `src/a.test.vel:6:15`.
52
+ */
53
+ export declare function mapCompiledStacksToSources(): void;
54
+ /** Waits for buffered output to reach the operating system. */
55
+ export declare function flushOutput(stream: NodeJS.WritableStream): Promise<void>;
56
+ //# sourceMappingURL=unowned-errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unowned-errors.d.ts","sourceRoot":"","sources":["../src/unowned-errors.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;;OAKG;IACH,KAAK,IAAI,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;IACpC;;;;;;OAMG;IACH,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5C,2DAA2D;IAC3D,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,0BAA0B;IACzC;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,0BAA+B,GAAG,mBAAmB,CA2DlG;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,IAAI,IAAI,CAEjD;AAED,+DAA+D;AAC/D,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAI9E"}
@@ -0,0 +1,82 @@
1
+ import { hostErrorStack } from "./host-error.js";
2
+ export function captureUnownedErrors(options = {}) {
3
+ const reports = [];
4
+ const hostConsole = console;
5
+ const originalConsoleError = hostConsole.error;
6
+ const captureConsoleError = (...values) => {
7
+ reports.push(values.map((value) => (typeof value === "string" ? value : hostErrorStack(value))).join(" "));
8
+ Reflect.apply(originalConsoleError, hostConsole, values);
9
+ };
10
+ const captureHostError = (error) => {
11
+ reports.push(hostErrorStack(error));
12
+ };
13
+ const exitNet = options.exitNet === true
14
+ ? () => {
15
+ if (reports.length === 0)
16
+ return;
17
+ const trailing = reports.splice(0).join("\n");
18
+ try {
19
+ process.stderr.write(`✗ an unowned error was reported as the run exited\n${trailing}\n`);
20
+ }
21
+ catch { }
22
+ const code = process.exitCode;
23
+ if (code === undefined || code === 0)
24
+ process.exitCode = 1;
25
+ }
26
+ : null;
27
+ hostConsole.error = captureConsoleError;
28
+ process.on("uncaughtException", captureHostError);
29
+ process.on("unhandledRejection", captureHostError);
30
+ if (exitNet !== null)
31
+ process.on("exit", exitNet);
32
+ return {
33
+ async drain() {
34
+ await new Promise((resolve) => setImmediate(resolve));
35
+ await new Promise((resolve) => setImmediate(resolve));
36
+ return reports.splice(0);
37
+ },
38
+ settle(timeoutMs) {
39
+ if (!Number.isSafeInteger(timeoutMs) || timeoutMs < 1 || timeoutMs > 600_000) {
40
+ throw new RangeError("A settle bound must be an integer from 1 through 600000");
41
+ }
42
+ return new Promise((resolve) => {
43
+ // The bound is unreferenced so that it cannot itself be the work that
44
+ // keeps the loop alive; `beforeExit` is Node's own report that nothing
45
+ // is left to run, which is exactly the question being asked.
46
+ const onIdle = () => {
47
+ clearTimeout(timer);
48
+ resolve(true);
49
+ };
50
+ const timer = setTimeout(() => {
51
+ process.off("beforeExit", onIdle);
52
+ resolve(false);
53
+ }, timeoutMs);
54
+ timer.unref();
55
+ process.once("beforeExit", onIdle);
56
+ });
57
+ },
58
+ release() {
59
+ hostConsole.error = originalConsoleError;
60
+ process.off("uncaughtException", captureHostError);
61
+ process.off("unhandledRejection", captureHostError);
62
+ if (exitNet !== null)
63
+ process.off("exit", exitNet);
64
+ },
65
+ };
66
+ }
67
+ /**
68
+ * A compiled test module reports its failures with JavaScript stacks. Without
69
+ * source-map support those stacks name the runner's own sandbox
70
+ * (`.velar/test-XXXX/src/a.test.js?run=...`), which is not a place the author
71
+ * can edit; with it they name `src/a.test.vel:6:15`.
72
+ */
73
+ export function mapCompiledStacksToSources() {
74
+ process.setSourceMapsEnabled(true);
75
+ }
76
+ /** Waits for buffered output to reach the operating system. */
77
+ export async function flushOutput(stream) {
78
+ await new Promise((resolve, reject) => {
79
+ stream.write("", (error) => error ? reject(error) : resolve());
80
+ });
81
+ }
82
+ //# sourceMappingURL=unowned-errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unowned-errors.js","sourceRoot":"","sources":["../src/unowned-errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare const VELAR_VERSION = "0.10.1";
2
+ export declare const VELAR_STANDARD_API_VERSION = "0.5";
3
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,WAAW,CAAC;AACtC,eAAO,MAAM,0BAA0B,QAAQ,CAAC"}
@@ -0,0 +1,3 @@
1
+ export const VELAR_VERSION = "0.10.1";
2
+ export const VELAR_STANDARD_API_VERSION = "0.5";
3
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,QAAQ,CAAC;AACtC,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,CAAC"}
@@ -0,0 +1,78 @@
1
+ export declare const WORKSPACE_TEXT_EXTENSIONS: readonly [".vel", ".js", ".mjs", ".cjs", ".jsx", ".ts", ".mts", ".cts", ".tsx", ".json", ".md", ".css"];
2
+ export declare const MAX_WORKSPACE_TEXT_FILES = 50000;
3
+ export declare const MAX_WORKSPACE_TEXT_FILE_BYTES: number;
4
+ export declare const MAX_WORKSPACE_TEXT_BYTES: number;
5
+ export declare const MAX_WORKSPACE_SEARCH_QUERY_CODE_UNITS = 1024;
6
+ export declare const MAX_WORKSPACE_SEARCH_RESULTS = 10000;
7
+ export declare const MAX_WORKSPACE_SEARCH_PREVIEW_CODE_UNITS = 256;
8
+ export declare const MAX_WORKSPACE_CHANGE_PATHS = 4096;
9
+ export declare const MAX_WORKSPACE_CHANGE_PATH_CODE_UNITS = 4096;
10
+ export declare const MAX_WORKSPACE_CHANGE_TEXT_CODE_UNITS: number;
11
+ export interface WorkspaceIndexPosition {
12
+ readonly line: number;
13
+ readonly utf16Character: number;
14
+ readonly utf32Character: number;
15
+ }
16
+ export interface WorkspaceTextMatch {
17
+ readonly path: string;
18
+ readonly start: WorkspaceIndexPosition;
19
+ readonly end: WorkspaceIndexPosition;
20
+ readonly preview: string;
21
+ }
22
+ export interface WorkspaceTextSearchResult {
23
+ readonly matches: readonly WorkspaceTextMatch[];
24
+ readonly limitReached: boolean;
25
+ readonly filesSearched: number;
26
+ readonly indexedFiles: number;
27
+ readonly indexedBytes: number;
28
+ readonly revision: number;
29
+ readonly durationMs: number;
30
+ readonly coverageComplete: boolean;
31
+ }
32
+ export interface WorkspaceTextSearchOptions {
33
+ readonly caseSensitive?: boolean;
34
+ readonly maximumResults?: number;
35
+ readonly cancelled?: () => boolean;
36
+ }
37
+ export interface WorkspaceIndexActivity {
38
+ readonly strategy: "rescan" | "known-changes";
39
+ readonly filesRead: number;
40
+ readonly indexedFiles: number;
41
+ readonly indexedBytes: number;
42
+ readonly skippedLargeFiles: number;
43
+ readonly skippedByAggregateBudget: number;
44
+ readonly changesReceived: number;
45
+ readonly changeRoots: number;
46
+ readonly recordsRemoved: number;
47
+ readonly revision: number;
48
+ }
49
+ export declare class WorkspaceTextIndex {
50
+ private roots;
51
+ private documents;
52
+ private readonly overlays;
53
+ private indexedBytes;
54
+ private revision;
55
+ private coverageComplete;
56
+ configure(roots: readonly string[]): void;
57
+ workspaceRoots(): readonly string[];
58
+ paths(extension?: string): readonly string[];
59
+ openDocument(path: string, text: string): void;
60
+ changeDocument(path: string, text: string): void;
61
+ closeDocument(path: string): Promise<WorkspaceIndexActivity>;
62
+ rescan(cancelled?: () => boolean): Promise<WorkspaceIndexActivity>;
63
+ update(changedPaths: ReadonlySet<string>): Promise<WorkspaceIndexActivity>;
64
+ search(query: string, options?: WorkspaceTextSearchOptions): Promise<WorkspaceTextSearchResult>;
65
+ private searchResult;
66
+ private activity;
67
+ private replaceDocument;
68
+ private readDocument;
69
+ private visit;
70
+ private accepts;
71
+ private withinWorkspace;
72
+ private workspaceRootFor;
73
+ private ignored;
74
+ }
75
+ export declare class WorkspaceIndexCancelledError extends Error {
76
+ constructor();
77
+ }
78
+ //# sourceMappingURL=workspace-index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-index.d.ts","sourceRoot":"","sources":["../src/workspace-index.ts"],"names":[],"mappings":"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"}