@jait/gateway 0.1.162 → 0.1.165

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 (137) hide show
  1. package/dist/config.js +2 -2
  2. package/dist/config.js.map +1 -1
  3. package/dist/providers/copilot-provider.d.ts +2 -0
  4. package/dist/providers/copilot-provider.d.ts.map +1 -1
  5. package/dist/providers/copilot-provider.js +45 -16
  6. package/dist/providers/copilot-provider.js.map +1 -1
  7. package/dist/routes/chat.d.ts +1 -0
  8. package/dist/routes/chat.d.ts.map +1 -1
  9. package/dist/routes/chat.js +83 -35
  10. package/dist/routes/chat.js.map +1 -1
  11. package/dist/routes/git.d.ts.map +1 -1
  12. package/dist/routes/git.js +2 -1
  13. package/dist/routes/git.js.map +1 -1
  14. package/dist/routes/threads.d.ts.map +1 -1
  15. package/dist/routes/threads.js +46 -0
  16. package/dist/routes/threads.js.map +1 -1
  17. package/dist/routes/workspace.d.ts.map +1 -1
  18. package/dist/routes/workspace.js +76 -62
  19. package/dist/routes/workspace.js.map +1 -1
  20. package/dist/services/git.d.ts.map +1 -1
  21. package/dist/services/git.js +6 -4
  22. package/dist/services/git.js.map +1 -1
  23. package/dist/tools/network-tools.js +1 -1
  24. package/dist/tools/network-tools.js.map +1 -1
  25. package/dist/tools/preview-tools.js +2 -2
  26. package/dist/tools/preview-tools.js.map +1 -1
  27. package/package.json +4 -3
  28. package/web-dist/assets/{_basePickBy-BPm1I92d.js → _basePickBy-93S18qaB.js} +1 -1
  29. package/web-dist/assets/{_baseUniq-CTWeX0Ex.js → _baseUniq-vbVllVzu.js} +1 -1
  30. package/web-dist/{dist/assets/arc-CbWDicNU.js → assets/arc-DQ5ubRU4.js} +1 -1
  31. package/web-dist/{dist/assets/architectureDiagram-2XIMDMQ5-d9oUJQFq.js → assets/architectureDiagram-2XIMDMQ5-DoxRSao-.js} +1 -1
  32. package/web-dist/assets/{blockDiagram-WCTKOSBZ-B7VpSkKZ.js → blockDiagram-WCTKOSBZ-CILQsjnk.js} +1 -1
  33. package/web-dist/assets/{c4Diagram-IC4MRINW-xbHfkf3w.js → c4Diagram-IC4MRINW-TfmTyuDO.js} +1 -1
  34. package/web-dist/assets/channel-Bs-sv5SP.js +1 -0
  35. package/web-dist/assets/{chunk-4BX2VUAB-BKlDYEuw.js → chunk-4BX2VUAB-BaVAjBh6.js} +1 -1
  36. package/web-dist/assets/{chunk-55IACEB6-BHt1Grj1.js → chunk-55IACEB6-HvWd45zE.js} +1 -1
  37. package/web-dist/assets/{chunk-FMBD7UC4-BcH25QsH.js → chunk-FMBD7UC4-CQDEuFF5.js} +1 -1
  38. package/web-dist/assets/{chunk-JSJVCQXG-fAJeIDSj.js → chunk-JSJVCQXG-2lMQLA2W.js} +1 -1
  39. package/web-dist/assets/{chunk-KX2RTZJC-BvLWresj.js → chunk-KX2RTZJC-CPOksmFB.js} +1 -1
  40. package/web-dist/{dist/assets/chunk-NQ4KR5QH-Cv32plR2.js → assets/chunk-NQ4KR5QH-BxkyTpmP.js} +1 -1
  41. package/web-dist/assets/{chunk-QZHKN3VN-CdmpvwFK.js → chunk-QZHKN3VN-7L7YBJ-Y.js} +1 -1
  42. package/web-dist/{dist/assets/chunk-WL4C6EOR-BWGlCGxB.js → assets/chunk-WL4C6EOR-BroSN7HR.js} +1 -1
  43. package/web-dist/assets/classDiagram-VBA2DB6C-CL7kDox_.js +1 -0
  44. package/web-dist/assets/classDiagram-v2-RAHNMMFH-CL7kDox_.js +1 -0
  45. package/web-dist/assets/clone-YPPayMW5.js +1 -0
  46. package/web-dist/{dist/assets/cose-bilkent-S5V4N54A-B2FK8Hmj.js → assets/cose-bilkent-S5V4N54A-DUJciWuz.js} +1 -1
  47. package/web-dist/assets/{dagre-KLK3FWXG-OpICA5pO.js → dagre-KLK3FWXG-1Gs2MLru.js} +1 -1
  48. package/web-dist/assets/{diagram-E7M64L7V-BeVvG_Fk.js → diagram-E7M64L7V-CYhcAKAb.js} +1 -1
  49. package/web-dist/assets/{diagram-IFDJBPK2-CC6B0X-S.js → diagram-IFDJBPK2-Bwz_DDQ3.js} +1 -1
  50. package/web-dist/assets/{diagram-P4PSJMXO-Be389gWp.js → diagram-P4PSJMXO-Vv5hIK61.js} +1 -1
  51. package/web-dist/{dist/assets/erDiagram-INFDFZHY-CntbdO1u.js → assets/erDiagram-INFDFZHY-p8pK6XmO.js} +1 -1
  52. package/web-dist/assets/{flowDiagram-PKNHOUZH-Dckhh5IN.js → flowDiagram-PKNHOUZH-DJkcT2m8.js} +1 -1
  53. package/web-dist/{dist/assets/ganttDiagram-A5KZAMGK-Bg_HAWHp.js → assets/ganttDiagram-A5KZAMGK-dvUHVsO5.js} +2 -2
  54. package/web-dist/assets/{gitGraphDiagram-K3NZZRJ6-B6XWMagG.js → gitGraphDiagram-K3NZZRJ6-B4OeC-eF.js} +1 -1
  55. package/web-dist/assets/{graph-DE7_oMbo.js → graph-YrhYBC6q.js} +1 -1
  56. package/web-dist/assets/{index-8XE0RIRi.js → index-CoiRh4Fj.js} +350 -348
  57. package/web-dist/assets/index-DosAoIDU.css +32 -0
  58. package/web-dist/assets/{infoDiagram-LFFYTUFH-xmaVCQ2e.js → infoDiagram-LFFYTUFH-C-RkA_Jj.js} +1 -1
  59. package/web-dist/{dist/assets/ishikawaDiagram-PHBUUO56-3YDZXbMA.js → assets/ishikawaDiagram-PHBUUO56-Y5aoR89a.js} +1 -1
  60. package/web-dist/{dist/assets/journeyDiagram-4ABVD52K-C-zpm9nK.js → assets/journeyDiagram-4ABVD52K-BGlY5E0D.js} +1 -1
  61. package/web-dist/assets/{kanban-definition-K7BYSVSG-C81QdGJ0.js → kanban-definition-K7BYSVSG-CV1GZGzs.js} +1 -1
  62. package/web-dist/{dist/assets/layout-3mI44zzs.js → assets/layout-D3tBJOko.js} +1 -1
  63. package/web-dist/assets/{linear-BNYyWDLJ.js → linear-CKIsppUY.js} +1 -1
  64. package/web-dist/{dist/assets/mindmap-definition-YRQLILUH-DWqjyyhq.js → assets/mindmap-definition-YRQLILUH-PE_924u3.js} +1 -1
  65. package/web-dist/assets/{pieDiagram-SKSYHLDU-C4PZItnw.js → pieDiagram-SKSYHLDU-DqxL9R2r.js} +1 -1
  66. package/web-dist/{dist/assets/quadrantDiagram-337W2JSQ-CvvHevzp.js → assets/quadrantDiagram-337W2JSQ-Dl-L4zIo.js} +1 -1
  67. package/web-dist/{dist/assets/requirementDiagram-Z7DCOOCP-aqoLjNsg.js → assets/requirementDiagram-Z7DCOOCP-BWoKwmMA.js} +1 -1
  68. package/web-dist/{dist/assets/sankeyDiagram-WA2Y5GQK-BlyJF86g.js → assets/sankeyDiagram-WA2Y5GQK--fw7pF8D.js} +1 -1
  69. package/web-dist/{dist/assets/sequenceDiagram-2WXFIKYE-5b1yir_p.js → assets/sequenceDiagram-2WXFIKYE-ClcLvmJy.js} +1 -1
  70. package/web-dist/{dist/assets/stateDiagram-RAJIS63D-IGAJkQ8D.js → assets/stateDiagram-RAJIS63D-DbyeESaf.js} +1 -1
  71. package/web-dist/assets/stateDiagram-v2-FVOUBMTO-DxMzoWJP.js +1 -0
  72. package/web-dist/{dist/assets/timeline-definition-YZTLITO2-BaAt9FQ-.js → assets/timeline-definition-YZTLITO2-D-V6lf5H.js} +1 -1
  73. package/web-dist/assets/{treemap-KZPCXAKY-BN4_8xRQ.js → treemap-KZPCXAKY-Cwb5a2Iw.js} +1 -1
  74. package/web-dist/{dist/assets/vennDiagram-LZ73GAT5-b8B0XAMY.js → assets/vennDiagram-LZ73GAT5-BTduvZbs.js} +1 -1
  75. package/web-dist/assets/{xychartDiagram-JWTSCODW-Dmu0xv1i.js → xychartDiagram-JWTSCODW-CWBd-qZZ.js} +1 -1
  76. package/web-dist/dist/assets/{_basePickBy-BPm1I92d.js → _basePickBy-93S18qaB.js} +1 -1
  77. package/web-dist/dist/assets/{_baseUniq-CTWeX0Ex.js → _baseUniq-vbVllVzu.js} +1 -1
  78. package/web-dist/{assets/arc-CbWDicNU.js → dist/assets/arc-DQ5ubRU4.js} +1 -1
  79. package/web-dist/{assets/architectureDiagram-2XIMDMQ5-d9oUJQFq.js → dist/assets/architectureDiagram-2XIMDMQ5-DoxRSao-.js} +1 -1
  80. package/web-dist/dist/assets/{blockDiagram-WCTKOSBZ-B7VpSkKZ.js → blockDiagram-WCTKOSBZ-CILQsjnk.js} +1 -1
  81. package/web-dist/dist/assets/{c4Diagram-IC4MRINW-xbHfkf3w.js → c4Diagram-IC4MRINW-TfmTyuDO.js} +1 -1
  82. package/web-dist/dist/assets/channel-Bs-sv5SP.js +1 -0
  83. package/web-dist/dist/assets/{chunk-4BX2VUAB-BKlDYEuw.js → chunk-4BX2VUAB-BaVAjBh6.js} +1 -1
  84. package/web-dist/dist/assets/{chunk-55IACEB6-BHt1Grj1.js → chunk-55IACEB6-HvWd45zE.js} +1 -1
  85. package/web-dist/dist/assets/{chunk-FMBD7UC4-BcH25QsH.js → chunk-FMBD7UC4-CQDEuFF5.js} +1 -1
  86. package/web-dist/dist/assets/{chunk-JSJVCQXG-fAJeIDSj.js → chunk-JSJVCQXG-2lMQLA2W.js} +1 -1
  87. package/web-dist/dist/assets/{chunk-KX2RTZJC-BvLWresj.js → chunk-KX2RTZJC-CPOksmFB.js} +1 -1
  88. package/web-dist/{assets/chunk-NQ4KR5QH-Cv32plR2.js → dist/assets/chunk-NQ4KR5QH-BxkyTpmP.js} +1 -1
  89. package/web-dist/dist/assets/{chunk-QZHKN3VN-CdmpvwFK.js → chunk-QZHKN3VN-7L7YBJ-Y.js} +1 -1
  90. package/web-dist/{assets/chunk-WL4C6EOR-BWGlCGxB.js → dist/assets/chunk-WL4C6EOR-BroSN7HR.js} +1 -1
  91. package/web-dist/dist/assets/classDiagram-VBA2DB6C-CL7kDox_.js +1 -0
  92. package/web-dist/dist/assets/classDiagram-v2-RAHNMMFH-CL7kDox_.js +1 -0
  93. package/web-dist/dist/assets/clone-YPPayMW5.js +1 -0
  94. package/web-dist/{assets/cose-bilkent-S5V4N54A-B2FK8Hmj.js → dist/assets/cose-bilkent-S5V4N54A-DUJciWuz.js} +1 -1
  95. package/web-dist/dist/assets/{dagre-KLK3FWXG-OpICA5pO.js → dagre-KLK3FWXG-1Gs2MLru.js} +1 -1
  96. package/web-dist/dist/assets/{diagram-E7M64L7V-BeVvG_Fk.js → diagram-E7M64L7V-CYhcAKAb.js} +1 -1
  97. package/web-dist/dist/assets/{diagram-IFDJBPK2-CC6B0X-S.js → diagram-IFDJBPK2-Bwz_DDQ3.js} +1 -1
  98. package/web-dist/dist/assets/{diagram-P4PSJMXO-Be389gWp.js → diagram-P4PSJMXO-Vv5hIK61.js} +1 -1
  99. package/web-dist/{assets/erDiagram-INFDFZHY-CntbdO1u.js → dist/assets/erDiagram-INFDFZHY-p8pK6XmO.js} +1 -1
  100. package/web-dist/dist/assets/{flowDiagram-PKNHOUZH-Dckhh5IN.js → flowDiagram-PKNHOUZH-DJkcT2m8.js} +1 -1
  101. package/web-dist/{assets/ganttDiagram-A5KZAMGK-Bg_HAWHp.js → dist/assets/ganttDiagram-A5KZAMGK-dvUHVsO5.js} +2 -2
  102. package/web-dist/dist/assets/{gitGraphDiagram-K3NZZRJ6-B6XWMagG.js → gitGraphDiagram-K3NZZRJ6-B4OeC-eF.js} +1 -1
  103. package/web-dist/dist/assets/{graph-DE7_oMbo.js → graph-YrhYBC6q.js} +1 -1
  104. package/web-dist/dist/assets/{index-8XE0RIRi.js → index-CoiRh4Fj.js} +350 -348
  105. package/web-dist/dist/assets/index-DosAoIDU.css +32 -0
  106. package/web-dist/dist/assets/{infoDiagram-LFFYTUFH-xmaVCQ2e.js → infoDiagram-LFFYTUFH-C-RkA_Jj.js} +1 -1
  107. package/web-dist/{assets/ishikawaDiagram-PHBUUO56-3YDZXbMA.js → dist/assets/ishikawaDiagram-PHBUUO56-Y5aoR89a.js} +1 -1
  108. package/web-dist/{assets/journeyDiagram-4ABVD52K-C-zpm9nK.js → dist/assets/journeyDiagram-4ABVD52K-BGlY5E0D.js} +1 -1
  109. package/web-dist/dist/assets/{kanban-definition-K7BYSVSG-C81QdGJ0.js → kanban-definition-K7BYSVSG-CV1GZGzs.js} +1 -1
  110. package/web-dist/{assets/layout-3mI44zzs.js → dist/assets/layout-D3tBJOko.js} +1 -1
  111. package/web-dist/dist/assets/{linear-BNYyWDLJ.js → linear-CKIsppUY.js} +1 -1
  112. package/web-dist/{assets/mindmap-definition-YRQLILUH-DWqjyyhq.js → dist/assets/mindmap-definition-YRQLILUH-PE_924u3.js} +1 -1
  113. package/web-dist/dist/assets/{pieDiagram-SKSYHLDU-C4PZItnw.js → pieDiagram-SKSYHLDU-DqxL9R2r.js} +1 -1
  114. package/web-dist/{assets/quadrantDiagram-337W2JSQ-CvvHevzp.js → dist/assets/quadrantDiagram-337W2JSQ-Dl-L4zIo.js} +1 -1
  115. package/web-dist/{assets/requirementDiagram-Z7DCOOCP-aqoLjNsg.js → dist/assets/requirementDiagram-Z7DCOOCP-BWoKwmMA.js} +1 -1
  116. package/web-dist/{assets/sankeyDiagram-WA2Y5GQK-BlyJF86g.js → dist/assets/sankeyDiagram-WA2Y5GQK--fw7pF8D.js} +1 -1
  117. package/web-dist/{assets/sequenceDiagram-2WXFIKYE-5b1yir_p.js → dist/assets/sequenceDiagram-2WXFIKYE-ClcLvmJy.js} +1 -1
  118. package/web-dist/{assets/stateDiagram-RAJIS63D-IGAJkQ8D.js → dist/assets/stateDiagram-RAJIS63D-DbyeESaf.js} +1 -1
  119. package/web-dist/dist/assets/stateDiagram-v2-FVOUBMTO-DxMzoWJP.js +1 -0
  120. package/web-dist/{assets/timeline-definition-YZTLITO2-BaAt9FQ-.js → dist/assets/timeline-definition-YZTLITO2-D-V6lf5H.js} +1 -1
  121. package/web-dist/dist/assets/{treemap-KZPCXAKY-BN4_8xRQ.js → treemap-KZPCXAKY-Cwb5a2Iw.js} +1 -1
  122. package/web-dist/{assets/vennDiagram-LZ73GAT5-b8B0XAMY.js → dist/assets/vennDiagram-LZ73GAT5-BTduvZbs.js} +1 -1
  123. package/web-dist/dist/assets/{xychartDiagram-JWTSCODW-Dmu0xv1i.js → xychartDiagram-JWTSCODW-CWBd-qZZ.js} +1 -1
  124. package/web-dist/dist/index.html +2 -2
  125. package/web-dist/index.html +2 -2
  126. package/web-dist/assets/channel-dsecgh99.js +0 -1
  127. package/web-dist/assets/classDiagram-VBA2DB6C-BF34wz77.js +0 -1
  128. package/web-dist/assets/classDiagram-v2-RAHNMMFH-BF34wz77.js +0 -1
  129. package/web-dist/assets/clone-CFBTl-Ft.js +0 -1
  130. package/web-dist/assets/index-F8QK21l0.css +0 -32
  131. package/web-dist/assets/stateDiagram-v2-FVOUBMTO-LvH4zaom.js +0 -1
  132. package/web-dist/dist/assets/channel-dsecgh99.js +0 -1
  133. package/web-dist/dist/assets/classDiagram-VBA2DB6C-BF34wz77.js +0 -1
  134. package/web-dist/dist/assets/classDiagram-v2-RAHNMMFH-BF34wz77.js +0 -1
  135. package/web-dist/dist/assets/clone-CFBTl-Ft.js +0 -1
  136. package/web-dist/dist/assets/index-F8QK21l0.css +0 -32
  137. package/web-dist/dist/assets/stateDiagram-v2-FVOUBMTO-LvH4zaom.js +0 -1
