@progmruansilva/omp-web 1.202608.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 (234) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +181 -0
  3. package/dist/cli.js +1015 -0
  4. package/dist/cli.js.map +1 -0
  5. package/dist/client/assets/CodeViewer-Da66baHj.js +4 -0
  6. package/dist/client/assets/TerminalPanel-Bj9an79F.js +126 -0
  7. package/dist/client/assets/UnifiedDiffViewer-eK_kynTO.js +34 -0
  8. package/dist/client/assets/index-DytaeWNd.js +3070 -0
  9. package/dist/client/assets/vendor-editor-core-CL2gOCIg.js +12 -0
  10. package/dist/client/assets/vendor-editor-languages-zOM9I4iZ.js +26 -0
  11. package/dist/client/assets/vendor-editor-legacy-B4QLsWF8.js +1 -0
  12. package/dist/client/assets/vendor-terminal-DDGTF8rc.css +1 -0
  13. package/dist/client/assets/vendor-terminal-DjQ08hXu.js +16 -0
  14. package/dist/client/favicon-16x16.png +0 -0
  15. package/dist/client/favicon-180x180.png +0 -0
  16. package/dist/client/favicon-192x192.png +0 -0
  17. package/dist/client/favicon-32x32.png +0 -0
  18. package/dist/client/favicon-512x512.png +0 -0
  19. package/dist/client/favicon.ico +0 -0
  20. package/dist/client/favicon.png +0 -0
  21. package/dist/client/favicon.svg +11 -0
  22. package/dist/client/index.html +67 -0
  23. package/dist/client/manifest.webmanifest +36 -0
  24. package/dist/config.js +272 -0
  25. package/dist/config.js.map +1 -0
  26. package/dist/docker/ompWebDockerCommandPlan.js +211 -0
  27. package/dist/docker/ompWebDockerCommandPlan.js.map +1 -0
  28. package/dist/omp-web-plugins/info/omp-web-plugin.js +51 -0
  29. package/dist/omp-web-plugins/info/package.json +9 -0
  30. package/dist/omp-web-plugins/schedule-prompts/omp-web-plugin.js +43 -0
  31. package/dist/omp-web-plugins/schedule-prompts/package.json +9 -0
  32. package/dist/omp-web-plugins/schedule-prompts/schedulePromptsPanelElement.js +242 -0
  33. package/dist/omp-web-plugins/schedule-prompts/types.js +2 -0
  34. package/dist/omp-web-plugins/updates/omp-web-plugin.js +173 -0
  35. package/dist/omp-web-plugins/updates/package.json +9 -0
  36. package/dist/omp-web-plugins/updates/updatesLogic.js +97 -0
  37. package/dist/ompWebVersionReport.js +217 -0
  38. package/dist/ompWebVersionReport.js.map +1 -0
  39. package/dist/plugin-api/unstable.d.ts +22 -0
  40. package/dist/plugin-api.d.ts +197 -0
  41. package/dist/server/activity/workspaceActivityRoutes.js +4 -0
  42. package/dist/server/activity/workspaceActivityRoutes.js.map +1 -0
  43. package/dist/server/activity/workspaceActivityService.js +98 -0
  44. package/dist/server/activity/workspaceActivityService.js.map +1 -0
  45. package/dist/server/app.js +162 -0
  46. package/dist/server/app.js.map +1 -0
  47. package/dist/server/configRoutes.js +270 -0
  48. package/dist/server/configRoutes.js.map +1 -0
  49. package/dist/server/diagnostics/nodePtySpawnHelper.js +130 -0
  50. package/dist/server/diagnostics/nodePtySpawnHelper.js.map +1 -0
  51. package/dist/server/git/gitEnv.js +15 -0
  52. package/dist/server/git/gitEnv.js.map +1 -0
  53. package/dist/server/git/gitService.js +119 -0
  54. package/dist/server/git/gitService.js.map +1 -0
  55. package/dist/server/gitRoutes.js +23 -0
  56. package/dist/server/gitRoutes.js.map +1 -0
  57. package/dist/server/index.js +7 -0
  58. package/dist/server/index.js.map +1 -0
  59. package/dist/server/machines/machineClient.js +162 -0
  60. package/dist/server/machines/machineClient.js.map +1 -0
  61. package/dist/server/machines/machinePluginProxyRoutes.js +157 -0
  62. package/dist/server/machines/machinePluginProxyRoutes.js.map +1 -0
  63. package/dist/server/machines/machineProxyRoutes.js +127 -0
  64. package/dist/server/machines/machineProxyRoutes.js.map +1 -0
  65. package/dist/server/machines/machineRoutes.js +54 -0
  66. package/dist/server/machines/machineRoutes.js.map +1 -0
  67. package/dist/server/machines/machineService.js +230 -0
  68. package/dist/server/machines/machineService.js.map +1 -0
  69. package/dist/server/machines/machineStore.js +123 -0
  70. package/dist/server/machines/machineStore.js.map +1 -0
  71. package/dist/server/machines/proxyUtils.js +30 -0
  72. package/dist/server/machines/proxyUtils.js.map +1 -0
  73. package/dist/server/ompWebPluginService.js +279 -0
  74. package/dist/server/ompWebPluginService.js.map +1 -0
  75. package/dist/server/ompWebStatus.js +601 -0
  76. package/dist/server/ompWebStatus.js.map +1 -0
  77. package/dist/server/ompWebStatusCache.js +31 -0
  78. package/dist/server/ompWebStatusCache.js.map +1 -0
  79. package/dist/server/piPackageRoutes.js +82 -0
  80. package/dist/server/piPackageRoutes.js.map +1 -0
  81. package/dist/server/piPackageService.js +65 -0
  82. package/dist/server/piPackageService.js.map +1 -0
  83. package/dist/server/projects/directorySuggestions.js +37 -0
  84. package/dist/server/projects/directorySuggestions.js.map +1 -0
  85. package/dist/server/projects/projectService.js +31 -0
  86. package/dist/server/projects/projectService.js.map +1 -0
  87. package/dist/server/push/PushNotificationService.js +137 -0
  88. package/dist/server/push/PushNotificationService.js.map +1 -0
  89. package/dist/server/push/pushRoutes.js +55 -0
  90. package/dist/server/push/pushRoutes.js.map +1 -0
  91. package/dist/server/realtime/sessionEventHub.js +39 -0
  92. package/dist/server/realtime/sessionEventHub.js.map +1 -0
  93. package/dist/server/sessiond/sessionProxyRoutes.js +61 -0
  94. package/dist/server/sessiond/sessionProxyRoutes.js.map +1 -0
  95. package/dist/server/sessiond.js +92 -0
  96. package/dist/server/sessiond.js.map +1 -0
  97. package/dist/server/sessions/attachmentService.js +112 -0
  98. package/dist/server/sessions/attachmentService.js.map +1 -0
  99. package/dist/server/sessions/authProviderOptions.js +52 -0
  100. package/dist/server/sessions/authProviderOptions.js.map +1 -0
  101. package/dist/server/sessions/authRoutes.js +59 -0
  102. package/dist/server/sessions/authRoutes.js.map +1 -0
  103. package/dist/server/sessions/authService.js +105 -0
  104. package/dist/server/sessions/authService.js.map +1 -0
  105. package/dist/server/sessions/builtinCommands.js +29 -0
  106. package/dist/server/sessions/builtinCommands.js.map +1 -0
  107. package/dist/server/sessions/editPreview.js +196 -0
  108. package/dist/server/sessions/editPreview.js.map +1 -0
  109. package/dist/server/sessions/messagePaging.js +41 -0
  110. package/dist/server/sessions/messagePaging.js.map +1 -0
  111. package/dist/server/sessions/oauthLoginFlowService.js +136 -0
  112. package/dist/server/sessions/oauthLoginFlowService.js.map +1 -0
  113. package/dist/server/sessions/piSessionManagerGateway.js +97 -0
  114. package/dist/server/sessions/piSessionManagerGateway.js.map +1 -0
  115. package/dist/server/sessions/piSessionService.js +2401 -0
  116. package/dist/server/sessions/piSessionService.js.map +1 -0
  117. package/dist/server/sessions/schedulePrompt/schedulePromptService.js +46 -0
  118. package/dist/server/sessions/schedulePrompt/schedulePromptService.js.map +1 -0
  119. package/dist/server/sessions/schedulePrompt/scheduler.js +315 -0
  120. package/dist/server/sessions/schedulePrompt/scheduler.js.map +1 -0
  121. package/dist/server/sessions/schedulePrompt/storage.js +118 -0
  122. package/dist/server/sessions/schedulePrompt/storage.js.map +1 -0
  123. package/dist/server/sessions/schedulePrompt/tool.js +252 -0
  124. package/dist/server/sessions/schedulePrompt/tool.js.map +1 -0
  125. package/dist/server/sessions/schedulePrompt/types.js +2 -0
  126. package/dist/server/sessions/schedulePrompt/types.js.map +1 -0
  127. package/dist/server/sessions/sessionArchiveStore.js +254 -0
  128. package/dist/server/sessions/sessionArchiveStore.js.map +1 -0
  129. package/dist/server/sessions/sessionArchiveTree.js +35 -0
  130. package/dist/server/sessions/sessionArchiveTree.js.map +1 -0
  131. package/dist/server/sessions/sessionCleanup.js +157 -0
  132. package/dist/server/sessions/sessionCleanup.js.map +1 -0
  133. package/dist/server/sessions/sessionCommandService.js +260 -0
  134. package/dist/server/sessions/sessionCommandService.js.map +1 -0
  135. package/dist/server/sessions/sessionNameGenerator.js +61 -0
  136. package/dist/server/sessions/sessionNameGenerator.js.map +1 -0
  137. package/dist/server/sessions/sessionRoutes.js +344 -0
  138. package/dist/server/sessions/sessionRoutes.js.map +1 -0
  139. package/dist/server/sessions/sessionRuntimeStore.js +2 -0
  140. package/dist/server/sessions/sessionRuntimeStore.js.map +1 -0
  141. package/dist/server/sessions/spawnSessionTool.js +41 -0
  142. package/dist/server/sessions/spawnSessionTool.js.map +1 -0
  143. package/dist/server/sessions/spawnSubsessionTool.js +203 -0
  144. package/dist/server/sessions/spawnSubsessionTool.js.map +1 -0
  145. package/dist/server/sessions/spawnTargetResolver.js +36 -0
  146. package/dist/server/sessions/spawnTargetResolver.js.map +1 -0
  147. package/dist/server/sessions/subsessionTranscript.js +233 -0
  148. package/dist/server/sessions/subsessionTranscript.js.map +1 -0
  149. package/dist/server/storage/projectStore.js +83 -0
  150. package/dist/server/storage/projectStore.js.map +1 -0
  151. package/dist/server/terminalProxyRoutes.js +140 -0
  152. package/dist/server/terminalProxyRoutes.js.map +1 -0
  153. package/dist/server/terminals/terminalRoutes.js +153 -0
  154. package/dist/server/terminals/terminalRoutes.js.map +1 -0
  155. package/dist/server/terminals/terminalService.js +320 -0
  156. package/dist/server/terminals/terminalService.js.map +1 -0
  157. package/dist/server/terminals/terminalSize.js +17 -0
  158. package/dist/server/terminals/terminalSize.js.map +1 -0
  159. package/dist/server/types.js +2 -0
  160. package/dist/server/types.js.map +1 -0
  161. package/dist/server/utils.js +8 -0
  162. package/dist/server/utils.js.map +1 -0
  163. package/dist/server/webSocketBridge.js +32 -0
  164. package/dist/server/webSocketBridge.js.map +1 -0
  165. package/dist/server/workingDirectory.js +44 -0
  166. package/dist/server/workingDirectory.js.map +1 -0
  167. package/dist/server/workspaceExplorerRoutes.js +109 -0
  168. package/dist/server/workspaceExplorerRoutes.js.map +1 -0
  169. package/dist/server/workspaces/effectivePathAccess.js +27 -0
  170. package/dist/server/workspaces/effectivePathAccess.js.map +1 -0
  171. package/dist/server/workspaces/fileContentService.js +181 -0
  172. package/dist/server/workspaces/fileContentService.js.map +1 -0
  173. package/dist/server/workspaces/fileSuggestions.js +512 -0
  174. package/dist/server/workspaces/fileSuggestions.js.map +1 -0
  175. package/dist/server/workspaces/fileTreeService.js +27 -0
  176. package/dist/server/workspaces/fileTreeService.js.map +1 -0
  177. package/dist/server/workspaces/gitWorktreeDiscovery.js +34 -0
  178. package/dist/server/workspaces/gitWorktreeDiscovery.js.map +1 -0
  179. package/dist/server/workspaces/imagePreviewService.js +40 -0
  180. package/dist/server/workspaces/imagePreviewService.js.map +1 -0
  181. package/dist/server/workspaces/pathAccessPolicy.js +87 -0
  182. package/dist/server/workspaces/pathAccessPolicy.js.map +1 -0
  183. package/dist/server/workspaces/pathSafety.js +54 -0
  184. package/dist/server/workspaces/pathSafety.js.map +1 -0
  185. package/dist/server/workspaces/projectOmpWebConfig.js +56 -0
  186. package/dist/server/workspaces/projectOmpWebConfig.js.map +1 -0
  187. package/dist/server/workspaces/workspaceContext.js +8 -0
  188. package/dist/server/workspaces/workspaceContext.js.map +1 -0
  189. package/dist/server/workspaces/workspaceDeletionRoutes.js +111 -0
  190. package/dist/server/workspaces/workspaceDeletionRoutes.js.map +1 -0
  191. package/dist/server/workspaces/workspaceService.js +39 -0
  192. package/dist/server/workspaces/workspaceService.js.map +1 -0
  193. package/dist/sessiond/config.js +9 -0
  194. package/dist/sessiond/config.js.map +1 -0
  195. package/dist/sessiond/sessionDaemonClient.js +65 -0
  196. package/dist/sessiond/sessionDaemonClient.js.map +1 -0
  197. package/dist/shared/activity.js +26 -0
  198. package/dist/shared/activity.js.map +1 -0
  199. package/dist/shared/apiTypes.d.ts +688 -0
  200. package/dist/shared/apiTypes.js +11 -0
  201. package/dist/shared/apiTypes.js.map +1 -0
  202. package/dist/shared/capabilities.js +52 -0
  203. package/dist/shared/capabilities.js.map +1 -0
  204. package/dist/shared/federatedRoutes.js +79 -0
  205. package/dist/shared/federatedRoutes.js.map +1 -0
  206. package/dist/shared/machinePluginIds.js +41 -0
  207. package/dist/shared/machinePluginIds.js.map +1 -0
  208. package/dist/shared/ompWebStatusParsing.js +100 -0
  209. package/dist/shared/ompWebStatusParsing.js.map +1 -0
  210. package/dist/shared/pluginIds.js +5 -0
  211. package/dist/shared/pluginIds.js.map +1 -0
  212. package/dist/shared/promptAttachments.js +90 -0
  213. package/dist/shared/promptAttachments.js.map +1 -0
  214. package/dist/shared/thinkingLevels.d.ts +19 -0
  215. package/dist/shared/thinkingLevels.js +24 -0
  216. package/dist/shared/thinkingLevels.js.map +1 -0
  217. package/dist/shared/utils.js +4 -0
  218. package/dist/shared/utils.js.map +1 -0
  219. package/dist/shared/workspaceDeletion.js +12 -0
  220. package/dist/shared/workspaceDeletion.js.map +1 -0
  221. package/dist/shared/workspaceFiles.js +3 -0
  222. package/dist/shared/workspaceFiles.js.map +1 -0
  223. package/docs/assets/favicon.svg +11 -0
  224. package/docs/assets/omp-web-banner.png +0 -0
  225. package/docs/assets/omp-web-desktop.png +0 -0
  226. package/docs/assets/omp-web-mobile.png +0 -0
  227. package/docs/assets/omp-web-tablet.png +0 -0
  228. package/docs/config.md +208 -0
  229. package/docs/plugins.md +916 -0
  230. package/extensions/omp-web.ts +133 -0
  231. package/install.sh +5 -0
  232. package/package.json +141 -0
  233. package/plugin-api/unstable.d.ts +1 -0
  234. package/plugin-api.d.ts +1 -0
