joonecli 0.2.4 → 0.2.5

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 (58) hide show
  1. package/README.md +20 -2
  2. package/dist/cli/index.js +11 -62
  3. package/dist/cli/index.js.map +1 -1
  4. package/dist/desktop/cliEntry.d.ts +1 -0
  5. package/dist/desktop/cliEntry.js +18 -0
  6. package/dist/desktop/cliEntry.js.map +1 -0
  7. package/dist/desktop/devServer.d.ts +1 -0
  8. package/dist/desktop/devServer.js +12 -0
  9. package/dist/desktop/devServer.js.map +1 -0
  10. package/dist/desktop/ipc.d.ts +14 -0
  11. package/dist/desktop/ipc.js +46 -0
  12. package/dist/desktop/ipc.js.map +1 -0
  13. package/dist/desktop/npmCli.d.ts +1 -0
  14. package/dist/desktop/npmCli.js +18 -0
  15. package/dist/desktop/npmCli.js.map +1 -0
  16. package/dist/desktop/providerCatalog.d.ts +11 -0
  17. package/dist/desktop/providerCatalog.js +64 -0
  18. package/dist/desktop/providerCatalog.js.map +1 -0
  19. package/dist/desktop/pruneReleaseAssets.d.ts +10 -0
  20. package/dist/desktop/pruneReleaseAssets.js +48 -0
  21. package/dist/desktop/pruneReleaseAssets.js.map +1 -0
  22. package/dist/desktop/publishReleaseAssets.d.ts +12 -0
  23. package/dist/desktop/publishReleaseAssets.js +49 -0
  24. package/dist/desktop/publishReleaseAssets.js.map +1 -0
  25. package/dist/desktop/releaseMetadata.d.ts +12 -0
  26. package/dist/desktop/releaseMetadata.js +54 -0
  27. package/dist/desktop/releaseMetadata.js.map +1 -0
  28. package/dist/desktop/server.d.ts +22 -0
  29. package/dist/desktop/server.js +100 -0
  30. package/dist/desktop/server.js.map +1 -0
  31. package/dist/desktop/smokeTestBundles.d.ts +10 -0
  32. package/dist/desktop/smokeTestBundles.js +108 -0
  33. package/dist/desktop/smokeTestBundles.js.map +1 -0
  34. package/dist/desktop/validateBundles.d.ts +8 -0
  35. package/dist/desktop/validateBundles.js +52 -0
  36. package/dist/desktop/validateBundles.js.map +1 -0
  37. package/dist/desktop/webDev.d.ts +1 -0
  38. package/dist/desktop/webDev.js +32 -0
  39. package/dist/desktop/webDev.js.map +1 -0
  40. package/dist/runtime/service.d.ts +44 -0
  41. package/dist/runtime/service.js +416 -0
  42. package/dist/runtime/service.js.map +1 -0
  43. package/dist/runtime/types.d.ts +110 -0
  44. package/dist/runtime/types.js +2 -0
  45. package/dist/runtime/types.js.map +1 -0
  46. package/dist/ui/App.d.ts +2 -0
  47. package/dist/ui/App.js +176 -29
  48. package/dist/ui/App.js.map +1 -1
  49. package/dist/ui/components/HITLPrompt.d.ts +1 -0
  50. package/dist/ui/components/HITLPrompt.js +3 -3
  51. package/dist/ui/components/HITLPrompt.js.map +1 -1
  52. package/dist/ui/components/ToolCallPanel.d.ts +0 -5
  53. package/dist/ui/components/ToolCallPanel.js +33 -11
  54. package/dist/ui/components/ToolCallPanel.js.map +1 -1
  55. package/dist/ui/components/WorkflowTodoPanel.d.ts +13 -0
  56. package/dist/ui/components/WorkflowTodoPanel.js +35 -0
  57. package/dist/ui/components/WorkflowTodoPanel.js.map +1 -0
  58. package/package.json +12 -1
package/README.md CHANGED
@@ -19,6 +19,7 @@
19
19
  - **🔌 User-Local Provider Plugins**: Heavy LLM SDKs (like `@langchain/google-genai`) are dynamically installed into `~/.joone/providers`. This keeps the base Joone installation incredibly lightweight while supporting every major AI provider.
20
20
  - **🛡️ Secure Execution Sandbox**: Joone cannot accidentally delete your local database or run malicious `npm install` scripts on your host machine. All execution happens in an isolated E2B cloud sandbox that syncs seamlessly with your local workspace.
21
21
  - **🖥️ Beautiful Terminal UI**: Built with React and Ink, Joone provides a rich, interactive TUI (Terminal User Interface) with spinners, syntax highlighting, and progress tracking.
22
+ - **🪟 Desktop Client Foundation**: Milestone 20 is underway with a Tauri + React desktop scaffold that reuses a shared Node runtime service instead of forking the agent core.
22
23
  - **🔍 Deep Insights**: Integrated with LangSmith for comprehensive session tracing, token counting, and performance analysis.
23
24
  - **🔁 Agent Resilience**: Includes loop detection, command sanitization, backoff retries, and a human-in-the-loop (HITL) permission middleware (`auto`, `ask_dangerous`, `ask_all`).
24
25
 
@@ -44,6 +45,22 @@ npm install -g joone
44
45
 
45
46
  Once installed, simply run `joone` in any directory. If it's your first time, the configuration wizard will open automatically.
46
47
 
48
+ ### Desktop Client Status
49
+
50
+ The desktop app is currently an in-progress Milestone 20 scaffold. The repository now includes:
51
+
52
+ - a shared runtime service in `src/runtime/`
53
+ - a desktop IPC bridge in `src/desktop/ipc.ts`
54
+ - a Tauri shell in `src-tauri/`
55
+ - a React desktop shell in `desktop/`
56
+
57
+ The CLI remains the stable primary interface while the desktop client is wired up incrementally.
58
+
59
+ ### Desktop Packaging CI
60
+
61
+ Cross-platform desktop bundle automation now lives in GitHub Actions via `.github/workflows/desktop-build.yml`.
62
+ The workflow builds Tauri bundles on Windows, macOS, and Ubuntu, validates that the expected `.msi`, `.dmg`, or `.AppImage` output exists for each runner, and uploads the generated artifacts as workflow artifacts for installer smoke testing.
63
+
47
64
  ### Configuration
48
65
 
49
66
  If you ever need to change your LLM provider, API keys, or models, run the configuration wizard:
@@ -93,11 +110,12 @@ Since Joone manages its own user-local plugins and settings, completely removing
93
110
 
94
111
  ## 🏗️ Architecture
95
112
 
96
- Joone is built around the **Execution Harness** pattern.
113
+ Joone is built around the **Execution Harness** pattern, now with a shared runtime layer so multiple clients can reuse the same agent core.
97
114
 
98
115
  1. **Prompt Builder**: Dynamically constructs LLM prompts using Anthropic/LangChain's prompt caching features to save tokens over long sessions.
99
116
  2. **Middleware Pipeline**: Tool calls pass through a robust middleware stack (Loop Detection, Command Sanitization, Permissions) before executing.
