sensorium-mcp 3.0.71 → 3.0.72

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 (48) hide show
  1. package/dist/config.d.ts +48 -1
  2. package/dist/config.d.ts.map +1 -1
  3. package/dist/config.js +123 -1
  4. package/dist/config.js.map +1 -1
  5. package/dist/dashboard/presets.d.ts.map +1 -1
  6. package/dist/dashboard/presets.js +0 -6
  7. package/dist/dashboard/presets.js.map +1 -1
  8. package/dist/dashboard/routes/claude.d.ts +12 -0
  9. package/dist/dashboard/routes/claude.d.ts.map +1 -0
  10. package/dist/dashboard/routes/claude.js +80 -0
  11. package/dist/dashboard/routes/claude.js.map +1 -0
  12. package/dist/dashboard/routes/copilot.d.ts +17 -0
  13. package/dist/dashboard/routes/copilot.d.ts.map +1 -0
  14. package/dist/dashboard/routes/copilot.js +153 -0
  15. package/dist/dashboard/routes/copilot.js.map +1 -0
  16. package/dist/dashboard/routes/threads.js +1 -1
  17. package/dist/dashboard/routes/threads.js.map +1 -1
  18. package/dist/dashboard/routes.d.ts.map +1 -1
  19. package/dist/dashboard/routes.js +9 -0
  20. package/dist/dashboard/routes.js.map +1 -1
  21. package/dist/dashboard/spa.html +11 -11
  22. package/dist/services/agent-spawn.service.d.ts +13 -27
  23. package/dist/services/agent-spawn.service.d.ts.map +1 -1
  24. package/dist/services/agent-spawn.service.js +30 -395
  25. package/dist/services/agent-spawn.service.js.map +1 -1
  26. package/dist/services/claude-spawn.service.d.ts +9 -0
  27. package/dist/services/claude-spawn.service.d.ts.map +1 -0
  28. package/dist/services/claude-spawn.service.js +113 -0
  29. package/dist/services/claude-spawn.service.js.map +1 -0
  30. package/dist/services/codex-spawn.service.d.ts +9 -0
  31. package/dist/services/codex-spawn.service.d.ts.map +1 -0
  32. package/dist/services/codex-spawn.service.js +106 -0
  33. package/dist/services/codex-spawn.service.js.map +1 -0
  34. package/dist/services/copilot-spawn.service.d.ts +10 -0
  35. package/dist/services/copilot-spawn.service.d.ts.map +1 -0
  36. package/dist/services/copilot-spawn.service.js +89 -0
  37. package/dist/services/copilot-spawn.service.js.map +1 -0
  38. package/dist/services/spawn-common.d.ts +55 -0
  39. package/dist/services/spawn-common.d.ts.map +1 -0
  40. package/dist/services/spawn-common.js +202 -0
  41. package/dist/services/spawn-common.js.map +1 -0
  42. package/dist/tools/defs/session-defs.d.ts.map +1 -1
  43. package/dist/tools/defs/session-defs.js +1 -3
  44. package/dist/tools/defs/session-defs.js.map +1 -1
  45. package/dist/tools/delegate-tool.js +1 -1
  46. package/dist/tools/delegate-tool.js.map +1 -1
  47. package/package.json +1 -1
  48. package/templates/plan-mode.default.md +2 -2
package/dist/config.d.ts CHANGED
@@ -5,7 +5,7 @@
5
5
  import type { AppConfig } from "./types.js";
6
6
  import type { Database } from "./data/memory/schema.js";
7
7
  export declare const TEMPLATES_DIR: string;
8
- export type AgentType = "copilot" | "copilot_claude" | "copilot_codex" | "claude" | "cursor" | "codex" | "openai_codex";
8
+ export type AgentType = "copilot" | "claude" | "cursor" | "codex" | "openai_codex";
9
9
  export declare const VALID_AGENT_TYPES: readonly string[];
10
10
  export declare function isValidAgentType(v: unknown): v is AgentType;
11
11
  export declare function getAgentType(): AgentType;
@@ -64,6 +64,53 @@ export declare function getDefaultThreadModel(): string;
64
64
  export declare function getDefaultWorkerModel(): string;
65
65
  export declare function updateDefaultThreadModel(model: string): void;
66
66
  export declare function updateDefaultWorkerModel(model: string): void;
67
+ export type CopilotProviderType = "openai" | "azure" | "anthropic";
68
+ /**
69
+ * "Bring Your Own Key" provider config for the Copilot CLI. When enabled and a
70
+ * baseUrl + apiKey are present, the Copilot child is spawned pointing at a
71
+ * custom OpenAI-compatible endpoint (OpenRouter, DeepSeek, Kimi, …) instead of
72
+ * GitHub-hosted models. GitHub authentication is not used in this mode.
73
+ */
74
+ export interface CopilotByokConfig {
75
+ enabled: boolean;
76
+ providerType: CopilotProviderType;
77
+ baseUrl: string;
78
+ apiKey: string;
79
+ /** Optional COPILOT_PROVIDER_MODEL_ID — well-known base model for tool-calling config. */
80
+ modelId: string;
81
+ /** Optional COPILOT_PROVIDER_WIRE_MODEL — actual model id sent on the wire. */
82
+ wireModel: string;
83
+ }
84
+ export declare function isValidCopilotProviderType(v: unknown): v is CopilotProviderType;
85
+ /** Model passed to the Copilot CLI via --model / COPILOT_MODEL (native or BYOK). */
86
+ export declare function getCopilotModel(): string;
87
+ export declare function setCopilotModel(model: string): void;
88
+ export declare function getCopilotByokConfig(): CopilotByokConfig;
89
+ /**
90
+ * Merge a partial patch into the stored BYOK config and persist. The merged
91
+ * result is re-validated through normalizeByokConfig so the settings file can
92
+ * never hold an invalid providerType or non-string field, even though the input
93
+ * originates from the dashboard.
94
+ */
95
+ export declare function setCopilotByokConfig(patch: Partial<CopilotByokConfig>): CopilotByokConfig;
96
+ /**
97
+ * Assemble the environment variables that configure the Copilot CLI's model and
98
+ * (optionally) a custom BYOK provider. Values here are meant to override any
99
+ * inherited process.env at spawn time.
100
+ */
101
+ export declare function getCopilotSpawnEnv(): Record<string, string>;
102
+ /** Explicit path to the Claude CLI binary (settings only — env is read at the call site). */
103
+ export declare function getClaudeCliPath(): string | undefined;
104
+ export declare function setClaudeCliPath(path: string): void;
105
+ /** Long-lived Claude setup token used in place of the broken OAuth refresh flow. */
106
+ export declare function getClaudeOauthToken(): string | undefined;
107
+ export declare function setClaudeOauthToken(token: string): void;
108
+ /** Path to git-bash (Windows) passed to Claude via CLAUDE_CODE_GIT_BASH_PATH. */
109
+ export declare function getClaudeGitBashPath(): string | undefined;
110
+ export declare function setClaudeGitBashPath(path: string): void;
111
+ /** Maximum number of concurrent spawned threads. */
112
+ export declare function getMaxConcurrentThreads(): number;
113
+ export declare function setMaxConcurrentThreads(count: number): void;
67
114
  /** Whether guardrail (Active Decisions) notes are injected into memory briefings. */
