@uniqbit/mate-core 0.17.0-canary.7 → 0.17.0-canary.8
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/package.json +2 -2
- package/src/cli/commands/launch/claude.ts +2 -3
- package/src/cli/commands/launch/opencode.ts +2 -3
- package/src/cli/commands/launch/shared.ts +19 -35
- package/src/cli/main.ts +23 -0
- package/src/cli/usage.ts +2 -2
- package/src/tools/setup/__snapshots__/runtime-surface-golden.test.ts.snap +43 -43
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uniqbit/mate-core",
|
|
3
|
-
"version": "0.17.0-canary.
|
|
3
|
+
"version": "0.17.0-canary.8",
|
|
4
4
|
"description": "Core framework and plugin APIs for Mate.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"files": [
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"registry": "https://registry.npmjs.org/"
|
|
24
24
|
},
|
|
25
25
|
"scripts": {
|
|
26
|
-
"test": "CI=1 bun test",
|
|
26
|
+
"test": "CI=1 bun ../../test/run-isolated.ts",
|
|
27
27
|
"typecheck": "bunx tsc --noEmit -p ../../tsconfig.json",
|
|
28
28
|
"lint": "oxlint src/",
|
|
29
29
|
"lint:fix": "oxlint src/ --fix",
|
|
@@ -3,13 +3,12 @@ import { makeLaunchCommand } from "./shared";
|
|
|
3
3
|
/**
|
|
4
4
|
* @command mate claude [-- ...agentArgs]
|
|
5
5
|
* @description Launches Claude Code for the active working repository, or the
|
|
6
|
-
* Companion Repository with `-- --companion
|
|
7
|
-
* non-interactive launches proceed without it.
|
|
6
|
+
* Companion Repository with `-- --companion`, without an interactive confirmation.
|
|
8
7
|
* @flags
|
|
9
8
|
* - `-- <args>` — arguments forwarded to the launched `claude` process.
|
|
10
9
|
* - `-- --no-git` — skip companion Git synchronization for this launch.
|
|
11
10
|
* - `-- --companion` — launch against the Companion Repository without a Working Repository.
|
|
12
|
-
* - `-- --yes` —
|
|
11
|
+
* - `-- --yes` — accepted as a Mate compatibility no-op; launches are always prompt-free.
|
|
13
12
|
* @remarks When invoked via `directPassthrough` (the top-level `mate claude`
|
|
14
13
|
* alias), all args before `--` are treated as agent args rather than being
|
|
15
14
|
* parsed as launch options.
|
|
@@ -3,13 +3,12 @@ import { makeLaunchCommand } from "./shared";
|
|
|
3
3
|
/**
|
|
4
4
|
* @command mate opencode [-- ...agentArgs]
|
|
5
5
|
* @description Launches OpenCode for the active working repository, or the
|
|
6
|
-
* Companion Repository with `-- --companion
|
|
7
|
-
* non-interactive launches proceed without it.
|
|
6
|
+
* Companion Repository with `-- --companion`, without an interactive confirmation.
|
|
8
7
|
* @flags
|
|
9
8
|
* - `-- <args>` — arguments forwarded to the launched `opencode` process.
|
|
10
9
|
* - `-- --no-git` — skip companion Git synchronization for this launch.
|
|
11
10
|
* - `-- --companion` — launch against the Companion Repository without a Working Repository.
|
|
12
|
-
* - `-- --yes` —
|
|
11
|
+
* - `-- --yes` — accepted as a Mate compatibility no-op; launches are always prompt-free.
|
|
13
12
|
* @remarks When invoked via `directPassthrough` (the top-level `mate
|
|
14
13
|
* opencode` alias), all args before `--` are treated as agent args rather
|
|
15
14
|
* than being parsed as launch options.
|
|
@@ -9,7 +9,6 @@ import {
|
|
|
9
9
|
import { createStartupProgress } from "../../../lib/components/startup-progress";
|
|
10
10
|
import { ensureUnambiguousCompanion, launchAmbiguityDeps } from "../shared/companion-selection";
|
|
11
11
|
import { runIndexCapCommand } from "../cap/index-cmd";
|
|
12
|
-
import { confirm } from "../../confirm";
|
|
13
12
|
import type { LaunchTarget } from "../../launch-selector";
|
|
14
13
|
|
|
15
14
|
const STEP_LABELS = {
|
|
@@ -22,7 +21,19 @@ export interface ParsedLaunchArgs {
|
|
|
22
21
|
agentArgs: string[];
|
|
23
22
|
skipGit?: boolean;
|
|
24
23
|
scope?: LaunchScope;
|
|
25
|
-
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
const MATE_LAUNCH_OPTIONS = new Set(["--no-git", "--companion", "--yes"]);
|
|
27
|
+
|
|
28
|
+
function parseMateLaunchArgs(agentArgs: string[]): ParsedLaunchArgs {
|
|
29
|
+
const skipGit = agentArgs.includes("--no-git");
|
|
30
|
+
const companion = agentArgs.includes("--companion");
|
|
31
|
+
|
|
32
|
+
return {
|
|
33
|
+
agentArgs: agentArgs.filter((arg) => !MATE_LAUNCH_OPTIONS.has(arg)),
|
|
34
|
+
...(skipGit ? { skipGit: true } : {}),
|
|
35
|
+
...(companion ? { scope: "companion" as const } : {}),
|
|
36
|
+
};
|
|
26
37
|
}
|
|
27
38
|
|
|
28
39
|
export { ensureUnambiguousCompanion, launchAmbiguityDeps };
|
|
@@ -31,14 +42,12 @@ export interface LaunchCommandDeps {
|
|
|
31
42
|
createLauncher: () => Pick<FrameworkLauncher, "prepare">;
|
|
32
43
|
createProgress: typeof createStartupProgress;
|
|
33
44
|
runIndexCapCommand: typeof runIndexCapCommand;
|
|
34
|
-
confirm: typeof confirm;
|
|
35
45
|
}
|
|
36
46
|
|
|
37
47
|
export const launchCommandDeps: LaunchCommandDeps = {
|
|
38
48
|
createLauncher: () => new FrameworkLauncher(),
|
|
39
49
|
createProgress: createStartupProgress,
|
|
40
50
|
runIndexCapCommand,
|
|
41
|
-
confirm,
|
|
42
51
|
};
|
|
43
52
|
|
|
44
53
|
export function parseDirectLaunchArgs(argv: string[]): ParsedLaunchArgs {
|
|
@@ -47,15 +56,10 @@ export function parseDirectLaunchArgs(argv: string[]): ParsedLaunchArgs {
|
|
|
47
56
|
|
|
48
57
|
const beforeSeparator = argv.slice(0, separatorIndex);
|
|
49
58
|
const afterSeparator = argv.slice(separatorIndex + 1);
|
|
50
|
-
const
|
|
51
|
-
const companion = afterSeparator.includes("--companion");
|
|
52
|
-
const skipConfirmation = afterSeparator.includes("--yes");
|
|
53
|
-
const reserved = new Set(["--no-git", "--companion", "--yes"]);
|
|
59
|
+
const parsed = parseMateLaunchArgs(afterSeparator);
|
|
54
60
|
return {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
...(companion ? { scope: "companion" as const } : {}),
|
|
58
|
-
...(skipConfirmation ? { skipConfirmation: true } : {}),
|
|
61
|
+
...parsed,
|
|
62
|
+
agentArgs: [...beforeSeparator, ...parsed.agentArgs],
|
|
59
63
|
};
|
|
60
64
|
}
|
|
61
65
|
|
|
@@ -70,23 +74,13 @@ export function parseLaunchArgs(argv: string[]): ParsedLaunchArgs | null {
|
|
|
70
74
|
return null;
|
|
71
75
|
}
|
|
72
76
|
|
|
73
|
-
|
|
74
|
-
const companion = agentArgs.includes("--companion");
|
|
75
|
-
const skipConfirmation = agentArgs.includes("--yes");
|
|
76
|
-
const reserved = new Set(["--no-git", "--companion", "--yes"]);
|
|
77
|
-
return {
|
|
78
|
-
agentArgs: agentArgs.filter((arg) => !reserved.has(arg)),
|
|
79
|
-
...(skipGit ? { skipGit: true } : {}),
|
|
80
|
-
...(companion ? { scope: "companion" as const } : {}),
|
|
81
|
-
...(skipConfirmation ? { skipConfirmation: true } : {}),
|
|
82
|
-
};
|
|
77
|
+
return parseMateLaunchArgs(agentArgs);
|
|
83
78
|
}
|
|
84
79
|
|
|
85
80
|
/**
|
|
86
81
|
* @description Shared launch execution used by `mate claude`, `mate opencode`,
|
|
87
82
|
* and the direct `mate claude` / `mate opencode` commands: resolves the launch via {@link FrameworkLauncher.prepare},
|
|
88
|
-
*
|
|
89
|
-
* `runIndexCapCommand`, then executes, prints the JSON result, and adopts the
|
|
83
|
+
* re-syncs capability indexes via `runIndexCapCommand`, then executes, prints the JSON result, and adopts the
|
|
90
84
|
* agent's outcome as the command's exit status (128 + signal for a signalled stop).
|
|
91
85
|
* @remarks Exits non-zero with a targeted message for `ToolNotAllowedError`
|
|
92
86
|
* (repo policy disallows this tool) and `RepositoryNotSelectedError` (no
|
|
@@ -96,7 +90,6 @@ export async function runLaunchToolCommand(
|
|
|
96
90
|
tool: LaunchTarget,
|
|
97
91
|
args: string[],
|
|
98
92
|
options: {
|
|
99
|
-
skipConfirmation?: boolean;
|
|
100
93
|
skipGit?: boolean;
|
|
101
94
|
scope?: LaunchScope;
|
|
102
95
|
} = {},
|
|
@@ -122,14 +115,6 @@ export async function runLaunchToolCommand(
|
|
|
122
115
|
// Ink's line tracking, corrupting later re-renders (e.g. duplicated title).
|
|
123
116
|
progress?.stop();
|
|
124
117
|
|
|
125
|
-
if (!options.skipConfirmation && process.stdin.isTTY) {
|
|
126
|
-
const ok = await launchCommandDeps.confirm("Continue? [y/N] ");
|
|
127
|
-
if (!ok) {
|
|
128
|
-
process.stderr.write("Aborted.\n");
|
|
129
|
-
process.exit(1);
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
|
|
133
118
|
if (options.scope !== "companion") {
|
|
134
119
|
await launchCommandDeps.runIndexCapCommand([], {
|
|
135
120
|
onStepStart: (step) => process.stdout.write(`${STEP_LABELS[step]}...\n`),
|
|
@@ -176,7 +161,7 @@ export async function runLaunchToolCommand(
|
|
|
176
161
|
/**
|
|
177
162
|
* Builds the `mate <tool>` command handler: parses launch args (direct
|
|
178
163
|
* passthrough or flagged), guards against ambiguous companions, then launches
|
|
179
|
-
* via {@link runLaunchToolCommand}
|
|
164
|
+
* via {@link runLaunchToolCommand} without an interactive confirmation.
|
|
180
165
|
*/
|
|
181
166
|
export function makeLaunchCommand(tool: LaunchTarget) {
|
|
182
167
|
return async function runLaunchCommand(
|
|
@@ -197,7 +182,6 @@ export function makeLaunchCommand(tool: LaunchTarget) {
|
|
|
197
182
|
}
|
|
198
183
|
|
|
199
184
|
await runLaunchToolCommand(tool, parsed.agentArgs, {
|
|
200
|
-
skipConfirmation: !process.stdin.isTTY || parsed.skipConfirmation,
|
|
201
185
|
skipGit: parsed.skipGit,
|
|
202
186
|
scope: parsed.scope,
|
|
203
187
|
});
|
package/src/cli/main.ts
CHANGED
|
@@ -251,6 +251,29 @@ export async function main(argv = process.argv, deps: MainDeps = mainDeps): Prom
|
|
|
251
251
|
return;
|
|
252
252
|
await runLaunchOpenCodeCommand(argv.slice(3), { directPassthrough: true });
|
|
253
253
|
return;
|
|
254
|
+
case "launch": {
|
|
255
|
+
const launchArgs = argv.slice(4);
|
|
256
|
+
const companion = parseDirectLaunchArgs(launchArgs).scope === "companion";
|
|
257
|
+
if (subcommand !== "claude" && subcommand !== "opencode") {
|
|
258
|
+
console.error(`${FRAMEWORK_NAME}: expected launch claude or launch opencode.`);
|
|
259
|
+
process.exitCode = 1;
|
|
260
|
+
return;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
const launchCommand =
|
|
264
|
+
subcommand === "claude" ? runLaunchClaudeCommand : runLaunchOpenCodeCommand;
|
|
265
|
+
if (
|
|
266
|
+
!(await gate({
|
|
267
|
+
updateGuard: true,
|
|
268
|
+
companion: companion ? { persistSelection: false } : true,
|
|
269
|
+
install: true,
|
|
270
|
+
}))
|
|
271
|
+
)
|
|
272
|
+
return;
|
|
273
|
+
|
|
274
|
+
await launchCommand(launchArgs, { directPassthrough: true });
|
|
275
|
+
return;
|
|
276
|
+
}
|
|
254
277
|
case "report":
|
|
255
278
|
if (!(await gate({ updateGuard: true, install: true }))) return;
|
|
256
279
|
await runReportCommand(argv.slice(3));
|
package/src/cli/usage.ts
CHANGED
|
@@ -33,8 +33,8 @@ export function usage(): string {
|
|
|
33
33
|
` ${n} studio [--writable]`,
|
|
34
34
|
` ${n} studio serve --port <port> [--host <host>] [--writable]`,
|
|
35
35
|
` ${n} config`,
|
|
36
|
-
` ${n} claude [args...] (after --: --no-git, --companion, --yes
|
|
37
|
-
` ${n} opencode [args...] (after --: --no-git, --companion, --yes
|
|
36
|
+
` ${n} claude [args...] (after --: --no-git, --companion, --yes no-op)`,
|
|
37
|
+
` ${n} opencode [args...] (after --: --no-git, --companion, --yes no-op)`,
|
|
38
38
|
` ${n} cap openspec <subcommand> [args...]`,
|
|
39
39
|
` ${n} cap graphify <subcommand> [args...]`,
|
|
40
40
|
` ${n} cap index [--graphify] [--tokensave]`,
|
|
@@ -241,7 +241,7 @@ exports[`runtime surface golden fixtures setup graphify × opencode 1`] = `
|
|
|
241
241
|
"reserved": 15000,
|
|
242
242
|
},
|
|
243
243
|
"plugin": [
|
|
244
|
-
"@uniqbit/mate-opencode-plugin
|
|
244
|
+
"@uniqbit/mate-opencode-plugin@<version>",
|
|
245
245
|
],
|
|
246
246
|
"references": {
|
|
247
247
|
"mate": "..",
|
|
@@ -277,7 +277,7 @@ Write chunks to $GRAPHIFY_OUT and read $GRAPHIFY_OUT later.
|
|
|
277
277
|
"opencodeTui": {
|
|
278
278
|
"$schema": "https://opencode.ai/tui.json",
|
|
279
279
|
"plugin": [
|
|
280
|
-
"@uniqbit/mate-opencode-plugin
|
|
280
|
+
"@uniqbit/mate-opencode-plugin@<version>",
|
|
281
281
|
],
|
|
282
282
|
},
|
|
283
283
|
}
|
|
@@ -367,7 +367,7 @@ exports[`runtime surface golden fixtures setup graphify × opencode 3`] = `
|
|
|
367
367
|
],
|
|
368
368
|
"kind": "list",
|
|
369
369
|
"values": [
|
|
370
|
-
"@uniqbit/mate-opencode-plugin
|
|
370
|
+
"@uniqbit/mate-opencode-plugin@<version>",
|
|
371
371
|
],
|
|
372
372
|
},
|
|
373
373
|
{
|
|
@@ -460,7 +460,7 @@ Write chunks to $GRAPHIFY_OUT and read $GRAPHIFY_OUT later.
|
|
|
460
460
|
"reserved": 15000,
|
|
461
461
|
},
|
|
462
462
|
"plugin": [
|
|
463
|
-
"@uniqbit/mate-opencode-plugin
|
|
463
|
+
"@uniqbit/mate-opencode-plugin@<version>",
|
|
464
464
|
],
|
|
465
465
|
"references": {
|
|
466
466
|
"mate": "..",
|
|
@@ -496,7 +496,7 @@ Write chunks to $GRAPHIFY_OUT and read $GRAPHIFY_OUT later.
|
|
|
496
496
|
"opencodeTui": {
|
|
497
497
|
"$schema": "https://opencode.ai/tui.json",
|
|
498
498
|
"plugin": [
|
|
499
|
-
"@uniqbit/mate-opencode-plugin
|
|
499
|
+
"@uniqbit/mate-opencode-plugin@<version>",
|
|
500
500
|
],
|
|
501
501
|
},
|
|
502
502
|
}
|
|
@@ -717,7 +717,7 @@ exports[`runtime surface golden fixtures setup graphify × claude+opencode 3`] =
|
|
|
717
717
|
],
|
|
718
718
|
"kind": "list",
|
|
719
719
|
"values": [
|
|
720
|
-
"@uniqbit/mate-opencode-plugin
|
|
720
|
+
"@uniqbit/mate-opencode-plugin@<version>",
|
|
721
721
|
],
|
|
722
722
|
},
|
|
723
723
|
{
|
|
@@ -1019,7 +1019,7 @@ exports[`runtime surface golden fixtures setup tokensave × opencode 1`] = `
|
|
|
1019
1019
|
},
|
|
1020
1020
|
},
|
|
1021
1021
|
"plugin": [
|
|
1022
|
-
"@uniqbit/mate-opencode-plugin
|
|
1022
|
+
"@uniqbit/mate-opencode-plugin@<version>",
|
|
1023
1023
|
],
|
|
1024
1024
|
"references": {
|
|
1025
1025
|
"mate": "..",
|
|
@@ -1034,7 +1034,7 @@ exports[`runtime surface golden fixtures setup tokensave × opencode 1`] = `
|
|
|
1034
1034
|
"opencodeTui": {
|
|
1035
1035
|
"$schema": "https://opencode.ai/tui.json",
|
|
1036
1036
|
"plugin": [
|
|
1037
|
-
"@uniqbit/mate-opencode-plugin
|
|
1037
|
+
"@uniqbit/mate-opencode-plugin@<version>",
|
|
1038
1038
|
],
|
|
1039
1039
|
},
|
|
1040
1040
|
}
|
|
@@ -1121,7 +1121,7 @@ exports[`runtime surface golden fixtures setup tokensave × opencode 3`] = `
|
|
|
1121
1121
|
],
|
|
1122
1122
|
"kind": "list",
|
|
1123
1123
|
"values": [
|
|
1124
|
-
"@uniqbit/mate-opencode-plugin
|
|
1124
|
+
"@uniqbit/mate-opencode-plugin@<version>",
|
|
1125
1125
|
],
|
|
1126
1126
|
},
|
|
1127
1127
|
{
|
|
@@ -1257,7 +1257,7 @@ exports[`runtime surface golden fixtures setup tokensave × claude+opencode 1`]
|
|
|
1257
1257
|
},
|
|
1258
1258
|
},
|
|
1259
1259
|
"plugin": [
|
|
1260
|
-
"@uniqbit/mate-opencode-plugin
|
|
1260
|
+
"@uniqbit/mate-opencode-plugin@<version>",
|
|
1261
1261
|
],
|
|
1262
1262
|
"references": {
|
|
1263
1263
|
"mate": "..",
|
|
@@ -1272,7 +1272,7 @@ exports[`runtime surface golden fixtures setup tokensave × claude+opencode 1`]
|
|
|
1272
1272
|
"opencodeTui": {
|
|
1273
1273
|
"$schema": "https://opencode.ai/tui.json",
|
|
1274
1274
|
"plugin": [
|
|
1275
|
-
"@uniqbit/mate-opencode-plugin
|
|
1275
|
+
"@uniqbit/mate-opencode-plugin@<version>",
|
|
1276
1276
|
],
|
|
1277
1277
|
},
|
|
1278
1278
|
}
|
|
@@ -1505,7 +1505,7 @@ exports[`runtime surface golden fixtures setup tokensave × claude+opencode 3`]
|
|
|
1505
1505
|
],
|
|
1506
1506
|
"kind": "list",
|
|
1507
1507
|
"values": [
|
|
1508
|
-
"@uniqbit/mate-opencode-plugin
|
|
1508
|
+
"@uniqbit/mate-opencode-plugin@<version>",
|
|
1509
1509
|
],
|
|
1510
1510
|
},
|
|
1511
1511
|
{
|
|
@@ -1747,7 +1747,7 @@ Canonical Mate policy and any more specific tool-routing instructions remain aut
|
|
|
1747
1747
|
"reserved": 15000,
|
|
1748
1748
|
},
|
|
1749
1749
|
"plugin": [
|
|
1750
|
-
"@uniqbit/mate-opencode-plugin
|
|
1750
|
+
"@uniqbit/mate-opencode-plugin@<version>",
|
|
1751
1751
|
"context-mode@1.0.169",
|
|
1752
1752
|
],
|
|
1753
1753
|
"references": {
|
|
@@ -1763,7 +1763,7 @@ Canonical Mate policy and any more specific tool-routing instructions remain aut
|
|
|
1763
1763
|
"opencodeTui": {
|
|
1764
1764
|
"$schema": "https://opencode.ai/tui.json",
|
|
1765
1765
|
"plugin": [
|
|
1766
|
-
"@uniqbit/mate-opencode-plugin
|
|
1766
|
+
"@uniqbit/mate-opencode-plugin@<version>",
|
|
1767
1767
|
"context-mode@1.0.169",
|
|
1768
1768
|
],
|
|
1769
1769
|
},
|
|
@@ -1843,7 +1843,7 @@ exports[`runtime surface golden fixtures setup context-mode × opencode 3`] = `
|
|
|
1843
1843
|
],
|
|
1844
1844
|
"kind": "list",
|
|
1845
1845
|
"values": [
|
|
1846
|
-
"@uniqbit/mate-opencode-plugin
|
|
1846
|
+
"@uniqbit/mate-opencode-plugin@<version>",
|
|
1847
1847
|
],
|
|
1848
1848
|
},
|
|
1849
1849
|
{
|
|
@@ -1913,7 +1913,7 @@ Canonical Mate policy and any more specific tool-routing instructions remain aut
|
|
|
1913
1913
|
"reserved": 15000,
|
|
1914
1914
|
},
|
|
1915
1915
|
"plugin": [
|
|
1916
|
-
"@uniqbit/mate-opencode-plugin
|
|
1916
|
+
"@uniqbit/mate-opencode-plugin@<version>",
|
|
1917
1917
|
"context-mode@1.0.169",
|
|
1918
1918
|
],
|
|
1919
1919
|
"references": {
|
|
@@ -1929,7 +1929,7 @@ Canonical Mate policy and any more specific tool-routing instructions remain aut
|
|
|
1929
1929
|
"opencodeTui": {
|
|
1930
1930
|
"$schema": "https://opencode.ai/tui.json",
|
|
1931
1931
|
"plugin": [
|
|
1932
|
-
"@uniqbit/mate-opencode-plugin
|
|
1932
|
+
"@uniqbit/mate-opencode-plugin@<version>",
|
|
1933
1933
|
"context-mode@1.0.169",
|
|
1934
1934
|
],
|
|
1935
1935
|
},
|
|
@@ -2129,7 +2129,7 @@ exports[`runtime surface golden fixtures setup context-mode × claude+opencode 3
|
|
|
2129
2129
|
],
|
|
2130
2130
|
"kind": "list",
|
|
2131
2131
|
"values": [
|
|
2132
|
-
"@uniqbit/mate-opencode-plugin
|
|
2132
|
+
"@uniqbit/mate-opencode-plugin@<version>",
|
|
2133
2133
|
],
|
|
2134
2134
|
},
|
|
2135
2135
|
{
|
|
@@ -2377,7 +2377,7 @@ exports[`runtime surface golden fixtures setup react-doctor × opencode 1`] = `
|
|
|
2377
2377
|
"reserved": 15000,
|
|
2378
2378
|
},
|
|
2379
2379
|
"plugin": [
|
|
2380
|
-
"@uniqbit/mate-opencode-plugin
|
|
2380
|
+
"@uniqbit/mate-opencode-plugin@<version>",
|
|
2381
2381
|
],
|
|
2382
2382
|
"references": {
|
|
2383
2383
|
"mate": "..",
|
|
@@ -2395,7 +2395,7 @@ exports[`runtime surface golden fixtures setup react-doctor × opencode 1`] = `
|
|
|
2395
2395
|
"opencodeTui": {
|
|
2396
2396
|
"$schema": "https://opencode.ai/tui.json",
|
|
2397
2397
|
"plugin": [
|
|
2398
|
-
"@uniqbit/mate-opencode-plugin
|
|
2398
|
+
"@uniqbit/mate-opencode-plugin@<version>",
|
|
2399
2399
|
],
|
|
2400
2400
|
},
|
|
2401
2401
|
}
|
|
@@ -2474,7 +2474,7 @@ exports[`runtime surface golden fixtures setup react-doctor × opencode 3`] = `
|
|
|
2474
2474
|
],
|
|
2475
2475
|
"kind": "list",
|
|
2476
2476
|
"values": [
|
|
2477
|
-
"@uniqbit/mate-opencode-plugin
|
|
2477
|
+
"@uniqbit/mate-opencode-plugin@<version>",
|
|
2478
2478
|
],
|
|
2479
2479
|
},
|
|
2480
2480
|
{
|
|
@@ -2567,7 +2567,7 @@ exports[`runtime surface golden fixtures setup react-doctor × claude+opencode 1
|
|
|
2567
2567
|
"reserved": 15000,
|
|
2568
2568
|
},
|
|
2569
2569
|
"plugin": [
|
|
2570
|
-
"@uniqbit/mate-opencode-plugin
|
|
2570
|
+
"@uniqbit/mate-opencode-plugin@<version>",
|
|
2571
2571
|
],
|
|
2572
2572
|
"references": {
|
|
2573
2573
|
"mate": "..",
|
|
@@ -2585,7 +2585,7 @@ exports[`runtime surface golden fixtures setup react-doctor × claude+opencode 1
|
|
|
2585
2585
|
"opencodeTui": {
|
|
2586
2586
|
"$schema": "https://opencode.ai/tui.json",
|
|
2587
2587
|
"plugin": [
|
|
2588
|
-
"@uniqbit/mate-opencode-plugin
|
|
2588
|
+
"@uniqbit/mate-opencode-plugin@<version>",
|
|
2589
2589
|
],
|
|
2590
2590
|
},
|
|
2591
2591
|
}
|
|
@@ -2783,7 +2783,7 @@ exports[`runtime surface golden fixtures setup react-doctor × claude+opencode 3
|
|
|
2783
2783
|
],
|
|
2784
2784
|
"kind": "list",
|
|
2785
2785
|
"values": [
|
|
2786
|
-
"@uniqbit/mate-opencode-plugin
|
|
2786
|
+
"@uniqbit/mate-opencode-plugin@<version>",
|
|
2787
2787
|
],
|
|
2788
2788
|
},
|
|
2789
2789
|
{
|
|
@@ -3047,7 +3047,7 @@ exports[`runtime surface golden fixtures setup openspec × opencode 1`] = `
|
|
|
3047
3047
|
"reserved": 15000,
|
|
3048
3048
|
},
|
|
3049
3049
|
"plugin": [
|
|
3050
|
-
"@uniqbit/mate-opencode-plugin
|
|
3050
|
+
"@uniqbit/mate-opencode-plugin@<version>",
|
|
3051
3051
|
],
|
|
3052
3052
|
"references": {
|
|
3053
3053
|
"mate": "..",
|
|
@@ -3080,7 +3080,7 @@ exports[`runtime surface golden fixtures setup openspec × opencode 1`] = `
|
|
|
3080
3080
|
"opencodeTui": {
|
|
3081
3081
|
"$schema": "https://opencode.ai/tui.json",
|
|
3082
3082
|
"plugin": [
|
|
3083
|
-
"@uniqbit/mate-opencode-plugin
|
|
3083
|
+
"@uniqbit/mate-opencode-plugin@<version>",
|
|
3084
3084
|
],
|
|
3085
3085
|
},
|
|
3086
3086
|
}
|
|
@@ -3161,7 +3161,7 @@ exports[`runtime surface golden fixtures setup openspec × opencode 3`] = `
|
|
|
3161
3161
|
],
|
|
3162
3162
|
"kind": "list",
|
|
3163
3163
|
"values": [
|
|
3164
|
-
"@uniqbit/mate-opencode-plugin
|
|
3164
|
+
"@uniqbit/mate-opencode-plugin@<version>",
|
|
3165
3165
|
],
|
|
3166
3166
|
},
|
|
3167
3167
|
{
|
|
@@ -3255,7 +3255,7 @@ exports[`runtime surface golden fixtures setup openspec × claude+opencode 1`] =
|
|
|
3255
3255
|
"reserved": 15000,
|
|
3256
3256
|
},
|
|
3257
3257
|
"plugin": [
|
|
3258
|
-
"@uniqbit/mate-opencode-plugin
|
|
3258
|
+
"@uniqbit/mate-opencode-plugin@<version>",
|
|
3259
3259
|
],
|
|
3260
3260
|
"references": {
|
|
3261
3261
|
"mate": "..",
|
|
@@ -3288,7 +3288,7 @@ exports[`runtime surface golden fixtures setup openspec × claude+opencode 1`] =
|
|
|
3288
3288
|
"opencodeTui": {
|
|
3289
3289
|
"$schema": "https://opencode.ai/tui.json",
|
|
3290
3290
|
"plugin": [
|
|
3291
|
-
"@uniqbit/mate-opencode-plugin
|
|
3291
|
+
"@uniqbit/mate-opencode-plugin@<version>",
|
|
3292
3292
|
],
|
|
3293
3293
|
},
|
|
3294
3294
|
}
|
|
@@ -3503,7 +3503,7 @@ exports[`runtime surface golden fixtures setup openspec × claude+opencode 3`] =
|
|
|
3503
3503
|
],
|
|
3504
3504
|
"kind": "list",
|
|
3505
3505
|
"values": [
|
|
3506
|
-
"@uniqbit/mate-opencode-plugin
|
|
3506
|
+
"@uniqbit/mate-opencode-plugin@<version>",
|
|
3507
3507
|
],
|
|
3508
3508
|
},
|
|
3509
3509
|
{
|
|
@@ -3723,7 +3723,7 @@ Write chunks to $GRAPHIFY_OUT and read $GRAPHIFY_OUT later.
|
|
|
3723
3723
|
},
|
|
3724
3724
|
},
|
|
3725
3725
|
"plugin": [
|
|
3726
|
-
"@uniqbit/mate-opencode-plugin
|
|
3726
|
+
"@uniqbit/mate-opencode-plugin@<version>",
|
|
3727
3727
|
"context-mode@1.0.169",
|
|
3728
3728
|
],
|
|
3729
3729
|
"references": {
|
|
@@ -3779,7 +3779,7 @@ Write chunks to $GRAPHIFY_OUT and read $GRAPHIFY_OUT later.
|
|
|
3779
3779
|
"opencodeTui": {
|
|
3780
3780
|
"$schema": "https://opencode.ai/tui.json",
|
|
3781
3781
|
"plugin": [
|
|
3782
|
-
"@uniqbit/mate-opencode-plugin
|
|
3782
|
+
"@uniqbit/mate-opencode-plugin@<version>",
|
|
3783
3783
|
"context-mode@1.0.169",
|
|
3784
3784
|
],
|
|
3785
3785
|
},
|
|
@@ -4050,7 +4050,7 @@ exports[`runtime surface golden fixtures setup all capabilities × claude+openco
|
|
|
4050
4050
|
],
|
|
4051
4051
|
"kind": "list",
|
|
4052
4052
|
"values": [
|
|
4053
|
-
"@uniqbit/mate-opencode-plugin
|
|
4053
|
+
"@uniqbit/mate-opencode-plugin@<version>",
|
|
4054
4054
|
],
|
|
4055
4055
|
},
|
|
4056
4056
|
{
|
|
@@ -4126,7 +4126,7 @@ exports[`runtime surface golden fixtures teardown graphify × claude+opencode 1`
|
|
|
4126
4126
|
"reserved": 15000,
|
|
4127
4127
|
},
|
|
4128
4128
|
"plugin": [
|
|
4129
|
-
"@uniqbit/mate-opencode-plugin
|
|
4129
|
+
"@uniqbit/mate-opencode-plugin@<version>",
|
|
4130
4130
|
],
|
|
4131
4131
|
"references": {
|
|
4132
4132
|
"mate": "..",
|
|
@@ -4141,7 +4141,7 @@ exports[`runtime surface golden fixtures teardown graphify × claude+opencode 1`
|
|
|
4141
4141
|
"opencodeTui": {
|
|
4142
4142
|
"$schema": "https://opencode.ai/tui.json",
|
|
4143
4143
|
"plugin": [
|
|
4144
|
-
"@uniqbit/mate-opencode-plugin
|
|
4144
|
+
"@uniqbit/mate-opencode-plugin@<version>",
|
|
4145
4145
|
],
|
|
4146
4146
|
},
|
|
4147
4147
|
}
|
|
@@ -4188,7 +4188,7 @@ exports[`runtime surface golden fixtures teardown tokensave × claude+opencode 1
|
|
|
4188
4188
|
"reserved": 15000,
|
|
4189
4189
|
},
|
|
4190
4190
|
"plugin": [
|
|
4191
|
-
"@uniqbit/mate-opencode-plugin
|
|
4191
|
+
"@uniqbit/mate-opencode-plugin@<version>",
|
|
4192
4192
|
],
|
|
4193
4193
|
"references": {
|
|
4194
4194
|
"mate": "..",
|
|
@@ -4203,7 +4203,7 @@ exports[`runtime surface golden fixtures teardown tokensave × claude+opencode 1
|
|
|
4203
4203
|
"opencodeTui": {
|
|
4204
4204
|
"$schema": "https://opencode.ai/tui.json",
|
|
4205
4205
|
"plugin": [
|
|
4206
|
-
"@uniqbit/mate-opencode-plugin
|
|
4206
|
+
"@uniqbit/mate-opencode-plugin@<version>",
|
|
4207
4207
|
],
|
|
4208
4208
|
},
|
|
4209
4209
|
}
|
|
@@ -4251,7 +4251,7 @@ exports[`runtime surface golden fixtures teardown context-mode × claude+opencod
|
|
|
4251
4251
|
"reserved": 15000,
|
|
4252
4252
|
},
|
|
4253
4253
|
"plugin": [
|
|
4254
|
-
"@uniqbit/mate-opencode-plugin
|
|
4254
|
+
"@uniqbit/mate-opencode-plugin@<version>",
|
|
4255
4255
|
],
|
|
4256
4256
|
"references": {
|
|
4257
4257
|
"mate": "..",
|
|
@@ -4266,7 +4266,7 @@ exports[`runtime surface golden fixtures teardown context-mode × claude+opencod
|
|
|
4266
4266
|
"opencodeTui": {
|
|
4267
4267
|
"$schema": "https://opencode.ai/tui.json",
|
|
4268
4268
|
"plugin": [
|
|
4269
|
-
"@uniqbit/mate-opencode-plugin
|
|
4269
|
+
"@uniqbit/mate-opencode-plugin@<version>",
|
|
4270
4270
|
],
|
|
4271
4271
|
},
|
|
4272
4272
|
}
|
|
@@ -4313,7 +4313,7 @@ exports[`runtime surface golden fixtures teardown react-doctor × claude+opencod
|
|
|
4313
4313
|
"reserved": 15000,
|
|
4314
4314
|
},
|
|
4315
4315
|
"plugin": [
|
|
4316
|
-
"@uniqbit/mate-opencode-plugin
|
|
4316
|
+
"@uniqbit/mate-opencode-plugin@<version>",
|
|
4317
4317
|
],
|
|
4318
4318
|
"references": {
|
|
4319
4319
|
"mate": "..",
|
|
@@ -4328,7 +4328,7 @@ exports[`runtime surface golden fixtures teardown react-doctor × claude+opencod
|
|
|
4328
4328
|
"opencodeTui": {
|
|
4329
4329
|
"$schema": "https://opencode.ai/tui.json",
|
|
4330
4330
|
"plugin": [
|
|
4331
|
-
"@uniqbit/mate-opencode-plugin
|
|
4331
|
+
"@uniqbit/mate-opencode-plugin@<version>",
|
|
4332
4332
|
],
|
|
4333
4333
|
},
|
|
4334
4334
|
}
|
|
@@ -4375,7 +4375,7 @@ exports[`runtime surface golden fixtures teardown openspec × claude+opencode 1`
|
|
|
4375
4375
|
"reserved": 15000,
|
|
4376
4376
|
},
|
|
4377
4377
|
"plugin": [
|
|
4378
|
-
"@uniqbit/mate-opencode-plugin
|
|
4378
|
+
"@uniqbit/mate-opencode-plugin@<version>",
|
|
4379
4379
|
],
|
|
4380
4380
|
"references": {
|
|
4381
4381
|
"mate": "..",
|
|
@@ -4390,7 +4390,7 @@ exports[`runtime surface golden fixtures teardown openspec × claude+opencode 1`
|
|
|
4390
4390
|
"opencodeTui": {
|
|
4391
4391
|
"$schema": "https://opencode.ai/tui.json",
|
|
4392
4392
|
"plugin": [
|
|
4393
|
-
"@uniqbit/mate-opencode-plugin
|
|
4393
|
+
"@uniqbit/mate-opencode-plugin@<version>",
|
|
4394
4394
|
],
|
|
4395
4395
|
},
|
|
4396
4396
|
}
|