@yjjeong/omg 0.1.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/CHANGELOG.md +85 -0
- package/LICENSE +21 -0
- package/README.md +153 -0
- package/dist/cli/args.d.ts +39 -0
- package/dist/cli/args.d.ts.map +1 -0
- package/dist/cli/args.js +129 -0
- package/dist/cli/args.js.map +1 -0
- package/dist/cli/autoCommit.d.ts +20 -0
- package/dist/cli/autoCommit.d.ts.map +1 -0
- package/dist/cli/autoCommit.js +121 -0
- package/dist/cli/autoCommit.js.map +1 -0
- package/dist/cli/bgTasks.d.ts +57 -0
- package/dist/cli/bgTasks.d.ts.map +1 -0
- package/dist/cli/bgTasks.js +193 -0
- package/dist/cli/bgTasks.js.map +1 -0
- package/dist/cli/compactor.d.ts +48 -0
- package/dist/cli/compactor.d.ts.map +1 -0
- package/dist/cli/compactor.js +73 -0
- package/dist/cli/compactor.js.map +1 -0
- package/dist/cli/doctor.d.ts +77 -0
- package/dist/cli/doctor.d.ts.map +1 -0
- package/dist/cli/doctor.js +279 -0
- package/dist/cli/doctor.js.map +1 -0
- package/dist/cli/gitStatus.d.ts +7 -0
- package/dist/cli/gitStatus.d.ts.map +1 -0
- package/dist/cli/gitStatus.js +70 -0
- package/dist/cli/gitStatus.js.map +1 -0
- package/dist/cli/handoff.d.ts +36 -0
- package/dist/cli/handoff.d.ts.map +1 -0
- package/dist/cli/handoff.js +60 -0
- package/dist/cli/handoff.js.map +1 -0
- package/dist/cli/interactive/brokers.d.ts +31 -0
- package/dist/cli/interactive/brokers.d.ts.map +1 -0
- package/dist/cli/interactive/brokers.js +259 -0
- package/dist/cli/interactive/brokers.js.map +1 -0
- package/dist/cli/interactive/index.d.ts +8 -0
- package/dist/cli/interactive/index.d.ts.map +1 -0
- package/dist/cli/interactive/index.js +731 -0
- package/dist/cli/interactive/index.js.map +1 -0
- package/dist/cli/interactive/proxyQuestions.d.ts +15 -0
- package/dist/cli/interactive/proxyQuestions.d.ts.map +1 -0
- package/dist/cli/interactive/proxyQuestions.js +48 -0
- package/dist/cli/interactive/proxyQuestions.js.map +1 -0
- package/dist/cli/interactive/tabManager.d.ts +32 -0
- package/dist/cli/interactive/tabManager.d.ts.map +1 -0
- package/dist/cli/interactive/tabManager.js +244 -0
- package/dist/cli/interactive/tabManager.js.map +1 -0
- package/dist/cli/interactive/teamHint.d.ts +2 -0
- package/dist/cli/interactive/teamHint.d.ts.map +1 -0
- package/dist/cli/interactive/teamHint.js +14 -0
- package/dist/cli/interactive/teamHint.js.map +1 -0
- package/dist/cli/login.d.ts +13 -0
- package/dist/cli/login.d.ts.map +1 -0
- package/dist/cli/login.js +53 -0
- package/dist/cli/login.js.map +1 -0
- package/dist/cli/modes/demo.d.ts +12 -0
- package/dist/cli/modes/demo.d.ts.map +1 -0
- package/dist/cli/modes/demo.js +48 -0
- package/dist/cli/modes/demo.js.map +1 -0
- package/dist/cli/modes/doctor.d.ts +28 -0
- package/dist/cli/modes/doctor.d.ts.map +1 -0
- package/dist/cli/modes/doctor.js +79 -0
- package/dist/cli/modes/doctor.js.map +1 -0
- package/dist/cli/modes/login.d.ts +5 -0
- package/dist/cli/modes/login.d.ts.map +1 -0
- package/dist/cli/modes/login.js +40 -0
- package/dist/cli/modes/login.js.map +1 -0
- package/dist/cli/modes/mcpServe.d.ts +9 -0
- package/dist/cli/modes/mcpServe.d.ts.map +1 -0
- package/dist/cli/modes/mcpServe.js +112 -0
- package/dist/cli/modes/mcpServe.js.map +1 -0
- package/dist/cli/modes/orchestrator.d.ts +14 -0
- package/dist/cli/modes/orchestrator.d.ts.map +1 -0
- package/dist/cli/modes/orchestrator.js +64 -0
- package/dist/cli/modes/orchestrator.js.map +1 -0
- package/dist/cli/modes/team.d.ts +14 -0
- package/dist/cli/modes/team.d.ts.map +1 -0
- package/dist/cli/modes/team.js +87 -0
- package/dist/cli/modes/team.js.map +1 -0
- package/dist/cli/registry.d.ts +3 -0
- package/dist/cli/registry.d.ts.map +1 -0
- package/dist/cli/registry.js +15 -0
- package/dist/cli/registry.js.map +1 -0
- package/dist/cli/slash/core.d.ts +3 -0
- package/dist/cli/slash/core.d.ts.map +1 -0
- package/dist/cli/slash/core.js +509 -0
- package/dist/cli/slash/core.js.map +1 -0
- package/dist/cli/slash/index.d.ts +3 -0
- package/dist/cli/slash/index.d.ts.map +1 -0
- package/dist/cli/slash/index.js +28 -0
- package/dist/cli/slash/index.js.map +1 -0
- package/dist/cli/slash/modes.d.ts +3 -0
- package/dist/cli/slash/modes.d.ts.map +1 -0
- package/dist/cli/slash/modes.js +530 -0
- package/dist/cli/slash/modes.js.map +1 -0
- package/dist/cli/slash/session.d.ts +3 -0
- package/dist/cli/slash/session.d.ts.map +1 -0
- package/dist/cli/slash/session.js +376 -0
- package/dist/cli/slash/session.js.map +1 -0
- package/dist/cli/slash/shared.d.ts +43 -0
- package/dist/cli/slash/shared.d.ts.map +1 -0
- package/dist/cli/slash/shared.js +6 -0
- package/dist/cli/slash/shared.js.map +1 -0
- package/dist/cli/slash/tabs.d.ts +3 -0
- package/dist/cli/slash/tabs.d.ts.map +1 -0
- package/dist/cli/slash/tabs.js +497 -0
- package/dist/cli/slash/tabs.js.map +1 -0
- package/dist/cli/slash/team.d.ts +3 -0
- package/dist/cli/slash/team.d.ts.map +1 -0
- package/dist/cli/slash/team.js +85 -0
- package/dist/cli/slash/team.js.map +1 -0
- package/dist/cli/slash.d.ts +3 -0
- package/dist/cli/slash.d.ts.map +1 -0
- package/dist/cli/slash.js +8 -0
- package/dist/cli/slash.js.map +1 -0
- package/dist/cli/teamPipeline.d.ts +42 -0
- package/dist/cli/teamPipeline.d.ts.map +1 -0
- package/dist/cli/teamPipeline.js +406 -0
- package/dist/cli/teamPipeline.js.map +1 -0
- package/dist/cli/touchedFiles.d.ts +14 -0
- package/dist/cli/touchedFiles.d.ts.map +1 -0
- package/dist/cli/touchedFiles.js +66 -0
- package/dist/cli/touchedFiles.js.map +1 -0
- package/dist/cli/turn.d.ts +47 -0
- package/dist/cli/turn.d.ts.map +1 -0
- package/dist/cli/turn.js +626 -0
- package/dist/cli/turn.js.map +1 -0
- package/dist/cli/types.d.ts +47 -0
- package/dist/cli/types.d.ts.map +1 -0
- package/dist/cli/types.js +5 -0
- package/dist/cli/types.js.map +1 -0
- package/dist/cli/uiSession.d.ts +10 -0
- package/dist/cli/uiSession.d.ts.map +1 -0
- package/dist/cli/uiSession.js +66 -0
- package/dist/cli/uiSession.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +128 -0
- package/dist/cli.js.map +1 -0
- package/dist/core/adapter.d.ts +47 -0
- package/dist/core/adapter.d.ts.map +1 -0
- package/dist/core/adapter.js +48 -0
- package/dist/core/adapter.js.map +1 -0
- package/dist/core/adapters/anthropic.d.ts +35 -0
- package/dist/core/adapters/anthropic.d.ts.map +1 -0
- package/dist/core/adapters/anthropic.js +203 -0
- package/dist/core/adapters/anthropic.js.map +1 -0
- package/dist/core/adapters/claudeCli.d.ts +126 -0
- package/dist/core/adapters/claudeCli.d.ts.map +1 -0
- package/dist/core/adapters/claudeCli.js +584 -0
- package/dist/core/adapters/claudeCli.js.map +1 -0
- package/dist/core/adapters/cliAdapterBase.d.ts +48 -0
- package/dist/core/adapters/cliAdapterBase.d.ts.map +1 -0
- package/dist/core/adapters/cliAdapterBase.js +105 -0
- package/dist/core/adapters/cliAdapterBase.js.map +1 -0
- package/dist/core/adapters/cliStderr.d.ts +35 -0
- package/dist/core/adapters/cliStderr.d.ts.map +1 -0
- package/dist/core/adapters/cliStderr.js +87 -0
- package/dist/core/adapters/cliStderr.js.map +1 -0
- package/dist/core/adapters/codexCli.d.ts +113 -0
- package/dist/core/adapters/codexCli.d.ts.map +1 -0
- package/dist/core/adapters/codexCli.js +424 -0
- package/dist/core/adapters/codexCli.js.map +1 -0
- package/dist/core/adapters/gemini.d.ts +17 -0
- package/dist/core/adapters/gemini.d.ts.map +1 -0
- package/dist/core/adapters/gemini.js +133 -0
- package/dist/core/adapters/gemini.js.map +1 -0
- package/dist/core/adapters/geminiCli.d.ts +91 -0
- package/dist/core/adapters/geminiCli.d.ts.map +1 -0
- package/dist/core/adapters/geminiCli.js +276 -0
- package/dist/core/adapters/geminiCli.js.map +1 -0
- package/dist/core/adapters/nudges.d.ts +21 -0
- package/dist/core/adapters/nudges.d.ts.map +1 -0
- package/dist/core/adapters/nudges.js +75 -0
- package/dist/core/adapters/nudges.js.map +1 -0
- package/dist/core/adapters/openai.d.ts +17 -0
- package/dist/core/adapters/openai.d.ts.map +1 -0
- package/dist/core/adapters/openai.js +138 -0
- package/dist/core/adapters/openai.js.map +1 -0
- package/dist/core/adapters/parseFailures.d.ts +10 -0
- package/dist/core/adapters/parseFailures.d.ts.map +1 -0
- package/dist/core/adapters/parseFailures.js +35 -0
- package/dist/core/adapters/parseFailures.js.map +1 -0
- package/dist/core/adapters/utils.d.ts +11 -0
- package/dist/core/adapters/utils.d.ts.map +1 -0
- package/dist/core/adapters/utils.js +33 -0
- package/dist/core/adapters/utils.js.map +1 -0
- package/dist/core/askBroker.d.ts +11 -0
- package/dist/core/askBroker.d.ts.map +1 -0
- package/dist/core/askBroker.js +78 -0
- package/dist/core/askBroker.js.map +1 -0
- package/dist/core/atomicWrite.d.ts +5 -0
- package/dist/core/atomicWrite.d.ts.map +1 -0
- package/dist/core/atomicWrite.js +18 -0
- package/dist/core/atomicWrite.js.map +1 -0
- package/dist/core/brokers/askBroker.d.ts +11 -0
- package/dist/core/brokers/askBroker.d.ts.map +1 -0
- package/dist/core/brokers/askBroker.js +78 -0
- package/dist/core/brokers/askBroker.js.map +1 -0
- package/dist/core/brokers/permissionBroker.d.ts +7 -0
- package/dist/core/brokers/permissionBroker.d.ts.map +1 -0
- package/dist/core/brokers/permissionBroker.js +63 -0
- package/dist/core/brokers/permissionBroker.js.map +1 -0
- package/dist/core/brokers/socketBroker.d.ts +35 -0
- package/dist/core/brokers/socketBroker.d.ts.map +1 -0
- package/dist/core/brokers/socketBroker.js +74 -0
- package/dist/core/brokers/socketBroker.js.map +1 -0
- package/dist/core/clipboard.d.ts +4 -0
- package/dist/core/clipboard.d.ts.map +1 -0
- package/dist/core/clipboard.js +46 -0
- package/dist/core/clipboard.js.map +1 -0
- package/dist/core/compactor.d.ts +32 -0
- package/dist/core/compactor.d.ts.map +1 -0
- package/dist/core/compactor.js +91 -0
- package/dist/core/compactor.js.map +1 -0
- package/dist/core/consensusEngine.d.ts +21 -0
- package/dist/core/consensusEngine.d.ts.map +1 -0
- package/dist/core/consensusEngine.js +116 -0
- package/dist/core/consensusEngine.js.map +1 -0
- package/dist/core/context/contextCompressor.d.ts +10 -0
- package/dist/core/context/contextCompressor.d.ts.map +1 -0
- package/dist/core/context/contextCompressor.js +54 -0
- package/dist/core/context/contextCompressor.js.map +1 -0
- package/dist/core/context/contextWindows.d.ts +25 -0
- package/dist/core/context/contextWindows.d.ts.map +1 -0
- package/dist/core/context/contextWindows.js +101 -0
- package/dist/core/context/contextWindows.js.map +1 -0
- package/dist/core/context/summarizer.d.ts +65 -0
- package/dist/core/context/summarizer.d.ts.map +1 -0
- package/dist/core/context/summarizer.js +184 -0
- package/dist/core/context/summarizer.js.map +1 -0
- package/dist/core/context/usageCache.d.ts +19 -0
- package/dist/core/context/usageCache.d.ts.map +1 -0
- package/dist/core/context/usageCache.js +157 -0
- package/dist/core/context/usageCache.js.map +1 -0
- package/dist/core/context/usageWindow.d.ts +19 -0
- package/dist/core/context/usageWindow.d.ts.map +1 -0
- package/dist/core/context/usageWindow.js +73 -0
- package/dist/core/context/usageWindow.js.map +1 -0
- package/dist/core/contextCompressor.d.ts +10 -0
- package/dist/core/contextCompressor.d.ts.map +1 -0
- package/dist/core/contextCompressor.js +54 -0
- package/dist/core/contextCompressor.js.map +1 -0
- package/dist/core/contextWindows.d.ts +5 -0
- package/dist/core/contextWindows.d.ts.map +1 -0
- package/dist/core/contextWindows.js +60 -0
- package/dist/core/contextWindows.js.map +1 -0
- package/dist/core/continuum/digest.d.ts +35 -0
- package/dist/core/continuum/digest.d.ts.map +1 -0
- package/dist/core/continuum/digest.js +91 -0
- package/dist/core/continuum/digest.js.map +1 -0
- package/dist/core/continuum/index.d.ts +6 -0
- package/dist/core/continuum/index.d.ts.map +1 -0
- package/dist/core/continuum/index.js +7 -0
- package/dist/core/continuum/index.js.map +1 -0
- package/dist/core/continuum/inject.d.ts +9 -0
- package/dist/core/continuum/inject.d.ts.map +1 -0
- package/dist/core/continuum/inject.js +78 -0
- package/dist/core/continuum/inject.js.map +1 -0
- package/dist/core/continuum/projectId.d.ts +10 -0
- package/dist/core/continuum/projectId.d.ts.map +1 -0
- package/dist/core/continuum/projectId.js +60 -0
- package/dist/core/continuum/projectId.js.map +1 -0
- package/dist/core/continuum/store.d.ts +24 -0
- package/dist/core/continuum/store.d.ts.map +1 -0
- package/dist/core/continuum/store.js +144 -0
- package/dist/core/continuum/store.js.map +1 -0
- package/dist/core/continuum/types.d.ts +87 -0
- package/dist/core/continuum/types.d.ts.map +1 -0
- package/dist/core/continuum/types.js +9 -0
- package/dist/core/continuum/types.js.map +1 -0
- package/dist/core/dag.d.ts +21 -0
- package/dist/core/dag.d.ts.map +1 -0
- package/dist/core/dag.js +71 -0
- package/dist/core/dag.js.map +1 -0
- package/dist/core/director.d.ts +11 -0
- package/dist/core/director.d.ts.map +1 -0
- package/dist/core/director.js +37 -0
- package/dist/core/director.js.map +1 -0
- package/dist/core/hookedToolBroker.d.ts +25 -0
- package/dist/core/hookedToolBroker.d.ts.map +1 -0
- package/dist/core/hookedToolBroker.js +95 -0
- package/dist/core/hookedToolBroker.js.map +1 -0
- package/dist/core/langHint.d.ts +9 -0
- package/dist/core/langHint.d.ts.map +1 -0
- package/dist/core/langHint.js +33 -0
- package/dist/core/langHint.js.map +1 -0
- package/dist/core/mcp/mcpClient.d.ts +42 -0
- package/dist/core/mcp/mcpClient.d.ts.map +1 -0
- package/dist/core/mcp/mcpClient.js +134 -0
- package/dist/core/mcp/mcpClient.js.map +1 -0
- package/dist/core/mcp/mcpConfig.d.ts +58 -0
- package/dist/core/mcp/mcpConfig.d.ts.map +1 -0
- package/dist/core/mcp/mcpConfig.js +148 -0
- package/dist/core/mcp/mcpConfig.js.map +1 -0
- package/dist/core/mcp/mcpManager.d.ts +31 -0
- package/dist/core/mcp/mcpManager.d.ts.map +1 -0
- package/dist/core/mcp/mcpManager.js +83 -0
- package/dist/core/mcp/mcpManager.js.map +1 -0
- package/dist/core/mcpClient.d.ts +42 -0
- package/dist/core/mcpClient.d.ts.map +1 -0
- package/dist/core/mcpClient.js +134 -0
- package/dist/core/mcpClient.js.map +1 -0
- package/dist/core/mcpConfig.d.ts +24 -0
- package/dist/core/mcpConfig.d.ts.map +1 -0
- package/dist/core/mcpConfig.js +74 -0
- package/dist/core/mcpConfig.js.map +1 -0
- package/dist/core/mcpManager.d.ts +31 -0
- package/dist/core/mcpManager.d.ts.map +1 -0
- package/dist/core/mcpManager.js +83 -0
- package/dist/core/mcpManager.js.map +1 -0
- package/dist/core/memory.d.ts +22 -0
- package/dist/core/memory.d.ts.map +1 -0
- package/dist/core/memory.js +102 -0
- package/dist/core/memory.js.map +1 -0
- package/dist/core/omgToolManifest.d.ts +34 -0
- package/dist/core/omgToolManifest.d.ts.map +1 -0
- package/dist/core/omgToolManifest.js +59 -0
- package/dist/core/omgToolManifest.js.map +1 -0
- package/dist/core/orchestration/consensusEngine.d.ts +21 -0
- package/dist/core/orchestration/consensusEngine.d.ts.map +1 -0
- package/dist/core/orchestration/consensusEngine.js +116 -0
- package/dist/core/orchestration/consensusEngine.js.map +1 -0
- package/dist/core/orchestration/dag.d.ts +21 -0
- package/dist/core/orchestration/dag.d.ts.map +1 -0
- package/dist/core/orchestration/dag.js +71 -0
- package/dist/core/orchestration/dag.js.map +1 -0
- package/dist/core/orchestration/director.d.ts +11 -0
- package/dist/core/orchestration/director.d.ts.map +1 -0
- package/dist/core/orchestration/director.js +37 -0
- package/dist/core/orchestration/director.js.map +1 -0
- package/dist/core/orchestration/orchestrator.d.ts +32 -0
- package/dist/core/orchestration/orchestrator.d.ts.map +1 -0
- package/dist/core/orchestration/orchestrator.js +214 -0
- package/dist/core/orchestration/orchestrator.js.map +1 -0
- package/dist/core/orchestration/roleRouter.d.ts +28 -0
- package/dist/core/orchestration/roleRouter.d.ts.map +1 -0
- package/dist/core/orchestration/roleRouter.js +64 -0
- package/dist/core/orchestration/roleRouter.js.map +1 -0
- package/dist/core/orchestration/teamRunner.d.ts +69 -0
- package/dist/core/orchestration/teamRunner.d.ts.map +1 -0
- package/dist/core/orchestration/teamRunner.js +477 -0
- package/dist/core/orchestration/teamRunner.js.map +1 -0
- package/dist/core/orchestration/types.d.ts +115 -0
- package/dist/core/orchestration/types.d.ts.map +1 -0
- package/dist/core/orchestration/types.js +71 -0
- package/dist/core/orchestration/types.js.map +1 -0
- package/dist/core/orchestrator.d.ts +32 -0
- package/dist/core/orchestrator.d.ts.map +1 -0
- package/dist/core/orchestrator.js +214 -0
- package/dist/core/orchestrator.js.map +1 -0
- package/dist/core/permissionBroker.d.ts +7 -0
- package/dist/core/permissionBroker.d.ts.map +1 -0
- package/dist/core/permissionBroker.js +63 -0
- package/dist/core/permissionBroker.js.map +1 -0
- package/dist/core/planConfig.d.ts +15 -0
- package/dist/core/planConfig.d.ts.map +1 -0
- package/dist/core/planConfig.js +98 -0
- package/dist/core/planConfig.js.map +1 -0
- package/dist/core/presetPersistence.d.ts +4 -0
- package/dist/core/presetPersistence.d.ts.map +1 -0
- package/dist/core/presetPersistence.js +64 -0
- package/dist/core/presetPersistence.js.map +1 -0
- package/dist/core/roleRouter.d.ts +26 -0
- package/dist/core/roleRouter.d.ts.map +1 -0
- package/dist/core/roleRouter.js +62 -0
- package/dist/core/roleRouter.js.map +1 -0
- package/dist/core/sessionList.d.ts +26 -0
- package/dist/core/sessionList.d.ts.map +1 -0
- package/dist/core/sessionList.js +278 -0
- package/dist/core/sessionList.js.map +1 -0
- package/dist/core/slugify.d.ts +2 -0
- package/dist/core/slugify.d.ts.map +1 -0
- package/dist/core/slugify.js +17 -0
- package/dist/core/slugify.js.map +1 -0
- package/dist/core/socketBroker.d.ts +19 -0
- package/dist/core/socketBroker.d.ts.map +1 -0
- package/dist/core/socketBroker.js +48 -0
- package/dist/core/socketBroker.js.map +1 -0
- package/dist/core/state/agentsMdScaffold.d.ts +15 -0
- package/dist/core/state/agentsMdScaffold.d.ts.map +1 -0
- package/dist/core/state/agentsMdScaffold.js +118 -0
- package/dist/core/state/agentsMdScaffold.js.map +1 -0
- package/dist/core/state/atomicWrite.d.ts +5 -0
- package/dist/core/state/atomicWrite.d.ts.map +1 -0
- package/dist/core/state/atomicWrite.js +18 -0
- package/dist/core/state/atomicWrite.js.map +1 -0
- package/dist/core/state/handoff.d.ts +20 -0
- package/dist/core/state/handoff.d.ts.map +1 -0
- package/dist/core/state/handoff.js +71 -0
- package/dist/core/state/handoff.js.map +1 -0
- package/dist/core/state/mcpCatalog.d.ts +11 -0
- package/dist/core/state/mcpCatalog.d.ts.map +1 -0
- package/dist/core/state/mcpCatalog.js +51 -0
- package/dist/core/state/mcpCatalog.js.map +1 -0
- package/dist/core/state/mcpRecommendations.d.ts +7 -0
- package/dist/core/state/mcpRecommendations.d.ts.map +1 -0
- package/dist/core/state/mcpRecommendations.js +57 -0
- package/dist/core/state/mcpRecommendations.js.map +1 -0
- package/dist/core/state/memory.d.ts +22 -0
- package/dist/core/state/memory.d.ts.map +1 -0
- package/dist/core/state/memory.js +102 -0
- package/dist/core/state/memory.js.map +1 -0
- package/dist/core/state/planConfig.d.ts +15 -0
- package/dist/core/state/planConfig.d.ts.map +1 -0
- package/dist/core/state/planConfig.js +98 -0
- package/dist/core/state/planConfig.js.map +1 -0
- package/dist/core/state/presetPersistence.d.ts +4 -0
- package/dist/core/state/presetPersistence.d.ts.map +1 -0
- package/dist/core/state/presetPersistence.js +67 -0
- package/dist/core/state/presetPersistence.js.map +1 -0
- package/dist/core/state/sessionList.d.ts +26 -0
- package/dist/core/state/sessionList.d.ts.map +1 -0
- package/dist/core/state/sessionList.js +278 -0
- package/dist/core/state/sessionList.js.map +1 -0
- package/dist/core/state/stackDetect.d.ts +8 -0
- package/dist/core/state/stackDetect.d.ts.map +1 -0
- package/dist/core/state/stackDetect.js +40 -0
- package/dist/core/state/stackDetect.js.map +1 -0
- package/dist/core/state/tabPersistence.d.ts +29 -0
- package/dist/core/state/tabPersistence.d.ts.map +1 -0
- package/dist/core/state/tabPersistence.js +65 -0
- package/dist/core/state/tabPersistence.js.map +1 -0
- package/dist/core/tabPersistence.d.ts +29 -0
- package/dist/core/tabPersistence.d.ts.map +1 -0
- package/dist/core/tabPersistence.js +65 -0
- package/dist/core/tabPersistence.js.map +1 -0
- package/dist/core/teamRunner.d.ts +42 -0
- package/dist/core/teamRunner.d.ts.map +1 -0
- package/dist/core/teamRunner.js +248 -0
- package/dist/core/teamRunner.js.map +1 -0
- package/dist/core/toolGate.d.ts +23 -0
- package/dist/core/toolGate.d.ts.map +1 -0
- package/dist/core/toolGate.js +51 -0
- package/dist/core/toolGate.js.map +1 -0
- package/dist/core/toolInterceptor.d.ts +7 -0
- package/dist/core/toolInterceptor.d.ts.map +1 -0
- package/dist/core/toolInterceptor.js +108 -0
- package/dist/core/toolInterceptor.js.map +1 -0
- package/dist/core/tools/hookedToolBroker.d.ts +25 -0
- package/dist/core/tools/hookedToolBroker.d.ts.map +1 -0
- package/dist/core/tools/hookedToolBroker.js +95 -0
- package/dist/core/tools/hookedToolBroker.js.map +1 -0
- package/dist/core/tools/omgToolManifest.d.ts +42 -0
- package/dist/core/tools/omgToolManifest.d.ts.map +1 -0
- package/dist/core/tools/omgToolManifest.js +66 -0
- package/dist/core/tools/omgToolManifest.js.map +1 -0
- package/dist/core/tools/toolGate.d.ts +23 -0
- package/dist/core/tools/toolGate.d.ts.map +1 -0
- package/dist/core/tools/toolGate.js +51 -0
- package/dist/core/tools/toolGate.js.map +1 -0
- package/dist/core/tools/toolInterceptor.d.ts +7 -0
- package/dist/core/tools/toolInterceptor.d.ts.map +1 -0
- package/dist/core/tools/toolInterceptor.js +108 -0
- package/dist/core/tools/toolInterceptor.js.map +1 -0
- package/dist/core/tools/tools.d.ts +34 -0
- package/dist/core/tools/tools.d.ts.map +1 -0
- package/dist/core/tools/tools.js +328 -0
- package/dist/core/tools/tools.js.map +1 -0
- package/dist/core/tools.d.ts +34 -0
- package/dist/core/tools.d.ts.map +1 -0
- package/dist/core/tools.js +300 -0
- package/dist/core/tools.js.map +1 -0
- package/dist/core/types.d.ts +107 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +55 -0
- package/dist/core/types.js.map +1 -0
- package/dist/core/usageCache.d.ts +19 -0
- package/dist/core/usageCache.d.ts.map +1 -0
- package/dist/core/usageCache.js +157 -0
- package/dist/core/usageCache.js.map +1 -0
- package/dist/core/usageWindow.d.ts +19 -0
- package/dist/core/usageWindow.d.ts.map +1 -0
- package/dist/core/usageWindow.js +73 -0
- package/dist/core/usageWindow.js.map +1 -0
- package/dist/core/util/bgProtocol.d.ts +5 -0
- package/dist/core/util/bgProtocol.d.ts.map +1 -0
- package/dist/core/util/bgProtocol.js +20 -0
- package/dist/core/util/bgProtocol.js.map +1 -0
- package/dist/core/util/clipboard.d.ts +4 -0
- package/dist/core/util/clipboard.d.ts.map +1 -0
- package/dist/core/util/clipboard.js +46 -0
- package/dist/core/util/clipboard.js.map +1 -0
- package/dist/core/util/clipboardImage.d.ts +3 -0
- package/dist/core/util/clipboardImage.d.ts.map +1 -0
- package/dist/core/util/clipboardImage.js +58 -0
- package/dist/core/util/clipboardImage.js.map +1 -0
- package/dist/core/util/langHint.d.ts +9 -0
- package/dist/core/util/langHint.d.ts.map +1 -0
- package/dist/core/util/langHint.js +33 -0
- package/dist/core/util/langHint.js.map +1 -0
- package/dist/core/util/slugify.d.ts +2 -0
- package/dist/core/util/slugify.d.ts.map +1 -0
- package/dist/core/util/slugify.js +28 -0
- package/dist/core/util/slugify.js.map +1 -0
- package/dist/hooks/hookedToolProxy.mjs +118 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -0
- package/dist/ipc/dispatcher.d.ts +21 -0
- package/dist/ipc/dispatcher.d.ts.map +1 -0
- package/dist/ipc/dispatcher.js +160 -0
- package/dist/ipc/dispatcher.js.map +1 -0
- package/dist/ipc/events.d.ts +33 -0
- package/dist/ipc/events.d.ts.map +1 -0
- package/dist/ipc/events.js +42 -0
- package/dist/ipc/events.js.map +1 -0
- package/dist/ipc/rpc.d.ts +31 -0
- package/dist/ipc/rpc.d.ts.map +1 -0
- package/dist/ipc/rpc.js +110 -0
- package/dist/ipc/rpc.js.map +1 -0
- package/dist/ipc/stdio.d.ts +11 -0
- package/dist/ipc/stdio.d.ts.map +1 -0
- package/dist/ipc/stdio.js +52 -0
- package/dist/ipc/stdio.js.map +1 -0
- package/dist/mcp/askClient.d.ts +9 -0
- package/dist/mcp/askClient.d.ts.map +1 -0
- package/dist/mcp/askClient.js +70 -0
- package/dist/mcp/askClient.js.map +1 -0
- package/dist/mcp/constants.d.ts +6 -0
- package/dist/mcp/constants.d.ts.map +1 -0
- package/dist/mcp/constants.js +8 -0
- package/dist/mcp/constants.js.map +1 -0
- package/dist/mcp/permissionClient.d.ts +5 -0
- package/dist/mcp/permissionClient.d.ts.map +1 -0
- package/dist/mcp/permissionClient.js +71 -0
- package/dist/mcp/permissionClient.js.map +1 -0
- package/dist/mcp/schemas.d.ts +9 -0
- package/dist/mcp/schemas.d.ts.map +1 -0
- package/dist/mcp/schemas.js +121 -0
- package/dist/mcp/schemas.js.map +1 -0
- package/dist/mcp/server.d.ts +41 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +204 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/policy/loader.d.ts +27 -0
- package/dist/policy/loader.d.ts.map +1 -0
- package/dist/policy/loader.js +89 -0
- package/dist/policy/loader.js.map +1 -0
- package/dist/policy/team-claude-only.yaml +46 -0
- package/dist/policy/team-codex-only.yaml +46 -0
- package/dist/policy/team-codex.yaml +54 -0
- package/dist/policy/team.yaml +104 -0
- package/dist/toolhook/hookedToolProxy.mjs +118 -0
- package/dist/ui/components/App.d.ts +14 -0
- package/dist/ui/components/App.d.ts.map +1 -0
- package/dist/ui/components/App.js +803 -0
- package/dist/ui/components/App.js.map +1 -0
- package/dist/ui/components/AskPicker.d.ts +8 -0
- package/dist/ui/components/AskPicker.d.ts.map +1 -0
- package/dist/ui/components/AskPicker.js +202 -0
- package/dist/ui/components/AskPicker.js.map +1 -0
- package/dist/ui/components/CommandInput.d.ts +63 -0
- package/dist/ui/components/CommandInput.d.ts.map +1 -0
- package/dist/ui/components/CommandInput.js +994 -0
- package/dist/ui/components/CommandInput.js.map +1 -0
- package/dist/ui/components/DiffView.d.ts +19 -0
- package/dist/ui/components/DiffView.d.ts.map +1 -0
- package/dist/ui/components/DiffView.js +93 -0
- package/dist/ui/components/DiffView.js.map +1 -0
- package/dist/ui/components/Dock.d.ts +49 -0
- package/dist/ui/components/Dock.d.ts.map +1 -0
- package/dist/ui/components/Dock.js +52 -0
- package/dist/ui/components/Dock.js.map +1 -0
- package/dist/ui/components/EventLog.d.ts +42 -0
- package/dist/ui/components/EventLog.d.ts.map +1 -0
- package/dist/ui/components/EventLog.js +450 -0
- package/dist/ui/components/EventLog.js.map +1 -0
- package/dist/ui/components/FileSuggest.d.ts +8 -0
- package/dist/ui/components/FileSuggest.d.ts.map +1 -0
- package/dist/ui/components/FileSuggest.js +19 -0
- package/dist/ui/components/FileSuggest.js.map +1 -0
- package/dist/ui/components/HRule.d.ts +27 -0
- package/dist/ui/components/HRule.d.ts.map +1 -0
- package/dist/ui/components/HRule.js +75 -0
- package/dist/ui/components/HRule.js.map +1 -0
- package/dist/ui/components/HintBar.d.ts +2 -0
- package/dist/ui/components/HintBar.d.ts.map +1 -0
- package/dist/ui/components/HintBar.js +19 -0
- package/dist/ui/components/HintBar.js.map +1 -0
- package/dist/ui/components/MarkdownText.d.ts +13 -0
- package/dist/ui/components/MarkdownText.d.ts.map +1 -0
- package/dist/ui/components/MarkdownText.js +255 -0
- package/dist/ui/components/MarkdownText.js.map +1 -0
- package/dist/ui/components/PermissionPrompt.d.ts +8 -0
- package/dist/ui/components/PermissionPrompt.d.ts.map +1 -0
- package/dist/ui/components/PermissionPrompt.js +37 -0
- package/dist/ui/components/PermissionPrompt.js.map +1 -0
- package/dist/ui/components/SessionPicker.d.ts +16 -0
- package/dist/ui/components/SessionPicker.d.ts.map +1 -0
- package/dist/ui/components/SessionPicker.js +116 -0
- package/dist/ui/components/SessionPicker.js.map +1 -0
- package/dist/ui/components/SlashPalette.d.ts +8 -0
- package/dist/ui/components/SlashPalette.d.ts.map +1 -0
- package/dist/ui/components/SlashPalette.js +41 -0
- package/dist/ui/components/SlashPalette.js.map +1 -0
- package/dist/ui/components/Spinner.d.ts +37 -0
- package/dist/ui/components/Spinner.d.ts.map +1 -0
- package/dist/ui/components/Spinner.js +139 -0
- package/dist/ui/components/Spinner.js.map +1 -0
- package/dist/ui/components/StatusBar.d.ts +92 -0
- package/dist/ui/components/StatusBar.d.ts.map +1 -0
- package/dist/ui/components/StatusBar.js +268 -0
- package/dist/ui/components/StatusBar.js.map +1 -0
- package/dist/ui/components/TabChip.d.ts +11 -0
- package/dist/ui/components/TabChip.d.ts.map +1 -0
- package/dist/ui/components/TabChip.js +23 -0
- package/dist/ui/components/TabChip.js.map +1 -0
- package/dist/ui/components/TeamIndicator.d.ts +6 -0
- package/dist/ui/components/TeamIndicator.d.ts.map +1 -0
- package/dist/ui/components/TeamIndicator.js +17 -0
- package/dist/ui/components/TeamIndicator.js.map +1 -0
- package/dist/ui/components/TeamStatusPanel.d.ts +14 -0
- package/dist/ui/components/TeamStatusPanel.d.ts.map +1 -0
- package/dist/ui/components/TeamStatusPanel.js +65 -0
- package/dist/ui/components/TeamStatusPanel.js.map +1 -0
- package/dist/ui/components/ThinkingBlock.d.ts +10 -0
- package/dist/ui/components/ThinkingBlock.d.ts.map +1 -0
- package/dist/ui/components/ThinkingBlock.js +21 -0
- package/dist/ui/components/ThinkingBlock.js.map +1 -0
- package/dist/ui/components/TodoIndicator.d.ts +11 -0
- package/dist/ui/components/TodoIndicator.d.ts.map +1 -0
- package/dist/ui/components/TodoIndicator.js +37 -0
- package/dist/ui/components/TodoIndicator.js.map +1 -0
- package/dist/ui/components/ToolCallCard.d.ts +16 -0
- package/dist/ui/components/ToolCallCard.d.ts.map +1 -0
- package/dist/ui/components/ToolCallCard.js +195 -0
- package/dist/ui/components/ToolCallCard.js.map +1 -0
- package/dist/ui/components/Welcome.d.ts +8 -0
- package/dist/ui/components/Welcome.d.ts.map +1 -0
- package/dist/ui/components/Welcome.js +53 -0
- package/dist/ui/components/Welcome.js.map +1 -0
- package/dist/ui/cursorState.d.ts +29 -0
- package/dist/ui/cursorState.d.ts.map +1 -0
- package/dist/ui/cursorState.js +49 -0
- package/dist/ui/cursorState.js.map +1 -0
- package/dist/ui/diff.d.ts +34 -0
- package/dist/ui/diff.d.ts.map +1 -0
- package/dist/ui/diff.js +184 -0
- package/dist/ui/diff.js.map +1 -0
- package/dist/ui/diffLang.d.ts +2 -0
- package/dist/ui/diffLang.d.ts.map +1 -0
- package/dist/ui/diffLang.js +36 -0
- package/dist/ui/diffLang.js.map +1 -0
- package/dist/ui/emoji.d.ts +4 -0
- package/dist/ui/emoji.d.ts.map +1 -0
- package/dist/ui/emoji.js +73 -0
- package/dist/ui/emoji.js.map +1 -0
- package/dist/ui/fileMentions.d.ts +41 -0
- package/dist/ui/fileMentions.d.ts.map +1 -0
- package/dist/ui/fileMentions.js +135 -0
- package/dist/ui/fileMentions.js.map +1 -0
- package/dist/ui/hooks/useLineEditor.d.ts +44 -0
- package/dist/ui/hooks/useLineEditor.d.ts.map +1 -0
- package/dist/ui/hooks/useLineEditor.js +142 -0
- package/dist/ui/hooks/useLineEditor.js.map +1 -0
- package/dist/ui/inputHistory.d.ts +8 -0
- package/dist/ui/inputHistory.d.ts.map +1 -0
- package/dist/ui/inputHistory.js +56 -0
- package/dist/ui/inputHistory.js.map +1 -0
- package/dist/ui/jsonrpc.d.ts +17 -0
- package/dist/ui/jsonrpc.d.ts.map +1 -0
- package/dist/ui/jsonrpc.js +41 -0
- package/dist/ui/jsonrpc.js.map +1 -0
- package/dist/ui/launcher.d.ts +20 -0
- package/dist/ui/launcher.d.ts.map +1 -0
- package/dist/ui/launcher.js +185 -0
- package/dist/ui/launcher.js.map +1 -0
- package/dist/ui/markdown.d.ts +104 -0
- package/dist/ui/markdown.d.ts.map +1 -0
- package/dist/ui/markdown.js +449 -0
- package/dist/ui/markdown.js.map +1 -0
- package/dist/ui/mouse.d.ts +22 -0
- package/dist/ui/mouse.d.ts.map +1 -0
- package/dist/ui/mouse.js +31 -0
- package/dist/ui/mouse.js.map +1 -0
- package/dist/ui/outbound.d.ts +20 -0
- package/dist/ui/outbound.d.ts.map +1 -0
- package/dist/ui/outbound.js +49 -0
- package/dist/ui/outbound.js.map +1 -0
- package/dist/ui/screenMode.d.ts +25 -0
- package/dist/ui/screenMode.d.ts.map +1 -0
- package/dist/ui/screenMode.js +43 -0
- package/dist/ui/screenMode.js.map +1 -0
- package/dist/ui/slashCatalog.d.ts +18 -0
- package/dist/ui/slashCatalog.d.ts.map +1 -0
- package/dist/ui/slashCatalog.js +243 -0
- package/dist/ui/slashCatalog.js.map +1 -0
- package/dist/ui/syntax.d.ts +11 -0
- package/dist/ui/syntax.d.ts.map +1 -0
- package/dist/ui/syntax.js +78 -0
- package/dist/ui/syntax.js.map +1 -0
- package/dist/ui/theme.d.ts +165 -0
- package/dist/ui/theme.d.ts.map +1 -0
- package/dist/ui/theme.js +394 -0
- package/dist/ui/theme.js.map +1 -0
- package/dist/ui/types.d.ts +203 -0
- package/dist/ui/types.d.ts.map +1 -0
- package/dist/ui/types.js +53 -0
- package/dist/ui/types.js.map +1 -0
- package/package.json +104 -0
|
@@ -0,0 +1,509 @@
|
|
|
1
|
+
// omg — core conversation slash commands, extracted from slash.ts (pure
|
|
2
|
+
// move): clear, copy, reset, compact, decision, preset.
|
|
3
|
+
import { RoleRouter } from "../../core/orchestration/roleRouter.js";
|
|
4
|
+
import { loadActivePreset, saveActivePreset, } from "../../core/state/presetPersistence.js";
|
|
5
|
+
import { appendDecision as appendContinuumDecision } from "../../core/continuum/index.js";
|
|
6
|
+
import { compactTab, formatCompactSuccess } from "../compactor.js";
|
|
7
|
+
import { handoffTab, loadHandoffIntoTab } from "../handoff.js";
|
|
8
|
+
import { copyToClipboard } from "../../core/util/clipboard.js";
|
|
9
|
+
import { lastFenceBody } from "../../ui/markdown.js";
|
|
10
|
+
import { contextWindowForProvider, estimateHistoryTokens, usageIsCumulative, } from "../../core/context/contextWindows.js";
|
|
11
|
+
// Phase 322: humanize a token count (1234 → "1K", 182000 → "182K").
|
|
12
|
+
function kTokens(n) {
|
|
13
|
+
return n >= 1000 ? `${Math.round(n / 1000)}K` : String(Math.round(n));
|
|
14
|
+
}
|
|
15
|
+
// Core conversation commands: clear, copy, reset.
|
|
16
|
+
export async function dispatchCore(name, args, ctx) {
|
|
17
|
+
if (name === "context") {
|
|
18
|
+
// Phase 322: on-demand context breakdown. omg wraps claude-cli, which
|
|
19
|
+
// only reports total input + the prompt-cache split — not a per-category
|
|
20
|
+
// (system/tools/history) breakdown — so we show what IS knowable: the
|
|
21
|
+
// total vs window, reused-vs-fresh cache split, the per-turn Δ, the
|
|
22
|
+
// visible-history estimate, and a rough floor (total − history). Values
|
|
23
|
+
// we can't determine are omitted rather than guessed.
|
|
24
|
+
const tab = ctx.currentTab();
|
|
25
|
+
const total = tab.tokensIn;
|
|
26
|
+
const lines = [];
|
|
27
|
+
if (total <= 0) {
|
|
28
|
+
lines.push("[context] no usage reported yet this session — send a turn first.");
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
const window = contextWindowForProvider(tab.provider, tab.model);
|
|
32
|
+
const pct = window ? Math.min(100, Math.round((total / window) * 100)) : null;
|
|
33
|
+
const head = window && pct !== null
|
|
34
|
+
? `[context] ${kTokens(total)} / ${kTokens(window)} (${pct}%)`
|
|
35
|
+
: `[context] ${kTokens(total)} in context`;
|
|
36
|
+
const delta = tab.prevTokensIn !== undefined ? total - tab.prevTokensIn : null;
|
|
37
|
+
lines.push(delta !== null && delta !== 0
|
|
38
|
+
? `${head} · last turn Δ ${delta > 0 ? "+" : ""}${kTokens(delta)}`
|
|
39
|
+
: head);
|
|
40
|
+
if (tab.cacheReadTokens !== undefined)
|
|
41
|
+
lines.push(` reused (cached) ~${kTokens(tab.cacheReadTokens)} prompt-cache hits (cheap)`);
|
|
42
|
+
if (tab.freshTokens !== undefined)
|
|
43
|
+
lines.push(` fresh this turn ~${kTokens(tab.freshTokens)}`);
|
|
44
|
+
const history = estimateHistoryTokens(tab.messages);
|
|
45
|
+
lines.push(` history (visible) ~${kTokens(history)} (${tab.messages.length} msgs, est.)`);
|
|
46
|
+
if (usageIsCumulative(tab.provider)) {
|
|
47
|
+
// Phase 334: codex reports cumulative per-turn usage, not the live
|
|
48
|
+
// context size, so omg gauges from the carried conversation. Be
|
|
49
|
+
// explicit that the codex-side floor (AGENTS.md + codex's own
|
|
50
|
+
// system prompt) is read by codex from disk and not counted here.
|
|
51
|
+
lines.push(" (codex estimate: carried conversation only — its own system");
|
|
52
|
+
lines.push(" prompt + AGENTS.md are read by codex and not counted)");
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
const floor = total - history;
|
|
56
|
+
if (floor > 0)
|
|
57
|
+
lines.push(` floor + tools ~${kTokens(floor)} est. AGENTS.md + tool schemas (outside transcript)`);
|
|
58
|
+
if (tab.cacheReadTokens === undefined)
|
|
59
|
+
lines.push(" (this provider doesn't report a prompt-cache split)");
|
|
60
|
+
}
|
|
61
|
+
lines.push(" tip: /compact folds history · trimming AGENTS.md cuts the floor");
|
|
62
|
+
}
|
|
63
|
+
ctx.pushNotif({
|
|
64
|
+
jsonrpc: "2.0",
|
|
65
|
+
method: "event/text",
|
|
66
|
+
params: { text: lines.join("\n") + "\n" },
|
|
67
|
+
});
|
|
68
|
+
return true;
|
|
69
|
+
}
|
|
70
|
+
if (name === "clear") {
|
|
71
|
+
// Phase 85: don't push a "[cleared]" text event — the UI has
|
|
72
|
+
// already wiped its event log via onClearEvents, and adding a
|
|
73
|
+
// confirmation line would keep events.length > 0 and prevent
|
|
74
|
+
// the Welcome panel from reappearing.
|
|
75
|
+
// Phase 241 (audit): also drain `tab.events` (the source-of-truth
|
|
76
|
+
// for /switch's log_replace — pre-241 a /clear → /switch away →
|
|
77
|
+
// /switch back resurrected the "cleared" events). Plus reset the
|
|
78
|
+
// per-tab counters that the status bar displays so the visible
|
|
79
|
+
// state matches "this tab is fresh."
|
|
80
|
+
const tab = ctx.currentTab();
|
|
81
|
+
tab.messages.length = 0;
|
|
82
|
+
tab.events.length = 0;
|
|
83
|
+
tab.tokensIn = 0;
|
|
84
|
+
tab.tokensOut = 0;
|
|
85
|
+
tab.toolCalls = 0;
|
|
86
|
+
tab.queued = undefined;
|
|
87
|
+
ctx.pushStatus({ tokensIn: 0, tokensOut: 0, toolCalls: 0 });
|
|
88
|
+
return true;
|
|
89
|
+
}
|
|
90
|
+
if (name === "copy") {
|
|
91
|
+
const lastAssistant = [...ctx.currentTab().messages]
|
|
92
|
+
.reverse()
|
|
93
|
+
.find((m) => m.role === "assistant" && m.text.trim().length > 0);
|
|
94
|
+
if (!lastAssistant) {
|
|
95
|
+
ctx.pushNotif({
|
|
96
|
+
jsonrpc: "2.0",
|
|
97
|
+
method: "event/text",
|
|
98
|
+
params: {
|
|
99
|
+
text: "[copy] nothing to copy yet — no assistant reply.\n",
|
|
100
|
+
},
|
|
101
|
+
});
|
|
102
|
+
return true;
|
|
103
|
+
}
|
|
104
|
+
const wantAll = args.trim().toLowerCase() === "all";
|
|
105
|
+
const target = wantAll
|
|
106
|
+
? lastAssistant.text
|
|
107
|
+
: lastFenceBody(lastAssistant.text);
|
|
108
|
+
if (!target) {
|
|
109
|
+
ctx.pushNotif({
|
|
110
|
+
jsonrpc: "2.0",
|
|
111
|
+
method: "event/text",
|
|
112
|
+
params: {
|
|
113
|
+
text: "[copy] no code block in the last reply — use /copy all to copy the whole message.\n",
|
|
114
|
+
},
|
|
115
|
+
});
|
|
116
|
+
return true;
|
|
117
|
+
}
|
|
118
|
+
try {
|
|
119
|
+
const via = await copyToClipboard(target);
|
|
120
|
+
const lineCount = target.split("\n").length;
|
|
121
|
+
ctx.pushNotif({
|
|
122
|
+
jsonrpc: "2.0",
|
|
123
|
+
method: "event/text",
|
|
124
|
+
params: {
|
|
125
|
+
text: `[copy] ${lineCount} line${lineCount === 1 ? "" : "s"} ${wantAll ? "(full reply)" : "(code block)"} copied via ${via}.\n`,
|
|
126
|
+
},
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
catch (e) {
|
|
130
|
+
ctx.pushNotif({
|
|
131
|
+
jsonrpc: "2.0",
|
|
132
|
+
method: "event/text",
|
|
133
|
+
params: { text: `[copy] failed: ${e.message}\n` },
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
return true;
|
|
137
|
+
}
|
|
138
|
+
if (name === "reset") {
|
|
139
|
+
// Phase 241 (audit): /reset is /clear's stronger sibling — it
|
|
140
|
+
// also drops the adapter session id. We carry the same hygiene
|
|
141
|
+
// sweep as /clear (events, tokens, toolCalls, queued) plus
|
|
142
|
+
// pendingContinuumInjection so a prior /model swap's armed
|
|
143
|
+
// injection doesn't reappear in the fresh session.
|
|
144
|
+
const tab = ctx.currentTab();
|
|
145
|
+
tab.messages.length = 0;
|
|
146
|
+
tab.events.length = 0;
|
|
147
|
+
tab.tokensIn = 0;
|
|
148
|
+
tab.tokensOut = 0;
|
|
149
|
+
tab.toolCalls = 0;
|
|
150
|
+
tab.queued = undefined;
|
|
151
|
+
tab.pendingContinuumInjection = undefined;
|
|
152
|
+
tab.adapter.resetSession?.();
|
|
153
|
+
ctx.pushStatus({
|
|
154
|
+
sessionId: "—",
|
|
155
|
+
tokensIn: 0,
|
|
156
|
+
tokensOut: 0,
|
|
157
|
+
toolCalls: 0,
|
|
158
|
+
});
|
|
159
|
+
ctx.pushNotif({
|
|
160
|
+
jsonrpc: "2.0",
|
|
161
|
+
method: "event/text",
|
|
162
|
+
params: { text: "[reset — new session on next message]\n" },
|
|
163
|
+
});
|
|
164
|
+
return true;
|
|
165
|
+
}
|
|
166
|
+
if (name === "compact") {
|
|
167
|
+
const tab = ctx.currentTab();
|
|
168
|
+
// Phase 207: spinner during manual /compact, same UX as the
|
|
169
|
+
// auto-compact path in turn.ts.
|
|
170
|
+
ctx.pushNotif({
|
|
171
|
+
jsonrpc: "2.0",
|
|
172
|
+
method: "event/stream_start",
|
|
173
|
+
params: { label: "compacting" },
|
|
174
|
+
}, tab);
|
|
175
|
+
// Phase 259: same Esc-cancel + timeout protection as the
|
|
176
|
+
// auto-compact path in turn.ts so manual /compact also stays
|
|
177
|
+
// bounded.
|
|
178
|
+
let compactCancelled = false;
|
|
179
|
+
let compactHandle = null;
|
|
180
|
+
tab.cancel = () => {
|
|
181
|
+
compactCancelled = true;
|
|
182
|
+
compactHandle?.cancel();
|
|
183
|
+
};
|
|
184
|
+
const timeoutTimer = setTimeout(() => {
|
|
185
|
+
compactCancelled = true;
|
|
186
|
+
compactHandle?.cancel();
|
|
187
|
+
}, 300_000);
|
|
188
|
+
timeoutTimer.unref?.();
|
|
189
|
+
let r;
|
|
190
|
+
try {
|
|
191
|
+
r = await compactTab(tab, ctx.adapterOptsBase, {
|
|
192
|
+
onCancel: (h) => {
|
|
193
|
+
compactHandle = h;
|
|
194
|
+
},
|
|
195
|
+
// Phase 318: live "↓ Ntok" motion on the compacting spinner.
|
|
196
|
+
onProgress: (chars) => ctx.pushNotif({
|
|
197
|
+
jsonrpc: "2.0",
|
|
198
|
+
method: "event/stream_progress",
|
|
199
|
+
params: { chars },
|
|
200
|
+
}, tab),
|
|
201
|
+
// Phase 322 (T2): /compact <focus> steers what the summary preserves.
|
|
202
|
+
focus: args.trim() || undefined,
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
finally {
|
|
206
|
+
clearTimeout(timeoutTimer);
|
|
207
|
+
tab.cancel = undefined;
|
|
208
|
+
ctx.pushNotif({ jsonrpc: "2.0", method: "event/stream_end", params: {} }, tab);
|
|
209
|
+
}
|
|
210
|
+
if (compactCancelled) {
|
|
211
|
+
ctx.pushNotif({
|
|
212
|
+
jsonrpc: "2.0",
|
|
213
|
+
method: "event/text",
|
|
214
|
+
params: {
|
|
215
|
+
text: `[compact] cancelled — original history kept. /reset clears the session if compact keeps timing out.\n`,
|
|
216
|
+
},
|
|
217
|
+
}, tab);
|
|
218
|
+
return true;
|
|
219
|
+
}
|
|
220
|
+
if (r.ok) {
|
|
221
|
+
tab.tokensIn = 0;
|
|
222
|
+
ctx.pushStatus({ tokensIn: 0 });
|
|
223
|
+
ctx.pushNotif({
|
|
224
|
+
jsonrpc: "2.0",
|
|
225
|
+
method: "event/text",
|
|
226
|
+
params: { text: formatCompactSuccess(r) },
|
|
227
|
+
}, tab);
|
|
228
|
+
}
|
|
229
|
+
else {
|
|
230
|
+
// Phase 258: match the auto-compact's specific diagnostics so
|
|
231
|
+
// the manual /compact also explains WHY a no-op happened.
|
|
232
|
+
const detail = r.reason === "too-short"
|
|
233
|
+
? `only ${r.messagesCount} messages on this tab (keep-last is ${r.keepLast}). Try /reset to drop the session and start fresh.`
|
|
234
|
+
: "the cheap summarizer (haiku) returned an empty body.";
|
|
235
|
+
ctx.pushNotif({
|
|
236
|
+
jsonrpc: "2.0",
|
|
237
|
+
method: "event/text",
|
|
238
|
+
params: {
|
|
239
|
+
text: `[compact] skipped — ${detail}\n`,
|
|
240
|
+
},
|
|
241
|
+
}, tab);
|
|
242
|
+
}
|
|
243
|
+
return true;
|
|
244
|
+
}
|
|
245
|
+
if (name === "handoff") {
|
|
246
|
+
const tab = ctx.currentTab();
|
|
247
|
+
// Wipe the UI event log + status counters so the chat window comes
|
|
248
|
+
// back clean. Backend-driven (not the CommandInput onClearEvents
|
|
249
|
+
// path /clear uses) because handoff clears AFTER the async summary,
|
|
250
|
+
// not the instant the command is typed.
|
|
251
|
+
const wipeWindow = () => {
|
|
252
|
+
tab.events.length = 0;
|
|
253
|
+
tab.tokensIn = 0;
|
|
254
|
+
tab.tokensOut = 0;
|
|
255
|
+
tab.toolCalls = 0;
|
|
256
|
+
ctx.pushNotif({ jsonrpc: "2.0", method: "event/log_replace", params: { events: [] } }, tab);
|
|
257
|
+
ctx.pushStatus({ sessionId: "—", tokensIn: 0, tokensOut: 0, toolCalls: 0 }, tab);
|
|
258
|
+
};
|
|
259
|
+
// Render the handoff doc into the freshly-cleared window so the user
|
|
260
|
+
// can read what carried over without sending a message first. This
|
|
261
|
+
// is purely visual (an event/text on tab.events) — the model only
|
|
262
|
+
// sees the doc when it's injected into the next turn.
|
|
263
|
+
const pushDoc = (doc) => {
|
|
264
|
+
ctx.pushNotif({
|
|
265
|
+
jsonrpc: "2.0",
|
|
266
|
+
method: "event/text",
|
|
267
|
+
params: { text: doc.trim() + "\n" },
|
|
268
|
+
}, tab);
|
|
269
|
+
};
|
|
270
|
+
// Load mode: `/handoff <path>` re-seeds from a saved doc, no summary.
|
|
271
|
+
const pathArg = args.trim();
|
|
272
|
+
if (pathArg) {
|
|
273
|
+
let doc;
|
|
274
|
+
try {
|
|
275
|
+
doc = loadHandoffIntoTab(tab, pathArg);
|
|
276
|
+
}
|
|
277
|
+
catch (e) {
|
|
278
|
+
ctx.pushNotif({
|
|
279
|
+
jsonrpc: "2.0",
|
|
280
|
+
method: "event/text",
|
|
281
|
+
params: {
|
|
282
|
+
text: `[handoff] couldn't read ${pathArg}: ${e.message}\n`,
|
|
283
|
+
},
|
|
284
|
+
});
|
|
285
|
+
return true;
|
|
286
|
+
}
|
|
287
|
+
wipeWindow();
|
|
288
|
+
const lines = doc.split("\n").length;
|
|
289
|
+
ctx.pushNotif({
|
|
290
|
+
jsonrpc: "2.0",
|
|
291
|
+
method: "event/text",
|
|
292
|
+
params: { text: `[handoff] loaded ${pathArg} (${lines} lines)\n` },
|
|
293
|
+
}, tab);
|
|
294
|
+
pushDoc(doc);
|
|
295
|
+
ctx.pushNotif({
|
|
296
|
+
jsonrpc: "2.0",
|
|
297
|
+
method: "event/text",
|
|
298
|
+
params: {
|
|
299
|
+
text: "\n[handoff] context cleared — this loads on your next message.\n",
|
|
300
|
+
},
|
|
301
|
+
}, tab);
|
|
302
|
+
return true;
|
|
303
|
+
}
|
|
304
|
+
// Generate mode: summarize → persist → clear → re-seed. Same
|
|
305
|
+
// spinner + Esc-cancel + timeout protection as /compact.
|
|
306
|
+
// Phase 304: mark the tab in-flight for the async summarize so the
|
|
307
|
+
// spinner actually shows — streamingVisible gates on the tab's
|
|
308
|
+
// running flag (tabsState), not on `streaming` alone, so a bare
|
|
309
|
+
// stream_start without inFlight rendered no spinner. Cleared in the
|
|
310
|
+
// finally below.
|
|
311
|
+
tab.inFlight = true;
|
|
312
|
+
tab.inFlightSince = Date.now();
|
|
313
|
+
ctx.pushStatus({ tabsState: ctx.snapshotTabsState() }, tab);
|
|
314
|
+
ctx.pushNotif({
|
|
315
|
+
jsonrpc: "2.0",
|
|
316
|
+
method: "event/stream_start",
|
|
317
|
+
params: { label: "handing off" },
|
|
318
|
+
}, tab);
|
|
319
|
+
let cancelled = false;
|
|
320
|
+
let handle = null;
|
|
321
|
+
tab.cancel = () => {
|
|
322
|
+
cancelled = true;
|
|
323
|
+
handle?.cancel();
|
|
324
|
+
};
|
|
325
|
+
const timer = setTimeout(() => {
|
|
326
|
+
cancelled = true;
|
|
327
|
+
handle?.cancel();
|
|
328
|
+
}, 300_000);
|
|
329
|
+
timer.unref?.();
|
|
330
|
+
const stamp = new Date()
|
|
331
|
+
.toISOString()
|
|
332
|
+
.replace(/[:.]/g, "-")
|
|
333
|
+
.replace("T", "_")
|
|
334
|
+
.slice(0, 19);
|
|
335
|
+
let r;
|
|
336
|
+
try {
|
|
337
|
+
r = await handoffTab(tab, ctx.adapterOptsBase, {
|
|
338
|
+
stamp,
|
|
339
|
+
onCancel: (h) => {
|
|
340
|
+
handle = h;
|
|
341
|
+
},
|
|
342
|
+
});
|
|
343
|
+
}
|
|
344
|
+
finally {
|
|
345
|
+
clearTimeout(timer);
|
|
346
|
+
tab.cancel = undefined;
|
|
347
|
+
// Phase 304: clear in-flight + republish so the spinner stops and
|
|
348
|
+
// the chip returns to idle.
|
|
349
|
+
tab.inFlight = false;
|
|
350
|
+
tab.inFlightSince = undefined;
|
|
351
|
+
ctx.pushNotif({ jsonrpc: "2.0", method: "event/stream_end", params: {} }, tab);
|
|
352
|
+
ctx.pushStatus({ tabsState: ctx.snapshotTabsState() }, tab);
|
|
353
|
+
}
|
|
354
|
+
if (cancelled) {
|
|
355
|
+
ctx.pushNotif({
|
|
356
|
+
jsonrpc: "2.0",
|
|
357
|
+
method: "event/text",
|
|
358
|
+
params: {
|
|
359
|
+
text: "[handoff] cancelled — context kept, nothing written.\n",
|
|
360
|
+
},
|
|
361
|
+
}, tab);
|
|
362
|
+
return true;
|
|
363
|
+
}
|
|
364
|
+
if (!r.ok) {
|
|
365
|
+
const detail = r.reason === "no-messages"
|
|
366
|
+
? "nothing on this tab to hand off yet."
|
|
367
|
+
: "the cheap summarizer (haiku) returned an empty doc.";
|
|
368
|
+
ctx.pushNotif({
|
|
369
|
+
jsonrpc: "2.0",
|
|
370
|
+
method: "event/text",
|
|
371
|
+
params: { text: `[handoff] skipped — ${detail}\n` },
|
|
372
|
+
}, tab);
|
|
373
|
+
return true;
|
|
374
|
+
}
|
|
375
|
+
wipeWindow();
|
|
376
|
+
ctx.pushNotif({
|
|
377
|
+
jsonrpc: "2.0",
|
|
378
|
+
method: "event/text",
|
|
379
|
+
params: { text: `[handoff] saved → ${r.path}\n` },
|
|
380
|
+
}, tab);
|
|
381
|
+
pushDoc(r.doc);
|
|
382
|
+
ctx.pushNotif({
|
|
383
|
+
jsonrpc: "2.0",
|
|
384
|
+
method: "event/text",
|
|
385
|
+
params: {
|
|
386
|
+
text: "\n[handoff] context cleared — this summary loads on your next message.\n",
|
|
387
|
+
},
|
|
388
|
+
}, tab);
|
|
389
|
+
return true;
|
|
390
|
+
}
|
|
391
|
+
if (name === "decision") {
|
|
392
|
+
// Phase 201c: explicit decision capture. Writes to the active
|
|
393
|
+
// tab's project continuum with source: "manual".
|
|
394
|
+
const text = args.trim();
|
|
395
|
+
if (!text) {
|
|
396
|
+
ctx.pushNotif({
|
|
397
|
+
jsonrpc: "2.0",
|
|
398
|
+
method: "event/text",
|
|
399
|
+
params: {
|
|
400
|
+
text: "[decision] usage: /decision <one-line description>\n",
|
|
401
|
+
},
|
|
402
|
+
});
|
|
403
|
+
return true;
|
|
404
|
+
}
|
|
405
|
+
const tab = ctx.currentTab();
|
|
406
|
+
if (!tab.continuumId) {
|
|
407
|
+
ctx.pushNotif({
|
|
408
|
+
jsonrpc: "2.0",
|
|
409
|
+
method: "event/text",
|
|
410
|
+
params: {
|
|
411
|
+
text: "[decision] no continuum on this tab — skipped.\n",
|
|
412
|
+
},
|
|
413
|
+
});
|
|
414
|
+
return true;
|
|
415
|
+
}
|
|
416
|
+
try {
|
|
417
|
+
const m = appendContinuumDecision(tab.continuumId, {
|
|
418
|
+
text,
|
|
419
|
+
ts: Date.now(),
|
|
420
|
+
source: "manual",
|
|
421
|
+
});
|
|
422
|
+
ctx.pushNotif({
|
|
423
|
+
jsonrpc: "2.0",
|
|
424
|
+
method: "event/text",
|
|
425
|
+
params: {
|
|
426
|
+
text: `[decision] recorded (${m.decisions.length} total on this project).\n`,
|
|
427
|
+
},
|
|
428
|
+
});
|
|
429
|
+
}
|
|
430
|
+
catch (e) {
|
|
431
|
+
ctx.pushNotif({
|
|
432
|
+
jsonrpc: "2.0",
|
|
433
|
+
method: "event/text",
|
|
434
|
+
params: {
|
|
435
|
+
text: `[decision] write failed: ${e.message}\n`,
|
|
436
|
+
},
|
|
437
|
+
});
|
|
438
|
+
}
|
|
439
|
+
return true;
|
|
440
|
+
}
|
|
441
|
+
if (name === "preset") {
|
|
442
|
+
// Phase 194: switch between the team presets (claude-led vs
|
|
443
|
+
// codex-led) without restarting omg. Persists in ~/.omg/team-preset
|
|
444
|
+
// and is picked up by every later RoleRouter.default() — including
|
|
445
|
+
// the per-team-run routers in /team.
|
|
446
|
+
//
|
|
447
|
+
// Phase 202c: lives in dispatchCore (policy-level setting), not
|
|
448
|
+
// dispatchTeam (which is now only the `/team` runner).
|
|
449
|
+
const PRESET_NAMES = [
|
|
450
|
+
"claude",
|
|
451
|
+
"codex",
|
|
452
|
+
"claude-only",
|
|
453
|
+
"codex-only",
|
|
454
|
+
];
|
|
455
|
+
const arg = args.trim().toLowerCase();
|
|
456
|
+
if (!arg) {
|
|
457
|
+
const current = loadActivePreset();
|
|
458
|
+
const router = RoleRouter.default();
|
|
459
|
+
const roleLines = router.roles
|
|
460
|
+
.map((r) => {
|
|
461
|
+
const cfg = router.configFor(r);
|
|
462
|
+
return ` ${r.padEnd(13)} ${cfg.llm.provider}/${cfg.llm.model}`;
|
|
463
|
+
})
|
|
464
|
+
.join("\n");
|
|
465
|
+
ctx.pushNotif({
|
|
466
|
+
jsonrpc: "2.0",
|
|
467
|
+
method: "event/text",
|
|
468
|
+
params: {
|
|
469
|
+
text: `[preset] active: ${current} (available: ${PRESET_NAMES.join(", ")})\n` +
|
|
470
|
+
`${roleLines}\n` +
|
|
471
|
+
" usage: /preset <name> switch (applies to next /team run)\n" +
|
|
472
|
+
" /preset show current + role assignments\n",
|
|
473
|
+
},
|
|
474
|
+
});
|
|
475
|
+
return true;
|
|
476
|
+
}
|
|
477
|
+
if (!PRESET_NAMES.includes(arg)) {
|
|
478
|
+
ctx.pushNotif({
|
|
479
|
+
jsonrpc: "2.0",
|
|
480
|
+
method: "event/text",
|
|
481
|
+
params: {
|
|
482
|
+
text: `[preset] unknown '${arg}'. available: ${PRESET_NAMES.join(", ")}\n`,
|
|
483
|
+
},
|
|
484
|
+
});
|
|
485
|
+
return true;
|
|
486
|
+
}
|
|
487
|
+
const target = arg;
|
|
488
|
+
const current = loadActivePreset();
|
|
489
|
+
if (target === current) {
|
|
490
|
+
ctx.pushNotif({
|
|
491
|
+
jsonrpc: "2.0",
|
|
492
|
+
method: "event/text",
|
|
493
|
+
params: { text: `[preset] already on '${target}'.\n` },
|
|
494
|
+
});
|
|
495
|
+
return true;
|
|
496
|
+
}
|
|
497
|
+
saveActivePreset(target);
|
|
498
|
+
ctx.pushNotif({
|
|
499
|
+
jsonrpc: "2.0",
|
|
500
|
+
method: "event/text",
|
|
501
|
+
params: {
|
|
502
|
+
text: `[preset] switched ${current} → ${target}. The next /team run uses the new policy.\n`,
|
|
503
|
+
},
|
|
504
|
+
});
|
|
505
|
+
return true;
|
|
506
|
+
}
|
|
507
|
+
return false;
|
|
508
|
+
}
|
|
509
|
+
//# sourceMappingURL=core.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/cli/slash/core.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/slash/index.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,YAAY,GAChB,OAAO,CAAC,IAAI,CAAC,CAYf"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// omg — slash dispatcher, extracted from slash.ts (pure move). Runs the
|
|
2
|
+
// five command groups in order, then surfaces an unknown slash as a
|
|
3
|
+
// plain text event (never throws). The entry signature is unchanged so
|
|
4
|
+
// runInteractive + tests keep calling dispatchSlash(name, args, ctx).
|
|
5
|
+
import { dispatchCore } from "./core.js";
|
|
6
|
+
import { dispatchTeam } from "./team.js";
|
|
7
|
+
import { dispatchTabs } from "./tabs.js";
|
|
8
|
+
import { dispatchSession } from "./session.js";
|
|
9
|
+
import { dispatchModes } from "./modes.js";
|
|
10
|
+
export async function dispatchSlash(name, args, ctx) {
|
|
11
|
+
if (await dispatchCore(name, args, ctx))
|
|
12
|
+
return;
|
|
13
|
+
if (await dispatchTeam(name, args, ctx))
|
|
14
|
+
return;
|
|
15
|
+
if (await dispatchTabs(name, args, ctx))
|
|
16
|
+
return;
|
|
17
|
+
if (await dispatchSession(name, args, ctx))
|
|
18
|
+
return;
|
|
19
|
+
if (await dispatchModes(name, args, ctx))
|
|
20
|
+
return;
|
|
21
|
+
// Unknown slash — surface, don't fail.
|
|
22
|
+
ctx.pushNotif({
|
|
23
|
+
jsonrpc: "2.0",
|
|
24
|
+
method: "event/text",
|
|
25
|
+
params: { text: `[unknown slash: /${name}${args ? " " + args : ""}]\n` },
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/slash/index.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,oEAAoE;AACpE,uEAAuE;AACvE,sEAAsE;AAEtE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG3C,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAAY,EACZ,IAAY,EACZ,GAAiB;IAEjB,IAAI,MAAM,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC;QAAE,OAAO;IAChD,IAAI,MAAM,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC;QAAE,OAAO;IAChD,IAAI,MAAM,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC;QAAE,OAAO;IAChD,IAAI,MAAM,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC;QAAE,OAAO;IACnD,IAAI,MAAM,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC;QAAE,OAAO;IACjD,uCAAuC;IACvC,GAAG,CAAC,SAAS,CAAC;QACZ,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,YAAY;QACpB,MAAM,EAAE,EAAE,IAAI,EAAE,oBAAoB,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE;KACzE,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modes.d.ts","sourceRoot":"","sources":["../../../src/cli/slash/modes.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAIhD,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,YAAY,GAChB,OAAO,CAAC,OAAO,CAAC,CAkiBlB"}
|