@amaster.ai/pi-computer-use 0.1.2-beta.8 → 0.1.2-beta.80

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 (60) hide show
  1. package/README.md +80 -85
  2. package/dist/config.d.ts +10 -0
  3. package/dist/config.d.ts.map +1 -1
  4. package/dist/config.js +3 -2
  5. package/dist/config.js.map +1 -1
  6. package/dist/generated/cua-driver-tools.d.ts +4814 -0
  7. package/dist/generated/cua-driver-tools.d.ts.map +1 -0
  8. package/dist/generated/cua-driver-tools.js +6988 -0
  9. package/dist/generated/cua-driver-tools.js.map +1 -0
  10. package/dist/index.d.ts +1 -0
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +445 -425
  13. package/dist/index.js.map +1 -1
  14. package/dist/mcp-client.d.ts +55 -14
  15. package/dist/mcp-client.d.ts.map +1 -1
  16. package/dist/mcp-client.js +566 -62
  17. package/dist/mcp-client.js.map +1 -1
  18. package/dist/tool-groups.d.ts +16 -0
  19. package/dist/tool-groups.d.ts.map +1 -0
  20. package/dist/tool-groups.js +96 -0
  21. package/dist/tool-groups.js.map +1 -0
  22. package/dist/tool-result.d.ts +26 -0
  23. package/dist/tool-result.d.ts.map +1 -0
  24. package/dist/tool-result.js +103 -0
  25. package/dist/tool-result.js.map +1 -0
  26. package/dist/vision.d.ts +1 -1
  27. package/dist/vision.d.ts.map +1 -1
  28. package/dist/vision.js +24 -3
  29. package/dist/vision.js.map +1 -1
  30. package/package.json +18 -12
  31. package/preview.png +0 -0
  32. package/bin/darwin-arm64/.version +0 -2
  33. package/bin/darwin-arm64/CuaDriver.app/Contents/CodeResources +0 -0
  34. package/bin/darwin-arm64/CuaDriver.app/Contents/Info.plist +0 -32
  35. package/bin/darwin-arm64/CuaDriver.app/Contents/MacOS/cua-driver +0 -0
  36. package/bin/darwin-arm64/CuaDriver.app/Contents/Resources/Skills/cua-driver/README.md +0 -140
  37. package/bin/darwin-arm64/CuaDriver.app/Contents/Resources/Skills/cua-driver/RECORDING.md +0 -113
  38. package/bin/darwin-arm64/CuaDriver.app/Contents/Resources/Skills/cua-driver/SKILL.md +0 -887
  39. package/bin/darwin-arm64/CuaDriver.app/Contents/Resources/Skills/cua-driver/TESTS.md +0 -232
  40. package/bin/darwin-arm64/CuaDriver.app/Contents/Resources/Skills/cua-driver/WEB_APPS.md +0 -471
  41. package/bin/darwin-arm64/CuaDriver.app/Contents/_CodeSignature/CodeResources +0 -172
  42. package/bin/darwin-x64/.version +0 -2
  43. package/bin/darwin-x64/CuaDriver.app/Contents/CodeResources +0 -0
  44. package/bin/darwin-x64/CuaDriver.app/Contents/Info.plist +0 -32
  45. package/bin/darwin-x64/CuaDriver.app/Contents/MacOS/cua-driver +0 -0
  46. package/bin/darwin-x64/CuaDriver.app/Contents/Resources/Skills/cua-driver/README.md +0 -140
  47. package/bin/darwin-x64/CuaDriver.app/Contents/Resources/Skills/cua-driver/RECORDING.md +0 -113
  48. package/bin/darwin-x64/CuaDriver.app/Contents/Resources/Skills/cua-driver/SKILL.md +0 -887
  49. package/bin/darwin-x64/CuaDriver.app/Contents/Resources/Skills/cua-driver/TESTS.md +0 -232
  50. package/bin/darwin-x64/CuaDriver.app/Contents/Resources/Skills/cua-driver/WEB_APPS.md +0 -471
  51. package/bin/darwin-x64/CuaDriver.app/Contents/_CodeSignature/CodeResources +0 -172
  52. package/bin/linux-x64/.version +0 -2
  53. package/bin/linux-x64/cua-driver +0 -0
  54. package/bin/win32-arm64/.version +0 -2
  55. package/bin/win32-arm64/cua-driver-uia.exe +0 -0
  56. package/bin/win32-arm64/cua-driver.exe +0 -0
  57. package/bin/win32-x64/.version +0 -2
  58. package/bin/win32-x64/cua-driver-uia.exe +0 -0
  59. package/bin/win32-x64/cua-driver.exe +0 -0
  60. package/scripts/postinstall.js +0 -29
