turbollm 1.9.4 → 1.9.6

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 (103) hide show
  1. package/dist/chunk-BWZ74SDA.js +51 -0
  2. package/dist/chunk-THELTG2H.js +50 -0
  3. package/dist/cli.js +616 -85
  4. package/dist/resolve-executable-ZWQDUVY3.js +9 -0
  5. package/dist/shell-command-QI6VPNNL.js +15 -0
  6. package/dist/webdist/assets/{AgentEditPage-CbJqYCVo.js → AgentEditPage-DtVYUbnL.js} +1 -1
  7. package/dist/webdist/assets/{ChatScreen-LaTz7fTZ.js → ChatScreen-CFqvsPyx.js} +1 -1
  8. package/dist/webdist/assets/{CodeComposer-12z9dbZA.js → CodeComposer-CEjCtZkU.js} +1 -1
  9. package/dist/webdist/assets/{CodeHomeScreen-8A3Anu2L.js → CodeHomeScreen-DMVcD76o.js} +1 -1
  10. package/dist/webdist/assets/{CodeSessionScreen-BoA5rPp7.js → CodeSessionScreen-DAtsPyto.js} +1 -1
  11. package/dist/webdist/assets/{CustomizeScreen-BTBhphFE.js → CustomizeScreen-Cbki-6V9.js} +1 -1
  12. package/dist/webdist/assets/{DeveloperScreen-Dfy6Rgw4.js → DeveloperScreen-WD9BR3c2.js} +1 -1
  13. package/dist/webdist/assets/{EnginesScreen-Dwxe8B5p.js → EnginesScreen-Dn2h0ZJu.js} +1 -1
  14. package/dist/webdist/assets/{FsBrowser-DXxO1QdQ.js → FsBrowser-B3FpjXmq.js} +1 -1
  15. package/dist/webdist/assets/{ModelLoadMenu-C7wK_COK.js → ModelLoadMenu-gr5_lfaC.js} +1 -1
  16. package/dist/webdist/assets/{ModelsScreen-DnpYzOj2.js → ModelsScreen-CB62SK43.js} +1 -1
  17. package/dist/webdist/assets/{SettingsScreen-Tn8PlYcS.js → SettingsScreen-YEjZw2_s.js} +1 -1
  18. package/dist/webdist/assets/{SkillEditPage-Bzr1Mfqi.js → SkillEditPage-CwUXP2-z.js} +1 -1
  19. package/dist/webdist/assets/{TokensScreen-BrnFne8W.js → TokensScreen-Dr8A9OL9.js} +1 -1
  20. package/dist/webdist/assets/{ToolApprovalBar-BfIwjh_G.js → ToolApprovalBar-bXZAEk7U.js} +3 -3
  21. package/dist/webdist/assets/WorkspaceScreen-DoG03BQz.js +1 -0
  22. package/dist/webdist/assets/{agent-api-C0qMHAE0.js → agent-api-DZH-y2xg.js} +1 -1
  23. package/dist/webdist/assets/{arc-DGmQFsDA.js → arc-D5l_g5is.js} +1 -1
  24. package/dist/webdist/assets/{architectureDiagram-3BPJPVTR-DSypGjGj.js → architectureDiagram-3BPJPVTR-CguxoWho.js} +1 -1
  25. package/dist/webdist/assets/{arrow-left-CuK9vFgW.js → arrow-left-wlX0VpDE.js} +1 -1
  26. package/dist/webdist/assets/{badge-jlftBi-Q.js → badge-BRepTaJr.js} +1 -1
  27. package/dist/webdist/assets/{blockDiagram-GPEHLZMM-DoYsQhuo.js → blockDiagram-GPEHLZMM-B9xsnW_4.js} +1 -1
  28. package/dist/webdist/assets/{bot-CE50aKt3.js → bot-D2tkiUsh.js} +1 -1
  29. package/dist/webdist/assets/{c4Diagram-AAUBKEIU-DsQ4mGev.js → c4Diagram-AAUBKEIU-CYTOwpJg.js} +1 -1
  30. package/dist/webdist/assets/channel-BCf5gRqW.js +1 -0
  31. package/dist/webdist/assets/{chat-api-BQgsmVCJ.js → chat-api-FD0R9dNF.js} +1 -1
  32. package/dist/webdist/assets/{chat-queries-BuU4cQ0I.js → chat-queries-BKXFq3YC.js} +1 -1
  33. package/dist/webdist/assets/{chevron-left-BoIfI017.js → chevron-left-BKw66_4_.js} +1 -1
  34. package/dist/webdist/assets/{chevron-right-Btn5ue2K.js → chevron-right-CFMIMfHC.js} +1 -1
  35. package/dist/webdist/assets/{chunk-2J33WTMH-Cpm4yaej.js → chunk-2J33WTMH-DpsCpZbI.js} +1 -1
  36. package/dist/webdist/assets/{chunk-4BX2VUAB-Qkt8VpMd.js → chunk-4BX2VUAB-C0i72mr2.js} +1 -1
  37. package/dist/webdist/assets/{chunk-55IACEB6-D0lIZ5zv.js → chunk-55IACEB6-DmbNCy4Z.js} +1 -1
  38. package/dist/webdist/assets/{chunk-727SXJPM-DmJbKG_f.js → chunk-727SXJPM-CiKdPdL2.js} +1 -1
  39. package/dist/webdist/assets/{chunk-AQP2D5EJ-CP5FXopV.js → chunk-AQP2D5EJ-Bc6RXr7f.js} +1 -1
  40. package/dist/webdist/assets/{chunk-FMBD7UC4-CEHj-mOu.js → chunk-FMBD7UC4-CVnhYSu6.js} +1 -1
  41. package/dist/webdist/assets/{chunk-ND2GUHAM-DfaWkbDp.js → chunk-ND2GUHAM-CW8vQLlh.js} +1 -1
  42. package/dist/webdist/assets/{chunk-QZHKN3VN-Cbt4eIAq.js → chunk-QZHKN3VN-x4JaoE5f.js} +1 -1
  43. package/dist/webdist/assets/{circle-check-CyJ0DXgY.js → circle-check-8hmejhyG.js} +1 -1
  44. package/dist/webdist/assets/{circle-x-B2ihWKOZ.js → circle-x-C9EQG8zH.js} +1 -1
  45. package/dist/webdist/assets/classDiagram-4FO5ZUOK-Bg74ry_y.js +1 -0
  46. package/dist/webdist/assets/classDiagram-v2-Q7XG4LA2-Bg74ry_y.js +1 -0
  47. package/dist/webdist/assets/{common-CA-hju85.js → common-CqVKpWIL.js} +1 -1
  48. package/dist/webdist/assets/{cose-bilkent-S5V4N54A-U7v4kFOg.js → cose-bilkent-S5V4N54A-Cv-MBe40.js} +1 -1
  49. package/dist/webdist/assets/{dagre-BM42HDAG-BrRqvg5R.js → dagre-BM42HDAG-CZWDfsjb.js} +1 -1
  50. package/dist/webdist/assets/{diagram-2AECGRRQ-CSOuZx8C.js → diagram-2AECGRRQ-CsDxXM77.js} +1 -1
  51. package/dist/webdist/assets/{diagram-5GNKFQAL-Dc9npHHs.js → diagram-5GNKFQAL-t3BVl_nH.js} +1 -1
  52. package/dist/webdist/assets/{diagram-KO2AKTUF-CRMmrYOC.js → diagram-KO2AKTUF-Ck_gIw7B.js} +1 -1
  53. package/dist/webdist/assets/{diagram-LMA3HP47-DR-qZazu.js → diagram-LMA3HP47-w5BRZa6G.js} +1 -1
  54. package/dist/webdist/assets/{diagram-OG6HWLK6-BRt3haop.js → diagram-OG6HWLK6-DLKPbcMA.js} +1 -1
  55. package/dist/webdist/assets/{dialog-OPLOEGn-.js → dialog-6Wb-Xczv.js} +1 -1
  56. package/dist/webdist/assets/{dropdown-menu-mOPaoWK5.js → dropdown-menu-BAw7TO38.js} +1 -1
  57. package/dist/webdist/assets/{erDiagram-TEJ5UH35-D0M-EUsh.js → erDiagram-TEJ5UH35-3L9k9gBp.js} +1 -1
  58. package/dist/webdist/assets/{flowDiagram-I6XJVG4X-DBufQOmB.js → flowDiagram-I6XJVG4X-l8IUdo3a.js} +1 -1
  59. package/dist/webdist/assets/{ganttDiagram-6RSMTGT7-B6zSUp2B.js → ganttDiagram-6RSMTGT7-Dj69Fodg.js} +1 -1
  60. package/dist/webdist/assets/{git-branch-D8GYPzhY.js → git-branch-BQTTe9uX.js} +1 -1
  61. package/dist/webdist/assets/{gitGraphDiagram-PVQCEYII-CnSmYO2G.js → gitGraphDiagram-PVQCEYII-Du_5XKj1.js} +1 -1
  62. package/dist/webdist/assets/{index-COUI_CR-.js → index-HEbqFffw.js} +2 -2
  63. package/dist/webdist/assets/{infoDiagram-5YYISTIA-F6nF57e3.js → infoDiagram-5YYISTIA-Cna43URi.js} +1 -1
  64. package/dist/webdist/assets/{ishikawaDiagram-YF4QCWOH-DXMvubwx.js → ishikawaDiagram-YF4QCWOH-hNRD3nFQ.js} +1 -1
  65. package/dist/webdist/assets/{journeyDiagram-JHISSGLW-BcMZWZZi.js → journeyDiagram-JHISSGLW-DDZl1KbG.js} +1 -1
  66. package/dist/webdist/assets/{kanban-definition-UN3LZRKU-BhA3iHrI.js → kanban-definition-UN3LZRKU-Dj3MHmQh.js} +1 -1
  67. package/dist/webdist/assets/{linear-DCHP6NLs.js → linear-BIBN6AEG.js} +1 -1
  68. package/dist/webdist/assets/{lock-DEL9SW4n.js → lock-D9JNrPro.js} +1 -1
  69. package/dist/webdist/assets/{mermaid.core-Bvxj3QV6.js → mermaid.core-Cx_BdpgL.js} +4 -4
  70. package/dist/webdist/assets/{mindmap-definition-RKZ34NQL-DFW-B7At.js → mindmap-definition-RKZ34NQL-AghKUeZq.js} +1 -1
  71. package/dist/webdist/assets/{pencil-D3YoSpTL.js → pencil-BKwhK8ii.js} +1 -1
  72. package/dist/webdist/assets/{personas-BL5LWber.js → personas-DpoGW3xD.js} +1 -1
  73. package/dist/webdist/assets/{pieDiagram-4H26LBE5-D22oz4Bh.js → pieDiagram-4H26LBE5-BNVbKhn5.js} +1 -1
  74. package/dist/webdist/assets/{plus-Czof1-k0.js → plus-BwuuyzoK.js} +1 -1
  75. package/dist/webdist/assets/{quadrantDiagram-W4KKPZXB-rH5_lBaU.js → quadrantDiagram-W4KKPZXB-Br5J-7iq.js} +1 -1
  76. package/dist/webdist/assets/{refresh-cw-eHr6ZrHD.js → refresh-cw-WDCjpgA4.js} +1 -1
  77. package/dist/webdist/assets/{requirementDiagram-4Y6WPE33-2GvaIJsP.js → requirementDiagram-4Y6WPE33-BRepNBqi.js} +1 -1
  78. package/dist/webdist/assets/{rotate-ccw-DBvaE0Sq.js → rotate-ccw-CsT9aYGg.js} +1 -1
  79. package/dist/webdist/assets/{sankeyDiagram-5OEKKPKP-VB7s7E26.js → sankeyDiagram-5OEKKPKP-CT1B03d0.js} +1 -1
  80. package/dist/webdist/assets/{sequenceDiagram-3UESZ5HK-DypBxMgR.js → sequenceDiagram-3UESZ5HK-B0h8Ocb4.js} +1 -1
  81. package/dist/webdist/assets/{skeleton-COip0Uxa.js → skeleton-C_8cUA8S.js} +1 -1
  82. package/dist/webdist/assets/{sliders-horizontal-BYbWJESN.js → sliders-horizontal-DnZxStk1.js} +1 -1
  83. package/dist/webdist/assets/{sparkles-Bunle1wO.js → sparkles-CgOPZTJx.js} +1 -1
  84. package/dist/webdist/assets/{star-CDjPloh2.js → star-DRDhG9iP.js} +1 -1
  85. package/dist/webdist/assets/{stateDiagram-AJRCARHV-De6Tx6UP.js → stateDiagram-AJRCARHV-C6W3BUAK.js} +1 -1
  86. package/dist/webdist/assets/stateDiagram-v2-BHNVJYJU-CdjOVW2f.js +1 -0
  87. package/dist/webdist/assets/{switch-CrtIhLpg.js → switch-Qya-6vsg.js} +1 -1
  88. package/dist/webdist/assets/{terminal-C_jrBBqy.js → terminal-CR5oCvI7.js} +1 -1
  89. package/dist/webdist/assets/{timeline-definition-PNZ67QCA-DzMJnztZ.js → timeline-definition-PNZ67QCA-Dtggo9rb.js} +1 -1
  90. package/dist/webdist/assets/{trash-2-BA8fBFXw.js → trash-2-Ejk7so01.js} +1 -1
  91. package/dist/webdist/assets/{useIsDesktop-Dg2G692v.js → useIsDesktop-CmQXgI2O.js} +1 -1
  92. package/dist/webdist/assets/{vennDiagram-CIIHVFJN-BNR_zHHW.js → vennDiagram-CIIHVFJN-mYXtI-Zx.js} +1 -1
  93. package/dist/webdist/assets/{wardley-L42UT6IY-Cm1Sh5Oj.js → wardley-L42UT6IY-D4Qq_cbT.js} +1 -1
  94. package/dist/webdist/assets/{wardleyDiagram-YWT4CUSO-Bvni8f-6.js → wardleyDiagram-YWT4CUSO-dGqgsAhD.js} +1 -1
  95. package/dist/webdist/assets/{wrench-Uhws4miP.js → wrench-C42l7xRT.js} +1 -1
  96. package/dist/webdist/assets/{xychartDiagram-2RQKCTM6-Dyk7o391.js → xychartDiagram-2RQKCTM6-brgk11Hq.js} +1 -1
  97. package/dist/webdist/index.html +1 -1
  98. package/package.json +1 -1
  99. package/dist/webdist/assets/WorkspaceScreen-CHg7GC1T.js +0 -1
  100. package/dist/webdist/assets/channel-BBYa3XlX.js +0 -1
  101. package/dist/webdist/assets/classDiagram-4FO5ZUOK-3anTq5dR.js +0 -1
  102. package/dist/webdist/assets/classDiagram-v2-Q7XG4LA2-3anTq5dR.js +0 -1
  103. package/dist/webdist/assets/stateDiagram-v2-BHNVJYJU-BJ8zIW-S.js +0 -1
