loadouts 0.2.5 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. package/bundled/embedded/opencode/loadouts-runtime.tsx +14461 -0
  2. package/bundled/embedded/pi/loadouts-runtime.ts +14638 -0
  3. package/bundled/extensions/loadouts-runtime/index.ts +14638 -0
  4. package/bundled/extensions/loadouts-runtime/package.json +6 -0
  5. package/bundled/loadouts/opencode-runtime.yaml +7 -0
  6. package/bundled/loadouts/pi-runtime.yaml +5 -0
  7. package/bundled/opencode/commands/loadouts.md +3 -0
  8. package/bundled/opencode/plugins/loadouts-runtime-tui.tsx +14461 -0
  9. package/bundled/opencode/plugins/loadouts-runtime.ts +533 -0
  10. package/bundled/opencode/tui.jsonc +5 -0
  11. package/dist/builtins/agent-transforms.d.ts.map +1 -1
  12. package/dist/builtins/agent-transforms.js +1 -0
  13. package/dist/builtins/agent-transforms.js.map +1 -1
  14. package/dist/builtins/index.d.ts.map +1 -1
  15. package/dist/builtins/index.js +6 -0
  16. package/dist/builtins/index.js.map +1 -1
  17. package/dist/builtins/kinds/extension-dir.d.ts +3 -0
  18. package/dist/builtins/kinds/extension-dir.d.ts.map +1 -0
  19. package/dist/builtins/kinds/extension-dir.js +8 -0
  20. package/dist/builtins/kinds/extension-dir.js.map +1 -0
  21. package/dist/builtins/kinds/opencode-command.d.ts +3 -0
  22. package/dist/builtins/kinds/opencode-command.d.ts.map +1 -0
  23. package/dist/builtins/kinds/opencode-command.js +8 -0
  24. package/dist/builtins/kinds/opencode-command.js.map +1 -0
  25. package/dist/builtins/kinds/opencode-plugin.js +1 -1
  26. package/dist/builtins/kinds/opencode-plugin.js.map +1 -1
  27. package/dist/builtins/kinds/opencode-tui-config.d.ts +3 -0
  28. package/dist/builtins/kinds/opencode-tui-config.d.ts.map +1 -0
  29. package/dist/builtins/kinds/opencode-tui-config.js +8 -0
  30. package/dist/builtins/kinds/opencode-tui-config.js.map +1 -0
  31. package/dist/builtins/tools/opencode.d.ts.map +1 -1
  32. package/dist/builtins/tools/opencode.js +9 -0
  33. package/dist/builtins/tools/opencode.js.map +1 -1
  34. package/dist/builtins/tools/pi.d.ts.map +1 -1
  35. package/dist/builtins/tools/pi.js +2 -1
  36. package/dist/builtins/tools/pi.js.map +1 -1
  37. package/dist/cli/commands/activate.d.ts.map +1 -1
  38. package/dist/cli/commands/activate.js +7 -0
  39. package/dist/cli/commands/activate.js.map +1 -1
  40. package/dist/cli/commands/diff.d.ts +10 -0
  41. package/dist/cli/commands/diff.d.ts.map +1 -1
  42. package/dist/cli/commands/diff.js +71 -30
  43. package/dist/cli/commands/diff.js.map +1 -1
  44. package/dist/cli/commands/info.d.ts +10 -0
  45. package/dist/cli/commands/info.d.ts.map +1 -1
  46. package/dist/cli/commands/info.js +45 -1
  47. package/dist/cli/commands/info.js.map +1 -1
  48. package/dist/cli/commands/list.d.ts +18 -0
  49. package/dist/cli/commands/list.d.ts.map +1 -1
  50. package/dist/cli/commands/list.js +27 -0
  51. package/dist/cli/commands/list.js.map +1 -1
  52. package/dist/cli/commands/status.d.ts +10 -0
  53. package/dist/cli/commands/status.d.ts.map +1 -1
  54. package/dist/cli/commands/status.js +100 -2
  55. package/dist/cli/commands/status.js.map +1 -1
  56. package/dist/cli/commands/sync.d.ts.map +1 -1
  57. package/dist/cli/commands/sync.js +6 -0
  58. package/dist/cli/commands/sync.js.map +1 -1
  59. package/dist/cli/commands/tui.d.ts +3 -0
  60. package/dist/cli/commands/tui.d.ts.map +1 -0
  61. package/dist/cli/commands/tui.js +20 -0
  62. package/dist/cli/commands/tui.js.map +1 -0
  63. package/dist/cli/index.d.ts.map +1 -1
  64. package/dist/cli/index.js +2 -0
  65. package/dist/cli/index.js.map +1 -1
  66. package/dist/core/render.d.ts.map +1 -1
  67. package/dist/core/render.js +48 -7
  68. package/dist/core/render.js.map +1 -1
  69. package/dist/core/resolve.d.ts +1 -1
  70. package/dist/core/resolve.d.ts.map +1 -1
  71. package/dist/core/resolve.js +2 -2
  72. package/dist/core/resolve.js.map +1 -1
  73. package/dist/core/types.d.ts.map +1 -1
  74. package/dist/integrations/opencode-runtime/bridge.d.ts +17 -0
  75. package/dist/integrations/opencode-runtime/bridge.d.ts.map +1 -0
  76. package/dist/integrations/opencode-runtime/bridge.js +60 -0
  77. package/dist/integrations/opencode-runtime/bridge.js.map +1 -0
  78. package/dist/integrations/opencode-runtime/command.d.ts +4 -0
  79. package/dist/integrations/opencode-runtime/command.d.ts.map +1 -0
  80. package/dist/integrations/opencode-runtime/command.js +200 -0
  81. package/dist/integrations/opencode-runtime/command.js.map +1 -0
  82. package/dist/integrations/opencode-runtime/index.d.ts +6 -0
  83. package/dist/integrations/opencode-runtime/index.d.ts.map +1 -0
  84. package/dist/integrations/opencode-runtime/index.js +5 -0
  85. package/dist/integrations/opencode-runtime/index.js.map +1 -0
  86. package/dist/integrations/opencode-runtime/plugin.d.ts +59 -0
  87. package/dist/integrations/opencode-runtime/plugin.d.ts.map +1 -0
  88. package/dist/integrations/opencode-runtime/plugin.js +238 -0
  89. package/dist/integrations/opencode-runtime/plugin.js.map +1 -0
  90. package/dist/integrations/opencode-runtime/state.d.ts +8 -0
  91. package/dist/integrations/opencode-runtime/state.d.ts.map +1 -0
  92. package/dist/integrations/opencode-runtime/state.js +27 -0
  93. package/dist/integrations/opencode-runtime/state.js.map +1 -0
  94. package/dist/integrations/opencode-runtime/types.d.ts +38 -0
  95. package/dist/integrations/opencode-runtime/types.d.ts.map +1 -0
  96. package/dist/integrations/opencode-runtime/types.js +2 -0
  97. package/dist/integrations/opencode-runtime/types.js.map +1 -0
  98. package/dist/lib/gitignore.d.ts.map +1 -1
  99. package/dist/lib/gitignore.js +2 -0
  100. package/dist/lib/gitignore.js.map +1 -1
  101. package/dist/tui/core/actions.d.ts +9 -0
  102. package/dist/tui/core/actions.d.ts.map +1 -0
  103. package/dist/tui/core/actions.js +70 -0
  104. package/dist/tui/core/actions.js.map +1 -0
  105. package/dist/tui/core/data.d.ts +41 -0
  106. package/dist/tui/core/data.d.ts.map +1 -0
  107. package/dist/tui/core/data.js +150 -0
  108. package/dist/tui/core/data.js.map +1 -0
  109. package/dist/tui/core/host.d.ts +21 -0
  110. package/dist/tui/core/host.d.ts.map +1 -0
  111. package/dist/tui/core/host.js +2 -0
  112. package/dist/tui/core/host.js.map +1 -0
  113. package/dist/tui/core/intent.d.ts +80 -0
  114. package/dist/tui/core/intent.d.ts.map +1 -0
  115. package/dist/tui/core/intent.js +2 -0
  116. package/dist/tui/core/intent.js.map +1 -0
  117. package/dist/tui/core/keymap.d.ts +15 -0
  118. package/dist/tui/core/keymap.d.ts.map +1 -0
  119. package/dist/tui/core/keymap.js +36 -0
  120. package/dist/tui/core/keymap.js.map +1 -0
  121. package/dist/tui/core/model.d.ts +53 -0
  122. package/dist/tui/core/model.d.ts.map +1 -0
  123. package/dist/tui/core/model.js +33 -0
  124. package/dist/tui/core/model.js.map +1 -0
  125. package/dist/tui/core/theme.d.ts +15 -0
  126. package/dist/tui/core/theme.d.ts.map +1 -0
  127. package/dist/tui/core/theme.js +11 -0
  128. package/dist/tui/core/theme.js.map +1 -0
  129. package/dist/tui/core/update.d.ts +8 -0
  130. package/dist/tui/core/update.d.ts.map +1 -0
  131. package/dist/tui/core/update.js +192 -0
  132. package/dist/tui/core/update.js.map +1 -0
  133. package/dist/tui/core/view.d.ts +4 -0
  134. package/dist/tui/core/view.d.ts.map +1 -0
  135. package/dist/tui/core/view.js +150 -0
  136. package/dist/tui/core/view.js.map +1 -0
  137. package/dist/tui/core/viewspec.d.ts +44 -0
  138. package/dist/tui/core/viewspec.d.ts.map +1 -0
  139. package/dist/tui/core/viewspec.js +2 -0
  140. package/dist/tui/core/viewspec.js.map +1 -0
  141. package/dist/tui/hosts/_probe/embed-entry.d.ts +5 -0
  142. package/dist/tui/hosts/_probe/embed-entry.d.ts.map +1 -0
  143. package/dist/tui/hosts/_probe/embed-entry.js +8 -0
  144. package/dist/tui/hosts/_probe/embed-entry.js.map +1 -0
  145. package/dist/tui/hosts/pi/embed-entry.d.ts +3 -0
  146. package/dist/tui/hosts/pi/embed-entry.d.ts.map +1 -0
  147. package/dist/tui/hosts/pi/embed-entry.js +219 -0
  148. package/dist/tui/hosts/pi/embed-entry.js.map +1 -0
  149. package/dist/tui/hosts/pi/inject.d.ts +32 -0
  150. package/dist/tui/hosts/pi/inject.d.ts.map +1 -0
  151. package/dist/tui/hosts/pi/inject.js +53 -0
  152. package/dist/tui/hosts/pi/inject.js.map +1 -0
  153. package/dist/tui/hosts/standalone.d.ts +2 -0
  154. package/dist/tui/hosts/standalone.d.ts.map +1 -0
  155. package/dist/tui/hosts/standalone.js +145 -0
  156. package/dist/tui/hosts/standalone.js.map +1 -0
  157. package/dist/tui/skins/pi-tui/input.d.ts +5 -0
  158. package/dist/tui/skins/pi-tui/input.d.ts.map +1 -0
  159. package/dist/tui/skins/pi-tui/input.js +38 -0
  160. package/dist/tui/skins/pi-tui/input.js.map +1 -0
  161. package/dist/tui/skins/pi-tui/pi-theme-adapter.d.ts +4 -0
  162. package/dist/tui/skins/pi-tui/pi-theme-adapter.d.ts.map +1 -0
  163. package/dist/tui/skins/pi-tui/pi-theme-adapter.js +27 -0
  164. package/dist/tui/skins/pi-tui/pi-theme-adapter.js.map +1 -0
  165. package/dist/tui/skins/pi-tui/render.d.ts +35 -0
  166. package/dist/tui/skins/pi-tui/render.d.ts.map +1 -0
  167. package/dist/tui/skins/pi-tui/render.js +154 -0
  168. package/dist/tui/skins/pi-tui/render.js.map +1 -0
  169. package/dist/tui/skins/pi-tui/theme.d.ts +10 -0
  170. package/dist/tui/skins/pi-tui/theme.d.ts.map +1 -0
  171. package/dist/tui/skins/pi-tui/theme.js +58 -0
  172. package/dist/tui/skins/pi-tui/theme.js.map +1 -0
  173. package/docs/authoring.md +53 -1
  174. package/docs/commands.md +4 -0
  175. package/docs/compatibility.md +7 -7
  176. package/docs/concepts.md +4 -2
  177. package/docs/runtime.md +36 -1
  178. package/docs/troubleshooting.md +18 -1
  179. package/docs/tui-architecture.md +501 -0
  180. package/package.json +11 -2
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/core/resolve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/core/resolve.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { Tool } from "../../core/types.js";
2
+ import type { BridgeCompileResult, RuntimeBridge, RuntimeScope } from "./types.js";
3
+ export interface CliRuntimeBridgeOptions {
4
+ bin?: string;
5
+ tool?: Tool;
6
+ }
7
+ export declare class CliRuntimeBridge implements RuntimeBridge {
8
+ private readonly bin;
9
+ private readonly tool;
10
+ constructor(options?: CliRuntimeBridgeOptions);
11
+ compile(names: string[], scope: RuntimeScope, cwd: string): Promise<BridgeCompileResult>;
12
+ list(scope: RuntimeScope, cwd: string): Promise<string>;
13
+ info(names: string[], scope: RuntimeScope, cwd: string): Promise<string>;
14
+ private execText;
15
+ private exec;
16
+ }
17
+ //# sourceMappingURL=bridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../../src/integrations/opencode-runtime/bridge.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAOnF,MAAM,WAAW,uBAAuB;IACtC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,IAAI,CAAC;CACb;AAMD,qBAAa,gBAAiB,YAAW,aAAa;IACpD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAO;gBAEhB,OAAO,GAAE,uBAA4B;IAK3C,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAU9F,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIvD,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAI1D,QAAQ;IAKtB,OAAO,CAAC,IAAI;CA8Bb"}
@@ -0,0 +1,60 @@
1
+ import { spawn } from "node:child_process";
2
+ import { renderRuntimeSystemBlock } from "../../core/runtime.js";
3
+ function scopeFlag(scope) {
4
+ return scope === "global" ? "--global" : "--local";
5
+ }
6
+ export class CliRuntimeBridge {
7
+ bin;
8
+ tool;
9
+ constructor(options = {}) {
10
+ this.bin = options.bin ?? "loadouts";
11
+ this.tool = options.tool ?? "opencode";
12
+ }
13
+ async compile(names, scope, cwd) {
14
+ const args = ["runtime", ...names, "--tool", this.tool, "--json", scopeFlag(scope)];
15
+ const { stdout } = await this.exec(args, cwd);
16
+ const bundle = JSON.parse(stdout);
17
+ return {
18
+ bundle,
19
+ systemBlock: renderRuntimeSystemBlock(bundle),
20
+ };
21
+ }
22
+ list(scope, cwd) {
23
+ return this.execText(["list", scopeFlag(scope)], cwd);
24
+ }
25
+ info(names, scope, cwd) {
26
+ return this.execText(["info", ...names, scopeFlag(scope)], cwd);
27
+ }
28
+ async execText(args, cwd) {
29
+ const { stdout } = await this.exec(args, cwd);
30
+ return stdout;
31
+ }
32
+ exec(args, cwd) {
33
+ return new Promise((resolve, reject) => {
34
+ const child = spawn(this.bin, args, {
35
+ cwd,
36
+ stdio: ["ignore", "pipe", "pipe"],
37
+ });
38
+ let stdout = "";
39
+ let stderr = "";
40
+ child.stdout.setEncoding("utf-8");
41
+ child.stderr.setEncoding("utf-8");
42
+ child.stdout.on("data", (chunk) => {
43
+ stdout += chunk;
44
+ });
45
+ child.stderr.on("data", (chunk) => {
46
+ stderr += chunk;
47
+ });
48
+ child.on("error", (error) => reject(error));
49
+ child.on("close", (code) => {
50
+ if (code === 0) {
51
+ resolve({ stdout, stderr });
52
+ return;
53
+ }
54
+ const detail = stderr.trim() || stdout.trim() || `process exited with code ${code}`;
55
+ reject(new Error(`loadouts command failed: ${detail}`));
56
+ });
57
+ });
58
+ }
59
+ }
60
+ //# sourceMappingURL=bridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../../src/integrations/opencode-runtime/bridge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { HandleRuntimeCommandOptions, HandleRuntimeCommandResult, ParsedRuntimeCommand } from "./types.js";
2
+ export declare function parseRuntimeCommand(argumentsText: string): ParsedRuntimeCommand;
3
+ export declare function handleRuntimeCommand(options: HandleRuntimeCommandOptions): Promise<HandleRuntimeCommandResult>;
4
+ //# sourceMappingURL=command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../src/integrations/opencode-runtime/command.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,2BAA2B,EAC3B,0BAA0B,EAC1B,oBAAoB,EAGrB,MAAM,YAAY,CAAC;AA8GpB,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,oBAAoB,CAgC/E;AAoBD,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,0BAA0B,CAAC,CAsErC"}
@@ -0,0 +1,200 @@
1
+ import { clearRuntimeSessionState, getRuntimeSessionState, renderInjectedSystemBlock, renderRuntimeStateSummary, setRuntimeSessionState, } from "./state.js";
2
+ const COMMAND_ALIASES = {
3
+ status: "status",
4
+ s: "status",
5
+ activate: "activate",
6
+ a: "activate",
7
+ use: "activate",
8
+ deactivate: "deactivate",
9
+ d: "deactivate",
10
+ remove: "deactivate",
11
+ rm: "deactivate",
12
+ clear: "deactivate",
13
+ list: "list",
14
+ ls: "list",
15
+ info: "info",
16
+ i: "info",
17
+ show: "show",
18
+ "system-block": "system-block",
19
+ help: "help",
20
+ "-h": "help",
21
+ "--help": "help",
22
+ };
23
+ const SCOPE_COMMANDS = new Set(["activate", "list", "info"]);
24
+ function tokenize(text) {
25
+ const tokens = [];
26
+ let current = "";
27
+ let quote = null;
28
+ for (let i = 0; i < text.length; i += 1) {
29
+ const ch = text[i];
30
+ if (quote) {
31
+ if (ch === "\\" && i + 1 < text.length) {
32
+ current += text[i + 1];
33
+ i += 1;
34
+ continue;
35
+ }
36
+ if (ch === quote) {
37
+ quote = null;
38
+ continue;
39
+ }
40
+ current += ch;
41
+ continue;
42
+ }
43
+ if (ch === '"' || ch === "'") {
44
+ quote = ch;
45
+ continue;
46
+ }
47
+ if (/\s/.test(ch)) {
48
+ if (current.length > 0) {
49
+ tokens.push(current);
50
+ current = "";
51
+ }
52
+ continue;
53
+ }
54
+ if (ch === "\\" && i + 1 < text.length) {
55
+ current += text[i + 1];
56
+ i += 1;
57
+ continue;
58
+ }
59
+ current += ch;
60
+ }
61
+ if (quote) {
62
+ throw new Error("Unterminated quote in runtime command arguments.");
63
+ }
64
+ if (current.length > 0) {
65
+ tokens.push(current);
66
+ }
67
+ return tokens;
68
+ }
69
+ function parseScope(tokens, action) {
70
+ let local = false;
71
+ let global = false;
72
+ const names = [];
73
+ for (const token of tokens) {
74
+ if (token === "-l" || token === "--local") {
75
+ local = true;
76
+ continue;
77
+ }
78
+ if (token === "-g" || token === "--global") {
79
+ global = true;
80
+ continue;
81
+ }
82
+ names.push(token);
83
+ }
84
+ if ((local || global) && !SCOPE_COMMANDS.has(action)) {
85
+ throw new Error("Scope flags are only supported for activate, list, and info.");
86
+ }
87
+ if (local && global) {
88
+ throw new Error("Use either --local or --global, not both.");
89
+ }
90
+ return {
91
+ scope: global ? "global" : "local",
92
+ names,
93
+ };
94
+ }
95
+ export function parseRuntimeCommand(argumentsText) {
96
+ const tokens = tokenize(argumentsText.trim());
97
+ if (tokens[0] === "/loadouts" || tokens[0] === "loadouts") {
98
+ tokens.shift();
99
+ }
100
+ if (tokens.length === 0) {
101
+ return { action: "help", names: [], scope: "local" };
102
+ }
103
+ const actionToken = tokens[0].toLowerCase();
104
+ const action = COMMAND_ALIASES[actionToken];
105
+ if (!action) {
106
+ throw new Error(`Unknown runtime command: ${tokens[0]}`);
107
+ }
108
+ const parsed = parseScope(tokens.slice(1), action);
109
+ if (action === "activate" && parsed.names.length === 0) {
110
+ throw new Error("activate requires at least one loadout name.");
111
+ }
112
+ if (action === "list" && parsed.names.length > 0) {
113
+ throw new Error("list does not accept loadout names.");
114
+ }
115
+ if ((action === "status" || action === "show" || action === "system-block" || action === "help") && parsed.names.length > 0) {
116
+ throw new Error(`${action} does not accept loadout names.`);
117
+ }
118
+ return {
119
+ action,
120
+ names: parsed.names,
121
+ scope: parsed.scope,
122
+ };
123
+ }
124
+ function helpText() {
125
+ return [
126
+ "runtime commands:",
127
+ " (empty|help|-h|--help)",
128
+ " status|s",
129
+ " activate|a|use <names...> [-l|--local|-g|--global]",
130
+ " deactivate|d|remove|rm|clear",
131
+ " list|ls [-l|--local|-g|--global]",
132
+ " info|i [names...] [-l|--local|-g|--global]",
133
+ " show",
134
+ " system-block",
135
+ ].join("\n");
136
+ }
137
+ function shortFingerprint(fingerprint) {
138
+ return fingerprint.replace(/^sha256:/, "").slice(0, 12);
139
+ }
140
+ export async function handleRuntimeCommand(options) {
141
+ const command = parseRuntimeCommand(options.argumentsText);
142
+ if (command.action === "help") {
143
+ return { command, text: helpText() };
144
+ }
145
+ if (command.action === "activate") {
146
+ const compiled = await options.bridge.compile(command.names, command.scope, options.cwd);
147
+ const activatedAt = options.now ? options.now() : new Date().toISOString();
148
+ setRuntimeSessionState(options.store, options.sessionID, {
149
+ activeNames: command.names,
150
+ bundle: compiled.bundle,
151
+ systemBlock: compiled.systemBlock,
152
+ activatedAt,
153
+ scope: command.scope,
154
+ });
155
+ return {
156
+ command,
157
+ text: `runtime: activated (${command.scope}) ${command.names.join(", ")} [${shortFingerprint(compiled.bundle.fingerprint)}]`,
158
+ };
159
+ }
160
+ if (command.action === "deactivate") {
161
+ const hadState = clearRuntimeSessionState(options.store, options.sessionID);
162
+ return {
163
+ command,
164
+ text: hadState ? "runtime: deactivated" : "runtime: already inactive",
165
+ };
166
+ }
167
+ if (command.action === "list") {
168
+ const text = (await options.bridge.list(command.scope, options.cwd)).trim();
169
+ return { command, text: text || "runtime: no loadouts" };
170
+ }
171
+ if (command.action === "info") {
172
+ const text = (await options.bridge.info(command.names, command.scope, options.cwd)).trim();
173
+ return { command, text: text || "runtime: no info" };
174
+ }
175
+ const state = getRuntimeSessionState(options.store, options.sessionID);
176
+ if (command.action === "status") {
177
+ if (!state) {
178
+ return { command, text: "runtime: inactive" };
179
+ }
180
+ return {
181
+ command,
182
+ text: `runtime: active ${state.activeNames.join(", ")} [${shortFingerprint(state.bundle.fingerprint)}]`,
183
+ };
184
+ }
185
+ if (command.action === "show") {
186
+ if (!state) {
187
+ return { command, text: "runtime: inactive" };
188
+ }
189
+ return { command, text: renderRuntimeStateSummary(state) };
190
+ }
191
+ if (command.action === "system-block") {
192
+ const block = renderInjectedSystemBlock(state);
193
+ return {
194
+ command,
195
+ text: block || "runtime: inactive (no system block)",
196
+ };
197
+ }
198
+ return { command, text: "runtime: unsupported command" };
199
+ }
200
+ //# sourceMappingURL=command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/integrations/opencode-runtime/command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export { CliRuntimeBridge } from "./bridge.js";
2
+ export { handleRuntimeCommand, parseRuntimeCommand } from "./command.js";
3
+ export { clearRuntimeSessionState, createRuntimeSessionStore, getRuntimeSessionState, renderInjectedSystemBlock, renderRuntimeStateSummary, setRuntimeSessionState, } from "./state.js";
4
+ export { createOpenCodeRuntimePlugin, opencodeRuntimePlugin } from "./plugin.js";
5
+ export type { BridgeCompileResult, HandleRuntimeCommandOptions, HandleRuntimeCommandResult, ParsedRuntimeCommand, RuntimeBridge, RuntimeCommandAction, RuntimeScope, RuntimeSessionState, RuntimeSessionStore, } from "./types.js";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/integrations/opencode-runtime/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,yBAAyB,EACzB,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACjF,YAAY,EACV,mBAAmB,EACnB,2BAA2B,EAC3B,0BAA0B,EAC1B,oBAAoB,EACpB,aAAa,EACb,oBAAoB,EACpB,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,YAAY,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { CliRuntimeBridge } from "./bridge.js";
2
+ export { handleRuntimeCommand, parseRuntimeCommand } from "./command.js";
3
+ export { clearRuntimeSessionState, createRuntimeSessionStore, getRuntimeSessionState, renderInjectedSystemBlock, renderRuntimeStateSummary, setRuntimeSessionState, } from "./state.js";
4
+ export { createOpenCodeRuntimePlugin, opencodeRuntimePlugin } from "./plugin.js";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/integrations/opencode-runtime/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,yBAAyB,EACzB,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,59 @@
1
+ import type { RuntimeBridge, RuntimeSessionStore } from "./types.js";
2
+ interface RuntimePluginOptions {
3
+ bridge?: RuntimeBridge;
4
+ store?: RuntimeSessionStore;
5
+ toastDuration?: number;
6
+ }
7
+ interface OpenCodePluginInput {
8
+ directory: string;
9
+ worktree: string;
10
+ client?: OpenCodeClient;
11
+ }
12
+ interface OpenCodeConfigInput {
13
+ command?: Record<string, {
14
+ description?: string;
15
+ template: string;
16
+ }>;
17
+ }
18
+ interface OpenCodeClient {
19
+ tui?: {
20
+ showToast?: (input: {
21
+ directory?: string;
22
+ title?: string;
23
+ message: string;
24
+ variant: "info" | "success" | "warning" | "error";
25
+ duration?: number;
26
+ }) => Promise<unknown> | unknown;
27
+ };
28
+ }
29
+ interface CommandExecuteBeforeInput {
30
+ command: string;
31
+ sessionID: string;
32
+ arguments: string;
33
+ }
34
+ interface CommandExecuteBeforeOutput {
35
+ parts: Array<{
36
+ type: "text";
37
+ text: string;
38
+ }>;
39
+ }
40
+ interface SystemTransformInput {
41
+ sessionID?: string;
42
+ }
43
+ interface SystemTransformOutput {
44
+ system: string[];
45
+ }
46
+ interface OpenCodeRuntimeHooks {
47
+ config: (input: OpenCodeConfigInput) => Promise<void>;
48
+ "command.execute.before": (input: CommandExecuteBeforeInput, output: CommandExecuteBeforeOutput) => Promise<void>;
49
+ "experimental.chat.system.transform": (input: SystemTransformInput, output: SystemTransformOutput) => Promise<void>;
50
+ }
51
+ export declare class LoadoutsRuntimeCommandHandledError extends Error {
52
+ constructor(message: string);
53
+ }
54
+ export type OpenCodeRuntimePlugin = (input: OpenCodePluginInput, options?: Record<string, unknown>) => Promise<OpenCodeRuntimeHooks>;
55
+ export declare function createOpenCodeRuntimePlugin(options?: RuntimePluginOptions): OpenCodeRuntimePlugin;
56
+ export declare const opencodeRuntimePlugin: OpenCodeRuntimePlugin;
57
+ export declare const LoadoutsRuntimePlugin: OpenCodeRuntimePlugin;
58
+ export default opencodeRuntimePlugin;
59
+ //# sourceMappingURL=plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/integrations/opencode-runtime/plugin.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,aAAa,EAAuB,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAE1F,UAAU,oBAAoB;IAC5B,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAYD,UAAU,mBAAmB;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,UAAU,mBAAmB;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACtE;AAED,UAAU,cAAc;IACtB,GAAG,CAAC,EAAE;QACJ,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE;YAClB,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,OAAO,EAAE,MAAM,CAAC;YAChB,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;YAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;SACnB,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;KAClC,CAAC;CACH;AAED,UAAU,yBAAyB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,0BAA0B;IAClC,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC9C;AAED,UAAU,oBAAoB;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,qBAAqB;IAC7B,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,UAAU,oBAAoB;IAC5B,MAAM,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,wBAAwB,EAAE,CACxB,KAAK,EAAE,yBAAyB,EAChC,MAAM,EAAE,0BAA0B,KAC/B,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,oCAAoC,EAAE,CACpC,KAAK,EAAE,oBAAoB,EAC3B,MAAM,EAAE,qBAAqB,KAC1B,OAAO,CAAC,IAAI,CAAC,CAAC;CACpB;AAED,qBAAa,kCAAmC,SAAQ,KAAK;gBAC/C,OAAO,EAAE,MAAM;CAI5B;AA2KD,MAAM,MAAM,qBAAqB,GAAG,CAClC,KAAK,EAAE,mBAAmB,EAC1B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAEnC,wBAAgB,2BAA2B,CAAC,OAAO,GAAE,oBAAyB,GAAG,qBAAqB,CA4ErG;AAED,eAAO,MAAM,qBAAqB,uBAAgC,CAAC;AACnE,eAAO,MAAM,qBAAqB,uBAAwB,CAAC;AAC3D,eAAe,qBAAqB,CAAC"}