package/README.md CHANGED
@@ -1,16 +1,22 @@
1
1
  # @amaster.ai/pi-computer-use
2
2
 
3
- pi-coding-agent extension that wraps [cua-driver-rs](https://github.com/trycua/cua/), exposing desktop automation tools with a `computer_use_` prefix.
3
+ ![pi-computer-use preview](https://raw.githubusercontent.com/TGYD-helige/pi/master/packages/pi-computer-use/preview.png)
4
4
 
5
- ## Features
5
+ Cross-platform computer-use tools for Pi desktop automation. The extension exposes a native MCP tool surface with a `computer_use_` prefix. The bundled runtime comes from the official [Cua Driver Rust 0.28.2 release](https://github.com/trycua/cua/releases/tag/cua-driver-rs-v0.28.2).
6
6
 
7
- - **Zero external dependencies** — pre-compiled cua-driver-rs binaries bundled for all platforms
8
- - **MCP stdio communication** — spawns `cua-driver mcp` via `StdioClientTransport`, JSON-RPC over stdio
9
- - **Dynamic tool discovery** — auto-discovers upstream MCP tools and registers with `computer_use_` prefix; falls back to a built-in tool list when cua-driver fails to start
10
- - **Smart tool filtering** — excludes non-essential tools (agent cursor, recording, config, raw screenshot), exposes 17 action tools + 1 vision tool
11
- - **Optional visual analysis** — `computer_use_analyze_screenshot` via configurable vision model
12
- - **Cross-platform permission handling** — detects platform-specific permission issues (macOS TCC, Windows UAC, Linux display server access) and returns actionable guidance
13
- - **Graceful degradation** — tools are always registered even when cua-driver cannot connect; lazy reconnect is attempted on each tool call
7
+ ## What it provides
8
+
9
+ - One Rust 0.28.2 driver line across macOS, Linux, and Windows
10
+ - 56 version-pinned upstream tools, including sessions, element tokens, accessibility + screenshot state, native input, browser tools, diagnostics, recording, and permission policy support
11
+ - Deferred tool activation: only the core toolset is active by default; extra groups are activated on demand via `computer_use_tools` or `/computer-use-tools`
12
+ - Full MCP text, image, and `structuredContent` forwarding
13
+ - Owned daemon + MCP proxy lifecycle with session-owned reconnect and per-call cancellation
14
+ - A non-prompting Linux/Windows permission probe on session start
15
+ - Once-per-session app-launch approval and confirmation for high-risk operations
16
+ - Bounded text and structured results before they enter Pi's context
17
+ - Optional secondary vision analysis through a configured Pi model
18
+
19
+ `get_window_state` is the primary perception tool. Cua Driver 0.28 returns the accessibility tree, structured elements with `element_token`, and a screenshot in one response. The standalone `screenshot` tool no longer exists.
14
20
 
15
21
  ## Install
16
22
 
@@ -18,34 +24,56 @@ pi-coding-agent extension that wraps [cua-driver-rs](https://github.com/trycua/c
18
24
  bun add @amaster.ai/pi-computer-use
19
25
  ```
20
26
 
21
- Requires Node.js >= 20 and `@earendil-works/pi-coding-agent >= 0.74.0`.
27
+ The package selects one signed/precompiled platform runtime through npm `optionalDependencies`. Installation does not download from GitHub, and no separate Cua Driver installation is required. Offline mirrors must include `@amaster.ai/pi-computer-use` and the matching `@amaster.ai/pi-computer-use-cua-driver-*` package.
22
28
 
23
- ## Usage
29
+ Upgrading from Cua Driver 0.9 is a deliberate public-tool migration: upstream removed `set_agent_cursor_style` and replaced it with `set_agent_cursor_theme`. The new tool selects an installed `theme_id`; the old custom color/image parameters have no 0.28 equivalent.
24
30
 
25
- Install the package and pi-coding-agent will automatically discover and load the extension. All tools are registered on `session_start`.
31
+ ## Configuration
26
32
 
27
- Configure via `.pi/settings.json` (project-level) or `~/.pi/agent/settings.json` (user-level) under the `"pi-computer-use"` key:
33
+ Configure `.pi/settings.json` or `~/.pi/agent/settings.json`:
34
+
35
+ Project settings are loaded only after project trust is accepted. `${ENV_VAR}` interpolation is supported in user and agent settings, but not in project settings.
28
36
 
29
37
  ```json
30
38
  {
31
39
  "pi-computer-use": {
32
- "mode": "bundled"
40
+ "mode": "bundled",
41
+ "confirmAppLaunch": true,
42
+ "confirmDangerousActions": true,
43
+ "toolProfile": "core"
33
44
  }
34
45
  }
35
46
  ```
36
47
 
37
- ## Configuration
38
-
39
48
  | Option | Type | Default | Description |
40
- |--------|------|---------|-------------|
41
- | `mode` | `'bundled' \| 'path'` | `'bundled'` | Binary resolution strategy |
42
- | `binaryPath` | `string` | — | Custom cua-driver binary path (requires `mode: 'path'`) |
43
- | `extraArgs` | `string[]` | — | Extra CLI arguments passed to cua-driver |
44
- | `visionModel` | `VisionModelConfig` | — | Enable visual screenshot analysis |
49
+ | --- | --- | --- | --- |
50
+ | `mode` | `"bundled" \| "path"` | `"bundled"` | Use the packaged 0.28.2 driver or a compatible custom binary |
51
+ | `binaryPath` | `string` | — | Custom driver path when `mode` is `"path"` |
52
+ | `extraArgs` | `string[]` | — | Additional arguments appended to `cua-driver mcp` |
53
+ | `confirmAppLaunch` | `boolean` | `true` | Ask once per app target before `launch_app` |
54
+ | `confirmDangerousActions` | `boolean` | `true` | Confirm high-risk tools such as `kill_app` and `replay_trajectory`; recording always requires confirmation |
55
+ | `toolProfile` | `"core" \| "full"` | `"core"` | `"core"` activates only the everyday toolset at session start; `"full"` activates all 56 driver tools |
56
+ | `visionModel` | `{ provider, model }` | — | Register `computer_use_analyze_screenshot` |
57
+
58
+ In non-interactive modes, confirmation-required tools return an error unless the corresponding confirmation setting is explicitly disabled.
59
+
60
+ ### Tool groups
61
+
62
+ With the default `core` profile, only everyday tools are visible to the model (`list_apps`, `launch_app`, `get_window_state`, `verify_state`, the click/type/scroll family, and `zoom`). The remaining driver tools stay registered but inactive, so they cost no prompt context. The model activates a group itself by calling `computer_use_tools` (without arguments it lists the groups); users can do the same with `/computer-use-tools <group>`:
45
63
 
46
- ### Vision Model (Optional)
64
+ | Group | Tools |
65
+ | --- | --- |
66
+ | `browser` | CDP browser automation: `browser_prepare`, `browser_navigate`, `browser_click`, `browser_type`, `browser_dialog`, `browser_set_input_files`, `browser_download`, `browser_pointer`, `get_browser_state`, `page` |
67
+ | `recording` | `start_recording`, `stop_recording`, `get_recording_state`, `replay_trajectory`, `install_ffmpeg` |
68
+ | `session` | `start_session`, `escalate_session`, `get_session`, `get_session_state`, `list_sessions`, `end_session` |
69
+ | `cursor` | `move_cursor`, `set_agent_cursor_enabled`, `set_agent_cursor_motion`, `set_agent_cursor_theme`, `get_agent_cursor_state` |
70
+ | `window` | `list_windows`, `bring_to_front`, `set_window_frame`, `invoke_menu`, `kill_app` |
71
+ | `clipboard` | `clipboard_read`, `clipboard_write` |
72
+ | `diagnostics` | `check_permissions`, `health_report`, `get_config`, `set_config`, `check_for_update`, `get_desktop_state`, `get_screen_size`, `get_cursor_position`, `get_accessibility_tree` |
47
73
 
48
- Enable `computer_use_analyze_screenshot` by referencing a model already configured in Pi's model registry (`models.json`):
74
+ Activated groups stay active for the rest of the session; each new session starts from the configured profile again.
75
+
76
+ ### Optional vision model
49
77
 
50
78
  ```json
51
79
  {
@@ -58,77 +86,44 @@ Enable `computer_use_analyze_screenshot` by referencing a model already configur
58
86
  }
59
87
  ```
60
88
 
61
- The extension resolves API key, base URL, and headers from the model registry automatically — no need to duplicate credentials here.
62
-
63
- ## Exposed Tools (17 + 1 vision)
64
-
65
- ### Input
66
-
67
- | Tool | Description |
68
- |------|-------------|
69
- | `computer_use_click` | Left-click via element_index or x/y coordinates |
70
- | `computer_use_double_click` | Double-click at x/y or on an AX element |
71
- | `computer_use_right_click` | Right-click (context menu) |
72
- | `computer_use_type_text` | Insert text via AX or CGEvent fallback |
73
- | `computer_use_press_key` | Press and release a single key |
74
- | `computer_use_hotkey` | Press a key combination (e.g. Cmd+C) |
75
- | `computer_use_scroll` | Scroll by line or page in a direction |
76
- | `computer_use_drag` | Press-drag-release gesture between two points |
77
- | `computer_use_set_value` | Set value on UI elements (popups, sliders, steppers) |
78
-
79
- ### Query
80
-
81
- | Tool | Description |
82
- |------|-------------|
83
- | `computer_use_get_screen_size` | Get display dimensions and scale factor |
84
- | `computer_use_get_cursor_position` | Get current mouse cursor position |
85
- | `computer_use_get_accessibility_tree` | Lightweight desktop snapshot (apps, windows, bounds) |
86
- | `computer_use_get_window_state` | Full AX tree of a window with actionable element indices |
87
- | `computer_use_list_windows` | List all top-level windows with bounds and z-order |
88
- | `computer_use_list_apps` | List running and installed apps with state flags |
89
-
90
- ### App Lifecycle
91
-
92
- | Tool | Description |
93
- |------|-------------|
94
- | `computer_use_launch_app` | Launch an app in the background without focus steal |
95
- | `computer_use_kill_app` | Force-terminate a process by pid |
96
-
97
- ### Vision (requires `visionModel` config)
89
+ `computer_use_analyze_screenshot` requires both `pid` and `window_id`. It calls `get_window_state`, reuses the returned image, and invokes the configured model. Use it only when the primary model cannot resolve visual ambiguity.
98
90
 
99
- | Tool | Description |
100
- |------|-------------|
101
- | `computer_use_analyze_screenshot` | Take a screenshot and analyze it with a vision model |
91
+ ## Runtime and permissions
102
92
 
103
- ## Excluded Tools (16)
93
+ On macOS, `session_start` registers the generated 0.28.2 manifest without starting the driver. The signed app and MCP proxy start lazily on the first computer-use tool call, which requests any missing permissions through `check_permissions({ prompt: true })`. Existing grants do not raise another system dialog. The requested tool still runs and reports its own capability or permission error. Linux and Windows keep eager startup: they discover the exact live `tools/list` surface and call `check_permissions({ prompt: false })`. If discovery fails, the extension registers `computer_use_connect` (and `/computer-use-connect`) so a later retry can install the exact live platform contract without advertising another OS's schemas.
104
94
 
105
- Agent cursor styling, recording/replay, config management, zoom, raw screenshot (use `analyze_screenshot` instead), and browser-specific operations are filtered out.
95
+ Driver startup, reconnect, and the first macOS permission probe are session-owned. Cancelling a tool stops only that caller's wait or MCP request; session shutdown aborts the shared work. macOS and Linux also use a transient pipe-backed lease to stop the owned daemon after an abrupt host exit; no persistent service or system scheduler is installed.
106
96
 
107
- ## Permissions
97
+ - **Bundled macOS:** launches the signed `CuaDriver.app` through LaunchServices,
98
+ so Accessibility and Screen Recording grants belong to `com.trycua.driver`.
99
+ - **Custom macOS binary:** uses Cua Driver embedded mode and inherits the host
100
+ application's TCC responsibility chain.
101
+ - **Linux/Windows:** starts an extension-owned daemon in the interactive user
102
+ session and tears it down on session shutdown.
108
103
 
109
- On `session_start`, the extension checks permissions via cua-driver's `check_permissions` tool. Platform-specific guidance is provided:
104
+ ## Supported targets
110
105
 
111
- | Platform | Accessibility | Screen Capture |
112
- |----------|--------------|----------------|
113
- | macOS | System Settings → Privacy & Security → Accessibility | System Settings → Privacy & Security → Screen & System Audio Recording |
114
- | Windows | Run as Administrator / UI Automation access | Check DRM or security policy |
115
- | Linux | AT-SPI accessibility service | PipeWire portal or X11 access |
106
+ | Platform | Runtime package |
107
+ | --- | --- |
108
+ | macOS ARM64 / x64 | `@amaster.ai/pi-computer-use-cua-driver-darwin-universal` |
109
+ | Linux x64 | `@amaster.ai/pi-computer-use-cua-driver-linux-x64` |
110
+ | Linux ARM64 | `@amaster.ai/pi-computer-use-cua-driver-linux-arm64` |
111
+ | Windows x64 | `@amaster.ai/pi-computer-use-cua-driver-win32-x64` |
112
+ | Windows ARM64 | `@amaster.ai/pi-computer-use-cua-driver-win32-arm64` |
116
113
 
117
- When cua-driver fails to connect (missing permissions, binary not found, etc.):
118
- 1. User is notified with a platform-appropriate warning
119
- 2. Tools are still registered using a built-in fallback schema
120
- 3. On each tool call, lazy reconnect is attempted; if it still fails, a friendly error with permission instructions is returned
114
+ ## Canonical workflow
121
115
 
122
- ## Supported Platforms
116
+ 1. `computer_use_launch_app` or `computer_use_list_apps`
117
+ 2. `computer_use_get_window_state`
118
+ 3. Act using `element_token`/`element_index`, falling back to pixels for
119
+ custom-drawn surfaces
120
+ 4. Re-run `computer_use_get_window_state` and verify the change
121
+ 5. When the task needs more than the core toolset (browser automation,
122
+ recording, escalated sessions, ...), call `computer_use_tools` with the
123
+ matching group first
123
124
 
124
- | Platform | Binary |
125
- |----------|--------|
126
- | macOS ARM64 | `bin/darwin-arm64/cua-driver` |
127
- | macOS x64 | `bin/darwin-x64/cua-driver` |
128
- | Linux x64 | `bin/linux-x64/cua-driver` |
129
- | Windows x64 | `bin/win32-x64/cua-driver.exe` |
130
- | Windows ARM64 | `bin/win32-arm64/cua-driver.exe` |
125
+ Linux and Windows tool descriptions and schemas come from the exact live driver. macOS uses the generated manifest for the bundled driver release.
131
126
 
132
127
  ## License
133
128
 
134
- Apache-2.0
129
+ Apache-2.0 for this extension package. Bundled Cua Driver assets retain the upstream MIT license and release metadata in each platform package.
package/dist/config.d.ts CHANGED
@@ -12,6 +12,16 @@ export interface ComputerUseConfig {
12
12
  extraArgs?: string[];
13
13
  /** Vision model for screenshot analysis */
14
14
  visionModel?: VisionModelConfig;
15
+ /** Ask once per app target before launch_app. Default: true */
16
+ confirmAppLaunch?: boolean;
17
+ /** Confirm high-risk tools such as kill_app and replay_trajectory. Default: true */
18
+ confirmDangerousActions?: boolean;
19
+ /**
20
+ * Which driver tools are active at session start: 'core' activates only the
21
+ * everyday toolset (extra groups via the computer_use_tools tool or the
22
+ * /computer-use-tools command), 'full' activates every tool. Default: 'core'
23
+ */
24
+ toolProfile?: 'core' | 'full';
15
25
  }
16
26
  export declare function resolveConfig(config?: ComputerUseConfig): ComputerUseConfig;
17
27
  export declare function loadConfigFromFile(options?: PiSettingsOptions): ComputerUseConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAGxF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,2EAA2E;IAC3E,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAC1B,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,2CAA2C;IAC3C,WAAW,CAAC,EAAE,iBAAiB,CAAC;CACjC;AAMD,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,iBAAiB,CAE3E;AAED,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,iBAAiB,CAKjF"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAExF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,2EAA2E;IAC3E,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAC1B,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,2CAA2C;IAC3C,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,+DAA+D;IAC/D,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oFAAoF;IACpF,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC/B;AASD,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,iBAAiB,CAE3E;AAED,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,iBAAiB,CAIjF"}
package/dist/config.js CHANGED
@@ -1,14 +1,15 @@
1
1
  import { loadPiSettings } from '@amaster.ai/pi-shared/settings';
2
- import { getAgentDir } from '@earendil-works/pi-coding-agent';
3
2
  const DEFAULTS = {
4
3
  mode: 'bundled',
4
+ confirmAppLaunch: true,
5
+ confirmDangerousActions: true,
6
+ toolProfile: 'core',
5
7
  };
6
8
  export function resolveConfig(config) {
7
9
  return { ...DEFAULTS, ...config };
8
10
  }
9
11
  export function loadConfigFromFile(options) {
10
12
  return loadPiSettings('pi-computer-use', {
11
- agentDir: getAgentDir(),
12
13
  ...options,
13
14
  });
14
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAA0B,MAAM,gCAAgC,CAAC;AACxF,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAkB9D,MAAM,QAAQ,GAA+B;IAC3C,IAAI,EAAE,SAAS;CAChB,CAAC;AAEF,MAAM,UAAU,aAAa,CAAC,MAA0B;IACtD,OAAO,EAAE,GAAG,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAA2B;IAC5D,OAAO,cAAc,CAAoB,iBAAiB,EAAE;QAC1D,QAAQ,EAAE,WAAW,EAAE;QACvB,GAAG,OAAO;KACX,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAA0B,MAAM,gCAAgC,CAAC;AA4BxF,MAAM,QAAQ,GAA+B;IAC3C,IAAI,EAAE,SAAS;IACf,gBAAgB,EAAE,IAAI;IACtB,uBAAuB,EAAE,IAAI;IAC7B,WAAW,EAAE,MAAM;CACpB,CAAC;AAEF,MAAM,UAAU,aAAa,CAAC,MAA0B;IACtD,OAAO,EAAE,GAAG,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAA2B;IAC5D,OAAO,cAAc,CAAoB,iBAAiB,EAAE;QAC1D,GAAG,OAAO;KACX,CAAC,CAAC;AACL,CAAC"}