@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.
- package/LICENSE +21 -0
- package/README.md +181 -0
- package/dist/cli.js +1015 -0
- package/dist/cli.js.map +1 -0
- package/dist/client/assets/CodeViewer-Da66baHj.js +4 -0
- package/dist/client/assets/TerminalPanel-Bj9an79F.js +126 -0
- package/dist/client/assets/UnifiedDiffViewer-eK_kynTO.js +34 -0
- package/dist/client/assets/index-DytaeWNd.js +3070 -0
- package/dist/client/assets/vendor-editor-core-CL2gOCIg.js +12 -0
- package/dist/client/assets/vendor-editor-languages-zOM9I4iZ.js +26 -0
- package/dist/client/assets/vendor-editor-legacy-B4QLsWF8.js +1 -0
- package/dist/client/assets/vendor-terminal-DDGTF8rc.css +1 -0
- package/dist/client/assets/vendor-terminal-DjQ08hXu.js +16 -0
- package/dist/client/favicon-16x16.png +0 -0
- package/dist/client/favicon-180x180.png +0 -0
- package/dist/client/favicon-192x192.png +0 -0
- package/dist/client/favicon-32x32.png +0 -0
- package/dist/client/favicon-512x512.png +0 -0
- package/dist/client/favicon.ico +0 -0
- package/dist/client/favicon.png +0 -0
- package/dist/client/favicon.svg +11 -0
- package/dist/client/index.html +67 -0
- package/dist/client/manifest.webmanifest +36 -0
- package/dist/config.js +272 -0
- package/dist/config.js.map +1 -0
- package/dist/docker/ompWebDockerCommandPlan.js +211 -0
- package/dist/docker/ompWebDockerCommandPlan.js.map +1 -0
- package/dist/omp-web-plugins/info/omp-web-plugin.js +51 -0
- package/dist/omp-web-plugins/info/package.json +9 -0
- package/dist/omp-web-plugins/schedule-prompts/omp-web-plugin.js +43 -0
- package/dist/omp-web-plugins/schedule-prompts/package.json +9 -0
- package/dist/omp-web-plugins/schedule-prompts/schedulePromptsPanelElement.js +242 -0
- package/dist/omp-web-plugins/schedule-prompts/types.js +2 -0
- package/dist/omp-web-plugins/updates/omp-web-plugin.js +173 -0
- package/dist/omp-web-plugins/updates/package.json +9 -0
- package/dist/omp-web-plugins/updates/updatesLogic.js +97 -0
- package/dist/ompWebVersionReport.js +217 -0
- package/dist/ompWebVersionReport.js.map +1 -0
- package/dist/plugin-api/unstable.d.ts +22 -0
- package/dist/plugin-api.d.ts +197 -0
- package/dist/server/activity/workspaceActivityRoutes.js +4 -0
- package/dist/server/activity/workspaceActivityRoutes.js.map +1 -0
- package/dist/server/activity/workspaceActivityService.js +98 -0
- package/dist/server/activity/workspaceActivityService.js.map +1 -0
- package/dist/server/app.js +162 -0
- package/dist/server/app.js.map +1 -0
- package/dist/server/configRoutes.js +270 -0
- package/dist/server/configRoutes.js.map +1 -0
- package/dist/server/diagnostics/nodePtySpawnHelper.js +130 -0
- package/dist/server/diagnostics/nodePtySpawnHelper.js.map +1 -0
- package/dist/server/git/gitEnv.js +15 -0
- package/dist/server/git/gitEnv.js.map +1 -0
- package/dist/server/git/gitService.js +119 -0
- package/dist/server/git/gitService.js.map +1 -0
- package/dist/server/gitRoutes.js +23 -0
- package/dist/server/gitRoutes.js.map +1 -0
- package/dist/server/index.js +7 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/machines/machineClient.js +162 -0
- package/dist/server/machines/machineClient.js.map +1 -0
- package/dist/server/machines/machinePluginProxyRoutes.js +157 -0
- package/dist/server/machines/machinePluginProxyRoutes.js.map +1 -0
- package/dist/server/machines/machineProxyRoutes.js +127 -0
- package/dist/server/machines/machineProxyRoutes.js.map +1 -0
- package/dist/server/machines/machineRoutes.js +54 -0
- package/dist/server/machines/machineRoutes.js.map +1 -0
- package/dist/server/machines/machineService.js +230 -0
- package/dist/server/machines/machineService.js.map +1 -0
- package/dist/server/machines/machineStore.js +123 -0
- package/dist/server/machines/machineStore.js.map +1 -0
- package/dist/server/machines/proxyUtils.js +30 -0
- package/dist/server/machines/proxyUtils.js.map +1 -0
- package/dist/server/ompWebPluginService.js +279 -0
- package/dist/server/ompWebPluginService.js.map +1 -0
- package/dist/server/ompWebStatus.js +601 -0
- package/dist/server/ompWebStatus.js.map +1 -0
- package/dist/server/ompWebStatusCache.js +31 -0
- package/dist/server/ompWebStatusCache.js.map +1 -0
- package/dist/server/piPackageRoutes.js +82 -0
- package/dist/server/piPackageRoutes.js.map +1 -0
- package/dist/server/piPackageService.js +65 -0
- package/dist/server/piPackageService.js.map +1 -0
- package/dist/server/projects/directorySuggestions.js +37 -0
- package/dist/server/projects/directorySuggestions.js.map +1 -0
- package/dist/server/projects/projectService.js +31 -0
- package/dist/server/projects/projectService.js.map +1 -0
- package/dist/server/push/PushNotificationService.js +137 -0
- package/dist/server/push/PushNotificationService.js.map +1 -0
- package/dist/server/push/pushRoutes.js +55 -0
- package/dist/server/push/pushRoutes.js.map +1 -0
- package/dist/server/realtime/sessionEventHub.js +39 -0
- package/dist/server/realtime/sessionEventHub.js.map +1 -0
- package/dist/server/sessiond/sessionProxyRoutes.js +61 -0
- package/dist/server/sessiond/sessionProxyRoutes.js.map +1 -0
- package/dist/server/sessiond.js +92 -0
- package/dist/server/sessiond.js.map +1 -0
- package/dist/server/sessions/attachmentService.js +112 -0
- package/dist/server/sessions/attachmentService.js.map +1 -0
- package/dist/server/sessions/authProviderOptions.js +52 -0
- package/dist/server/sessions/authProviderOptions.js.map +1 -0
- package/dist/server/sessions/authRoutes.js +59 -0
- package/dist/server/sessions/authRoutes.js.map +1 -0
- package/dist/server/sessions/authService.js +105 -0
- package/dist/server/sessions/authService.js.map +1 -0
- package/dist/server/sessions/builtinCommands.js +29 -0
- package/dist/server/sessions/builtinCommands.js.map +1 -0
- package/dist/server/sessions/editPreview.js +196 -0
- package/dist/server/sessions/editPreview.js.map +1 -0
- package/dist/server/sessions/messagePaging.js +41 -0
- package/dist/server/sessions/messagePaging.js.map +1 -0
- package/dist/server/sessions/oauthLoginFlowService.js +136 -0
- package/dist/server/sessions/oauthLoginFlowService.js.map +1 -0
- package/dist/server/sessions/piSessionManagerGateway.js +97 -0
- package/dist/server/sessions/piSessionManagerGateway.js.map +1 -0
- package/dist/server/sessions/piSessionService.js +2401 -0
- package/dist/server/sessions/piSessionService.js.map +1 -0
- package/dist/server/sessions/schedulePrompt/schedulePromptService.js +46 -0
- package/dist/server/sessions/schedulePrompt/schedulePromptService.js.map +1 -0
- package/dist/server/sessions/schedulePrompt/scheduler.js +315 -0
- package/dist/server/sessions/schedulePrompt/scheduler.js.map +1 -0
- package/dist/server/sessions/schedulePrompt/storage.js +118 -0
- package/dist/server/sessions/schedulePrompt/storage.js.map +1 -0
- package/dist/server/sessions/schedulePrompt/tool.js +252 -0
- package/dist/server/sessions/schedulePrompt/tool.js.map +1 -0
- package/dist/server/sessions/schedulePrompt/types.js +2 -0
- package/dist/server/sessions/schedulePrompt/types.js.map +1 -0
- package/dist/server/sessions/sessionArchiveStore.js +254 -0
- package/dist/server/sessions/sessionArchiveStore.js.map +1 -0
- package/dist/server/sessions/sessionArchiveTree.js +35 -0
- package/dist/server/sessions/sessionArchiveTree.js.map +1 -0
- package/dist/server/sessions/sessionCleanup.js +157 -0
- package/dist/server/sessions/sessionCleanup.js.map +1 -0
- package/dist/server/sessions/sessionCommandService.js +260 -0
- package/dist/server/sessions/sessionCommandService.js.map +1 -0
- package/dist/server/sessions/sessionNameGenerator.js +61 -0
- package/dist/server/sessions/sessionNameGenerator.js.map +1 -0
- package/dist/server/sessions/sessionRoutes.js +344 -0
- package/dist/server/sessions/sessionRoutes.js.map +1 -0
- package/dist/server/sessions/sessionRuntimeStore.js +2 -0
- package/dist/server/sessions/sessionRuntimeStore.js.map +1 -0
- package/dist/server/sessions/spawnSessionTool.js +41 -0
- package/dist/server/sessions/spawnSessionTool.js.map +1 -0
- package/dist/server/sessions/spawnSubsessionTool.js +203 -0
- package/dist/server/sessions/spawnSubsessionTool.js.map +1 -0
- package/dist/server/sessions/spawnTargetResolver.js +36 -0
- package/dist/server/sessions/spawnTargetResolver.js.map +1 -0
- package/dist/server/sessions/subsessionTranscript.js +233 -0
- package/dist/server/sessions/subsessionTranscript.js.map +1 -0
- package/dist/server/storage/projectStore.js +83 -0
- package/dist/server/storage/projectStore.js.map +1 -0
- package/dist/server/terminalProxyRoutes.js +140 -0
- package/dist/server/terminalProxyRoutes.js.map +1 -0
- package/dist/server/terminals/terminalRoutes.js +153 -0
- package/dist/server/terminals/terminalRoutes.js.map +1 -0
- package/dist/server/terminals/terminalService.js +320 -0
- package/dist/server/terminals/terminalService.js.map +1 -0
- package/dist/server/terminals/terminalSize.js +17 -0
- package/dist/server/terminals/terminalSize.js.map +1 -0
- package/dist/server/types.js +2 -0
- package/dist/server/types.js.map +1 -0
- package/dist/server/utils.js +8 -0
- package/dist/server/utils.js.map +1 -0
- package/dist/server/webSocketBridge.js +32 -0
- package/dist/server/webSocketBridge.js.map +1 -0
- package/dist/server/workingDirectory.js +44 -0
- package/dist/server/workingDirectory.js.map +1 -0
- package/dist/server/workspaceExplorerRoutes.js +109 -0
- package/dist/server/workspaceExplorerRoutes.js.map +1 -0
- package/dist/server/workspaces/effectivePathAccess.js +27 -0
- package/dist/server/workspaces/effectivePathAccess.js.map +1 -0
- package/dist/server/workspaces/fileContentService.js +181 -0
- package/dist/server/workspaces/fileContentService.js.map +1 -0
- package/dist/server/workspaces/fileSuggestions.js +512 -0
- package/dist/server/workspaces/fileSuggestions.js.map +1 -0
- package/dist/server/workspaces/fileTreeService.js +27 -0
- package/dist/server/workspaces/fileTreeService.js.map +1 -0
- package/dist/server/workspaces/gitWorktreeDiscovery.js +34 -0
- package/dist/server/workspaces/gitWorktreeDiscovery.js.map +1 -0
- package/dist/server/workspaces/imagePreviewService.js +40 -0
- package/dist/server/workspaces/imagePreviewService.js.map +1 -0
- package/dist/server/workspaces/pathAccessPolicy.js +87 -0
- package/dist/server/workspaces/pathAccessPolicy.js.map +1 -0
- package/dist/server/workspaces/pathSafety.js +54 -0
- package/dist/server/workspaces/pathSafety.js.map +1 -0
- package/dist/server/workspaces/projectOmpWebConfig.js +56 -0
- package/dist/server/workspaces/projectOmpWebConfig.js.map +1 -0
- package/dist/server/workspaces/workspaceContext.js +8 -0
- package/dist/server/workspaces/workspaceContext.js.map +1 -0
- package/dist/server/workspaces/workspaceDeletionRoutes.js +111 -0
- package/dist/server/workspaces/workspaceDeletionRoutes.js.map +1 -0
- package/dist/server/workspaces/workspaceService.js +39 -0
- package/dist/server/workspaces/workspaceService.js.map +1 -0
- package/dist/sessiond/config.js +9 -0
- package/dist/sessiond/config.js.map +1 -0
- package/dist/sessiond/sessionDaemonClient.js +65 -0
- package/dist/sessiond/sessionDaemonClient.js.map +1 -0
- package/dist/shared/activity.js +26 -0
- package/dist/shared/activity.js.map +1 -0
- package/dist/shared/apiTypes.d.ts +688 -0
- package/dist/shared/apiTypes.js +11 -0
- package/dist/shared/apiTypes.js.map +1 -0
- package/dist/shared/capabilities.js +52 -0
- package/dist/shared/capabilities.js.map +1 -0
- package/dist/shared/federatedRoutes.js +79 -0
- package/dist/shared/federatedRoutes.js.map +1 -0
- package/dist/shared/machinePluginIds.js +41 -0
- package/dist/shared/machinePluginIds.js.map +1 -0
- package/dist/shared/ompWebStatusParsing.js +100 -0
- package/dist/shared/ompWebStatusParsing.js.map +1 -0
- package/dist/shared/pluginIds.js +5 -0
- package/dist/shared/pluginIds.js.map +1 -0
- package/dist/shared/promptAttachments.js +90 -0
- package/dist/shared/promptAttachments.js.map +1 -0
- package/dist/shared/thinkingLevels.d.ts +19 -0
- package/dist/shared/thinkingLevels.js +24 -0
- package/dist/shared/thinkingLevels.js.map +1 -0
- package/dist/shared/utils.js +4 -0
- package/dist/shared/utils.js.map +1 -0
- package/dist/shared/workspaceDeletion.js +12 -0
- package/dist/shared/workspaceDeletion.js.map +1 -0
- package/dist/shared/workspaceFiles.js +3 -0
- package/dist/shared/workspaceFiles.js.map +1 -0
- package/docs/assets/favicon.svg +11 -0
- package/docs/assets/omp-web-banner.png +0 -0
- package/docs/assets/omp-web-desktop.png +0 -0
- package/docs/assets/omp-web-mobile.png +0 -0
- package/docs/assets/omp-web-tablet.png +0 -0
- package/docs/config.md +208 -0
- package/docs/plugins.md +916 -0
- package/extensions/omp-web.ts +133 -0
- package/install.sh +5 -0
- package/package.json +141 -0
- package/plugin-api/unstable.d.ts +1 -0
- 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
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";
|
package/plugin-api.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./dist/plugin-api.js";
|