agor-live 0.6.9 → 0.7.1

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 (90) hide show
  1. package/dist/cli/commands/config/index.js +0 -1
  2. package/dist/cli/commands/session/list.js +3 -1
  3. package/dist/cli/commands/user/create-admin.js +3 -1
  4. package/dist/core/{agentic-tool-F4yIQb5n.d.cts → agentic-tool-BkgiidIe.d.cts} +20 -3
  5. package/dist/core/{agentic-tool-BKO8MCeP.d.ts → agentic-tool-hY49SjX4.d.ts} +20 -3
  6. package/dist/core/api/index.cjs +18 -3
  7. package/dist/core/api/index.d.cts +5 -5
  8. package/dist/core/api/index.d.ts +5 -5
  9. package/dist/core/api/index.js +18 -3
  10. package/dist/core/claude/index.cjs +2 -2
  11. package/dist/core/claude/index.js +2 -2
  12. package/dist/core/{client-B7p2_7Ut.d.cts → client-BeMnWEfJ.d.cts} +79 -9
  13. package/dist/core/{client-CklMhh5V.d.ts → client-WZqLuIZg.d.ts} +79 -9
  14. package/dist/core/config/browser.cjs +119 -1
  15. package/dist/core/config/browser.d.cts +126 -6
  16. package/dist/core/config/browser.d.ts +126 -6
  17. package/dist/core/config/browser.js +113 -1
  18. package/dist/core/config/index.cjs +117 -104
  19. package/dist/core/config/index.d.cts +7 -117
  20. package/dist/core/config/index.d.ts +7 -117
  21. package/dist/core/config/index.js +116 -104
  22. package/dist/core/db/index.cjs +25 -10
  23. package/dist/core/db/index.d.cts +8 -8
  24. package/dist/core/db/index.d.ts +8 -8
  25. package/dist/core/db/index.js +25 -10
  26. package/dist/core/drizzle/0001_complex_the_call.sql +10 -0
  27. package/dist/core/environment/variable-resolver.d.cts +1 -1
  28. package/dist/core/environment/variable-resolver.d.ts +1 -1
  29. package/dist/core/git/index.cjs +5 -7
  30. package/dist/core/git/index.d.cts +3 -0
  31. package/dist/core/git/index.d.ts +3 -0
  32. package/dist/core/git/index.js +3 -6
  33. package/dist/core/index.cjs +147 -120
  34. package/dist/core/index.d.cts +9 -8
  35. package/dist/core/index.d.ts +9 -8
  36. package/dist/core/index.js +145 -120
  37. package/dist/core/package.json +5 -0
  38. package/dist/core/{repo-Da9KZn56.d.cts → repo-Cb002or9.d.cts} +1 -1
  39. package/dist/core/{repo-DU_q1nOJ.d.ts → repo-mJfbv6xB.d.ts} +1 -1
  40. package/dist/core/{session-CxdFDTYb.d.ts → session-EYs7DP3G.d.ts} +6 -3
  41. package/dist/core/{session-BiQr29HO.d.cts → session-j-skJz_m.d.cts} +6 -3
  42. package/dist/core/tools/index.cjs +52 -14
  43. package/dist/core/tools/index.d.cts +10 -9
  44. package/dist/core/tools/index.d.ts +10 -9
  45. package/dist/core/tools/index.js +52 -14
  46. package/dist/core/types/index.cjs +1 -0
  47. package/dist/core/types/index.d.cts +5 -5
  48. package/dist/core/types/index.d.ts +5 -5
  49. package/dist/core/types/index.js +1 -0
  50. package/dist/core/user-DB3ViAaB.d.ts +104 -0
  51. package/dist/core/user-DBq-aJq5.d.cts +104 -0
  52. package/dist/core/utils/errors.cjs +100 -0
  53. package/dist/core/utils/errors.d.cts +51 -0
  54. package/dist/core/utils/errors.d.ts +51 -0
  55. package/dist/core/utils/errors.js +69 -0
  56. package/dist/core/utils/permission-mode-mapper.cjs +0 -1
  57. package/dist/core/utils/permission-mode-mapper.d.cts +2 -2
  58. package/dist/core/utils/permission-mode-mapper.d.ts +2 -2
  59. package/dist/core/utils/permission-mode-mapper.js +0 -1
  60. package/dist/core/utils/pricing.cjs +0 -11
  61. package/dist/core/utils/pricing.d.cts +1 -1
  62. package/dist/core/utils/pricing.d.ts +1 -1
  63. package/dist/core/utils/pricing.js +0 -11
  64. package/dist/core/{worktrees-BEIruvGs.d.cts → worktrees-BmxS9Cbv.d.cts} +8 -4
  65. package/dist/core/{worktrees-Dv8M5-3U.d.ts → worktrees-_SyzlCFc.d.ts} +8 -4
  66. package/dist/daemon/adapters/drizzle.js +0 -1
  67. package/dist/daemon/index.js +89 -25
  68. package/dist/daemon/mcp/routes.js +3 -3
  69. package/dist/daemon/services/board-comments.js +0 -1
  70. package/dist/daemon/services/boards.js +0 -1
  71. package/dist/daemon/services/config.js +1 -2
  72. package/dist/daemon/services/files.d.ts +44 -0
  73. package/dist/daemon/services/files.js +51 -0
  74. package/dist/daemon/services/mcp-servers.js +0 -1
  75. package/dist/daemon/services/messages.js +0 -1
  76. package/dist/daemon/services/repos.js +0 -1
  77. package/dist/daemon/services/scheduler.js +1 -1
  78. package/dist/daemon/services/sessions.js +0 -1
  79. package/dist/daemon/services/tasks.js +0 -1
  80. package/dist/daemon/services/users.d.ts +3 -8
  81. package/dist/daemon/services/users.js +6 -3
  82. package/dist/daemon/services/worktrees.d.ts +6 -0
  83. package/dist/daemon/services/worktrees.js +13 -2
  84. package/dist/ui/assets/index-CEucdq9r.js +623 -0
  85. package/dist/ui/index.html +1 -1
  86. package/package.json +2 -2
  87. package/dist/core/user-CS2VnSS6.d.ts +0 -62
  88. package/dist/core/user-iMPpW1iA.d.cts +0 -62
  89. package/dist/ui/assets/cursor-BUy5pFVL.png +0 -0
  90. package/dist/ui/assets/index-Dt68JLR0.js +0 -612
