@sbugallo/opencode-vpet 0.1.0 → 0.2.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 (47) hide show
  1. package/README.md +8 -12
  2. package/dist/adapters/opencode/server-plugin.d.ts +78 -0
  3. package/dist/adapters/opencode/server-plugin.d.ts.map +1 -0
  4. package/dist/adapters/opencode/session-messages.d.ts +4 -9
  5. package/dist/adapters/opencode/session-messages.d.ts.map +1 -1
  6. package/dist/adapters/opencode/usage-event-mapper.d.ts +6 -3
  7. package/dist/adapters/opencode/usage-event-mapper.d.ts.map +1 -1
  8. package/dist/adapters/opencode/vpet-toast.d.ts +4 -2
  9. package/dist/adapters/opencode/vpet-toast.d.ts.map +1 -1
  10. package/dist/cli/install.d.ts +9 -0
  11. package/dist/cli/install.d.ts.map +1 -0
  12. package/dist/cli.js +52 -95
  13. package/dist/cli.js.map +5 -5
  14. package/dist/commands/vpet-command-result.d.ts +2 -2
  15. package/dist/commands/vpet-command-result.d.ts.map +1 -1
  16. package/dist/commands/vpet-freeze.d.ts +1 -5
  17. package/dist/commands/vpet-freeze.d.ts.map +1 -1
  18. package/dist/commands/vpet-set.d.ts +0 -2
  19. package/dist/commands/vpet-set.d.ts.map +1 -1
  20. package/dist/commands/vpet-spawn.d.ts +0 -2
  21. package/dist/commands/vpet-spawn.d.ts.map +1 -1
  22. package/dist/commands/vpet-unfreeze.d.ts +1 -5
  23. package/dist/commands/vpet-unfreeze.d.ts.map +1 -1
  24. package/dist/index.d.ts +4 -8
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +535 -470
  27. package/dist/index.js.map +22 -21
  28. package/dist/package.json +10 -0
  29. package/dist/rpc.d.ts +32 -0
  30. package/dist/rpc.d.ts.map +1 -0
  31. package/dist/tui/theme.d.ts +27 -0
  32. package/dist/tui/theme.d.ts.map +1 -0
  33. package/dist/tui/vpet-command-layer.d.ts +32 -5
  34. package/dist/tui/vpet-command-layer.d.ts.map +1 -1
  35. package/dist/tui/vpet-dex-dialog.d.ts +2 -2
  36. package/dist/tui/vpet-dex-dialog.d.ts.map +1 -1
  37. package/dist/tui/vpet-history-dialog.d.ts +2 -2
  38. package/dist/tui/vpet-history-dialog.d.ts.map +1 -1
  39. package/dist/tui.d.ts +22 -12
  40. package/dist/tui.d.ts.map +1 -1
  41. package/dist/tui.js +203 -66
  42. package/dist/tui.js.map +10 -7
  43. package/package.json +14 -13
  44. package/dist/adapters/opencode/create-server-hooks.d.ts +0 -39
  45. package/dist/adapters/opencode/create-server-hooks.d.ts.map +0 -1
  46. package/dist/cli/config.d.ts +0 -17
  47. package/dist/cli/config.d.ts.map +0 -1