100
- 3. **Dynamic Sandbox**: Tools executing terminal commands or running dev servers are routed via `@langchain/core` directly into a temporary E2B sandbox. File modifications are synchronized back to your local machine via a bidirectional sync layer.
117
+ 3. **Shared Runtime Service**: A Node-side runtime layer now exposes config, session, and streaming event APIs that can be consumed by both the CLI and the upcoming desktop client.
118
+ 4. **Dynamic Sandbox**: Tools executing terminal commands or running dev servers are routed via `@langchain/core` directly into a temporary E2B sandbox. File modifications are synchronized back to your local machine via a bidirectional sync layer.
101
119
 
102
120
  ## 🤝 Contributing
103
121
 
package/dist/cli/index.js CHANGED
@@ -7,68 +7,17 @@ import chalk from "chalk";
7
7
  import { intro, outro, select, text, password, confirm, spinner, isCancel, cancel, } from "@clack/prompts";
8
8
  import { loadConfig, saveConfig } from "./config.js";
9
9
  import { StartupBenchmark } from "./startupBenchmark.js";
10
+ import { JooneRuntimeService } from "../runtime/service.js";
11
+ import { PROVIDER_MODELS, SUPPORTED_PROVIDERS } from "../desktop/providerCatalog.js";
10
12
  process.env.NODE_ENV ??= "production";
11
13
  const CONFIG_PATH = path.join(os.homedir(), ".joone", "config.json");
12
- const SUPPORTED_PROVIDERS = [
13
- { value: "anthropic", label: "Anthropic", hint: "Claude 4, 3.5 Sonnet, Opus, Haiku" },
14
- { value: "openai", label: "OpenAI", hint: "GPT-4o, o1, o3-mini" },
15
- { value: "google", label: "Google", hint: "Gemini 3.1 Pro-preview, 3 Flash-preview" },
16
- { value: "mistral", label: "Mistral", hint: "Mistral Large, Codestral" },
17
- { value: "groq", label: "Groq", hint: "Llama 3.1 70B, Mixtral" },
18
- { value: "deepseek", label: "DeepSeek", hint: "DeepSeek Chat, Reasoner" },
19
- { value: "fireworks", label: "Fireworks AI", hint: "Llama 3.1 70B Instruct" },
20
- { value: "together", label: "Together AI", hint: "Llama 3.1 Turbo" },
21
- { value: "ollama", label: "Ollama (Local)", hint: "No API key needed" },
22
- ];
23
- const PROVIDER_MODELS = {
24
- anthropic: [
25
- { value: "claude-sonnet-4-20250514", label: "Claude Sonnet 4" },
26
- { value: "claude-3-5-sonnet-20241022", label: "Claude 3.5 Sonnet" },
27
- { value: "claude-3-opus-20240229", label: "Claude 3 Opus" },
28
- { value: "claude-3-haiku-20240307", label: "Claude 3 Haiku" },
29
- ],
30
- openai: [
31
- { value: "gpt-4o", label: "GPT-4o" },
32
- { value: "gpt-4o-mini", label: "GPT-4o Mini" },
33
- { value: "o1", label: "o1" },
34
- { value: "o3-mini", label: "o3-mini" },
35
- ],
36
- google: [
37
- { value: "gemini-3.1-pro-preview", label: "Gemini 3.1 Pro Preview" },
38
- { value: "gemini-3-flash-preview", label: "Gemini 3 Flash Preview" },
39
- { value: "gemini-2.5-flash", label: "Gemini 2.5 Flash" },
40
- { value: "gemini-2.5-pro", label: "Gemini 2.5 Pro" },
41
- { value: "gemini-1.5-pro", label: "Gemini 1.5 Pro" },
42
- { value: "gemini-1.5-flash", label: "Gemini 1.5 Flash" },
43
- ],
44
- mistral: [
45
- { value: "mistral-large-latest", label: "Mistral Large" },
46
- { value: "codestral-latest", label: "Codestral" },
47
- { value: "mistral-small-latest", label: "Mistral Small" },
48
- ],
49
- groq: [
50
- { value: "llama-3.1-70b-versatile", label: "Llama 3.1 70B" },
51
- { value: "mixtral-8x7b-32768", label: "Mixtral 8x7B" },
52
- ],
53
- deepseek: [
54
- { value: "deepseek-chat", label: "DeepSeek Chat" },
55
- { value: "deepseek-reasoner", label: "DeepSeek Reasoner" },
56
- ],
57
- fireworks: [
58
- { value: "accounts/fireworks/models/llama-v3p1-70b-instruct", label: "Llama 3.1 70B Instruct" },
59
- ],
60
- together: [
61
- { value: "meta-llama/Llama-3.1-70B-Instruct-Turbo", label: "Llama 3.1 70B Turbo" },
62
- ],
63
- ollama: [
64
- { value: "llama3", label: "Llama 3" },
65
- { value: "codellama", label: "Code Llama" },
66
- { value: "mistral", label: "Mistral" },
67
- ],
68
- };
69
14
  const program = new Command();
70
15
  const startupBenchmark = new StartupBenchmark();
71
16
  startupBenchmark.mark("cli:entry");
17
+ const runtimeService = new JooneRuntimeService({
18
+ configPath: CONFIG_PATH,
19
+ cwd: process.cwd(),
20
+ });
72
21
  async function loadModelFactory() {
73
22
  return import("./modelFactory.js");
74
23
  }
@@ -474,9 +423,7 @@ program
474
423
  .command("sessions")
475
424
  .description("List all persistent sessions available for resumption")
476
425
  .action(async () => {
477
- const { SessionStore } = await import("../core/sessionStore.js");
478
- const store = new SessionStore();
479
- const sessions = await store.listSessions();
426
+ const sessions = await runtimeService.listSessions();
480
427
  if (sessions.length === 0) {
481
428
  console.log(chalk.dim("\n No saved sessions found.\n"));
482
429
  return;
@@ -484,11 +431,13 @@ program
484
431
  console.log(chalk.bold("\n Recent Sessions:"));
485
432
  console.log(chalk.dim(" ─────────────────────────────────────────────────────────"));
486
433
  for (const session of sessions) {
487
- const date = new Date(session.lastSavedAt).toLocaleString();
434
+ const date = session.lastSavedAt
435
+ ? new Date(session.lastSavedAt).toLocaleString()
436
+ : "Not saved yet";
488
437
  console.log(` ${chalk.cyan(session.sessionId)} ` +
489
438
  chalk.dim(`[${date}] `) +
490
439
  chalk.grey(`(${session.model})\n`) +
491
- ` ↳ ${chalk.white(session.description)}\n`);
440
+ ` ↳ ${chalk.white(session.description ?? "Empty session")}\n`);
492
441
  }
493
442
  });