@@ -77,7 +77,6 @@ var ConfigIndex = class extends Command {
77
77
  this.log(chalk.cyan(" Credentials:"));
78
78
  this.log(" credentials.ANTHROPIC_API_KEY");
79
79
  this.log(" credentials.OPENAI_API_KEY");
80
- this.log(" credentials.CURSOR_API_KEY");
81
80
  this.log(" credentials.GEMINI_API_KEY");
82
81
  this.log("");
83
82
  this.log(chalk.cyan(" Daemon:"));
@@ -161,7 +161,7 @@ var SessionList = class _SessionList extends BaseCommand {
161
161
  agent: Flags.string({
162
162
  char: "a",
163
163
  description: "Filter by agent",
164
- options: ["claude-code", "cursor", "codex", "gemini"]
164
+ options: ["claude-code", "codex", "gemini"]
165
165
  }),
166
166
  board: Flags.string({
167
167
  char: "b",
@@ -195,12 +195,14 @@ var SessionList = class _SessionList extends BaseCommand {
195
195
  formatStatus(status) {
196
196
  const icons = {
197
197
  running: chalk2.blue("\u25CF"),
198
+ awaiting_permission: chalk2.yellow("\u23F8"),
198
199
  completed: chalk2.green("\u2713"),
199
200
  failed: chalk2.red("\u2717"),
200
201
  idle: chalk2.gray("\u25CB")
201
202
  };
202
203
  const labels = {
203
204
  running: chalk2.blue("Running"),
205
+ awaiting_permission: chalk2.yellow("Awaiting Permission"),
204
206
  completed: chalk2.green("Done"),
205
207
  failed: chalk2.red("Failed"),
206
208
  idle: chalk2.gray("Idle")
@@ -5,7 +5,8 @@ import {
5
5
  createDatabase,
6
6
  createDefaultAdminUser,
7
7
  DEFAULT_ADMIN_USER,
8
- getUserByEmail
8
+ getUserByEmail,
9
+ runMigrations
9
10
  } from "@agor/core/db";
10
11
  import { Command } from "@oclif/core";
11
12
  import chalk from "chalk";
@@ -18,6 +19,7 @@ var UserCreateAdmin = class extends Command {
18
19
  const agorHome = join(configPath, "..");
19
20
  const dbPath = join(agorHome, "agor.db");
20
21
  const db = createDatabase({ url: `file:${dbPath}` });
22
+ await runMigrations(db);
21
23
  const existingAdmin = await getUserByEmail(db, DEFAULT_ADMIN_USER.email);
22
24
  if (existingAdmin) {
23
25
  this.log(chalk.yellow("\u26A0 Admin user already exists"));
@@ -5,14 +5,13 @@ import { A as AgenticToolID } from './id-DMqyogFB.cjs';
5
5
  *
6
6
  * These are the external agentic CLI/IDE tools that connect to Agor:
7
7
  * - claude-code: Anthropic's Claude Code CLI
8
- * - cursor: Cursor IDE
9
8
  * - codex: OpenAI's Codex CLI
10
9
  * - gemini: Google's Gemini Code Assist
11
10
  *
12
11
  * Not to be confused with "execution tools" (Bash, Write, Read, etc.)
13
12
  * which are the primitives that agentic tools use to perform work.
14
13
  */
15
- type AgenticToolName = 'claude-code' | 'cursor' | 'codex' | 'gemini';
14
+ type AgenticToolName = 'claude-code' | 'codex' | 'gemini';
16
15
  /**
17
16
  * Agentic tool metadata for UI display
18
17
  *
@@ -66,5 +65,23 @@ type CodexSandboxMode = 'read-only' | 'workspace-write' | 'danger-full-access';
66
65
  * - never: Auto-approve everything
67
66
  */
68
67
  type CodexApprovalPolicy = 'untrusted' | 'on-request' | 'on-failure' | 'never';
68
+ /**
69
+ * Codex network access mode - controls network connectivity
70
+ *
71
+ * Network access is only available when sandboxMode = 'workspace-write'.
72
+ * Configured via [sandbox_workspace_write].network_access in config.toml.
73
+ *
74
+ * - disabled: No network access (default, most secure)
75
+ * - enabled: Full outbound HTTP/HTTPS access (security risk - prompt injection, data exfiltration)
76
+ *
77
+ * Note: The 'web_search' tool is separate and controlled by the --search CLI flag.
78
+ * This setting enables ALL network requests, not just web search.
79
+ *
80
+ * Security Warning: Enabling network access exposes your environment to:
81
+ * - Prompt injection attacks
82
+ * - Data exfiltration of code/secrets
83
+ * - Inclusion of malware or vulnerable dependencies
84
+ */
85
+ type CodexNetworkAccess = boolean;
69
86
 
70
- export type { AgenticToolName as A, ClaudeCodePermissionMode as C, GeminiPermissionMode as G, CodexPermissionMode as a, AgenticTool as b, CodexSandboxMode as c, CodexApprovalPolicy as d };
87
+ export type { AgenticToolName as A, ClaudeCodePermissionMode as C, GeminiPermissionMode as G, CodexPermissionMode as a, AgenticTool as b, CodexSandboxMode as c, CodexApprovalPolicy as d, CodexNetworkAccess as e };
@@ -5,14 +5,13 @@ import { A as AgenticToolID } from './id-DMqyogFB.js';
5
5
  *
6
6
  * These are the external agentic CLI/IDE tools that connect to Agor:
7
7
  * - claude-code: Anthropic's Claude Code CLI
8
- * - cursor: Cursor IDE
9
8
  * - codex: OpenAI's Codex CLI
10
9
  * - gemini: Google's Gemini Code Assist
11
10
  *
12
11
  * Not to be confused with "execution tools" (Bash, Write, Read, etc.)
13
12
  * which are the primitives that agentic tools use to perform work.
14
13
  */
15
- type AgenticToolName = 'claude-code' | 'cursor' | 'codex' | 'gemini';
14
+ type AgenticToolName = 'claude-code' | 'codex' | 'gemini';
16
15
  /**
17
16
  * Agentic tool metadata for UI display
18
17
  *
@@ -66,5 +65,23 @@ type CodexSandboxMode = 'read-only' | 'workspace-write' | 'danger-full-access';
66
65
  * - never: Auto-approve everything
67
66
  */
68
67
  type CodexApprovalPolicy = 'untrusted' | 'on-request' | 'on-failure' | 'never';
68
+ /**
69
+ * Codex network access mode - controls network connectivity
70
+ *
71
+ * Network access is only available when sandboxMode = 'workspace-write'.
72
+ * Configured via [sandbox_workspace_write].network_access in config.toml.
73
+ *
74
+ * - disabled: No network access (default, most secure)
75
+ * - enabled: Full outbound HTTP/HTTPS access (security risk - prompt injection, data exfiltration)
76
+ *
77
+ * Note: The 'web_search' tool is separate and controlled by the --search CLI flag.
78
+ * This setting enables ALL network requests, not just web search.
79
+ *
80
+ * Security Warning: Enabling network access exposes your environment to:
81
+ * - Prompt injection attacks
82
+ * - Data exfiltration of code/secrets
83
+ * - Inclusion of malware or vulnerable dependencies
84
+ */
85
+ type CodexNetworkAccess = boolean;
69
86
 
70
- export type { AgenticToolName as A, ClaudeCodePermissionMode as C, GeminiPermissionMode as G, CodexPermissionMode as a, AgenticTool as b, CodexSandboxMode as c, CodexApprovalPolicy as d };
87
+ export type { AgenticToolName as A, ClaudeCodePermissionMode as C, GeminiPermissionMode as G, CodexPermissionMode as a, AgenticTool as b, CodexSandboxMode as c, CodexApprovalPolicy as d, CodexNetworkAccess as e };
@@ -39,7 +39,22 @@ var import_authentication_client = __toESM(require("@feathersjs/authentication-c
39
39
  var import_feathers = require("@feathersjs/feathers");
40
40
  var import_socketio_client = __toESM(require("@feathersjs/socketio-client"), 1);
41
41
  var import_socket = __toESM(require("socket.io-client"), 1);
42
- async function createRestClient(url = "http://localhost:3030") {
42
+
43
+ // src/config/constants.ts
44
+ var DAEMON = {
45
+ /**
46
+ * Default daemon port
47
+ */
48
+ DEFAULT_PORT: 3030,
49
+ /**
50
+ * Default daemon host
51
+ */
52
+ DEFAULT_HOST: "localhost"
53
+ };
54
+
55
+ // src/api/index.ts
56
+ var DEFAULT_DAEMON_URL = `http://${DAEMON.DEFAULT_HOST}:${DAEMON.DEFAULT_PORT}`;
57
+ async function createRestClient(url = DEFAULT_DAEMON_URL) {
43
58
  const client = (0, import_feathers.feathers)();
44
59
  const { default: rest } = await import("@feathersjs/rest-client");
45
60
  client.configure(rest(url).fetch(fetch));
@@ -54,7 +69,7 @@ async function createRestClient(url = "http://localhost:3030") {
54
69
  };
55
70
  return client;
56
71
  }
57
- function createClient(url = "http://localhost:3030", autoConnect = true, options) {
72
+ function createClient(url = DEFAULT_DAEMON_URL, autoConnect = true, options) {
58
73
  const socket = (0, import_socket.default)(url, {
59
74
  // Auto-connect by default for CLI, manual control for React hooks
60
75
  autoConnect,
@@ -99,7 +114,7 @@ function createClient(url = "http://localhost:3030", autoConnect = true, options
99
114
  client.io = socket;
100
115
  return client;
101
116
  }
102
- async function isDaemonRunning(url = "http://localhost:3030") {
117
+ async function isDaemonRunning(url = DEFAULT_DAEMON_URL) {
103
118
  try {
104
119
  const response = await fetch(`${url}/health`, { signal: AbortSignal.timeout(1e3) });
105
120
  return response.ok;
@@ -3,14 +3,14 @@ import { e as Board } from '../board-Oa2OJ-K3.cjs';
3
3
  import { a as ContextFileListItem, b as ContextFileDetail } from '../context-ByxGjp5l.cjs';
4
4
  import { b as AuthenticationResult } from '../feathers-BzHEPnpl.cjs';
5
5
  import { h as MCPServer } from '../mcp-DpJnAKie.cjs';
6
- import { a as User } from '../user-iMPpW1iA.cjs';
7
- import { a as Repo, c as Worktree } from '../repo-Da9KZn56.cjs';
8
- import { a as Session } from '../session-BiQr29HO.cjs';
6
+ import { c as User } from '../user-DBq-aJq5.cjs';
7
+ import { a as Repo, c as Worktree } from '../repo-Cb002or9.cjs';
8
+ import { a as Session } from '../session-j-skJz_m.cjs';
9
9
  import { c as Task } from '../task-sTuyYLoN.cjs';
10
10
  import { Params, Paginated, Application } from '@feathersjs/feathers';
11
11
  import { Socket } from 'socket.io-client';
12
12
  import '../id-DMqyogFB.cjs';
13
- import '../agentic-tool-F4yIQb5n.cjs';
13
+ import '../agentic-tool-BkgiidIe.cjs';
14
14
 
15
15
  /**
16
16
  * Feathers Client for Agor
@@ -208,7 +208,7 @@ interface AgorClient extends Omit<Application<ServiceTypes>, 'service'> {
208
208
  /**
209
209
  * Create Feathers client connected to agor-daemon
210
210
  *
211
- * @param url - Daemon URL (default: http://localhost:3030)
211
+ * @param url - Daemon URL
212
212
  * @param autoConnect - Auto-connect socket (default: true for CLI, false for React)
213
213
  * @param options - Additional options
214
214
  * @returns Feathers client instance with socket exposed
@@ -3,14 +3,14 @@ import { e as Board } from '../board-ava4cdq5.js';
3
3
  import { a as ContextFileListItem, b as ContextFileDetail } from '../context-ByxGjp5l.js';
4
4
  import { b as AuthenticationResult } from '../feathers-BzHEPnpl.js';
5
5
  import { h as MCPServer } from '../mcp-BJoCdfzv.js';
6
- import { a as User } from '../user-CS2VnSS6.js';
7
- import { a as Repo, c as Worktree } from '../repo-DU_q1nOJ.js';
8
- import { a as Session } from '../session-CxdFDTYb.js';
6
+ import { c as User } from '../user-DB3ViAaB.js';
7
+ import { a as Repo, c as Worktree } from '../repo-mJfbv6xB.js';
8
+ import { a as Session } from '../session-EYs7DP3G.js';
9
9
  import { c as Task } from '../task-C4bogx9k.js';
10
10
  import { Params, Paginated, Application } from '@feathersjs/feathers';
11
11
  import { Socket } from 'socket.io-client';
12
12
  import '../id-DMqyogFB.js';
13
- import '../agentic-tool-BKO8MCeP.js';
13
+ import '../agentic-tool-hY49SjX4.js';
14
14
 
15
15
  /**
16
16
  * Feathers Client for Agor
@@ -208,7 +208,7 @@ interface AgorClient extends Omit<Application<ServiceTypes>, 'service'> {
208
208
  /**
209
209
  * Create Feathers client connected to agor-daemon
210
210
  *
211
- * @param url - Daemon URL (default: http://localhost:3030)
211
+ * @param url - Daemon URL
212
212
  * @param autoConnect - Auto-connect socket (default: true for CLI, false for React)
213
213
  * @param options - Additional options
214
214
  * @returns Feathers client instance with socket exposed
@@ -3,7 +3,22 @@ import authentication from "@feathersjs/authentication-client";
3
3
  import { feathers } from "@feathersjs/feathers";
4
4
  import socketio from "@feathersjs/socketio-client";
5
5
  import io from "socket.io-client";
6
- async function createRestClient(url = "http://localhost:3030") {
6
+
7
+ // src/config/constants.ts
8
+ var DAEMON = {
9
+ /**
10
+ * Default daemon port
11
+ */
12
+ DEFAULT_PORT: 3030,
13
+ /**
14
+ * Default daemon host
15
+ */
16
+ DEFAULT_HOST: "localhost"
17
+ };
18
+
19
+ // src/api/index.ts
20
+ var DEFAULT_DAEMON_URL = `http://${DAEMON.DEFAULT_HOST}:${DAEMON.DEFAULT_PORT}`;
21
+ async function createRestClient(url = DEFAULT_DAEMON_URL) {
7
22
  const client = feathers();
8
23
  const { default: rest } = await import("@feathersjs/rest-client");
9
24
  client.configure(rest(url).fetch(fetch));
@@ -18,7 +33,7 @@ async function createRestClient(url = "http://localhost:3030") {
18
33
  };
19
34
  return client;
20
35
  }
21
- function createClient(url = "http://localhost:3030", autoConnect = true, options) {
36
+ function createClient(url = DEFAULT_DAEMON_URL, autoConnect = true, options) {
22
37
  const socket = io(url, {
23
38
  // Auto-connect by default for CLI, manual control for React hooks
24
39
  autoConnect,
@@ -63,7 +78,7 @@ function createClient(url = "http://localhost:3030", autoConnect = true, options
63
78
  client.io = socket;
64
79
  return client;
65
80
  }
66
- async function isDaemonRunning(url = "http://localhost:3030") {
81
+ async function isDaemonRunning(url = DEFAULT_DAEMON_URL) {
67
82
  try {
68
83
  const response = await fetch(`${url}/health`, { signal: AbortSignal.timeout(1e3) });
69
84
  return response.ok;
@@ -185,10 +185,10 @@ var sessions = (0, import_sqlite_core.sqliteTable)(
185
185
  created_by: (0, import_sqlite_core.text)("created_by", { length: 36 }).notNull().default("anonymous"),
186
186
  // Materialized for filtering/joins (cross-DB compatible)
187
187
  status: (0, import_sqlite_core.text)("status", {
188
- enum: ["idle", "running", "completed", "failed"]
188
+ enum: ["idle", "running", "awaiting_permission", "completed", "failed"]
189
189
  }).notNull(),
190
190
  agentic_tool: (0, import_sqlite_core.text)("agentic_tool", {
191
- enum: ["claude-code", "cursor", "codex", "gemini"]
191
+ enum: ["claude-code", "codex", "gemini"]
192
192
  }).notNull(),
193
193
  board_id: (0, import_sqlite_core.text)("board_id", { length: 36 }),
194
194
  // NULL = no board
@@ -142,10 +142,10 @@ var sessions = sqliteTable(
142
142
  created_by: text("created_by", { length: 36 }).notNull().default("anonymous"),
143
143
  // Materialized for filtering/joins (cross-DB compatible)
144
144
  status: text("status", {
145
- enum: ["idle", "running", "completed", "failed"]
145
+ enum: ["idle", "running", "awaiting_permission", "completed", "failed"]
146
146
  }).notNull(),
147
147
  agentic_tool: text("agentic_tool", {
148
- enum: ["claude-code", "cursor", "codex", "gemini"]
148
+ enum: ["claude-code", "codex", "gemini"]
149
149
  }).notNull(),
150
150
  board_id: text("board_id", { length: 36 }),
151
151
  // NULL = no board
@@ -1,8 +1,8 @@
1
1
  import { LibSQLDatabase } from 'drizzle-orm/libsql';
2
2
  import { d as Message } from './message-B1tv5qyO.cjs';
3
- import { c as CodexSandboxMode, d as CodexApprovalPolicy } from './agentic-tool-F4yIQb5n.cjs';
3
+ import { c as CodexSandboxMode, d as CodexApprovalPolicy } from './agentic-tool-BkgiidIe.cjs';
4
4
  import { d as BoardObject } from './board-Oa2OJ-K3.cjs';
5
- import { a as Session, P as PermissionMode } from './session-BiQr29HO.cjs';
5
+ import { a as Session, P as PermissionMode } from './session-j-skJz_m.cjs';
6
6
  import { c as Task } from './task-sTuyYLoN.cjs';
7
7
  import * as drizzle_orm_sqlite_core from 'drizzle-orm/sqlite-core';
8
8
 
@@ -94,14 +94,14 @@ declare const sessions: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
94
94
  tableName: "sessions";
95
95
  dataType: "string";
96
96
  columnType: "SQLiteText";
97
- data: "running" | "idle" | "completed" | "failed";
97
+ data: "idle" | "running" | "awaiting_permission" | "completed" | "failed";
98
98
  driverParam: string;
99
99
  notNull: true;
100
100
  hasDefault: false;
101
101
  isPrimaryKey: false;
102
102
  isAutoincrement: false;
103
103
  hasRuntimeDefault: false;
104
- enumValues: ["idle", "running", "completed", "failed"];
104
+ enumValues: ["idle", "running", "awaiting_permission", "completed", "failed"];
105
105
  baseColumn: never;
106
106
  identity: undefined;
107
107
  generated: undefined;
@@ -113,14 +113,14 @@ declare const sessions: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
113
113
  tableName: "sessions";
114
114
  dataType: "string";
115
115
  columnType: "SQLiteText";
116
- data: "claude-code" | "cursor" | "codex" | "gemini";
116
+ data: "claude-code" | "codex" | "gemini";
117
117
  driverParam: string;
118
118
  notNull: true;
119
119
  hasDefault: false;
120
120
  isPrimaryKey: false;
121
121
  isAutoincrement: false;
122
122
  hasRuntimeDefault: false;
123
- enumValues: ["claude-code", "cursor", "codex", "gemini"];
123
+ enumValues: ["claude-code", "codex", "gemini"];
124
124
  baseColumn: never;
125
125
  identity: undefined;
126
126
  generated: undefined;
@@ -417,7 +417,7 @@ declare const tasks: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
417
417
  tableName: "tasks";
418
418
  dataType: "string";
419
419
  columnType: "SQLiteText";
420
- data: "stopped" | "running" | "stopping" | "completed" | "failed" | "created" | "awaiting_permission";
420
+ data: "running" | "awaiting_permission" | "completed" | "failed" | "stopped" | "stopping" | "created";
421
421
  driverParam: string;
422
422
  notNull: true;
423
423
  hasDefault: false;
@@ -1294,7 +1294,7 @@ declare const worktrees: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
1294
1294
  schedule?: {
1295
1295
  timezone: string;
1296
1296
  prompt_template: string;
1297
- agentic_tool: "claude-code" | "cursor" | "codex" | "gemini";
1297
+ agentic_tool: "claude-code" | "codex" | "gemini";
1298
1298
  retention: number;
1299
1299
  permission_mode?: string;
1300
1300
  model_config?: {
@@ -1351,7 +1351,7 @@ declare const worktrees: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
1351
1351
  schedule?: {
1352
1352
  timezone: string;
1353
1353
  prompt_template: string;
1354
- agentic_tool: "claude-code" | "cursor" | "codex" | "gemini";
1354
+ agentic_tool: "claude-code" | "codex" | "gemini";
1355
1355
  retention: number;
1356
1356
  permission_mode?: string;
1357
1357
  model_config?: {
@@ -1557,6 +1557,41 @@ declare const users: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
1557
1557
  GEMINI_API_KEY?: string;
1558
1558
  };
1559
1559
  env_vars?: Record<string, string>;
1560
+ default_agentic_config?: {
1561
+ "claude-code"?: {
1562
+ modelConfig?: {
1563
+ mode?: "alias" | "exact";
1564
+ model?: string;
1565
+ thinkingMode?: "auto" | "manual" | "off";
1566
+ manualThinkingTokens?: number;
1567
+ };
1568
+ permissionMode?: string;
1569
+ mcpServerIds?: string[];
1570
+ };
1571
+ codex?: {
1572
+ modelConfig?: {
1573
+ mode?: "alias" | "exact";
1574
+ model?: string;
1575
+ thinkingMode?: "auto" | "manual" | "off";
1576
+ manualThinkingTokens?: number;
1577
+ };
1578
+ permissionMode?: string;
1579
+ mcpServerIds?: string[];
1580
+ codexSandboxMode?: string;
1581
+ codexApprovalPolicy?: string;
1582
+ codexNetworkAccess?: boolean;
1583
+ };
1584
+ gemini?: {
1585
+ modelConfig?: {
1586
+ mode?: "alias" | "exact";
1587
+ model?: string;
1588
+ thinkingMode?: "auto" | "manual" | "off";
1589
+ manualThinkingTokens?: number;
1590
+ };
1591
+ permissionMode?: string;
1592
+ mcpServerIds?: string[];
1593
+ };
1594
+ };
1560
1595
  };
1561
1596
  driverParam: string;
1562
1597
  notNull: true;
@@ -1578,6 +1613,41 @@ declare const users: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
1578
1613
  GEMINI_API_KEY?: string;
1579
1614
  };
1580
1615
  env_vars?: Record<string, string>;
1616
+ default_agentic_config?: {
1617
+ "claude-code"?: {
1618
+ modelConfig?: {
1619
+ mode?: "alias" | "exact";
1620
+ model?: string;
1621
+ thinkingMode?: "auto" | "manual" | "off";
1622
+ manualThinkingTokens?: number;
1623
+ };
1624
+ permissionMode?: string;
1625
+ mcpServerIds?: string[];
1626
+ };
1627
+ codex?: {
1628
+ modelConfig?: {
1629
+ mode?: "alias" | "exact";
1630
+ model?: string;
1631
+ thinkingMode?: "auto" | "manual" | "off";
1632
+ manualThinkingTokens?: number;
1633
+ };
1634
+ permissionMode?: string;
1635
+ mcpServerIds?: string[];
1636
+ codexSandboxMode?: string;
1637
+ codexApprovalPolicy?: string;
1638
+ codexNetworkAccess?: boolean;
1639
+ };
1640
+ gemini?: {
1641
+ modelConfig?: {
1642
+ mode?: "alias" | "exact";
1643
+ model?: string;
1644
+ thinkingMode?: "auto" | "manual" | "off";
1645
+ manualThinkingTokens?: number;
1646
+ };
1647
+ permissionMode?: string;
1648
+ mcpServerIds?: string[];
1649
+ };
1650
+ };
1581
1651
  };
1582
1652
  }>;
1583
1653
  };
@@ -1,8 +1,8 @@
1
1
  import { LibSQLDatabase } from 'drizzle-orm/libsql';
2
2
  import { d as Message } from './message-Wm1fS7rs.js';
3
- import { c as CodexSandboxMode, d as CodexApprovalPolicy } from './agentic-tool-BKO8MCeP.js';
3
+ import { c as CodexSandboxMode, d as CodexApprovalPolicy } from './agentic-tool-hY49SjX4.js';
4
4
  import { d as BoardObject } from './board-ava4cdq5.js';
5
- import { a as Session, P as PermissionMode } from './session-CxdFDTYb.js';
5
+ import { a as Session, P as PermissionMode } from './session-EYs7DP3G.js';
6
6
  import { c as Task } from './task-C4bogx9k.js';
7
7
  import * as drizzle_orm_sqlite_core from 'drizzle-orm/sqlite-core';
8
8
 
@@ -94,14 +94,14 @@ declare const sessions: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
94
94
  tableName: "sessions";
95
95
  dataType: "string";
96
96
  columnType: "SQLiteText";
97
- data: "running" | "idle" | "completed" | "failed";
97
+ data: "idle" | "running" | "awaiting_permission" | "completed" | "failed";
98
98
  driverParam: string;
99
99
  notNull: true;
100
100
  hasDefault: false;
101
101
  isPrimaryKey: false;
102
102
  isAutoincrement: false;
103
103
  hasRuntimeDefault: false;
104
- enumValues: ["idle", "running", "completed", "failed"];
104
+ enumValues: ["idle", "running", "awaiting_permission", "completed", "failed"];
105
105
  baseColumn: never;
106
106
  identity: undefined;
107
107
  generated: undefined;
@@ -113,14 +113,14 @@ declare const sessions: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
113
113
  tableName: "sessions";
114
114
  dataType: "string";
115
115
  columnType: "SQLiteText";
116
- data: "claude-code" | "cursor" | "codex" | "gemini";
116
+ data: "claude-code" | "codex" | "gemini";
117
117
  driverParam: string;
118
118
  notNull: true;
119
119
  hasDefault: false;
120
120
  isPrimaryKey: false;
121
121
  isAutoincrement: false;
122
122
  hasRuntimeDefault: false;
123
- enumValues: ["claude-code", "cursor", "codex", "gemini"];
123
+ enumValues: ["claude-code", "codex", "gemini"];
124
124
  baseColumn: never;
125
125
  identity: undefined;
126
126
  generated: undefined;
@@ -417,7 +417,7 @@ declare const tasks: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
417
417
  tableName: "tasks";
418
418
  dataType: "string";
419
419
  columnType: "SQLiteText";
420
- data: "stopped" | "running" | "stopping" | "completed" | "failed" | "created" | "awaiting_permission";
420
+ data: "running" | "awaiting_permission" | "completed" | "failed" | "stopped" | "stopping" | "created";
421
421
  driverParam: string;
422
422
  notNull: true;
423
423
  hasDefault: false;
@@ -1294,7 +1294,7 @@ declare const worktrees: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
1294
1294
  schedule?: {
1295
1295
  timezone: string;
1296
1296
  prompt_template: string;
1297
- agentic_tool: "claude-code" | "cursor" | "codex" | "gemini";
1297
+ agentic_tool: "claude-code" | "codex" | "gemini";
1298
1298
  retention: number;
1299
1299
  permission_mode?: string;
1300
1300
  model_config?: {
@@ -1351,7 +1351,7 @@ declare const worktrees: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
1351
1351
  schedule?: {
1352
1352
  timezone: string;
1353
1353
  prompt_template: string;
1354
- agentic_tool: "claude-code" | "cursor" | "codex" | "gemini";
1354
+ agentic_tool: "claude-code" | "codex" | "gemini";
1355
1355
  retention: number;
1356
1356
  permission_mode?: string;
1357
1357
  model_config?: {
@@ -1557,6 +1557,41 @@ declare const users: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
1557
1557
  GEMINI_API_KEY?: string;
1558
1558
  };
1559
1559
  env_vars?: Record<string, string>;
1560
+ default_agentic_config?: {
1561
+ "claude-code"?: {
1562
+ modelConfig?: {
1563
+ mode?: "alias" | "exact";
1564
+ model?: string;
1565
+ thinkingMode?: "auto" | "manual" | "off";
1566
+ manualThinkingTokens?: number;
1567
+ };
1568
+ permissionMode?: string;
1569
+ mcpServerIds?: string[];
1570
+ };
1571
+ codex?: {
1572
+ modelConfig?: {
1573
+ mode?: "alias" | "exact";
1574
+ model?: string;
1575
+ thinkingMode?: "auto" | "manual" | "off";
1576
+ manualThinkingTokens?: number;
1577
+ };
1578
+ permissionMode?: string;
1579
+ mcpServerIds?: string[];
1580
+ codexSandboxMode?: string;
1581
+ codexApprovalPolicy?: string;
1582
+ codexNetworkAccess?: boolean;
1583
+ };
1584
+ gemini?: {
1585
+ modelConfig?: {
1586
+ mode?: "alias" | "exact";
1587
+ model?: string;
1588
+ thinkingMode?: "auto" | "manual" | "off";
1589
+ manualThinkingTokens?: number;
1590
+ };
1591
+ permissionMode?: string;
1592
+ mcpServerIds?: string[];
1593
+ };
1594
+ };
1560
1595
  };
1561
1596
  driverParam: string;
1562
1597
  notNull: true;
@@ -1578,6 +1613,41 @@ declare const users: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
1578
1613
  GEMINI_API_KEY?: string;
1579
1614
  };
1580
1615
  env_vars?: Record<string, string>;
1616
+ default_agentic_config?: {
1617
+ "claude-code"?: {
1618
+ modelConfig?: {
1619
+ mode?: "alias" | "exact";
1620
+ model?: string;
1621
+ thinkingMode?: "auto" | "manual" | "off";
1622
+ manualThinkingTokens?: number;
1623
+ };
1624
+ permissionMode?: string;
1625
+ mcpServerIds?: string[];
1626
+ };
1627
+ codex?: {
1628
+ modelConfig?: {
1629
+ mode?: "alias" | "exact";
1630
+ model?: string;
1631
+ thinkingMode?: "auto" | "manual" | "off";
1632
+ manualThinkingTokens?: number;
1633
+ };
1634
+ permissionMode?: string;
1635
+ mcpServerIds?: string[];
1636
+ codexSandboxMode?: string;
1637
+ codexApprovalPolicy?: string;
1638
+ codexNetworkAccess?: boolean;
1639
+ };
1640
+ gemini?: {
1641
+ modelConfig?: {
1642
+ mode?: "alias" | "exact";
1643
+ model?: string;
1644
+ thinkingMode?: "auto" | "manual" | "off";
1645
+ manualThinkingTokens?: number;
1646
+ };
1647
+ permissionMode?: string;
1648
+ mcpServerIds?: string[];
1649
+ };
1650
+ };
1581
1651
  };
1582
1652
  }>;
1583
1653
  };