@@ -0,0 +1,133 @@
1
+ import { spawn } from "node:child_process";
2
+ import { existsSync } from "node:fs";
3
+ import { homedir } from "node:os";
4
+ import { dirname, join } from "node:path";
5
+ import { fileURLToPath } from "node:url";
6
+ import type { ExtensionAPI } from "@oh-my-pi/pi-coding-agent";
7
+
8
+ const packageRoot = dirname(dirname(fileURLToPath(import.meta.url)));
9
+ const cliPath = join(packageRoot, "dist", "cli.js");
10
+ const serviceNames = ["omp-web-sessiond.service", "omp-web.service", "omp-web-ui-dev.service"];
11
+ const macLogPaths = ["sessiond.log", "web.log", "ui-dev.log"].map((name) => join(homedir(), ".omp-web", "logs", name));
12
+
13
+ const subcommands = [
14
+ "install",
15
+ "status",
16
+ "logs",
17
+ "restart",
18
+ "start",
19
+ "stop",
20
+ "doctor",
21
+ "version",
22
+ "uninstall",
23
+ "open",
24
+ "help",
25
+ ] as const;
26
+
27
+ type Subcommand = (typeof subcommands)[number];
28
+
29
+ function parseArgs(args: string): string[] {
30
+ return args.match(/(?:[^\s"']+|"[^"]*"|'[^']*')+/g)?.map((part) => {
31
+ if ((part.startsWith('"') && part.endsWith('"')) || (part.startsWith("'") && part.endsWith("'"))) {
32
+ return part.slice(1, -1);
33
+ }
34
+ return part;
35
+ }) ?? [];
36
+ }
37
+
38
+ function truncateOutput(output: string): string {
39
+ const trimmed = output.trim();
40
+ if (trimmed.length <= 3_500) return trimmed;
41
+ return `${trimmed.slice(0, 3_500)}\n… output truncated`;
42
+ }
43
+
44
+ function run(command: string, args: string[], env: NodeJS.ProcessEnv = {}): Promise<{ code: number; output: string }> {
45
+ return new Promise((resolve) => {
46
+ const child = spawn(command, args, {
47
+ env: { ...process.env, ...env },
48
+ stdio: ["ignore", "pipe", "pipe"],
49
+ });
50
+
51
+ let output = "";
52
+ child.stdout.setEncoding("utf8");
53
+ child.stderr.setEncoding("utf8");
54
+ child.stdout.on("data", (chunk: string) => { output += chunk; });
55
+ child.stderr.on("data", (chunk: string) => { output += chunk; });
56
+ child.on("error", (error) => {
57
+ resolve({ code: 1, output: error.message });
58
+ });
59
+ child.on("close", (code) => {
60
+ resolve({ code: code ?? 1, output });
61
+ });
62
+ });
63
+ }
64
+
65
+ async function runOmpWeb(args: string[], env: NodeJS.ProcessEnv = {}): Promise<{ code: number; output: string }> {
66
+ if (existsSync(cliPath)) {
67
+ return run(process.execPath, [cliPath, ...args], env);
68
+ }
69
+ return run("omp-web", args, env);
70
+ }
71
+
72
+ function showResult(ctx: { ui: { notify(message: string, type?: "info" | "warning" | "error" | "success"): void } }, title: string, result: { code: number; output: string }): void {
73
+ const body = truncateOutput(result.output) || (result.code === 0 ? "Done." : `Command failed with exit code ${String(result.code)}.`);
74
+ ctx.ui.notify(`${title}\n\n${body}`, result.code === 0 ? "info" : "error");
75
+ }
76
+
77
+ function isSubcommand(value: string): value is Subcommand {
78
+ return subcommands.some((command) => command === value);
79
+ }
80
+
81
+ async function boundedLogs(): Promise<{ code: number; output: string }> {
82
+ if (process.platform === "darwin") {
83
+ const existingLogs = macLogPaths.filter((path) => existsSync(path));
84
+ if (existingLogs.length === 0) return { code: 1, output: "No PI WEB log files found in ~/.omp-web/logs." };
85
+ return run("tail", ["-n", "100", ...existingLogs]);
86
+ }
87
+ return run("journalctl", ["--user", ...serviceNames.flatMap((serviceName) => ["-u", serviceName]), "-n", "100", "--no-pager"]);
88
+ }
89
+
90
+ export default function ompWebExtension(pi: ExtensionAPI): void {
91
+ pi.registerCommand("omp-web", {
92
+ description: "Manage PI WEB services: install, status, logs, restart, start, stop, doctor, version, open",
93
+ getArgumentCompletions(prefix: string): { value: string; label: string }[] | null {
94
+ const [first = ""] = parseArgs(prefix);
95
+ const items = subcommands
96
+ .filter((command) => command.startsWith(first))
97
+ .map((command) => ({ value: command, label: command }));
98
+ return items.length > 0 ? items : null;
99
+ },
100
+ async handler(args, ctx) {
101
+ const parsedArgs = parseArgs(args);
102
+ const subcommand = parsedArgs[0] ?? "help";
103
+ const rest = parsedArgs.slice(1);
104
+
105
+ if (subcommand === "help") {
106
+ ctx.ui.notify(`PI WEB commands:\n\n${subcommands.map((command) => `/omp-web ${command}`).join("\n")}\n\nLogs are bounded to the last 100 service log lines in the Pi command. Use \`omp-web logs\` in a shell to follow logs.`, "info");
107
+ return;
108
+ }
109
+
110
+ if (subcommand === "open") {
111
+ ctx.ui.notify("PI WEB default URL: http://127.0.0.1:8504", "info");
112
+ return;
113
+ }
114
+
115
+ if (!isSubcommand(subcommand)) {
116
+ ctx.ui.notify(`Unknown omp-web command: ${subcommand}. Try /omp-web help.`, "error");
117
+ return;
118
+ }
119
+
120
+ if (subcommand === "stop" || subcommand === "uninstall") {
121
+ const ok = await ctx.ui.confirm(`omp-web ${subcommand}`, `Run omp-web ${subcommand}?`);
122
+ if (!ok) return;
123
+ }
124
+
125
+ if (subcommand === "logs") {
126
+ showResult(ctx, "omp-web logs", await boundedLogs());
127
+ return;
128
+ }
129
+
130
+ showResult(ctx, `omp-web ${subcommand}`, await runOmpWeb([subcommand, ...rest]));
131
+ },
132
+ });
133
+ }
package/install.sh ADDED
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env sh
2
+ set -eu
3
+
4
+ bun add -g @progmruansilva/omp-web
5
+ omp-web install
package/package.json ADDED
@@ -0,0 +1,141 @@
1
+ {
2
+ "name": "@progmruansilva/omp-web",
3
+ "version": "1.202608.0",
4
+ "description": "Web UI for Oh My Pi Coding Agent",
5
+ "license": "MIT",
6
+ "author": "ProgmRuanSilva",
7
+ "type": "module",
8
+ "bin": {
9
+ "omp-web": "dist/cli.js",
10
+ "omp-web-server": "dist/server/index.js",
11
+ "omp-web-sessiond": "dist/server/sessiond.js"
12
+ },
13
+ "files": [
14
+ "dist",
15
+ "install.sh",
16
+ "README.md",
17
+ "LICENSE",
18
+ "extensions",
19
+ "docs/plugins.md",
20
+ "docs/config.md",
21
+ "docs/assets",
22
+ "plugin-api.d.ts",
23
+ "plugin-api/unstable.d.ts"
24
+ ],
25
+ "scripts": {
26
+ "typecheck": "tsc --noEmit",
27
+ "dev": "bash -c 'trap \"kill 0\" EXIT; bun run dev:sessiond & bun run dev:web & bun run dev:client & wait'",
28
+ "dev:sessiond": "bun --watch src/server/sessiond.ts",
29
+ "dev:web": "bash -c 'set -e; bun run build:plugins; trap \"kill 0\" EXIT; bun run dev:plugins & bun --watch src/server/index.ts & wait'",
30
+ "dev:server": "bun run dev:web",
31
+ "dev:client": "vite --host 0.0.0.0",
32
+ "dev:plugins": "bun scripts/build-plugins.mjs --watch",
33
+ "build": "tsc -p tsconfig.build.json && bun run build:plugin-api && bun run build:plugins && vite build",
34
+ "build:plugin-api": "tsc -p tsconfig.plugin-api.json",
35
+ "build:plugins": "tsc -p tsconfig.plugins.json && bun scripts/build-plugins.mjs",
36
+ "capture:screenshots": "bun scripts/capture-screenshots.mjs",
37
+ "start": "bun src/server/index.ts",
38
+ "start:sessiond": "bun src/server/sessiond.ts",
39
+ "lint": "eslint \"src/**/*.ts\" \"extensions/**/*.ts\" \"omp-web-plugins/**/*.ts\" vite.config.ts vitest.config.ts",
40
+ "test": "vitest run --config vitest.config.ts",
41
+ "verify": "bun run typecheck && bun run lint && bun run knip",
42
+ "clean": "rm -rf dist",
43
+ "prepack": "bun run build",
44
+ "pack:dry": "bun pm pack --dry-run",
45
+ "prepublishOnly": "bun run verify",
46
+ "publish:npm": "npm publish --access public",
47
+ "prepare": "bun scripts/install-git-hooks.mjs"
48
+ },
49
+ "dependencies": {
50
+ "@codemirror/commands": "^6.10.3",
51
+ "@codemirror/lang-css": "^6.3.1",
52
+ "@codemirror/lang-go": "^6.0.1",
53
+ "@codemirror/lang-html": "^6.4.11",
54
+ "@codemirror/lang-javascript": "^6.2.5",
55
+ "@codemirror/lang-json": "^6.0.2",
56
+ "@codemirror/lang-markdown": "^6.5.0",
57
+ "@codemirror/lang-python": "^6.2.1",
58
+ "@codemirror/lang-rust": "^6.0.2",
59
+ "@codemirror/language": "^6.12.3",
60
+ "@codemirror/legacy-modes": "^6.5.2",
61
+ "@codemirror/state": "^6.6.0",
62
+ "@codemirror/view": "^6.42.1",
63
+ "@fastify/static": "^9.1.3",
64
+ "@fastify/websocket": "^11.2.0",
65
+ "@oh-my-pi/pi-catalog": "^16.3.6",
66
+ "@xterm/addon-fit": "^0.11.0",
67
+ "@xterm/xterm": "^6.0.0",
68
+ "bun-pty": "^0.4.10",
69
+ "croner": "^10.0.1",
70
+ "diff": "^8.0.4",
71
+ "fastify": "^5.6.1",
72
+ "lit": "^3.3.1",
73
+ "marked": "^18.0.3",
74
+ "nanoid": "^5.0.0",
75
+ "node-pty": "^1.1.0",
76
+ "web-push": "^3.6.7",
77
+ "ws": "^8.20.1"
78
+ },
79
+ "devDependencies": {
80
+ "@eslint/js": "^10.0.1",
81
+ "@oh-my-pi/pi-agent-core": "^16.3.6",
82
+ "@oh-my-pi/pi-ai": "^16.3.6",
83
+ "@oh-my-pi/pi-coding-agent": "^16.3.6",
84
+ "@types/node": "^24.10.1",
85
+ "@types/web-push": "^3.6.4",
86
+ "@types/ws": "^8.18.1",
87
+ "@vitejs/plugin-react": "^6.0.5",
88
+ "eslint": "^10.3.0",
89
+ "globals": "^17.6.0",
90
+ "knip": "^6.16.1",
91
+ "tsx": "^4.20.6",
92
+ "typescript": "^5.9.3",
93
+ "typescript-eslint": "^8.59.2",
94
+ "vite": "^7.2.4",
95
+ "vitest": "^4.1.5"
96
+ },
97
+ "publishConfig": {
98
+ "access": "public"
99
+ },
100
+ "engines": {
101
+ "bun": ">=1.1.0"
102
+ },
103
+ "repository": {
104
+ "type": "git",
105
+ "url": "git+https://github.com/theruansilva/omp-web.git"
106
+ },
107
+ "bugs": {
108
+ "url": "https://github.com/theruansilva/omp-web/issues"
109
+ },
110
+ "homepage": "https://omp-web.dev/",
111
+ "packageManager": "bun@1.3.14",
112
+ "peerDependencies": {
113
+ "@oh-my-pi/pi-agent-core": ">=16.3.6 <17",
114
+ "@oh-my-pi/pi-ai": ">=16.3.6 <17",
115
+ "@oh-my-pi/pi-coding-agent": ">=16.3.6 <17"
116
+ },
117
+ "keywords": [
118
+ "pi-package",
119
+ "pi",
120
+ "omp-web",
121
+ "omp-web-ui",
122
+ "omp-webui",
123
+ "omp-coding-agent",
124
+ "omp-coding-agent-web-ui",
125
+ "coding-agent",
126
+ "ai-coding-agent",
127
+ "agentic-development",
128
+ "developer-tools",
129
+ "web-ui",
130
+ "webui",
131
+ "browser-ui",
132
+ "remote-development",
133
+ "persistent-sessions"
134
+ ],
135
+ "pi": {
136
+ "extensions": [
137
+ "./extensions"
138
+ ],
139
+ "image": "https://raw.githubusercontent.com/ProgmRuanSilva/omp-web/main/docs/assets/omp-web-banner.png"
140
+ }
141
+ }
@@ -0,0 +1 @@
1
+ export * from "../dist/plugin-api/unstable.js";
@@ -0,0 +1 @@
1
+ export * from "./dist/plugin-api.js";