@agimon-ai/doompi-computer-use 0.0.1-alpha.2 → 0.0.1-alpha.21
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/README.md +11 -4
- package/dist/_virtual/_rolldown/runtime.cjs +23 -1
- package/dist/api-contracts.cjs +7 -0
- package/dist/api-contracts.d.cts +2 -0
- package/dist/api-contracts.d.mts +2 -0
- package/dist/api-contracts.mjs +2 -0
- package/dist/extensions/mcp.cjs +56 -0
- package/dist/extensions/mcp.cjs.map +1 -0
- package/dist/extensions/mcp.d.cts +5 -0
- package/dist/extensions/mcp.d.cts.map +1 -0
- package/dist/extensions/mcp.d.mts +5 -0
- package/dist/extensions/mcp.d.mts.map +1 -0
- package/dist/extensions/mcp.mjs +51 -0
- package/dist/extensions/mcp.mjs.map +1 -0
- package/dist/extensions/pi.cjs +51 -1
- package/dist/extensions/pi.cjs.map +1 -0
- package/dist/extensions/pi.d.cts +7 -2
- package/dist/extensions/pi.d.cts.map +1 -0
- package/dist/extensions/pi.d.mts +7 -2
- package/dist/extensions/pi.d.mts.map +1 -0
- package/dist/extensions/pi.mjs +46 -1
- package/dist/extensions/pi.mjs.map +1 -0
- package/dist/extensions/server.cjs +72 -0
- package/dist/extensions/server.cjs.map +1 -0
- package/dist/extensions/server.d.cts +5 -0
- package/dist/extensions/server.d.cts.map +1 -0
- package/dist/extensions/server.d.mts +5 -0
- package/dist/extensions/server.d.mts.map +1 -0
- package/dist/extensions/server.mjs +67 -0
- package/dist/extensions/server.mjs.map +1 -0
- package/dist/extensions/web.mjs +625 -0
- package/dist/extensions/web.mjs.map +1 -0
- package/dist/index.cjs +18 -1
- package/dist/index.d.cts +12 -10
- package/dist/index.d.mts +12 -10
- package/dist/index.mjs +8 -1
- package/dist/src/constants/computerUse.cjs +17 -0
- package/dist/src/constants/computerUse.cjs.map +1 -0
- package/dist/src/constants/computerUse.d.cts +5 -0
- package/dist/src/constants/computerUse.d.cts.map +1 -0
- package/dist/src/constants/computerUse.d.mts +5 -0
- package/dist/src/constants/computerUse.d.mts.map +1 -0
- package/dist/src/constants/computerUse.mjs +14 -0
- package/dist/src/constants/computerUse.mjs.map +1 -0
- package/dist/src/extensions/(backend)/channel/computer-use.server.cjs +7 -0
- package/dist/src/extensions/(backend)/channel/computer-use.server.cjs.map +1 -0
- package/dist/src/extensions/(backend)/channel/computer-use.server.mjs +8 -0
- package/dist/src/extensions/(backend)/channel/computer-use.server.mjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/_runtime/index.cli.cjs +8 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/_runtime/index.cli.cjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/_runtime/index.cli.mjs +8 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/_runtime/index.cli.mjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/_runtime/index.server.cjs +11 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/_runtime/index.server.cjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/_runtime/index.server.mjs +11 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/_runtime/index.server.mjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/api/computer-use/route.server.cjs +6 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/api/computer-use/route.server.cjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/api/computer-use/route.server.mjs +7 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/api/computer-use/route.server.mjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/command/computer-use.cli.cjs +6 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/command/computer-use.cli.cjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/command/computer-use.cli.mjs +7 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/command/computer-use.cli.mjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/command/computer-use.server.cjs +6 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/command/computer-use.server.cjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/command/computer-use.server.mjs +7 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/command/computer-use.server.mjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/before-agent-start.cli.cjs +6 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/before-agent-start.cli.cjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/before-agent-start.cli.mjs +7 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/before-agent-start.cli.mjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/before-agent-start.server.cjs +6 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/before-agent-start.server.cjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/before-agent-start.server.mjs +7 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/before-agent-start.server.mjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-shutdown.server.cjs +6 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-shutdown.server.cjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-shutdown.server.mjs +7 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-shutdown.server.mjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-start.cli.cjs +6 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-start.cli.cjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-start.cli.mjs +7 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-start.cli.mjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/root.cli.cjs +15 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/root.cli.cjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/root.cli.mjs +16 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/root.cli.mjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/root.server.cjs +17 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/root.server.cjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/root.server.mjs +18 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/root.server.mjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/00-computer-state.cli.cjs +6 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/00-computer-state.cli.cjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/00-computer-state.cli.mjs +7 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/00-computer-state.cli.mjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/00-computer-state.server.cjs +6 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/00-computer-state.server.cjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/00-computer-state.server.mjs +7 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/00-computer-state.server.mjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/10-computer-action.cli.cjs +6 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/10-computer-action.cli.cjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/10-computer-action.cli.mjs +7 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/10-computer-action.cli.mjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/10-computer-action.server.cjs +6 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/10-computer-action.server.cjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/10-computer-action.server.mjs +7 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/10-computer-action.server.mjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/20-computer-exec.cli.cjs +6 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/20-computer-exec.cli.cjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/20-computer-exec.cli.mjs +7 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/20-computer-exec.cli.mjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/20-computer-exec.server.cjs +6 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/20-computer-exec.server.cjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/20-computer-exec.server.mjs +7 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/20-computer-exec.server.mjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/computer-use.cli.cjs +6 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/computer-use.cli.cjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/computer-use.cli.mjs +7 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/computer-use.cli.mjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/computer-use.server.cjs +6 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/computer-use.server.cjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/computer-use.server.mjs +7 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/computer-use.server.mjs.map +1 -0
- package/dist/src/models/computerUseMode.cjs +43 -0
- package/dist/src/models/computerUseMode.cjs.map +1 -0
- package/dist/src/models/computerUseMode.mjs +42 -0
- package/dist/src/models/computerUseMode.mjs.map +1 -0
- package/dist/src/models/computerUseState.cjs +89 -0
- package/dist/src/models/computerUseState.cjs.map +1 -0
- package/dist/src/models/computerUseState.d.cts +6 -0
- package/dist/src/models/computerUseState.d.cts.map +1 -0
- package/dist/src/models/computerUseState.d.mts +6 -0
- package/dist/src/models/computerUseState.d.mts.map +1 -0
- package/dist/src/models/computerUseState.mjs +88 -0
- package/dist/src/models/computerUseState.mjs.map +1 -0
- package/dist/src/schemas/apiContracts.cjs +194 -0
- package/dist/src/schemas/apiContracts.cjs.map +1 -0
- package/dist/src/schemas/apiContracts.d.cts +53 -0
- package/dist/src/schemas/apiContracts.d.cts.map +1 -0
- package/dist/src/schemas/apiContracts.d.mts +53 -0
- package/dist/src/schemas/apiContracts.d.mts.map +1 -0
- package/dist/src/schemas/apiContracts.mjs +191 -0
- package/dist/src/schemas/apiContracts.mjs.map +1 -0
- package/dist/src/services/computerScriptRunner/index.cjs +171 -0
- package/dist/src/services/computerScriptRunner/index.cjs.map +1 -0
- package/dist/src/services/computerScriptRunner/index.d.cts +12 -0
- package/dist/src/services/computerScriptRunner/index.d.cts.map +1 -0
- package/dist/src/services/computerScriptRunner/index.d.mts +12 -0
- package/dist/src/services/computerScriptRunner/index.d.mts.map +1 -0
- package/dist/src/services/computerScriptRunner/index.mjs +171 -0
- package/dist/src/services/computerScriptRunner/index.mjs.map +1 -0
- package/dist/src/services/computerUseApi/index.cjs +291 -0
- package/dist/src/services/computerUseApi/index.cjs.map +1 -0
- package/dist/src/services/computerUseApi/index.mjs +289 -0
- package/dist/src/services/computerUseApi/index.mjs.map +1 -0
- package/dist/src/services/computerUseCommand/index.cjs +15 -0
- package/dist/src/services/computerUseCommand/index.cjs.map +1 -0
- package/dist/src/services/computerUseCommand/index.mjs +15 -0
- package/dist/src/services/computerUseCommand/index.mjs.map +1 -0
- package/dist/src/services/computerUseRuntime/index.cjs +300 -0
- package/dist/src/services/computerUseRuntime/index.cjs.map +1 -0
- package/dist/src/services/computerUseRuntime/index.mjs +299 -0
- package/dist/src/services/computerUseRuntime/index.mjs.map +1 -0
- package/dist/src/services/computerUseServer/index.cjs +350 -0
- package/dist/src/services/computerUseServer/index.cjs.map +1 -0
- package/dist/src/services/computerUseServer/index.mjs +348 -0
- package/dist/src/services/computerUseServer/index.mjs.map +1 -0
- package/dist/src/services/dependencies/index.cjs +27 -0
- package/dist/src/services/dependencies/index.cjs.map +1 -0
- package/dist/src/services/dependencies/index.d.cts +6 -0
- package/dist/src/services/dependencies/index.d.cts.map +1 -0
- package/dist/src/services/dependencies/index.d.mts +6 -0
- package/dist/src/services/dependencies/index.d.mts.map +1 -0
- package/dist/src/services/dependencies/index.mjs +24 -0
- package/dist/src/services/dependencies/index.mjs.map +1 -0
- package/dist/src/services/extensionService/index.cjs +21 -0
- package/dist/src/services/extensionService/index.cjs.map +1 -0
- package/dist/src/services/extensionService/index.d.cts +10 -0
- package/dist/src/services/extensionService/index.d.cts.map +1 -0
- package/dist/src/services/extensionService/index.d.mts +10 -0
- package/dist/src/services/extensionService/index.d.mts.map +1 -0
- package/dist/src/services/extensionService/index.mjs +21 -0
- package/dist/src/services/extensionService/index.mjs.map +1 -0
- package/dist/src/services/mcpTools/index.cjs +17 -0
- package/dist/src/services/mcpTools/index.cjs.map +1 -0
- package/dist/src/services/mcpTools/index.mjs +16 -0
- package/dist/src/services/mcpTools/index.mjs.map +1 -0
- package/dist/src/services/sessionApiClient/index.cjs +9 -0
- package/dist/src/services/sessionApiClient/index.cjs.map +1 -0
- package/dist/src/services/sessionApiClient/index.d.cts +15 -0
- package/dist/src/services/sessionApiClient/index.d.cts.map +1 -0
- package/dist/src/services/sessionApiClient/index.d.mts +15 -0
- package/dist/src/services/sessionApiClient/index.d.mts.map +1 -0
- package/dist/src/services/sessionApiClient/index.mjs +9 -0
- package/dist/src/services/sessionApiClient/index.mjs.map +1 -0
- package/dist/src/services/traceRedaction/index.cjs +19 -0
- package/dist/src/services/traceRedaction/index.cjs.map +1 -0
- package/dist/{services/traceRedaction.d.mts → src/services/traceRedaction/index.d.cts} +6 -7
- package/dist/src/services/traceRedaction/index.d.cts.map +1 -0
- package/dist/{services/traceRedaction.d.cts → src/services/traceRedaction/index.d.mts} +6 -7
- package/dist/src/services/traceRedaction/index.d.mts.map +1 -0
- package/dist/src/services/traceRedaction/index.mjs +19 -0
- package/dist/src/services/traceRedaction/index.mjs.map +1 -0
- package/dist/src/services/webComputerUseAvailability/index.cjs +13 -0
- package/dist/src/services/webComputerUseAvailability/index.cjs.map +1 -0
- package/dist/src/services/webComputerUseAvailability/index.mjs +12 -0
- package/dist/src/services/webComputerUseAvailability/index.mjs.map +1 -0
- package/dist/src/services/webComputerUseChannel/index.cjs +251 -0
- package/dist/src/services/webComputerUseChannel/index.cjs.map +1 -0
- package/dist/src/services/webComputerUseChannel/index.mjs +250 -0
- package/dist/src/services/webComputerUseChannel/index.mjs.map +1 -0
- package/dist/src/types/apiRoutes.cjs +84 -0
- package/dist/src/types/apiRoutes.cjs.map +1 -0
- package/dist/src/types/apiRoutes.mjs +84 -0
- package/dist/src/types/apiRoutes.mjs.map +1 -0
- package/dist/src/types/computerScript.d.cts +38 -0
- package/dist/src/types/computerScript.d.cts.map +1 -0
- package/dist/src/types/computerScript.d.mts +38 -0
- package/dist/src/types/computerScript.d.mts.map +1 -0
- package/dist/{types → src/types}/computerUse.d.cts +14 -14
- package/dist/src/types/computerUse.d.cts.map +1 -0
- package/dist/{types → src/types}/computerUse.d.mts +14 -14
- package/dist/src/types/computerUse.d.mts.map +1 -0
- package/dist/src/types/computerUseApi.cjs +41 -0
- package/dist/src/types/computerUseApi.cjs.map +1 -0
- package/dist/{types → src/types}/computerUseApi.d.cts +28 -20
- package/dist/src/types/computerUseApi.d.cts.map +1 -0
- package/dist/{types → src/types}/computerUseApi.d.mts +28 -20
- package/dist/src/types/computerUseApi.d.mts.map +1 -0
- package/dist/src/types/computerUseApi.mjs +33 -0
- package/dist/src/types/computerUseApi.mjs.map +1 -0
- package/dist/src/types/extension.d.cts +19 -0
- package/dist/src/types/extension.d.cts.map +1 -0
- package/dist/src/types/extension.d.mts +19 -0
- package/dist/src/types/extension.d.mts.map +1 -0
- package/docs/computer-scripts.md +37 -0
- package/llms.txt +1 -0
- package/package.json +55 -33
- package/src/prompts/doompi-use-computer-use/SKILL.md +1 -1
- package/src/types/computerUse.ts +3 -2
- package/src/types/computerUseApi.ts +9 -6
- package/dist/adapters/computerUseApi.cjs +0 -2
- package/dist/adapters/computerUseApi.cjs.map +0 -1
- package/dist/adapters/computerUseApi.d.cts +0 -37
- package/dist/adapters/computerUseApi.d.cts.map +0 -1
- package/dist/adapters/computerUseApi.d.mts +0 -37
- package/dist/adapters/computerUseApi.d.mts.map +0 -1
- package/dist/adapters/computerUseApi.mjs +0 -2
- package/dist/adapters/computerUseApi.mjs.map +0 -1
- package/dist/adapters/pi/extension.cjs +0 -3
- package/dist/adapters/pi/extension.cjs.map +0 -1
- package/dist/adapters/pi/extension.d.cts +0 -12
- package/dist/adapters/pi/extension.d.cts.map +0 -1
- package/dist/adapters/pi/extension.d.mts +0 -12
- package/dist/adapters/pi/extension.d.mts.map +0 -1
- package/dist/adapters/pi/extension.mjs +0 -3
- package/dist/adapters/pi/extension.mjs.map +0 -1
- package/dist/adapters/pi/sessionApiClient.cjs +0 -2
- package/dist/adapters/pi/sessionApiClient.cjs.map +0 -1
- package/dist/adapters/pi/sessionApiClient.d.cts +0 -26
- package/dist/adapters/pi/sessionApiClient.d.cts.map +0 -1
- package/dist/adapters/pi/sessionApiClient.d.mts +0 -26
- package/dist/adapters/pi/sessionApiClient.d.mts.map +0 -1
- package/dist/adapters/pi/sessionApiClient.mjs +0 -2
- package/dist/adapters/pi/sessionApiClient.mjs.map +0 -1
- package/dist/adapters/webComputerUseAvailability.cjs +0 -2
- package/dist/adapters/webComputerUseAvailability.cjs.map +0 -1
- package/dist/adapters/webComputerUseAvailability.mjs +0 -2
- package/dist/adapters/webComputerUseAvailability.mjs.map +0 -1
- package/dist/adapters/webComputerUseChannel.cjs +0 -2
- package/dist/adapters/webComputerUseChannel.cjs.map +0 -1
- package/dist/adapters/webComputerUseChannel.d.cts +0 -10
- package/dist/adapters/webComputerUseChannel.d.cts.map +0 -1
- package/dist/adapters/webComputerUseChannel.d.mts +0 -10
- package/dist/adapters/webComputerUseChannel.d.mts.map +0 -1
- package/dist/adapters/webComputerUseChannel.mjs +0 -2
- package/dist/adapters/webComputerUseChannel.mjs.map +0 -1
- package/dist/commands/computerUseCommand.cjs +0 -2
- package/dist/commands/computerUseCommand.cjs.map +0 -1
- package/dist/commands/computerUseCommand.mjs +0 -2
- package/dist/commands/computerUseCommand.mjs.map +0 -1
- package/dist/container/index.cjs +0 -2
- package/dist/container/index.cjs.map +0 -1
- package/dist/container/index.d.cts +0 -6
- package/dist/container/index.d.cts.map +0 -1
- package/dist/container/index.d.mts +0 -6
- package/dist/container/index.d.mts.map +0 -1
- package/dist/container/index.mjs +0 -2
- package/dist/container/index.mjs.map +0 -1
- package/dist/services/extensionService.cjs +0 -2
- package/dist/services/extensionService.cjs.map +0 -1
- package/dist/services/extensionService.d.cts +0 -11
- package/dist/services/extensionService.d.cts.map +0 -1
- package/dist/services/extensionService.d.mts +0 -11
- package/dist/services/extensionService.d.mts.map +0 -1
- package/dist/services/extensionService.mjs +0 -2
- package/dist/services/extensionService.mjs.map +0 -1
- package/dist/services/sessionController.cjs +0 -2
- package/dist/services/sessionController.cjs.map +0 -1
- package/dist/services/sessionController.d.cts +0 -7
- package/dist/services/sessionController.d.cts.map +0 -1
- package/dist/services/sessionController.d.mts +0 -7
- package/dist/services/sessionController.d.mts.map +0 -1
- package/dist/services/sessionController.mjs +0 -2
- package/dist/services/sessionController.mjs.map +0 -1
- package/dist/services/traceRedaction.cjs +0 -2
- package/dist/services/traceRedaction.cjs.map +0 -1
- package/dist/services/traceRedaction.d.cts.map +0 -1
- package/dist/services/traceRedaction.d.mts.map +0 -1
- package/dist/services/traceRedaction.mjs +0 -2
- package/dist/services/traceRedaction.mjs.map +0 -1
- package/dist/sessionApi.cjs +0 -1
- package/dist/sessionApi.d.cts +0 -2
- package/dist/sessionApi.d.mts +0 -2
- package/dist/sessionApi.mjs +0 -1
- package/dist/types/computerUse.d.cts.map +0 -1
- package/dist/types/computerUse.d.mts.map +0 -1
- package/dist/types/computerUseApi.cjs +0 -2
- package/dist/types/computerUseApi.cjs.map +0 -1
- package/dist/types/computerUseApi.d.cts.map +0 -1
- package/dist/types/computerUseApi.d.mts.map +0 -1
- package/dist/types/computerUseApi.mjs +0 -2
- package/dist/types/computerUseApi.mjs.map +0 -1
- package/dist/types/extension.d.cts +0 -17
- package/dist/types/extension.d.cts.map +0 -1
- package/dist/types/extension.d.mts +0 -17
- package/dist/types/extension.d.mts.map +0 -1
- package/dist/webHub.cjs +0 -1
- package/dist/webHub.d.cts +0 -3
- package/dist/webHub.d.mts +0 -3
- package/dist/webHub.mjs +0 -1
- package/src/exports/webClient.ts +0 -2
- package/src/web/ComputerActionToolCard.tsx +0 -51
- package/src/web/ComputerStateToolCard.tsx +0 -51
- package/src/web/ComputerUsePanel.tsx +0 -136
- package/src/web/computerActionToolRender.ts +0 -20
- package/src/web/computerStateToolRender.ts +0 -18
- package/src/web/computerUseStore.ts +0 -26
- package/src/web/index.ts +0 -41
- package/src/web/tsconfig.json +0 -28
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
// @scaffold-generated
|
|
2
|
-
import {
|
|
3
|
-
collapseLines,
|
|
4
|
-
MessageItem,
|
|
5
|
-
MessageItemBody,
|
|
6
|
-
MessageItemHeader,
|
|
7
|
-
MessageItemStatus,
|
|
8
|
-
MessageLines,
|
|
9
|
-
toolTone,
|
|
10
|
-
} from '@agimon-ai/doompi-web-components';
|
|
11
|
-
import type { ToolMessageRenderProps } from '@agimon-ai/doompi-web-contracts';
|
|
12
|
-
import {
|
|
13
|
-
computerStateCallSummary,
|
|
14
|
-
computerStateCollapsedLines,
|
|
15
|
-
computerStateResultLines,
|
|
16
|
-
} from './computerStateToolRender.ts';
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* The computer_state tool's timeline item: Observe the authorized application window and semantic accessibility state. The shell owns
|
|
20
|
-
* the frame, the outcome tone, the status badge, and the expand toggle; this
|
|
21
|
-
* card supplies the header summary and the body lines, and says whether it
|
|
22
|
-
* hides any so the toggle appears only when it reveals something.
|
|
23
|
-
*/
|
|
24
|
-
export function ComputerStateToolCard({ toolName, args, result, running, isError }: ToolMessageRenderProps) {
|
|
25
|
-
const lines = computerStateResultLines(result);
|
|
26
|
-
const collapsed = collapseLines(lines, computerStateCollapsedLines, false);
|
|
27
|
-
return (
|
|
28
|
-
<MessageItem tone={toolTone({ running, isError })} expandable={collapsed.hidden > 0}>
|
|
29
|
-
{({ expanded }) => {
|
|
30
|
-
const view = expanded ? collapseLines(lines, computerStateCollapsedLines, true) : collapsed;
|
|
31
|
-
return (
|
|
32
|
-
<>
|
|
33
|
-
<MessageItemHeader title={toolName}>
|
|
34
|
-
<span data-testid={`tool-call-${toolName}`} className="min-w-0 flex-1 truncate text-doom-text">
|
|
35
|
-
{computerStateCallSummary(args)}
|
|
36
|
-
</span>
|
|
37
|
-
</MessageItemHeader>
|
|
38
|
-
{view.shown.length > 0 || running || isError ? (
|
|
39
|
-
<MessageItemBody data-testid={`tool-result-${toolName}`} className="flex flex-col gap-1">
|
|
40
|
-
{view.shown.length > 0 ? <MessageLines lines={view.shown} /> : null}
|
|
41
|
-
{view.hidden > 0 ? <MessageItemStatus expands>{view.hidden} more line(s)</MessageItemStatus> : null}
|
|
42
|
-
{running ? <MessageItemStatus tone="running">running</MessageItemStatus> : null}
|
|
43
|
-
{isError ? <MessageItemStatus tone="error">failed</MessageItemStatus> : null}
|
|
44
|
-
</MessageItemBody>
|
|
45
|
-
) : null}
|
|
46
|
-
</>
|
|
47
|
-
);
|
|
48
|
-
}}
|
|
49
|
-
</MessageItem>
|
|
50
|
-
);
|
|
51
|
-
}
|
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
import type { WebPluginSlotProps } from '@agimon-ai/doompi-web-contracts';
|
|
2
|
-
import { useStore } from '@tanstack/react-store';
|
|
3
|
-
import { useEffect, useState } from 'react';
|
|
4
|
-
import { activationUrl, COMPUTER_USE_DEFAULT_DURATION_MS, computerUseChannelType } from '../types/computerUseApi.ts';
|
|
5
|
-
import { computerUse } from './computerUseStore.ts';
|
|
6
|
-
|
|
7
|
-
function text(value: unknown, fallback: string): string {
|
|
8
|
-
return typeof value === 'string' || typeof value === 'number' ? String(value) : fallback;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export function ComputerUsePanel({ sessionId, sendSessionFrame }: WebPluginSlotProps) {
|
|
12
|
-
const session = useStore(computerUse.store, (state) => computerUse.select(state, sessionId));
|
|
13
|
-
const [selected, setSelected] = useState(0);
|
|
14
|
-
const [confirmationTarget, setConfirmationTarget] = useState<Record<string, unknown>>();
|
|
15
|
-
const [error, setError] = useState<string>();
|
|
16
|
-
const send = (payload: Record<string, unknown>) => {
|
|
17
|
-
if (sessionId !== null) sendSessionFrame(sessionId, { type: computerUseChannelType, payload });
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
useEffect(() => {
|
|
21
|
-
if (sessionId === null) return;
|
|
22
|
-
sendSessionFrame(sessionId, { type: computerUseChannelType, payload: { action: 'status' } });
|
|
23
|
-
sendSessionFrame(sessionId, { type: computerUseChannelType, payload: { action: 'targets' } });
|
|
24
|
-
}, [sendSessionFrame, sessionId]);
|
|
25
|
-
|
|
26
|
-
if (sessionId === null) return <p className="px-1 text-[10px] text-doom-faint">Select a session.</p>;
|
|
27
|
-
const state = session.state;
|
|
28
|
-
const target = session.targets[selected];
|
|
29
|
-
const artifact = state.artifact;
|
|
30
|
-
const confirm = async () => {
|
|
31
|
-
if (confirmationTarget === undefined) return;
|
|
32
|
-
setError(undefined);
|
|
33
|
-
const response = await fetch(activationUrl(sessionId), {
|
|
34
|
-
method: 'POST',
|
|
35
|
-
headers: { 'content-type': 'application/json' },
|
|
36
|
-
body: JSON.stringify({ target: confirmationTarget, durationMs: COMPUTER_USE_DEFAULT_DURATION_MS }),
|
|
37
|
-
});
|
|
38
|
-
if (!response.ok) {
|
|
39
|
-
const value = (await response.json()) as { error?: unknown };
|
|
40
|
-
setError(typeof value.error === 'string' ? value.error : `Activation failed with HTTP ${response.status}.`);
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
setConfirmationTarget(undefined);
|
|
44
|
-
send({ action: 'status' });
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
return (
|
|
48
|
-
<div data-testid="computer-use-panel" className="flex flex-col gap-2 text-[10px] text-doom-text">
|
|
49
|
-
<header className="flex items-center justify-between gap-2">
|
|
50
|
-
<span className="text-doom-faint">{state.phase.replaceAll('_', ' ')}</span>
|
|
51
|
-
<button type="button" className="rounded bg-doom-panel px-2 py-1" onClick={() => send({ action: 'targets' })}>
|
|
52
|
-
Refresh targets
|
|
53
|
-
</button>
|
|
54
|
-
</header>
|
|
55
|
-
{session.busy ? (
|
|
56
|
-
<p className="rounded border border-doom-warning px-2 py-1">Computer use is busy in another session</p>
|
|
57
|
-
) : null}
|
|
58
|
-
{state.failure ? <p className="text-doom-error">{state.failure.message}</p> : null}
|
|
59
|
-
{error ? <p className="text-doom-error">{error}</p> : null}
|
|
60
|
-
|
|
61
|
-
{(state.phase === 'inactive' || state.phase === 'failed') && confirmationTarget === undefined ? (
|
|
62
|
-
<div className="flex flex-col gap-2">
|
|
63
|
-
<label htmlFor="computer-use-target">Application window</label>
|
|
64
|
-
<select
|
|
65
|
-
id="computer-use-target"
|
|
66
|
-
value={selected}
|
|
67
|
-
onChange={(event) => setSelected(Number(event.target.value))}
|
|
68
|
-
className="rounded bg-doom-panel px-2 py-1"
|
|
69
|
-
>
|
|
70
|
-
{session.targets.map((item, index) => (
|
|
71
|
-
<option key={text(item.windowId, String(index))} value={index}>
|
|
72
|
-
{text(item.applicationName, text(item.windowTitle, text(item.windowId, 'Window')))}
|
|
73
|
-
</option>
|
|
74
|
-
))}
|
|
75
|
-
</select>
|
|
76
|
-
<button
|
|
77
|
-
type="button"
|
|
78
|
-
disabled={!target || Boolean(session.busy)}
|
|
79
|
-
className="rounded bg-doom-accent px-2 py-1 disabled:opacity-50"
|
|
80
|
-
onClick={() => target !== undefined && setConfirmationTarget(Object.freeze({ ...target }))}
|
|
81
|
-
>
|
|
82
|
-
Request activation
|
|
83
|
-
</button>
|
|
84
|
-
</div>
|
|
85
|
-
) : null}
|
|
86
|
-
|
|
87
|
-
{confirmationTarget !== undefined ? (
|
|
88
|
-
<div className="rounded border border-doom-accent p-3">
|
|
89
|
-
<strong>Confirm computer control</strong>
|
|
90
|
-
<p className="my-2 text-doom-text">
|
|
91
|
-
{text(confirmationTarget.applicationName, 'Application')}:{' '}
|
|
92
|
-
{text(confirmationTarget.windowTitle, text(confirmationTarget.windowId, 'Window'))}
|
|
93
|
-
</p>
|
|
94
|
-
<p className="my-2 text-doom-faint">Confirm a 5 minute session for this exact application window.</p>
|
|
95
|
-
<div className="flex gap-2">
|
|
96
|
-
<button type="button" className="rounded bg-doom-accent px-2 py-1" onClick={() => void confirm()}>
|
|
97
|
-
Confirm
|
|
98
|
-
</button>
|
|
99
|
-
<button
|
|
100
|
-
type="button"
|
|
101
|
-
className="rounded bg-doom-panel px-2 py-1"
|
|
102
|
-
onClick={() => setConfirmationTarget(undefined)}
|
|
103
|
-
>
|
|
104
|
-
Cancel
|
|
105
|
-
</button>
|
|
106
|
-
</div>
|
|
107
|
-
</div>
|
|
108
|
-
) : null}
|
|
109
|
-
|
|
110
|
-
{state.phase === 'awaiting_confirmation' || state.phase === 'activating' ? (
|
|
111
|
-
<p>Desktop activation is pending.</p>
|
|
112
|
-
) : null}
|
|
113
|
-
{state.phase === 'active' || state.phase === 'stopping' ? (
|
|
114
|
-
<button
|
|
115
|
-
type="button"
|
|
116
|
-
disabled={state.phase === 'stopping'}
|
|
117
|
-
className="rounded bg-doom-panel px-2 py-1"
|
|
118
|
-
onClick={() => send({ action: 'stop' })}
|
|
119
|
-
>
|
|
120
|
-
Stop computer use
|
|
121
|
-
</button>
|
|
122
|
-
) : null}
|
|
123
|
-
{artifact ? (
|
|
124
|
-
<div data-testid="computer-use-artifact" className="rounded bg-doom-panel p-2">
|
|
125
|
-
<strong>Completed artifact</strong>
|
|
126
|
-
<p>ID: {artifact.artifactId}</p>
|
|
127
|
-
<p>Status: {artifact.status}</p>
|
|
128
|
-
{artifact.completedAt ? <p>Completed: {artifact.completedAt}</p> : null}
|
|
129
|
-
{artifact.actionCount !== undefined ? <p>Actions: {artifact.actionCount}</p> : null}
|
|
130
|
-
{artifact.previewUrl ? <a href={artifact.previewUrl}>Preview</a> : null}
|
|
131
|
-
{artifact.downloadUrl ? <a href={artifact.downloadUrl}>Download</a> : null}
|
|
132
|
-
</div>
|
|
133
|
-
) : null}
|
|
134
|
-
</div>
|
|
135
|
-
);
|
|
136
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import type { MessageLine } from '@agimon-ai/doompi-web-components';
|
|
2
|
-
import { type ToolResultView, toolResultTextLines } from '@agimon-ai/doompi-web-contracts';
|
|
3
|
-
|
|
4
|
-
export const computerActionToolName = 'computer_action' as const;
|
|
5
|
-
export const computerActionCollapsedLines = 8;
|
|
6
|
-
|
|
7
|
-
export function computerActionCallSummary(args: Readonly<Record<string, unknown>>): string {
|
|
8
|
-
const kind = typeof args.kind === 'string' ? args.kind : '';
|
|
9
|
-
const ref = typeof args.elementRef === 'string' ? args.elementRef : '';
|
|
10
|
-
return [kind, ref].filter(Boolean).join(' ');
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* The body as toned lines: what the result's details say, or its text. Pure,
|
|
15
|
-
* so a unit test can pin it without a DOM; the item decides how many to show.
|
|
16
|
-
*/
|
|
17
|
-
export function computerActionResultLines(result: ToolResultView | null): MessageLine[] {
|
|
18
|
-
if (result === null) return [];
|
|
19
|
-
return toolResultTextLines(result.content).map((text) => ({ text, tone: 'dim' }));
|
|
20
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { MessageLine } from '@agimon-ai/doompi-web-components';
|
|
2
|
-
import { type ToolResultView, toolResultTextLines } from '@agimon-ai/doompi-web-contracts';
|
|
3
|
-
|
|
4
|
-
export const computerStateToolName = 'computer_state' as const;
|
|
5
|
-
export const computerStateCollapsedLines = 8;
|
|
6
|
-
|
|
7
|
-
export function computerStateCallSummary(_args: Readonly<Record<string, unknown>>): string {
|
|
8
|
-
return 'authorized window';
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* The body as toned lines: what the result's details say, or its text. Pure,
|
|
13
|
-
* so a unit test can pin it without a DOM; the item decides how many to show.
|
|
14
|
-
*/
|
|
15
|
-
export function computerStateResultLines(result: ToolResultView | null): MessageLine[] {
|
|
16
|
-
if (result === null) return [];
|
|
17
|
-
return toolResultTextLines(result.content).map((text) => ({ text, tone: 'dim' }));
|
|
18
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { defineSessionStore } from '@agimon-ai/doompi-web-contracts';
|
|
2
|
-
import { computerUseChannelType } from '../types/computerUseApi.ts';
|
|
3
|
-
import type { ComputerUseChannelPayload } from '../types/computerUseApi.ts';
|
|
4
|
-
|
|
5
|
-
export interface ComputerUseSession extends ComputerUseChannelPayload {}
|
|
6
|
-
|
|
7
|
-
const initialState: ComputerUseSession = {
|
|
8
|
-
state: { sessionId: '', revision: 0, wake: 0, phase: 'inactive' },
|
|
9
|
-
targets: [],
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
export const computerUse = defineSessionStore<ComputerUseSession>(initialState);
|
|
13
|
-
|
|
14
|
-
function isRecord(value: unknown): value is Record<string, unknown> {
|
|
15
|
-
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export const computerUseChannel = computerUse.channel<ComputerUseChannelPayload>({
|
|
19
|
-
channel: computerUseChannelType,
|
|
20
|
-
parse(input) {
|
|
21
|
-
if (!isRecord(input) || !isRecord(input.state) || !Array.isArray(input.targets)) return null;
|
|
22
|
-
if (typeof input.state.phase !== 'string' || typeof input.state.revision !== 'number') return null;
|
|
23
|
-
return input as unknown as ComputerUseChannelPayload;
|
|
24
|
-
},
|
|
25
|
-
reduce: (_current, payload) => payload,
|
|
26
|
-
});
|
package/src/web/index.ts
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { defineWebPlugin } from '@agimon-ai/doompi-web-contracts';
|
|
2
|
-
import {
|
|
3
|
-
COMPUTER_USE_MODE_ID,
|
|
4
|
-
COMPUTER_USE_MODE_STATUS_KEY,
|
|
5
|
-
COMPUTER_USE_STATUS_KEY,
|
|
6
|
-
} from '../types/computerUseApi.ts';
|
|
7
|
-
import { ComputerActionToolCard } from './ComputerActionToolCard.tsx';
|
|
8
|
-
import { computerActionToolName } from './computerActionToolRender.ts';
|
|
9
|
-
import { ComputerStateToolCard } from './ComputerStateToolCard.tsx';
|
|
10
|
-
import { computerStateToolName } from './computerStateToolRender.ts';
|
|
11
|
-
import { ComputerUsePanel } from './ComputerUsePanel.tsx';
|
|
12
|
-
import { computerUseChannel } from './computerUseStore.ts';
|
|
13
|
-
|
|
14
|
-
export const webPlugin = defineWebPlugin({
|
|
15
|
-
id: 'computer-use',
|
|
16
|
-
minorModes: [
|
|
17
|
-
{
|
|
18
|
-
name: 'computer use',
|
|
19
|
-
modeId: COMPUTER_USE_MODE_ID,
|
|
20
|
-
keys: 'c e',
|
|
21
|
-
statusKey: COMPUTER_USE_MODE_STATUS_KEY,
|
|
22
|
-
order: 70,
|
|
23
|
-
},
|
|
24
|
-
],
|
|
25
|
-
activityGroups: [
|
|
26
|
-
{
|
|
27
|
-
name: 'computer-use',
|
|
28
|
-
keys: 'c e',
|
|
29
|
-
order: 70,
|
|
30
|
-
statusKey: COMPUTER_USE_STATUS_KEY,
|
|
31
|
-
hideWhenEmpty: true,
|
|
32
|
-
marksBackgroundWork: false,
|
|
33
|
-
},
|
|
34
|
-
],
|
|
35
|
-
activitySections: [{ id: 'computer-use', component: ComputerUsePanel }],
|
|
36
|
-
channels: [computerUseChannel],
|
|
37
|
-
toolRenderers: [
|
|
38
|
-
{ tools: [computerStateToolName], message: ComputerStateToolCard },
|
|
39
|
-
{ tools: [computerActionToolName], message: ComputerActionToolCard },
|
|
40
|
-
],
|
|
41
|
-
});
|
package/src/web/tsconfig.json
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
"target": "ES2022",
|
|
4
|
-
"lib": ["ES2023", "DOM", "DOM.Iterable"],
|
|
5
|
-
"module": "ESNext",
|
|
6
|
-
"moduleResolution": "Bundler",
|
|
7
|
-
"jsx": "react-jsx",
|
|
8
|
-
"strict": true,
|
|
9
|
-
"noImplicitAny": true,
|
|
10
|
-
"noUnusedLocals": true,
|
|
11
|
-
"noUnusedParameters": true,
|
|
12
|
-
"noImplicitReturns": true,
|
|
13
|
-
"noFallthroughCasesInSwitch": true,
|
|
14
|
-
"noEmit": true,
|
|
15
|
-
"resolveJsonModule": true,
|
|
16
|
-
"esModuleInterop": true,
|
|
17
|
-
"skipLibCheck": true,
|
|
18
|
-
"allowImportingTsExtensions": true,
|
|
19
|
-
"forceConsistentCasingInFileNames": true
|
|
20
|
-
},
|
|
21
|
-
"include": [
|
|
22
|
-
".",
|
|
23
|
-
"../types/computerUse.ts",
|
|
24
|
-
"../types/computerUseApi.ts",
|
|
25
|
-
"../exports/webClient.ts",
|
|
26
|
-
"../../tests/web"
|
|
27
|
-
]
|
|
28
|
-
}
|