@jait/gateway 0.1.249 → 0.1.251

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 (156) hide show
  1. package/bin/jait.mjs +63 -0
  2. package/dist/cli/doctor.d.ts +43 -0
  3. package/dist/cli/doctor.d.ts.map +1 -0
  4. package/dist/cli/doctor.js +218 -0
  5. package/dist/cli/doctor.js.map +1 -0
  6. package/dist/db/migrations.d.ts.map +1 -1
  7. package/dist/db/migrations.js +23 -0
  8. package/dist/db/migrations.js.map +1 -1
  9. package/dist/db/schema.d.ts +233 -0
  10. package/dist/db/schema.d.ts.map +1 -1
  11. package/dist/db/schema.js +17 -0
  12. package/dist/db/schema.js.map +1 -1
  13. package/dist/foundation.d.ts +4 -4
  14. package/dist/foundation.d.ts.map +1 -1
  15. package/dist/foundation.js +2 -2
  16. package/dist/foundation.js.map +1 -1
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +9 -2
  19. package/dist/index.js.map +1 -1
  20. package/dist/plugins/contracts.d.ts +15 -5
  21. package/dist/plugins/contracts.d.ts.map +1 -1
  22. package/dist/plugins/contracts.js +14 -1
  23. package/dist/plugins/contracts.js.map +1 -1
  24. package/dist/providers/jait-provider.d.ts +1 -1
  25. package/dist/providers/jait-provider.d.ts.map +1 -1
  26. package/dist/providers/jait-provider.js +7 -21
  27. package/dist/providers/jait-provider.js.map +1 -1
  28. package/dist/routes/assistant-profiles.d.ts +5 -0
  29. package/dist/routes/assistant-profiles.d.ts.map +1 -0
  30. package/dist/routes/assistant-profiles.js +75 -0
  31. package/dist/routes/assistant-profiles.js.map +1 -0
  32. package/dist/routes/chat.d.ts.map +1 -1
  33. package/dist/routes/chat.js +21 -23
  34. package/dist/routes/chat.js.map +1 -1
  35. package/dist/routes/consent.d.ts +6 -1
  36. package/dist/routes/consent.d.ts.map +1 -1
  37. package/dist/routes/consent.js +10 -1
  38. package/dist/routes/consent.js.map +1 -1
  39. package/dist/routes/environment.d.ts +19 -0
  40. package/dist/routes/environment.d.ts.map +1 -0
  41. package/dist/routes/environment.js +78 -0
  42. package/dist/routes/environment.js.map +1 -0
  43. package/dist/routes/threads.d.ts.map +1 -1
  44. package/dist/routes/threads.js +3 -2
  45. package/dist/routes/threads.js.map +1 -1
  46. package/dist/security/consent-executor.d.ts +4 -0
  47. package/dist/security/consent-executor.d.ts.map +1 -1
  48. package/dist/security/consent-executor.js +20 -6
  49. package/dist/security/consent-executor.js.map +1 -1
  50. package/dist/security/consent-manager.d.ts +9 -0
  51. package/dist/security/consent-manager.d.ts.map +1 -1
  52. package/dist/security/consent-manager.js +1 -0
  53. package/dist/security/consent-manager.js.map +1 -1
  54. package/dist/security/index.d.ts +2 -2
  55. package/dist/security/index.d.ts.map +1 -1
  56. package/dist/security/index.js +2 -2
  57. package/dist/security/index.js.map +1 -1
  58. package/dist/security/tool-permissions.d.ts +10 -1
  59. package/dist/security/tool-permissions.d.ts.map +1 -1
  60. package/dist/security/tool-permissions.js +21 -0
  61. package/dist/security/tool-permissions.js.map +1 -1
  62. package/dist/security/tool-profiles.d.ts +4 -0
  63. package/dist/security/tool-profiles.d.ts.map +1 -1
  64. package/dist/security/tool-profiles.js +53 -47
  65. package/dist/security/tool-profiles.js.map +1 -1
  66. package/dist/server.d.ts +6 -0
  67. package/dist/server.d.ts.map +1 -1
  68. package/dist/server.js +17 -1
  69. package/dist/server.js.map +1 -1
  70. package/dist/services/assistant-profiles.d.ts +46 -0
  71. package/dist/services/assistant-profiles.d.ts.map +1 -0
  72. package/dist/services/assistant-profiles.js +118 -0
  73. package/dist/services/assistant-profiles.js.map +1 -0
  74. package/dist/services/jait-llm.d.ts +17 -0
  75. package/dist/services/jait-llm.d.ts.map +1 -0
  76. package/dist/services/jait-llm.js +31 -0
  77. package/dist/services/jait-llm.js.map +1 -0
  78. package/dist/services/thread-title.d.ts +2 -0
  79. package/dist/services/thread-title.d.ts.map +1 -1
  80. package/dist/services/thread-title.js +38 -0
  81. package/dist/services/thread-title.js.map +1 -1
  82. package/dist/services/threads.d.ts +1 -0
  83. package/dist/services/threads.d.ts.map +1 -1
  84. package/dist/services/threads.js +8 -0
  85. package/dist/services/threads.js.map +1 -1
  86. package/dist/services/workspaces.d.ts +1 -0
  87. package/dist/services/workspaces.d.ts.map +1 -1
  88. package/dist/services/workspaces.js +17 -0
  89. package/dist/services/workspaces.js.map +1 -1
  90. package/dist/tools/contracts.d.ts +16 -0
  91. package/dist/tools/contracts.d.ts.map +1 -1
  92. package/dist/tools/index.d.ts +1 -1
  93. package/dist/tools/index.d.ts.map +1 -1
  94. package/dist/tools/index.js.map +1 -1
  95. package/dist/tools/registry.d.ts +4 -1
  96. package/dist/tools/registry.d.ts.map +1 -1
  97. package/dist/tools/registry.js +28 -0
  98. package/dist/tools/registry.js.map +1 -1
  99. package/dist/tools/thread-tools.d.ts.map +1 -1
  100. package/dist/tools/thread-tools.js +16 -1
  101. package/dist/tools/thread-tools.js.map +1 -1
  102. package/package.json +2 -2
  103. package/web-dist/assets/{_basePickBy-BZXAEjtR.js → _basePickBy-CKz2wOnC.js} +1 -1
  104. package/web-dist/assets/{_baseUniq-Bal_eCvN.js → _baseUniq-BzmJhJu1.js} +1 -1
  105. package/web-dist/assets/{arc-C70h_w-C.js → arc-CIkhtN4G.js} +1 -1
  106. package/web-dist/assets/{architectureDiagram-2XIMDMQ5-B3Gm8tpz.js → architectureDiagram-2XIMDMQ5-BRYW8tNF.js} +1 -1
  107. package/web-dist/assets/{blockDiagram-WCTKOSBZ-BgQFIqvb.js → blockDiagram-WCTKOSBZ-DcoEe0I-.js} +1 -1
  108. package/web-dist/assets/{c4Diagram-IC4MRINW-COlSPH7q.js → c4Diagram-IC4MRINW-UmTaR05Q.js} +1 -1
  109. package/web-dist/assets/channel-DO3LRKOW.js +1 -0
  110. package/web-dist/assets/{chunk-4BX2VUAB-CGFBM2wU.js → chunk-4BX2VUAB-CI5BwOGY.js} +1 -1
  111. package/web-dist/assets/{chunk-55IACEB6-DtZessAC.js → chunk-55IACEB6-boitZYyk.js} +1 -1
  112. package/web-dist/assets/{chunk-FMBD7UC4-BFvW3UDr.js → chunk-FMBD7UC4-B64G-iXQ.js} +1 -1
  113. package/web-dist/assets/{chunk-JSJVCQXG-BxS2QyCp.js → chunk-JSJVCQXG-uMz30wLQ.js} +1 -1
  114. package/web-dist/assets/{chunk-KX2RTZJC-RF7flQid.js → chunk-KX2RTZJC-BIu99JSA.js} +1 -1
  115. package/web-dist/assets/{chunk-NQ4KR5QH-CbUsJA5U.js → chunk-NQ4KR5QH-Dtz7jPxr.js} +1 -1
  116. package/web-dist/assets/{chunk-QZHKN3VN-B7K3gWQG.js → chunk-QZHKN3VN-DLjp9A3m.js} +1 -1
  117. package/web-dist/assets/{chunk-WL4C6EOR-CwmUHzIF.js → chunk-WL4C6EOR-e1DoGDM0.js} +1 -1
  118. package/web-dist/assets/classDiagram-VBA2DB6C-S81VIZnP.js +1 -0
  119. package/web-dist/assets/classDiagram-v2-RAHNMMFH-S81VIZnP.js +1 -0
  120. package/web-dist/assets/clone-BWcE72WZ.js +1 -0
  121. package/web-dist/assets/{cose-bilkent-S5V4N54A-sz0ER3yT.js → cose-bilkent-S5V4N54A-CxQepKX4.js} +1 -1
  122. package/web-dist/assets/{dagre-KLK3FWXG-CosbwquM.js → dagre-KLK3FWXG-B2U2bJIM.js} +1 -1
  123. package/web-dist/assets/{diagram-E7M64L7V-Dl6nDMtE.js → diagram-E7M64L7V-DPXEmqZF.js} +1 -1
  124. package/web-dist/assets/{diagram-IFDJBPK2-DtMomQmG.js → diagram-IFDJBPK2-BKNDbvMX.js} +1 -1
  125. package/web-dist/assets/{diagram-P4PSJMXO-gCuDDR5r.js → diagram-P4PSJMXO-Cae2Uyjp.js} +1 -1
  126. package/web-dist/assets/{erDiagram-INFDFZHY-D-mjYH_L.js → erDiagram-INFDFZHY-DzcSHKdA.js} +1 -1
  127. package/web-dist/assets/{flowDiagram-PKNHOUZH-B2c4zFvE.js → flowDiagram-PKNHOUZH-jS7y2_oM.js} +1 -1
  128. package/web-dist/assets/{ganttDiagram-A5KZAMGK-B4xO3gHm.js → ganttDiagram-A5KZAMGK-CzN7CCvz.js} +1 -1
  129. package/web-dist/assets/{gitGraphDiagram-K3NZZRJ6-BJ3id5A_.js → gitGraphDiagram-K3NZZRJ6-C6C4a8oU.js} +1 -1
  130. package/web-dist/assets/{graph-CPMhtGeG.js → graph-DCDo5lIV.js} +1 -1
  131. package/web-dist/assets/{index-DyYrV_7c.js → index-CGTsUf0t.js} +302 -302
  132. package/web-dist/assets/{index-BgZwraAX.css → index-CX10vibf.css} +1 -1
  133. package/web-dist/assets/{infoDiagram-LFFYTUFH-D4nudIFj.js → infoDiagram-LFFYTUFH-5xZA_Vd-.js} +1 -1
  134. package/web-dist/assets/{ishikawaDiagram-PHBUUO56-Bw59FyvU.js → ishikawaDiagram-PHBUUO56-BwqWAOEX.js} +1 -1
  135. package/web-dist/assets/{journeyDiagram-4ABVD52K-B-GIXjMc.js → journeyDiagram-4ABVD52K-D9LNoMaE.js} +1 -1
  136. package/web-dist/assets/{kanban-definition-K7BYSVSG-CKCdtOz1.js → kanban-definition-K7BYSVSG-Bu9oc1pl.js} +1 -1
  137. package/web-dist/assets/{layout-ClOTQO_8.js → layout-DbkRrKMk.js} +1 -1
  138. package/web-dist/assets/{linear-ZphXPXoB.js → linear-B_Xc5mo_.js} +1 -1
  139. package/web-dist/assets/{mindmap-definition-YRQLILUH-DKEpOZTE.js → mindmap-definition-YRQLILUH-C96R7dN6.js} +1 -1
  140. package/web-dist/assets/{pieDiagram-SKSYHLDU-89Cyo3gu.js → pieDiagram-SKSYHLDU-C2haXpJ6.js} +1 -1
  141. package/web-dist/assets/{quadrantDiagram-337W2JSQ-n5ZUbVKF.js → quadrantDiagram-337W2JSQ-ChrfLW4X.js} +1 -1
  142. package/web-dist/assets/{requirementDiagram-Z7DCOOCP-e1w0prnx.js → requirementDiagram-Z7DCOOCP-BjqPJ3os.js} +1 -1
  143. package/web-dist/assets/{sankeyDiagram-WA2Y5GQK-D6KOU33Z.js → sankeyDiagram-WA2Y5GQK-DVRyGROn.js} +1 -1
  144. package/web-dist/assets/{sequenceDiagram-2WXFIKYE-BwFMMAig.js → sequenceDiagram-2WXFIKYE-BUjRH42h.js} +1 -1
  145. package/web-dist/assets/{stateDiagram-RAJIS63D-BXGKTd5_.js → stateDiagram-RAJIS63D-CrP_F-zN.js} +1 -1
  146. package/web-dist/assets/stateDiagram-v2-FVOUBMTO-Bfzf6Vuk.js +1 -0
  147. package/web-dist/assets/{timeline-definition-YZTLITO2-DuFK82ph.js → timeline-definition-YZTLITO2-l1eQHQOL.js} +1 -1
  148. package/web-dist/assets/{treemap-KZPCXAKY-CQv5gjDl.js → treemap-KZPCXAKY-l48qg94K.js} +1 -1
  149. package/web-dist/assets/{vennDiagram-LZ73GAT5-DkbNA0Hd.js → vennDiagram-LZ73GAT5-BTD0mTJF.js} +1 -1
  150. package/web-dist/assets/{xychartDiagram-JWTSCODW-37LS_2mi.js → xychartDiagram-JWTSCODW-CZ23X6tk.js} +1 -1
  151. package/web-dist/index.html +2 -2
  152. package/web-dist/assets/channel-v8M8jufi.js +0 -1
  153. package/web-dist/assets/classDiagram-VBA2DB6C-D9abWN2d.js +0 -1
  154. package/web-dist/assets/classDiagram-v2-RAHNMMFH-D9abWN2d.js +0 -1
  155. package/web-dist/assets/clone-CZpJBOCh.js +0 -1
  156. package/web-dist/assets/stateDiagram-v2-FVOUBMTO-C1TnLZGn.js +0 -1