494
443
  // ─── joone analyze ─────────────────────────────────────────────────────────────
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,KAAK,EACL,KAAK,EACL,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,OAAO,EACP,QAAQ,EACR,MAAM,GACP,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAe,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC;AAEtC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;AAErE,MAAM,mBAAmB,GAAG;IAC1B,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,mCAAmC,EAAE;IACrF,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,qBAAqB,EAAE;IACjE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,yCAAyC,EAAE;IACrF,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,0BAA0B,EAAE;IACxE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB,EAAE;IAChE,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,yBAAyB,EAAE;IACzE,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,wBAAwB,EAAE;IAC7E,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,iBAAiB,EAAE;IACpE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,mBAAmB,EAAE;CAC/D,CAAC;AAEX,MAAM,eAAe,GAAuD;IAC1E,SAAS,EAAE;QACT,EAAE,KAAK,EAAE,0BAA0B,EAAE,KAAK,EAAE,iBAAiB,EAAE;QAC/D,EAAE,KAAK,EAAE,4BAA4B,EAAE,KAAK,EAAE,mBAAmB,EAAE;QACnE,EAAE,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAE,eAAe,EAAE;QAC3D,EAAE,KAAK,EAAE,yBAAyB,EAAE,KAAK,EAAE,gBAAgB,EAAE;KAC9D;IACD,MAAM,EAAE;QACN,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;QACpC,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;QAC9C,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;QAC5B,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;KACvC;IACD,MAAM,EAAE;QACN,EAAE,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAE,wBAAwB,EAAE;QACpE,EAAE,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAE,wBAAwB,EAAE;QACpE,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,EAAE;QACxD,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,EAAE;QACpD,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,EAAE;QACpD,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,EAAE;KACzD;IACD,OAAO,EAAE;QACP,EAAE,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,eAAe,EAAE;QACzD,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,WAAW,EAAE;QACjD,EAAE,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,eAAe,EAAE;KAC1D;IACD,IAAI,EAAE;QACJ,EAAE,KAAK,EAAE,yBAAyB,EAAE,KAAK,EAAE,eAAe,EAAE;QAC5D,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,cAAc,EAAE;KACvD;IACD,QAAQ,EAAE;QACR,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,EAAE;QAClD,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,mBAAmB,EAAE;KAC3D;IACD,SAAS,EAAE;QACT,EAAE,KAAK,EAAE,mDAAmD,EAAE,KAAK,EAAE,wBAAwB,EAAE;KAChG;IACD,QAAQ,EAAE;QACR,EAAE,KAAK,EAAE,yCAAyC,EAAE,KAAK,EAAE,qBAAqB,EAAE;KACnF;IACD,MAAM,EAAE;QACN,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE;QACrC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE;QAC3C,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;KACvC;CACF,CAAC;AAEF,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAC9B,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAC;AAChD,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAEnC,KAAK,UAAU,gBAAgB;IAC7B,OAAO,MAAM,CAAC,mBAAmB,CAAC,CAAC;AACrC,CAAC;AAED,KAAK,UAAU,mBAAmB;IAChC,OAAO,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAClC,CAAC;AAED,OAAO;KACJ,IAAI,CAAC,OAAO,CAAC;KACb,WAAW,CAAC,8EAA8E,CAAC;KAC3F,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,kFAAkF;AAElF;;;;;;GAMG;AACH,KAAK,UAAU,aAAa;IAC1B,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAE9C,MAAM,cAAc,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAE/C,8CAA8C;IAC9C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC;QAC5B,OAAO,EAAE,0BAA0B;QACnC,OAAO,EAAE,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACvC,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,IAAI,EAAE,CAAC,CAAC,IAAI;SACb,CAAC,CAAC;QACH,YAAY,EAAE,cAAc,CAAC,QAAQ;KACtC,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvB,MAAM,CAAC,0BAA0B,CAAC,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,6CAA6C;IAC7C,MAAM,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC/C,IAAI,KAAsB,CAAC;IAE3B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,KAAK,GAAG,MAAM,MAAM,CAAC;YACnB,OAAO,EAAE,mBAAmB;YAC5B,OAAO,EAAE,MAAM;YACf,YAAY,EAAE,cAAc,CAAC,KAAK;SACnC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,KAAK,GAAG,MAAM,IAAI,CAAC;YACjB,OAAO,EAAE,sBAAsB;YAC/B,YAAY,EAAE,cAAc,CAAC,KAAK;YAClC,WAAW,EAAE,cAAc,CAAC,KAAK;SAClC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACpB,MAAM,CAAC,0BAA0B,CAAC,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,6CAA6C;IAC7C,IAAI,MAAmC,CAAC;IACxC,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,GAAG,MAAM,QAAQ,CAAC;YACtB,OAAO,EAAE,cAAc,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,UAAU;YACnE,IAAI,EAAE,GAAG;SACV,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACrB,MAAM,CAAC,0BAA0B,CAAC,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACpC,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC;QACjC,CAAC;IACH,CAAC;IAED,gDAAgD;IAEhD,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;IACnF,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAExB,gBAAgB;IAChB,IAAI,MAAM,GAAG,MAAM,QAAQ,CAAC;QAC1B,OAAO,EAAE,eAAe,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE;QACxD,IAAI,EAAE,GAAG;KACV,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;IAC9E,IAAI,CAAC,MAAM,IAAK,MAAiB,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,MAAM,GAAG,cAAc,CAAC,SAAS,IAAI,EAAE,CAAC;IAEzF,yBAAyB;IACzB,IAAI,KAAK,GAAG,MAAM,QAAQ,CAAC;QACzB,OAAO,EAAE,uBAAuB,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE;QACjE,IAAI,EAAE,GAAG;KACV,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;IAC7E,IAAI,CAAC,KAAK,IAAK,KAAgB,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,KAAK,GAAG,cAAc,CAAC,iBAAiB,IAAI,EAAE,CAAC;IAE9F,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC;QACxB,OAAO,EAAE,sBAAsB,KAAK,CAAC,GAAG,CAAC,oDAAoD,CAAC,EAAE;QAChG,WAAW,EAAE,gBAAgB;QAC7B,YAAY,EAAE,cAAc,CAAC,iBAAiB,IAAI,EAAE;KACrD,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;IAChF,IAAI,CAAC,QAAQ,IAAK,QAAmB,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,QAAQ,GAAG,cAAc,CAAC,iBAAiB,IAAI,EAAE,CAAC;IAEvG,6BAA6B;IAC7B,IAAI,SAAS,GAAG,MAAM,QAAQ,CAAC;QAC7B,OAAO,EAAE,kBAAkB,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE;QACzD,IAAI,EAAE,GAAG;KACV,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;IACjF,IAAI,CAAC,SAAS,IAAK,SAAoB,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,SAAS,GAAG,cAAc,CAAC,YAAY,IAAI,EAAE,CAAC;IAErG,qBAAqB;IACrB,IAAI,QAAQ,GAAG,MAAM,QAAQ,CAAC;QAC5B,OAAO,EAAE,iBAAiB,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE;QACrD,IAAI,EAAE,GAAG;KACV,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;IAChF,IAAI,CAAC,QAAQ,IAAK,QAAmB,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,QAAQ,GAAG,cAAc,CAAC,WAAW,IAAI,EAAE,CAAC;IAEjG,sBAAsB;IACtB,IAAI,YAAY,GAAG,MAAM,QAAQ,CAAC;QAChC,OAAO,EAAE,qBAAqB,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;QACtD,IAAI,EAAE,GAAG;KACV,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;IACpF,IAAI,CAAC,YAAY,IAAK,YAAuB,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,YAAY,GAAG,cAAc,CAAC,eAAe,IAAI,EAAE,CAAC;IAEjH,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,mBAAmB,EAAE,CAAC;QACxD,CAAC,CAAC,KAAK,CAAC,kCAAkC,QAAQ,sBAAsB,CAAC,CAAC;QAC1E,MAAM,eAAe,CAAC,QAAkB,CAAC,CAAC;QAC1C,CAAC,CAAC,IAAI,CAAC,aAAa,QAAQ,oBAAoB,CAAC,CAAC;IACpD,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,CAAC,CAAC,IAAI,CAAC,qBAAqB,QAAQ,WAAW,CAAC,CAAC;QACjD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,sDAAsD,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACjG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qCAAqC,QAAQ,IAAI,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC;IACrB,EAAE,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAEpC,MAAM,SAAS,GAAgB;QAC7B,QAAQ,EAAE,QAAkB;QAC5B,KAAK,EAAE,KAAe;QACtB,MAAM,EAAE,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QACvD,SAAS,EAAE,cAAc,CAAC,SAAS;QACnC,WAAW,EAAE,cAAc,CAAC,WAAW;QACvC,SAAS,EAAE,cAAc,CAAC,SAAS;QACnC,eAAe,EAAE,cAAc,CAAC,eAAe;QAC/C,SAAS,EAAE,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QAC1D,iBAAiB,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;QAChE,iBAAiB,EAAE,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QACtE,YAAY,EAAE,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QACnE,WAAW,EAAE,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QAChE,eAAe,EAAE,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;QAC5E,gBAAgB,EAAE,cAAc,CAAC,gBAAgB;KAClD,CAAC;IAEF,UAAU,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACnC,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAEhC,KAAK,CACH,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;QACd,sBAAsB,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI;QAChD,6BAA6B,CAChC,CAAC;IAEF,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,kFAAkF;AAElF,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,iDAAiD,CAAC;KAC9D,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,aAAa,EAAE,CAAC;IAEtB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC;QAC7B,OAAO,EAAE,oCAAoC;QAC7C,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;IAEH,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpC,4CAA4C;QAC5C,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IACvD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC,CAAC;IACjF,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,kFAAkF;AAElF,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,sCAAsC,CAAC,CAAC;AAEpG,WAAW;KACR,OAAO,CAAC,oBAAoB,CAAC;KAC7B,WAAW,CAAC,4BAA4B,CAAC;KACzC,MAAM,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;IAC7B,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;IACpB,CAAC,CAAC,KAAK,CAAC,cAAc,YAAY,KAAK,CAAC,CAAC;IACzC,IAAI,CAAC;QACH,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,mBAAmB,EAAE,CAAC;QACxD,MAAM,eAAe,CAAC,YAAY,CAAC,CAAC;QACpC,CAAC,CAAC,IAAI,CAAC,0BAA0B,YAAY,EAAE,CAAC,CAAC;IACnD,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,CAAC,CAAC,IAAI,CAAC,qBAAqB,YAAY,EAAE,CAAC,CAAC;QAC5C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,WAAW;KACR,OAAO,CAAC,uBAAuB,CAAC;KAChC,WAAW,CAAC,8BAA8B,CAAC;KAC3C,MAAM,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;IAC7B,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;IACpB,CAAC,CAAC,KAAK,CAAC,gBAAgB,YAAY,KAAK,CAAC,CAAC;IAC3C,IAAI,CAAC;QACH,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,mBAAmB,EAAE,CAAC;QAC1D,MAAM,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACtC,CAAC,CAAC,IAAI,CAAC,4BAA4B,YAAY,EAAE,CAAC,CAAC;IACrD,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,CAAC,CAAC,IAAI,CAAC,uBAAuB,YAAY,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,kFAAkF;AAElF,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,2EAA2E,CAAC;KACxF,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC;QAChC,OAAO,EAAE,kEAAkE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG;KACrG,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;IACnD,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;IACpB,CAAC,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAE1C,IAAI,CAAC;QACH,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACtD,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAC5B,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,KAAK,CAAC,8BAA8B,QAAQ,IAAI,CAAC;gBACvD,KAAK,CAAC,GAAG,CAAC,+EAA+E,CAAC;gBAC1F,KAAK,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAC9E,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,QAAQ,oBAAoB,CAAC,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC1B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;QAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,kFAAkF;AAElF,OAAO;KACJ,OAAO,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;KACrC,WAAW,CAAC,iCAAiC,CAAC;KAC9C,MAAM,CAAC,aAAa,EAAE,0BAA0B,CAAC;KACjD,MAAM,CAAC,qBAAqB,EAAE,0CAA0C,CAAC;KACzE,MAAM,CAAC,0BAA0B,EAAE,iCAAiC,CAAC;KACrE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACrC,gBAAgB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAE3C,sDAAsD;IACtD,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACnD,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CAAC,+BAA+B,CAAC;YAC3C,KAAK,CAAC,GAAG,CAAC,wBAAwB,CAAC,CACtC,CAAC;QACF,MAAM,GAAG,MAAM,aAAa,EAAE,CAAC;IACjC,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QAC7B,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,MAAM,EAAE,4BAA4B,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;IACjF,MAAM,cAAc,GAAG,4BAA4B,CAAC,MAAM,CAAC,CAAC;IAE5D,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC;QACvB,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC;QACtB,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI;QACjE,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI;QAC9D,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI;QACjF,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,IAAI,CAC7G,CAAC;IAEF,IAAI,CAAC;QACH,IAAI,YAAY,CAAC;QACjB,IAAI,SAAS,GAAuB,SAAS,CAAC;QAC9C,IAAI,cAAc,GAAG,KAAK,IAAI,EAAE,GAAE,CAAC,CAAC;QACpC,IAAI,6BAAiD,CAAC;QAEtD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;YACpB,CAAC,CAAC,KAAK,CAAC,mBAAmB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5D,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;YACjE,MAAM,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACxD,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;gBACrE,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;gBAClD,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBACjD,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;gBAC3B,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC5B,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;gBACjC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;gBACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,YAAY,GAAG;gBACb,wBAAwB,EAAE;;;;;;;qKAOiI;gBAC3J,aAAa,EAAE,8BAA8B,OAAO,CAAC,GAAG,EAAE,EAAE;gBAC5D,cAAc,EAAE,gBAAgB,OAAO,CAAC,QAAQ,UAAU,OAAO,CAAC,GAAG,EAAE,EAAE;gBACzE,mBAAmB,EAAE,EAAE;aACxB,CAAC;QACJ,CAAC;QAED,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;YAC/B,gBAAgB,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YACpD,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,gBAAgB,EAAE,CAAC;YACjD,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;YACxC,gBAAgB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAE7C,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;YACtE,MAAM,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;YACnC,IAAI,cAA0C,CAAC;YAC/C,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;YAEtE,IAAI,MAAM,CAAC,aAAa,KAAK,MAAM,EAAE,CAAC;gBACpC,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;gBACjE,cAAc,GAAG,IAAI,cAAc,CAAC;oBAClC,QAAQ,EAAE,MAAM,CAAC,eAAe;oBAChC,MAAM,EAAE,MAAM,CAAC,SAAS;oBACxB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;oBAC3C,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;iBAC5C,CAAC,CAAC;gBACH,MAAM,cAAc,CAAC,MAAM,EAAE,CAAC;gBAE9B,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;gBACxD,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC7C,WAAW,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;YACxC,CAAC;YAED,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;YACpE,MAAM,KAAK,GAAG,CAAC,GAAG,UAAU,EAAE,mBAAmB,CAAqD,CAAC;YACvG,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;YAClE,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAClC,KAAK,EACL,KAAK,EACL,MAAM,EACN,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,KAAK,EACZ,SAAS,EACT,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,cAAc,EACrB,MAAM,CAAC,aAAa,CACrB,CAAC;YAEF,cAAc,GAAG,KAAK,IAAI,EAAE;gBAC1B,MAAM,CAAC,IAAI,EAAE,CAAC;gBACd,IAAI,cAAc,EAAE,CAAC;oBACnB,MAAM,cAAc,CAAC,OAAO,EAAE,CAAC;gBACjC,CAAC;YACH,CAAC,CAAC;YAEF,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;QAEF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;QAE7C,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM;QAC9B,uFAAuF;QACvF,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE;YACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,aAAa;YACb,YAAY;YACZ,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,gBAAgB,EAAE,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC;YACnD,sBAAsB,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;YACrE,0BAA0B,EAAE,GAAG,EAAE;gBAC/B,6BAA6B,GAAG,gBAAgB,CAAC,MAAM,CACrD,yBAAyB,CAC1B,CAAC;YACJ,CAAC;SACF,CAAC,CACH,CAAC;QACF,gBAAgB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAE3C,MAAM,aAAa,EAAE,CAAC;QACtB,IAAI,6BAA6B,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,KAAK,6BAA6B,IAAI,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,cAAc,EAAE,CAAC;IACzB,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,kFAAkF;AAElF,OAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,uDAAuD,CAAC;KACpE,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;IACjE,MAAM,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,YAAY,EAAE,CAAC;IAE5C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC,CAAC;QACzD,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC,CAAC;IAEtF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,cAAc,EAAE,CAAC;QAC5D,OAAO,CAAC,GAAG,CACT,KAAK,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG;YACrC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,KAAK,CAAC;YAClC,SAAS,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAC9C,CAAC;IACJ,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,kFAAkF;AAElF,OAAO;KACJ,OAAO,CAAC,qBAAqB,CAAC;KAC9B,WAAW,CAAC,kDAAkD,CAAC;KAC/D,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;IAC1B,IAAI,SAAS,CAAC;IACd,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAE9D,IAAI,SAAS,EAAE,CAAC;QACd,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,OAAO,CAAC,CAAC;IAClG,CAAC;SAAM,CAAC;QACN,6BAA6B;QAC7B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC,CAAC;YAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC;aACpC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;aAChC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;aAC3E,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe;QAEnD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC,CAAC;YAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,+BAA+B,SAAS,IAAI,CAAC,CAAC,CAAC;QACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACtE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;QACjE,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;QACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,kFAAkF;AAElF,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,yEAAyE,CAAC;KACtF,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,IAAI,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAErC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,qEAAqE,CAAC,CAAC,CAAC;QAChG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,EAAE,4BAA4B,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;IACjF,4BAA4B,CAAC,MAAM,CAAC,CAAC;IAErC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;IAExF,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QAC1D,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QACtE,MAAM,EACJ,gBAAgB,EAChB,wBAAwB,EACxB,qBAAqB,EACtB,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAE1C,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;QACpB,CAAC,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACzC,MAAM,WAAW,GAAG,MAAM,qBAAqB,EAAE,CAAC;QAClD,CAAC,CAAC,IAAI,CAAC,qBAAqB,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAExD,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,gBAAgB,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QAEnC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QACtE,MAAM,KAAK,GAAG,CAAC,GAAG,UAAU,CAAqD,CAAC;QAElF,CAAC,CAAC,KAAK,CAAC,qEAAqE,CAAC,CAAC;QAE/E,4FAA4F;QAC5F,MAAM,aAAa,GAAG,KAAK,EAAE,MAA2B,EAAE,EAAE;YAC1D,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;YAClE,MAAM,SAAS,GAAG,IAAI,aAAa,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;YAEvK,IAAI,cAA0C,CAAC;YAC/C,IAAI,MAAM,CAAC,aAAa,KAAK,MAAM,EAAE,CAAC;gBACpC,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;gBACjE,gDAAgD;gBAChD,cAAc,GAAG,IAAI,cAAc,CAAC;oBAClC,QAAQ,EAAE,MAAM,CAAC,eAAe;oBAChC,MAAM,EAAE,MAAM,CAAC,SAAS;oBACxB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;oBAC3C,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;iBAC5C,CAAC,CAAC;gBACH,MAAM,cAAc,CAAC,MAAM,EAAE,CAAC;gBAC9B,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;gBACxD,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC7C,WAAW,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;YACxC,CAAC;YAED,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;YAE1F,IAAI,mBAAmB,GAAU;gBAC/B,IAAI,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC;aACrC,CAAC;YAEF,IAAI,WAAW,GAAG,EAAE,CAAC;YACrB,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,MAAM,SAAS,GAAG,EAAE,CAAC,CAAC,2BAA2B;YAEjD,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG;oBACZ,wBAAwB,EAAE;;6HAEuF;oBACjH,aAAa,EAAE,+CAA+C,OAAO,CAAC,GAAG,EAAE,EAAE;oBAC7E,cAAc,EAAE,gBAAgB,OAAO,CAAC,QAAQ,UAAU,OAAO,CAAC,GAAG,EAAE,EAAE;oBACzE,mBAAmB;iBACpB,CAAC;gBACF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAClC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBACjC,SAAS,EAAE,CAAC;oBACZ,IAAI,KAAK,CAAC,KAAK,KAAK,mBAAmB,IAAI,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;wBAC9D,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;wBAC9B,IAAI,GAAG,CAAC,OAAO,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;4BACnD,WAAW,IAAI,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;wBACpC,CAAC;wBACD,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC/C,gEAAgE;4BAChE,mDAAmD;wBACtD,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,IAAI,cAAc;oBAAE,MAAM,cAAc,CAAC,OAAO,EAAE,CAAC;gBACnD,MAAM,CAAC,CAAC,CAAC,kDAAkD;YAC7D,CAAC;YAED,iBAAiB;YACjB,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG;gBACd,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;gBAC1C,mBAAmB,EAAE,OAAO,CAAC,YAAY,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,uFAAuF;gBAC3J,eAAe,EAAE,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY;gBAC5D,WAAW,EAAE,OAAO,CAAC,WAAW;aACjC,CAAC;YAEF,kEAAkE;YAClE,IAAI,YAAY,GAAa,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,IAAI,cAAc,EAAE,CAAC;oBACnB,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;oBACpE,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;wBACjB,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBACzF,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,kCAAkC;YACpC,CAAC;YACD,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,cAAc,CAAC,OAAO,EAAE,CAAC;YACjC,CAAC;YAED,OAAO;gBACL,WAAW;gBACX,OAAO;gBACP,YAAY;aACb,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,aAAa,EAAE;YAC5C,IAAI,EAAE,WAAW;YACjB,UAAU,EAAE,CAAC,gBAAgB,EAAE,wBAAwB,EAAE,qBAAqB,CAAC;YAC/E,gBAAgB,EAAE,cAAc,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;SAChE,CAAC,CAAC;QAEH,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACjC,wFAAwF;IAE1F,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;QACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const isDirectDesktopScriptExecution: (moduleUrl: string, argvPath?: string) => boolean;
@@ -0,0 +1,18 @@
1
+ import * as path from "node:path";
2
+ import { pathToFileURL } from "node:url";
3
+ const toFileHref = (argvPath) => {
4
+ if (/^[A-Za-z]:[\\/]/.test(argvPath)) {
5
+ return pathToFileURL(path.win32.resolve(argvPath)).href;
6
+ }
7
+ if (argvPath.startsWith("/")) {
8
+ return new URL(argvPath, "file://").href;
9
+ }
10
+ return pathToFileURL(path.resolve(argvPath)).href;
11
+ };
12
+ export const isDirectDesktopScriptExecution = (moduleUrl, argvPath = process.argv[1]) => {
13
+ if (!argvPath) {
14
+ return false;
15
+ }
16
+ return moduleUrl === toFileHref(argvPath);
17
+ };
18
+ //# sourceMappingURL=cliEntry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cliEntry.js","sourceRoot":"","sources":["../../src/desktop/cliEntry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,UAAU,GAAG,CAAC,QAAgB,EAAU,EAAE;IAC9C,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrC,OAAO,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1D,CAAC;IAED,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC;IAC3C,CAAC;IAED,OAAO,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;AACpD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAC5C,SAAiB,EACjB,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EACjB,EAAE;IACX,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,SAAS,KAAK,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC5C,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,12 @@
1
+ import * as os from "node:os";
2
+ import * as path from "node:path";
3
+ import { JooneRuntimeService } from "../runtime/service.js";
4
+ import { createDesktopRuntimeServer } from "./server.js";
5
+ const configPath = path.join(os.homedir(), ".joone", "config.json");
6
+ const runtime = new JooneRuntimeService({
7
+ configPath,
8
+ cwd: process.cwd(),
9
+ });
10
+ const server = await createDesktopRuntimeServer({ runtime, port: 3011 });
11
+ console.log(`Joone desktop runtime server listening on ${server.url}`);
12
+ //# sourceMappingURL=devServer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devServer.js","sourceRoot":"","sources":["../../src/desktop/devServer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;AACpE,MAAM,OAAO,GAAG,IAAI,mBAAmB,CAAC;IACtC,UAAU;IACV,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;CACnB,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAEzE,OAAO,CAAC,GAAG,CAAC,6CAA6C,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { JooneRuntimeService } from "../runtime/service.js";
2
+ export declare const DESKTOP_RUNTIME_EVENTS: readonly ["session:started", "session:state", "agent:token", "tool:start", "tool:end", "hitl:question", "hitl:permission", "session:error", "session:completed"];
3
+ export declare function createDesktopRuntimeBridge(runtime: JooneRuntimeService): {
4
+ loadConfig(): Promise<import("../cli/config.js").JooneConfig>;
5
+ saveConfig(config: Awaited<ReturnType<typeof runtime.loadConfig>>): Promise<void>;
6
+ answerHitl(id: string, answer: string): Promise<void>;
7
+ listSessions(): Promise<import("../runtime/types.js").RuntimeSessionSnapshot[]>;
8
+ startSession(): Promise<import("../runtime/types.js").RuntimeSessionSnapshot>;
9
+ resumeSession(sessionId: string): Promise<import("../runtime/types.js").RuntimeSessionSnapshot>;
10
+ submitMessage(sessionId: string, text: string): Promise<import("../runtime/types.js").RuntimeSessionSnapshot>;
11
+ cancelSession(sessionId: string): Promise<void>;
12
+ closeSession(sessionId: string): Promise<void>;
13
+ subscribe(sessionId: string, listener: Parameters<JooneRuntimeService["subscribe"]>[1]): () => void;
14
+ };
@@ -0,0 +1,46 @@
1
+ export const DESKTOP_RUNTIME_EVENTS = [
2
+ "session:started",
3
+ "session:state",
4
+ "agent:token",
5
+ "tool:start",
6
+ "tool:end",
7
+ "hitl:question",
8
+ "hitl:permission",
9
+ "session:error",
10
+ "session:completed",
11
+ ];
12
+ export function createDesktopRuntimeBridge(runtime) {
13
+ return {
14
+ async loadConfig() {
15
+ return runtime.loadConfig();
16
+ },
17
+ async saveConfig(config) {
18
+ return runtime.saveConfig(config);
19
+ },
20
+ async answerHitl(id, answer) {
21
+ return runtime.answerHitl(id, answer);
22
+ },
23
+ async listSessions() {
24
+ return runtime.listSessions();
25
+ },
26
+ async startSession() {
27
+ return runtime.startSession();
28
+ },
29
+ async resumeSession(sessionId) {
30
+ return runtime.resumeSession(sessionId);
31
+ },
32
+ async submitMessage(sessionId, text) {
33
+ return runtime.submitMessage(sessionId, text);
34
+ },
35
+ async cancelSession(sessionId) {
36
+ return runtime.cancelSession(sessionId);
37
+ },
38
+ async closeSession(sessionId) {
39
+ return runtime.closeSession(sessionId);
40
+ },
41
+ subscribe(sessionId, listener) {
42
+ return runtime.subscribe(sessionId, listener);
43
+ },
44
+ };
45
+ }
46
+ //# sourceMappingURL=ipc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ipc.js","sourceRoot":"","sources":["../../src/desktop/ipc.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,iBAAiB;IACjB,eAAe;IACf,aAAa;IACb,YAAY;IACZ,UAAU;IACV,eAAe;IACf,iBAAiB;IACjB,eAAe;IACf,mBAAmB;CACX,CAAC;AAEX,MAAM,UAAU,0BAA0B,CAAC,OAA4B;IACrE,OAAO;QACL,KAAK,CAAC,UAAU;YACd,OAAO,OAAO,CAAC,UAAU,EAAE,CAAC;QAC9B,CAAC;QACD,KAAK,CAAC,UAAU,CAAC,MAAsD;YACrE,OAAO,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;QACD,KAAK,CAAC,UAAU,CAAC,EAAU,EAAE,MAAc;YACzC,OAAO,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACxC,CAAC;QACD,KAAK,CAAC,YAAY;YAChB,OAAO,OAAO,CAAC,YAAY,EAAE,CAAC;QAChC,CAAC;QACD,KAAK,CAAC,YAAY;YAChB,OAAO,OAAO,CAAC,YAAY,EAAE,CAAC;QAChC,CAAC;QACD,KAAK,CAAC,aAAa,CAAC,SAAiB;YACnC,OAAO,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAC1C,CAAC;QACD,KAAK,CAAC,aAAa,CAAC,SAAiB,EAAE,IAAY;YACjD,OAAO,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAChD,CAAC;QACD,KAAK,CAAC,aAAa,CAAC,SAAiB;YACnC,OAAO,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAC1C,CAAC;QACD,KAAK,CAAC,YAAY,CAAC,SAAiB;YAClC,OAAO,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC;QACD,SAAS,CAAC,SAAiB,EAAE,QAAyD;YACpF,OAAO,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAChD,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function resolveNpmCliPath(environment?: NodeJS.ProcessEnv): string;
@@ -0,0 +1,18 @@
1
+ import fs from "node:fs";
2
+ import path from "node:path";
3
+ import { createRequire } from "node:module";
4
+ const require = createRequire(import.meta.url);
5
+ export function resolveNpmCliPath(environment = process.env) {
6
+ if (environment.npm_execpath) {
7
+ return environment.npm_execpath;
8
+ }
9
+ // NVM on Windows ships npm alongside the active Node install even when the
10
+ // npm package is not resolvable from the project itself.
11
+ const bundledPath = path.join(path.dirname(process.execPath), "node_modules", "npm", "bin", "npm-cli.js");
12
+ if (fs.existsSync(bundledPath)) {
13
+ return bundledPath;
14
+ }
15
+ const npmPackageJson = require.resolve("npm/package.json");
16
+ return path.join(path.dirname(npmPackageJson), "bin", "npm-cli.js");
17
+ }
18
+ //# sourceMappingURL=npmCli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"npmCli.js","sourceRoot":"","sources":["../../src/desktop/npmCli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/C,MAAM,UAAU,iBAAiB,CAC/B,cAAiC,OAAO,CAAC,GAAG;IAE5C,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;QAC7B,OAAO,WAAW,CAAC,YAAY,CAAC;IAClC,CAAC;IAED,2EAA2E;IAC3E,yDAAyD;IACzD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAC3B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAC9B,cAAc,EACd,KAAK,EACL,KAAK,EACL,YAAY,CACb,CAAC;IACF,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/B,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC3D,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;AACtE,CAAC"}
@@ -0,0 +1,11 @@
1
+ export interface ProviderOption {
2
+ value: string;
3
+ label: string;
4
+ hint: string;
5
+ }
6
+ export interface ModelOption {
7
+ value: string;
8
+ label: string;
9
+ }
10
+ export declare const SUPPORTED_PROVIDERS: ProviderOption[];
11
+ export declare const PROVIDER_MODELS: Record<string, ModelOption[]>;
@@ -0,0 +1,64 @@
1
+ export const SUPPORTED_PROVIDERS = [
2
+ { value: "anthropic", label: "Anthropic", hint: "Claude 4, 3.5 Sonnet, Opus, Haiku" },
3
+ { value: "openai", label: "OpenAI", hint: "GPT-4o, o1, o3-mini" },
4
+ { value: "google", label: "Google", hint: "Gemini 3.1 Pro-preview, 3 Flash-preview" },
5
+ { value: "mistral", label: "Mistral", hint: "Mistral Large, Codestral" },
6
+ { value: "groq", label: "Groq", hint: "Llama 3.1 70B, Mixtral" },
7
+ { value: "deepseek", label: "DeepSeek", hint: "DeepSeek Chat, Reasoner" },
8
+ { value: "fireworks", label: "Fireworks AI", hint: "Llama 3.1 70B Instruct" },
9
+ { value: "together", label: "Together AI", hint: "Llama 3.1 Turbo" },
10
+ { value: "ollama", label: "Ollama (Local)", hint: "No API key needed" },
11
+ ];
12
+ export const PROVIDER_MODELS = {
13
+ anthropic: [
14
+ { value: "claude-sonnet-4-20250514", label: "Claude Sonnet 4" },
15
+ { value: "claude-3-5-sonnet-20241022", label: "Claude 3.5 Sonnet" },
16
+ { value: "claude-3-opus-20240229", label: "Claude 3 Opus" },
17
+ { value: "claude-3-haiku-20240307", label: "Claude 3 Haiku" },
18
+ ],
19
+ openai: [
20
+ { value: "gpt-4o", label: "GPT-4o" },
21
+ { value: "gpt-4o-mini", label: "GPT-4o Mini" },
22
+ { value: "o1", label: "o1" },
23
+ { value: "o3-mini", label: "o3-mini" },
24
+ ],
25
+ google: [
26
+ { value: "gemini-3.1-pro-preview", label: "Gemini 3.1 Pro Preview" },
27
+ { value: "gemini-3-flash-preview", label: "Gemini 3 Flash Preview" },
28
+ { value: "gemini-2.5-flash", label: "Gemini 2.5 Flash" },
29
+ { value: "gemini-2.5-pro", label: "Gemini 2.5 Pro" },
30
+ { value: "gemini-1.5-pro", label: "Gemini 1.5 Pro" },
31
+ { value: "gemini-1.5-flash", label: "Gemini 1.5 Flash" },
32
+ ],
33
+ mistral: [
34
+ { value: "mistral-large-latest", label: "Mistral Large" },
35
+ { value: "codestral-latest", label: "Codestral" },
36
+ { value: "mistral-small-latest", label: "Mistral Small" },
37
+ ],
38
+ groq: [
39
+ { value: "llama-3.1-70b-versatile", label: "Llama 3.1 70B" },
40
+ { value: "mixtral-8x7b-32768", label: "Mixtral 8x7B" },
41
+ ],
42
+ deepseek: [
43
+ { value: "deepseek-chat", label: "DeepSeek Chat" },
44
+ { value: "deepseek-reasoner", label: "DeepSeek Reasoner" },
45
+ ],
46
+ fireworks: [
47
+ {
48
+ value: "accounts/fireworks/models/llama-v3p1-70b-instruct",
49
+ label: "Llama 3.1 70B Instruct",
50
+ },
51
+ ],
52
+ together: [
53
+ {
54
+ value: "meta-llama/Llama-3.1-70B-Instruct-Turbo",
55
+ label: "Llama 3.1 70B Turbo",
56
+ },
57
+ ],
58
+ ollama: [
59
+ { value: "llama3", label: "Llama 3" },
60
+ { value: "codellama", label: "Code Llama" },
61
+ { value: "mistral", label: "Mistral" },
62
+ ],
63
+ };
64
+ //# sourceMappingURL=providerCatalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providerCatalog.js","sourceRoot":"","sources":["../../src/desktop/providerCatalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { type ExecFileSyncOptionsWithStringEncoding } from "node:child_process";
2
+ export type ReleasePruneExecutor = (command: string, args: string[], options: ExecFileSyncOptionsWithStringEncoding) => string;
3
+ interface PruneDesktopReleaseAssetsOptions {
4
+ rootDir?: string;
5
+ tag: string;
6
+ keepPrefix: string;
7
+ exec?: ReleasePruneExecutor;
8
+ }
9
+ export declare const pruneDesktopReleaseAssets: ({ rootDir, tag, keepPrefix, exec, }: PruneDesktopReleaseAssetsOptions) => string[];
10
+ export {};
@@ -0,0 +1,48 @@
1
+ import { execFileSync } from "node:child_process";
2
+ import { isDirectDesktopScriptExecution } from "./cliEntry.js";
3
+ const buildExecOptions = (rootDir) => ({
4
+ cwd: rootDir,
5
+ encoding: "utf8",
6
+ stdio: "pipe",
7
+ });
8
+ export const pruneDesktopReleaseAssets = ({ rootDir = process.cwd(), tag, keepPrefix, exec = execFileSync, }) => {
9
+ let response;
10
+ try {
11
+ response = JSON.parse(exec("gh", ["release", "view", tag, "--json", "assets"], buildExecOptions(rootDir)));
12
+ }
13
+ catch {
14
+ return [];
15
+ }
16
+ const assets = response.assets ?? [];
17
+ const staleAssets = assets.filter((asset) => !asset.name.startsWith(keepPrefix));
18
+ for (const asset of staleAssets) {
19
+ exec("gh", ["release", "delete-asset", tag, asset.name, "--yes"], buildExecOptions(rootDir));
20
+ }
21
+ return staleAssets.map((asset) => asset.name);
22
+ };
23
+ const parseTagArg = () => {
24
+ const tagFlagIndex = process.argv.indexOf("--tag");
25
+ const tagValue = tagFlagIndex >= 0 ? process.argv[tagFlagIndex + 1] : undefined;
26
+ if (!tagValue) {
27
+ throw new Error("Missing required --tag value.");
28
+ }
29
+ return tagValue;
30
+ };
31
+ const parseKeepPrefixArg = () => {
32
+ const prefixFlagIndex = process.argv.indexOf("--keep-prefix");
33
+ const prefixValue = prefixFlagIndex >= 0 ? process.argv[prefixFlagIndex + 1] : undefined;
34
+ if (!prefixValue) {
35
+ throw new Error("Missing required --keep-prefix value.");
36
+ }
37
+ return prefixValue;
38
+ };
39
+ if (isDirectDesktopScriptExecution(import.meta.url)) {
40
+ const deleted = pruneDesktopReleaseAssets({
41
+ tag: parseTagArg(),
42
+ keepPrefix: parseKeepPrefixArg(),
43
+ });
44
+ for (const asset of deleted) {
45
+ console.log(asset);
46
+ }
47
+ }
48
+ //# sourceMappingURL=pruneReleaseAssets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pruneReleaseAssets.js","sourceRoot":"","sources":["../../src/desktop/pruneReleaseAssets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA8C,MAAM,oBAAoB,CAAC;AAE9F,OAAO,EAAE,8BAA8B,EAAE,MAAM,eAAe,CAAC;AAwB/D,MAAM,gBAAgB,GAAG,CACvB,OAAe,EACwB,EAAE,CAAC,CAAC;IAC3C,GAAG,EAAE,OAAO;IACZ,QAAQ,EAAE,MAAM;IAChB,KAAK,EAAE,MAAM;CACd,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,EACxC,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,EACvB,GAAG,EACH,UAAU,EACV,IAAI,GAAG,YAAY,GACc,EAAY,EAAE;IAC/C,IAAI,QAA6B,CAAC;IAElC,IAAI,CAAC;QACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CACnB,IAAI,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAC7D,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;IACrC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjF,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;QAChC,IAAI,CACF,IAAI,EACJ,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,EACrD,gBAAgB,CAAC,OAAO,CAAC,CAC1B,CAAC;IACJ,CAAC;IAED,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAChD,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,GAAW,EAAE;IAC/B,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEhF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,GAAW,EAAE;IACtC,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAC9D,MAAM,WAAW,GACf,eAAe,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEvE,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAEF,IAAI,8BAA8B,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACpD,MAAM,OAAO,GAAG,yBAAyB,CAAC;QACxC,GAAG,EAAE,WAAW,EAAE;QAClB,UAAU,EAAE,kBAAkB,EAAE;KACjC,CAAC,CAAC;IAEH,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;AACH,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { type ExecFileSyncOptionsWithStringEncoding } from "node:child_process";
2
+ import { type DesktopBundleRunner } from "./validateBundles.js";
3
+ export type ReleaseUploadExecutor = (command: string, args: string[], options: ExecFileSyncOptionsWithStringEncoding) => string;
4
+ interface PublishDesktopReleaseAssetsOptions {
5
+ rootDir?: string;
6
+ runner?: DesktopBundleRunner;
7
+ tag: string;
8
+ bundles?: string[];
9
+ exec?: ReleaseUploadExecutor;
10
+ }
11
+ export declare const publishDesktopReleaseAssets: ({ rootDir, runner, tag, bundles, exec, }: PublishDesktopReleaseAssetsOptions) => string[];
12
+ export {};
@@ -0,0 +1,49 @@
1
+ import { execFileSync } from "node:child_process";
2
+ import { validateDesktopBundles, } from "./validateBundles.js";
3
+ import { isDirectDesktopScriptExecution } from "./cliEntry.js";
4
+ const resolveBundles = ({ rootDir = process.cwd(), runner, bundles, }) => {
5
+ if (bundles && bundles.length > 0) {
6
+ return bundles;
7
+ }
8
+ if (!runner) {
9
+ throw new Error("publishDesktopReleaseAssets requires either bundles or runner.");
10
+ }
11
+ return validateDesktopBundles({ rootDir, runner });
12
+ };
13
+ export const publishDesktopReleaseAssets = ({ rootDir = process.cwd(), runner, tag, bundles, exec = execFileSync, }) => {
14
+ const releaseBundles = resolveBundles({ rootDir, runner, bundles });
15
+ exec("gh", ["release", "upload", tag, ...releaseBundles, "--clobber"], {
16
+ cwd: rootDir,
17
+ encoding: "utf8",
18
+ stdio: "pipe",
19
+ });
20
+ return releaseBundles;
21
+ };
22
+ const parseTagArg = () => {
23
+ const tagFlagIndex = process.argv.indexOf("--tag");
24
+ const tagValue = tagFlagIndex >= 0 ? process.argv[tagFlagIndex + 1] : undefined;
25
+ if (!tagValue) {
26
+ throw new Error("Missing required --tag value.");
27
+ }
28
+ return tagValue;
29
+ };
30
+ const parseRunnerArg = () => {
31
+ const runnerFlagIndex = process.argv.indexOf("--runner");
32
+ const runnerValue = runnerFlagIndex >= 0 ? process.argv[runnerFlagIndex + 1] : undefined;
33
+ if (runnerValue === "windows-latest" ||
34
+ runnerValue === "ubuntu-22.04" ||
35
+ runnerValue === "macos-latest") {
36
+ return runnerValue;
37
+ }
38
+ throw new Error("Missing or unsupported --runner value. Expected one of windows-latest, ubuntu-22.04, macos-latest.");
39
+ };
40
+ if (isDirectDesktopScriptExecution(import.meta.url)) {
41
+ const bundles = publishDesktopReleaseAssets({
42
+ runner: parseRunnerArg(),
43
+ tag: parseTagArg(),
44
+ });
45
+ for (const bundle of bundles) {
46
+ console.log(bundle);
47
+ }
48
+ }
49
+ //# sourceMappingURL=publishReleaseAssets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publishReleaseAssets.js","sourceRoot":"","sources":["../../src/desktop/publishReleaseAssets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA8C,MAAM,oBAAoB,CAAC;AAE9F,OAAO,EACL,sBAAsB,GAEvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,8BAA8B,EAAE,MAAM,eAAe,CAAC;AAgB/D,MAAM,cAAc,GAAG,CAAC,EACtB,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,EACvB,MAAM,EACN,OAAO,GACoE,EAAY,EAAE;IACzF,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACpF,CAAC;IAED,OAAO,sBAAsB,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;AACrD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,EAC1C,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,EACvB,MAAM,EACN,GAAG,EACH,OAAO,EACP,IAAI,GAAG,YAAY,GACgB,EAAY,EAAE;IACjD,MAAM,cAAc,GAAG,cAAc,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAEpE,IAAI,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,cAAc,EAAE,WAAW,CAAC,EAAE;QACrE,GAAG,EAAE,OAAO;QACZ,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,MAAM;KACd,CAAC,CAAC;IAEH,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,GAAW,EAAE;IAC/B,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEhF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,GAAwB,EAAE;IAC/C,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACzD,MAAM,WAAW,GACf,eAAe,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEvE,IACE,WAAW,KAAK,gBAAgB;QAChC,WAAW,KAAK,cAAc;QAC9B,WAAW,KAAK,cAAc,EAC9B,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,MAAM,IAAI,KAAK,CACb,oGAAoG,CACrG,CAAC;AACJ,CAAC,CAAC;AAEF,IAAI,8BAA8B,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACpD,MAAM,OAAO,GAAG,2BAA2B,CAAC;QAC1C,MAAM,EAAE,cAAc,EAAE;QACxB,GAAG,EAAE,WAAW,EAAE;KACnB,CAAC,CAAC;IAEH,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;AACH,CAAC"}