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.
- package/dist/cli/commands/config/index.js +0 -1
- package/dist/cli/commands/session/list.js +3 -1
- package/dist/cli/commands/user/create-admin.js +3 -1
- package/dist/core/{agentic-tool-F4yIQb5n.d.cts → agentic-tool-BkgiidIe.d.cts} +20 -3
- package/dist/core/{agentic-tool-BKO8MCeP.d.ts → agentic-tool-hY49SjX4.d.ts} +20 -3
- package/dist/core/api/index.cjs +18 -3
- package/dist/core/api/index.d.cts +5 -5
- package/dist/core/api/index.d.ts +5 -5
- package/dist/core/api/index.js +18 -3
- package/dist/core/claude/index.cjs +2 -2
- package/dist/core/claude/index.js +2 -2
- package/dist/core/{client-B7p2_7Ut.d.cts → client-BeMnWEfJ.d.cts} +79 -9
- package/dist/core/{client-CklMhh5V.d.ts → client-WZqLuIZg.d.ts} +79 -9
- package/dist/core/config/browser.cjs +119 -1
- package/dist/core/config/browser.d.cts +126 -6
- package/dist/core/config/browser.d.ts +126 -6
- package/dist/core/config/browser.js +113 -1
- package/dist/core/config/index.cjs +117 -104
- package/dist/core/config/index.d.cts +7 -117
- package/dist/core/config/index.d.ts +7 -117
- package/dist/core/config/index.js +116 -104
- package/dist/core/db/index.cjs +25 -10
- package/dist/core/db/index.d.cts +8 -8
- package/dist/core/db/index.d.ts +8 -8
- package/dist/core/db/index.js +25 -10
- package/dist/core/drizzle/0001_complex_the_call.sql +10 -0
- package/dist/core/environment/variable-resolver.d.cts +1 -1
- package/dist/core/environment/variable-resolver.d.ts +1 -1
- package/dist/core/git/index.cjs +5 -7
- package/dist/core/git/index.d.cts +3 -0
- package/dist/core/git/index.d.ts +3 -0
- package/dist/core/git/index.js +3 -6
- package/dist/core/index.cjs +147 -120
- package/dist/core/index.d.cts +9 -8
- package/dist/core/index.d.ts +9 -8
- package/dist/core/index.js +145 -120
- package/dist/core/package.json +5 -0
- package/dist/core/{repo-Da9KZn56.d.cts → repo-Cb002or9.d.cts} +1 -1
- package/dist/core/{repo-DU_q1nOJ.d.ts → repo-mJfbv6xB.d.ts} +1 -1
- package/dist/core/{session-CxdFDTYb.d.ts → session-EYs7DP3G.d.ts} +6 -3
- package/dist/core/{session-BiQr29HO.d.cts → session-j-skJz_m.d.cts} +6 -3
- package/dist/core/tools/index.cjs +52 -14
- package/dist/core/tools/index.d.cts +10 -9
- package/dist/core/tools/index.d.ts +10 -9
- package/dist/core/tools/index.js +52 -14
- package/dist/core/types/index.cjs +1 -0
- package/dist/core/types/index.d.cts +5 -5
- package/dist/core/types/index.d.ts +5 -5
- package/dist/core/types/index.js +1 -0
- package/dist/core/user-DB3ViAaB.d.ts +104 -0
- package/dist/core/user-DBq-aJq5.d.cts +104 -0
- package/dist/core/utils/errors.cjs +100 -0
- package/dist/core/utils/errors.d.cts +51 -0
- package/dist/core/utils/errors.d.ts +51 -0
- package/dist/core/utils/errors.js +69 -0
- package/dist/core/utils/permission-mode-mapper.cjs +0 -1
- package/dist/core/utils/permission-mode-mapper.d.cts +2 -2
- package/dist/core/utils/permission-mode-mapper.d.ts +2 -2
- package/dist/core/utils/permission-mode-mapper.js +0 -1
- package/dist/core/utils/pricing.cjs +0 -11
- package/dist/core/utils/pricing.d.cts +1 -1
- package/dist/core/utils/pricing.d.ts +1 -1
- package/dist/core/utils/pricing.js +0 -11
- package/dist/core/{worktrees-BEIruvGs.d.cts → worktrees-BmxS9Cbv.d.cts} +8 -4
- package/dist/core/{worktrees-Dv8M5-3U.d.ts → worktrees-_SyzlCFc.d.ts} +8 -4
- package/dist/daemon/adapters/drizzle.js +0 -1
- package/dist/daemon/index.js +89 -25
- package/dist/daemon/mcp/routes.js +3 -3
- package/dist/daemon/services/board-comments.js +0 -1
- package/dist/daemon/services/boards.js +0 -1
- package/dist/daemon/services/config.js +1 -2
- package/dist/daemon/services/files.d.ts +44 -0
- package/dist/daemon/services/files.js +51 -0
- package/dist/daemon/services/mcp-servers.js +0 -1
- package/dist/daemon/services/messages.js +0 -1
- package/dist/daemon/services/repos.js +0 -1
- package/dist/daemon/services/scheduler.js +1 -1
- package/dist/daemon/services/sessions.js +0 -1
- package/dist/daemon/services/tasks.js +0 -1
- package/dist/daemon/services/users.d.ts +3 -8
- package/dist/daemon/services/users.js +6 -3
- package/dist/daemon/services/worktrees.d.ts +6 -0
- package/dist/daemon/services/worktrees.js +13 -2
- package/dist/ui/assets/index-CEucdq9r.js +623 -0
- package/dist/ui/index.html +1 -1
- package/package.json +2 -2
- package/dist/core/user-CS2VnSS6.d.ts +0 -62
- package/dist/core/user-iMPpW1iA.d.cts +0 -62
- package/dist/ui/assets/cursor-BUy5pFVL.png +0 -0
- 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", "
|
|
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' | '
|
|
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' | '
|
|
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 };
|
package/dist/core/api/index.cjs
CHANGED
|
@@ -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
|
-
|
|
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 =
|
|
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 =
|
|
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 {
|
|
7
|
-
import { a as Repo, c as Worktree } from '../repo-
|
|
8
|
-
import { a as Session } from '../session-
|
|
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-
|
|
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
|
|
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
|
package/dist/core/api/index.d.ts
CHANGED
|
@@ -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 {
|
|
7
|
-
import { a as Repo, c as Worktree } from '../repo-
|
|
8
|
-
import { a as Session } from '../session-
|
|
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-
|
|
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
|
|
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
|
package/dist/core/api/index.js
CHANGED
|
@@ -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
|
-
|
|
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 =
|
|
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 =
|
|
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", "
|
|
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", "
|
|
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-
|
|
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-
|
|
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" | "
|
|
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" | "
|
|
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", "
|
|
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: "
|
|
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" | "
|
|
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" | "
|
|
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-
|
|
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-
|
|
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" | "
|
|
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" | "
|
|
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", "
|
|
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: "
|
|
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" | "
|
|
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" | "
|
|
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
|
};
|