package/bin/jait.mjs CHANGED
@@ -8,6 +8,7 @@
8
8
  * jait start Start the gateway in the background
9
9
  * jait stop Stop the background gateway
10
10
  * jait status Check if the gateway is running
11
+ * jait doctor Run local diagnostics
11
12
  * jait reset Wipe all data
12
13
  * jait --port 9000 Use a custom port
13
14
  * jait --host 127.0.0.1 Bind to specific host
@@ -75,6 +76,7 @@ Commands:
75
76
  start Start the gateway in the background
76
77
  stop Stop the background gateway
77
78
  status Check if the gateway is running
79
+ doctor Run local diagnostics
78
80
  reset Wipe all data (~/.jait)
79
81
  daemon <cmd> Manage systemd service (Linux only)
80
82
 
@@ -178,6 +180,54 @@ async function cmdStatus(port) {
178
180
  console.log("");
179
181
  }
180
182
 
183
+ async function cmdDoctor({ envPath, envLoaded }) {
184
+ printBanner();
185
+ if (envLoaded) {
186
+ console.log(` Config loaded from ${envLoaded}`);
187
+ }
188
+ console.log("");
189
+
190
+ let doctorModule;
191
+ try {
192
+ doctorModule = await import("../dist/cli/doctor.js");
193
+ } catch (err) {
194
+ console.error(" Failed to load doctor diagnostics module from dist.");
195
+ console.error(" Build the gateway package first so the CLI can import compiled diagnostics.");
196
+ console.error(` ${err.message}`);
197
+ console.log("");
198
+ process.exit(1);
199
+ }
200
+
201
+ const report = await doctorModule.runDoctorDiagnostics({
202
+ env: process.env,
203
+ envPath: envLoaded || envPath || null,
204
+ healthCheck: (port) => healthCheck(port),
205
+ });
206
+
207
+ for (const check of report.checks) {
208
+ const marker = check.status === "pass"
209
+ ? "PASS"
210
+ : check.status === "warn"
211
+ ? "WARN"
212
+ : "FAIL";
213
+ console.log(` [${marker}] ${check.label}: ${check.summary}`);
214
+ for (const detail of check.details ?? []) {
215
+ console.log(` ${detail}`);
216
+ }
217
+ }
218
+
219
+ console.log("");
220
+ console.log(
221
+ ` Summary: ${report.counts.pass} passed, ${report.counts.warn} warnings, ${report.counts.fail} failed`,
222
+ );
223
+ console.log(` Result: ${report.ok ? "ok" : "issues found"}`);
224
+ console.log("");
225
+
226
+ if (!report.ok) {
227
+ process.exitCode = 1;
228
+ }
229
+ }
230
+
181
231
  function isProcessRunning(pid) {
182
232
  try {
183
233
  process.kill(Number(pid), 0);
@@ -560,6 +610,12 @@ if (args[0] === "reset") {
560
610
  process.exit(0);
561
611
  }
562
612
 
613
+ let deferredDoctor = false;
614
+ if (args[0] === "doctor") {
615
+ parseSubcommandFlags(1);
616
+ deferredDoctor = true;
617
+ }
618
+
563
619
  // Check for daemon subcommand first
564
620
  if (args[0] === "daemon") {
565
621
  const subCmd = args[1];
@@ -617,6 +673,8 @@ for (let i = 0; i < args.length; i++) {
617
673
  console.error(`Unknown option: ${arg}`);
618
674
  console.error("Run 'jait --help' for usage information.");
619
675
  process.exit(1);
676
+ } else if (deferredDoctor && i === 0 && arg === "doctor") {
677
+ continue;
620
678
  } else {
621
679
  console.error(`Unknown command: ${arg}`);
622
680
  console.error("Run 'jait --help' for usage information.");
@@ -673,6 +731,11 @@ if (flags.host) process.env.HOST = flags.host;
673
731
  // Mark that env was loaded externally so config.ts doesn't try again
674
732
  process.env.__JAIT_CLI = "1";
675
733
 
734
+ if (deferredDoctor) {
735
+ await cmdDoctor({ envPath: flags.envPath, envLoaded });
736
+ process.exit(process.exitCode ?? 0);
737
+ }
738
+
676
739
  // ── Start ───────────────────────────────────────────────────────────
677
740
 
678
741
  printBanner();
@@ -0,0 +1,43 @@
1
+ export type DoctorStatus = "pass" | "warn" | "fail";
2
+ export interface DoctorCheck {
3
+ id: string;
4
+ label: string;
5
+ status: DoctorStatus;
6
+ message: string;
7
+ fix?: string;
8
+ }
9
+ export interface DoctorDiagnosticCheck {
10
+ id: string;
11
+ label: string;
12
+ status: DoctorStatus;
13
+ summary: string;
14
+ details?: string[];
15
+ }
16
+ export interface DoctorDiagnosticReport {
17
+ checks: DoctorDiagnosticCheck[];
18
+ ok: boolean;
19
+ counts: {
20
+ pass: number;
21
+ warn: number;
22
+ fail: number;
23
+ };
24
+ }
25
+ export interface DoctorResult {
26
+ checks: DoctorCheck[];
27
+ ok: boolean;
28
+ warningCount: number;
29
+ failureCount: number;
30
+ }
31
+ export interface RunDoctorOptions {
32
+ cwd?: string;
33
+ envPath?: string;
34
+ port?: number | string;
35
+ jaitDir?: string;
36
+ minNodeVersion?: string;
37
+ healthCheck?: (port: number) => Promise<unknown>;
38
+ env?: NodeJS.ProcessEnv;
39
+ }
40
+ export declare function resolveDoctorEnvCandidates(options: Pick<RunDoctorOptions, "cwd" | "envPath" | "jaitDir">): string[];
41
+ export declare function runDoctor(options?: RunDoctorOptions): Promise<DoctorResult>;
42
+ export declare function runDoctorDiagnostics(options?: RunDoctorOptions): Promise<DoctorDiagnosticReport>;
43
+ //# sourceMappingURL=doctor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEpD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,qBAAqB,EAAE,CAAC;IAChC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,EAAE,EAAE,OAAO,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACjD,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB;AAYD,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,GAAG,SAAS,GAAG,SAAS,CAAC,GAAG,MAAM,EAAE,CAInH;AAiCD,wBAAsB,SAAS,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,YAAY,CAAC,CA2KrF;AAED,wBAAsB,oBAAoB,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAqB1G"}
@@ -0,0 +1,218 @@
1
+ import { existsSync } from "node:fs";
2
+ import { execFileSync } from "node:child_process";
3
+ import { homedir } from "node:os";
4
+ import { join, resolve } from "node:path";
5
+ import { createRequire } from "node:module";
6
+ const require = createRequire(import.meta.url);
7
+ const PROVIDER_COMMANDS = [
8
+ { id: "codex", command: "codex" },
9
+ { id: "claude-code", command: "claude" },
10
+ { id: "gemini", command: "gemini" },
11
+ { id: "opencode", command: "opencode" },
12
+ { id: "copilot", command: "copilot" },
13
+ ];
14
+ export function resolveDoctorEnvCandidates(options) {
15
+ const cwd = options.cwd ?? process.cwd();
16
+ const jaitDir = options.jaitDir ?? join(homedir(), ".jait");
17
+ return [options.envPath, resolve(cwd, ".env"), join(jaitDir, ".env")].filter((value) => Boolean(value));
18
+ }
19
+ function compareSemver(left, right) {
20
+ const leftParts = left.replace(/^v/, "").split(".").map((part) => Number.parseInt(part, 10) || 0);
21
+ const rightParts = right.replace(/^v/, "").split(".").map((part) => Number.parseInt(part, 10) || 0);
22
+ const len = Math.max(leftParts.length, rightParts.length);
23
+ for (let i = 0; i < len; i++) {
24
+ const a = leftParts[i] ?? 0;
25
+ const b = rightParts[i] ?? 0;
26
+ if (a !== b)
27
+ return a > b ? 1 : -1;
28
+ }
29
+ return 0;
30
+ }
31
+ function commandExists(command) {
32
+ try {
33
+ const probe = process.platform === "win32" ? "where" : "which";
34
+ execFileSync(probe, [command], { stdio: "ignore" });
35
+ return true;
36
+ }
37
+ catch {
38
+ return false;
39
+ }
40
+ }
41
+ function detectPlaywright() {
42
+ try {
43
+ require.resolve("playwright");
44
+ return true;
45
+ }
46
+ catch {
47
+ return false;
48
+ }
49
+ }
50
+ export async function runDoctor(options = {}) {
51
+ const checks = [];
52
+ const jaitDir = options.jaitDir ?? join(homedir(), ".jait");
53
+ const envCandidates = resolveDoctorEnvCandidates(options);
54
+ const resolvedEnv = envCandidates.find((candidate) => existsSync(candidate));
55
+ const dbPath = join(jaitDir, "data", "jait.db");
56
+ const minNodeVersion = options.minNodeVersion ?? "22.5.0";
57
+ const port = Number.parseInt(String(options.port ?? process.env["PORT"] ?? "8000"), 10);
58
+ checks.push(resolvedEnv
59
+ ? {
60
+ id: "env-file",
61
+ label: "Environment file",
62
+ status: "pass",
63
+ message: `Loaded from ${resolvedEnv}`,
64
+ }
65
+ : {
66
+ id: "env-file",
67
+ label: "Environment file",
68
+ status: options.envPath ? "fail" : "warn",
69
+ message: options.envPath
70
+ ? `Configured env file was not found: ${options.envPath}`
71
+ : "No .env file found in the current project or ~/.jait",
72
+ fix: options.envPath
73
+ ? "Create the specified env file or point --env at the correct location."
74
+ : "Create .env in the project root or ~/.jait/.env.",
75
+ });
76
+ checks.push(existsSync(jaitDir)
77
+ ? {
78
+ id: "jait-dir",
79
+ label: "Jait home",
80
+ status: "pass",
81
+ message: `Found ${jaitDir}`,
82
+ }
83
+ : {
84
+ id: "jait-dir",
85
+ label: "Jait home",
86
+ status: "warn",
87
+ message: `${jaitDir} does not exist yet`,
88
+ fix: "Start Jait once to initialize ~/.jait.",
89
+ });
90
+ checks.push(existsSync(dbPath)
91
+ ? {
92
+ id: "database",
93
+ label: "Gateway database",
94
+ status: "pass",
95
+ message: `Found ${dbPath}`,
96
+ }
97
+ : {
98
+ id: "database",
99
+ label: "Gateway database",
100
+ status: "warn",
101
+ message: `Database not found at ${dbPath}`,
102
+ fix: "Start the gateway once so it creates ~/.jait/data/jait.db.",
103
+ });
104
+ checks.push(compareSemver(process.version, minNodeVersion) >= 0
105
+ ? {
106
+ id: "node-version",
107
+ label: "Node.js version",
108
+ status: "pass",
109
+ message: `${process.version} satisfies >= ${minNodeVersion}`,
110
+ }
111
+ : {
112
+ id: "node-version",
113
+ label: "Node.js version",
114
+ status: "fail",
115
+ message: `${process.version} is below the required >= ${minNodeVersion}`,
116
+ fix: `Upgrade Node.js to ${minNodeVersion} or newer.`,
117
+ });
118
+ checks.push(commandExists("bun")
119
+ ? {
120
+ id: "bun",
121
+ label: "Bun runtime",
122
+ status: "pass",
123
+ message: "bun is available on PATH",
124
+ }
125
+ : {
126
+ id: "bun",
127
+ label: "Bun runtime",
128
+ status: "warn",
129
+ message: "bun is not available on PATH",
130
+ fix: "Install Bun if you plan to run the monorepo dev workflow locally.",
131
+ });
132
+ checks.push(detectPlaywright()
133
+ ? {
134
+ id: "playwright",
135
+ label: "Playwright package",
136
+ status: "pass",
137
+ message: "playwright dependency is resolvable",
138
+ }
139
+ : {
140
+ id: "playwright",
141
+ label: "Playwright package",
142
+ status: "warn",
143
+ message: "playwright dependency is not resolvable",
144
+ fix: "Run the workspace install so browser tooling is available.",
145
+ });
146
+ for (const provider of PROVIDER_COMMANDS) {
147
+ checks.push(commandExists(provider.command)
148
+ ? {
149
+ id: `provider-${provider.id}`,
150
+ label: `${provider.id} CLI`,
151
+ status: "pass",
152
+ message: `${provider.command} is available on PATH`,
153
+ }
154
+ : {
155
+ id: `provider-${provider.id}`,
156
+ label: `${provider.id} CLI`,
157
+ status: "warn",
158
+ message: `${provider.command} is not available on PATH`,
159
+ fix: `Install and configure ${provider.id} if you want to use that provider.`,
160
+ });
161
+ }
162
+ if (Number.isFinite(port) && port > 0 && options.healthCheck) {
163
+ const health = await options.healthCheck(port);
164
+ checks.push(health
165
+ ? {
166
+ id: "gateway-health",
167
+ label: "Gateway health",
168
+ status: "pass",
169
+ message: `Gateway responded on http://127.0.0.1:${port}/health`,
170
+ }
171
+ : {
172
+ id: "gateway-health",
173
+ label: "Gateway health",
174
+ status: "warn",
175
+ message: `No gateway responded on http://127.0.0.1:${port}/health`,
176
+ fix: "Run `jait start` or check the configured port.",
177
+ });
178
+ }
179
+ else {
180
+ checks.push({
181
+ id: "gateway-health",
182
+ label: "Gateway health",
183
+ status: "fail",
184
+ message: `Invalid port: ${String(options.port ?? process.env["PORT"] ?? "8000")}`,
185
+ fix: "Pass a numeric --port value.",
186
+ });
187
+ }
188
+ const failureCount = checks.filter((check) => check.status === "fail").length;
189
+ const warningCount = checks.filter((check) => check.status === "warn").length;
190
+ return {
191
+ checks,
192
+ ok: failureCount === 0,
193
+ failureCount,
194
+ warningCount,
195
+ };
196
+ }
197
+ export async function runDoctorDiagnostics(options = {}) {
198
+ if (options.env) {
199
+ Object.assign(process.env, options.env);
200
+ }
201
+ const result = await runDoctor(options);
202
+ return {
203
+ checks: result.checks.map((check) => ({
204
+ id: check.id,
205
+ label: check.label,
206
+ status: check.status,
207
+ summary: check.message,
208
+ details: check.fix ? [check.fix] : [],
209
+ })),
210
+ ok: result.ok,
211
+ counts: {
212
+ pass: result.checks.filter((check) => check.status === "pass").length,
213
+ warn: result.warningCount,
214
+ fail: result.failureCount,
215
+ },
216
+ };
217
+ }
218
+ //# sourceMappingURL=doctor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../src/db/migrations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGvD,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,CAAC,EAAE,EAAE,cAAc,KAAK,IAAI,CAAC;CACnC;AAED,eAAO,MAAM,UAAU,EAAE,SAAS,EA4iBjC,CAAC"}
1
+ {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../src/db/migrations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGvD,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,CAAC,EAAE,EAAE,cAAc,KAAK,IAAI,CAAC;CACnC;AAED,eAAO,MAAM,UAAU,EAAE,SAAS,EAokBjC,CAAC"}
@@ -556,5 +556,28 @@ export const migrations = [
556
556
  catch { /* exists */ }
557
557
  },
558
558
  },
559
+ {
560
+ id: 23,
561
+ name: "assistant_profiles_table",
562
+ run(db) {
563
+ db.exec(`
564
+ CREATE TABLE IF NOT EXISTS assistant_profiles (
565
+ id TEXT PRIMARY KEY,
566
+ user_id TEXT,
567
+ name TEXT NOT NULL,
568
+ description TEXT,
569
+ system_prompt TEXT,
570
+ runtime_mode TEXT,
571
+ tool_profile TEXT,
572
+ enabled_skills TEXT,
573
+ enabled_plugins TEXT,
574
+ is_default INTEGER NOT NULL DEFAULT 0,
575
+ created_at TEXT NOT NULL,
576
+ updated_at TEXT NOT NULL
577
+ )
578
+ `);
579
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_assistant_profiles_user ON assistant_profiles(user_id, updated_at DESC)`);
580
+ },
581
+ },
559
582
  ];
560
583
  //# sourceMappingURL=migrations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/db/migrations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/db/migrations.ts"],"names":[],"mappings":"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"}