package/dist/config.js CHANGED
@@ -59,7 +59,7 @@ export function loadConfig() {
59
59
  nodeEnv: process.env["NODE_ENV"] ?? "development",
60
60
  jwtSecret: process.env["JWT_SECRET"] ?? "jait-dev-secret-change-in-production",
61
61
  llmProvider: explicitProvider ?? (hasOpenAiKey ? "openai" : "ollama"),
62
- ollamaUrl: process.env["OLLAMA_URL"] ?? "http://192.168.178.60:11434",
62
+ ollamaUrl: process.env["OLLAMA_URL"] ?? "http://localhost:11434",
63
63
  ollamaModel: process.env["OLLAMA_MODEL"] ??
64
64
  "CognitiveComputations/dolphin-mistral-nemo:12b",
65
65
  openaiApiKey: process.env["OPENAI_API_KEY"] ?? "",
@@ -68,7 +68,7 @@ export function loadConfig() {
68
68
  contextWindow: parseInt(process.env["CONTEXT_WINDOW"] ?? "0", 10) || inferContextWindow(process.env["OPENAI_MODEL"] ?? "gpt-4o"),
69
69
  hookSecret: process.env["HOOK_SECRET"] ?? "jait-hook-secret",
70
70
  heartbeatCron: process.env["HEARTBEAT_CRON"] ?? "* * * * *",
71
- whisperUrl: process.env["WHISPER_URL"] ?? "http://192.168.178.60:8178",
71
+ whisperUrl: process.env["WHISPER_URL"] ?? "http://localhost:8178",
72
72
  };
73
73
  }