@@ -0,0 +1,10 @@
1
+ {
2
+ "name": "@sbugallo/opencode-vpet-local",
3
+ "private": true,
4
+ "type": "module",
5
+ "main": "./index.js",
6
+ "exports": {
7
+ ".": "./index.js",
8
+ "./tui": "./tui.js"
9
+ }
10
+ }
package/dist/rpc.d.ts ADDED
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Server-to-TUI notifications. The server plugin emits `toast` events; the TUI
3
+ * plugin subscribes through its OpenCode client and renders them as toasts.
4
+ */
5
+ export declare const VpetRpc: {
6
+ readonly id: "vpet";
7
+ readonly methods: {};
8
+ readonly events: {
9
+ readonly toast: {
10
+ readonly schema: {
11
+ readonly type: "object";
12
+ readonly properties: {
13
+ readonly title: {
14
+ readonly type: "string";
15
+ };
16
+ readonly message: {
17
+ readonly type: "string";
18
+ };
19
+ readonly variant: {
20
+ readonly enum: readonly ["info", "success", "warning"];
21
+ };
22
+ readonly duration: {
23
+ readonly type: "number";
24
+ };
25
+ };
26
+ readonly required: readonly ["title", "message", "variant", "duration"];
27
+ readonly additionalProperties: false;
28
+ };
29
+ };
30
+ };
31
+ };
32
+ //# sourceMappingURL=rpc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;CAkBlB,CAAA"}
@@ -0,0 +1,27 @@
1
+ import type { RGBA } from "@opentui/core";
2
+ /** Structural subset of the resolved host theme that VPet surfaces consume. */
3
+ export type VpetTheme = {
4
+ readonly current: {
5
+ readonly primary: RGBA;
6
+ readonly success: RGBA;
7
+ readonly textMuted: RGBA;
8
+ };
9
+ };
10
+ /** Structural subset of the v2 resolved theme (`context.theme`). */
11
+ export type VpetResolvedTheme = {
12
+ readonly text: {
13
+ readonly muted: RGBA;
14
+ readonly action: {
15
+ readonly primary: {
16
+ readonly base: RGBA;
17
+ };
18
+ };
19
+ readonly feedback: {
20
+ readonly success: {
21
+ readonly base: RGBA;
22
+ };
23
+ };
24
+ };
25
+ };
26
+ export declare const toVpetTheme: (theme: VpetResolvedTheme) => VpetTheme;
27
+ //# sourceMappingURL=theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/tui/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAEzC,+EAA+E;AAC/E,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAA;QACtB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAA;QACtB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAA;KACzB,CAAA;CACF,CAAA;AAED,oEAAoE;AACpE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAA;QACpB,QAAQ,CAAC,MAAM,EAAE;YACf,QAAQ,CAAC,OAAO,EAAE;gBAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;aAAE,CAAA;SAC1C,CAAA;QACD,QAAQ,CAAC,QAAQ,EAAE;YACjB,QAAQ,CAAC,OAAO,EAAE;gBAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;aAAE,CAAA;SAC1C,CAAA;KACF,CAAA;CACF,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,OAAO,iBAAiB,KAAG,SAMrD,CAAA"}
@@ -1,14 +1,41 @@
1
1
  /** @jsxImportSource @opentui/solid */
2
- import type { TuiDialogStack, TuiKeymap, TuiTheme } from "@opencode-ai/plugin/tui";
2
+ import type { JSX } from "@opentui/solid";
3
3
  import type { VpetArchiveReader } from "../application/ports/vpet-archive.ts";
4
4
  import type { ResolvedVpetSettings } from "../config/types.ts";
5
5
  import type { DigimonCatalog } from "../data/catalog.ts";
6
+ import type { VpetTheme } from "./theme.ts";
7
+ export type VpetKeymapCommand = {
8
+ readonly id: string;
9
+ readonly title: string;
10
+ readonly description: string;
11
+ readonly group: string;
12
+ readonly palette: true;
13
+ readonly slash: {
14
+ readonly name: string;
15
+ };
16
+ readonly run: () => void;
17
+ };
18
+ export type VpetKeymapLayer = {
19
+ /** Limits the layer to one input mode; "global" opts out of host input-mode scoping. */
20
+ readonly mode?: string;
21
+ /** Resolves conflicts with other active layers. */
22
+ readonly priority?: number;
23
+ readonly commands: readonly VpetKeymapCommand[];
24
+ };
25
+ export type VpetDialogSize = "medium" | "large" | "xlarge";
26
+ export type VpetDialogStack = {
27
+ readonly replace: (render: () => JSX.Element, onClose?: () => void) => void;
28
+ readonly setSize: (size: VpetDialogSize) => void;
29
+ readonly clear: () => void;
30
+ };
6
31
  export type VpetCommandLayerApi = {
7
- readonly keymap: Pick<TuiKeymap, "registerLayer">;
32
+ readonly keymap: {
33
+ readonly registerLayer: (layer: VpetKeymapLayer) => () => void;
34
+ };
8
35
  readonly ui: {
9
- readonly dialog: Pick<TuiDialogStack, "replace" | "clear" | "setSize">;
36
+ readonly dialog: VpetDialogStack;
10
37
  };
11
- readonly theme: TuiTheme;
38
+ readonly theme: VpetTheme;
12
39
  };
