@minimalcorp/tsunagi 0.3.2 → 0.4.0
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/.next/standalone/apps/web/.next/BUILD_ID +1 -1
- package/.next/standalone/apps/web/.next/build-manifest.json +3 -3
- package/.next/standalone/apps/web/.next/prerender-manifest.json +3 -3
- package/.next/standalone/apps/web/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/apps/web/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/apps/web/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/apps/web/.next/server/app/_not-found.rsc +2 -2
- package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/apps/web/.next/server/app/index.html +1 -1
- package/.next/standalone/apps/web/.next/server/app/index.rsc +3 -3
- package/.next/standalone/apps/web/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/apps/web/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/.next/standalone/apps/web/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/.next/standalone/apps/web/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/apps/web/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/apps/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/apps/web/.next/server/app/settings/page.js.nft.json +1 -1
- package/.next/standalone/apps/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/apps/web/.next/server/app/settings.html +1 -1
- package/.next/standalone/apps/web/.next/server/app/settings.rsc +3 -3
- package/.next/standalone/apps/web/.next/server/app/settings.segments/_full.segment.rsc +3 -3
- package/.next/standalone/apps/web/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/settings.segments/_index.segment.rsc +2 -2
- package/.next/standalone/apps/web/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/apps/web/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/apps/web/.next/server/app/settings.segments/settings.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/tasks/[id]/page.js.nft.json +1 -1
- package/.next/standalone/apps/web/.next/server/app/tasks/[id]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/_05n88to._.js +3 -0
- package/.next/standalone/apps/web/.next/server/chunks/ssr/_0g.cd6a._.js +2 -2
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{_0kflgfj._.js → _0pw3_r_._.js} +3 -3
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{_0g79jqo._.js → _0rb6-mo._.js} +3 -3
- package/.next/standalone/apps/web/.next/server/chunks/ssr/_0ts4rpp._.js +3 -0
- package/.next/standalone/apps/web/.next/server/chunks/ssr/apps_web_src_app_settings_page_tsx_0i6itlb._.js +2 -2
- package/.next/standalone/apps/web/.next/server/chunks/ssr/apps_web_src_app_tasks_[id]_page_tsx_0jshsm2._.js +3 -3
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_04pfam-._.js → node_modules_03-rvdo._.js} +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0cv326~._.js → node_modules_06jdmu~._.js} +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0a57phw._.js → node_modules_0925te2._.js} +2 -2
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0_huoqd._.js → node_modules_0e8uni7._.js} +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0tod6y8._.js → node_modules_0h4h_aw._.js} +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0h.vgyn._.js → node_modules_0nzbb9~._.js} +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0oip5a1._.js → node_modules_0q8yuvq._.js} +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_11-z65a._.js → node_modules_0r6t2tu._.js} +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_09d2oqj._.js → node_modules_0t6ysh_._.js} +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0krwgny._.js → node_modules_0vj~e_v._.js} +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0sn0lqb._.js → node_modules_0vq~hzy._.js} +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0l23gkf._.js → node_modules_0xzmx-x._.js} +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0npujym._.js → node_modules_0yb2sh9._.js} +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0q_5qo~._.js → node_modules_0yc~s8p._.js} +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0q_xfyl._.js → node_modules_0zi-gfw._.js} +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0ak_3rk._.js → node_modules_0zzdoud._.js} +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0xp9nhx._.js → node_modules_0~aiu12._.js} +1 -1
- package/.next/standalone/apps/web/.next/server/middleware-build-manifest.js +3 -3
- package/.next/standalone/apps/web/.next/server/pages/404.html +1 -1
- package/.next/standalone/apps/web/.next/server/pages/500.html +1 -1
- package/.next/standalone/apps/web/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/apps/web/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/apps/web/.next/static/chunks/09b_3duxnyfto.js +7 -0
- package/.next/standalone/apps/web/.next/static/chunks/{0z60ewb40i2ce.js → 0gxhy80~c0gvp.js} +1 -1
- package/.next/standalone/apps/web/.next/static/chunks/0i9h-39w91ybd.js +6 -0
- package/.next/standalone/apps/web/.next/static/chunks/{0b90ys7wq-p.4.css → 0pm0knaijueoc.css} +1 -1
- package/.next/standalone/apps/web/.next/static/chunks/{16cbfrtkn0.kw.js → 0smdykrt42e.5.js} +10 -10
- package/.next/standalone/apps/web/.next/static/chunks/{149sia28cskw9.js → 0yp~t_.pozr-d.js} +6 -6
- package/.next/standalone/apps/web/.next/static/chunks/{0o6ggm7jrim25.js → 14zh2vf8ljbxo.js} +1 -1
- package/.next/standalone/apps/web/.next/static/chunks/{06yhoqamnoyq-.js → 1624992q-gpj2.js} +10 -10
- package/.next/standalone/apps/web/package.json +1 -0
- package/README.md +1 -1
- package/dist/app.js +3 -3
- package/dist/plugin-lifecycle.d.ts +5 -3
- package/dist/plugin-lifecycle.js +40 -16
- package/dist/prisma/migrations/20261011000000_add_codex_support/migration.sql +20 -0
- package/dist/prisma/schema.prisma +9 -5
- package/dist/server/generated/prisma/browser.d.ts +2 -2
- package/dist/server/generated/prisma/client.d.ts +2 -2
- package/dist/server/generated/prisma/internal/class.d.ts +4 -4
- package/dist/server/generated/prisma/internal/class.js +4 -4
- package/dist/server/generated/prisma/internal/prismaNamespace.d.ts +41 -39
- package/dist/server/generated/prisma/internal/prismaNamespace.js +4 -2
- package/dist/server/generated/prisma/internal/prismaNamespaceBrowser.d.ts +5 -3
- package/dist/server/generated/prisma/internal/prismaNamespaceBrowser.js +4 -2
- package/dist/server/generated/prisma/models/AgentProfile.d.ts +972 -0
- package/dist/server/generated/prisma/models/Tab.d.ts +36 -1
- package/dist/server/generated/prisma/models.d.ts +1 -1
- package/dist/server/index.js +2 -2
- package/dist/server/lib/agent-profiles.d.ts +43 -0
- package/dist/server/lib/agent-profiles.js +127 -0
- package/dist/server/lib/agents/claude.d.ts +2 -0
- package/dist/server/lib/agents/claude.js +130 -0
- package/dist/server/lib/agents/cli.d.ts +14 -0
- package/dist/server/lib/agents/cli.js +57 -0
- package/dist/server/lib/agents/codex.d.ts +2 -0
- package/dist/server/lib/agents/codex.js +285 -0
- package/dist/server/lib/agents/index.d.ts +11 -0
- package/dist/server/lib/agents/index.js +19 -0
- package/dist/server/lib/agents/login-callback.d.ts +11 -0
- package/dist/server/lib/agents/login-callback.js +47 -0
- package/dist/server/lib/agents/types.d.ts +77 -0
- package/dist/server/lib/agents/types.js +8 -0
- package/dist/server/lib/pty-env-sync.js +1 -1
- package/dist/server/lib/pty-launch.d.ts +8 -10
- package/dist/server/lib/pty-launch.js +20 -58
- package/dist/server/lib/repositories/task.js +1 -0
- package/dist/server/lib/tab-todos.d.ts +5 -0
- package/dist/server/lib/tab-todos.js +13 -0
- package/dist/server/pty-manager.d.ts +19 -2
- package/dist/server/pty-manager.js +38 -0
- package/dist/server/routes/agent-profiles.d.ts +2 -0
- package/dist/server/routes/agent-profiles.js +193 -0
- package/dist/server/routes/env.js +2 -2
- package/dist/server/routes/hooks.d.ts +4 -19
- package/dist/server/routes/hooks.js +83 -73
- package/dist/server/routes/mcp.js +2 -2
- package/dist/server/routes/onboarding.js +19 -10
- package/dist/server/routes/tasks.js +4 -4
- package/dist/server/routes/terminal.js +84 -37
- package/dist/with-plugin.js +3 -3
- package/npm-shrinkwrap.json +31 -31
- package/package.json +1 -1
- package/tsunagi-marketplace/codex/tsunagi-task.md +120 -0
- package/.next/standalone/apps/web/.next/server/chunks/ssr/_0hnxatt._.js +0 -3
- package/.next/standalone/apps/web/.next/server/chunks/ssr/_10gk93.._.js +0 -3
- package/.next/standalone/apps/web/.next/static/chunks/0crn03y2tj0lu.js +0 -6
- package/.next/standalone/apps/web/.next/static/chunks/0lvl3ec93cab_.js +0 -7
- package/dist/server/generated/prisma/models/ClaudeProfile.d.ts +0 -939
- package/dist/server/lib/claude-profiles.d.ts +0 -49
- package/dist/server/lib/claude-profiles.js +0 -168
- package/dist/server/routes/claude-profiles.d.ts +0 -2
- package/dist/server/routes/claude-profiles.js +0 -138
- /package/.next/standalone/apps/web/.next/static/{kCD_Mhp9UYT63vnxJPuK4 → ZcOuTrikuO_ZLaERk7FsW}/_buildManifest.js +0 -0
- /package/.next/standalone/apps/web/.next/static/{kCD_Mhp9UYT63vnxJPuK4 → ZcOuTrikuO_ZLaERk7FsW}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/apps/web/.next/static/{kCD_Mhp9UYT63vnxJPuK4 → ZcOuTrikuO_ZLaERk7FsW}/_ssgManifest.js +0 -0
- /package/dist/server/generated/prisma/models/{ClaudeProfile.js → AgentProfile.js} +0 -0
package/README.md
CHANGED
|
@@ -139,7 +139,7 @@ tsunagi/
|
|
|
139
139
|
|
|
140
140
|
- **Node.js ≥ 20**
|
|
141
141
|
- **Git ≥ 2.42**(空リポジトリを扱うため `git worktree add --orphan` を使用)
|
|
142
|
-
- **Claude Code CLI**(`claude`
|
|
142
|
+
- **Claude Code CLI**(`claude` ≥ 2.1.280)または **Codex CLI**(`codex` ≥ 0.162.0)のどちらか(PATH 上に必要)
|
|
143
143
|
|
|
144
144
|
## ライセンス
|
|
145
145
|
|
package/dist/app.js
CHANGED
|
@@ -4,7 +4,7 @@ import * as http from 'node:http';
|
|
|
4
4
|
import * as path from 'node:path';
|
|
5
5
|
import { fileURLToPath } from 'node:url';
|
|
6
6
|
import openBrowser from 'open';
|
|
7
|
-
import {
|
|
7
|
+
import { assertAgentCliAvailable, getPluginDir, removeLegacyPluginInstall, } from './plugin-lifecycle.js';
|
|
8
8
|
import { isAutoUpdateEnabled, isEntryOutdated, removeVersionsOlderThan, snapshotDbBeforeFirstStart, waitForPortsFree, } from './update-lifecycle.js';
|
|
9
9
|
import { RESTART_EXIT_CODE } from './versions.js';
|
|
10
10
|
/**
|
|
@@ -130,8 +130,8 @@ runAutoMigrate();
|
|
|
130
130
|
// ---------------------------------------------------------------------------
|
|
131
131
|
// Phase 2: Plugin lifecycle
|
|
132
132
|
// ---------------------------------------------------------------------------
|
|
133
|
-
|
|
134
|
-
removeLegacyPluginInstall();
|
|
133
|
+
if (assertAgentCliAvailable().claude)
|
|
134
|
+
removeLegacyPluginInstall();
|
|
135
135
|
// ---------------------------------------------------------------------------
|
|
136
136
|
// Docs static file server
|
|
137
137
|
// ---------------------------------------------------------------------------
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
/** PTY の CLAUDE_CODE_PLUGIN_DIRS に渡すプラグインのディレクトリ(絶対パス) */
|
|
2
2
|
export declare function getPluginDir(): string;
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* 使えるエージェント CLI(claude / codex)を確認する。どちらも使えなければ code 1 で終了する。
|
|
5
|
+
* 戻り値は claude が使えるか(旧プラグインの掃除は claude があるときだけ行う)。
|
|
6
6
|
*/
|
|
7
|
-
export declare function
|
|
7
|
+
export declare function assertAgentCliAvailable(): {
|
|
8
|
+
claude: boolean;
|
|
9
|
+
};
|
|
8
10
|
/**
|
|
9
11
|
* Remove the user-scope plugin / marketplace registered by older tsunagi
|
|
10
12
|
* versions. Runs once; a marker file in the state dir records completion.
|
package/dist/plugin-lifecycle.js
CHANGED
|
@@ -38,10 +38,12 @@ function debugLog(msg) {
|
|
|
38
38
|
export function getPluginDir() {
|
|
39
39
|
return path.resolve(THIS_DIR, '..', MARKETPLACE_NAME, 'plugins', PLUGIN_NAME);
|
|
40
40
|
}
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
// tsunagi が使う `-c` キー(hooks / hooks.state / tools.update_plan 等)を確認したバージョン
|
|
42
|
+
const MIN_CODEX_VERSION = [0, 162, 0];
|
|
43
|
+
/** `<cli> --version` の出力(例: "2.1.292 (Claude Code)" / "codex-cli 0.162.1")から x.y.z を取り出す */
|
|
44
|
+
function getCliVersion(cli) {
|
|
43
45
|
try {
|
|
44
|
-
const output = execSync(
|
|
46
|
+
const output = execSync(`${cli} --version`, { stdio: 'pipe' }).toString();
|
|
45
47
|
const match = /(\d+)\.(\d+)\.(\d+)/.exec(output);
|
|
46
48
|
return match ? match.slice(1).map(Number) : null;
|
|
47
49
|
}
|
|
@@ -56,24 +58,46 @@ function isAtLeast(version, min) {
|
|
|
56
58
|
}
|
|
57
59
|
return true;
|
|
58
60
|
}
|
|
61
|
+
function checkCli(cli, min) {
|
|
62
|
+
const version = getCliVersion(cli);
|
|
63
|
+
if (!version)
|
|
64
|
+
return { status: 'missing' };
|
|
65
|
+
return isAtLeast(version, min)
|
|
66
|
+
? { status: 'ok', version: version.join('.') }
|
|
67
|
+
: { status: 'outdated', version: version.join('.') };
|
|
68
|
+
}
|
|
59
69
|
/**
|
|
60
|
-
*
|
|
61
|
-
*
|
|
70
|
+
* 使えるエージェント CLI(claude / codex)を確認する。どちらも使えなければ code 1 で終了する。
|
|
71
|
+
* 戻り値は claude が使えるか(旧プラグインの掃除は claude があるときだけ行う)。
|
|
62
72
|
*/
|
|
63
|
-
export function
|
|
64
|
-
const
|
|
65
|
-
const
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
73
|
+
export function assertAgentCliAvailable() {
|
|
74
|
+
const claude = checkCli('claude', MIN_CLAUDE_VERSION);
|
|
75
|
+
const codex = checkCli('codex', MIN_CODEX_VERSION);
|
|
76
|
+
const claudeMin = MIN_CLAUDE_VERSION.join('.');
|
|
77
|
+
const codexMin = MIN_CODEX_VERSION.join('.');
|
|
78
|
+
if (claude.status === 'ok')
|
|
79
|
+
debugLog(`Claude Code ${claude.version}`);
|
|
80
|
+
if (codex.status === 'ok')
|
|
81
|
+
debugLog(`Codex ${codex.version}`);
|
|
82
|
+
if (claude.status !== 'ok' && codex.status !== 'ok') {
|
|
83
|
+
console.error('[tsunagi:plugin] No supported coding agent CLI found.');
|
|
84
|
+
if (claude.status === 'outdated') {
|
|
85
|
+
console.error(`[tsunagi:plugin] Claude Code ${claude.version} is too old (requires ${claudeMin}+). Run \`claude update\`.`);
|
|
86
|
+
}
|
|
87
|
+
if (codex.status === 'outdated') {
|
|
88
|
+
console.error(`[tsunagi:plugin] Codex ${codex.version} is too old (requires ${codexMin}+). Update the \`codex\` CLI.`);
|
|
89
|
+
}
|
|
90
|
+
console.error('[tsunagi:plugin] Install `claude` (Claude Code) or `codex` (Codex CLI) and make sure it is on PATH.');
|
|
69
91
|
process.exit(1);
|
|
70
92
|
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
console.
|
|
74
|
-
|
|
93
|
+
// 片方だけ古い場合は起動を続け、そのエージェントのタブだけ使えない旨を出す
|
|
94
|
+
if (claude.status === 'outdated') {
|
|
95
|
+
console.warn(`[tsunagi:plugin] Claude Code ${claude.version} is too old (requires ${claudeMin}+). Claude tabs will not work until you run \`claude update\`.`);
|
|
96
|
+
}
|
|
97
|
+
if (codex.status === 'outdated') {
|
|
98
|
+
console.warn(`[tsunagi:plugin] Codex ${codex.version} is too old (requires ${codexMin}+). Codex tabs will not work until you update it.`);
|
|
75
99
|
}
|
|
76
|
-
|
|
100
|
+
return { claude: claude.status === 'ok' };
|
|
77
101
|
}
|
|
78
102
|
/**
|
|
79
103
|
* Run a `claude` CLI command. Returns true on success, false on failure.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
-- AlterTable
|
|
2
|
+
-- エージェント側のセッションID(Codex の thread id)。resume に使う
|
|
3
|
+
ALTER TABLE "tabs" ADD COLUMN "agent_session_id" TEXT;
|
|
4
|
+
|
|
5
|
+
-- CreateTable
|
|
6
|
+
-- Claude 専用だったプロファイルをエージェントごとに一般化する(既存行は claude として移行)
|
|
7
|
+
CREATE TABLE "agent_profiles" (
|
|
8
|
+
"agent" TEXT NOT NULL,
|
|
9
|
+
"slug" TEXT NOT NULL,
|
|
10
|
+
"name" TEXT NOT NULL,
|
|
11
|
+
"created_at" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
12
|
+
|
|
13
|
+
PRIMARY KEY ("agent", "slug")
|
|
14
|
+
);
|
|
15
|
+
|
|
16
|
+
INSERT INTO "agent_profiles" ("agent", "slug", "name", "created_at")
|
|
17
|
+
SELECT 'claude', "slug", "name", "created_at" FROM "claude_profiles";
|
|
18
|
+
|
|
19
|
+
-- DropTable
|
|
20
|
+
DROP TABLE "claude_profiles";
|
|
@@ -59,13 +59,15 @@ model Tab {
|
|
|
59
59
|
taskId String @map("task_id")
|
|
60
60
|
order Int // タブ表示用の連番
|
|
61
61
|
status String // 'idle' | 'running' | 'success' | 'error'
|
|
62
|
-
mode String @default("claude") // 'terminal' | 'claude' | 'local'(local: ローカルLLMで起動するclaude。旧 'ollama' / 'lmstudio' も local 扱い)
|
|
62
|
+
mode String @default("claude") // 'terminal' | 'claude' | 'codex' | 'local'(local: ローカルLLMで起動するclaude。旧 'ollama' / 'lmstudio' も local 扱い)
|
|
63
63
|
createdAt DateTime @default(now()) @map("created_at")
|
|
64
64
|
startedAt DateTime @map("started_at")
|
|
65
65
|
completedAt DateTime? @map("completed_at")
|
|
66
66
|
todos String? @default("[]") // JSON: Todo[]
|
|
67
67
|
// 完了(success/error)したがタスク詳細で未確認であることを示す。詳細を開くとfalseになる
|
|
68
68
|
unread Boolean @default(false)
|
|
69
|
+
// エージェント側のセッションID(タブIDと別の ID を振るエージェントのみ。Codex の thread id)。resume に使う
|
|
70
|
+
agentSessionId String? @map("agent_session_id")
|
|
69
71
|
updatedAt DateTime @updatedAt @map("updated_at")
|
|
70
72
|
|
|
71
73
|
task Task @relation(fields: [taskId], references: [id], onDelete: Cascade)
|
|
@@ -93,13 +95,15 @@ model EnvironmentVariable {
|
|
|
93
95
|
@@map("environment_variables")
|
|
94
96
|
}
|
|
95
97
|
|
|
96
|
-
//
|
|
97
|
-
model
|
|
98
|
-
|
|
98
|
+
// エージェントのプロファイル。実体は ~/.tsunagi/<agent>-profiles/<slug>/(Claude: CLAUDE_CONFIG_DIR / Codex: CODEX_HOME)
|
|
99
|
+
model AgentProfile {
|
|
100
|
+
agent String // 'claude' | 'codex'
|
|
101
|
+
slug String
|
|
99
102
|
name String
|
|
100
103
|
createdAt DateTime @default(now()) @map("created_at")
|
|
101
104
|
|
|
102
|
-
@@
|
|
105
|
+
@@id([agent, slug])
|
|
106
|
+
@@map("agent_profiles")
|
|
103
107
|
}
|
|
104
108
|
|
|
105
109
|
// AppSetting - アプリ全体の設定(key単位でJSONを保存)
|
|
@@ -23,10 +23,10 @@ export type Tab = Prisma.TabModel;
|
|
|
23
23
|
*/
|
|
24
24
|
export type EnvironmentVariable = Prisma.EnvironmentVariableModel;
|
|
25
25
|
/**
|
|
26
|
-
* Model
|
|
26
|
+
* Model AgentProfile
|
|
27
27
|
*
|
|
28
28
|
*/
|
|
29
|
-
export type
|
|
29
|
+
export type AgentProfile = Prisma.AgentProfileModel;
|
|
30
30
|
/**
|
|
31
31
|
* Model AppSetting
|
|
32
32
|
*
|
|
@@ -42,10 +42,10 @@ export type Tab = Prisma.TabModel;
|
|
|
42
42
|
*/
|
|
43
43
|
export type EnvironmentVariable = Prisma.EnvironmentVariableModel;
|
|
44
44
|
/**
|
|
45
|
-
* Model
|
|
45
|
+
* Model AgentProfile
|
|
46
46
|
*
|
|
47
47
|
*/
|
|
48
|
-
export type
|
|
48
|
+
export type AgentProfile = Prisma.AgentProfileModel;
|
|
49
49
|
/**
|
|
50
50
|
* Model AppSetting
|
|
51
51
|
*
|
|
@@ -160,14 +160,14 @@ export interface PrismaClient<in LogOpts extends Prisma.LogLevel = never, in out
|
|
|
160
160
|
omit: OmitOpts;
|
|
161
161
|
}>;
|
|
162
162
|
/**
|
|
163
|
-
* `prisma.
|
|
163
|
+
* `prisma.agentProfile`: Exposes CRUD operations for the **AgentProfile** model.
|
|
164
164
|
* Example usage:
|
|
165
165
|
* ```ts
|
|
166
|
-
* // Fetch zero or more
|
|
167
|
-
* const
|
|
166
|
+
* // Fetch zero or more AgentProfiles
|
|
167
|
+
* const agentProfiles = await prisma.agentProfile.findMany()
|
|
168
168
|
* ```
|
|
169
169
|
*/
|
|
170
|
-
get
|
|
170
|
+
get agentProfile(): Prisma.AgentProfileDelegate<ExtArgs, {
|
|
171
171
|
omit: OmitOpts;
|
|
172
172
|
}>;
|
|
173
173
|
/**
|
|
@@ -15,7 +15,7 @@ const config = {
|
|
|
15
15
|
"clientVersion": "7.6.0",
|
|
16
16
|
"engineVersion": "75cbdc1eb7150937890ad5465d861175c6624711",
|
|
17
17
|
"activeProvider": "sqlite",
|
|
18
|
-
"inlineSchema": "generator client {\n provider = \"prisma-client\"\n output = \"../src/generated/prisma\"\n}\n\ndatasource db {\n provider = \"sqlite\"\n}\n\n// Repository\nmodel Repository {\n id String @id @default(uuid())\n owner String\n repo String\n cloneUrl String @map(\"clone_url\")\n order Int @default(0)\n createdAt DateTime @default(now()) @map(\"created_at\")\n\n tasks Task[]\n environmentVars EnvironmentVariable[]\n\n @@unique([owner, repo])\n @@map(\"repositories\")\n}\n\n// Task\nmodel Task {\n id String @id @default(uuid())\n title String\n description String\n status String // 'backlog' | 'planning' | 'coding' | 'reviewing' | 'done'\n owner String\n repo String\n branch String\n baseBranch String @map(\"base_branch\") // rebase/merge判定用のベースブランチ\n repoId String @map(\"repo_id\")\n\n // Pull Request情報\n pullRequestUrl String? @map(\"pull_request_url\")\n\n effort Int?\n order Int @default(0)\n deletedAt DateTime? @map(\"deleted_at\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n\n repository Repository @relation(fields: [repoId], references: [id], onDelete: Cascade)\n tabs Tab[]\n\n @@index([owner, repo])\n @@index([status])\n @@index([deletedAt])\n @@map(\"tasks\")\n}\n\n// Tab\nmodel Tab {\n tabId
|
|
18
|
+
"inlineSchema": "generator client {\n provider = \"prisma-client\"\n output = \"../src/generated/prisma\"\n}\n\ndatasource db {\n provider = \"sqlite\"\n}\n\n// Repository\nmodel Repository {\n id String @id @default(uuid())\n owner String\n repo String\n cloneUrl String @map(\"clone_url\")\n order Int @default(0)\n createdAt DateTime @default(now()) @map(\"created_at\")\n\n tasks Task[]\n environmentVars EnvironmentVariable[]\n\n @@unique([owner, repo])\n @@map(\"repositories\")\n}\n\n// Task\nmodel Task {\n id String @id @default(uuid())\n title String\n description String\n status String // 'backlog' | 'planning' | 'coding' | 'reviewing' | 'done'\n owner String\n repo String\n branch String\n baseBranch String @map(\"base_branch\") // rebase/merge判定用のベースブランチ\n repoId String @map(\"repo_id\")\n\n // Pull Request情報\n pullRequestUrl String? @map(\"pull_request_url\")\n\n effort Int?\n order Int @default(0)\n deletedAt DateTime? @map(\"deleted_at\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n\n repository Repository @relation(fields: [repoId], references: [id], onDelete: Cascade)\n tabs Tab[]\n\n @@index([owner, repo])\n @@index([status])\n @@index([deletedAt])\n @@map(\"tasks\")\n}\n\n// Tab\nmodel Tab {\n tabId String @id @map(\"tab_id\")\n taskId String @map(\"task_id\")\n order Int // タブ表示用の連番\n status String // 'idle' | 'running' | 'success' | 'error'\n mode String @default(\"claude\") // 'terminal' | 'claude' | 'codex' | 'local'(local: ローカルLLMで起動するclaude。旧 'ollama' / 'lmstudio' も local 扱い)\n createdAt DateTime @default(now()) @map(\"created_at\")\n startedAt DateTime @map(\"started_at\")\n completedAt DateTime? @map(\"completed_at\")\n todos String? @default(\"[]\") // JSON: Todo[]\n // 完了(success/error)したがタスク詳細で未確認であることを示す。詳細を開くとfalseになる\n unread Boolean @default(false)\n // エージェント側のセッションID(タブIDと別の ID を振るエージェントのみ。Codex の thread id)。resume に使う\n agentSessionId String? @map(\"agent_session_id\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n\n task Task @relation(fields: [taskId], references: [id], onDelete: Cascade)\n\n @@index([taskId])\n @@map(\"tabs\")\n}\n\n// EnvironmentVariable\nmodel EnvironmentVariable {\n id String @id @default(uuid())\n key String\n value String\n scope String // 'global' | 'owner' | 'repo' - 階層構造の優先順位制御\n owner String?\n repo String?\n enabled Boolean @default(true)\n createdAt DateTime @default(now()) @map(\"created_at\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n\n repository Repository? @relation(fields: [owner, repo], references: [owner, repo], onDelete: Cascade)\n\n @@unique([key, scope, owner, repo])\n @@index([scope, owner, repo])\n @@map(\"environment_variables\")\n}\n\n// エージェントのプロファイル。実体は ~/.tsunagi/<agent>-profiles/<slug>/(Claude: CLAUDE_CONFIG_DIR / Codex: CODEX_HOME)\nmodel AgentProfile {\n agent String // 'claude' | 'codex'\n slug String\n name String\n createdAt DateTime @default(now()) @map(\"created_at\")\n\n @@id([agent, slug])\n @@map(\"agent_profiles\")\n}\n\n// AppSetting - アプリ全体の設定(key単位でJSONを保存)\nmodel AppSetting {\n key String @id\n value String // JSON\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n\n @@map(\"app_settings\")\n}\n",
|
|
19
19
|
"runtimeDataModel": {
|
|
20
20
|
"models": {},
|
|
21
21
|
"enums": {},
|
|
@@ -26,10 +26,10 @@ const config = {
|
|
|
26
26
|
"graph": ""
|
|
27
27
|
}
|
|
28
28
|
};
|
|
29
|
-
config.runtimeDataModel = JSON.parse("{\"models\":{\"Repository\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"owner\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"repo\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"cloneUrl\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"clone_url\"},{\"name\":\"order\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\",\"dbName\":\"created_at\"},{\"name\":\"tasks\",\"kind\":\"object\",\"type\":\"Task\",\"relationName\":\"RepositoryToTask\"},{\"name\":\"environmentVars\",\"kind\":\"object\",\"type\":\"EnvironmentVariable\",\"relationName\":\"EnvironmentVariableToRepository\"}],\"dbName\":\"repositories\"},\"Task\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"owner\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"repo\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"branch\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"baseBranch\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"base_branch\"},{\"name\":\"repoId\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"repo_id\"},{\"name\":\"pullRequestUrl\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"pull_request_url\"},{\"name\":\"effort\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"order\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"deletedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\",\"dbName\":\"deleted_at\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\",\"dbName\":\"created_at\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\",\"dbName\":\"updated_at\"},{\"name\":\"repository\",\"kind\":\"object\",\"type\":\"Repository\",\"relationName\":\"RepositoryToTask\"},{\"name\":\"tabs\",\"kind\":\"object\",\"type\":\"Tab\",\"relationName\":\"TabToTask\"}],\"dbName\":\"tasks\"},\"Tab\":{\"fields\":[{\"name\":\"tabId\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"tab_id\"},{\"name\":\"taskId\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"task_id\"},{\"name\":\"order\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mode\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\",\"dbName\":\"created_at\"},{\"name\":\"startedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\",\"dbName\":\"started_at\"},{\"name\":\"completedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\",\"dbName\":\"completed_at\"},{\"name\":\"todos\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"unread\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\",\"dbName\":\"updated_at\"},{\"name\":\"task\",\"kind\":\"object\",\"type\":\"Task\",\"relationName\":\"TabToTask\"}],\"dbName\":\"tabs\"},\"EnvironmentVariable\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"key\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"value\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scope\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"owner\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"repo\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"enabled\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\",\"dbName\":\"created_at\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\",\"dbName\":\"updated_at\"},{\"name\":\"repository\",\"kind\":\"object\",\"type\":\"Repository\",\"relationName\":\"EnvironmentVariableToRepository\"}],\"dbName\":\"environment_variables\"},\"
|
|
29
|
+
config.runtimeDataModel = JSON.parse("{\"models\":{\"Repository\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"owner\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"repo\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"cloneUrl\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"clone_url\"},{\"name\":\"order\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\",\"dbName\":\"created_at\"},{\"name\":\"tasks\",\"kind\":\"object\",\"type\":\"Task\",\"relationName\":\"RepositoryToTask\"},{\"name\":\"environmentVars\",\"kind\":\"object\",\"type\":\"EnvironmentVariable\",\"relationName\":\"EnvironmentVariableToRepository\"}],\"dbName\":\"repositories\"},\"Task\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"owner\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"repo\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"branch\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"baseBranch\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"base_branch\"},{\"name\":\"repoId\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"repo_id\"},{\"name\":\"pullRequestUrl\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"pull_request_url\"},{\"name\":\"effort\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"order\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"deletedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\",\"dbName\":\"deleted_at\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\",\"dbName\":\"created_at\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\",\"dbName\":\"updated_at\"},{\"name\":\"repository\",\"kind\":\"object\",\"type\":\"Repository\",\"relationName\":\"RepositoryToTask\"},{\"name\":\"tabs\",\"kind\":\"object\",\"type\":\"Tab\",\"relationName\":\"TabToTask\"}],\"dbName\":\"tasks\"},\"Tab\":{\"fields\":[{\"name\":\"tabId\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"tab_id\"},{\"name\":\"taskId\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"task_id\"},{\"name\":\"order\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mode\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\",\"dbName\":\"created_at\"},{\"name\":\"startedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\",\"dbName\":\"started_at\"},{\"name\":\"completedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\",\"dbName\":\"completed_at\"},{\"name\":\"todos\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"unread\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"agentSessionId\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"agent_session_id\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\",\"dbName\":\"updated_at\"},{\"name\":\"task\",\"kind\":\"object\",\"type\":\"Task\",\"relationName\":\"TabToTask\"}],\"dbName\":\"tabs\"},\"EnvironmentVariable\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"key\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"value\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scope\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"owner\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"repo\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"enabled\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\",\"dbName\":\"created_at\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\",\"dbName\":\"updated_at\"},{\"name\":\"repository\",\"kind\":\"object\",\"type\":\"Repository\",\"relationName\":\"EnvironmentVariableToRepository\"}],\"dbName\":\"environment_variables\"},\"AgentProfile\":{\"fields\":[{\"name\":\"agent\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"slug\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\",\"dbName\":\"created_at\"}],\"dbName\":\"agent_profiles\"},\"AppSetting\":{\"fields\":[{\"name\":\"key\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"value\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\",\"dbName\":\"updated_at\"}],\"dbName\":\"app_settings\"}},\"enums\":{},\"types\":{}}");
|
|
30
30
|
config.parameterizationSchema = {
|
|
31
|
-
strings: JSON.parse("[\"where\",\"orderBy\",\"cursor\",\"repository\",\"task\",\"tabs\",\"_count\",\"tasks\",\"environmentVars\",\"Repository.findUnique\",\"Repository.findUniqueOrThrow\",\"Repository.findFirst\",\"Repository.findFirstOrThrow\",\"Repository.findMany\",\"data\",\"Repository.createOne\",\"Repository.createMany\",\"Repository.createManyAndReturn\",\"Repository.updateOne\",\"Repository.updateMany\",\"Repository.updateManyAndReturn\",\"create\",\"update\",\"Repository.upsertOne\",\"Repository.deleteOne\",\"Repository.deleteMany\",\"having\",\"_avg\",\"_sum\",\"_min\",\"_max\",\"Repository.groupBy\",\"Repository.aggregate\",\"Task.findUnique\",\"Task.findUniqueOrThrow\",\"Task.findFirst\",\"Task.findFirstOrThrow\",\"Task.findMany\",\"Task.createOne\",\"Task.createMany\",\"Task.createManyAndReturn\",\"Task.updateOne\",\"Task.updateMany\",\"Task.updateManyAndReturn\",\"Task.upsertOne\",\"Task.deleteOne\",\"Task.deleteMany\",\"Task.groupBy\",\"Task.aggregate\",\"Tab.findUnique\",\"Tab.findUniqueOrThrow\",\"Tab.findFirst\",\"Tab.findFirstOrThrow\",\"Tab.findMany\",\"Tab.createOne\",\"Tab.createMany\",\"Tab.createManyAndReturn\",\"Tab.updateOne\",\"Tab.updateMany\",\"Tab.updateManyAndReturn\",\"Tab.upsertOne\",\"Tab.deleteOne\",\"Tab.deleteMany\",\"Tab.groupBy\",\"Tab.aggregate\",\"EnvironmentVariable.findUnique\",\"EnvironmentVariable.findUniqueOrThrow\",\"EnvironmentVariable.findFirst\",\"EnvironmentVariable.findFirstOrThrow\",\"EnvironmentVariable.findMany\",\"EnvironmentVariable.createOne\",\"EnvironmentVariable.createMany\",\"EnvironmentVariable.createManyAndReturn\",\"EnvironmentVariable.updateOne\",\"EnvironmentVariable.updateMany\",\"EnvironmentVariable.updateManyAndReturn\",\"EnvironmentVariable.upsertOne\",\"EnvironmentVariable.deleteOne\",\"EnvironmentVariable.deleteMany\",\"EnvironmentVariable.groupBy\",\"EnvironmentVariable.aggregate\",\"
|
|
32
|
-
graph: "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_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_AQAAAAGAAQEAAAABgQEBAAAAAQsGAACkAQAgHQAApQEAIB4AAKUBACB3QAAAAAF4QAAAAAR5QAAAAAR6QAAAAAF7QAAAAAF8QAAAAAF9QAAAAAF-QACjAQAhCwYAAKQBACAdAAClAQAgHgAApQEAIHdAAAAAAXhAAAAABHlAAAAABHpAAAAAAXtAAAAAAXxAAAAAAX1AAAAAAX5AAKMBACEIdwIAAAABeAIAAAAEeQIAAAAEegIAAAABewIAAAABfAIAAAABfQIAAAABfgIApAEAIQh3QAAAAAF4QAAAAAR5QAAAAAR6QAAAAAF7QAAAAAF8QAAAAAF9QAAAAAF-QAClAQAhDgYAAKQBACAdAACnAQAgHgAApwEAIHcBAAAAAXgBAAAABHkBAAAABHoBAAAAAXsBAAAAAXwBAAAAAX0BAAAAAX4BAKYBACF_AQAAAAGAAQEAAAABgQEBAAAAAQt3AQAAAAF4AQAAAAR5AQAAAAR6AQAAAAF7AQAAAAF8AQAAAAF9AQAAAAF-AQCnAQAhfwEAAAABgAEBAAAAAYEBAQAAAAEGcQAAqAEAMHIAAIoBABBzAACoAQAwdAEAqQEAIXUBAKkBACF2QACqAQAhC3cBAAAAAXgBAAAABHkBAAAABHoBAAAAAXsBAAAAAXwBAAAAAX0BAAAAAX4BAKcBACF_AQAAAAGAAQEAAAABgQEBAAAAAQh3QAAAAAF4QAAAAAR5QAAAAAR6QAAAAAF7QAAAAAF8QAAAAAF9QAAAAAF-QAClAQAhBnEAAKsBADByAACEAQAQcwAAqwEAMIIBAQChAQAhgwEBAKEBACGEAUAAogEAIQZxAACsAQAwcgAAcQAQcwAArAEAMIIBAQCpAQAhgwEBAKkBACGEAUAAqgEAIQxxAACtAQAwcgAAawAQcwAArQEAMHQBAKEBACF1AQChAQAhdkAAogEAIYQBQACiAQAhhQEBAKEBACGGAQEAoQEAIYcBAQCuAQAhiAEBAK4BACGJASAArwEAIQ4GAACzAQAgHQAAtAEAIB4AALQBACB3AQAAAAF4AQAAAAV5AQAAAAV6AQAAAAF7AQAAAAF8AQAAAAF9AQAAAAF-AQCyAQAhfwEAAAABgAEBAAAAAYEBAQAAAAEFBgAApAEAIB0AALEBACAeAACxAQAgdyAAAAABfiAAsAEAIQUGAACkAQAgHQAAsQEAIB4AALEBACB3IAAAAAF-IACwAQAhAncgAAAAAX4gALEBACEOBgAAswEAIB0AALQBACAeAAC0AQAgdwEAAAABeAEAAAAFeQEAAAAFegEAAAABewEAAAABfAEAAAABfQEAAAABfgEAsgEAIX8BAAAAAYABAQAAAAGBAQEAAAABCHcCAAAAAXgCAAAABXkCAAAABXoCAAAAAXsCAAAAAXwCAAAAAX0CAAAAAX4CALMBACELdwEAAAABeAEAAAAFeQEAAAAFegEAAAABewEAAAABfAEAAAABfQEAAAABfgEAtAEAIX8BAAAAAYABAQAAAAGBAQEAAAABDnEAALUBADByAABTABBzAAC1AQAwdkAAogEAIYQBQACiAQAhigEBAKEBACGLAQEAoQEAIYwBAgC2AQAhjQEBAKEBACGOAQEAoQEAIY8BQACiAQAhkAFAALcBACGRAQEArgEAIZIBIACvAQAhDQYAAKQBACAbAAC7AQAgHAAApAEAIB0AAKQBACAeAACkAQAgdwIAAAABeAIAAAAEeQIAAAAEegIAAAABewIAAAABfAIAAAABfQIAAAABfgIAugEAIQsGAACzAQAgHQAAuQEAIB4AALkBACB3QAAAAAF4QAAAAAV5QAAAAAV6QAAAAAF7QAAAAAF8QAAAAAF9QAAAAAF-QAC4AQAhCwYAALMBACAdAAC5AQAgHgAAuQEAIHdAAAAAAXhAAAAABXlAAAAABXpAAAAAAXtAAAAAAXxAAAAAAX1AAAAAAX5AALgBACEId0AAAAABeEAAAAAFeUAAAAAFekAAAAABe0AAAAABfEAAAAABfUAAAAABfkAAuQEAIQ0GAACkAQAgGwAAuwEAIBwAAKQBACAdAACkAQAgHgAApAEAIHcCAAAAAXgCAAAABHkCAAAABHoCAAAAAXsCAAAAAXwCAAAAAX0CAAAAAX4CALoBACEIdwgAAAABeAgAAAAEeQgAAAAEeggAAAABewgAAAABfAgAAAABfQgAAAABfggAuwEAIRJxAAC8AQAwcgAAPQAQcwAAvAEAMHZAAKIBACGEAUAAogEAIYUBAQChAQAhhwEBAKEBACGIAQEAoQEAIYwBAgC2AQAhjQEBAKEBACGTAQEAoQEAIZQBAQChAQAhlQEBAKEBACGWAQEAoQEAIZcBAQChAQAhmAEBAK4BACGZAQIAvQEAIZoBQAC3AQAhDQYAALMBACAbAAC_AQAgHAAAswEAIB0AALMBACAeAACzAQAgdwIAAAABeAIAAAAFeQIAAAAFegIAAAABewIAAAABfAIAAAABfQIAAAABfgIAvgEAIQ0GAACzAQAgGwAAvwEAIBwAALMBACAdAACzAQAgHgAAswEAIHcCAAAAAXgCAAAABXkCAAAABXoCAAAAAXsCAAAAAXwCAAAAAX0CAAAAAX4CAL4BACEIdwgAAAABeAgAAAAFeQgAAAAFeggAAAABewgAAAABfAgAAAABfQgAAAABfggAvwEAIQlxAADAAQAwcgAAJwAQcwAAwAEAMIQBQACiAQAhhQEBAKEBACGHAQEAoQEAIYgBAQChAQAhjAECALYBACGbAQEAoQEAIQsHAADDAQAgCAAAxAEAIHEAAMEBADByAAAQABBzAADBAQAwhAFAAKoBACGFAQEAqQEAIYcBAQCpAQAhiAEBAKkBACGMAQIAwgEAIZsBAQCpAQAhCHcCAAAAAXgCAAAABHkCAAAABHoCAAAAAXsCAAAAAXwCAAAAAX0CAAAAAX4CAKQBACEDnAEAAAMAIJ0BAAADACCeAQAAAwAgA5wBAAAMACCdAQAADAAgngEAAAwAIAR0AQAAAAGGAQEAAAABhwEBAAAAAYgBAQAAAAENAwAAyQEAIHEAAMYBADByAAAMABBzAADGAQAwdAEAqQEAIXUBAKkBACF2QACqAQAhhAFAAKoBACGFAQEAqQEAIYYBAQCpAQAhhwEBAMcBACGIAQEAxwEAIYkBIADIAQAhC3cBAAAAAXgBAAAABXkBAAAABXoBAAAAAXsBAAAAAXwBAAAAAX0BAAAAAX4BALQBACF_AQAAAAGAAQEAAAABgQEBAAAAAQJ3IAAAAAF-IACxAQAhDQcAAMMBACAIAADEAQAgcQAAwQEAMHIAABAAEHMAAMEBADCEAUAAqgEAIYUBAQCpAQAhhwEBAKkBACGIAQEAqQEAIYwBAgDCAQAhmwEBAKkBACGhAQAAEAAgogEAABAAIA8EAADMAQAgcQAAygEAMHIAAAcAEHMAAMoBADB2QACqAQAhhAFAAKoBACGKAQEAqQEAIYsBAQCpAQAhjAECAMIBACGNAQEAqQEAIY4BAQCpAQAhjwFAAKoBACGQAUAAywEAIZEBAQDHAQAhkgEgAMgBACEId0AAAAABeEAAAAAFeUAAAAAFekAAAAABe0AAAAABfEAAAAABfUAAAAABfkAAuQEAIRYDAADPAQAgBQAA0AEAIHEAAM0BADByAAADABBzAADNAQAwdkAAqgEAIYQBQACqAQAhhQEBAKkBACGHAQEAqQEAIYgBAQCpAQAhjAECAMIBACGNAQEAqQEAIZMBAQCpAQAhlAEBAKkBACGVAQEAqQEAIZYBAQCpAQAhlwEBAKkBACGYAQEAxwEAIZkBAgDOAQAhmgFAAMsBACGhAQAAAwAgogEAAAMAIBQDAADPAQAgBQAA0AEAIHEAAM0BADByAAADABBzAADNAQAwdkAAqgEAIYQBQACqAQAhhQEBAKkBACGHAQEAqQEAIYgBAQCpAQAhjAECAMIBACGNAQEAqQEAIZMBAQCpAQAhlAEBAKkBACGVAQEAqQEAIZYBAQCpAQAhlwEBAKkBACGYAQEAxwEAIZkBAgDOAQAhmgFAAMsBACEIdwIAAAABeAIAAAAFeQIAAAAFegIAAAABewIAAAABfAIAAAABfQIAAAABfgIAswEAIQ0HAADDAQAgCAAAxAEAIHEAAMEBADByAAAQABBzAADBAQAwhAFAAKoBACGFAQEAqQEAIYcBAQCpAQAhiAEBAKkBACGMAQIAwgEAIZsBAQCpAQAhoQEAABAAIKIBAAAQACADnAEAAAcAIJ0BAAAHACCeAQAABwAgAocBAQAAAAGIAQEAAAABAAAAAaYBAQAAAAEBpgFAAAAAAQAAAAAAAAABpgEgAAAAAQGmAQEAAAABBxUAALQCACAWAAC3AgAgowEAALUCACCkAQAAtgIAIKcBAAAQACCoAQAAEAAgqQEAAAEAIAMVAAC0AgAgowEAALUCACCpAQAAAQAgAAAAAAAFpgECAAAAAawBAgAAAAGtAQIAAAABrgECAAAAAa8BAgAAAAEBpgFAAAAAAQUVAACvAgAgFgAAsgIAIKMBAACwAgAgpAEAALECACCpAQAABQAgAxUAAK8CACCjAQAAsAIAIKkBAAAFACAAAAAAAAWmAQIAAAABrAECAAAAAa0BAgAAAAGuAQIAAAABrwECAAAAAQUVAACpAgAgFgAArQIAIKMBAACqAgAgpAEAAKwCACCpAQAAAQAgCxUAAPMBADAWAAD4AQAwowEAAPQBADCkAQAA9QEAMKUBAAD2AQAgpgEAAPcBADCnAQAA9wEAMKgBAAD3AQAwqQEAAPcBADCqAQAA-QEAMKsBAAD6AQAwCnZAAAAAAYQBQAAAAAGKAQEAAAABjAECAAAAAY0BAQAAAAGOAQEAAAABjwFAAAAAAZABQAAAAAGRAQEAAAABkgEgAAAAAQIAAAAJACAVAAD-AQAgAwAAAAkAIBUAAP4BACAWAAD9AQAgAQ4AAKsCADAPBAAAzAEAIHEAAMoBADByAAAHABBzAADKAQAwdkAAqgEAIYQBQACqAQAhigEBAAAAAYsBAQCpAQAhjAECAMIBACGNAQEAqQEAIY4BAQCpAQAhjwFAAKoBACGQAUAAywEAIZEBAQDHAQAhkgEgAMgBACECAAAACQAgDgAA_QEAIAIAAAD7AQAgDgAA_AEAIA5xAAD6AQAwcgAA-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_AQAgdkAAAAABhAFAAAAAAYUBAQAAAAGHAQEAAAABiAEBAAAAAYwBAgAAAAGNAQEAAAABkwEBAAAAAZQBAQAAAAGVAQEAAAABlgEBAAAAAZcBAQAAAAGYAQEAAAABmQECAAAAAZoBQAAAAAECAAAABQAgFQAArwIAIAMAAAADACAVAACvAgAgFgAAswIAIBIAAAADACADAADxAQAgDgAAswIAIHZAANYBACGEAUAA1gEAIYUBAQDVAQAhhwEBANUBACGIAQEA1QEAIYwBAgDnAQAhjQEBANUBACGTAQEA1QEAIZQBAQDVAQAhlQEBANUBACGWAQEA1QEAIZcBAQDVAQAhmAEBAN8BACGZAQIA8AEAIZoBQADoAQAhEAMAAPEBACB2QADWAQAhhAFAANYBACGFAQEA1QEAIYcBAQDVAQAhiAEBANUBACGMAQIA5wEAIY0BAQDVAQAhkwEBANUBACGUAQEA1QEAIZUBAQDVAQAhlgEBANUBACGXAQEA1QEAIZgBAQDfAQAhmQECAPABACGaAUAA6AEAIQcHAACgAgAghAFAAAAAAYUBAQAAAAGHAQEAAAABiAEBAAAAAYwBAgAAAAGbAQEAAAABAgAAAAEAIBUAALQCACADAAAAEAAgFQAAtAIAIBYAALgCACAJAAAAEAAgBwAAhgIAIA4AALgCACCEAUAA1gEAIYUBAQDVAQAhhwEBANUBACGIAQEA1QEAIYwBAgDnAQAhmwEBANUBACEHBwAAhgIAIIQBQADWAQAhhQEBANUBACGHAQEA1QEAIYgBAQDVAQAhjAECAOcBACGbAQEA1QEAIQMGAAYHBgIIDwUDAwABBQoDBgAEAQQAAgEFCwABAxEBAgcSAAgTAAAAAAUGAAsbAAwcAA0dAA4eAA8AAAAAAAUGAAsbAAwcAA0dAA4eAA8BAwABAQMAAQUGABQbABUcABYdABceABgAAAAAAAUGABQbABUcABYdABceABgBBAACAQQAAgUGAB0bAB4cAB8dACAeACEAAAAAAAUGAB0bAB4cAB8dACAeACEBA2ABAQNmAQMGACYdACceACgAAAADBgAmHQAnHgAoAAAAAwYALh0ALx4AMAAAAAMGAC4dAC8eADAAAAADBgA2HQA3HgA4AAAAAwYANh0ANx4AOAkCAQoUAQsWAQwXAQ0YAQ8aARAcBxEdCBIfARMhBxQiCRcjARgkARklBx8oCiApECEqAiIrAiMsAiQtAiUuAiYwAicyBygzESk1Aio3Bys4Eiw5Ai06Ai47By8-EzA_GTFAAzJBAzNCAzRDAzVEAzZGAzdIBzhJGjlLAzpNBztOGzxPAz1QAz5RBz9UHEBVIkFWBUJXBUNYBURZBUVaBUZcBUdeB0hfI0liBUpkB0tlJExnBU1oBU5pB09sJVBtKVFvKlJwKlNzKlR0KlV1KlZ3Kld5B1h6K1l8Klp-B1t_LFyAASpdgQEqXoIBB1-FAS1ghgExYYgBMmKJATJjjAEyZI0BMmWOATJmkAEyZ5IBB2iTATNplQEyapcBB2uYATRsmQEybZoBMm6bAQdvngE1cJ8BOQ"
|
|
31
|
+
strings: JSON.parse("[\"where\",\"orderBy\",\"cursor\",\"repository\",\"task\",\"tabs\",\"_count\",\"tasks\",\"environmentVars\",\"Repository.findUnique\",\"Repository.findUniqueOrThrow\",\"Repository.findFirst\",\"Repository.findFirstOrThrow\",\"Repository.findMany\",\"data\",\"Repository.createOne\",\"Repository.createMany\",\"Repository.createManyAndReturn\",\"Repository.updateOne\",\"Repository.updateMany\",\"Repository.updateManyAndReturn\",\"create\",\"update\",\"Repository.upsertOne\",\"Repository.deleteOne\",\"Repository.deleteMany\",\"having\",\"_avg\",\"_sum\",\"_min\",\"_max\",\"Repository.groupBy\",\"Repository.aggregate\",\"Task.findUnique\",\"Task.findUniqueOrThrow\",\"Task.findFirst\",\"Task.findFirstOrThrow\",\"Task.findMany\",\"Task.createOne\",\"Task.createMany\",\"Task.createManyAndReturn\",\"Task.updateOne\",\"Task.updateMany\",\"Task.updateManyAndReturn\",\"Task.upsertOne\",\"Task.deleteOne\",\"Task.deleteMany\",\"Task.groupBy\",\"Task.aggregate\",\"Tab.findUnique\",\"Tab.findUniqueOrThrow\",\"Tab.findFirst\",\"Tab.findFirstOrThrow\",\"Tab.findMany\",\"Tab.createOne\",\"Tab.createMany\",\"Tab.createManyAndReturn\",\"Tab.updateOne\",\"Tab.updateMany\",\"Tab.updateManyAndReturn\",\"Tab.upsertOne\",\"Tab.deleteOne\",\"Tab.deleteMany\",\"Tab.groupBy\",\"Tab.aggregate\",\"EnvironmentVariable.findUnique\",\"EnvironmentVariable.findUniqueOrThrow\",\"EnvironmentVariable.findFirst\",\"EnvironmentVariable.findFirstOrThrow\",\"EnvironmentVariable.findMany\",\"EnvironmentVariable.createOne\",\"EnvironmentVariable.createMany\",\"EnvironmentVariable.createManyAndReturn\",\"EnvironmentVariable.updateOne\",\"EnvironmentVariable.updateMany\",\"EnvironmentVariable.updateManyAndReturn\",\"EnvironmentVariable.upsertOne\",\"EnvironmentVariable.deleteOne\",\"EnvironmentVariable.deleteMany\",\"EnvironmentVariable.groupBy\",\"EnvironmentVariable.aggregate\",\"AgentProfile.findUnique\",\"AgentProfile.findUniqueOrThrow\",\"AgentProfile.findFirst\",\"AgentProfile.findFirstOrThrow\",\"AgentProfile.findMany\",\"AgentProfile.createOne\",\"AgentProfile.createMany\",\"AgentProfile.createManyAndReturn\",\"AgentProfile.updateOne\",\"AgentProfile.updateMany\",\"AgentProfile.updateManyAndReturn\",\"AgentProfile.upsertOne\",\"AgentProfile.deleteOne\",\"AgentProfile.deleteMany\",\"AgentProfile.groupBy\",\"AgentProfile.aggregate\",\"AppSetting.findUnique\",\"AppSetting.findUniqueOrThrow\",\"AppSetting.findFirst\",\"AppSetting.findFirstOrThrow\",\"AppSetting.findMany\",\"AppSetting.createOne\",\"AppSetting.createMany\",\"AppSetting.createManyAndReturn\",\"AppSetting.updateOne\",\"AppSetting.updateMany\",\"AppSetting.updateManyAndReturn\",\"AppSetting.upsertOne\",\"AppSetting.deleteOne\",\"AppSetting.deleteMany\",\"AppSetting.groupBy\",\"AppSetting.aggregate\",\"AND\",\"OR\",\"NOT\",\"key\",\"value\",\"updatedAt\",\"equals\",\"in\",\"notIn\",\"lt\",\"lte\",\"gt\",\"gte\",\"not\",\"contains\",\"startsWith\",\"endsWith\",\"agent\",\"slug\",\"name\",\"createdAt\",\"agent_slug\",\"id\",\"scope\",\"owner\",\"repo\",\"enabled\",\"tabId\",\"taskId\",\"order\",\"status\",\"mode\",\"startedAt\",\"completedAt\",\"todos\",\"unread\",\"agentSessionId\",\"title\",\"description\",\"branch\",\"baseBranch\",\"repoId\",\"pullRequestUrl\",\"effort\",\"deletedAt\",\"cloneUrl\",\"every\",\"some\",\"none\",\"key_scope_owner_repo\",\"owner_repo\",\"is\",\"isNot\",\"connectOrCreate\",\"upsert\",\"createMany\",\"set\",\"disconnect\",\"delete\",\"connect\",\"updateMany\",\"deleteMany\",\"increment\",\"decrement\",\"multiply\",\"divide\"]"),
|
|
32
|
+
graph: "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_AQAAAAGAAQEAAAABgQEBAAAAAQUGAACkAQAgHQAAsgEAIB4AALIBACB3IAAAAAF-IACxAQAhBQYAAKQBACAdAACyAQAgHgAAsgEAIHcgAAAAAX4gALEBACECdyAAAAABfiAAsgEAIQ4GAAC0AQAgHQAAtQEAIB4AALUBACB3AQAAAAF4AQAAAAV5AQAAAAV6AQAAAAF7AQAAAAF8AQAAAAF9AQAAAAF-AQCzAQAhfwEAAAABgAEBAAAAAYEBAQAAAAEIdwIAAAABeAIAAAAFeQIAAAAFegIAAAABewIAAAABfAIAAAABfQIAAAABfgIAtAEAIQt3AQAAAAF4AQAAAAV5AQAAAAV6AQAAAAF7AQAAAAF8AQAAAAF9AQAAAAF-AQC1AQAhfwEAAAABgAEBAAAAAYEBAQAAAAEPcQAAtgEAMHIAAFMAEHMAALYBADB2QACiAQAhhQFAAKIBACGMAQEAoQEAIY0BAQChAQAhjgECALcBACGPAQEAoQEAIZABAQChAQAhkQFAAKIBACGSAUAAuAEAIZMBAQCvAQAhlAEgALABACGVAQEArwEAIQ0GAACkAQAgGwAAvAEAIBwAAKQBACAdAACkAQAgHgAApAEAIHcCAAAAAXgCAAAABHkCAAAABHoCAAAAAXsCAAAAAXwCAAAAAX0CAAAAAX4CALsBACELBgAAtAEAIB0AALoBACAeAAC6AQAgd0AAAAABeEAAAAAFeUAAAAAFekAAAAABe0AAAAABfEAAAAABfUAAAAABfkAAuQEAIQsGAAC0AQAgHQAAugEAIB4AALoBACB3QAAAAAF4QAAAAAV5QAAAAAV6QAAAAAF7QAAAAAF8QAAAAAF9QAAAAAF-QAC5AQAhCHdAAAAAAXhAAAAABXlAAAAABXpAAAAAAXtAAAAAAXxAAAAAAX1AAAAAAX5AALoBACENBgAApAEAIBsAALwBACAcAACkAQAgHQAApAEAIB4AAKQBACB3AgAAAAF4AgAAAAR5AgAAAAR6AgAAAAF7AgAAAAF8AgAAAAF9AgAAAAF-AgC7AQAhCHcIAAAAAXgIAAAABHkIAAAABHoIAAAAAXsIAAAAAXwIAAAAAX0IAAAAAX4IALwBACEScQAAvQEAMHIAAD0AEHMAAL0BADB2QACiAQAhhQFAAKIBACGHAQEAoQEAIYkBAQChAQAhigEBAKEBACGOAQIAtwEAIY8BAQChAQAhlgEBAKEBACGXAQEAoQEAIZgBAQChAQAhmQEBAKEBACGaAQEAoQEAIZsBAQCvAQAhnAECAL4BACGdAUAAuAEAIQ0GAAC0AQAgGwAAwAEAIBwAALQBACAdAAC0AQAgHgAAtAEAIHcCAAAAAXgCAAAABXkCAAAABXoCAAAAAXsCAAAAAXwCAAAAAX0CAAAAAX4CAL8BACENBgAAtAEAIBsAAMABACAcAAC0AQAgHQAAtAEAIB4AALQBACB3AgAAAAF4AgAAAAV5AgAAAAV6AgAAAAF7AgAAAAF8AgAAAAF9AgAAAAF-AgC_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-AEAMKsBAAD4AQAwrAEAAPgBADCtAQAA-gEAMK4BAAD7AQAwC3ZAAAAAAYUBQAAAAAGMAQEAAAABjgECAAAAAY8BAQAAAAGQAQEAAAABkQFAAAAAAZIBQAAAAAGTAQEAAAABlAEgAAAAAZUBAQAAAAECAAAACQAgFQAA_wEAIAMAAAAJACAVAAD_AQAgFgAA_gEAIAEOAACsAgAwEAQAAM0BACBxAADLAQAwcgAABwAQcwAAywEAMHZAAKoBACGFAUAAqgEAIYwBAQAAAAGNAQEAqQEAIY4BAgDDAQAhjwEBAKkBACGQAQEAqQEAIZEBQACqAQAhkgFAAMwBACGTAQEAyAEAIZQBIADJAQAhlQEBAMgBACECAAAACQAgDgAA_gEAIAIAAAD8AQAgDgAA_QEAIA9xAAD7AQAwcgAA_AEAEHMAAPsBADB2QACqAQAhhQFAAKoBACGMAQEAqQEAIY0BAQCpAQAhjgECAMMBACGPAQEAqQEAIZABAQCpAQAhkQFAAKoBACGSAUAAzAEAIZMBAQDIAQAhlAEgAMkBACGVAQEAyAEAIQ9xAAD7AQAwcgAA_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-UQc_VBxAVSJBVgVCVwVDWAVEWQVFWgVGXAVHXgdIXyNJYgVKZAdLZSRMZwVNaAVOaQdPbCVQbSlRbypScCpTcypUdCpVdSpWdypXeQdYeitZfCpafgdbfyxcgAEqXYEBKl6CAQdfhQEtYIYBMWGIATJiiQEyY4wBMmSNATJljgEyZpABMmeSAQdokwEzaZUBMmqXAQdrmAE0bJkBMm2aATJumwEHb54BNXCfATk"
|
|
33
33
|
};
|
|
34
34
|
async function decodeBase64AsWasm(wasmBase64) {
|
|
35
35
|
const { Buffer } = await import('node:buffer');
|
|
@@ -235,7 +235,7 @@ export declare const ModelName: {
|
|
|
235
235
|
readonly Task: "Task";
|
|
236
236
|
readonly Tab: "Tab";
|
|
237
237
|
readonly EnvironmentVariable: "EnvironmentVariable";
|
|
238
|
-
readonly
|
|
238
|
+
readonly AgentProfile: "AgentProfile";
|
|
239
239
|
readonly AppSetting: "AppSetting";
|
|
240
240
|
};
|
|
241
241
|
export type ModelName = (typeof ModelName)[keyof typeof ModelName];
|
|
@@ -249,7 +249,7 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|
|
249
249
|
omit: GlobalOmitOptions;
|
|
250
250
|
};
|
|
251
251
|
meta: {
|
|
252
|
-
modelProps: "repository" | "task" | "tab" | "environmentVariable" | "
|
|
252
|
+
modelProps: "repository" | "task" | "tab" | "environmentVariable" | "agentProfile" | "appSetting";
|
|
253
253
|
txIsolationLevel: TransactionIsolationLevel;
|
|
254
254
|
};
|
|
255
255
|
model: {
|
|
@@ -549,77 +549,77 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|
|
549
549
|
};
|
|
550
550
|
};
|
|
551
551
|
};
|
|
552
|
-
|
|
553
|
-
payload: Prisma.$
|
|
554
|
-
fields: Prisma.
|
|
552
|
+
AgentProfile: {
|
|
553
|
+
payload: Prisma.$AgentProfilePayload<ExtArgs>;
|
|
554
|
+
fields: Prisma.AgentProfileFieldRefs;
|
|
555
555
|
operations: {
|
|
556
556
|
findUnique: {
|
|
557
|
-
args: Prisma.
|
|
558
|
-
result: runtime.Types.Utils.PayloadToResult<Prisma.$
|
|
557
|
+
args: Prisma.AgentProfileFindUniqueArgs<ExtArgs>;
|
|
558
|
+
result: runtime.Types.Utils.PayloadToResult<Prisma.$AgentProfilePayload> | null;
|
|
559
559
|
};
|
|
560
560
|
findUniqueOrThrow: {
|
|
561
|
-
args: Prisma.
|
|
562
|
-
result: runtime.Types.Utils.PayloadToResult<Prisma.$
|
|
561
|
+
args: Prisma.AgentProfileFindUniqueOrThrowArgs<ExtArgs>;
|
|
562
|
+
result: runtime.Types.Utils.PayloadToResult<Prisma.$AgentProfilePayload>;
|
|
563
563
|
};
|
|
564
564
|
findFirst: {
|
|
565
|
-
args: Prisma.
|
|
566
|
-
result: runtime.Types.Utils.PayloadToResult<Prisma.$
|
|
565
|
+
args: Prisma.AgentProfileFindFirstArgs<ExtArgs>;
|
|
566
|
+
result: runtime.Types.Utils.PayloadToResult<Prisma.$AgentProfilePayload> | null;
|
|
567
567
|
};
|
|
568
568
|
findFirstOrThrow: {
|
|
569
|
-
args: Prisma.
|
|
570
|
-
result: runtime.Types.Utils.PayloadToResult<Prisma.$
|
|
569
|
+
args: Prisma.AgentProfileFindFirstOrThrowArgs<ExtArgs>;
|
|
570
|
+
result: runtime.Types.Utils.PayloadToResult<Prisma.$AgentProfilePayload>;
|
|
571
571
|
};
|
|
572
572
|
findMany: {
|
|
573
|
-
args: Prisma.
|
|
574
|
-
result: runtime.Types.Utils.PayloadToResult<Prisma.$
|
|
573
|
+
args: Prisma.AgentProfileFindManyArgs<ExtArgs>;
|
|
574
|
+
result: runtime.Types.Utils.PayloadToResult<Prisma.$AgentProfilePayload>[];
|
|
575
575
|
};
|
|
576
576
|
create: {
|
|
577
|
-
args: Prisma.
|
|
578
|
-
result: runtime.Types.Utils.PayloadToResult<Prisma.$
|
|
577
|
+
args: Prisma.AgentProfileCreateArgs<ExtArgs>;
|
|
578
|
+
result: runtime.Types.Utils.PayloadToResult<Prisma.$AgentProfilePayload>;
|
|
579
579
|
};
|
|
580
580
|
createMany: {
|
|
581
|
-
args: Prisma.
|
|
581
|
+
args: Prisma.AgentProfileCreateManyArgs<ExtArgs>;
|
|
582
582
|
result: BatchPayload;
|
|
583
583
|
};
|
|
584
584
|
createManyAndReturn: {
|
|
585
|
-
args: Prisma.
|
|
586
|
-
result: runtime.Types.Utils.PayloadToResult<Prisma.$
|
|
585
|
+
args: Prisma.AgentProfileCreateManyAndReturnArgs<ExtArgs>;
|
|
586
|
+
result: runtime.Types.Utils.PayloadToResult<Prisma.$AgentProfilePayload>[];
|
|
587
587
|
};
|
|
588
588
|
delete: {
|
|
589
|
-
args: Prisma.
|
|
590
|
-
result: runtime.Types.Utils.PayloadToResult<Prisma.$
|
|
589
|
+
args: Prisma.AgentProfileDeleteArgs<ExtArgs>;
|
|
590
|
+
result: runtime.Types.Utils.PayloadToResult<Prisma.$AgentProfilePayload>;
|
|
591
591
|
};
|
|
592
592
|
update: {
|
|
593
|
-
args: Prisma.
|
|
594
|
-
result: runtime.Types.Utils.PayloadToResult<Prisma.$
|
|
593
|
+
args: Prisma.AgentProfileUpdateArgs<ExtArgs>;
|
|
594
|
+
result: runtime.Types.Utils.PayloadToResult<Prisma.$AgentProfilePayload>;
|
|
595
595
|
};
|
|
596
596
|
deleteMany: {
|
|
597
|
-
args: Prisma.
|
|
597
|
+
args: Prisma.AgentProfileDeleteManyArgs<ExtArgs>;
|
|
598
598
|
result: BatchPayload;
|
|
599
599
|
};
|
|
600
600
|
updateMany: {
|
|
601
|
-
args: Prisma.
|
|
601
|
+
args: Prisma.AgentProfileUpdateManyArgs<ExtArgs>;
|
|
602
602
|
result: BatchPayload;
|
|
603
603
|
};
|
|
604
604
|
updateManyAndReturn: {
|
|
605
|
-
args: Prisma.
|
|
606
|
-
result: runtime.Types.Utils.PayloadToResult<Prisma.$
|
|
605
|
+
args: Prisma.AgentProfileUpdateManyAndReturnArgs<ExtArgs>;
|
|
606
|
+
result: runtime.Types.Utils.PayloadToResult<Prisma.$AgentProfilePayload>[];
|
|
607
607
|
};
|
|
608
608
|
upsert: {
|
|
609
|
-
args: Prisma.
|
|
610
|
-
result: runtime.Types.Utils.PayloadToResult<Prisma.$
|
|
609
|
+
args: Prisma.AgentProfileUpsertArgs<ExtArgs>;
|
|
610
|
+
result: runtime.Types.Utils.PayloadToResult<Prisma.$AgentProfilePayload>;
|
|
611
611
|
};
|
|
612
612
|
aggregate: {
|
|
613
|
-
args: Prisma.
|
|
614
|
-
result: runtime.Types.Utils.Optional<Prisma.
|
|
613
|
+
args: Prisma.AgentProfileAggregateArgs<ExtArgs>;
|
|
614
|
+
result: runtime.Types.Utils.Optional<Prisma.AggregateAgentProfile>;
|
|
615
615
|
};
|
|
616
616
|
groupBy: {
|
|
617
|
-
args: Prisma.
|
|
618
|
-
result: runtime.Types.Utils.Optional<Prisma.
|
|
617
|
+
args: Prisma.AgentProfileGroupByArgs<ExtArgs>;
|
|
618
|
+
result: runtime.Types.Utils.Optional<Prisma.AgentProfileGroupByOutputType>[];
|
|
619
619
|
};
|
|
620
620
|
count: {
|
|
621
|
-
args: Prisma.
|
|
622
|
-
result: runtime.Types.Utils.Optional<Prisma.
|
|
621
|
+
args: Prisma.AgentProfileCountArgs<ExtArgs>;
|
|
622
|
+
result: runtime.Types.Utils.Optional<Prisma.AgentProfileCountAggregateOutputType> | number;
|
|
623
623
|
};
|
|
624
624
|
};
|
|
625
625
|
};
|
|
@@ -766,6 +766,7 @@ export declare const TabScalarFieldEnum: {
|
|
|
766
766
|
readonly completedAt: "completedAt";
|
|
767
767
|
readonly todos: "todos";
|
|
768
768
|
readonly unread: "unread";
|
|
769
|
+
readonly agentSessionId: "agentSessionId";
|
|
769
770
|
readonly updatedAt: "updatedAt";
|
|
770
771
|
};
|
|
771
772
|
export type TabScalarFieldEnum = (typeof TabScalarFieldEnum)[keyof typeof TabScalarFieldEnum];
|
|
@@ -781,12 +782,13 @@ export declare const EnvironmentVariableScalarFieldEnum: {
|
|
|
781
782
|
readonly updatedAt: "updatedAt";
|
|
782
783
|
};
|
|
783
784
|
export type EnvironmentVariableScalarFieldEnum = (typeof EnvironmentVariableScalarFieldEnum)[keyof typeof EnvironmentVariableScalarFieldEnum];
|
|
784
|
-
export declare const
|
|
785
|
+
export declare const AgentProfileScalarFieldEnum: {
|
|
786
|
+
readonly agent: "agent";
|
|
785
787
|
readonly slug: "slug";
|
|
786
788
|
readonly name: "name";
|
|
787
789
|
readonly createdAt: "createdAt";
|
|
788
790
|
};
|
|
789
|
-
export type
|
|
791
|
+
export type AgentProfileScalarFieldEnum = (typeof AgentProfileScalarFieldEnum)[keyof typeof AgentProfileScalarFieldEnum];
|
|
790
792
|
export declare const AppSettingScalarFieldEnum: {
|
|
791
793
|
readonly key: "key";
|
|
792
794
|
readonly value: "value";
|
|
@@ -924,7 +926,7 @@ export type GlobalOmitConfig = {
|
|
|
924
926
|
task?: Prisma.TaskOmit;
|
|
925
927
|
tab?: Prisma.TabOmit;
|
|
926
928
|
environmentVariable?: Prisma.EnvironmentVariableOmit;
|
|
927
|
-
|
|
929
|
+
agentProfile?: Prisma.AgentProfileOmit;
|
|
928
930
|
appSetting?: Prisma.AppSettingOmit;
|
|
929
931
|
};
|
|
930
932
|
export type LogLevel = 'info' | 'query' | 'warn' | 'error';
|
|
@@ -71,7 +71,7 @@ export const ModelName = {
|
|
|
71
71
|
Task: 'Task',
|
|
72
72
|
Tab: 'Tab',
|
|
73
73
|
EnvironmentVariable: 'EnvironmentVariable',
|
|
74
|
-
|
|
74
|
+
AgentProfile: 'AgentProfile',
|
|
75
75
|
AppSetting: 'AppSetting'
|
|
76
76
|
};
|
|
77
77
|
/**
|
|
@@ -116,6 +116,7 @@ export const TabScalarFieldEnum = {
|
|
|
116
116
|
completedAt: 'completedAt',
|
|
117
117
|
todos: 'todos',
|
|
118
118
|
unread: 'unread',
|
|
119
|
+
agentSessionId: 'agentSessionId',
|
|
119
120
|
updatedAt: 'updatedAt'
|
|
120
121
|
};
|
|
121
122
|
export const EnvironmentVariableScalarFieldEnum = {
|
|
@@ -129,7 +130,8 @@ export const EnvironmentVariableScalarFieldEnum = {
|
|
|
129
130
|
createdAt: 'createdAt',
|
|
130
131
|
updatedAt: 'updatedAt'
|
|
131
132
|
};
|
|
132
|
-
export const
|
|
133
|
+
export const AgentProfileScalarFieldEnum = {
|
|
134
|
+
agent: 'agent',
|
|
133
135
|
slug: 'slug',
|
|
134
136
|
name: 'name',
|
|
135
137
|
createdAt: 'createdAt'
|