loadouts 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (190) hide show
  1. package/bundled/embedded/pi/loadouts-runtime.ts +6543 -1504
  2. package/bundled/extensions/loadouts-runtime/index.ts +6543 -1504
  3. package/bundled/loadouts/opencode-runtime.yaml +2 -4
  4. package/bundled/opencode/plugins/loadouts/index.js +39198 -0
  5. package/bundled/opencode/plugins/loadouts/package.json +9 -0
  6. package/bundled/{embedded/opencode/loadouts-runtime.tsx → opencode/plugins/loadouts/tui.js} +4008 -1556
  7. package/dist/builtins/agent-transforms.d.ts.map +1 -1
  8. package/dist/builtins/agent-transforms.js +31 -10
  9. package/dist/builtins/agent-transforms.js.map +1 -1
  10. package/dist/builtins/index.d.ts.map +1 -1
  11. package/dist/builtins/index.js +14 -5
  12. package/dist/builtins/index.js.map +1 -1
  13. package/dist/builtins/kinds/opencode-cli-config.d.ts +3 -0
  14. package/dist/builtins/kinds/opencode-cli-config.d.ts.map +1 -0
  15. package/dist/builtins/kinds/opencode-cli-config.js +10 -0
  16. package/dist/builtins/kinds/opencode-cli-config.js.map +1 -0
  17. package/dist/builtins/kinds/opencode-plugin-dir.d.ts +3 -0
  18. package/dist/builtins/kinds/opencode-plugin-dir.d.ts.map +1 -0
  19. package/dist/builtins/kinds/opencode-plugin-dir.js +11 -0
  20. package/dist/builtins/kinds/opencode-plugin-dir.js.map +1 -0
  21. package/dist/builtins/tools/opencode.d.ts.map +1 -1
  22. package/dist/builtins/tools/opencode.js +10 -7
  23. package/dist/builtins/tools/opencode.js.map +1 -1
  24. package/dist/cli/commands/activate.d.ts.map +1 -1
  25. package/dist/cli/commands/activate.js +0 -7
  26. package/dist/cli/commands/activate.js.map +1 -1
  27. package/dist/cli/commands/session.d.ts +3 -0
  28. package/dist/cli/commands/session.d.ts.map +1 -0
  29. package/dist/cli/commands/session.js +68 -0
  30. package/dist/cli/commands/session.js.map +1 -0
  31. package/dist/cli/commands/status.js +1 -1
  32. package/dist/cli/commands/status.js.map +1 -1
  33. package/dist/cli/commands/sync.d.ts.map +1 -1
  34. package/dist/cli/commands/sync.js +5 -5
  35. package/dist/cli/commands/sync.js.map +1 -1
  36. package/dist/cli/index.d.ts.map +1 -1
  37. package/dist/cli/index.js +2 -0
  38. package/dist/cli/index.js.map +1 -1
  39. package/dist/core/discovery.js +1 -1
  40. package/dist/core/discovery.js.map +1 -1
  41. package/dist/core/import-discovery.d.ts.map +1 -1
  42. package/dist/core/import-discovery.js +2 -0
  43. package/dist/core/import-discovery.js.map +1 -1
  44. package/dist/core/registry.d.ts +5 -0
  45. package/dist/core/registry.d.ts.map +1 -1
  46. package/dist/core/registry.js.map +1 -1
  47. package/dist/core/render.d.ts.map +1 -1
  48. package/dist/core/render.js +29 -1
  49. package/dist/core/render.js.map +1 -1
  50. package/dist/core/resolve.d.ts.map +1 -1
  51. package/dist/core/resolve.js +1 -0
  52. package/dist/core/resolve.js.map +1 -1
  53. package/dist/core/runtime.d.ts +4 -0
  54. package/dist/core/runtime.d.ts.map +1 -1
  55. package/dist/core/runtime.js +10 -3
  56. package/dist/core/runtime.js.map +1 -1
  57. package/dist/core/schema.d.ts +59 -0
  58. package/dist/core/schema.d.ts.map +1 -1
  59. package/dist/core/schema.js +5 -0
  60. package/dist/core/schema.js.map +1 -1
  61. package/dist/core/types.d.ts +13 -0
  62. package/dist/core/types.d.ts.map +1 -1
  63. package/dist/integrations/opencode/advertisement.d.ts +7 -0
  64. package/dist/integrations/opencode/advertisement.d.ts.map +1 -0
  65. package/dist/integrations/opencode/advertisement.js +17 -0
  66. package/dist/integrations/opencode/advertisement.js.map +1 -0
  67. package/dist/integrations/opencode/client.d.ts +12 -0
  68. package/dist/integrations/opencode/client.d.ts.map +1 -0
  69. package/dist/integrations/opencode/client.js +48 -0
  70. package/dist/integrations/opencode/client.js.map +1 -0
  71. package/dist/integrations/opencode/command.d.ts +11 -0
  72. package/dist/integrations/opencode/command.d.ts.map +1 -0
  73. package/dist/integrations/opencode/command.js +19 -0
  74. package/dist/integrations/opencode/command.js.map +1 -0
  75. package/dist/integrations/opencode/delta.d.ts +15 -0
  76. package/dist/integrations/opencode/delta.d.ts.map +1 -0
  77. package/dist/integrations/opencode/delta.js +75 -0
  78. package/dist/integrations/opencode/delta.js.map +1 -0
  79. package/dist/integrations/opencode/session.d.ts +207 -0
  80. package/dist/integrations/opencode/session.d.ts.map +1 -0
  81. package/dist/integrations/opencode/session.js +201 -0
  82. package/dist/integrations/opencode/session.js.map +1 -0
  83. package/dist/lib/gitignore.d.ts +7 -3
  84. package/dist/lib/gitignore.d.ts.map +1 -1
  85. package/dist/lib/gitignore.js +15 -7
  86. package/dist/lib/gitignore.js.map +1 -1
  87. package/dist/tui/core/actions.d.ts +3 -4
  88. package/dist/tui/core/actions.d.ts.map +1 -1
  89. package/dist/tui/core/actions.js +21 -15
  90. package/dist/tui/core/actions.js.map +1 -1
  91. package/dist/tui/core/controller.d.ts +28 -0
  92. package/dist/tui/core/controller.d.ts.map +1 -0
  93. package/dist/tui/core/controller.js +78 -0
  94. package/dist/tui/core/controller.js.map +1 -0
  95. package/dist/tui/core/data.d.ts +4 -2
  96. package/dist/tui/core/data.d.ts.map +1 -1
  97. package/dist/tui/core/data.js +14 -3
  98. package/dist/tui/core/data.js.map +1 -1
  99. package/dist/tui/core/host.d.ts +5 -11
  100. package/dist/tui/core/host.d.ts.map +1 -1
  101. package/dist/tui/core/intent.d.ts +18 -3
  102. package/dist/tui/core/intent.d.ts.map +1 -1
  103. package/dist/tui/core/keymap.d.ts +2 -1
  104. package/dist/tui/core/keymap.d.ts.map +1 -1
  105. package/dist/tui/core/keymap.js +38 -6
  106. package/dist/tui/core/keymap.js.map +1 -1
  107. package/dist/tui/core/model.d.ts +18 -6
  108. package/dist/tui/core/model.d.ts.map +1 -1
  109. package/dist/tui/core/model.js +4 -3
  110. package/dist/tui/core/model.js.map +1 -1
  111. package/dist/tui/core/selection.d.ts +12 -0
  112. package/dist/tui/core/selection.d.ts.map +1 -0
  113. package/dist/tui/core/selection.js +42 -0
  114. package/dist/tui/core/selection.js.map +1 -0
  115. package/dist/tui/core/update.d.ts.map +1 -1
  116. package/dist/tui/core/update.js +140 -126
  117. package/dist/tui/core/update.js.map +1 -1
  118. package/dist/tui/core/view.d.ts.map +1 -1
  119. package/dist/tui/core/view.js +43 -31
  120. package/dist/tui/core/view.js.map +1 -1
  121. package/dist/tui/core/viewport.d.ts +5 -0
  122. package/dist/tui/core/viewport.d.ts.map +1 -0
  123. package/dist/tui/core/viewport.js +33 -0
  124. package/dist/tui/core/viewport.js.map +1 -0
  125. package/dist/tui/core/viewspec.d.ts +5 -0
  126. package/dist/tui/core/viewspec.d.ts.map +1 -1
  127. package/dist/tui/hosts/pi/embed-entry.d.ts.map +1 -1
  128. package/dist/tui/hosts/pi/embed-entry.js +74 -197
  129. package/dist/tui/hosts/pi/embed-entry.js.map +1 -1
  130. package/dist/tui/hosts/pi/inject.d.ts +46 -29
  131. package/dist/tui/hosts/pi/inject.d.ts.map +1 -1
  132. package/dist/tui/hosts/pi/inject.js +25 -47
  133. package/dist/tui/hosts/pi/inject.js.map +1 -1
  134. package/dist/tui/hosts/standalone.d.ts.map +1 -1
  135. package/dist/tui/hosts/standalone.js +75 -111
  136. package/dist/tui/hosts/standalone.js.map +1 -1
  137. package/dist/tui/skins/pi-tui/input.js +4 -0
  138. package/dist/tui/skins/pi-tui/input.js.map +1 -1
  139. package/dist/tui/skins/pi-tui/render.d.ts +6 -3
  140. package/dist/tui/skins/pi-tui/render.d.ts.map +1 -1
  141. package/dist/tui/skins/pi-tui/render.js +32 -24
  142. package/dist/tui/skins/pi-tui/render.js.map +1 -1
  143. package/docs/archive/opencode-v2-runtime-beta-18707.md +813 -0
  144. package/docs/authoring.md +47 -44
  145. package/docs/commands.md +21 -1
  146. package/docs/compatibility.md +2 -2
  147. package/docs/concepts.md +2 -2
  148. package/docs/opencode-v2-probes.md +253 -0
  149. package/docs/opencode-v2-runtime.md +129 -0
  150. package/docs/registry.md +1366 -0
  151. package/docs/runtime.md +112 -82
  152. package/docs/troubleshooting.md +17 -15
  153. package/docs/tui-architecture.md +10 -8
  154. package/package.json +12 -7
  155. package/bundled/opencode/commands/loadouts.md +0 -3
  156. package/bundled/opencode/plugins/loadouts-runtime-tui.tsx +0 -14461
  157. package/bundled/opencode/plugins/loadouts-runtime.ts +0 -533
  158. package/bundled/opencode/tui.jsonc +0 -5
  159. package/dist/builtins/kinds/opencode-tui-config.d.ts +0 -3
  160. package/dist/builtins/kinds/opencode-tui-config.d.ts.map +0 -1
  161. package/dist/builtins/kinds/opencode-tui-config.js +0 -8
  162. package/dist/builtins/kinds/opencode-tui-config.js.map +0 -1
  163. package/dist/integrations/opencode-runtime/bridge.d.ts +0 -17
  164. package/dist/integrations/opencode-runtime/bridge.d.ts.map +0 -1
  165. package/dist/integrations/opencode-runtime/bridge.js +0 -60
  166. package/dist/integrations/opencode-runtime/bridge.js.map +0 -1
  167. package/dist/integrations/opencode-runtime/command.d.ts +0 -4
  168. package/dist/integrations/opencode-runtime/command.d.ts.map +0 -1
  169. package/dist/integrations/opencode-runtime/command.js +0 -200
  170. package/dist/integrations/opencode-runtime/command.js.map +0 -1
  171. package/dist/integrations/opencode-runtime/index.d.ts +0 -6
  172. package/dist/integrations/opencode-runtime/index.d.ts.map +0 -1
  173. package/dist/integrations/opencode-runtime/index.js +0 -5
  174. package/dist/integrations/opencode-runtime/index.js.map +0 -1
  175. package/dist/integrations/opencode-runtime/plugin.d.ts +0 -59
  176. package/dist/integrations/opencode-runtime/plugin.d.ts.map +0 -1
  177. package/dist/integrations/opencode-runtime/plugin.js +0 -238
  178. package/dist/integrations/opencode-runtime/plugin.js.map +0 -1
  179. package/dist/integrations/opencode-runtime/state.d.ts +0 -8
  180. package/dist/integrations/opencode-runtime/state.d.ts.map +0 -1
  181. package/dist/integrations/opencode-runtime/state.js +0 -27
  182. package/dist/integrations/opencode-runtime/state.js.map +0 -1
  183. package/dist/integrations/opencode-runtime/types.d.ts +0 -38
  184. package/dist/integrations/opencode-runtime/types.d.ts.map +0 -1
  185. package/dist/integrations/opencode-runtime/types.js +0 -2
  186. package/dist/integrations/opencode-runtime/types.js.map +0 -1
  187. package/dist/tui/hosts/_probe/embed-entry.d.ts +0 -5
  188. package/dist/tui/hosts/_probe/embed-entry.d.ts.map +0 -1
  189. package/dist/tui/hosts/_probe/embed-entry.js +0 -8
  190. package/dist/tui/hosts/_probe/embed-entry.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"embed-entry.js","sourceRoot":"","sources":["../../../../src/tui/hosts/pi/embed-entry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"embed-entry.js","sourceRoot":"","sources":["../../../../src/tui/hosts/pi/embed-entry.ts"],"names":[],"mappings":"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"}
@@ -1,32 +1,49 @@
1
- import type { RuntimeSessionStore } from "../../../integrations/opencode-runtime/types.js";
2
- import type { RuntimeInjector, RuntimeStatus } from "../../core/host.js";
3
- export declare const PI_RUNTIME_SESSION_ID = "pi";
4
- export interface PiRuntimeInjectorOptions {
5
- cwd: string;
6
- store: RuntimeSessionStore;
7
- sessionID?: string;
8
- scopeState?: PiRuntimeScopeState;
9
- onChange?: (status: RuntimeStatus) => void;
10
- }
11
- export interface PiRuntimeScopeState {
12
- scope: RuntimeStatus["scope"];
13
- }
14
- export declare class PiRuntimeInjector implements RuntimeInjector {
15
- private readonly bridge;
1
+ import type { EquipOptions, EquipResult, SessionEquipment, SessionStatus } from "../../../integrations/opencode/session.js";
2
+ /** Pi state belongs to an actual Pi session ID, never a process-wide 'pi' key. */
3
+ export declare class PiSessionActivator implements SessionEquipment {
16
4
  private readonly cwd;
17
- private readonly store;
18
- private readonly sessionID;
19
- private readonly scopeState;
20
- private readonly onChange?;
21
- constructor(options: PiRuntimeInjectorOptions);
22
- activate(names: string[], scope: RuntimeStatus["scope"]): Promise<void>;
23
- deactivate(): Promise<void>;
24
- status(): RuntimeStatus;
5
+ private readonly changed;
6
+ private readonly states;
7
+ constructor(cwd: string, changed: (status?: SessionStatus) => void);
8
+ equip(sessionID: string, names: string[], options: EquipOptions): Promise<EquipResult>;
9
+ unequip(sessionID: string): Promise<{
10
+ warnings: string[];
11
+ }>;
12
+ status(sessionID: string): Promise<{
13
+ keys: string[];
14
+ version: 1;
15
+ skills: string[];
16
+ scope: "global" | "project";
17
+ names: string[];
18
+ fingerprint: string;
19
+ equippedAt: string;
20
+ priorPermissions: {
21
+ action: string;
22
+ resource: string;
23
+ effect: "deny" | "allow" | "ask";
24
+ }[];
25
+ appliedPermissions: {
26
+ action: string;
27
+ resource: string;
28
+ effect: "deny" | "allow" | "ask";
29
+ }[];
30
+ priorSelection?: {
31
+ agent?: string | undefined;
32
+ model?: {
33
+ providerID: string;
34
+ id: string;
35
+ variant?: string | undefined;
36
+ } | undefined;
37
+ } | undefined;
38
+ appliedSelection?: {
39
+ agent?: string | undefined;
40
+ model?: {
41
+ providerID: string;
42
+ id: string;
43
+ variant?: string | undefined;
44
+ } | undefined;
45
+ } | undefined;
46
+ } | undefined>;
47
+ systemBlock(sessionID: string): string;
25
48
  }
26
- export declare function piRuntimeSystemBlock(store: RuntimeSessionStore, sessionID?: string): string;
27
- export declare function piRuntimeResourcePaths(store: RuntimeSessionStore, sessionID?: string): {
28
- skillPaths: string[];
29
- promptPaths: string[];
30
- themePaths: string[];
31
- };
32
49
  //# sourceMappingURL=inject.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"inject.d.ts","sourceRoot":"","sources":["../../../../src/tui/hosts/pi/inject.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEzE,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAE1C,MAAM,WAAW,wBAAwB;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,mBAAmB,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;CAC5C;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;CAC/B;AAED,qBAAa,iBAAkB,YAAW,eAAe;IACvD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;IAC/D,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsB;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAkC;gBAEhD,OAAO,EAAE,wBAAwB;IAQvC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAYvE,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAKjC,MAAM,IAAI,aAAa;CAQxB;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,mBAAmB,EAAE,SAAS,SAAwB,GAAG,MAAM,CAE1G;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,mBAAmB,EAAE,SAAS,SAAwB,GAAG;IACrG,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB,CAOA"}
1
+ {"version":3,"file":"inject.d.ts","sourceRoot":"","sources":["../../../../src/tui/hosts/pi/inject.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAE5H,kFAAkF;AAClF,qBAAa,kBAAmB,YAAW,gBAAgB;IAE7C,OAAO,CAAC,QAAQ,CAAC,GAAG;IAAU,OAAO,CAAC,QAAQ,CAAC,OAAO;IADlE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+D;gBACzD,GAAG,EAAE,MAAM,EAAmB,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,aAAa,KAAK,IAAI;IAE9F,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;IAYtF,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAG3D,MAAM,CAAC,SAAS,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAC9B,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;CACvC"}
@@ -1,53 +1,31 @@
1
- import { clearRuntimeSessionState, getRuntimeSessionState, renderInjectedSystemBlock, setRuntimeSessionState, } from "../../../integrations/opencode-runtime/state.js";
2
- import { CliRuntimeBridge } from "../../../integrations/opencode-runtime/bridge.js";
3
- export const PI_RUNTIME_SESSION_ID = "pi";
4
- export class PiRuntimeInjector {
5
- bridge = new CliRuntimeBridge({ tool: "pi" });
1
+ import { runRuntime } from "../../../cli/commands/runtime.js";
2
+ import { renderRuntimeSystemBlock } from "../../../core/runtime.js";
3
+ /** Pi state belongs to an actual Pi session ID, never a process-wide 'pi' key. */
4
+ export class PiSessionActivator {
6
5
  cwd;
7
- store;
8
- sessionID;
9
- scopeState;
10
- onChange;
11
- constructor(options) {
12
- this.cwd = options.cwd;
13
- this.store = options.store;
14
- this.sessionID = options.sessionID ?? PI_RUNTIME_SESSION_ID;
15
- this.scopeState = options.scopeState ?? { scope: "local" };
16
- this.onChange = options.onChange;
6
+ changed;
7
+ states = new Map();
8
+ constructor(cwd, changed) {
9
+ this.cwd = cwd;
10
+ this.changed = changed;
17
11
  }
18
- async activate(names, scope) {
19
- const compiled = await this.bridge.compile(names, scope, this.cwd);
20
- this.scopeState.scope = scope;
21
- setRuntimeSessionState(this.store, this.sessionID, {
22
- activeNames: names,
23
- bundle: compiled.bundle,
24
- systemBlock: compiled.systemBlock,
25
- activatedAt: new Date().toISOString(),
26
- });
27
- this.onChange?.(this.status());
28
- }
29
- async deactivate() {
30
- clearRuntimeSessionState(this.store, this.sessionID);
31
- this.onChange?.(this.status());
32
- }
33
- status() {
34
- const state = getRuntimeSessionState(this.store, this.sessionID);
35
- return {
36
- active: state?.activeNames ?? [],
37
- scope: this.scopeState.scope,
38
- updatedAt: state?.activatedAt,
12
+ async equip(sessionID, names, options) {
13
+ const result = await runRuntime(names, { tool: "pi", global: options.scope === "global", local: options.scope === "project" }, this.cwd);
14
+ const status = {
15
+ version: 1, names: result.loadoutNames, scope: options.scope,
16
+ fingerprint: result.bundle.fingerprint, equippedAt: new Date().toISOString(),
17
+ keys: [], skills: result.bundle.injection.skills.map((skill) => skill.name), priorPermissions: [], appliedPermissions: [],
39
18
  };
19
+ this.states.set(sessionID, { status, block: renderRuntimeSystemBlock(result.bundle) });
20
+ this.changed(status);
21
+ return { status, warnings: [...result.sourceWarnings, ...result.bundle.diagnostics.map((item) => item.message)] };
40
22
  }
41
- }
42
- export function piRuntimeSystemBlock(store, sessionID = PI_RUNTIME_SESSION_ID) {
43
- return renderInjectedSystemBlock(getRuntimeSessionState(store, sessionID));
44
- }
45
- export function piRuntimeResourcePaths(store, sessionID = PI_RUNTIME_SESSION_ID) {
46
- const state = getRuntimeSessionState(store, sessionID);
47
- return {
48
- skillPaths: state?.bundle.injection.skills.map((skill) => skill.path) ?? [],
49
- promptPaths: [],
50
- themePaths: [],
51
- };
23
+ async unequip(sessionID) {
24
+ this.states.delete(sessionID);
25
+ this.changed();
26
+ return { warnings: [] };
27
+ }
28
+ async status(sessionID) { return this.states.get(sessionID)?.status; }
29
+ systemBlock(sessionID) { return this.states.get(sessionID)?.block ?? ""; }
52
30
  }
53
31
  //# sourceMappingURL=inject.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inject.js","sourceRoot":"","sources":["../../../../src/tui/hosts/pi/inject.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,iDAAiD,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kDAAkD,CAAC;AAIpF,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAc1C,MAAM,OAAO,iBAAiB;IACX,MAAM,GAAG,IAAI,gBAAgB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,GAAG,CAAS;IACZ,KAAK,CAAsB;IAC3B,SAAS,CAAS;IAClB,UAAU,CAAsB;IAChC,QAAQ,CAAmC;IAE5D,YAAY,OAAiC;QAC3C,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,qBAAqB,CAAC;QAC5D,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAC3D,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAe,EAAE,KAA6B;QAC3D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACnE,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;QAC9B,sBAAsB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE;YACjD,WAAW,EAAE,KAAK;YAClB,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACtC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,UAAU;QACd,wBAAwB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACrD,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,MAAM;QACJ,MAAM,KAAK,GAAG,sBAAsB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACjE,OAAO;YACL,MAAM,EAAE,KAAK,EAAE,WAAW,IAAI,EAAE;YAChC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK;YAC5B,SAAS,EAAE,KAAK,EAAE,WAAW;SAC9B,CAAC;IACJ,CAAC;CACF;AAED,MAAM,UAAU,oBAAoB,CAAC,KAA0B,EAAE,SAAS,GAAG,qBAAqB;IAChG,OAAO,yBAAyB,CAAC,sBAAsB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAA0B,EAAE,SAAS,GAAG,qBAAqB;IAKlG,MAAM,KAAK,GAAG,sBAAsB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACvD,OAAO;QACL,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;QAC3E,WAAW,EAAE,EAAE;QACf,UAAU,EAAE,EAAE;KACf,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"inject.js","sourceRoot":"","sources":["../../../../src/tui/hosts/pi/inject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAGpE,kFAAkF;AAClF,MAAM,OAAO,kBAAkB;IAEA;IAA8B;IAD1C,MAAM,GAAG,IAAI,GAAG,EAAoD,CAAC;IACtF,YAA6B,GAAW,EAAmB,OAAyC;QAAvE,QAAG,GAAH,GAAG,CAAQ;QAAmB,YAAO,GAAP,OAAO,CAAkC;IAAG,CAAC;IAExG,KAAK,CAAC,KAAK,CAAC,SAAiB,EAAE,KAAe,EAAE,OAAqB;QACnE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACzI,MAAM,MAAM,GAAkB;YAC5B,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,YAAY,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK;YAC5D,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC5E,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE;SAC1H,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,wBAAwB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACvF,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrB,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,cAAc,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;IACpH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,SAAiB;QAC7B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACzE,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,SAAiB,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9E,WAAW,CAAC,SAAiB,IAAY,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;CAC3F"}
@@ -1 +1 @@
1
- {"version":3,"file":"standalone.d.ts","sourceRoot":"","sources":["../../../src/tui/hosts/standalone.ts"],"names":[],"mappings":"AAiBA,wBAAsB,gBAAgB,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4GjF"}
1
+ {"version":3,"file":"standalone.d.ts","sourceRoot":"","sources":["../../../src/tui/hosts/standalone.ts"],"names":[],"mappings":"AAWA,wBAAsB,gBAAgB,CAAC,GAAG,SAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsEzE"}
@@ -1,145 +1,109 @@
1
1
  import { spawn } from "node:child_process";
2
2
  import { ProcessTerminal, TUI } from "@earendil-works/pi-tui";
3
- import * as path from "node:path";
4
- import { getContext } from "../../core/discovery.js";
5
- import { executeEffect } from "../core/actions.js";
6
- import { loadDashboardData } from "../core/data.js";
7
- import { createInitialModel } from "../core/model.js";
3
+ import { discoverClient, sessionsAt } from "../../integrations/opencode/client.js";
4
+ import { SessionActivator } from "../../integrations/opencode/session.js";
5
+ import { DashboardController } from "../core/controller.js";
8
6
  import { defaultThemeTokens } from "../core/theme.js";
9
- import { update } from "../core/update.js";
10
- import { view } from "../core/view.js";
11
7
  import { isCtrlC } from "../skins/pi-tui/input.js";
12
8
  import { PiTuiDashboard, PiTuiOverlay } from "../skins/pi-tui/render.js";
13
9
  import { defaultPiTuiTokens } from "../skins/pi-tui/theme.js";
14
10
  export async function runStandaloneTui(cwd = process.cwd()) {
15
- const terminal = new ProcessTerminal();
16
- const tui = new TUI(terminal);
11
+ const tui = new TUI(new ProcessTerminal());
12
+ const theme = { ...defaultThemeTokens, ...defaultPiTuiTokens() };
13
+ const connection = await discoverClient().catch(() => undefined);
14
+ const activator = connection ? new SessionActivator(connection.client) : undefined;
17
15
  let exited = false;
18
- let overlayHandle;
19
- let overlayComponent;
20
- const host = {
21
- theme: () => ({ ...defaultThemeTokens, ...defaultPiTuiTokens() }),
22
- requestRender: () => tui.requestRender(),
23
- exit: () => stop(),
24
- openEditor: async (filePath) => {
16
+ let finish = () => { };
17
+ let overlay;
18
+ let picker;
19
+ const controller = new DashboardController({ cwd, changed: render, exit: stop, edit: async (file) => {
25
20
  tui.stop();
26
- await openEditor(filePath);
27
- tui.start();
28
- tui.requestRender(true);
29
- },
30
- data: await loadDashboardData(cwd),
31
- };
32
- let model = createInitialModel(host.data, { mode: "filesystem", scope: "project" });
33
- const dashboard = new PiTuiDashboard({ spec: view(model), theme: host.theme(), onIntent: dispatch });
21
+ try {
22
+ await openEditor(file);
23
+ }
24
+ finally {
25
+ tui.start();
26
+ }
27
+ } });
28
+ const dashboard = new PiTuiDashboard({ spec: controller.spec, theme, onIntent: dispatch, height: () => tui.terminal.rows });
34
29
  tui.addChild(dashboard);
35
30
  tui.setFocus(dashboard);
36
- tui.addInputListener((data) => {
37
- if (isCtrlC(data)) {
38
- stop();
39
- return { consume: true };
40
- }
41
- return undefined;
42
- });
43
- renderNow();
31
+ tui.addInputListener((data) => { if (isCtrlC(data)) {
32
+ stop();
33
+ return { consume: true };
34
+ } });
35
+ await controller.refresh();
36
+ if (connection?.warning)
37
+ controller.model.lastResult = { text: connection.warning, variant: "info" };
38
+ if (connection)
39
+ controller.model.lastResult = { text: "S: choose an OpenCode session", variant: "info" };
40
+ const completed = new Promise((resolve) => { finish = resolve; });
41
+ render();
44
42
  tui.start();
45
- return new Promise((resolve) => {
46
- const interval = setInterval(() => {
47
- if (!exited)
48
- return;
49
- clearInterval(interval);
50
- resolve();
51
- }, 20);
52
- });
43
+ await completed;
53
44
  function dispatch(intent) {
54
- if (model.overlay && intent.t === "quit")
55
- intent = { t: "closeOverlay" };
56
- if (intent.t === "cycleMode")
57
- return;
58
- const result = update(model, intent);
59
- model = { ...result.model, mode: "filesystem" };
60
- if (model.quitRequested) {
61
- stop();
45
+ if (picker) {
46
+ if (intent.t === "move")
47
+ picker.index = Math.max(0, Math.min(picker.sessions.length - 1, picker.index + intent.delta));
48
+ if (intent.t === "quit" || intent.t === "closeOverlay")
49
+ picker = undefined;
50
+ if (intent.t === "enter" && picker) {
51
+ const selected = picker.sessions[picker.index];
52
+ picker = undefined;
53
+ if (selected && activator)
54
+ void controller.selectSession({ id: selected.id, activator });
55
+ }
56
+ render();
62
57
  return;
63
58
  }
64
- renderNow();
65
- if (result.effect)
66
- void runEffect(result.effect);
67
- }
68
- async function runEffect(effect) {
69
- let actionIntent;
70
- try {
71
- if (effect.t === "editFile")
72
- await host.openEditor(effect.path);
73
- actionIntent = await executeEffect(effect, {
74
- fs: await actionContext(effect, model.scope, cwd),
59
+ if (intent.t === "selectSession" && !controller.model.overlay && !controller.model.filtering && !controller.model.busy) {
60
+ if (!connection) {
61
+ controller.model.lastResult = { text: "No running OpenCode service", variant: "info" };
62
+ render();
63
+ return;
64
+ }
65
+ void sessionsAt(connection.client, cwd).then((sessions) => { picker = { sessions, index: 0 }; render(); }).catch((error) => {
66
+ controller.model.lastResult = { text: String(error), variant: "error" };
67
+ render();
75
68
  });
69
+ return;
76
70
  }
77
- catch (err) {
78
- actionIntent = {
79
- t: "effectDone",
80
- effect: effect.t,
81
- ok: false,
82
- message: err instanceof Error ? err.message : String(err),
83
- };
84
- }
85
- if (effect.t === "reload" || effect.t === "editFile") {
86
- host.data = await loadDashboardData(cwd);
87
- const next = createInitialModel(host.data, { mode: "filesystem", scope: model.scope });
88
- model = { ...next, filter: model.filter, filtering: model.filtering, cursor: model.cursor, overlay: model.overlay, diffLines: model.diffLines };
89
- }
90
- const result = update(model, actionIntent);
91
- model = { ...result.model, mode: "filesystem" };
92
- renderNow();
71
+ void controller.dispatch(intent);
93
72
  }
94
- function renderNow() {
95
- const spec = view(model);
73
+ function render() {
74
+ if (exited)
75
+ return;
76
+ const spec = controller.spec;
77
+ if (controller.session)
78
+ spec.footer.equipped.push({ text: ` ${controller.session.id}`, style: "dim" });
96
79
  dashboard.setSpec(spec);
97
- if (spec.overlay) {
98
- if (overlayComponent)
99
- overlayComponent.setSpec(spec.overlay);
100
- else {
101
- overlayComponent = new PiTuiOverlay(spec.overlay, host.theme(), dispatch);
102
- overlayHandle = tui.showOverlay(overlayComponent, { width: "72%", maxHeight: "70%", minWidth: 36, margin: 2 });
103
- }
104
- }
105
- else if (overlayHandle) {
106
- overlayHandle.hide();
107
- overlayHandle = undefined;
108
- overlayComponent = undefined;
80
+ overlay?.hide();
81
+ overlay = undefined;
82
+ const selection = picker ? {
83
+ kind: "help", title: "Choose session · j/k, enter",
84
+ lines: picker.sessions.length ? picker.sessions.map((session, index) => [{ text: `${index === picker.index ? "▸" : " "} ${session.title ?? session.id} (${session.id})`, style: "text" }]) : [[{ text: "No sessions at this location", style: "dim" }]],
85
+ } : spec.overlay;
86
+ if (selection)
87
+ overlay = tui.showOverlay(new PiTuiOverlay(selection, theme, dispatch, () => Math.floor(tui.terminal.rows * 0.75)), { width: "90%", maxHeight: "75%", margin: 1 });
88
+ else
109
89
  tui.setFocus(dashboard);
110
- }
111
- host.requestRender();
90
+ tui.requestRender();
112
91
  }
113
92
  function stop() {
114
93
  if (exited)
115
94
  return;
116
95
  exited = true;
96
+ controller.dispose();
117
97
  tui.stop();
98
+ finish();
118
99
  }
119
100
  }
120
- async function actionContext(effect, fallbackScope, cwd) {
121
- if (effect.t === "reload" || effect.t === "editFile") {
122
- return {
123
- scope: fallbackScope,
124
- configPath: cwd,
125
- statePath: path.join(cwd, ".state.json"),
126
- projectRoot: cwd,
127
- };
128
- }
129
- const scope = "scope" in effect ? effect.scope : fallbackScope;
130
- return getContext(scope, cwd);
131
- }
132
- async function openEditor(filePath) {
101
+ async function openEditor(file) {
133
102
  const editor = process.env.VISUAL || process.env.EDITOR || "vi";
134
103
  await new Promise((resolve, reject) => {
135
- const child = spawn(editor, [filePath], { stdio: "inherit", shell: true });
104
+ const child = spawn(editor, [file], { stdio: "inherit", shell: true });
136
105
  child.on("error", reject);
137
- child.on("exit", (code) => {
138
- if (code && code !== 0)
139
- reject(new Error(`${editor} exited with code ${code}`));
140
- else
141
- resolve();
142
- });
106
+ child.on("exit", (code) => code ? reject(new Error(`Editor exited with ${code}`)) : resolve());
143
107
  });
144
108
  }
145
109
  //# sourceMappingURL=standalone.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standalone.js","sourceRoot":"","sources":["../../../src/tui/hosts/standalone.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standalone.js","sourceRoot":"","sources":["../../../src/tui/hosts/standalone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,GAAG,EAAsB,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IACxD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,EAAE,GAAG,kBAAkB,EAAE,GAAG,kBAAkB,EAAE,EAAE,CAAC;IACjE,MAAM,UAAU,GAAG,MAAM,cAAc,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACjE,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACnF,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,MAAM,GAAe,GAAG,EAAE,GAAE,CAAC,CAAC;IAClC,IAAI,OAAkC,CAAC;IACvC,IAAI,MAAuF,CAAC;IAC5F,MAAM,UAAU,GAAG,IAAI,mBAAmB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YAClG,GAAG,CAAC,IAAI,EAAE,CAAC;YACX,IAAI,CAAC;gBAAC,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;YAAC,CAAC;oBAAS,CAAC;gBAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YAAC,CAAC;QAC1D,CAAC,EAAE,CAAC,CAAC;IACL,MAAM,SAAS,GAAG,IAAI,cAAc,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5H,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACxB,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACxB,GAAG,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAAC,IAAI,EAAE,CAAC;QAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7F,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC;IAC3B,IAAI,UAAU,EAAE,OAAO;QAAE,UAAU,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IACrG,IAAI,UAAU;QAAE,UAAU,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,IAAI,EAAE,+BAA+B,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IACzG,MAAM,SAAS,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,MAAM,EAAE,CAAC;IACT,GAAG,CAAC,KAAK,EAAE,CAAC;IACZ,MAAM,SAAS,CAAC;IAEhB,SAAS,QAAQ,CAAC,MAAc;QAC9B,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,MAAM,CAAC,CAAC,KAAK,MAAM;gBAAE,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACvH,IAAI,MAAM,CAAC,CAAC,KAAK,MAAM,IAAI,MAAM,CAAC,CAAC,KAAK,cAAc;gBAAE,MAAM,GAAG,SAAS,CAAC;YAC3E,IAAI,MAAM,CAAC,CAAC,KAAK,OAAO,IAAI,MAAM,EAAE,CAAC;gBACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC/C,MAAM,GAAG,SAAS,CAAC;gBACnB,IAAI,QAAQ,IAAI,SAAS;oBAAE,KAAK,UAAU,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;YAC3F,CAAC;YACD,MAAM,EAAE,CAAC;YACT,OAAO;QACT,CAAC;QACD,IAAI,MAAM,CAAC,CAAC,KAAK,eAAe,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACvH,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,UAAU,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,IAAI,EAAE,6BAA6B,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;gBACvF,MAAM,EAAE,CAAC;gBACT,OAAO;YACT,CAAC;YACD,KAAK,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,GAAG,MAAM,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACzH,UAAU,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;gBAAC,MAAM,EAAE,CAAC;YACpF,CAAC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,KAAK,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED,SAAS,MAAM;QACb,IAAI,MAAM;YAAE,OAAO;QACnB,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC7B,IAAI,UAAU,CAAC,OAAO;YAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACxG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxB,OAAO,EAAE,IAAI,EAAE,CAAC;QAAC,OAAO,GAAG,SAAS,CAAC;QACrC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC;YACzB,IAAI,EAAE,MAAe,EAAE,KAAK,EAAE,6BAA6B;YAC3D,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,KAAK,MAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,8BAA8B,EAAE,KAAK,EAAE,KAAc,EAAE,CAAC,CAAC;SAC3Q,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QACjB,IAAI,SAAS;YAAE,OAAO,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,YAAY,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;;YAC7K,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC7B,GAAG,CAAC,aAAa,EAAE,CAAC;IACtB,CAAC;IAED,SAAS,IAAI;QACX,IAAI,MAAM;YAAE,OAAO;QACnB,MAAM,GAAG,IAAI,CAAC;QAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAAC,MAAM,EAAE,CAAC;IAC5D,CAAC;AACH,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,IAAY;IACpC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC;IAChE,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACvE,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1B,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACjG,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -31,6 +31,10 @@ export function isCtrlC(data) {
31
31
  return matchesKey(data, Key.ctrl("c"));
32
32
  }
33
33
  function toPiTuiKey(key) {
34
+ if (key === "pageup")
35
+ return Key.pageUp;
36
+ if (key === "pagedown")
37
+ return Key.pageDown;
34
38
  if (/^[A-Z]$/.test(key))
35
39
  return `shift+${key.toLowerCase()}`;
36
40
  return key;
@@ -1 +1 @@
1
- {"version":3,"file":"input.js","sourceRoot":"","sources":["../../../../src/tui/skins/pi-tui/input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,GAAG,EAAE,UAAU,EAAc,MAAM,wBAAwB,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAI5D,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,IAAe;IAChE,IAAI,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM;QAAE,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAEpE,MAAM,SAAS,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACvF,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE,CAAC;QAC7B,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ;YAAE,SAAS;QACxC,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YAC/B,IAAI,SAAS,KAAK,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC3D,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAY;IACzC,IAAI,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/D,IAAI,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9D,IAAI,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC;QAAE,OAAO,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAErE,MAAM,SAAS,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACvF,OAAO,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,IAAI,GAAG,IAAI,SAAS,KAAK,QAAQ;QACtF,CAAC,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;QACtC,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,OAAO,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,UAAU,CAAC,GAAW;IAC7B,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,GAAG,CAAC,WAAW,EAAE,EAAW,CAAC;IACtE,OAAO,GAAY,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"input.js","sourceRoot":"","sources":["../../../../src/tui/skins/pi-tui/input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,GAAG,EAAE,UAAU,EAAc,MAAM,wBAAwB,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAI5D,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,IAAe;IAChE,IAAI,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM;QAAE,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAEpE,MAAM,SAAS,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACvF,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE,CAAC;QAC7B,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ;YAAE,SAAS;QACxC,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YAC/B,IAAI,SAAS,KAAK,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC3D,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAY;IACzC,IAAI,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/D,IAAI,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9D,IAAI,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC;QAAE,OAAO,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAErE,MAAM,SAAS,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACvF,OAAO,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,IAAI,GAAG,IAAI,SAAS,KAAK,QAAQ;QACtF,CAAC,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;QACtC,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,OAAO,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,UAAU,CAAC,GAAW;IAC7B,IAAI,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC,MAAM,CAAC;IACxC,IAAI,GAAG,KAAK,UAAU;QAAE,OAAO,GAAG,CAAC,QAAQ,CAAC;IAC5C,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,GAAG,CAAC,WAAW,EAAE,EAAW,CAAC;IACtE,OAAO,GAAY,CAAC;AACtB,CAAC"}
@@ -7,11 +7,13 @@ export interface DashboardComponentOptions {
7
7
  spec: ViewSpec;
8
8
  theme?: ThemeTokens;
9
9
  onIntent?: (intent: Intent) => void;
10
+ height?: () => number;
10
11
  }
11
12
  export declare class PiTuiDashboard implements Component {
12
13
  private spec;
13
14
  private theme;
14
15
  private onIntent?;
16
+ private height;
15
17
  constructor(options: DashboardComponentOptions);
16
18
  setSpec(spec: ViewSpec): void;
17
19
  setTheme(theme: ThemeTokens): void;
@@ -20,16 +22,17 @@ export declare class PiTuiDashboard implements Component {
20
22
  invalidate(): void;
21
23
  }
22
24
  export declare class PiTuiOverlay implements Component {
25
+ private height;
23
26
  private spec;
24
27
  private theme;
25
28
  private onIntent?;
26
- constructor(spec: NonNullable<ViewSpec["overlay"]>, theme?: ThemeTokens, onIntent?: (intent: Intent) => void);
29
+ constructor(spec: NonNullable<ViewSpec["overlay"]>, theme?: ThemeTokens, onIntent?: (intent: Intent) => void, height?: () => number);
27
30
  setSpec(spec: NonNullable<ViewSpec["overlay"]>): void;
28
31
  setTheme(theme: ThemeTokens): void;
29
32
  render(width: number): string[];
30
33
  handleInput(data: string): void;
31
34
  invalidate(): void;
32
35
  }
33
- export declare function renderDashboard(spec: ViewSpec, width: number, theme?: PiTuiTheme): string[];
34
- export declare function renderOverlay(overlay: NonNullable<ViewSpec["overlay"]>, width: number, theme: PiTuiTheme): string[];
36
+ export declare function renderDashboard(spec: ViewSpec, width: number, theme?: PiTuiTheme, height?: number): string[];
37
+ export declare function renderOverlay(overlay: NonNullable<ViewSpec["overlay"]>, width: number, theme?: PiTuiTheme, height?: number): string[];
35
38
  //# sourceMappingURL=render.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../../src/tui/skins/pi-tui/render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,KAAK,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACvF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAY,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAE3D,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED,qBAAa,cAAe,YAAW,SAAS;IAC9C,OAAO,CAAC,IAAI,CAAW;IACvB,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,QAAQ,CAAC,CAA2B;gBAEhC,OAAO,EAAE,yBAAyB;IAM9C,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAI7B,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAIlC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAI/B,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK/B,UAAU,IAAI,IAAI;CACnB;AAED,qBAAa,YAAa,YAAW,SAAS;IAC5C,OAAO,CAAC,IAAI,CAAmC;IAC/C,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,QAAQ,CAAC,CAA2B;gBAEhC,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI;IAM5G,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI;IAIrD,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAIlC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAI/B,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK/B,UAAU,IAAI,IAAI;CACnB;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,UAA2B,GAAG,MAAM,EAAE,CAmB3G;AA+CD,wBAAgB,aAAa,CAAC,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE,CAOnH"}
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../../src/tui/skins/pi-tui/render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,KAAK,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACvF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAY,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAG3D,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;CACvB;AAED,qBAAa,cAAe,YAAW,SAAS;IAC9C,OAAO,CAAC,IAAI,CAAW;IACvB,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,QAAQ,CAAC,CAA2B;IAC5C,OAAO,CAAC,MAAM,CAAe;gBAEjB,OAAO,EAAE,yBAAyB;IAO9C,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAI7B,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAIlC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAI/B,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK/B,UAAU,IAAI,IAAI;CACnB;AAED,qBAAa,YAAa,YAAW,SAAS;IAKkE,OAAO,CAAC,MAAM;IAJ5H,OAAO,CAAC,IAAI,CAAmC;IAC/C,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,QAAQ,CAAC,CAA2B;gBAEhC,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,EAAU,MAAM,GAAE,MAAM,MAAiB;IAMrJ,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI;IAIrD,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAIlC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAI/B,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK/B,UAAU,IAAI,IAAI;CACnB;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,UAA2B,EAAE,MAAM,SAAK,GAAG,MAAM,EAAE,CAmBxH;AAkDD,wBAAgB,aAAa,CAAC,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,UAA2B,EAAE,MAAM,SAAK,GAAG,MAAM,EAAE,CAOjJ"}