68
115
  export declare function getGuardrailsEnabled(): boolean;
69
116
  export declare function setGuardrailsEnabled(enabled: boolean): void;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/config.js CHANGED
@@ -37,7 +37,7 @@ if (VOICE_ANALYSIS_URL) {
37
37
  export const TEMPLATES_DIR = join(homedir(), ".remote-copilot-mcp", "templates");
38
38
  mkdirSync(TEMPLATES_DIR, { recursive: true });
39
39
  export const VALID_AGENT_TYPES = [
40
- "copilot", "copilot_claude", "copilot_codex",
40
+ "copilot",
41
41
  "claude", "cursor",
42
42
  "codex", "openai_codex",
43
43
  ];
@@ -254,6 +254,128 @@ export function updateDefaultThreadModel(model) {
254
254
  export function updateDefaultWorkerModel(model) {
255
255
  updateSettings(s => { s.defaultWorkerModel = model; });
256
256
  }
257
+ // ─── Copilot provider (BYOK / OpenRouter) settings ──────────────────────────
258
+ const DEFAULT_COPILOT_MODEL = "claude-opus-4-6";
259
+ const DEFAULT_COPILOT_BYOK = {
260
+ enabled: false,
261
+ providerType: "openai",
262
+ baseUrl: "",
263
+ apiKey: "",
264
+ modelId: "",
265
+ wireModel: "",
266
+ };
267
+ export function isValidCopilotProviderType(v) {
268
+ return v === "openai" || v === "azure" || v === "anthropic";
269
+ }
270
+ /** Model passed to the Copilot CLI via --model / COPILOT_MODEL (native or BYOK). */
271
+ export function getCopilotModel() {
272
+ const v = readSettings().copilotModel;
273
+ return typeof v === "string" && v.length > 0 ? v : DEFAULT_COPILOT_MODEL;
274
+ }
275
+ export function setCopilotModel(model) {
276
+ updateSettings(s => { s.copilotModel = model; });
277
+ }
278
+ /** Coerce an untrusted value into a fully-valid CopilotByokConfig, filling defaults. */
279
+ function normalizeByokConfig(raw) {
280
+ if (!raw || typeof raw !== "object")
281
+ return { ...DEFAULT_COPILOT_BYOK };
282
+ const e = raw;
283
+ return {
284
+ enabled: typeof e.enabled === "boolean" ? e.enabled : false,
285
+ providerType: isValidCopilotProviderType(e.providerType) ? e.providerType : "openai",
286
+ baseUrl: typeof e.baseUrl === "string" ? e.baseUrl : "",
287
+ apiKey: typeof e.apiKey === "string" ? e.apiKey : "",
288
+ modelId: typeof e.modelId === "string" ? e.modelId : "",
289
+ wireModel: typeof e.wireModel === "string" ? e.wireModel : "",
290
+ };
291
+ }
292
+ export function getCopilotByokConfig() {
293
+ return normalizeByokConfig(readSettings().copilotByok);
294
+ }
295
+ /**
296
+ * Merge a partial patch into the stored BYOK config and persist. The merged
297
+ * result is re-validated through normalizeByokConfig so the settings file can
298
+ * never hold an invalid providerType or non-string field, even though the input
299
+ * originates from the dashboard.
300
+ */
301
+ export function setCopilotByokConfig(patch) {
302
+ const next = normalizeByokConfig({ ...getCopilotByokConfig(), ...patch });
303
+ updateSettings(s => { s.copilotByok = next; });
304
+ return next;
305
+ }
306
+ /**
307
+ * Assemble the environment variables that configure the Copilot CLI's model and
308
+ * (optionally) a custom BYOK provider. Values here are meant to override any
309
+ * inherited process.env at spawn time.
310
+ */
311
+ export function getCopilotSpawnEnv() {
312
+ const model = getCopilotModel();
313
+ const env = { COPILOT_MODEL: model };
314
+ const byok = getCopilotByokConfig();
315
+ if (byok.enabled && byok.baseUrl && byok.apiKey) {
316
+ env.COPILOT_PROVIDER_BASE_URL = byok.baseUrl;
317
+ env.COPILOT_PROVIDER_TYPE = byok.providerType;
318
+ env.COPILOT_PROVIDER_API_KEY = byok.apiKey;
319
+ env.COPILOT_PROVIDER_MODEL_ID = byok.modelId || model;
320
+ env.COPILOT_PROVIDER_WIRE_MODEL = byok.wireModel || model;
321
+ }
322
+ return env;
323
+ }
324
+ // ─── Claude spawn settings ──────────────────────────────────────────────────
325
+ //
326
+ // Overrides for values previously only discoverable from the environment or via
327
+ // auto-detection. Precedence is always env var → dashboard setting → autodetect,
328
+ // so setting an env var keeps the exact prior behavior and an unset setting is a
329
+ // no-op. Returns undefined when neither env nor setting supplies a value, letting
330
+ // the caller fall back to its existing auto-detection logic.
331
+ const DEFAULT_MAX_CONCURRENT_THREADS = 20;
332
+ function readStringSetting(key) {
333
+ const v = readSettings()[key];
334
+ return typeof v === "string" && v.length > 0 ? v : undefined;
335
+ }
336
+ /** Explicit path to the Claude CLI binary (settings only — env is read at the call site). */
337
+ export function getClaudeCliPath() {
338
+ return readStringSetting("claudeCliPath");
339
+ }
340
+ export function setClaudeCliPath(path) {
341
+ updateSettings(s => { if (path)
342
+ s.claudeCliPath = path;
343
+ else
344
+ delete s.claudeCliPath; });
345
+ }
346
+ /** Long-lived Claude setup token used in place of the broken OAuth refresh flow. */
347
+ export function getClaudeOauthToken() {
348
+ return readStringSetting("claudeOauthToken");
349
+ }
350
+ export function setClaudeOauthToken(token) {
351
+ updateSettings(s => { if (token)
352
+ s.claudeOauthToken = token;
353
+ else
354
+ delete s.claudeOauthToken; });
355
+ }
356
+ /** Path to git-bash (Windows) passed to Claude via CLAUDE_CODE_GIT_BASH_PATH. */
357
+ export function getClaudeGitBashPath() {
358
+ return readStringSetting("claudeGitBashPath");
359
+ }
360
+ export function setClaudeGitBashPath(path) {
361
+ updateSettings(s => { if (path)
362
+ s.claudeGitBashPath = path;
363
+ else
364
+ delete s.claudeGitBashPath; });
365
+ }
366
+ /** Maximum number of concurrent spawned threads. */
367
+ export function getMaxConcurrentThreads() {
368
+ const v = readSettings().maxConcurrentThreads;
369
+ if (typeof v === "number" && Number.isFinite(v) && v >= 1)
370
+ return Math.round(v);
371
+ return DEFAULT_MAX_CONCURRENT_THREADS;
372
+ }
373
+ export function setMaxConcurrentThreads(count) {
374
+ const clamped = Math.max(1, Math.round(count));
375
+ if (!Number.isFinite(clamped))
376
+ return;
377
+ updateSettings(s => { s.maxConcurrentThreads = clamped; });
378
+ }
257
379
  // ─── Guardrails setting ─────────────────────────────────────────────────────
258
380
  /** Whether guardrail (Active Decisions) notes are injected into memory briefings. */
259
381
  export function getGuardrailsEnabled() {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAG1F,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC,iBAAiB,CAAwB,CAAC;AAEtF,+EAA+E;AAE/E,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC;AACxD,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC;AAC5D,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC;AACxD,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,EAAE,CAAC;AAChE,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,MAAM,CAAC;AAE/D,MAAM,4BAA4B,GAAG,IAAI,CAAC;AAC1C,MAAM,qBAAqB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;AACnF,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC;AAEpG,MAAM,qBAAqB,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC;AACjF,MAAM,oBAAoB,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE/G,+EAA+E;AAE/E,IAAI,CAAC,cAAc,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACzC,GAAG,CAAC,KAAK,CAAC,yEAAyE,CAAC,CAAC;IACrF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,IAAI,CAAC,cAAc,EAAE,CAAC;IACpB,GAAG,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;AAC/E,CAAC;AACD,IAAI,kBAAkB,EAAE,CAAC;IACvB,GAAG,CAAC,IAAI,CAAC,sCAAsC,kBAAkB,EAAE,CAAC,CAAC;AACvE,CAAC;AAED,+EAA+E;AAE/E,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,qBAAqB,EAAE,WAAW,CAAC,CAAC;AACjF,SAAS,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAM9C,MAAM,CAAC,MAAM,iBAAiB,GAAsB;IAClD,SAAS,EAAE,gBAAgB,EAAE,eAAe;IAC5C,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,cAAc;CACxB,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,CAAU;IACzC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,qBAAqB,EAAE,eAAe,CAAC,CAAC;AAC9E,MAAM,iBAAiB,GAAG,aAAa,GAAG,MAAM,CAAC;AAEjD,gFAAgF;AAChF,SAAS,mBAAmB,CAAC,QAAiC;IAC5D,aAAa,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC7E,UAAU,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;AAC/C,CAAC;AAED,kFAAkF;AAClF,SAAS,YAAY;IACnB,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAA4B,CAAC;IACrF,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAI,GAAG,EAAE,IAAI,KAAK,QAAQ;YAAE,GAAG,CAAC,IAAI,CAAC,qCAAqC,GAAG,EAAE,CAAC,CAAC;QACjF,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,yEAAyE;AACzE,SAAS,cAAc,CAAC,OAA6C;IACnE,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClB,mBAAmB,CAAC,QAAQ,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,MAAM,CAAC,GAAG,YAAY,EAAE,CAAC,SAAS,CAAC;IACnC,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAe;IAC1C,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC;AAKD,IAAI,eAAe,GAAoB,IAAI,CAAC;AAE5C,+FAA+F;AAC/F,MAAM,UAAU,WAAW,CAAC,MAAgB;IAC1C,eAAe,GAAG,MAAM,CAAC;AAC3B,CAAC;AAED,+EAA+E;AAE/E;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAgB,EAAE,SAAoB;IACvE,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,GAAG,CAAC,IAAI,CAAC,+BAA+B,QAAQ,KAAK,SAAS,kCAAkC,CAAC,CAAC;QAClG,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAC1E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QAAC,GAAG,CAAC,IAAI,CAAC,gDAAgD,GAAG,EAAE,CAAC,CAAC;QAAC,OAAO,KAAK,CAAC;IAAC,CAAC;AAClG,CAAC;AAMD,2EAA2E;AAC3E,MAAM,UAAU,yBAAyB,CAAC,QAAgB;IACxD,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC,uBAA8D,CAAC;IAC1F,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAChC,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,OAAO;YAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,SAAS,CAAC,CAAC,yBAAyB;AAC7C,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,yBAAyB,CAAC,QAAgB,EAAE,IAAsB;IAChF,cAAc,CAAC,CAAC,CAAC,EAAE;QACjB,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,uBAAuB,IAAI,EAAE,CAA4B,CAAC;QACzE,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC;QAC7B,CAAC,CAAC,uBAAuB,GAAG,GAAG,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,sBAAsB;IACpC,IAAI,CAAC,eAAe;QAAE,OAAO,EAAE,CAAC;IAChC,IAAI,CAAC;QACH,MAAM,MAAM,GAA8B,EAAE,CAAC;QAC7C,KAAK,MAAM,CAAC,IAAI,aAAa,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC;YACjD,IAAI,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC;gBAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;QACxE,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QAAC,GAAG,CAAC,KAAK,CAAC,qDAAqD,GAAG,EAAE,CAAC,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;AACrG,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAiB;IACrD,IAAI,QAAQ,KAAK,SAAS,IAAI,eAAe,EAAE,CAAC;QAC9C,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,SAAS,CAAC,eAAe,EAAE,EAAE,QAAQ,CAAC,CAAC;YACrD,IAAI,KAAK,IAAI,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC;gBAAE,OAAO,KAAK,CAAC,MAAM,CAAC;QACnE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YAAC,GAAG,CAAC,KAAK,CAAC,oDAAoD,GAAG,EAAE,CAAC,CAAC;QAAC,CAAC;IACzF,CAAC;IACD,OAAO,YAAY,EAAE,CAAC;AACxB,CAAC;AAED,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CAAC,QAA4B;IACrE,IAAI,QAAQ,KAAK,SAAS,IAAI,eAAe,EAAE,CAAC;QAC9C,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,SAAS,CAAC,eAAe,EAAE,EAAE,QAAQ,CAAC,CAAC;YAC3D,IAAI,WAAW,IAAI,IAAI;gBAAE,OAAO,WAAW,CAAC,cAAc,IAAI,eAAe,CAAC;QAChF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YAAC,GAAG,CAAC,KAAK,CAAC,yDAAyD,GAAG,EAAE,CAAC,CAAC;QAAC,CAAC;IAC9F,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC;AAQD,SAAS,eAAe,CAAC,GAAY;IACnC,OAAO,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5D,CAAC,CAAC,GAAsC,CAAC,CAAC,CAAC,EAAE,CAAC;AAClD,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,aAAa;IAC3B,OAAO,eAAe,CAAC,YAAY,EAAE,CAAC,UAAU,CAAC,CAAC;AACpD,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,aAAa,CAAC,OAAwC;IACpE,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,MAAuB;IAChE,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,eAAe;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,GAAG,CAAC,CAAC;IAC7F,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACvG,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAC7F,cAAc,CAAC,CAAC,CAAC,EAAE;QACjB,MAAM,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAC/C,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;QACxB,CAAC,CAAC,UAAU,GAAG,QAAQ,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,cAAc,CAAC,CAAC,CAAC,EAAE;QACjB,MAAM,OAAO,GAAG,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,IAAI,IAAI,OAAO,EAAE,CAAC;YAAC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;YAAC,OAAO,GAAG,IAAI,CAAC;QAAC,CAAC;QAC9D,CAAC,CAAC,UAAU,GAAG,OAAO,CAAC;IACzB,CAAC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,+EAA+E;AAE/E,kFAAkF;AAClF,MAAM,+BAA+B,GAAG,EAAE,CAAC;AAE3C,sFAAsF;AACtF,MAAM,UAAU,wBAAwB;IACtC,MAAM,CAAC,GAAG,YAAY,EAAE,CAAC,qBAAqB,CAAC;IAC/C,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACpE,OAAO,+BAA+B,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAAa;IACpD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO;IACtC,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,qBAAqB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,uEAAuE;AAEvE,MAAM,UAAU,qBAAqB;IACnC,MAAM,CAAC,GAAG,YAAY,EAAE,CAAC,kBAAkB,CAAC;IAC5C,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACpE,OAAO,gBAAgB,IAAI,4BAA4B,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACnD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACjD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO;IACtC,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,gFAAgF;AAEhF,MAAM,oBAAoB,GAAG,iBAAiB,CAAC;AAC/C,MAAM,oBAAoB,GAAG,mBAAmB,CAAC;AAEjD,MAAM,UAAU,qBAAqB;IACnC,MAAM,CAAC,GAAG,YAAY,EAAE,CAAC,kBAAkB,CAAC;IAC5C,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,MAAM,CAAC,GAAG,YAAY,EAAE,CAAC,kBAAkB,CAAC;IAC5C,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAAa;IACpD,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,kBAAkB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAAa;IACpD,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,kBAAkB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,+EAA+E;AAE/E,qFAAqF;AACrF,MAAM,UAAU,oBAAoB;IAClC,MAAM,CAAC,GAAG,YAAY,EAAE,CAAC,iBAAiB,CAAC;IAC3C,IAAI,OAAO,CAAC,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC;IACrC,OAAO,IAAI,CAAC,CAAC,mBAAmB;AAClC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,gFAAgF;AAEhF,MAAM,8BAA8B,GAAG,CAAC,CAAC;AACzC,MAAM,8BAA8B,GAAG,OAAO,CAAC;AAE/C,MAAM,UAAU,mBAAmB;IACjC,MAAM,CAAC,GAAG,YAAY,EAAE,CAAC,gBAAgB,CAAC;IAC1C,IAAI,OAAO,CAAC,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC;IACrC,OAAO,KAAK,CAAC,CAAC,oBAAoB;AACpC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,gBAAgB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,MAAM,CAAC,GAAG,YAAY,EAAE,CAAC,iBAAiB,CAAC;IAC3C,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC;IACnE,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,QAAgB;IACnD,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,iBAAiB,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,MAAM,CAAC,GAAG,YAAY,EAAE,CAAC,mBAAmB,CAAC;IAC7C,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC;IACnE,OAAO,8BAA8B,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACpD,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,mBAAmB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,MAAM,CAAC,GAAG,YAAY,EAAE,CAAC,mBAAmB,CAAC;IAC7C,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC;IACnE,OAAO,8BAA8B,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,EAAU;IAC/C,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC;AAMD,MAAM,UAAU,mBAAmB,CAAC,CAAU;IAC5C,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,SAAS,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,MAAM,CAAC,GAAG,YAAY,EAAE,CAAC,eAAe,CAAC;IACzC,OAAO,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAoB;IACrD,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,eAAe,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC;AAWD,sDAAsD;AACtD,MAAM,UAAU,kBAAkB,CAAC,QAAgB,EAAE,QAAiC;IACpF,cAAc,CAAC,CAAC,CAAC,EAAE;QACjB,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,eAAe,IAAI,EAAE,CAA4B,CAAC;QACjE,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC;QACjC,CAAC,CAAC,eAAe,GAAG,GAAG,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,8CAA8C;AAC9C,MAAM,UAAU,qBAAqB,CAAC,QAAgB;IACpD,cAAc,CAAC,CAAC,CAAC,EAAE;QACjB,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,eAAe,IAAI,EAAE,CAA4B,CAAC;QACjE,OAAO,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC7B,CAAC,CAAC,eAAe,GAAG,GAAG,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,qBAAqB;IACnC,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC,eAAsD,CAAC;IAClF,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IAC/C,MAAM,MAAM,GAA4C,EAAE,CAAC;IAC3D,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,CAAC,GAAG,CAA4B,CAAC;YACvC,MAAM,CAAC,CAAC,CAAC,GAAG;gBACV,OAAO,EAAE,OAAO,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;gBAC3D,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;gBAC5D,UAAU,EAAE,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;gBAC/F,UAAU,EAAE,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;aAC5F,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAID,6EAA6E;AAE7E;;;;GAIG;AACH,MAAM,UAAU,uBAAuB;IACrC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;IAChD,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACtB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5C,CAAC;AAED,+EAA+E;AAE/E,MAAM,CAAC,MAAM,MAAM,GAAc;IAC/B,cAAc;IACd,gBAAgB;IAChB,cAAc;IACd,kBAAkB;IAClB,IAAI,oBAAoB,KAAK,OAAO,qBAAqB,EAAE,CAAC,CAAC,CAAC;IAC9D,oBAAoB;IACpB,SAAS;IACT,WAAW;CACZ,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../src/dashboard/presets.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9C,eAAO,MAAM,oBAAoB,mQAAmQ,CAAC;AA2BrS,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAExE;AAqCD,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAavG"}
1
+ {"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../src/dashboard/presets.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9C,eAAO,MAAM,oBAAoB,mQAAmQ,CAAC;AAqBrS,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAExE;AAqCD,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAavG"}
@@ -13,12 +13,6 @@ export const DEFAULT_DRIVE_PROMPT = `The operator is away. The session is yours.
13
13
  const AGENT_REMINDERS_TEMPLATES = {
14
14
  copilot: `For tasks, load relevant skill via get_skill first.
15
15
  threadId={{THREAD_ID}} | {{TIME}} | uptime: {{UPTIME}}
16
- `,
17
- copilot_claude: `For tasks, load relevant skill via get_skill first.
18
- threadId={{THREAD_ID}} | {{TIME}} | uptime: {{UPTIME}}
19
- `,
20
- copilot_codex: `For tasks, load relevant skill via get_skill first.
21
- threadId={{THREAD_ID}} | {{TIME}} | uptime: {{UPTIME}}
22
16
  `,
23
17
  claude: `For tasks, load relevant skill via get_skill first.
24
18
  You coordinate work via MCP tools. For complex tasks, break them into sequential steps. Keep context lean — summarize progress before starting new work. threadId={{THREAD_ID}} | {{TIME}} | uptime: {{UPTIME}}
@@ -1 +1 @@
1
- {"version":3,"file":"presets.js","sourceRoot":"","sources":["../../src/dashboard/presets.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAIzC,4EAA4E;AAC5E,MAAM,CAAC,MAAM,oBAAoB,GAAG,gQAAgQ,CAAC;AAErS,wCAAwC;AACxC,MAAM,yBAAyB,GAA8B;IAC3D,OAAO,EAAE;;CAEV;IACC,cAAc,EAAE;;CAEjB;IACC,aAAa,EAAE;;CAEhB;IACC,MAAM,EAAE;;CAET;IACC,MAAM,EAAE;;CAET;IACC,KAAK,EAAE;;CAER;IACC,YAAY,EAAE;;CAEf;CACA,CAAC;AAEF,MAAM,UAAU,2BAA2B,CAAC,SAAoB;IAC9D,OAAO,yBAAyB,CAAC,SAAS,CAAC,IAAI,yBAAyB,CAAC,OAAO,CAAC;AACnF,CAAC;AAED,wFAAwF;AACxF,MAAM,qBAAqB,GAA2B;IAClD,sBAAsB,EAAE;;;;;CAK3B;IACG,gBAAgB,EAAE;;;;;CAKrB;IACG,YAAY,EAAE;;;;;CAKjB;IACG,cAAc,EAAE;;;;;CAKnB;CACA,CAAC;AAEF,MAAM,iBAAiB,GAAG;IACtB,EAAE,IAAI,EAAE,oBAAoB,EAAE,GAAG,EAAE,sBAAsB,EAAE;IAC3D,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,gBAAgB,EAAE;IACjD,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,EAAE;IACzC,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,EAAE;CACjD,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,gBAAgB;IAClC,MAAM,OAAO,GAA0D,EAAE,CAAC;IAC1E,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAClC,IAAI,OAAe,CAAC;QACpB,IAAI,CAAC;YACD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC;YAC1H,OAAO,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,GAAG,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,yBAAyB,GAAG,CAAC,GAAG,aAAa,CAAC;QAC9F,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"presets.js","sourceRoot":"","sources":["../../src/dashboard/presets.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAIzC,4EAA4E;AAC5E,MAAM,CAAC,MAAM,oBAAoB,GAAG,gQAAgQ,CAAC;AAErS,wCAAwC;AACxC,MAAM,yBAAyB,GAA8B;IAC3D,OAAO,EAAE;;CAEV;IACC,MAAM,EAAE;;CAET;IACC,MAAM,EAAE;;CAET;IACC,KAAK,EAAE;;CAER;IACC,YAAY,EAAE;;CAEf;CACA,CAAC;AAEF,MAAM,UAAU,2BAA2B,CAAC,SAAoB;IAC9D,OAAO,yBAAyB,CAAC,SAAS,CAAC,IAAI,yBAAyB,CAAC,OAAO,CAAC;AACnF,CAAC;AAED,wFAAwF;AACxF,MAAM,qBAAqB,GAA2B;IAClD,sBAAsB,EAAE;;;;;CAK3B;IACG,gBAAgB,EAAE;;;;;CAKrB;IACG,YAAY,EAAE;;;;;CAKjB;IACG,cAAc,EAAE;;;;;CAKnB;CACA,CAAC;AAEF,MAAM,iBAAiB,GAAG;IACtB,EAAE,IAAI,EAAE,oBAAoB,EAAE,GAAG,EAAE,sBAAsB,EAAE;IAC3D,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,gBAAgB,EAAE;IACjD,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,EAAE;IACzC,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,EAAE;CACjD,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,gBAAgB;IAClC,MAAM,OAAO,GAA0D,EAAE,CAAC;IAC1E,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAClC,IAAI,OAAe,CAAC;QACpB,IAAI,CAAC;YACD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC;YAC1H,OAAO,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,GAAG,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,yBAAyB,GAAG,CAAC,GAAG,aAAa,CAAC;QAC9F,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Dashboard API — Claude spawn settings (CLI path, OAuth token, git-bash path,
3
+ * concurrency limit).
4
+ *
5
+ * Kept in its own module so the Claude-specific surface stays isolated from the
6
+ * generic settings handlers. The OAuth token is never echoed back — GET reports
7
+ * only whether one is set.
8
+ */
9
+ import { type RouteHandler } from "./types.js";
10
+ export declare const handleGetClaude: RouteHandler;
11
+ export declare const handlePostClaude: RouteHandler;
12
+ //# sourceMappingURL=claude.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../../src/dashboard/routes/claude.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAaH,OAAO,EAA2B,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAexE,eAAO,MAAM,eAAe,EAAE,YAG7B,CAAC;AAIF,eAAO,MAAM,gBAAgB,EAAE,YAmD9B,CAAC"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Dashboard API — Claude spawn settings (CLI path, OAuth token, git-bash path,
3
+ * concurrency limit).
4
+ *
5
+ * Kept in its own module so the Claude-specific surface stays isolated from the
6
+ * generic settings handlers. The OAuth token is never echoed back — GET reports
7
+ * only whether one is set.
8
+ */
9
+ import { getClaudeCliPath, setClaudeCliPath, getClaudeOauthToken, setClaudeOauthToken, getClaudeGitBashPath, setClaudeGitBashPath, getMaxConcurrentThreads, setMaxConcurrentThreads, } from "../../config.js";
10
+ import { readBody, safeParseJSON } from "./types.js";
11
+ import { errorMessage } from "../../utils.js";
12
+ /** Public (token-masked) view of the Claude spawn settings for the dashboard. */
13
+ function publicClaudeSettings() {
14
+ return {
15
+ cliPath: getClaudeCliPath() ?? "",
16
+ gitBashPath: getClaudeGitBashPath() ?? "",
17
+ maxConcurrentThreads: getMaxConcurrentThreads(),
18
+ oauthTokenSet: (getClaudeOauthToken() ?? "").length > 0,
19
+ };
20
+ }
21
+ // ─── GET /api/settings/claude ───────────────────────────────────────────────
22
+ export const handleGetClaude = ({ json }) => {
23
+ json(publicClaudeSettings());
24
+ return true;
25
+ };
26
+ // ─── POST /api/settings/claude ──────────────────────────────────────────────
27
+ export const handlePostClaude = ({ req, json }) => {
28
+ void (async () => {
29
+ try {
30
+ const raw = await readBody(req);
31
+ const body = safeParseJSON(raw);
32
+ if (!body || typeof body !== "object" || Array.isArray(body)) {
33
+ json({ error: "Invalid request body" }, 400);
34
+ return;
35
+ }
36
+ const b = body;
37
+ if ("cliPath" in b) {
38
+ if (typeof b.cliPath !== "string") {
39
+ json({ error: "cliPath must be a string" }, 400);
40
+ return;
41
+ }
42
+ setClaudeCliPath(b.cliPath.trim());
43
+ }
44
+ if ("gitBashPath" in b) {
45
+ if (typeof b.gitBashPath !== "string") {
46
+ json({ error: "gitBashPath must be a string" }, 400);
47
+ return;
48
+ }
49
+ setClaudeGitBashPath(b.gitBashPath.trim());
50
+ }
51
+ if ("maxConcurrentThreads" in b) {
52
+ const n = b.maxConcurrentThreads;
53
+ if (typeof n !== "number" || !Number.isFinite(n) || n < 1) {
54
+ json({ error: "maxConcurrentThreads must be a positive number" }, 400);
55
+ return;
56
+ }
57
+ setMaxConcurrentThreads(n);
58
+ }
59
+ // oauthToken is only applied when a non-empty value is provided, so
60
+ // saving other fields never wipes a previously stored token. An
61
+ // explicit empty string clears it.
62
+ if ("oauthToken" in b) {
63
+ if (typeof b.oauthToken !== "string") {
64
+ json({ error: "oauthToken must be a string" }, 400);
65
+ return;
66
+ }
67
+ if (b.oauthToken.length > 0)
68
+ setClaudeOauthToken(b.oauthToken);
69
+ }
70
+ if (b.clearOauthToken === true)
71
+ setClaudeOauthToken("");
72
+ json({ ok: true, ...publicClaudeSettings() });
73
+ }
74
+ catch (err) {
75
+ json({ error: errorMessage(err) }, 500);
76
+ }
77
+ })();
78
+ return true;
79
+ };
80
+ //# sourceMappingURL=claude.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../src/dashboard/routes/claude.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACH,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,GAC1B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAqB,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,iFAAiF;AACjF,SAAS,oBAAoB;IACzB,OAAO;QACH,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE;QACjC,WAAW,EAAE,oBAAoB,EAAE,IAAI,EAAE;QACzC,oBAAoB,EAAE,uBAAuB,EAAE;QAC/C,aAAa,EAAE,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC;KAC1D,CAAC;AACN,CAAC;AAED,+EAA+E;AAE/E,MAAM,CAAC,MAAM,eAAe,GAAiB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IACtD,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAC7B,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF,+EAA+E;AAE/E,MAAM,CAAC,MAAM,gBAAgB,GAAiB,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE;IAC5D,KAAK,CAAC,KAAK,IAAI,EAAE;QACb,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;YAChC,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3D,IAAI,CAAC,EAAE,KAAK,EAAE,sBAAsB,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC7C,OAAO;YACX,CAAC;YACD,MAAM,CAAC,GAAG,IAA+B,CAAC;YAE1C,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;gBACjB,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;oBAChC,IAAI,CAAC,EAAE,KAAK,EAAE,0BAA0B,EAAE,EAAE,GAAG,CAAC,CAAC;oBACjD,OAAO;gBACX,CAAC;gBACD,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YACvC,CAAC;YACD,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;gBACrB,IAAI,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;oBACpC,IAAI,CAAC,EAAE,KAAK,EAAE,8BAA8B,EAAE,EAAE,GAAG,CAAC,CAAC;oBACrD,OAAO;gBACX,CAAC;gBACD,oBAAoB,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/C,CAAC;YACD,IAAI,sBAAsB,IAAI,CAAC,EAAE,CAAC;gBAC9B,MAAM,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC;gBACjC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBACxD,IAAI,CAAC,EAAE,KAAK,EAAE,gDAAgD,EAAE,EAAE,GAAG,CAAC,CAAC;oBACvE,OAAO;gBACX,CAAC;gBACD,uBAAuB,CAAC,CAAC,CAAC,CAAC;YAC/B,CAAC;YACD,oEAAoE;YACpE,gEAAgE;YAChE,mCAAmC;YACnC,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;gBACpB,IAAI,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;oBACnC,IAAI,CAAC,EAAE,KAAK,EAAE,6BAA6B,EAAE,EAAE,GAAG,CAAC,CAAC;oBACpD,OAAO;gBACX,CAAC;gBACD,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;oBAAE,mBAAmB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YACnE,CAAC;YACD,IAAI,CAAC,CAAC,eAAe,KAAK,IAAI;gBAAE,mBAAmB,CAAC,EAAE,CAAC,CAAC;YAExD,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,oBAAoB,EAAE,EAAE,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC5C,CAAC;IACL,CAAC,CAAC,EAAE,CAAC;IACL,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Dashboard API — Copilot provider settings and BYOK (OpenRouter/DeepSeek/Kimi).
3
+ *
4
+ * Kept in its own module so the Copilot/BYOK surface stays isolated from the
5
+ * generic settings handlers. The API key is never echoed back — GET reports
6
+ * only whether one is set.
7
+ */
8
+ import { type RouteHandler } from "./types.js";
9
+ export declare const handleGetCopilot: RouteHandler;
10
+ export declare const handlePostCopilot: RouteHandler;
11
+ /**
12
+ * Verify the BYOK connection by listing models from the configured provider's
13
+ * OpenAI-compatible `{baseUrl}/models` endpoint using the stored API key.
14
+ * Returns model ids on success, a descriptive error otherwise.
15
+ */
16
+ export declare const handleGetCopilotModels: RouteHandler;
17
+ //# sourceMappingURL=copilot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copilot.d.ts","sourceRoot":"","sources":["../../../src/dashboard/routes/copilot.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAWH,OAAO,EAA2B,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAuBxE,eAAO,MAAM,gBAAgB,EAAE,YAG9B,CAAC;AAIF,eAAO,MAAM,iBAAiB,EAAE,YAiF/B,CAAC;AAIF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EAAE,YAgCpC,CAAC"}
@@ -0,0 +1,153 @@
1
+ /**
2
+ * Dashboard API — Copilot provider settings and BYOK (OpenRouter/DeepSeek/Kimi).
3
+ *
4
+ * Kept in its own module so the Copilot/BYOK surface stays isolated from the
5
+ * generic settings handlers. The API key is never echoed back — GET reports
6
+ * only whether one is set.
7
+ */
8
+ import { getCopilotModel, setCopilotModel, getCopilotByokConfig, setCopilotByokConfig, isValidCopilotProviderType, } from "../../config.js";
9
+ import { readBody, safeParseJSON } from "./types.js";
10
+ import { errorMessage } from "../../utils.js";
11
+ const MODELS_FETCH_TIMEOUT_MS = 10_000;
12
+ /** Public (key-masked) view of the Copilot settings for the dashboard. */
13
+ function publicCopilotSettings() {
14
+ const byok = getCopilotByokConfig();
15
+ return {
16
+ model: getCopilotModel(),
17
+ byok: {
18
+ enabled: byok.enabled,
19
+ providerType: byok.providerType,
20
+ baseUrl: byok.baseUrl,
21
+ modelId: byok.modelId,
22
+ wireModel: byok.wireModel,
23
+ apiKeySet: byok.apiKey.length > 0,
24
+ },
25
+ };
26
+ }
27
+ // ─── GET /api/settings/copilot ──────────────────────────────────────────────
28
+ export const handleGetCopilot = ({ json }) => {
29
+ json(publicCopilotSettings());
30
+ return true;
31
+ };
32
+ // ─── POST /api/settings/copilot ─────────────────────────────────────────────
33
+ export const handlePostCopilot = ({ req, json }) => {
34
+ void (async () => {
35
+ try {
36
+ const raw = await readBody(req);
37
+ const body = safeParseJSON(raw);
38
+ if (!body || typeof body !== "object" || Array.isArray(body)) {
39
+ json({ error: "Invalid request body" }, 400);
40
+ return;
41
+ }
42
+ const b = body;
43
+ if ("model" in b) {
44
+ if (typeof b.model !== "string" || !b.model.trim()) {
45
+ json({ error: "model must be a non-empty string" }, 400);
46
+ return;
47
+ }
48
+ setCopilotModel(b.model.trim());
49
+ }
50
+ if ("byok" in b) {
51
+ if (!b.byok || typeof b.byok !== "object" || Array.isArray(b.byok)) {
52
+ json({ error: "byok must be an object" }, 400);
53
+ return;
54
+ }
55
+ const y = b.byok;
56
+ const patch = {};
57
+ if ("enabled" in y) {
58
+ if (typeof y.enabled !== "boolean") {
59
+ json({ error: "byok.enabled must be a boolean" }, 400);
60
+ return;
61
+ }
62
+ patch.enabled = y.enabled;
63
+ }
64
+ if ("providerType" in y) {
65
+ if (!isValidCopilotProviderType(y.providerType)) {
66
+ json({ error: "byok.providerType must be 'openai', 'azure', or 'anthropic'" }, 400);
67
+ return;
68
+ }
69
+ patch.providerType = y.providerType;
70
+ }
71
+ if ("baseUrl" in y) {
72
+ if (typeof y.baseUrl !== "string") {
73
+ json({ error: "byok.baseUrl must be a string" }, 400);
74
+ return;
75
+ }
76
+ patch.baseUrl = y.baseUrl.trim();
77
+ }
78
+ if ("modelId" in y) {
79
+ if (typeof y.modelId !== "string") {
80
+ json({ error: "byok.modelId must be a string" }, 400);
81
+ return;
82
+ }
83
+ patch.modelId = y.modelId.trim();
84
+ }
85
+ if ("wireModel" in y) {
86
+ if (typeof y.wireModel !== "string") {
87
+ json({ error: "byok.wireModel must be a string" }, 400);
88
+ return;
89
+ }
90
+ patch.wireModel = y.wireModel.trim();
91
+ }
92
+ // apiKey is only applied when a non-empty value is provided, so
93
+ // saving other fields never wipes a previously stored key.
94
+ if ("apiKey" in y) {
95
+ if (typeof y.apiKey !== "string") {
96
+ json({ error: "byok.apiKey must be a string" }, 400);
97
+ return;
98
+ }
99
+ if (y.apiKey.length > 0)
100
+ patch.apiKey = y.apiKey;
101
+ }
102
+ setCopilotByokConfig(patch);
103
+ }
104
+ json({ ok: true, ...publicCopilotSettings() });
105
+ }
106
+ catch (err) {
107
+ json({ error: errorMessage(err) }, 500);
108
+ }
109
+ })();
110
+ return true;
111
+ };
112
+ // ─── GET /api/settings/copilot/models ───────────────────────────────────────
113
+ /**
114
+ * Verify the BYOK connection by listing models from the configured provider's
115
+ * OpenAI-compatible `{baseUrl}/models` endpoint using the stored API key.
116
+ * Returns model ids on success, a descriptive error otherwise.
117
+ */
118
+ export const handleGetCopilotModels = ({ json }) => {
119
+ void (async () => {
120
+ const byok = getCopilotByokConfig();
121
+ if (!byok.baseUrl || !byok.apiKey) {
122
+ json({ ok: false, error: "Set a provider baseUrl and API key first" }, 400);
123
+ return;
124
+ }
125
+ const url = `${byok.baseUrl.replace(/\/+$/, "")}/models`;
126
+ const controller = new AbortController();
127
+ const timer = setTimeout(() => controller.abort(), MODELS_FETCH_TIMEOUT_MS);
128
+ try {
129
+ const resp = await fetch(url, {
130
+ headers: { Authorization: `Bearer ${byok.apiKey}` },
131
+ signal: controller.signal,
132
+ });
133
+ if (!resp.ok) {
134
+ json({ ok: false, error: `Provider returned HTTP ${resp.status} ${resp.statusText}` }, 502);
135
+ return;
136
+ }
137
+ const payload = (await resp.json());
138
+ const models = Array.isArray(payload.data)
139
+ ? payload.data.map((m) => m.id).filter((id) => typeof id === "string")
140
+ : [];
141
+ json({ ok: true, count: models.length, models });
142
+ }
143
+ catch (err) {
144
+ const reason = controller.signal.aborted ? "Request timed out" : errorMessage(err);
145
+ json({ ok: false, error: `Failed to reach provider: ${reason}` }, 502);
146
+ }
147
+ finally {
148
+ clearTimeout(timer);
149
+ }
150
+ })();
151
+ return true;
152
+ };
153
+ //# sourceMappingURL=copilot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copilot.js","sourceRoot":"","sources":["../../../src/dashboard/routes/copilot.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACH,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,GAE7B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAqB,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAEvC,0EAA0E;AAC1E,SAAS,qBAAqB;IAC1B,MAAM,IAAI,GAAG,oBAAoB,EAAE,CAAC;IACpC,OAAO;QACH,KAAK,EAAE,eAAe,EAAE;QACxB,IAAI,EAAE;YACF,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;SACpC;KACJ,CAAC;AACN,CAAC;AAED,+EAA+E;AAE/E,MAAM,CAAC,MAAM,gBAAgB,GAAiB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IACvD,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAC9B,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF,+EAA+E;AAE/E,MAAM,CAAC,MAAM,iBAAiB,GAAiB,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE;IAC7D,KAAK,CAAC,KAAK,IAAI,EAAE;QACb,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;YAChC,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3D,IAAI,CAAC,EAAE,KAAK,EAAE,sBAAsB,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC7C,OAAO;YACX,CAAC;YACD,MAAM,CAAC,GAAG,IAA+B,CAAC;YAE1C,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;gBACf,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;oBACjD,IAAI,CAAC,EAAE,KAAK,EAAE,kCAAkC,EAAE,EAAE,GAAG,CAAC,CAAC;oBACzD,OAAO;gBACX,CAAC;gBACD,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACpC,CAAC;YAED,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;gBACd,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;oBACjE,IAAI,CAAC,EAAE,KAAK,EAAE,wBAAwB,EAAE,EAAE,GAAG,CAAC,CAAC;oBAC/C,OAAO;gBACX,CAAC;gBACD,MAAM,CAAC,GAAG,CAAC,CAAC,IAA+B,CAAC;gBAC5C,MAAM,KAAK,GAA+B,EAAE,CAAC;gBAE7C,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;oBACjB,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;wBACjC,IAAI,CAAC,EAAE,KAAK,EAAE,gCAAgC,EAAE,EAAE,GAAG,CAAC,CAAC;wBACvD,OAAO;oBACX,CAAC;oBACD,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;gBAC9B,CAAC;gBACD,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;oBACtB,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC;wBAC9C,IAAI,CAAC,EAAE,KAAK,EAAE,6DAA6D,EAAE,EAAE,GAAG,CAAC,CAAC;wBACpF,OAAO;oBACX,CAAC;oBACD,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC;gBACxC,CAAC;gBACD,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;oBACjB,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;wBAChC,IAAI,CAAC,EAAE,KAAK,EAAE,+BAA+B,EAAE,EAAE,GAAG,CAAC,CAAC;wBACtD,OAAO;oBACX,CAAC;oBACD,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACrC,CAAC;gBACD,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;oBACjB,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;wBAChC,IAAI,CAAC,EAAE,KAAK,EAAE,+BAA+B,EAAE,EAAE,GAAG,CAAC,CAAC;wBACtD,OAAO;oBACX,CAAC;oBACD,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACrC,CAAC;gBACD,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;oBACnB,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;wBAClC,IAAI,CAAC,EAAE,KAAK,EAAE,iCAAiC,EAAE,EAAE,GAAG,CAAC,CAAC;wBACxD,OAAO;oBACX,CAAC;oBACD,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;gBACzC,CAAC;gBACD,gEAAgE;gBAChE,2DAA2D;gBAC3D,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;oBAChB,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;wBAC/B,IAAI,CAAC,EAAE,KAAK,EAAE,8BAA8B,EAAE,EAAE,GAAG,CAAC,CAAC;wBACrD,OAAO;oBACX,CAAC;oBACD,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;wBAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;gBACrD,CAAC;gBAED,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC;YAED,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,qBAAqB,EAAE,EAAE,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC5C,CAAC;IACL,CAAC,CAAC,EAAE,CAAC;IACL,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF,+EAA+E;AAE/E;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAiB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IAC7D,KAAK,CAAC,KAAK,IAAI,EAAE;QACb,MAAM,IAAI,GAAG,oBAAoB,EAAE,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,0CAA0C,EAAE,EAAE,GAAG,CAAC,CAAC;YAC5E,OAAO;QACX,CAAC;QACD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC;QACzD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,uBAAuB,CAAC,CAAC;QAC5E,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAC1B,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE,EAAE;gBACnD,MAAM,EAAE,UAAU,CAAC,MAAM;aAC5B,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;gBACX,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,0BAA0B,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC5F,OAAO;YACX,CAAC;YACD,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAuC,CAAC;YAC1E,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;gBACtC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC;gBACpF,CAAC,CAAC,EAAE,CAAC;YACT,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YACnF,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,6BAA6B,MAAM,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QAC3E,CAAC;gBAAS,CAAC;YACP,YAAY,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;IACL,CAAC,CAAC,EAAE,CAAC;IACL,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC"}
@@ -13,7 +13,7 @@ import { deleteTelegramTopicByBotApi } from "../../services/topic.service.js";
13
13
  import { dispatchSpawn } from "../../services/agent-spawn.service.js";
14
14
  // ─── Helpers ────────────────────────────────────────────────────────────────
15
15
  const VALID_STATUSES = ["active", "archived", "expired", "exited"];
16
- const VALID_CLIENTS = ["claude", "copilot", "codex", "openai_codex", "copilot_claude", "copilot_codex", "cursor"];
16
+ const VALID_CLIENTS = ["claude", "copilot", "codex", "openai_codex", "cursor"];
17
17
  /** Extract valid update fields from a request body. Returns an error string on validation failure. */
18
18
  function buildThreadUpdates(body) {
19
19
  const updates = {};