@action-llama/action-llama 0.4.2 → 0.4.12

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 (119) hide show
  1. package/README.md +8 -12
  2. package/dist/agents/container-entry.js +9 -7
  3. package/dist/agents/container-entry.js.map +1 -1
  4. package/dist/agents/container-runner.d.ts +4 -1
  5. package/dist/agents/container-runner.d.ts.map +1 -1
  6. package/dist/agents/container-runner.js +10 -2
  7. package/dist/agents/container-runner.js.map +1 -1
  8. package/dist/agents/runner.d.ts +4 -1
  9. package/dist/agents/runner.d.ts.map +1 -1
  10. package/dist/agents/runner.js +41 -18
  11. package/dist/agents/runner.js.map +1 -1
  12. package/dist/cli/commands/new.d.ts.map +1 -1
  13. package/dist/cli/commands/new.js +63 -14
  14. package/dist/cli/commands/new.js.map +1 -1
  15. package/dist/cli/commands/start.d.ts +1 -0
  16. package/dist/cli/commands/start.d.ts.map +1 -1
  17. package/dist/cli/commands/start.js +2 -1
  18. package/dist/cli/commands/start.js.map +1 -1
  19. package/dist/cli/main.js +1 -0
  20. package/dist/cli/main.js.map +1 -1
  21. package/dist/credentials/builtins/custom-key.d.ts +4 -0
  22. package/dist/credentials/builtins/custom-key.d.ts.map +1 -0
  23. package/dist/credentials/builtins/custom-key.js +35 -0
  24. package/dist/credentials/builtins/custom-key.js.map +1 -0
  25. package/dist/credentials/builtins/google-key.d.ts +4 -0
  26. package/dist/credentials/builtins/google-key.d.ts.map +1 -0
  27. package/dist/credentials/builtins/google-key.js +35 -0
  28. package/dist/credentials/builtins/google-key.js.map +1 -0
  29. package/dist/credentials/builtins/groq-key.d.ts +4 -0
  30. package/dist/credentials/builtins/groq-key.d.ts.map +1 -0
  31. package/dist/credentials/builtins/groq-key.js +37 -0
  32. package/dist/credentials/builtins/groq-key.js.map +1 -0
  33. package/dist/credentials/builtins/index.d.ts.map +1 -1
  34. package/dist/credentials/builtins/index.js +12 -0
  35. package/dist/credentials/builtins/index.js.map +1 -1
  36. package/dist/credentials/builtins/mistral-key.d.ts +4 -0
  37. package/dist/credentials/builtins/mistral-key.d.ts.map +1 -0
  38. package/dist/credentials/builtins/mistral-key.js +35 -0
  39. package/dist/credentials/builtins/mistral-key.js.map +1 -0
  40. package/dist/credentials/builtins/openrouter-key.d.ts +4 -0
  41. package/dist/credentials/builtins/openrouter-key.d.ts.map +1 -0
  42. package/dist/credentials/builtins/openrouter-key.js +37 -0
  43. package/dist/credentials/builtins/openrouter-key.js.map +1 -0
  44. package/dist/credentials/builtins/xai-key.d.ts +4 -0
  45. package/dist/credentials/builtins/xai-key.d.ts.map +1 -0
  46. package/dist/credentials/builtins/xai-key.js +37 -0
  47. package/dist/credentials/builtins/xai-key.js.map +1 -0
  48. package/dist/gateway/index.d.ts +2 -0
  49. package/dist/gateway/index.d.ts.map +1 -1
  50. package/dist/gateway/index.js +20 -34
  51. package/dist/gateway/index.js.map +1 -1
  52. package/dist/gateway/routes/credentials.d.ts +2 -2
  53. package/dist/gateway/routes/credentials.d.ts.map +1 -1
  54. package/dist/gateway/routes/credentials.js +7 -9
  55. package/dist/gateway/routes/credentials.js.map +1 -1
  56. package/dist/gateway/routes/dashboard.d.ts +4 -0
  57. package/dist/gateway/routes/dashboard.d.ts.map +1 -0
  58. package/dist/gateway/routes/dashboard.js +151 -0
  59. package/dist/gateway/routes/dashboard.js.map +1 -0
  60. package/dist/gateway/routes/logs.d.ts +2 -2
  61. package/dist/gateway/routes/logs.d.ts.map +1 -1
  62. package/dist/gateway/routes/logs.js +9 -12
  63. package/dist/gateway/routes/logs.js.map +1 -1
  64. package/dist/gateway/routes/shutdown.d.ts +2 -2
  65. package/dist/gateway/routes/shutdown.d.ts.map +1 -1
  66. package/dist/gateway/routes/shutdown.js +7 -11
  67. package/dist/gateway/routes/shutdown.js.map +1 -1
  68. package/dist/gateway/routes/webhooks.d.ts +2 -2
  69. package/dist/gateway/routes/webhooks.d.ts.map +1 -1
  70. package/dist/gateway/routes/webhooks.js +10 -14
  71. package/dist/gateway/routes/webhooks.js.map +1 -1
  72. package/dist/gateway/views/dashboard-page.d.ts +3 -0
  73. package/dist/gateway/views/dashboard-page.d.ts.map +1 -0
  74. package/dist/gateway/views/dashboard-page.js +246 -0
  75. package/dist/gateway/views/dashboard-page.js.map +1 -0
  76. package/dist/gateway/views/logs-page.d.ts +2 -0
  77. package/dist/gateway/views/logs-page.d.ts.map +1 -0
  78. package/dist/gateway/views/logs-page.js +180 -0
  79. package/dist/gateway/views/logs-page.js.map +1 -0
  80. package/dist/scheduler/event-queue.d.ts +18 -0
  81. package/dist/scheduler/event-queue.d.ts.map +1 -1
  82. package/dist/scheduler/event-queue.js +35 -0
  83. package/dist/scheduler/event-queue.js.map +1 -1
  84. package/dist/scheduler/index.d.ts +5 -2
  85. package/dist/scheduler/index.d.ts.map +1 -1
  86. package/dist/scheduler/index.js +89 -37
  87. package/dist/scheduler/index.js.map +1 -1
  88. package/dist/setup/prompts.d.ts.map +1 -1
  89. package/dist/setup/prompts.js +89 -19
  90. package/dist/setup/prompts.js.map +1 -1
  91. package/dist/setup/scaffold.d.ts.map +1 -1
  92. package/dist/setup/scaffold.js +52 -24
  93. package/dist/setup/scaffold.js.map +1 -1
  94. package/dist/shared/config.d.ts +2 -1
  95. package/dist/shared/config.d.ts.map +1 -1
  96. package/dist/shared/config.js.map +1 -1
  97. package/dist/tui/App.d.ts.map +1 -1
  98. package/dist/tui/App.js +1 -1
  99. package/dist/tui/App.js.map +1 -1
  100. package/dist/tui/plain-logger.d.ts.map +1 -1
  101. package/dist/tui/plain-logger.js +16 -6
  102. package/dist/tui/plain-logger.js.map +1 -1
  103. package/dist/tui/status-tracker.d.ts +3 -0
  104. package/dist/tui/status-tracker.d.ts.map +1 -1
  105. package/dist/tui/status-tracker.js +8 -0
  106. package/dist/tui/status-tracker.js.map +1 -1
  107. package/dist/webhooks/definitions/github.d.ts.map +1 -1
  108. package/dist/webhooks/definitions/github.js +2 -0
  109. package/dist/webhooks/definitions/github.js.map +1 -1
  110. package/dist/webhooks/providers/github.d.ts.map +1 -1
  111. package/dist/webhooks/providers/github.js +7 -0
  112. package/dist/webhooks/providers/github.js.map +1 -1
  113. package/dist/webhooks/types.d.ts +2 -0
  114. package/dist/webhooks/types.d.ts.map +1 -1
  115. package/package.json +10 -4
  116. package/dist/gateway/router.d.ts +0 -13
  117. package/dist/gateway/router.d.ts.map +0 -1
  118. package/dist/gateway/router.js +0 -71
  119. package/dist/gateway/router.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,oBAAoB,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AAExF,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,IAAI,CAAC;KACV,WAAW,CAAC,6CAA6C,CAAC;KAC1D,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAExB,+BAA+B;AAE/B,OAAO;KACJ,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,sDAAsD,CAAC;KACnE,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;KAClC,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE;IAC7B,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IACtD,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,6BAA6B,CAAC;KAC1C,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;KACjC,MAAM,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,GAAG,CAAC;KACvD,MAAM,CAAC,aAAa,EAAE,kEAAkE,CAAC;KACzF,MAAM,CAAC,aAAa,EAAE,6BAA6B,CAAC;KACpD,MAAM,CAAC,gBAAgB,EAAE,0EAA0E,CAAC;KACpG,MAAM,CAAC,KAAK,EAAE,KAAa,EAAE,IAAI,EAAE,EAAE;IACpC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IACtD,MAAM,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,sBAAsB,CAAC;KACnC,MAAM,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,GAAG,CAAC;KACvD,MAAM,CAAC,aAAa,EAAE,kEAAkE,CAAC;KACzF,MAAM,CAAC,aAAa,EAAE,6BAA6B,CAAC;KACpD,MAAM,CAAC,gBAAgB,EAAE,kFAAkF,CAAC;KAC5G,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACxD,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,iEAAiE,CAAC;KAC9E,MAAM,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,GAAG,CAAC;KACvD,MAAM,CAAC,aAAa,EAAE,kDAAkD,CAAC;KACzE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;IACzD,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,sBAAsB,CAAC;KACnC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;KACjC,MAAM,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,GAAG,CAAC;KACvD,MAAM,CAAC,iBAAiB,EAAE,+BAA+B,EAAE,IAAI,CAAC;KAChE,MAAM,CAAC,cAAc,EAAE,uCAAuC,CAAC;KAC/D,MAAM,CAAC,yBAAyB,EAAE,0BAA0B,CAAC;KAC7D,MAAM,CAAC,aAAa,EAAE,iBAAiB,CAAC;KACxC,MAAM,CAAC,KAAK,EAAE,KAAa,EAAE,IAAI,EAAE,EAAE;IACpC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACvD,MAAM,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,mBAAmB,CAAC;KAChC,MAAM,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,GAAG,CAAC;KACvD,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC;KAC1C,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;IACzD,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,4DAA4D,CAAC;KACzE,MAAM,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,GAAG,CAAC;KACvD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAC1D,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC;AAEL,gCAAgC;AAEhC,MAAM,QAAQ,GAAG,OAAO;KACrB,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,uBAAuB,CAAC,CAAC;AAExC,QAAQ;KACL,OAAO,CAAC,IAAI,CAAC;KACb,WAAW,CAAC,kDAAkD,CAAC;KAC/D,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACrD,MAAM,IAAI,EAAE,CAAC;AACf,CAAC,CAAC,CAAC;AAEL,2BAA2B;AAE3B,MAAM,QAAQ,GAAG,OAAO;KACrB,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,iCAAiC,CAAC,CAAC;AAElD,QAAQ;KACL,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,yEAAyE,CAAC;KACtF,MAAM,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,GAAG,CAAC;KACvD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;IAC9D,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC;AAEL,QAAQ;KACL,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,0DAA0D,CAAC;KACvE,MAAM,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,GAAG,CAAC;KACvD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC;IACjE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACjC,OAAO,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACzC,IAAI,GAAG,CAAC,KAAK;QAAE,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IACpD,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK;QAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { CredentialDefinition } from "../schema.js";