74
74
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -36,4 +36,6 @@ export declare class CopilotProvider implements CliProviderAdapter {
36
36
  private parseModelsFromHelp;
37
37
  private testCommand;
38
38
  }
39
+ export declare function buildCopilotExitError(code: number | null, signal: NodeJS.Signals | null, stderr: string): string;
40
+ export declare function parseCopilotModelsFromHelp(output: string): ProviderModelInfo[];
39
41
  //# sourceMappingURL=copilot-provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"copilot-provider.d.ts","sourceRoot":"","sources":["../../src/providers/copilot-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAQH,OAAO,KAAK,EACV,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AAqBxB,qBAAa,eAAgB,YAAW,kBAAkB;IACxD,QAAQ,CAAC,EAAE,EAAG,SAAS,CAAU;IACjC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAMzB;IAEF,OAAO,CAAC,QAAQ,CAA0C;IAC1D,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,WAAW,CAAuB;IAEpC,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;IA4BrC,UAAU,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAe1C,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC;IAoCpE,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAwGpF,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ/C,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5F,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BnD,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,GAAG,MAAM,IAAI;IAO5D,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,WAAW;IA0JnB,OAAO,CAAC,cAAc;IAgCtB,OAAO,CAAC,SAAS;IAwBjB,uDAAuD;IACvD,OAAO,CAAC,mBAAmB;IAgC3B,OAAO,CAAC,WAAW;CAQpB"}