13
40
  export type VpetCommandLayerDependencies = {
14
41
  readonly api: VpetCommandLayerApi;
@@ -17,5 +44,5 @@ export type VpetCommandLayerDependencies = {
17
44
  readonly settings: ResolvedVpetSettings;
18
45
  readonly isDisposed: () => boolean;
19
46
  };
20
- export declare const registerVpetCommandLayer: ({ api, reader, catalog, settings, isDisposed, }: VpetCommandLayerDependencies) => ReturnType<TuiKeymap["registerLayer"]>;
47
+ export declare const registerVpetCommandLayer: ({ api, reader, catalog, settings, isDisposed, }: VpetCommandLayerDependencies) => (() => void);
21
48
  //# sourceMappingURL=vpet-command-layer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vpet-command-layer.d.ts","sourceRoot":"","sources":["../../src/tui/vpet-command-layer.tsx"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAGlF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAMxD,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;IACjD,QAAQ,CAAC,EAAE,EAAE;QACX,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC,CAAA;KACvE,CAAA;IACD,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,4BAA4B,GAAG;IACzC,QAAQ,CAAC,GAAG,EAAE,mBAAmB,CAAA;IACjC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAA;IAClC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAA;IAChC,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAA;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,OAAO,CAAA;CACnC,CAAA;AAeD,eAAO,MAAM,wBAAwB,GAAI,iDAMtC,4BAA4B,KAAG,UAAU,CAAC,SAAS,CAAC,eAAe,CAAC,CA0DtE,CAAA"}
1
+ {"version":3,"file":"vpet-command-layer.d.ts","sourceRoot":"","sources":["../../src/tui/vpet-command-layer.tsx"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAGzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAGxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAI3C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IACzC,QAAQ,CAAC,GAAG,EAAE,MAAM,IAAI,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,wFAAwF;IACxF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,mDAAmD;IACnD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAA;CAChD,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAA;AAE1D,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,IAAI,KAAK,IAAI,CAAA;IAC3E,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAA;IAChD,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,MAAM,IAAI,CAAA;KAAE,CAAA;IACnF,QAAQ,CAAC,EAAE,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAA;KAAE,CAAA;IACjD,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,4BAA4B,GAAG;IACzC,QAAQ,CAAC,GAAG,EAAE,mBAAmB,CAAA;IACjC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAA;IAClC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAA;IAChC,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAA;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,OAAO,CAAA;CACnC,CAAA;AAeD,eAAO,MAAM,wBAAwB,GAAI,iDAMtC,4BAA4B,KAAG,CAAC,MAAM,IAAI,CA0D5C,CAAA"}
@@ -1,7 +1,7 @@
1
- import type { TuiTheme } from "@opencode-ai/plugin/tui";
2
1
  import type { DexViewModel } from "./dex-view-model.ts";
2
+ import type { VpetTheme } from "./theme.ts";
3
3
  export type VpetDexDialogTheme = {
4
- readonly current: Pick<TuiTheme["current"], "primary" | "success" | "textMuted">;
4
+ readonly current: Pick<VpetTheme["current"], "primary" | "success" | "textMuted">;
5
5
  };
6
6
  export type VpetDexDialogProps = {
7
7
  readonly theme: VpetDexDialogTheme;
@@ -1 +1 @@
1
- {"version":3,"file":"vpet-dex-dialog.d.ts","sourceRoot":"","sources":["../../src/tui/vpet-dex-dialog.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,KAAK,EAAU,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAE/D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC,CAAA;CACjF,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAA;IAClC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAA;CAC7B,CAAA;AAID,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,kCAoDtD"}
1
+ {"version":3,"file":"vpet-dex-dialog.d.ts","sourceRoot":"","sources":["../../src/tui/vpet-dex-dialog.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAU,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAE3C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC,CAAA;CAClF,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAA;IAClC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAA;CAC7B,CAAA;AAID,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,kCAoDtD"}
@@ -1,7 +1,7 @@
1
- import type { TuiTheme } from "@opencode-ai/plugin/tui";
2
1
  import type { HistoryViewModel } from "./history-view-model.ts";
2
+ import type { VpetTheme } from "./theme.ts";
3
3
  export type VpetHistoryDialogTheme = {
4
- readonly current: Pick<TuiTheme["current"], "primary">;
4
+ readonly current: Pick<VpetTheme["current"], "primary">;
5
5
  };
6
6
  export type VpetHistoryDialogProps = {
7
7
  readonly theme: VpetHistoryDialogTheme;
@@ -1 +1 @@
1
- {"version":3,"file":"vpet-history-dialog.d.ts","sourceRoot":"","sources":["../../src/tui/vpet-history-dialog.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAE/D,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAA;CACvD,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,KAAK,EAAE,sBAAsB,CAAA;IACtC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAA;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAA;CAC7B,CAAA;AAID,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,kCAuE9D"}
1
+ {"version":3,"file":"vpet-history-dialog.d.ts","sourceRoot":"","sources":["../../src/tui/vpet-history-dialog.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAE3C,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAA;CACxD,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,KAAK,EAAE,sBAAsB,CAAA;IACtC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAA;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAA;CAC7B,CAAA;AAID,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,kCAuE9D"}
package/dist/tui.d.ts CHANGED
@@ -1,10 +1,26 @@
1
- import type { EventMessagePartUpdated, EventMessageUpdated, EventSessionStatus } from "@opencode-ai/sdk/v2";
2
- import type { TuiPlugin, TuiDialogProps, TuiDialogStack, TuiTheme, TuiKeymap } from "@opencode-ai/plugin/tui";
1
+ /** @jsxImportSource @opentui/solid */
2
+ import { Plugin } from "@opencode/plugin/tui";
3
3
  import type { JSX } from "@opentui/solid";
4
4
  import type { SidebarCardInputs } from "./application/models/sidebar-card-inputs.ts";
5
5
  import type { VpetArchiveReader } from "./application/ports/vpet-archive.ts";
6
6
  import type { ResolvedVpetSettings } from "./config/types.ts";
7
7
  import { type MonsterAnimationOutput } from "./tui/monster-animation.ts";
8
+ import { type VpetTheme } from "./tui/theme.ts";
9
+ import { type VpetDialogStack, type VpetKeymapLayer } from "./tui/vpet-command-layer.tsx";
10
+ type TuiSessionStatusEvent = {
11
+ readonly data: {
12
+ readonly status: {
13
+ readonly type: "idle";
14
+ } | {
15
+ readonly type: "busy";
16
+ } | {
17
+ readonly type: "retry";
18
+ readonly attempt?: number;
19
+ readonly message?: string;
20
+ };
21
+ };
22
+ };
23
+ type ActivitySubscription = readonly [type: "session.status", handler: (event: TuiSessionStatusEvent) => void] | readonly [type: "session.text.delta", handler: () => void] | readonly [type: "session.tool.called", handler: () => void] | readonly [type: "session.execution.succeeded", handler: () => void];
8
24
  export type TuiCompositionApi = {
9
25
  readonly event: {
10
26
  readonly on: (...subscription: ActivitySubscription) => () => void;
@@ -23,15 +39,13 @@ export type TuiCompositionApi = {
23
39
  }) => string;
24
40
  };
25
41
  readonly keymap?: {
26
- readonly registerLayer: TuiKeymap["registerLayer"];
42
+ readonly registerLayer: (layer: VpetKeymapLayer) => () => void;
27
43
  };
28
44
  readonly ui?: {
29
- readonly dialog: Pick<TuiDialogStack, "replace" | "clear" | "setSize">;
30
- readonly Dialog: (props: TuiDialogProps) => JSX.Element;
45
+ readonly dialog: VpetDialogStack;
31
46
  };
32
- readonly theme?: TuiTheme;
47
+ readonly theme?: VpetTheme;
33
48
  };
34
- type ActivitySubscription = readonly [type: "message.updated", handler: (event: EventMessageUpdated) => void] | readonly [type: "message.part.updated", handler: (event: EventMessagePartUpdated) => void] | readonly [type: "session.status", handler: (event: EventSessionStatus) => void];
35
49
  type TuiSchedulingOptions = {
36
50
  readonly scheduleVisualInterval?: (callback: () => void, intervalMs: number) => () => void;
37
51
  readonly schedulePollTimeout?: (callback: () => void, intervalMs: number) => () => void;
@@ -41,10 +55,6 @@ type TuiSchedulingOptions = {
41
55
  readonly archiveReader?: VpetArchiveReader;
42
56
  };
43
57
  export declare const createTui: (loadInputs: () => SidebarCardInputs | Promise<SidebarCardInputs>, settings: ResolvedVpetSettings, scheduling?: TuiSchedulingOptions) => (api: TuiCompositionApi) => Promise<void>;
44
- export declare const tui: TuiPlugin;
45
- declare const plugin: {
46
- readonly id: "opencode-vpet";
47
- readonly tui: TuiPlugin;
48
- };
58
+ declare const plugin: Plugin.Definition;
49
59
  export default plugin;
50
60
  //# sourceMappingURL=tui.d.ts.map
package/dist/tui.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../src/tui.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAC3G,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAC7G,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAKzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAA;AACpF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AAG5E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAI7D,OAAO,EAA8B,KAAK,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AAqBpG,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,YAAY,EAAE,oBAAoB,KAAK,MAAM,IAAI,CAAA;KAAE,CAAA;IACtF,QAAQ,CAAC,QAAQ,EAAE;QAAE,QAAQ,CAAC,aAAa,EAAE,MAAM,IAAI,CAAA;KAAE,CAAA;IACzD,QAAQ,CAAC,SAAS,EAAE;QAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAA;KAAE,CAAA;IAChF,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE;YAAE,QAAQ,CAAC,KAAK,EAAE;gBAAE,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,CAAC,OAAO,CAAA;aAAE,CAAA;SAAE,KAAK,MAAM,CAAA;KAC3G,CAAA;IACD,QAAQ,CAAC,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC,eAAe,CAAC,CAAA;KAAE,CAAA;IACxE,QAAQ,CAAC,EAAE,CAAC,EAAE;QACZ,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC,CAAA;QACtE,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,GAAG,CAAC,OAAO,CAAA;KACxD,CAAA;IACD,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAA;CAC1B,CAAA;AAED,KAAK,oBAAoB,GACrB,SAAS,CAAC,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC,GACjF,SAAS,CAAC,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,IAAI,CAAC,GAC1F,SAAS,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC,CAAA;AAEnF,KAAK,oBAAoB,GAAG;IAC1B,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,MAAM,IAAI,CAAA;IAC1F,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,MAAM,IAAI,CAAA;IACvF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,MAAM,CAAA;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,MAAM,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,IAAI,CAAA;IAC/D,QAAQ,CAAC,aAAa,CAAC,EAAE,iBAAiB,CAAA;CAC3C,CAAA;AAYD,eAAO,MAAM,SAAS,GAElB,YAAY,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,EAChE,UAAU,oBAAoB,EAC9B,aAAY,oBAAyB,MAEhC,KAAK,iBAAiB,KAAG,OAAO,CAAC,IAAI,CAmI3C,CAAA;AAEH,eAAO,MAAM,GAAG,EAAE,SA+BjB,CAAA;AAED,QAAA,MAAM,MAAM;;;CAAwC,CAAA;AAEpD,eAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../src/tui.tsx"],"names":[],"mappings":"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"}