@redplanethq/corebrain 2.8.24 → 2.8.26
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/commands/coding/read.d.ts.map +1 -1
- package/dist/commands/coding/read.js +7 -1
- package/dist/commands/coding/read.js.map +1 -1
- package/dist/config/folders.d.ts.map +1 -1
- package/dist/config/folders.js +31 -1
- package/dist/config/folders.js.map +1 -1
- package/dist/server/api/coding/coding_spawn.d.ts.map +1 -1
- package/dist/server/api/coding/coding_spawn.js +8 -0
- package/dist/server/api/coding/coding_spawn.js.map +1 -1
- package/dist/server/api/manifest-builder.d.ts.map +1 -1
- package/dist/server/api/manifest-builder.js +1 -0
- package/dist/server/api/manifest-builder.js.map +1 -1
- package/dist/server/coding-session-watcher.d.ts +41 -0
- package/dist/server/coding-session-watcher.d.ts.map +1 -0
- package/dist/server/coding-session-watcher.js +311 -0
- package/dist/server/coding-session-watcher.js.map +1 -0
- package/dist/server/tools/coding-tools.d.ts.map +1 -1
- package/dist/server/tools/coding-tools.js +119 -16
- package/dist/server/tools/coding-tools.js.map +1 -1
- package/dist/server/tools/exec-tools.d.ts.map +1 -1
- package/dist/server/tools/exec-tools.js +209 -14
- package/dist/server/tools/exec-tools.js.map +1 -1
- package/dist/types/config.d.ts +2 -0
- package/dist/types/config.d.ts.map +1 -1
- package/dist/utils/agent-templates.d.ts.map +1 -1
- package/dist/utils/agent-templates.js +21 -0
- package/dist/utils/agent-templates.js.map +1 -1
- package/dist/utils/coding-agents/claude-code.d.ts +1 -0
- package/dist/utils/coding-agents/claude-code.d.ts.map +1 -1
- package/dist/utils/coding-agents/claude-code.js +6 -0
- package/dist/utils/coding-agents/claude-code.js.map +1 -1
- package/dist/utils/coding-agents/codex.d.ts +1 -0
- package/dist/utils/coding-agents/codex.d.ts.map +1 -1
- package/dist/utils/coding-agents/codex.js +5 -0
- package/dist/utils/coding-agents/codex.js.map +1 -1
- package/dist/utils/coding-agents/index.d.ts +3 -2
- package/dist/utils/coding-agents/index.d.ts.map +1 -1
- package/dist/utils/coding-agents/index.js +28 -12
- package/dist/utils/coding-agents/index.js.map +1 -1
- package/dist/utils/coding-agents/opencode.d.ts +20 -0
- package/dist/utils/coding-agents/opencode.d.ts.map +1 -0
- package/dist/utils/coding-agents/opencode.js +375 -0
- package/dist/utils/coding-agents/opencode.js.map +1 -0
- package/dist/utils/coding-agents/types.d.ts +6 -0
- package/dist/utils/coding-agents/types.d.ts.map +1 -1
- package/dist/utils/coding-agents/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../src/commands/coding/read.tsx"],"names":[],"mappings":"AAIA,OAAO,GAAG,MAAM,KAAK,CAAC;AAKtB,eAAO,MAAM,OAAO;;;mBAGlB,CAAC;AAEH,KAAK,KAAK,GAAG;IACZ,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CACnC,CAAC;
|
|
1
|
+
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../src/commands/coding/read.tsx"],"names":[],"mappings":"AAIA,OAAO,GAAG,MAAM,KAAK,CAAC;AAKtB,eAAO,MAAM,OAAO;;;mBAGlB,CAAC;AAEH,KAAK,KAAK,GAAG;IACZ,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CACnC,CAAC;AAsIF,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,EAAE,KAAK,QAUxD"}
|
|
@@ -82,7 +82,13 @@ async function runReadSession(opts) {
|
|
|
82
82
|
const res = await readOnce();
|
|
83
83
|
if (!res)
|
|
84
84
|
return;
|
|
85
|
-
const statusColor = res.status === '
|
|
85
|
+
const statusColor = res.status === 'working'
|
|
86
|
+
? chalk.yellow
|
|
87
|
+
: res.status === 'idle'
|
|
88
|
+
? chalk.blue
|
|
89
|
+
: res.status === 'ended'
|
|
90
|
+
? chalk.green
|
|
91
|
+
: chalk.red;
|
|
86
92
|
console.log(chalk.dim(`--- Session ${res.sessionId.slice(0, 8)} | ${statusColor(res.status)} ---`));
|
|
87
93
|
console.log(chalk.dim(`Turns: ${res.turns.length} | Size: ${res.fileSizeHuman} | Dir: ${res.dir}`));
|
|
88
94
|
console.log();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.js","sourceRoot":"","sources":["../../../src/commands/coding/read.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"read.js","sourceRoot":"","sources":["../../../src/commands/coding/read.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"folders.d.ts","sourceRoot":"","sources":["../../src/config/folders.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAEjD,KAAK,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"folders.d.ts","sourceRoot":"","sources":["../../src/config/folders.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAEjD,KAAK,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AAoE5C,wBAAgB,WAAW,IAAI,YAAY,EAAE,CAE5C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,KAAK,EAAE,CAAC;CAChB,GAAG,YAAY,CAqCf;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAenD;AAED,wBAAgB,YAAY,CAC3B,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE;IAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAA;CAAC,GACnC,YAAY,CAuBd;AAED,wBAAgB,oBAAoB,CACnC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,GACV;IAAC,MAAM,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,GAAG,IAAI,CAqChD;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAElE"}
|
package/dist/config/folders.js
CHANGED
|
@@ -38,11 +38,41 @@ function realpathSafe(p) {
|
|
|
38
38
|
return p;
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
|
+
// Railway entrypoint symlinks `/app → /mnt/volume/workspace` and
|
|
42
|
+
// `/home/corebrain → /mnt/volume/corebrain-home` to back the gateway's
|
|
43
|
+
// workspace and home dirs with the persistent volume. Inputs that arrive
|
|
44
|
+
// pre-resolved to the volume path (e.g. realpath'd paths, or
|
|
45
|
+
// COREBRAIN_DEFAULT_WORKSPACE overridden to the volume path in the Railway
|
|
46
|
+
// dashboard) get rewritten to the friendly symlinked form so the stored
|
|
47
|
+
// folder list, the agent's `<AVAILABLE FOLDERS>` block, and the terminal's
|
|
48
|
+
// `pwd` all agree.
|
|
49
|
+
//
|
|
50
|
+
// No-op outside Railway — guarded explicitly on COREBRAIN_DEPLOY_MODE so it
|
|
51
|
+
// never fires on local dev or other hosts.
|
|
52
|
+
function friendlyPath(abs) {
|
|
53
|
+
if (process.env.COREBRAIN_DEPLOY_MODE !== 'railway')
|
|
54
|
+
return abs;
|
|
55
|
+
const candidates = [
|
|
56
|
+
process.env.COREBRAIN_DEFAULT_WORKSPACE,
|
|
57
|
+
'/app',
|
|
58
|
+
COREBRAIN_HOME,
|
|
59
|
+
].filter((v) => Boolean(v));
|
|
60
|
+
for (const friendly of candidates) {
|
|
61
|
+
const real = realpathSafe(friendly);
|
|
62
|
+
if (real === friendly)
|
|
63
|
+
continue;
|
|
64
|
+
if (abs === real)
|
|
65
|
+
return friendly;
|
|
66
|
+
if (abs.startsWith(real + '/'))
|
|
67
|
+
return friendly + abs.slice(real.length);
|
|
68
|
+
}
|
|
69
|
+
return abs;
|
|
70
|
+
}
|
|
41
71
|
export function listFolders() {
|
|
42
72
|
return getPreferences().gateway?.folders ?? [];
|
|
43
73
|
}
|
|
44
74
|
export function addFolder(input) {
|
|
45
|
-
const inputPath = resolve(input.path);
|
|
75
|
+
const inputPath = friendlyPath(resolve(input.path));
|
|
46
76
|
if (!existsSync(inputPath) || !statSync(inputPath).isDirectory()) {
|
|
47
77
|
throw new Error(`Not a directory: ${inputPath}`);
|
|
48
78
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"folders.js","sourceRoot":"","sources":["../../src/config/folders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAC,MAAM,SAAS,CAAC;AAC3D,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAClC,OAAO,EAAC,OAAO,EAAC,MAAM,SAAS,CAAC;AAChC,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AACvC,OAAO,EAAC,cAAc,EAAE,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAKhE,yEAAyE;AACzE,2EAA2E;AAC3E,0EAA0E;AAC1E,oDAAoD;AACpD,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;AACxD,MAAM,qBAAqB,GAAiB;IAC3C,EAAE,EAAE,oBAAoB;IACxB,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,cAAc;IACpB,MAAM,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC;IACnC,OAAO,EAAE,KAAK;CACd,CAAC;AAEF,+DAA+D;AAC/D,6EAA6E;AAC7E,6EAA6E;AAC7E,wEAAwE;AACxE,SAAS,oBAAoB,CAAC,GAAW;IACxC,IAAI,GAAG,KAAK,cAAc,IAAI,GAAG,CAAC,UAAU,CAAC,cAAc,GAAG,GAAG,CAAC,EAAE,CAAC;QACpE,OAAO,IAAI,CAAC;IACb,CAAC;IACD,MAAM,IAAI,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC;IAC1C,OAAO,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;AACnD,CAAC;AAED,2EAA2E;AAC3E,sEAAsE;AACtE,4EAA4E;AAC5E,4CAA4C;AAC5C,SAAS,YAAY,CAAC,CAAS;IAC9B,IAAI,CAAC;QACJ,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,CAAC,CAAC;IACV,CAAC;AACF,CAAC;AAED,MAAM,UAAU,WAAW;IAC1B,OAAO,cAAc,EAAE,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAIzB;IACA,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"folders.js","sourceRoot":"","sources":["../../src/config/folders.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coding_spawn.d.ts","sourceRoot":"","sources":["../../../../src/server/api/coding/coding_spawn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"coding_spawn.d.ts","sourceRoot":"","sources":["../../../../src/server/api/coding/coding_spawn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,SAAS,CAAC;AAgBhD;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,gBAAgB,EAAE,kBA8H9B,CAAC"}
|
|
@@ -6,6 +6,7 @@ import { listFolders, resolveFolderForPath } from '../../../config/folders.js';
|
|
|
6
6
|
import { ptyManager } from '../../../server/pty/manager.js';
|
|
7
7
|
import { findLatestCodexSession } from '../../../utils/coding-agents/index.js';
|
|
8
8
|
import { gatewayLog } from '../../../server/gateway-log.js';
|
|
9
|
+
import { startCodingSessionWatcher } from '../../../server/coding-session-watcher.js';
|
|
9
10
|
/**
|
|
10
11
|
* Spawn (or resume) a coding agent's interactive TUI so the xterm WS has a
|
|
11
12
|
* PTY to attach to. This is a webapp-only primitive — LLM callers use
|
|
@@ -110,6 +111,13 @@ export const codingSpawnRoute = async (app) => {
|
|
|
110
111
|
});
|
|
111
112
|
}
|
|
112
113
|
}
|
|
114
|
+
// Register turn-ended watcher so the webapp can refresh the linked
|
|
115
|
+
// task's title/description as each turn completes.
|
|
116
|
+
startCodingSessionWatcher({
|
|
117
|
+
sessionId,
|
|
118
|
+
agentName: body.agent,
|
|
119
|
+
dir: body.dir,
|
|
120
|
+
});
|
|
113
121
|
return {
|
|
114
122
|
ok: true,
|
|
115
123
|
sessionId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coding_spawn.js","sourceRoot":"","sources":["../../../../src/server/api/coding/coding_spawn.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AACvC,OAAO,EAAC,UAAU,EAAC,MAAM,SAAS,CAAC;AACnC,OAAO,EACN,cAAc,EACd,cAAc,EACd,eAAe,EACf,iBAAiB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAC,aAAa,EAAE,aAAa,EAAa,MAAM,yBAAyB,CAAC;AACjF,OAAO,EAAC,WAAW,EAAE,oBAAoB,EAAC,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAC,sBAAsB,EAAkB,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"coding_spawn.js","sourceRoot":"","sources":["../../../../src/server/api/coding/coding_spawn.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest-builder.d.ts","sourceRoot":"","sources":["../../../src/server/api/manifest-builder.ts"],"names":[],"mappings":"AAIA,OAAO,EAEN,KAAK,QAAQ,EAGb,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAgB,YAAY,EAAC,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"manifest-builder.d.ts","sourceRoot":"","sources":["../../../src/server/api/manifest-builder.ts"],"names":[],"mappings":"AAIA,OAAO,EAEN,KAAK,QAAQ,EAGb,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAgB,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAsHhE;;;;;GAKG;AACH,wBAAgB,aAAa,CAC5B,KAAK,EAAE,YAAY,GAAG,SAAS,EAC/B,IAAI,EAAE,MAAM,YAAY,GACtB,OAAO,CAOT;AAED,wBAAgB,aAAa,IAAI;IAAC,QAAQ,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,CA0DlE"}
|
|
@@ -35,6 +35,7 @@ function projectTool(t) {
|
|
|
35
35
|
const KNOWN_AGENTS = [
|
|
36
36
|
{ name: 'claude-code', command: 'claude' },
|
|
37
37
|
{ name: 'codex-cli', command: 'codex' },
|
|
38
|
+
{ name: 'opencode', command: 'opencode' },
|
|
38
39
|
];
|
|
39
40
|
/**
|
|
40
41
|
* Resolve a bare command via the env's PATH (the same one node-pty will use
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest-builder.js","sourceRoot":"","sources":["../../../src/server/api/manifest-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,QAAQ,EAAC,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AACvC,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAC,UAAU,EAAC,MAAM,SAAS,CAAC;AACnC,OAAO,EACN,gBAAgB,GAIhB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAC,cAAc,EAAC,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAC,WAAW,EAAC,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAC,SAAS,EAAC,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAC,UAAU,EAAC,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAC,UAAU,EAAC,MAAM,4BAA4B,CAAC;AAEtD,IAAI,UAAU,GAAG,OAAO,CAAC;AACzB,IAAI,CAAC;IACJ,8DAA8D;IAC9D,UAAU,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC,OAAO,IAAI,UAAU,CAAC;AACrE,CAAC;AAAC,MAAM,CAAC;IACR,4DAA4D;AAC7D,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,CAIpB;IACA,OAAO;QACN,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,WAAW,EAAE,CAAC,CAAC,WAAkD;KACjE,CAAC;AACH,CAAC;AAED,2EAA2E;AAC3E,6EAA6E;AAC7E,4DAA4D;AAC5D,MAAM,YAAY,GAA2C;IAC5D,EAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAC;IACxC,EAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAC;
|
|
1
|
+
{"version":3,"file":"manifest-builder.js","sourceRoot":"","sources":["../../../src/server/api/manifest-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Coding session watcher.
|
|
3
|
+
*
|
|
4
|
+
* Pushes a `turn_ended` event back to the webapp the moment the
|
|
5
|
+
* assistant finishes responding to a user turn (i.e. the session's
|
|
6
|
+
* computed status flips from `working` → `idle`). The webapp uses that
|
|
7
|
+
* signal to enqueue a Task title/description update job — no client
|
|
8
|
+
* polling required.
|
|
9
|
+
*
|
|
10
|
+
* Triggering strategy:
|
|
11
|
+
* - Primary: `fs.watch(dirname(transcript))` filtered by basename.
|
|
12
|
+
* Watching the directory (not the file) means we don't bet on
|
|
13
|
+
* append-in-place writes and we pick up the transcript even if
|
|
14
|
+
* the agent hasn't created it yet at the time we start.
|
|
15
|
+
* - Backstop: a low-frequency mtime poll every 5s. `fs.watch`
|
|
16
|
+
* silently no-ops on some filesystems (NFS, certain Docker bind
|
|
17
|
+
* mounts); the poll guarantees we still detect change.
|
|
18
|
+
* - Retry-on-working: if a tick reads the transcript mid-line and
|
|
19
|
+
* `readJsonlLines` silently drops the half-written final line, the
|
|
20
|
+
* status stays `working`. We schedule one short follow-up tick to
|
|
21
|
+
* catch the completing write.
|
|
22
|
+
* - `pty.onExit` is a separate signal: fires a final tick (fire and
|
|
23
|
+
* forget — the read path is async) before tearing down so the last
|
|
24
|
+
* `turn_ended` isn't lost.
|
|
25
|
+
*
|
|
26
|
+
* Lifetime:
|
|
27
|
+
* Sliding 10-min idle cap, reset on any sign of activity (watch
|
|
28
|
+
* event, backstop mtime change, or a tick that sees `working`).
|
|
29
|
+
* Reaps abandoned sessions without cutting off active ones.
|
|
30
|
+
*
|
|
31
|
+
* Auth: we POST with the user's API key (`config.auth.apiKey`) and
|
|
32
|
+
* identify the gateway by its `httpBaseUrl`, since the CLI doesn't
|
|
33
|
+
* know its own webapp-side ID.
|
|
34
|
+
*/
|
|
35
|
+
export declare function startCodingSessionWatcher(args: {
|
|
36
|
+
sessionId: string;
|
|
37
|
+
agentName: string;
|
|
38
|
+
dir: string;
|
|
39
|
+
}): void;
|
|
40
|
+
export declare function stopCodingSessionWatcher(sessionId: string): void;
|
|
41
|
+
//# sourceMappingURL=coding-session-watcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coding-session-watcher.d.ts","sourceRoot":"","sources":["../../src/server/coding-session-watcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAoDH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;CACZ,GAAG,IAAI,CA4FP;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAuBhE"}
|
|
@@ -0,0 +1,311 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Coding session watcher.
|
|
3
|
+
*
|
|
4
|
+
* Pushes a `turn_ended` event back to the webapp the moment the
|
|
5
|
+
* assistant finishes responding to a user turn (i.e. the session's
|
|
6
|
+
* computed status flips from `working` → `idle`). The webapp uses that
|
|
7
|
+
* signal to enqueue a Task title/description update job — no client
|
|
8
|
+
* polling required.
|
|
9
|
+
*
|
|
10
|
+
* Triggering strategy:
|
|
11
|
+
* - Primary: `fs.watch(dirname(transcript))` filtered by basename.
|
|
12
|
+
* Watching the directory (not the file) means we don't bet on
|
|
13
|
+
* append-in-place writes and we pick up the transcript even if
|
|
14
|
+
* the agent hasn't created it yet at the time we start.
|
|
15
|
+
* - Backstop: a low-frequency mtime poll every 5s. `fs.watch`
|
|
16
|
+
* silently no-ops on some filesystems (NFS, certain Docker bind
|
|
17
|
+
* mounts); the poll guarantees we still detect change.
|
|
18
|
+
* - Retry-on-working: if a tick reads the transcript mid-line and
|
|
19
|
+
* `readJsonlLines` silently drops the half-written final line, the
|
|
20
|
+
* status stays `working`. We schedule one short follow-up tick to
|
|
21
|
+
* catch the completing write.
|
|
22
|
+
* - `pty.onExit` is a separate signal: fires a final tick (fire and
|
|
23
|
+
* forget — the read path is async) before tearing down so the last
|
|
24
|
+
* `turn_ended` isn't lost.
|
|
25
|
+
*
|
|
26
|
+
* Lifetime:
|
|
27
|
+
* Sliding 10-min idle cap, reset on any sign of activity (watch
|
|
28
|
+
* event, backstop mtime change, or a tick that sees `working`).
|
|
29
|
+
* Reaps abandoned sessions without cutting off active ones.
|
|
30
|
+
*
|
|
31
|
+
* Auth: we POST with the user's API key (`config.auth.apiKey`) and
|
|
32
|
+
* identify the gateway by its `httpBaseUrl`, since the CLI doesn't
|
|
33
|
+
* know its own webapp-side ID.
|
|
34
|
+
*/
|
|
35
|
+
import { watch as fsWatch, statSync } from 'node:fs';
|
|
36
|
+
import { basename, dirname } from 'node:path';
|
|
37
|
+
import { getConfig } from '../config/index.js';
|
|
38
|
+
import { getPreferences } from '../config/preferences.js';
|
|
39
|
+
import { gatewayLog } from '../server/gateway-log.js';
|
|
40
|
+
import { ptyManager } from '../server/pty/manager.js';
|
|
41
|
+
import { getAgentReader, readAgentSessionTurns, } from '../utils/coding-agents/index.js';
|
|
42
|
+
import { isProcessRunning } from '../utils/coding-runner.js';
|
|
43
|
+
/** Coalesce fs-watch double-fires (FSEvents on macOS / inotify on
|
|
44
|
+
* Linux can emit multiple events per logical write). */
|
|
45
|
+
const WATCH_DEBOUNCE_MS = 200;
|
|
46
|
+
/** Backstop poll cadence — covers filesystems where `fs.watch` is a
|
|
47
|
+
* silent no-op. Cheap stat() call. */
|
|
48
|
+
const MTIME_POLL_MS = 5_000;
|
|
49
|
+
/** Retry delay after a tick that still saw `working`. The agent may
|
|
50
|
+
* have flushed the line by then, or fs.watch will fire on the
|
|
51
|
+
* completing write. */
|
|
52
|
+
const WORKING_RETRY_MS = 1_000;
|
|
53
|
+
/** Sliding idle cap — resets on any sign of activity. */
|
|
54
|
+
const IDLE_CAP_MS = 10 * 60 * 1000;
|
|
55
|
+
const watched = new Map();
|
|
56
|
+
export function startCodingSessionWatcher(args) {
|
|
57
|
+
if (watched.has(args.sessionId))
|
|
58
|
+
return;
|
|
59
|
+
const reader = getAgentReader(args.agentName);
|
|
60
|
+
if (!reader) {
|
|
61
|
+
gatewayLog(`coding-watch: no reader for agent="${args.agentName}", skipping`);
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
// Resolve the file path once — for codex this is an O(history) scan.
|
|
65
|
+
// If we can't resolve it yet, the agent may not have written its
|
|
66
|
+
// transcript; abort and let the next call (e.g. on resume) try again.
|
|
67
|
+
const filePath = reader.getSessionFilePath(args.dir, args.sessionId);
|
|
68
|
+
if (!filePath) {
|
|
69
|
+
gatewayLog(`coding-watch: no transcript path for sessionId=${args.sessionId}, skipping`);
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
const entry = {
|
|
73
|
+
sessionId: args.sessionId,
|
|
74
|
+
agentName: args.agentName,
|
|
75
|
+
dir: args.dir,
|
|
76
|
+
filePath,
|
|
77
|
+
lastStatus: 'initializing',
|
|
78
|
+
lastMtimeMs: safeMtime(filePath),
|
|
79
|
+
debounceTimer: null,
|
|
80
|
+
workingRetryTimer: null,
|
|
81
|
+
idleCapTimer: null,
|
|
82
|
+
mtimePoll: null,
|
|
83
|
+
watcher: null,
|
|
84
|
+
detachPty: null,
|
|
85
|
+
stopping: false,
|
|
86
|
+
};
|
|
87
|
+
watched.set(args.sessionId, entry);
|
|
88
|
+
// Watch the parent directory and filter by basename. Watching the
|
|
89
|
+
// dir (not the file) handles: file doesn't exist yet, agent uses
|
|
90
|
+
// temp+rename for atomic writes, file gets replaced.
|
|
91
|
+
const parentDir = dirname(filePath);
|
|
92
|
+
const targetBasename = basename(filePath);
|
|
93
|
+
try {
|
|
94
|
+
entry.watcher = fsWatch(parentDir, { persistent: false }, (_event, name) => {
|
|
95
|
+
if (name && name !== targetBasename)
|
|
96
|
+
return;
|
|
97
|
+
scheduleTick(entry, 'watch');
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
catch (err) {
|
|
101
|
+
gatewayLog(`coding-watch: fs.watch failed for ${parentDir} err=${err instanceof Error ? err.message : String(err)}`);
|
|
102
|
+
// Continue without the primary trigger — backstop poll will
|
|
103
|
+
// carry the load.
|
|
104
|
+
}
|
|
105
|
+
// Backstop mtime poll — picks up changes on filesystems where
|
|
106
|
+
// fs.watch is a silent no-op (NFS, some Docker bind mounts).
|
|
107
|
+
entry.mtimePoll = setInterval(() => {
|
|
108
|
+
const mtime = safeMtime(entry.filePath);
|
|
109
|
+
if (mtime > entry.lastMtimeMs) {
|
|
110
|
+
scheduleTick(entry, 'mtime');
|
|
111
|
+
}
|
|
112
|
+
}, MTIME_POLL_MS);
|
|
113
|
+
entry.mtimePoll.unref?.();
|
|
114
|
+
// pty.onExit → fire-and-forget a final tick so the last turn_ended
|
|
115
|
+
// is sent before we tear down. `flushAndStop` flips the stopping
|
|
116
|
+
// flag, kicks off the tick, and the tick body finishes after the
|
|
117
|
+
// entry is removed from `watched` (it checks `stopping` instead).
|
|
118
|
+
const attached = ptyManager.attach(args.sessionId, () => {
|
|
119
|
+
// We don't use PTY data as a trigger any more — the
|
|
120
|
+
// transcript file is the ground truth. The no-op handler
|
|
121
|
+
// is required by attach()'s signature.
|
|
122
|
+
}, () => {
|
|
123
|
+
flushAndStop(args.sessionId);
|
|
124
|
+
});
|
|
125
|
+
entry.detachPty = attached ? attached.detach : null;
|
|
126
|
+
// Sliding idle cap.
|
|
127
|
+
armIdleCap(entry);
|
|
128
|
+
// Initial tick — picks up whatever already exists in the
|
|
129
|
+
// transcript (the file may have been written before we attached).
|
|
130
|
+
scheduleTick(entry, 'initial');
|
|
131
|
+
}
|
|
132
|
+
export function stopCodingSessionWatcher(sessionId) {
|
|
133
|
+
const entry = watched.get(sessionId);
|
|
134
|
+
if (!entry)
|
|
135
|
+
return;
|
|
136
|
+
entry.stopping = true;
|
|
137
|
+
if (entry.debounceTimer)
|
|
138
|
+
clearTimeout(entry.debounceTimer);
|
|
139
|
+
if (entry.workingRetryTimer)
|
|
140
|
+
clearTimeout(entry.workingRetryTimer);
|
|
141
|
+
if (entry.idleCapTimer)
|
|
142
|
+
clearTimeout(entry.idleCapTimer);
|
|
143
|
+
if (entry.mtimePoll)
|
|
144
|
+
clearInterval(entry.mtimePoll);
|
|
145
|
+
if (entry.watcher) {
|
|
146
|
+
try {
|
|
147
|
+
entry.watcher.close();
|
|
148
|
+
}
|
|
149
|
+
catch {
|
|
150
|
+
/* ignore */
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
if (entry.detachPty) {
|
|
154
|
+
try {
|
|
155
|
+
entry.detachPty();
|
|
156
|
+
}
|
|
157
|
+
catch {
|
|
158
|
+
/* ignore */
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
watched.delete(sessionId);
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* pty.onExit path — flush one final tick before stopping so the last
|
|
165
|
+
* `turn_ended` isn't dropped. `tick` is async and the exit subscriber
|
|
166
|
+
* can't await without blocking sibling subscribers, so we kick off
|
|
167
|
+
* runTick and return immediately. The tick checks `entry.stopping`
|
|
168
|
+
* to allow the final read to complete after the entry is removed.
|
|
169
|
+
*/
|
|
170
|
+
function flushAndStop(sessionId) {
|
|
171
|
+
const entry = watched.get(sessionId);
|
|
172
|
+
if (!entry)
|
|
173
|
+
return;
|
|
174
|
+
if (entry.debounceTimer) {
|
|
175
|
+
clearTimeout(entry.debounceTimer);
|
|
176
|
+
entry.debounceTimer = null;
|
|
177
|
+
}
|
|
178
|
+
// Run the final tick before tearing down the watch handles. The
|
|
179
|
+
// promise resolves on its own; we don't block the exit handler.
|
|
180
|
+
runTick(entry, 'exit');
|
|
181
|
+
stopCodingSessionWatcher(sessionId);
|
|
182
|
+
}
|
|
183
|
+
function scheduleTick(entry, source) {
|
|
184
|
+
if (entry.stopping)
|
|
185
|
+
return;
|
|
186
|
+
if (entry.debounceTimer)
|
|
187
|
+
clearTimeout(entry.debounceTimer);
|
|
188
|
+
entry.debounceTimer = setTimeout(() => {
|
|
189
|
+
entry.debounceTimer = null;
|
|
190
|
+
runTick(entry, source);
|
|
191
|
+
}, WATCH_DEBOUNCE_MS);
|
|
192
|
+
entry.debounceTimer.unref?.();
|
|
193
|
+
}
|
|
194
|
+
function runTick(entry, source) {
|
|
195
|
+
tick(entry, source).catch(err => {
|
|
196
|
+
gatewayLog(`coding-watch: tick error sessionId=${entry.sessionId} src=${source} err=${err instanceof Error ? err.message : String(err)}`);
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
async function tick(entry, source) {
|
|
200
|
+
// Allow ticks for entries that are stopping (we want the exit-flush
|
|
201
|
+
// path to finish), but bail if the entry has been fully removed
|
|
202
|
+
// AND wasn't stopping at the time we were enqueued.
|
|
203
|
+
if (!watched.has(entry.sessionId) && !entry.stopping)
|
|
204
|
+
return;
|
|
205
|
+
const running = isProcessRunning(entry.sessionId);
|
|
206
|
+
const { turns, fileExists } = await readAgentSessionTurns(entry.agentName, entry.dir, entry.sessionId, { tail: true, lines: 50 });
|
|
207
|
+
// Refresh mtime cursor so the backstop poll doesn't keep
|
|
208
|
+
// re-firing on the same change.
|
|
209
|
+
entry.lastMtimeMs = safeMtime(entry.filePath);
|
|
210
|
+
const status = deriveStatus({ running, fileExists, turns });
|
|
211
|
+
// working → idle (and initializing → idle) = assistant finished
|
|
212
|
+
// responding. The only edge we care about.
|
|
213
|
+
if (status === 'idle' && entry.lastStatus !== 'idle') {
|
|
214
|
+
postTurnEnded(entry.sessionId).catch(err => {
|
|
215
|
+
gatewayLog(`coding-watch: post failed sessionId=${entry.sessionId} err=${err instanceof Error ? err.message : String(err)}`);
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
entry.lastStatus = status;
|
|
219
|
+
// Sliding cap — any signal of life resets it.
|
|
220
|
+
if (status === 'working' || source === 'watch' || source === 'mtime') {
|
|
221
|
+
armIdleCap(entry);
|
|
222
|
+
}
|
|
223
|
+
// Working after a watch event almost certainly means we caught the
|
|
224
|
+
// agent mid-write and the JSONL parser dropped the half-line.
|
|
225
|
+
// Schedule a single short retry; fs.watch will likely fire again
|
|
226
|
+
// on its own too, in which case scheduleTick coalesces.
|
|
227
|
+
if (status === 'working' && !entry.stopping) {
|
|
228
|
+
if (entry.workingRetryTimer)
|
|
229
|
+
clearTimeout(entry.workingRetryTimer);
|
|
230
|
+
entry.workingRetryTimer = setTimeout(() => {
|
|
231
|
+
entry.workingRetryTimer = null;
|
|
232
|
+
runTick(entry, 'retry');
|
|
233
|
+
}, WORKING_RETRY_MS);
|
|
234
|
+
entry.workingRetryTimer.unref?.();
|
|
235
|
+
}
|
|
236
|
+
if (status === 'ended' && !entry.stopping) {
|
|
237
|
+
stopCodingSessionWatcher(entry.sessionId);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
function deriveStatus(args) {
|
|
241
|
+
if (!args.running)
|
|
242
|
+
return 'ended';
|
|
243
|
+
if (!args.fileExists)
|
|
244
|
+
return 'initializing';
|
|
245
|
+
const last = args.turns.length > 0 ? args.turns[args.turns.length - 1] : null;
|
|
246
|
+
if (!last)
|
|
247
|
+
return 'initializing';
|
|
248
|
+
if (last.role === 'user')
|
|
249
|
+
return 'working';
|
|
250
|
+
if (last.role === 'assistant')
|
|
251
|
+
return 'idle';
|
|
252
|
+
return 'initializing';
|
|
253
|
+
}
|
|
254
|
+
function armIdleCap(entry) {
|
|
255
|
+
if (entry.idleCapTimer)
|
|
256
|
+
clearTimeout(entry.idleCapTimer);
|
|
257
|
+
entry.idleCapTimer = setTimeout(() => {
|
|
258
|
+
gatewayLog(`coding-watch: idle cap reached, stopping sessionId=${entry.sessionId}`);
|
|
259
|
+
stopCodingSessionWatcher(entry.sessionId);
|
|
260
|
+
}, IDLE_CAP_MS);
|
|
261
|
+
entry.idleCapTimer.unref?.();
|
|
262
|
+
}
|
|
263
|
+
function safeMtime(filePath) {
|
|
264
|
+
try {
|
|
265
|
+
return statSync(filePath).mtimeMs;
|
|
266
|
+
}
|
|
267
|
+
catch {
|
|
268
|
+
return 0;
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
async function postTurnEnded(sessionId) {
|
|
272
|
+
const config = getConfig();
|
|
273
|
+
const url = config.auth?.url;
|
|
274
|
+
const apiKey = config.auth?.apiKey;
|
|
275
|
+
if (!url || !apiKey) {
|
|
276
|
+
// Gateway never logged in — silently skip. Headless gateways
|
|
277
|
+
// without a configured webapp are still valid: they just don't
|
|
278
|
+
// get the task-description update side-effect.
|
|
279
|
+
return;
|
|
280
|
+
}
|
|
281
|
+
const prefs = getPreferences();
|
|
282
|
+
const baseUrl = prefs.gateway?.httpBaseUrl;
|
|
283
|
+
if (!baseUrl)
|
|
284
|
+
return;
|
|
285
|
+
const endpoint = `${url.replace(/\/+$/, '')}/api/v1/internal/coding-events`;
|
|
286
|
+
const controller = new AbortController();
|
|
287
|
+
const timeout = setTimeout(() => controller.abort(), 8_000);
|
|
288
|
+
try {
|
|
289
|
+
const res = await fetch(endpoint, {
|
|
290
|
+
method: 'POST',
|
|
291
|
+
headers: {
|
|
292
|
+
'content-type': 'application/json',
|
|
293
|
+
authorization: `Bearer ${apiKey}`,
|
|
294
|
+
},
|
|
295
|
+
body: JSON.stringify({
|
|
296
|
+
kind: 'turn_ended',
|
|
297
|
+
baseUrl: baseUrl.replace(/\/+$/, ''),
|
|
298
|
+
sessionId,
|
|
299
|
+
at: new Date().toISOString(),
|
|
300
|
+
}),
|
|
301
|
+
signal: controller.signal,
|
|
302
|
+
});
|
|
303
|
+
if (!res.ok) {
|
|
304
|
+
gatewayLog(`coding-watch: post turn_ended status=${res.status} sessionId=${sessionId}`);
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
finally {
|
|
308
|
+
clearTimeout(timeout);
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
//# sourceMappingURL=coding-session-watcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coding-session-watcher.js","sourceRoot":"","sources":["../../src/server/coding-session-watcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,EAAC,KAAK,IAAI,OAAO,EAAE,QAAQ,EAAiB,MAAM,SAAS,CAAC;AACnE,OAAO,EAAC,QAAQ,EAAE,OAAO,EAAC,MAAM,WAAW,CAAC;AAE5C,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAC,cAAc,EAAC,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAChD,OAAO,EACN,cAAc,EACd,qBAAqB,GAErB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AAEvD;wDACwD;AACxD,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAE9B;sCACsC;AACtC,MAAM,aAAa,GAAG,KAAK,CAAC;AAE5B;;uBAEuB;AACvB,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAE/B,yDAAyD;AACzD,MAAM,WAAW,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAoBnC,MAAM,OAAO,GAAG,IAAI,GAAG,EAA0B,CAAC;AAElD,MAAM,UAAU,yBAAyB,CAAC,IAIzC;IACA,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;QAAE,OAAO;IAExC,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9C,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,UAAU,CACT,sCAAsC,IAAI,CAAC,SAAS,aAAa,CACjE,CAAC;QACF,OAAO;IACR,CAAC;IAED,qEAAqE;IACrE,iEAAiE;IACjE,sEAAsE;IACtE,MAAM,QAAQ,GAAG,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACrE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,UAAU,CACT,kDAAkD,IAAI,CAAC,SAAS,YAAY,CAC5E,CAAC;QACF,OAAO;IACR,CAAC;IAED,MAAM,KAAK,GAAmB;QAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,QAAQ;QACR,UAAU,EAAE,cAAc;QAC1B,WAAW,EAAE,SAAS,CAAC,QAAQ,CAAC;QAChC,aAAa,EAAE,IAAI;QACnB,iBAAiB,EAAE,IAAI;QACvB,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,KAAK;KACf,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAEnC,kEAAkE;IAClE,iEAAiE;IACjE,qDAAqD;IACrD,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpC,MAAM,cAAc,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,CAAC;QACJ,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,EAAC,UAAU,EAAE,KAAK,EAAC,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;YACxE,IAAI,IAAI,IAAI,IAAI,KAAK,cAAc;gBAAE,OAAO;YAC5C,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,UAAU,CACT,qCAAqC,SAAS,QAC7C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAChD,EAAE,CACF,CAAC;QACF,4DAA4D;QAC5D,kBAAkB;IACnB,CAAC;IAED,8DAA8D;IAC9D,6DAA6D;IAC7D,KAAK,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;QAClC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;YAC/B,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC9B,CAAC;IACF,CAAC,EAAE,aAAa,CAAC,CAAC;IAClB,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC;IAE1B,mEAAmE;IACnE,iEAAiE;IACjE,iEAAiE;IACjE,kEAAkE;IAClE,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CACjC,IAAI,CAAC,SAAS,EACd,GAAG,EAAE;QACJ,oDAAoD;QACpD,yDAAyD;QACzD,uCAAuC;IACxC,CAAC,EACD,GAAG,EAAE;QACJ,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9B,CAAC,CACD,CAAC;IACF,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAEpD,oBAAoB;IACpB,UAAU,CAAC,KAAK,CAAC,CAAC;IAElB,yDAAyD;IACzD,kEAAkE;IAClE,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,SAAiB;IACzD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACrC,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;IACtB,IAAI,KAAK,CAAC,aAAa;QAAE,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC3D,IAAI,KAAK,CAAC,iBAAiB;QAAE,YAAY,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACnE,IAAI,KAAK,CAAC,YAAY;QAAE,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACzD,IAAI,KAAK,CAAC,SAAS;QAAE,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACpD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QACnB,IAAI,CAAC;YACJ,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;YACR,YAAY;QACb,CAAC;IACF,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC;YACJ,KAAK,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACR,YAAY;QACb,CAAC;IACF,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAC3B,CAAC;AAED;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,SAAiB;IACtC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACrC,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;QACzB,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAClC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5B,CAAC;IACD,gEAAgE;IAChE,gEAAgE;IAChE,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACvB,wBAAwB,CAAC,SAAS,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,YAAY,CAAC,KAAqB,EAAE,MAAc;IAC1D,IAAI,KAAK,CAAC,QAAQ;QAAE,OAAO;IAC3B,IAAI,KAAK,CAAC,aAAa;QAAE,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC3D,KAAK,CAAC,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;QACrC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;QAC3B,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACxB,CAAC,EAAE,iBAAiB,CAAC,CAAC;IACtB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,OAAO,CAAC,KAAqB,EAAE,MAAc;IACrD,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;QAC/B,UAAU,CACT,sCAAsC,KAAK,CAAC,SAAS,QAAQ,MAAM,QAClE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAChD,EAAE,CACF,CAAC;IACH,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,IAAI,CAAC,KAAqB,EAAE,MAAc;IACxD,oEAAoE;IACpE,gEAAgE;IAChE,oDAAoD;IACpD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ;QAAE,OAAO;IAE7D,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAClD,MAAM,EAAC,KAAK,EAAE,UAAU,EAAC,GAAG,MAAM,qBAAqB,CACtD,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,GAAG,EACT,KAAK,CAAC,SAAS,EACf,EAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAC,CACvB,CAAC;IAEF,yDAAyD;IACzD,gCAAgC;IAChC,KAAK,CAAC,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAE9C,MAAM,MAAM,GAAkB,YAAY,CAAC,EAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAC,CAAC,CAAC;IAEzE,gEAAgE;IAChE,2CAA2C;IAC3C,IAAI,MAAM,KAAK,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;QACtD,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YAC1C,UAAU,CACT,uCAAuC,KAAK,CAAC,SAAS,QACrD,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAChD,EAAE,CACF,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;IAE1B,8CAA8C;IAC9C,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACtE,UAAU,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;IAED,mEAAmE;IACnE,8DAA8D;IAC9D,iEAAiE;IACjE,wDAAwD;IACxD,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC7C,IAAI,KAAK,CAAC,iBAAiB;YAAE,YAAY,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACnE,KAAK,CAAC,iBAAiB,GAAG,UAAU,CAAC,GAAG,EAAE;YACzC,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC/B,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACzB,CAAC,EAAE,gBAAgB,CAAC,CAAC;QACrB,KAAK,CAAC,iBAAiB,CAAC,KAAK,EAAE,EAAE,CAAC;IACnC,CAAC;IAED,IAAI,MAAM,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC3C,wBAAwB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;AACF,CAAC;AAED,SAAS,YAAY,CAAC,IAIrB;IACA,IAAI,CAAC,IAAI,CAAC,OAAO;QAAE,OAAO,OAAO,CAAC;IAClC,IAAI,CAAC,IAAI,CAAC,UAAU;QAAE,OAAO,cAAc,CAAC;IAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9E,IAAI,CAAC,IAAI;QAAE,OAAO,cAAc,CAAC;IACjC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,SAAS,CAAC;IAC3C,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,MAAM,CAAC;IAC7C,OAAO,cAAc,CAAC;AACvB,CAAC;AAED,SAAS,UAAU,CAAC,KAAqB;IACxC,IAAI,KAAK,CAAC,YAAY;QAAE,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACzD,KAAK,CAAC,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE;QACpC,UAAU,CACT,sDAAsD,KAAK,CAAC,SAAS,EAAE,CACvE,CAAC;QACF,wBAAwB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC,EAAE,WAAW,CAAC,CAAC;IAChB,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC;AAC9B,CAAC;AAED,SAAS,SAAS,CAAC,QAAgB;IAClC,IAAI,CAAC;QACJ,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,CAAC,CAAC;IACV,CAAC;AACF,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,SAAiB;IAC7C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC;IAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC;IACnC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACrB,6DAA6D;QAC7D,+DAA+D;QAC/D,+CAA+C;QAC/C,OAAO;IACR,CAAC;IAED,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC;IAC3C,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,gCAAgC,CAAC;IAC5E,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC;IAC5D,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;YACjC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACR,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,MAAM,EAAE;aACjC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACpB,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gBACpC,SAAS;gBACT,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aAC5B,CAAC;YACF,MAAM,EAAE,UAAU,CAAC,MAAM;SACzB,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACb,UAAU,CACT,wCAAwC,GAAG,CAAC,MAAM,cAAc,SAAS,EAAE,CAC3E,CAAC;QACH,CAAC;IACF,CAAC;YAAS,CAAC;QACV,YAAY,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;AACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coding-tools.d.ts","sourceRoot":"","sources":["../../../src/server/tools/coding-tools.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAC;AAUjD,OAAO,EAON,KAAK,MAAM,EACX,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"coding-tools.d.ts","sourceRoot":"","sources":["../../../src/server/tools/coding-tools.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAC;AAUjD,OAAO,EAON,KAAK,MAAM,EACX,MAAM,uBAAuB,CAAC;AAgL/B,eAAO,MAAM,WAAW,EAAE,WAAW,EA0CpC,CAAC;AAqxBF,wBAAsB,iBAAiB,CACtC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,CAAC,EAAE,MAAM,GACb,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAC,CAAC,CA6B/D"}
|