@@ -0,0 +1,51 @@
1
+ #!/usr/bin/env node
2
+
3
+ // src/util/resolve-executable.ts
4
+ import { accessSync, constants, statSync } from "fs";
5
+ import { delimiter, extname, isAbsolute, join } from "path";
6
+ var SHIM_EXTENSIONS = /* @__PURE__ */ new Set([".cmd", ".bat"]);
7
+ function isFile(p) {
8
+ try {
9
+ return statSync(p).isFile();
10
+ } catch {
11
+ return false;
12
+ }
13
+ }
14
+ function isExecutableFile(p) {
15
+ if (!isFile(p)) return false;
16
+ if (process.platform === "win32") return true;
17
+ try {
18
+ accessSync(p, constants.X_OK);
19
+ return true;
20
+ } catch {
21
+ return false;
22
+ }
23
+ }
24
+ function resolveExecutable(command, env = process.env, platform = process.platform) {
25
+ if (!command) return null;
26
+ const win32 = platform === "win32";
27
+ const exts = win32 ? (env.PATHEXT ?? ".COM;.EXE;.BAT;.CMD").split(";").filter(Boolean).map((e) => e.toLowerCase()) : [""];
28
+ const candidates = (base) => (
29
+ // An explicit extension is honoured as-is; only an extension-less command gets PATHEXT applied.
30
+ extname(base) ? [base] : [base, ...exts.map((e) => base + e)]
31
+ );
32
+ if (isAbsolute(command) || command.startsWith("./") || command.startsWith(".\\")) {
33
+ return candidates(command).find(isExecutableFile) ?? null;
34
+ }
35
+ for (const dir of (env.PATH ?? env.Path ?? "").split(delimiter).filter(Boolean)) {
36
+ const clean = dir.replace(/^"|"$/g, "");
37
+ const hit = candidates(join(clean, command)).find(isExecutableFile);
38
+ if (hit) return hit;
39
+ }
40
+ return null;
41
+ }
42
+ function requiresShell(resolvedPath, platform = process.platform) {
43
+ if (!resolvedPath) return true;
44
+ if (platform !== "win32") return false;
45
+ return SHIM_EXTENSIONS.has(extname(resolvedPath).toLowerCase());
46
+ }
47
+
48
+ export {
49
+ resolveExecutable,
50
+ requiresShell
51
+ };
@@ -0,0 +1,50 @@
1
+ #!/usr/bin/env node
2
+
3
+ // src/util/shell-command.ts
4
+ var SAFE_UNQUOTED_WIN = /^[A-Za-z0-9_@%+=:,./\\-]+$/;
5
+ var SAFE_UNQUOTED_POSIX = /^[A-Za-z0-9_@%+=:,./-]+$/;
6
+ function quoteWindowsArg(arg) {
7
+ if (arg === "") return '""';
8
+ if (SAFE_UNQUOTED_WIN.test(arg)) return arg;
9
+ let out = '"';
10
+ let backslashes = 0;
11
+ for (const ch of arg) {
12
+ if (ch === "\\") {
13
+ backslashes++;
14
+ continue;
15
+ }
16
+ if (ch === '"') {
17
+ out += "\\".repeat(backslashes * 2 + 1) + '"';
18
+ backslashes = 0;
19
+ continue;
20
+ }
21
+ out += "\\".repeat(backslashes) + ch;
22
+ backslashes = 0;
23
+ }
24
+ out += "\\".repeat(backslashes * 2) + '"';
25
+ return out;
26
+ }
27
+ function quotePosixArg(arg) {
28
+ if (arg === "") return "''";
29
+ if (SAFE_UNQUOTED_POSIX.test(arg)) return arg;
30
+ return `'${arg.split("'").join(`'\\''`)}'`;
31
+ }
32
+ function quotePowerShellArg(arg) {
33
+ return `'${arg.split("'").join("''")}'`;
34
+ }
35
+ function quotePtyShellArg(arg, platform = process.platform) {
36
+ if (platform === "win32") return quotePowerShellArg(arg);
37
+ return `'${arg.split("'").join(`'\\''`)}'`;
38
+ }
39
+ function buildShellCommand(bin, args, platform = process.platform) {
40
+ const quote = platform === "win32" ? quoteWindowsArg : quotePosixArg;
41
+ return [bin, ...args].map(quote).join(" ");
42
+ }
43
+
44
+ export {
45
+ quoteWindowsArg,
46
+ quotePosixArg,
47
+ quotePowerShellArg,
48
+ quotePtyShellArg,
49
+ buildShellCommand
50
+ };