1
+ {"version":3,"file":"copilot-provider.d.ts","sourceRoot":"","sources":["../../src/providers/copilot-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAQH,OAAO,KAAK,EACV,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AAsBxB,qBAAa,eAAgB,YAAW,kBAAkB;IACxD,QAAQ,CAAC,EAAE,EAAG,SAAS,CAAU;IACjC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAMzB;IAEF,OAAO,CAAC,QAAQ,CAA0C;IAC1D,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,WAAW,CAAuB;IAEpC,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;IA4BrC,UAAU,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAe1C,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC;IAqCpE,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA0GpF,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ/C,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5F,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BnD,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,GAAG,MAAM,IAAI;IAO5D,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,WAAW;IA0JnB,OAAO,CAAC,cAAc;IAgCtB,OAAO,CAAC,SAAS;IAwBjB,uDAAuD;IACvD,OAAO,CAAC,mBAAmB;IAqB3B,OAAO,CAAC,WAAW;CAQpB;AAiBD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAIhH;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB,EAAE,CA2B9E"}
@@ -89,6 +89,7 @@ export class CopilotProvider {
89
89
  session,
90
90
  process: null,
91
91
  buffer: "",
92
+ stderr: "",
92
93
  workingDirectory: options.workingDirectory,
93
94
  env,
94
95
  model: options.model,
@@ -135,6 +136,7 @@ export class CopilotProvider {
135
136
  });
136
137
  state.process = child;
137
138
  state.buffer = "";
139
+ state.stderr = "";
138
140
  state.exitMode = "normal";
139
141
  state.session.status = "running";
140
142
  this.emit({ type: "turn.started", sessionId });
@@ -145,6 +147,7 @@ export class CopilotProvider {
145
147
  child.stderr?.on("data", (data) => {
146
148
  const text = data.toString().trim();
147
149
  if (text) {
150
+ state.stderr = appendStderr(state.stderr, text);
148
151
  console.error(`[copilot:${sessionId}] stderr: ${text}`);
149
152
  }
150
153
  });
@@ -173,7 +176,7 @@ export class CopilotProvider {
173
176
  resolve();
174
177
  return;
175
178
  }
176
- const error = `Copilot CLI exited with code ${code}${signal ? ` (signal=${signal})` : ""}`;
179
+ const error = buildCopilotExitError(code, signal, state.stderr);
177
180
  state.session.status = "error";
178
181
  state.session.error = error;
179
182
  this.emit({ type: "session.error", sessionId, error });
@@ -463,21 +466,10 @@ export class CopilotProvider {
463
466
  child.stderr?.on("data", (d) => { output += d.toString(); });
464
467
  child.on("exit", () => {
465
468
  clearTimeout(timer);
466
- // Look for --model choices pattern like: (choices: "model1", "model2", ...)
467
- const match = output.match(/--model\s+.*?\(choices:\s*([^)]+)\)/s);
468
- if (match?.[1]) {
469
- const choices = match[1]
470
- .split(",")
471
- .map(s => s.trim().replace(/^["']|["']$/g, ""))
472
- .filter(Boolean);
473
- if (choices.length > 0) {
474
- resolve(choices.map((id, i) => ({
475
- id,
476
- name: id.replace(/-/g, " ").replace(/\b\w/g, c => c.toUpperCase()),
477
- isDefault: i === 0,
478
- })));
479
- return;
480
- }
469
+ const models = parseCopilotModelsFromHelp(output);
470
+ if (models.length > 0) {
471
+ resolve(models);
472
+ return;
481
473
  }
482
474
  resolve([]);
483
475
  });
@@ -503,4 +495,41 @@ function killChildTree(child, signal = "SIGTERM") {
503
495
  }
504
496
  child.kill(signal);
505
497
  }
498
+ function appendStderr(existing, chunk) {
499
+ const next = existing ? `${existing}\n${chunk}` : chunk;
500
+ return next.length > 4000 ? next.slice(-4000) : next;
501
+ }
502
+ export function buildCopilotExitError(code, signal, stderr) {
503
+ const base = `Copilot CLI exited with code ${code}${signal ? ` (signal=${signal})` : ""}`;
504
+ const detail = stderr.trim();
505
+ return detail ? `${base}: ${detail}` : base;
506
+ }
507
+ export function parseCopilotModelsFromHelp(output) {
508
+ const lines = output.split(/\r?\n/);
509
+ const modelLineIndex = lines.findIndex((line) => line.includes("--model "));
510
+ if (modelLineIndex === -1)
511
+ return [];
512
+ const choiceLines = [];
513
+ for (let i = modelLineIndex; i < lines.length; i++) {
514
+ const line = lines[i] ?? "";
515
+ if (i > modelLineIndex && /^\s{2,}--[a-z0-9-]/i.test(line))
516
+ break;
517
+ choiceLines.push(line);
518
+ if (line.includes(")"))
519
+ break;
520
+ }
521
+ const block = choiceLines.join(" ");
522
+ const match = block.match(/\(choices:\s*([^)]+)\)/);
523
+ if (!match?.[1])
524
+ return [];
525
+ const choices = match[1]
526
+ .split(",")
527
+ .map((s) => s.trim().replace(/^["']|["']$/g, ""))
528
+ .filter(Boolean);
529
+ return choices.map((id, i) => ({
530
+ id,
531
+ name: id.replace(/-/g, " ").replace(/\b\w/g, (c) => c.toUpperCase()),
532
+ isDefault: i === 0,
533
+ }));
534
+ }
506
535
  //# sourceMappingURL=copilot-provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"copilot-provider.js","sourceRoot":"","sources":["../../src/providers/copilot-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"copilot-provider.js","sourceRoot":"","sources":["../../src/providers/copilot-provider.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ import type { SurfaceRegistry } from "../surfaces/registry.js";
12
12
  import type { WsControlPlane } from "../ws.js";
13
13
  import type { SessionStateService } from "../services/session-state.js";
14
14
  import type { ProviderRegistry } from "../providers/registry.js";
15
+ export declare function getExternalFileMutationPath(tool: string, args: unknown): string | null;
15
16
  export interface ChatRouteDeps {
16
17
  db?: JaitDB;
17
18
  sessionService?: SessionService;
@@ -1 +1 @@
1
- {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/routes/chat.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAkB,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,KAAK,SAAS,EAAsB,MAAM,cAAc,CAAC;AAClE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAmajE,MAAM,WAAW,aAAa;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,EAAE,CAAC,EAAE,cAAc,CAAC;IACpB,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,YAAY,CAAC,EAAE,CACb,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE,KACtD,OAAO,CAAC,UAAU,CAAC,CAAC;CAC1B;AAED,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,eAAe,EACpB,MAAM,EAAE,SAAS,EACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,aAAa,EACjC,iBAAiB,CAAC,EAAE,cAAc,QA24CnC"}
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/routes/chat.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAkB,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,KAAK,SAAS,EAAsB,MAAM,cAAc,CAAC;AAClE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAgGjE,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CA2BtF;AA0VD,MAAM,WAAW,aAAa;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,EAAE,CAAC,EAAE,cAAc,CAAC;IACpB,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,YAAY,CAAC,EAAE,CACb,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE,KACtD,OAAO,CAAC,UAAU,CAAC,CAAC;CAC1B;AAED,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,eAAe,EACpB,MAAM,EAAE,SAAS,EACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,aAAa,EACjC,iBAAiB,CAAC,EAAE,cAAc,QAy4CnC"}
@@ -11,11 +11,61 @@ import { requireAuth } from "../security/http-auth.js";
11
11
  import { runAgentLoop, retryToolCall, buildTieredToolSchemas, fromOpenAIName, SteeringController, } from "../tools/agent-loop.js";
12
12
  import { isValidChatMode, } from "../tools/chat-modes.js";
13
13
  import { buildSystemPrompt } from "../tools/prompts/index.js";
14
+ function parseUserDisplaySegments(raw) {
15
+ if (!Array.isArray(raw))
16
+ return undefined;
17
+ const segments = [];
18
+ for (const entry of raw) {
19
+ if (!entry || typeof entry !== "object")
20
+ continue;
21
+ const record = entry;
22
+ if (record.type === "text" && typeof record.text === "string") {
23
+ segments.push({ type: "text", text: record.text });
24
+ continue;
25
+ }
26
+ if (record.type === "file" && typeof record.path === "string") {
27
+ segments.push({
28
+ type: "file",
29
+ path: record.path,
30
+ name: typeof record.name === "string" ? record.name : record.path.split("/").pop() ?? record.path,
31
+ });
32
+ }
33
+ }
34
+ return segments.length > 0 ? segments : undefined;
35
+ }
14
36
  // ── In-memory state ──────────────────────────────────────────────────
15
37
  const sessionHistory = new Map();
16
38
  const activeStreams = new Set();
17
39
  const sessionAbortControllers = new Map();
18
40
  const sessionStreamingState = new Map();
41
+ export function getExternalFileMutationPath(tool, args) {
42
+ const normalized = tool.trim().toLowerCase();
43
+ const fileMutationTools = new Set([
44
+ "edit",
45
+ "multiedit",
46
+ "file.write",
47
+ "write",
48
+ "create_file",
49
+ "create-file",
50
+ "replace_string_in_file",
51
+ "replace-string-in-file",
52
+ "insert_edit_into_file",
53
+ "insert-edit-into-file",
54
+ ]);
55
+ if (!fileMutationTools.has(normalized))
56
+ return null;
57
+ const input = args && typeof args === "object" && !Array.isArray(args)
58
+ ? args
59
+ : {};
60
+ const path = input["path"]
61
+ ?? input["file_path"]
62
+ ?? input["filePath"]
63
+ ?? input["file"]
64
+ ?? input["filename"]
65
+ ?? input["target_file"]
66
+ ?? input["targetFile"];
67
+ return typeof path === "string" && path.trim() ? path : null;
68
+ }
19
69
  function getOrCreateAccumulator(sessionId) {
20
70
  let acc = sessionStreamingState.get(sessionId);
21
71
  if (!acc) {
@@ -485,6 +535,8 @@ export function registerChatRoutes(app, config, depsOrDb, sessionServiceArg) {
485
535
  const requestProvider = typeof body["provider"] === "string"
486
536
  ? body["provider"]
487
537
  : undefined;
538
+ const displaySegments = parseUserDisplaySegments(body["displaySegments"]);
539
+ const displaySegmentsJson = displaySegments ? JSON.stringify(displaySegments) : undefined;
488
540
  // Parse file attachments (images / files sent as base64 from the client)
489
541
  const rawAttachments = Array.isArray(body["attachments"]) ? body["attachments"] : [];
490
542
  const attachments = rawAttachments
@@ -570,12 +622,12 @@ export function registerChatRoutes(app, config, depsOrDb, sessionServiceArg) {
570
622
  contentParts.push({ type: "text", text: `[File: ${att.name}]\n${decoded}` });
571
623
  }
572
624
  }
573
- history.push({ role: "user", content: contentParts });
574
- persistMessage(sessionId, "user", content + attachments.map((a) => ` [attached: ${a.name}]`).join(""));
625
+ history.push({ role: "user", content: contentParts, segments: displaySegments });
626
+ persistMessage(sessionId, "user", content + attachments.map((a) => ` [attached: ${a.name}]`).join(""), undefined, displaySegmentsJson);
575
627
  }
576
628
  else {
577
- history.push({ role: "user", content });
578
- persistMessage(sessionId, "user", content);
629
+ history.push({ role: "user", content, segments: displaySegments });
630
+ persistMessage(sessionId, "user", content, undefined, displaySegmentsJson);
579
631
  }
580
632
  try {
581
633
  sessionService?.touch(sessionId);
@@ -787,12 +839,10 @@ export function registerChatRoutes(app, config, depsOrDb, sessionServiceArg) {
787
839
  startedAt: Date.now(),
788
840
  });
789
841
  pendingToolGroup.push(callId);
790
- // Save backup of original file *before* CLI provider writes it
791
- if (event.tool === "edit" && cliFsSurface) {
792
- const editPath = String(event.args?.path ?? "");
793
- if (editPath) {
794
- cliFsSurface.saveExternalBackup(editPath).catch(() => { });
795
- }
842
+ // Save backup of the original file before external providers mutate it.
843
+ const mutationPath = getExternalFileMutationPath(event.tool, event.args);
844
+ if (mutationPath && cliFsSurface) {
845
+ cliFsSurface.saveExternalBackup(mutationPath).catch(() => { });
796
846
  }
797
847
  safeWrite(`data: ${JSON.stringify({ type: "tool_start", call_id: callId, tool: event.tool, args: event.args })}\n\n`);
798
848
  emitToSubscribers(sessionId, { type: "tool_start", call_id: callId, tool: event.tool, args: event.args });
@@ -822,33 +872,31 @@ export function registerChatRoutes(app, config, depsOrDb, sessionServiceArg) {
822
872
  safeWrite(`data: ${JSON.stringify({ type: "tool_result", call_id: resultCallId, tool: event.tool, ok: event.ok, message: event.message, data: event.data })}\n\n`);
823
873
  emitToSubscribers(sessionId, { type: "tool_result", call_id: resultCallId, tool: event.tool, ok: event.ok, message: event.message, data: event.data });
824
874
  accumulateToolResult(sessionId, resultCallId, event.ok, event.message || "", event.data);
825
- // Emit file_changed for successful edits drives the keep/discard UI
826
- if (event.ok && event.tool === "edit") {
827
- const editPath = String(tc?.args ? tc.args.path ?? "" : "");
828
- if (editPath) {
829
- const editName = editPath.split(/[\/\\]/).pop() ?? editPath;
830
- safeWrite(`data: ${JSON.stringify({ type: "file_changed", path: editPath, name: editName })}\n\n`);
831
- // Broadcast to other session clients
832
- if (ws) {
833
- ws.broadcast(sessionId, {
834
- type: "ui.state-sync",
835
- sessionId,
836
- timestamp: new Date().toISOString(),
837
- payload: { key: "file_changed", value: { path: editPath, name: editName } },
838
- });
839
- }
840
- // Persist cumulative changed files list
841
- if (sessionStateService) {
842
- try {
843
- const existing = sessionStateService.get(sessionId, ["changed_files"]);
844
- const files = Array.isArray(existing["changed_files"]) ? existing["changed_files"] : [];
845
- if (!files.some((f) => f.path === editPath)) {
846
- files.push({ path: editPath, name: editName });
847
- sessionStateService.set(sessionId, { changed_files: files });
848
- }
875
+ // Emit file_changed for successful external file mutations.
876
+ const mutationPath = getExternalFileMutationPath(tc?.tool ?? event.tool, tc?.args ?? {});
877
+ if (event.ok && mutationPath) {
878
+ const editName = mutationPath.split(/[\/\\]/).pop() ?? mutationPath;
879
+ safeWrite(`data: ${JSON.stringify({ type: "file_changed", path: mutationPath, name: editName })}\n\n`);
880
+ // Broadcast to other session clients
881
+ if (ws) {
882
+ ws.broadcast(sessionId, {
883
+ type: "ui.state-sync",
884
+ sessionId,
885
+ timestamp: new Date().toISOString(),
886
+ payload: { key: "file_changed", value: { path: mutationPath, name: editName } },
887
+ });
888
+ }
889
+ // Persist cumulative changed files list
890
+ if (sessionStateService) {
891
+ try {
892
+ const existing = sessionStateService.get(sessionId, ["changed_files"]);
893
+ const files = Array.isArray(existing["changed_files"]) ? existing["changed_files"] : [];
894
+ if (!files.some((f) => f.path === mutationPath)) {
895
+ files.push({ path: mutationPath, name: editName });
896
+ sessionStateService.set(sessionId, { changed_files: files });
849
897
  }
850
- catch { /* ignore */ }
851
898
  }
899
+ catch { /* ignore */ }
852
900
  }
853
901
  }
854
902
  break;