codedeck 0.7.1 → 0.7.3
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/README.md +24 -8
- package/dist/cli/commands/run.js +3 -2
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/commands/service.js +139 -0
- package/dist/cli/commands/service.js.map +1 -0
- package/dist/cli/index.js +4 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/config/config.js.map +1 -1
- package/dist/config/paths.js +14 -14
- package/dist/config/paths.js.map +1 -1
- package/dist/core/errors.js +5 -42
- package/dist/core/errors.js.map +1 -1
- package/dist/core/session.js +1 -1
- package/dist/core/session.js.map +1 -1
- package/dist/core/usage-source.js +2 -0
- package/dist/core/usage-source.js.map +1 -1
- package/dist/daemon/auto-resume.js +18 -0
- package/dist/daemon/auto-resume.js.map +1 -0
- package/dist/daemon/daemon.js +188 -125
- package/dist/daemon/daemon.js.map +1 -1
- package/dist/drivers/antigravity/parser.js +7 -10
- package/dist/drivers/antigravity/parser.js.map +1 -1
- package/dist/drivers/codex/parser.js +20 -2
- package/dist/drivers/codex/parser.js.map +1 -1
- package/dist/drivers/grok/driver.js +163 -0
- package/dist/drivers/grok/driver.js.map +1 -0
- package/dist/drivers/grok/parser.js +46 -0
- package/dist/drivers/grok/parser.js.map +1 -0
- package/dist/drivers/registry.js +2 -0
- package/dist/drivers/registry.js.map +1 -1
- package/dist/git/repository.js +0 -20
- package/dist/git/repository.js.map +1 -1
- package/dist/git/worktree.js +0 -14
- package/dist/git/worktree.js.map +1 -1
- package/dist/open/injection.js +4 -3
- package/dist/open/injection.js.map +1 -1
- package/dist/plugin/agents/auditor.md +1 -1
- package/dist/plugin/agents/orchestrator-edit.md +1 -1
- package/dist/plugin/agents/orchestrator-read.md +1 -1
- package/dist/plugin/agents/orchestrator.md +1 -1
- package/dist/plugin/agents/reviewer.md +1 -1
- package/dist/plugin/mods/agents/pane.ts +2 -0
- package/dist/plugin/prompts/roles/auditor.md +1 -1
- package/dist/plugin/prompts/roles/orchestrator-edit.md +1 -1
- package/dist/plugin/prompts/roles/orchestrator-read.md +1 -1
- package/dist/plugin/prompts/roles/orchestrator.md +1 -1
- package/dist/plugin/prompts/roles/reviewer.md +1 -1
- package/dist/store/claims.js +4 -4
- package/dist/store/database.js +1 -7
- package/dist/store/database.js.map +1 -1
- package/dist/store/sessions.js +63 -73
- package/dist/store/sessions.js.map +1 -1
- package/dist/utils/process.js +2 -35
- package/dist/utils/process.js.map +1 -1
- package/dist/web/setup-icons.js +2 -0
- package/dist/web/setup-icons.js.map +1 -1
- package/package.json +6 -5
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import { execFile } from "node:child_process";
|
|
2
|
+
import fs from "node:fs";
|
|
3
|
+
import os from "node:os";
|
|
4
|
+
import path from "node:path";
|
|
5
|
+
import { promisify } from "node:util";
|
|
6
|
+
import { runCommandWithTimeout } from "../helpers.js";
|
|
7
|
+
import { createRuntimeHooks, SessionDriver } from "../session-driver.js";
|
|
8
|
+
import { parseGrokLine } from "./parser.js";
|
|
9
|
+
const execFileAsync = promisify(execFile);
|
|
10
|
+
// Pure so the flag spellings are testable without spawning grok.
|
|
11
|
+
// Measured against grok 1.0.70: headless `-p` writes Messages JSON when asked,
|
|
12
|
+
// `--always-approve` skips tool prompts, and `--verbatim` leaves the prompt
|
|
13
|
+
// alone. A prompt that starts with `-` has to be glued to `--single`, or clap
|
|
14
|
+
// reads it as another flag.
|
|
15
|
+
export function buildGrokArgs(options) {
|
|
16
|
+
const args = ["--output-format", "streaming-messages-json", "--always-approve", "--verbatim"];
|
|
17
|
+
if (options.model)
|
|
18
|
+
args.push("--model", options.model);
|
|
19
|
+
// grok 1.0.70 rejects `max`. Its menu is low, medium, high, xhigh.
|
|
20
|
+
if (options.effort)
|
|
21
|
+
args.push("--reasoning-effort", options.effort === "max" ? "xhigh" : options.effort);
|
|
22
|
+
if (options.resumeSessionId)
|
|
23
|
+
args.push("--resume", options.resumeSessionId);
|
|
24
|
+
if (options.fork && options.resumeSessionId)
|
|
25
|
+
args.push("--fork-session");
|
|
26
|
+
const prompt = options.prompt ?? "";
|
|
27
|
+
if (prompt.startsWith("-"))
|
|
28
|
+
args.push(`--single=${prompt}`);
|
|
29
|
+
else
|
|
30
|
+
args.push("--single", prompt);
|
|
31
|
+
if (options.passthrough && options.passthrough.length > 0)
|
|
32
|
+
args.push(...options.passthrough);
|
|
33
|
+
return args;
|
|
34
|
+
}
|
|
35
|
+
// `grok --version` on a mise shim prints the installer banner before the
|
|
36
|
+
// version line. The version is the first line that starts with `grok `.
|
|
37
|
+
export function parseGrokVersion(stdout) {
|
|
38
|
+
for (const raw of stdout.split("\n")) {
|
|
39
|
+
const match = raw.trim().match(/^grok\s+(\S+)/);
|
|
40
|
+
if (match)
|
|
41
|
+
return match[1];
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
// `grok models` is a text list. The mise banner and the login line come first,
|
|
45
|
+
// then `Available models:` and one id per row. `*` plus `(default)`, or the
|
|
46
|
+
// earlier `Default model:` line, marks the default.
|
|
47
|
+
export function parseGrokModelsList(stdout) {
|
|
48
|
+
const models = [];
|
|
49
|
+
let declaredDefault;
|
|
50
|
+
let inList = false;
|
|
51
|
+
for (const raw of stdout.split("\n")) {
|
|
52
|
+
const line = raw.trim();
|
|
53
|
+
if (!line)
|
|
54
|
+
continue;
|
|
55
|
+
const declared = line.match(/^default model:\s*(\S+)/i);
|
|
56
|
+
if (declared) {
|
|
57
|
+
declaredDefault = declared[1];
|
|
58
|
+
continue;
|
|
59
|
+
}
|
|
60
|
+
if (/^available models:?$/i.test(line)) {
|
|
61
|
+
inList = true;
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
if (!inList)
|
|
65
|
+
continue;
|
|
66
|
+
const row = line.match(/^[*\-•]\s+(\S+)/);
|
|
67
|
+
if (!row)
|
|
68
|
+
continue;
|
|
69
|
+
const id = row[1];
|
|
70
|
+
models.push({
|
|
71
|
+
id,
|
|
72
|
+
name: id,
|
|
73
|
+
provider: "xai",
|
|
74
|
+
isDefault: /\(default\)/i.test(line) || id === declaredDefault,
|
|
75
|
+
supportsThinking: true,
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
if (models.length === 0)
|
|
79
|
+
return [];
|
|
80
|
+
return [{ provider: "xai", displayName: "xAI", models }];
|
|
81
|
+
}
|
|
82
|
+
export class GrokDriver extends SessionDriver {
|
|
83
|
+
id = "grok";
|
|
84
|
+
hooks = createRuntimeHooks({
|
|
85
|
+
parse: parseGrokLine,
|
|
86
|
+
nativeKeys: ["session_id", "sessionId"],
|
|
87
|
+
harness: "Grok",
|
|
88
|
+
});
|
|
89
|
+
resumeError = "No native session id available for Grok resume";
|
|
90
|
+
buildArgs(options) {
|
|
91
|
+
return buildGrokArgs(options);
|
|
92
|
+
}
|
|
93
|
+
getEnv() {
|
|
94
|
+
return { MISE_QUIET: "1", NO_COLOR: "1" };
|
|
95
|
+
}
|
|
96
|
+
capabilities() {
|
|
97
|
+
return {
|
|
98
|
+
streaming: true,
|
|
99
|
+
resume: true,
|
|
100
|
+
fork: true,
|
|
101
|
+
approvals: true,
|
|
102
|
+
usage: true,
|
|
103
|
+
cost: true,
|
|
104
|
+
modelSelection: true,
|
|
105
|
+
nativeDiff: false,
|
|
106
|
+
interrupt: true,
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
async detect() {
|
|
110
|
+
const bin = await findGrokBinary();
|
|
111
|
+
if (!bin)
|
|
112
|
+
return { installed: false, error: "grok binary not found" };
|
|
113
|
+
// One version call. `detectBinary` keeps only the first stdout line, and a
|
|
114
|
+
// mise shim prints its banner there, so the version would be thrown away
|
|
115
|
+
// and read a second time.
|
|
116
|
+
let version;
|
|
117
|
+
try {
|
|
118
|
+
version = parseGrokVersion(await runCommandWithTimeout(bin, ["--version"], { timeoutMs: 8000 }));
|
|
119
|
+
}
|
|
120
|
+
catch {
|
|
121
|
+
version = undefined;
|
|
122
|
+
}
|
|
123
|
+
let authenticated;
|
|
124
|
+
try {
|
|
125
|
+
const authPath = path.join(os.homedir(), ".grok", "auth.json");
|
|
126
|
+
if (fs.existsSync(authPath) || process.env.XAI_API_KEY)
|
|
127
|
+
authenticated = true;
|
|
128
|
+
}
|
|
129
|
+
catch {
|
|
130
|
+
authenticated = undefined;
|
|
131
|
+
}
|
|
132
|
+
return {
|
|
133
|
+
installed: true,
|
|
134
|
+
path: bin,
|
|
135
|
+
version,
|
|
136
|
+
authenticated,
|
|
137
|
+
details: "streaming-messages-json via grok --single",
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
async listModels(_options) {
|
|
141
|
+
const install = await this.detect();
|
|
142
|
+
if (!install.installed)
|
|
143
|
+
return [];
|
|
144
|
+
try {
|
|
145
|
+
const stdout = await runCommandWithTimeout(install.path ?? "grok", ["models"], { timeoutMs: 15000 });
|
|
146
|
+
return parseGrokModelsList(stdout);
|
|
147
|
+
}
|
|
148
|
+
catch {
|
|
149
|
+
return [];
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
async function findGrokBinary() {
|
|
154
|
+
try {
|
|
155
|
+
const { stdout } = await execFileAsync("which", ["grok"], { timeout: 3000 });
|
|
156
|
+
const bin = stdout.trim().split("\n")[0];
|
|
157
|
+
return bin.length > 0 ? bin : undefined;
|
|
158
|
+
}
|
|
159
|
+
catch {
|
|
160
|
+
return undefined;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
//# sourceMappingURL=driver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../../src/drivers/grok/driver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { parseClaudeLine } from "../claude/parser.js";
|
|
2
|
+
// Grok's `streaming-messages-json` is the Messages stream Claude already emits.
|
|
3
|
+
// Error results use subtypes such as `error_during_execution`, which the Claude
|
|
4
|
+
// parser only treats as failure when `is_error` is set or the subtype is exactly
|
|
5
|
+
// `error`. Force the flag, and keep a Grok-specific fallback when the line
|
|
6
|
+
// carries neither `result` nor `error`.
|
|
7
|
+
export function parseGrokLine(line, sessionId) {
|
|
8
|
+
let payload = line;
|
|
9
|
+
try {
|
|
10
|
+
const obj = JSON.parse(line);
|
|
11
|
+
if (obj && typeof obj === "object" && isGrokErrorResult(obj)) {
|
|
12
|
+
payload = JSON.stringify({ ...obj, is_error: true, error: obj.error ?? grokErrorText(obj) });
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
catch {
|
|
16
|
+
return [];
|
|
17
|
+
}
|
|
18
|
+
return parseClaudeLine(payload, sessionId).map((event) => {
|
|
19
|
+
if (event.type === "session.failed" && event.error === "Claude execution failed") {
|
|
20
|
+
return { ...event, error: "Grok execution failed" };
|
|
21
|
+
}
|
|
22
|
+
return event;
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
function isGrokErrorResult(obj) {
|
|
26
|
+
return obj.type === "result" && typeof obj.subtype === "string" && obj.subtype.startsWith("error");
|
|
27
|
+
}
|
|
28
|
+
function grokErrorText(obj) {
|
|
29
|
+
if (typeof obj.result === "string" && obj.result.trim())
|
|
30
|
+
return obj.result;
|
|
31
|
+
if (typeof obj.error === "string" && obj.error.trim())
|
|
32
|
+
return obj.error;
|
|
33
|
+
if (!Array.isArray(obj.errors) || obj.errors.length === 0)
|
|
34
|
+
return undefined;
|
|
35
|
+
const parts = obj.errors.map((item) => {
|
|
36
|
+
if (typeof item === "string")
|
|
37
|
+
return item;
|
|
38
|
+
if (item && typeof item === "object" && "message" in item && typeof item.message === "string") {
|
|
39
|
+
return item.message;
|
|
40
|
+
}
|
|
41
|
+
return JSON.stringify(item);
|
|
42
|
+
});
|
|
43
|
+
const text = parts.filter((part) => part.trim().length > 0).join("; ");
|
|
44
|
+
return text.length > 0 ? text : undefined;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/drivers/grok/parser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,gFAAgF;AAChF,gFAAgF;AAChF,iFAAiF;AACjF,2EAA2E;AAC3E,wCAAwC;AACxC,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,SAAiB;IAC3D,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAmC,CAAC;QAC/D,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7D,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/F,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,eAAe,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACvD,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,KAAK,CAAC,KAAK,KAAK,yBAAyB,EAAE,CAAC;YACjF,OAAO,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC;QACtD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,GAA4B;IACrD,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AACrG,CAAC;AAED,SAAS,aAAa,CAAC,GAA4B;IACjD,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE;QAAE,OAAO,GAAG,CAAC,MAAM,CAAC;IAC3E,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE;QAAE,OAAO,GAAG,CAAC,KAAK,CAAC;IACxE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5E,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACpC,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC1C,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,SAAS,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC9F,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvE,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5C,CAAC"}
|
package/dist/drivers/registry.js
CHANGED
|
@@ -3,6 +3,7 @@ import { CodexDriver } from "./codex/driver.js";
|
|
|
3
3
|
import { OpencodeDriver } from "./opencode/driver.js";
|
|
4
4
|
import { OmpDriver } from "./omp/driver.js";
|
|
5
5
|
import { AntigravityDriver } from "./antigravity/driver.js";
|
|
6
|
+
import { GrokDriver } from "./grok/driver.js";
|
|
6
7
|
export class DriverRegistry {
|
|
7
8
|
drivers;
|
|
8
9
|
constructor() {
|
|
@@ -12,6 +13,7 @@ export class DriverRegistry {
|
|
|
12
13
|
this.register(new OpencodeDriver());
|
|
13
14
|
this.register(new OmpDriver());
|
|
14
15
|
this.register(new AntigravityDriver());
|
|
16
|
+
this.register(new GrokDriver());
|
|
15
17
|
}
|
|
16
18
|
register(driver) {
|
|
17
19
|
this.drivers.set(driver.id, driver);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/drivers/registry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/drivers/registry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,OAAO,cAAc;IACjB,OAAO,CAA4B;IAE3C;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,IAAI,cAAc,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,QAAQ,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,QAAQ,CAAC,MAAmB;QAC1B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,GAAG,CAAC,KAAc;QAChB,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,KAAK,EAAE,CAAC,CAAC;QACnD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,GAAG,CAAC,KAAc;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,IAAI;QACF,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,MAAM,GAAsC,EAAE,CAAC;QACrD,MAAM,OAAO,CAAC,GAAG,CACf,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE;YACrD,IAAI,CAAC;gBACH,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;YACrC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACvF,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QACF,OAAO,MAA4C,CAAC;IACtD,CAAC;CACF;AAED,IAAI,SAAS,GAA0B,IAAI,CAAC;AAE5C,MAAM,UAAU,WAAW;IACzB,IAAI,CAAC,SAAS;QAAE,SAAS,GAAG,IAAI,cAAc,EAAE,CAAC;IACjD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
package/dist/git/repository.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { execFile } from "node:child_process";
|
|
2
2
|
import { promisify } from "node:util";
|
|
3
|
-
import fs from "node:fs";
|
|
4
|
-
import path from "node:path";
|
|
5
3
|
const execFileAsync = promisify(execFile);
|
|
6
4
|
export async function getGitInfo(cwd) {
|
|
7
5
|
try {
|
|
@@ -47,22 +45,4 @@ export async function getBaseCommit(cwd) {
|
|
|
47
45
|
return null;
|
|
48
46
|
}
|
|
49
47
|
}
|
|
50
|
-
export function isGitRepository(cwd) {
|
|
51
|
-
try {
|
|
52
|
-
// check .git existence upward
|
|
53
|
-
let cur = path.resolve(cwd);
|
|
54
|
-
while (true) {
|
|
55
|
-
if (fs.existsSync(path.join(cur, ".git")))
|
|
56
|
-
return true;
|
|
57
|
-
const parent = path.dirname(cur);
|
|
58
|
-
if (parent === cur)
|
|
59
|
-
break;
|
|
60
|
-
cur = parent;
|
|
61
|
-
}
|
|
62
|
-
return false;
|
|
63
|
-
}
|
|
64
|
-
catch {
|
|
65
|
-
return false;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
48
|
//# sourceMappingURL=repository.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../../src/git/repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../../src/git/repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAU1C,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,GAAW;IAC1C,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QAC/F,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,IAAI,GAAkB,IAAI,CAAC;QAC/B,IAAI,MAAM,GAAkB,IAAI,CAAC;QACjC,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;YAC9E,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,GAAG,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;YAC9F,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;YACxB,MAAM,GAAG,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,GAAG,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;YAClF,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,GAAW;IAC7C,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9E,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
package/dist/git/worktree.js
CHANGED
|
@@ -72,18 +72,4 @@ export async function removeWorktree(worktreePath, repoRoot) {
|
|
|
72
72
|
catch { }
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
|
-
export async function listWorktrees(repoRoot) {
|
|
76
|
-
try {
|
|
77
|
-
const { stdout } = await execFileAsync("git", ["worktree", "list", "--porcelain"], { cwd: repoRoot });
|
|
78
|
-
const paths = [];
|
|
79
|
-
for (const line of stdout.split("\n")) {
|
|
80
|
-
if (line.startsWith("worktree "))
|
|
81
|
-
paths.push(line.slice(9).trim());
|
|
82
|
-
}
|
|
83
|
-
return paths;
|
|
84
|
-
}
|
|
85
|
-
catch {
|
|
86
|
-
return [];
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
75
|
//# sourceMappingURL=worktree.js.map
|
package/dist/git/worktree.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktree.js","sourceRoot":"","sources":["../../src/git/worktree.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"worktree.js","sourceRoot":"","sources":["../../src/git/worktree.ts"],"names":[],"mappings":"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"}
|
package/dist/open/injection.js
CHANGED
|
@@ -41,14 +41,15 @@ export const HARNESS_INJECTION = {
|
|
|
41
41
|
claude: {
|
|
42
42
|
rename: (name) => slashCommandKeystrokes("rename", name),
|
|
43
43
|
},
|
|
44
|
-
//
|
|
45
|
-
//
|
|
46
|
-
//
|
|
44
|
+
// Listed so a harness is never silently forgotten. None of these has a
|
|
45
|
+
// rename command CodeDeck has verified, and an unverified guess would be
|
|
46
|
+
// typed into someone's session as a prompt, so they stay empty until one
|
|
47
47
|
// is probed the way `/rename` was.
|
|
48
48
|
codex: {},
|
|
49
49
|
opencode: {},
|
|
50
50
|
omp: {},
|
|
51
51
|
antigravity: {},
|
|
52
|
+
grok: {},
|
|
52
53
|
};
|
|
53
54
|
export function harnessInjection(harness) {
|
|
54
55
|
return HARNESS_INJECTION[harness] ?? {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"injection.js","sourceRoot":"","sources":["../../src/open/injection.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AAEH,yEAAyE;AACzE,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAE/B,wCAAwC;AACxC,MAAM,MAAM,GAAG,IAAI,CAAC;AAWpB;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAa,EAAE,SAAS,GAAG,mBAAmB;IACrF,MAAM,IAAI,GAAG,KAAK;SACf,UAAU,CAAC,+BAA+B,EAAE,GAAG,CAAC;SAChD,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC;SACvB,IAAI,EAAE;SACN,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC;SACnB,IAAI,EAAE,CAAC;IACV,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5C,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,sBAAsB,CAAC,OAAe,EAAE,QAAgB;IACtE,MAAM,IAAI,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACzC,OAAO,IAAI,OAAO,IAAI,IAAI,GAAG,MAAM,EAAE,CAAC;AACxC,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAsC;IAClE,MAAM,EAAE;QACN,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,QAAQ,EAAE,IAAI,CAAC;KACzD;IACD,
|
|
1
|
+
{"version":3,"file":"injection.js","sourceRoot":"","sources":["../../src/open/injection.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AAEH,yEAAyE;AACzE,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAE/B,wCAAwC;AACxC,MAAM,MAAM,GAAG,IAAI,CAAC;AAWpB;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAa,EAAE,SAAS,GAAG,mBAAmB;IACrF,MAAM,IAAI,GAAG,KAAK;SACf,UAAU,CAAC,+BAA+B,EAAE,GAAG,CAAC;SAChD,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC;SACvB,IAAI,EAAE;SACN,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC;SACnB,IAAI,EAAE,CAAC;IACV,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5C,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,sBAAsB,CAAC,OAAe,EAAE,QAAgB;IACtE,MAAM,IAAI,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACzC,OAAO,IAAI,OAAO,IAAI,IAAI,GAAG,MAAM,EAAE,CAAC;AACxC,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAsC;IAClE,MAAM,EAAE;QACN,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,QAAQ,EAAE,IAAI,CAAC;KACzD;IACD,uEAAuE;IACvE,yEAAyE;IACzE,yEAAyE;IACzE,mCAAmC;IACnC,KAAK,EAAE,EAAE;IACT,QAAQ,EAAE,EAAE;IACZ,GAAG,EAAE,EAAE;IACP,WAAW,EAAE,EAAE;IACf,IAAI,EAAE,EAAE;CACT,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,OAAO,iBAAiB,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;AAC1C,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,iBAAiB,CAAC,OAAgB;IAChD,OAAO,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC;AAC/F,CAAC"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
# Do not hand-edit; edit the manifest or partials and rebuild.
|
|
4
4
|
name: auditor
|
|
5
5
|
description: Review a scope too large for one pass by fanning out, then consolidate the findings and prove them.
|
|
6
|
-
|
|
6
|
+
disallowedTools: Edit, Write, NotebookEdit, Workflow, EnterWorktree, ExitWorktree, RemoteTrigger
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
- Always include `--role`. It selects the harness and model the human configured for that role. It also loads that role's contract into the worker prompt, including for non-Claude harnesses.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
# Do not hand-edit; edit the manifest or partials and rebuild.
|
|
4
4
|
name: orchestrator-edit
|
|
5
5
|
description: Coordinate CodeDeck workers and track their state.
|
|
6
|
-
|
|
6
|
+
disallowedTools: Agent, Workflow, EnterWorktree, ExitWorktree, RemoteTrigger
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
- Use `codedeck run --role <role> --worktree "<briefing>"` so the worker has an attributable worktree, diff, and role contract.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
# Do not hand-edit; edit the manifest or partials and rebuild.
|
|
4
4
|
name: orchestrator-read
|
|
5
5
|
description: Coordinate CodeDeck workers and track their state.
|
|
6
|
-
|
|
6
|
+
disallowedTools: Edit, Write, NotebookEdit, Agent, Workflow, EnterWorktree, ExitWorktree, RemoteTrigger
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
- Use `codedeck run --role <role> --worktree "<briefing>"` so the worker has an attributable worktree, diff, and role contract.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
# Do not hand-edit; edit the manifest or partials and rebuild.
|
|
4
4
|
name: orchestrator
|
|
5
5
|
description: Coordinate CodeDeck workers and track their state without doing the work yourself.
|
|
6
|
-
|
|
6
|
+
disallowedTools: Read, Edit, Write, NotebookEdit, Grep, Glob, LSP, WebFetch, WebSearch, Agent, Workflow, EnterWorktree, ExitWorktree, RemoteTrigger
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
- Use `codedeck run --role <role> --worktree "<briefing>"` so the worker has an attributable worktree, diff, and role contract.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
# Do not hand-edit; edit the manifest or partials and rebuild.
|
|
4
4
|
name: reviewer
|
|
5
5
|
description: Inspect changes rigorously, tie every finding to evidence, and change nothing.
|
|
6
|
-
|
|
6
|
+
disallowedTools: Edit, Write, NotebookEdit, Agent, Workflow, EnterWorktree, ExitWorktree, RemoteTrigger
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
- Verify before you claim.
|
|
@@ -63,12 +63,14 @@ const HARNESS_GLYPH = vocab({
|
|
|
63
63
|
opencode: "\uE902",
|
|
64
64
|
codex: "\uEC81",
|
|
65
65
|
omp: "\uE903",
|
|
66
|
+
grok: "G",
|
|
66
67
|
});
|
|
67
68
|
const HARNESS_LABEL = vocab({
|
|
68
69
|
claude: "Claude",
|
|
69
70
|
opencode: "OpenCode",
|
|
70
71
|
codex: "Codex",
|
|
71
72
|
omp: "OMP",
|
|
73
|
+
grok: "Grok",
|
|
72
74
|
});
|
|
73
75
|
|
|
74
76
|
function timestamp(row: SessionRow): number {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: auditor
|
|
3
3
|
description: Review a scope too large for one pass by fanning out, then consolidate the findings and prove them.
|
|
4
|
-
|
|
4
|
+
disallowedTools: Edit, Write, NotebookEdit, Workflow, EnterWorktree, ExitWorktree, RemoteTrigger
|
|
5
5
|
includes:
|
|
6
6
|
- dispatch
|
|
7
7
|
- proof
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: orchestrator-read
|
|
3
3
|
description: Coordinate CodeDeck workers and track their state.
|
|
4
|
-
|
|
4
|
+
disallowedTools: Edit, Write, NotebookEdit, Agent, Workflow, EnterWorktree, ExitWorktree, RemoteTrigger
|
|
5
5
|
includes:
|
|
6
6
|
- worktree
|
|
7
7
|
- dispatch
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: orchestrator
|
|
3
3
|
description: Coordinate CodeDeck workers and track their state without doing the work yourself.
|
|
4
|
-
|
|
4
|
+
disallowedTools: Read, Edit, Write, NotebookEdit, Grep, Glob, LSP, WebFetch, WebSearch, Agent, Workflow, EnterWorktree, ExitWorktree, RemoteTrigger
|
|
5
5
|
includes:
|
|
6
6
|
- worktree
|
|
7
7
|
- dispatch
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: reviewer
|
|
3
3
|
description: Inspect changes rigorously, tie every finding to evidence, and change nothing.
|
|
4
|
-
|
|
4
|
+
disallowedTools: Edit, Write, NotebookEdit, Agent, Workflow, EnterWorktree, ExitWorktree, RemoteTrigger
|
|
5
5
|
includes:
|
|
6
6
|
- proof
|
|
7
7
|
- rename-run
|
package/dist/store/claims.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
2
|
import { Minimatch, minimatch } from "minimatch";
|
|
3
3
|
import { isTerminalStatus } from "../core/session.js";
|
|
4
|
-
import {
|
|
5
|
-
export class ClaimNotFoundError extends
|
|
4
|
+
import { CodedeckError, SessionNotFoundError } from "../core/errors.js";
|
|
5
|
+
export class ClaimNotFoundError extends CodedeckError {
|
|
6
6
|
constructor(claimId) {
|
|
7
7
|
super(`Claim "${claimId}" not found`, "CLAIM_NOT_FOUND", { claimId });
|
|
8
8
|
}
|
|
9
9
|
}
|
|
10
|
-
export class ClaimNotOwnedError extends
|
|
10
|
+
export class ClaimNotOwnedError extends CodedeckError {
|
|
11
11
|
constructor(claimId) {
|
|
12
12
|
super(`Claim "${claimId}" is owned by another session`, "CLAIM_NOT_OWNED", { claimId });
|
|
13
13
|
}
|
|
@@ -36,7 +36,7 @@ function normalizeRepoPath(value, root) {
|
|
|
36
36
|
const candidate = path.resolve(rootPath, value.replaceAll("\\", "/"));
|
|
37
37
|
const relative = path.relative(rootPath, candidate);
|
|
38
38
|
if (relative === ".." || relative.startsWith(`..${path.sep}`) || path.isAbsolute(relative)) {
|
|
39
|
-
throw new
|
|
39
|
+
throw new CodedeckError(`Claim path "${value}" escapes the session root`, "INVALID_PATH", { path: value, root });
|
|
40
40
|
}
|
|
41
41
|
return relative ? relative.replaceAll("\\", "/") : ".";
|
|
42
42
|
}
|
package/dist/store/database.js
CHANGED
|
@@ -145,7 +145,7 @@ export class Database {
|
|
|
145
145
|
}
|
|
146
146
|
// CREATE TABLE IF NOT EXISTS is a no-op on databases that already exist, so
|
|
147
147
|
// columns added after the first release have to be applied explicitly or
|
|
148
|
-
// every existing ~/.
|
|
148
|
+
// every existing ~/.codedeck/codedeck.db throws "no such column".
|
|
149
149
|
addMissingColumns() {
|
|
150
150
|
const existing = new Set(this.db.prepare(`PRAGMA table_info(sessions)`).all().map((c) => c.name));
|
|
151
151
|
const additions = [
|
|
@@ -203,10 +203,4 @@ export function getDatabase(dbPath, options) {
|
|
|
203
203
|
singleton = new Database(undefined, options);
|
|
204
204
|
return singleton;
|
|
205
205
|
}
|
|
206
|
-
export function closeDatabase() {
|
|
207
|
-
if (singleton) {
|
|
208
|
-
singleton.close();
|
|
209
|
-
singleton = null;
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
206
|
//# sourceMappingURL=database.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/store/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAM1D,MAAM,OAAO,QAAQ;IACX,EAAE,CAAe;IACjB,MAAM,CAAS;IACf,QAAQ,CAAU;IAE1B,YAAY,MAAe,EAAE,OAAyB;QACpD,MAAM,CAAC,GAAG,QAAQ,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,KAAK,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,UAAU,EAAE,CAAC;YACb,2BAA2B;YAC3B,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,CAAC,EAAE,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC;gBACH,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC9C,CAAC;YAAC,MAAM,CAAC;gBACP,gCAAgC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAEO,OAAO;QACb,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA+GZ,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED,4EAA4E;IAC5E,yEAAyE;IACzE,
|
|
1
|
+
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/store/database.ts"],"names":[],"mappings":"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"}
|