2
+ declare const customKey: CredentialDefinition;
3
+ export default customKey;
4
+ //# sourceMappingURL=custom-key.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-key.d.ts","sourceRoot":"","sources":["../../../src/credentials/builtins/custom-key.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAIzD,QAAA,MAAM,SAAS,EAAE,oBAgChB,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { input, confirm } from "@inquirer/prompts";
2
+ import { CREDENTIALS_DIR } from "../../shared/paths.js";
3
+ const customKey = {
4
+ id: "custom_key",
5
+ label: "Custom LLM Provider API Credential",
6
+ description: "API key for custom LLM providers",
7
+ fields: [
8
+ { name: "token", label: "API Key", description: "API key for your custom LLM provider", secret: true },
9
+ ],
10
+ async prompt(existing) {
11
+ if (existing?.token) {
12
+ const reuse = await confirm({
13
+ message: `Found existing custom credential in ${CREDENTIALS_DIR}/custom_key/. Use it?`,
14
+ default: true,
15
+ });
16
+ if (reuse) {
17
+ console.log(`Using existing custom API key.\n`);
18
+ return { values: existing, params: { authType: "api_key" } };
19
+ }
20
+ }
21
+ const token = (await input({
22
+ message: "Custom LLM provider API key:",
23
+ validate: (v) => {
24
+ v = v.trim();
25
+ if (v.length === 0)
26
+ return "API key is required";
27
+ return true;
28
+ },
29
+ })).trim();
30
+ console.log("Custom API key saved. It will be verified on first agent run.\n");
31
+ return { values: { token }, params: { authType: "api_key" } };
32
+ },
33
+ };
34
+ export default customKey;
35
+ //# sourceMappingURL=custom-key.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-key.js","sourceRoot":"","sources":["../../../src/credentials/builtins/custom-key.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,SAAS,GAAyB;IACtC,EAAE,EAAE,YAAY;IAChB,KAAK,EAAE,oCAAoC;IAC3C,WAAW,EAAE,kCAAkC;IAC/C,MAAM,EAAE;QACN,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,sCAAsC,EAAE,MAAM,EAAE,IAAI,EAAE;KACvG;IAED,KAAK,CAAC,MAAM,CAAC,QAAQ;QACnB,IAAI,QAAQ,EAAE,KAAK,EAAE,CAAC;YACpB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC;gBAC1B,OAAO,EAAE,uCAAuC,eAAe,uBAAuB;gBACtF,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;YACH,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;gBAChD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC;YAC/D,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,CAAC,MAAM,KAAK,CAAC;YACzB,OAAO,EAAE,8BAA8B;YACvC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;gBACd,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBACb,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,qBAAqB,CAAC;gBACjD,OAAO,IAAI,CAAC;YACd,CAAC;SACF,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEX,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;QAC/E,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC;IAChE,CAAC;CACF,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { CredentialDefinition } from "../schema.js";
2
+ declare const googleKey: CredentialDefinition;
3
+ export default googleKey;
4
+ //# sourceMappingURL=google-key.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google-key.d.ts","sourceRoot":"","sources":["../../../src/credentials/builtins/google-key.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAIzD,QAAA,MAAM,SAAS,EAAE,oBAgChB,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { input, confirm } from "@inquirer/prompts";
2
+ import { CREDENTIALS_DIR } from "../../shared/paths.js";
3
+ const googleKey = {
4
+ id: "google_key",
5
+ label: "Google AI API Credential",
6
+ description: "API key for Google Gemini models",
7
+ fields: [
8
+ { name: "token", label: "API Key", description: "Google AI Studio API key", secret: true },
9
+ ],
10
+ async prompt(existing) {
11
+ if (existing?.token) {
12
+ const reuse = await confirm({
13
+ message: `Found existing Google credential in ${CREDENTIALS_DIR}/google_key/. Use it?`,
14
+ default: true,
15
+ });
16
+ if (reuse) {
17
+ console.log(`Using existing Google API key.\n`);
18
+ return { values: existing, params: { authType: "api_key" } };
19
+ }
20
+ }
21
+ const token = (await input({
22
+ message: "Google AI Studio API key:",
23
+ validate: (v) => {
24
+ v = v.trim();
25
+ if (v.length === 0)
26
+ return "API key is required";
27
+ return true;
28
+ },
29
+ })).trim();
30
+ console.log("Google API key saved. It will be verified on first agent run.\n");
31
+ return { values: { token }, params: { authType: "api_key" } };
32
+ },
33
+ };
34
+ export default googleKey;
35
+ //# sourceMappingURL=google-key.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google-key.js","sourceRoot":"","sources":["../../../src/credentials/builtins/google-key.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,SAAS,GAAyB;IACtC,EAAE,EAAE,YAAY;IAChB,KAAK,EAAE,0BAA0B;IACjC,WAAW,EAAE,kCAAkC;IAC/C,MAAM,EAAE;QACN,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,0BAA0B,EAAE,MAAM,EAAE,IAAI,EAAE;KAC3F;IAED,KAAK,CAAC,MAAM,CAAC,QAAQ;QACnB,IAAI,QAAQ,EAAE,KAAK,EAAE,CAAC;YACpB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC;gBAC1B,OAAO,EAAE,uCAAuC,eAAe,uBAAuB;gBACtF,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;YACH,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;gBAChD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC;YAC/D,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,CAAC,MAAM,KAAK,CAAC;YACzB,OAAO,EAAE,2BAA2B;YACpC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;gBACd,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBACb,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,qBAAqB,CAAC;gBACjD,OAAO,IAAI,CAAC;YACd,CAAC;SACF,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEX,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;QAC/E,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC;IAChE,CAAC;CACF,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { CredentialDefinition } from "../schema.js";
2
+ declare const groqKey: CredentialDefinition;
3
+ export default groqKey;
4
+ //# sourceMappingURL=groq-key.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groq-key.d.ts","sourceRoot":"","sources":["../../../src/credentials/builtins/groq-key.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAIzD,QAAA,MAAM,OAAO,EAAE,oBAiCd,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { input, confirm } from "@inquirer/prompts";
2
+ import { CREDENTIALS_DIR } from "../../shared/paths.js";
3
+ const groqKey = {
4
+ id: "groq_key",
5
+ label: "Groq API Credential",
6
+ description: "API key for Groq models (fast inference)",
7
+ fields: [
8
+ { name: "token", label: "API Key", description: "Groq API key (gsk_...)", secret: true },
9
+ ],
10
+ async prompt(existing) {
11
+ if (existing?.token) {
12
+ const reuse = await confirm({
13
+ message: `Found existing Groq credential in ${CREDENTIALS_DIR}/groq_key/. Use it?`,
14
+ default: true,
15
+ });
16
+ if (reuse) {
17
+ console.log(`Using existing Groq API key.\n`);
18
+ return { values: existing, params: { authType: "api_key" } };
19
+ }
20
+ }
21
+ const token = (await input({
22
+ message: "Groq API key:",
23
+ validate: (v) => {
24
+ v = v.trim();
25
+ if (v.length === 0)
26
+ return "API key is required";
27
+ if (!v.startsWith("gsk_"))
28
+ return "API key should start with 'gsk_'";
29
+ return true;
30
+ },
31
+ })).trim();
32
+ console.log("Groq API key saved. It will be verified on first agent run.\n");
33
+ return { values: { token }, params: { authType: "api_key" } };
34
+ },
35
+ };
36
+ export default groqKey;
37
+ //# sourceMappingURL=groq-key.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groq-key.js","sourceRoot":"","sources":["../../../src/credentials/builtins/groq-key.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,OAAO,GAAyB;IACpC,EAAE,EAAE,UAAU;IACd,KAAK,EAAE,qBAAqB;IAC5B,WAAW,EAAE,0CAA0C;IACvD,MAAM,EAAE;QACN,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,EAAE,IAAI,EAAE;KACzF;IAED,KAAK,CAAC,MAAM,CAAC,QAAQ;QACnB,IAAI,QAAQ,EAAE,KAAK,EAAE,CAAC;YACpB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC;gBAC1B,OAAO,EAAE,qCAAqC,eAAe,qBAAqB;gBAClF,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;YACH,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;gBAC9C,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC;YAC/D,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,CAAC,MAAM,KAAK,CAAC;YACzB,OAAO,EAAE,eAAe;YACxB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;gBACd,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBACb,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,qBAAqB,CAAC;gBACjD,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;oBAAE,OAAO,kCAAkC,CAAC;gBACrE,OAAO,IAAI,CAAC;YACd,CAAC;SACF,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEX,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;QAC7E,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC;IAChE,CAAC;CACF,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/credentials/builtins/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAazD,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAYnE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/credentials/builtins/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAmBzD,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAkBnE,CAAC"}
@@ -1,6 +1,12 @@
1
1
  import githubToken from "./github-token.js";
2
2
  import anthropicKey from "./anthropic-key.js";
3
3
  import openaiKey from "./openai-key.js";
4
+ import groqKey from "./groq-key.js";
5
+ import googleKey from "./google-key.js";
6
+ import xaiKey from "./xai-key.js";
7
+ import mistralKey from "./mistral-key.js";
8
+ import openrouterKey from "./openrouter-key.js";
9
+ import customKey from "./custom-key.js";
4
10
  import sentryToken from "./sentry-token.js";
5
11
  import gitSsh from "./id-rsa.js";
6
12
  import githubWebhookSecret from "./github-webhook-secret.js";
@@ -13,6 +19,12 @@ export const builtinCredentials = {
13
19
  "github_token": githubToken,
14
20
  "anthropic_key": anthropicKey,
15
21
  "openai_key": openaiKey,
22
+ "groq_key": groqKey,
23
+ "google_key": googleKey,
24
+ "xai_key": xaiKey,
25
+ "mistral_key": mistralKey,
26
+ "openrouter_key": openrouterKey,
27
+ "custom_key": customKey,
16
28
  "sentry_token": sentryToken,
17
29
  "git_ssh": gitSsh,
18
30
  "github_webhook_secret": githubWebhookSecret,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/credentials/builtins/index.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,mBAAmB,CAAC;AAC5C,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAC9C,OAAO,SAAS,MAAM,iBAAiB,CAAC;AACxC,OAAO,WAAW,MAAM,mBAAmB,CAAC;AAC5C,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,mBAAmB,MAAM,4BAA4B,CAAC;AAC7D,OAAO,kBAAkB,MAAM,2BAA2B,CAAC;AAC3D,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAC9C,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAC7C,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAE9C,MAAM,CAAC,MAAM,kBAAkB,GAAyC;IACtE,cAAc,EAAE,WAAW;IAC3B,eAAe,EAAE,YAAY;IAC7B,YAAY,EAAE,SAAS;IACvB,cAAc,EAAE,WAAW;IAC3B,SAAS,EAAE,MAAM;IACjB,uBAAuB,EAAE,mBAAmB;IAC5C,sBAAsB,EAAE,kBAAkB;IAC1C,eAAe,EAAE,YAAY;IAC7B,eAAe,EAAE,WAAW;IAC5B,KAAK,EAAE,GAAG;IACV,eAAe,EAAE,YAAY;CAC9B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/credentials/builtins/index.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,mBAAmB,CAAC;AAC5C,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAC9C,OAAO,SAAS,MAAM,iBAAiB,CAAC;AACxC,OAAO,OAAO,MAAM,eAAe,CAAC;AACpC,OAAO,SAAS,MAAM,iBAAiB,CAAC;AACxC,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAC1C,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAChD,OAAO,SAAS,MAAM,iBAAiB,CAAC;AACxC,OAAO,WAAW,MAAM,mBAAmB,CAAC;AAC5C,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,mBAAmB,MAAM,4BAA4B,CAAC;AAC7D,OAAO,kBAAkB,MAAM,2BAA2B,CAAC;AAC3D,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAC9C,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAC7C,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAE9C,MAAM,CAAC,MAAM,kBAAkB,GAAyC;IACtE,cAAc,EAAE,WAAW;IAC3B,eAAe,EAAE,YAAY;IAC7B,YAAY,EAAE,SAAS;IACvB,UAAU,EAAE,OAAO;IACnB,YAAY,EAAE,SAAS;IACvB,SAAS,EAAE,MAAM;IACjB,aAAa,EAAE,UAAU;IACzB,gBAAgB,EAAE,aAAa;IAC/B,YAAY,EAAE,SAAS;IACvB,cAAc,EAAE,WAAW;IAC3B,SAAS,EAAE,MAAM;IACjB,uBAAuB,EAAE,mBAAmB;IAC5C,sBAAsB,EAAE,kBAAkB;IAC1C,eAAe,EAAE,YAAY;IAC7B,eAAe,EAAE,WAAW;IAC5B,KAAK,EAAE,GAAG;IACV,eAAe,EAAE,YAAY;CAC9B,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { CredentialDefinition } from "../schema.js";
2
+ declare const mistralKey: CredentialDefinition;
3
+ export default mistralKey;
4
+ //# sourceMappingURL=mistral-key.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mistral-key.d.ts","sourceRoot":"","sources":["../../../src/credentials/builtins/mistral-key.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAIzD,QAAA,MAAM,UAAU,EAAE,oBAgCjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { input, confirm } from "@inquirer/prompts";
2
+ import { CREDENTIALS_DIR } from "../../shared/paths.js";
3
+ const mistralKey = {
4
+ id: "mistral_key",
5
+ label: "Mistral AI API Credential",
6
+ description: "API key for Mistral AI models",
7
+ fields: [
8
+ { name: "token", label: "API Key", description: "Mistral AI API key", secret: true },
9
+ ],
10
+ async prompt(existing) {
11
+ if (existing?.token) {
12
+ const reuse = await confirm({
13
+ message: `Found existing Mistral credential in ${CREDENTIALS_DIR}/mistral_key/. Use it?`,
14
+ default: true,
15
+ });
16
+ if (reuse) {
17
+ console.log(`Using existing Mistral API key.\n`);
18
+ return { values: existing, params: { authType: "api_key" } };
19
+ }
20
+ }
21
+ const token = (await input({
22
+ message: "Mistral AI API key:",
23
+ validate: (v) => {
24
+ v = v.trim();
25
+ if (v.length === 0)
26
+ return "API key is required";
27
+ return true;
28
+ },
29
+ })).trim();
30
+ console.log("Mistral API key saved. It will be verified on first agent run.\n");
31
+ return { values: { token }, params: { authType: "api_key" } };
32
+ },
33
+ };
34
+ export default mistralKey;
35
+ //# sourceMappingURL=mistral-key.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mistral-key.js","sourceRoot":"","sources":["../../../src/credentials/builtins/mistral-key.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,UAAU,GAAyB;IACvC,EAAE,EAAE,aAAa;IACjB,KAAK,EAAE,2BAA2B;IAClC,WAAW,EAAE,+BAA+B;IAC5C,MAAM,EAAE;QACN,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,EAAE,IAAI,EAAE;KACrF;IAED,KAAK,CAAC,MAAM,CAAC,QAAQ;QACnB,IAAI,QAAQ,EAAE,KAAK,EAAE,CAAC;YACpB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC;gBAC1B,OAAO,EAAE,wCAAwC,eAAe,wBAAwB;gBACxF,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;YACH,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;gBACjD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC;YAC/D,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,CAAC,MAAM,KAAK,CAAC;YACzB,OAAO,EAAE,qBAAqB;YAC9B,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;gBACd,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBACb,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,qBAAqB,CAAC;gBACjD,OAAO,IAAI,CAAC;YACd,CAAC;SACF,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEX,OAAO,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC;QAChF,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC;IAChE,CAAC;CACF,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { CredentialDefinition } from "../schema.js";
2
+ declare const openrouterKey: CredentialDefinition;
3
+ export default openrouterKey;
4
+ //# sourceMappingURL=openrouter-key.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openrouter-key.d.ts","sourceRoot":"","sources":["../../../src/credentials/builtins/openrouter-key.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAIzD,QAAA,MAAM,aAAa,EAAE,oBAiCpB,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { input, confirm } from "@inquirer/prompts";
2
+ import { CREDENTIALS_DIR } from "../../shared/paths.js";
3
+ const openrouterKey = {
4
+ id: "openrouter_key",
5
+ label: "OpenRouter API Credential",
6
+ description: "API key for OpenRouter (multi-provider access)",
7
+ fields: [
8
+ { name: "token", label: "API Key", description: "OpenRouter API key (sk-or-...)", secret: true },
9
+ ],
10
+ async prompt(existing) {
11
+ if (existing?.token) {
12
+ const reuse = await confirm({
13
+ message: `Found existing OpenRouter credential in ${CREDENTIALS_DIR}/openrouter_key/. Use it?`,
14
+ default: true,
15
+ });
16
+ if (reuse) {
17
+ console.log(`Using existing OpenRouter API key.\n`);
18
+ return { values: existing, params: { authType: "api_key" } };
19
+ }
20
+ }
21
+ const token = (await input({
22
+ message: "OpenRouter API key:",
23
+ validate: (v) => {
24
+ v = v.trim();
25
+ if (v.length === 0)
26
+ return "API key is required";
27
+ if (!v.startsWith("sk-or-"))
28
+ return "API key should start with 'sk-or-'";
29
+ return true;
30
+ },
31
+ })).trim();
32
+ console.log("OpenRouter API key saved. It will be verified on first agent run.\n");
33
+ return { values: { token }, params: { authType: "api_key" } };
34
+ },
35
+ };
36
+ export default openrouterKey;
37
+ //# sourceMappingURL=openrouter-key.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openrouter-key.js","sourceRoot":"","sources":["../../../src/credentials/builtins/openrouter-key.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,aAAa,GAAyB;IAC1C,EAAE,EAAE,gBAAgB;IACpB,KAAK,EAAE,2BAA2B;IAClC,WAAW,EAAE,gDAAgD;IAC7D,MAAM,EAAE;QACN,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,gCAAgC,EAAE,MAAM,EAAE,IAAI,EAAE;KACjG;IAED,KAAK,CAAC,MAAM,CAAC,QAAQ;QACnB,IAAI,QAAQ,EAAE,KAAK,EAAE,CAAC;YACpB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC;gBAC1B,OAAO,EAAE,2CAA2C,eAAe,2BAA2B;gBAC9F,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;YACH,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;gBACpD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC;YAC/D,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,CAAC,MAAM,KAAK,CAAC;YACzB,OAAO,EAAE,qBAAqB;YAC9B,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;gBACd,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBACb,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,qBAAqB,CAAC;gBACjD,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC;oBAAE,OAAO,oCAAoC,CAAC;gBACzE,OAAO,IAAI,CAAC;YACd,CAAC;SACF,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEX,OAAO,CAAC,GAAG,CAAC,qEAAqE,CAAC,CAAC;QACnF,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC;IAChE,CAAC;CACF,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { CredentialDefinition } from "../schema.js";
2
+ declare const xaiKey: CredentialDefinition;
3
+ export default xaiKey;
4
+ //# sourceMappingURL=xai-key.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xai-key.d.ts","sourceRoot":"","sources":["../../../src/credentials/builtins/xai-key.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAIzD,QAAA,MAAM,MAAM,EAAE,oBAiCb,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { input, confirm } from "@inquirer/prompts";
2
+ import { CREDENTIALS_DIR } from "../../shared/paths.js";
3
+ const xaiKey = {
4
+ id: "xai_key",
5
+ label: "xAI API Credential",
6
+ description: "API key for xAI Grok models",
7
+ fields: [
8
+ { name: "token", label: "API Key", description: "xAI API key", secret: true },
9
+ ],
10
+ async prompt(existing) {
11
+ if (existing?.token) {
12
+ const reuse = await confirm({
13
+ message: `Found existing xAI credential in ${CREDENTIALS_DIR}/xai_key/. Use it?`,
14
+ default: true,
15
+ });
16
+ if (reuse) {
17
+ console.log(`Using existing xAI API key.\n`);
18
+ return { values: existing, params: { authType: "api_key" } };
19
+ }
20
+ }
21
+ const token = (await input({
22
+ message: "xAI API key:",
23
+ validate: (v) => {
24
+ v = v.trim();
25
+ if (v.length === 0)
26
+ return "API key is required";
27
+ if (!v.startsWith("xai-"))
28
+ return "API key should start with 'xai-'";
29
+ return true;
30
+ },
31
+ })).trim();
32
+ console.log("xAI API key saved. It will be verified on first agent run.\n");
33
+ return { values: { token }, params: { authType: "api_key" } };
34
+ },
35
+ };
36
+ export default xaiKey;
37
+ //# sourceMappingURL=xai-key.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xai-key.js","sourceRoot":"","sources":["../../../src/credentials/builtins/xai-key.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,MAAM,GAAyB;IACnC,EAAE,EAAE,SAAS;IACb,KAAK,EAAE,oBAAoB;IAC3B,WAAW,EAAE,6BAA6B;IAC1C,MAAM,EAAE;QACN,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE;KAC9E;IAED,KAAK,CAAC,MAAM,CAAC,QAAQ;QACnB,IAAI,QAAQ,EAAE,KAAK,EAAE,CAAC;YACpB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC;gBAC1B,OAAO,EAAE,oCAAoC,eAAe,oBAAoB;gBAChF,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;YACH,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;gBAC7C,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC;YAC/D,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,CAAC,MAAM,KAAK,CAAC;YACzB,OAAO,EAAE,cAAc;YACvB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;gBACd,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBACb,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,qBAAqB,CAAC;gBACjD,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;oBAAE,OAAO,kCAAkC,CAAC;gBACrE,OAAO,IAAI,CAAC;YACd,CAAC;SACF,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEX,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;QAC5E,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC;IAChE,CAAC;CACF,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -11,6 +11,8 @@ export interface GatewayOptions {
11
11
  webhookRegistry?: WebhookRegistry;
12
12
  webhookSecrets?: Record<string, Record<string, string>>;
13
13
  statusTracker?: StatusTracker;
14
+ projectPath?: string;
15
+ webUI?: boolean;
14
16
  }
15
17
  export interface GatewayServer {
16
18
  server: Server;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/gateway/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAMnC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,YAAY,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACxD,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACxE,mBAAmB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAiE/E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/gateway/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAMnC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,YAAY,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACxD,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACxE,mBAAmB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAkD/E"}
@@ -1,52 +1,38 @@
1
- import { createServer } from "http";
2
- import { Router, sendJson, sendError } from "./router.js";
1
+ import { Hono } from "hono";
2
+ import { serve } from "@hono/node-server";
3
3
  import { registerShutdownRoute } from "./routes/shutdown.js";
4
4
  import { registerCredentialRoute } from "./routes/credentials.js";
5
5
  import { registerLogRoute } from "./routes/logs.js";
6
6
  import { registerWebhookRoutes } from "./routes/webhooks.js";
7
+ import { registerDashboardRoutes } from "./routes/dashboard.js";
7
8
  export async function startGateway(opts) {
8
- const { port, logger, killContainer, webhookRegistry, webhookSecrets, statusTracker } = opts;
9
- const router = new Router();
9
+ const { port, logger, killContainer, webhookRegistry, webhookSecrets, statusTracker, projectPath, webUI } = opts;
10
+ const app = new Hono();
10
11
  const containerRegistry = new Map();
11
12
  // Health check
12
- router.get("/health", async (_req, res) => {
13
- sendJson(res, 200, { status: "ok" });
14
- });
13
+ app.get("/health", (c) => c.json({ status: "ok" }));
15
14
  // Container management routes
16
15
  const killFn = killContainer || (async () => { });
17
- registerShutdownRoute(router, containerRegistry, killFn, logger);
18
- registerCredentialRoute(router, containerRegistry, logger);
19
- registerLogRoute(router, containerRegistry, logger);
16
+ registerShutdownRoute(app, containerRegistry, killFn, logger);
17
+ registerCredentialRoute(app, containerRegistry, logger);
18
+ registerLogRoute(app, containerRegistry, logger);
20
19
  // Webhook routes
21
20
  if (webhookRegistry) {
22
- registerWebhookRoutes(router, webhookRegistry, webhookSecrets || {}, logger, statusTracker);
21
+ registerWebhookRoutes(app, webhookRegistry, webhookSecrets || {}, logger, statusTracker);
22
+ }
23
+ // Dashboard routes
24
+ if (webUI && statusTracker) {
25
+ registerDashboardRoutes(app, statusTracker, projectPath);
23
26
  }
24
- const server = createServer(async (req, res) => {
25
- const startTime = Date.now();
26
- try {
27
- logger.info({ method: req.method, url: req.url }, "gateway req");
28
- const handled = await router.handle(req, res);
29
- if (!handled) {
30
- sendError(res, 404, "Not found");
31
- }
32
- }
33
- catch (err) {
34
- logger.error({ err, url: req.url }, "gateway request error");
35
- if (!res.headersSent) {
36
- sendError(res, 500, "Internal server error");
37
- }
38
- }
39
- finally {
40
- const elapsed = Date.now() - startTime;
41
- logger.info({ method: req.method, url: req.url, status: res.statusCode, ms: elapsed }, "gateway res");
42
- }
27
+ const server = serve({
28
+ fetch: app.fetch,
29
+ port,
30
+ hostname: "0.0.0.0",
43
31
  });
44
32
  await new Promise((resolve) => {
45
- server.listen(port, "0.0.0.0", () => {
46
- logger.info({ port }, "Gateway server listening");
47
- resolve();
48
- });
33
+ server.on("listening", resolve);
49
34
  });
35
+ logger.info({ port }, "Gateway server listening");
50
36
  const registerContainer = (secret, reg) => {
51
37
  containerRegistry.set(secret, reg);
52
38
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/gateway/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/gateway/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AA0BhE,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAoB;IACrD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IACjH,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAiC,CAAC;IAEnE,eAAe;IACf,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAEpD,8BAA8B;IAC9B,MAAM,MAAM,GAAG,aAAa,IAAI,CAAC,KAAK,IAAI,EAAE,GAAE,CAAC,CAAC,CAAC;IACjD,qBAAqB,CAAC,GAAG,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9D,uBAAuB,CAAC,GAAG,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC;IACxD,gBAAgB,CAAC,GAAG,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC;IAEjD,iBAAiB;IACjB,IAAI,eAAe,EAAE,CAAC;QACpB,qBAAqB,CAAC,GAAG,EAAE,eAAe,EAAE,cAAc,IAAI,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IAC3F,CAAC;IAED,mBAAmB;IACnB,IAAI,KAAK,IAAI,aAAa,EAAE,CAAC;QAC3B,uBAAuB,CAAC,GAAG,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC;QACnB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,IAAI;QACJ,QAAQ,EAAE,SAAS;KACpB,CAAW,CAAC;IAEb,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAClC,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,0BAA0B,CAAC,CAAC;IAElD,MAAM,iBAAiB,GAAG,CAAC,MAAc,EAAE,GAA0B,EAAE,EAAE;QACvE,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrC,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,CAAC,MAAc,EAAE,EAAE;QAC7C,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,GAAG,EAAE,CACjB,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAC5B,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEL,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAAC;AACnE,CAAC"}
@@ -1,5 +1,5 @@
1
- import type { Router } from "../router.js";
1
+ import type { Hono } from "hono";
2
2
  import type { ContainerRegistration } from "../types.js";
3
3
  import type { Logger } from "../../shared/logger.js";
4
- export declare function registerCredentialRoute(router: Router, containerRegistry: Map<string, ContainerRegistration>, logger: Logger): void;
4
+ export declare function registerCredentialRoute(app: Hono, containerRegistry: Map<string, ContainerRegistration>, logger: Logger): void;
5
5
  //# sourceMappingURL=credentials.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../../src/gateway/routes/credentials.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAErD,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,EACrD,MAAM,EAAE,MAAM,GACb,IAAI,CAgBN"}
1
+ {"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../../src/gateway/routes/credentials.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAErD,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,IAAI,EACT,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,EACrD,MAAM,EAAE,MAAM,GACb,IAAI,CAeN"}
@@ -1,17 +1,15 @@
1
- import { sendJson, sendError } from "../router.js";
2
- export function registerCredentialRoute(router, containerRegistry, logger) {
3
- router.get("/credentials/:secret", async (_req, res, params) => {
4
- const reg = containerRegistry.get(params.secret);
1
+ export function registerCredentialRoute(app, containerRegistry, logger) {
2
+ app.get("/credentials/:secret", (c) => {
3
+ const secret = c.req.param("secret");
4
+ const reg = containerRegistry.get(secret);
5
5
  if (!reg) {
6
- sendError(res, 403, "invalid secret");
7
- return;
6
+ return c.json({ error: "invalid secret" }, 403);
8
7
  }
9
8
  if (!reg.credentials) {
10
- sendError(res, 404, "no credentials registered for this container");
11
- return;
9
+ return c.json({ error: "no credentials registered for this container" }, 404);
12
10
  }
13
11
  logger.debug({ container: reg.containerName }, "serving credentials");
14
- sendJson(res, 200, reg.credentials);
12
+ return c.json(reg.credentials);
15
13
  });
16
14
  }
17
15
  //# sourceMappingURL=credentials.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../../src/gateway/routes/credentials.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAInD,MAAM,UAAU,uBAAuB,CACrC,MAAc,EACd,iBAAqD,EACrD,MAAc;IAEd,MAAM,CAAC,GAAG,CAAC,sBAAsB,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QAC7D,MAAM,GAAG,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAC;YACtC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;YACrB,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,8CAA8C,CAAC,CAAC;YACpE,OAAO;QACT,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,aAAa,EAAE,EAAE,qBAAqB,CAAC,CAAC;QACtE,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../../src/gateway/routes/credentials.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,uBAAuB,CACrC,GAAS,EACT,iBAAqD,EACrD,MAAc;IAEd,GAAG,CAAC,GAAG,CAAC,sBAAsB,EAAE,CAAC,CAAC,EAAE,EAAE;QACpC,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACrC,MAAM,GAAG,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE,GAAG,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;YACrB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,8CAA8C,EAAE,EAAE,GAAG,CAAC,CAAC;QAChF,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,aAAa,EAAE,EAAE,qBAAqB,CAAC,CAAC;QACtE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Hono } from "hono";
2
+ import type { StatusTracker } from "../../tui/status-tracker.js";
3
+ export declare function registerDashboardRoutes(app: Hono, statusTracker: StatusTracker, projectPath?: string): void;
4
+ //# sourceMappingURL=dashboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../../src/gateway/routes/dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAIjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AA8BjE,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,IAAI,EACT,aAAa,EAAE,aAAa,EAC5B,WAAW,CAAC,EAAE,MAAM,GACnB,IAAI,CAqIN"}