actoviq-agent-sdk 0.4.11 → 0.4.13
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 +42 -0
- package/dist/src/computer/hadamardComputerUse.d.ts +15 -0
- package/dist/src/computer/hadamardComputerUse.d.ts.map +1 -1
- package/dist/src/computer/hadamardComputerUse.js +120 -4
- package/dist/src/computer/hadamardComputerUse.js.map +1 -1
- package/dist/src/config/agentDefinitionMigration.d.ts +125 -0
- package/dist/src/config/agentDefinitionMigration.d.ts.map +1 -0
- package/dist/src/config/agentDefinitionMigration.js +540 -0
- package/dist/src/config/agentDefinitionMigration.js.map +1 -0
- package/dist/src/config/agentProfiles.d.ts +23 -0
- package/dist/src/config/agentProfiles.d.ts.map +1 -1
- package/dist/src/config/agentProfiles.js +69 -13
- package/dist/src/config/agentProfiles.js.map +1 -1
- package/dist/src/config/hadamardHome.js +0 -1
- package/dist/src/config/hadamardHome.js.map +1 -1
- package/dist/src/config/modelConfigurationCatalog.d.ts +25 -0
- package/dist/src/config/modelConfigurationCatalog.d.ts.map +1 -0
- package/dist/src/config/modelConfigurationCatalog.js +50 -0
- package/dist/src/config/modelConfigurationCatalog.js.map +1 -0
- package/dist/src/config/projectSettings.d.ts +62 -0
- package/dist/src/config/projectSettings.d.ts.map +1 -0
- package/dist/src/config/projectSettings.js +242 -0
- package/dist/src/config/projectSettings.js.map +1 -0
- package/dist/src/config/resolveRuntimeConfig.d.ts.map +1 -1
- package/dist/src/config/resolveRuntimeConfig.js +97 -4
- package/dist/src/config/resolveRuntimeConfig.js.map +1 -1
- package/dist/src/goal/goalCommandService.d.ts +11 -0
- package/dist/src/goal/goalCommandService.d.ts.map +1 -0
- package/dist/src/goal/goalCommandService.js +138 -0
- package/dist/src/goal/goalCommandService.js.map +1 -0
- package/dist/src/goal/goalContinuation.d.ts +50 -0
- package/dist/src/goal/goalContinuation.d.ts.map +1 -0
- package/dist/src/goal/goalContinuation.js +131 -0
- package/dist/src/goal/goalContinuation.js.map +1 -0
- package/dist/src/goal/goalController.d.ts +42 -0
- package/dist/src/goal/goalController.d.ts.map +1 -0
- package/dist/src/goal/goalController.js +281 -0
- package/dist/src/goal/goalController.js.map +1 -0
- package/dist/src/goal/goalPrompt.d.ts +3 -0
- package/dist/src/goal/goalPrompt.d.ts.map +1 -1
- package/dist/src/goal/goalPrompt.js +28 -2
- package/dist/src/goal/goalPrompt.js.map +1 -1
- package/dist/src/goal/goalService.d.ts +68 -2
- package/dist/src/goal/goalService.d.ts.map +1 -1
- package/dist/src/goal/goalService.js +500 -8
- package/dist/src/goal/goalService.js.map +1 -1
- package/dist/src/goal/goalStore.d.ts.map +1 -1
- package/dist/src/goal/goalStore.js +172 -5
- package/dist/src/goal/goalStore.js.map +1 -1
- package/dist/src/goal/goalTools.d.ts +2 -1
- package/dist/src/goal/goalTools.d.ts.map +1 -1
- package/dist/src/goal/goalTools.js +70 -5
- package/dist/src/goal/goalTools.js.map +1 -1
- package/dist/src/goal/goalWorkCoordinator.d.ts +43 -0
- package/dist/src/goal/goalWorkCoordinator.d.ts.map +1 -0
- package/dist/src/goal/goalWorkCoordinator.js +72 -0
- package/dist/src/goal/goalWorkCoordinator.js.map +1 -0
- package/dist/src/goal/index.d.ts +10 -4
- package/dist/src/goal/index.d.ts.map +1 -1
- package/dist/src/goal/index.js +7 -1
- package/dist/src/goal/index.js.map +1 -1
- package/dist/src/goal/projectGoalApi.d.ts +82 -0
- package/dist/src/goal/projectGoalApi.d.ts.map +1 -0
- package/dist/src/goal/projectGoalApi.js +287 -0
- package/dist/src/goal/projectGoalApi.js.map +1 -0
- package/dist/src/goal/projectGoalStore.d.ts +131 -0
- package/dist/src/goal/projectGoalStore.d.ts.map +1 -0
- package/dist/src/goal/projectGoalStore.js +808 -0
- package/dist/src/goal/projectGoalStore.js.map +1 -0
- package/dist/src/goal/types.d.ts +127 -3
- package/dist/src/goal/types.d.ts.map +1 -1
- package/dist/src/goal/types.js +2 -2
- package/dist/src/goal/types.js.map +1 -1
- package/dist/src/gui/agentTargetPicker.d.ts +32 -0
- package/dist/src/gui/agentTargetPicker.d.ts.map +1 -0
- package/dist/src/gui/agentTargetPicker.js +99 -0
- package/dist/src/gui/agentTargetPicker.js.map +1 -0
- package/dist/src/gui/electronMain.js +10 -3
- package/dist/src/gui/electronMain.js.map +1 -1
- package/dist/src/gui/hadamardGui.d.ts +24 -0
- package/dist/src/gui/hadamardGui.d.ts.map +1 -1
- package/dist/src/gui/hadamardGui.js +6321 -1327
- package/dist/src/gui/hadamardGui.js.map +1 -1
- package/dist/src/gui/projectWorkbench.d.ts +13 -2
- package/dist/src/gui/projectWorkbench.d.ts.map +1 -1
- package/dist/src/gui/projectWorkbench.js +109 -67
- package/dist/src/gui/projectWorkbench.js.map +1 -1
- package/dist/src/gui/promptTemplates.d.ts +18 -0
- package/dist/src/gui/promptTemplates.d.ts.map +1 -0
- package/dist/src/gui/promptTemplates.js +178 -0
- package/dist/src/gui/promptTemplates.js.map +1 -0
- package/dist/src/gui/terminalManager.d.ts +14 -0
- package/dist/src/gui/terminalManager.d.ts.map +1 -1
- package/dist/src/gui/terminalManager.js +25 -5
- package/dist/src/gui/terminalManager.js.map +1 -1
- package/dist/src/gui/transcript/clientBundle.d.ts +6 -1
- package/dist/src/gui/transcript/clientBundle.d.ts.map +1 -1
- package/dist/src/gui/transcript/clientBundle.js +6 -1
- package/dist/src/gui/transcript/clientBundle.js.map +1 -1
- package/dist/src/help/productCapabilities.d.ts +17 -0
- package/dist/src/help/productCapabilities.d.ts.map +1 -0
- package/dist/src/help/productCapabilities.js +146 -0
- package/dist/src/help/productCapabilities.js.map +1 -0
- package/dist/src/index.d.ts +21 -6
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +15 -5
- package/dist/src/index.js.map +1 -1
- package/dist/src/issues/issueExecution.d.ts.map +1 -1
- package/dist/src/issues/issueExecution.js +29 -9
- package/dist/src/issues/issueExecution.js.map +1 -1
- package/dist/src/manager/assistantGlobalTools.d.ts +44 -0
- package/dist/src/manager/assistantGlobalTools.d.ts.map +1 -1
- package/dist/src/manager/assistantGlobalTools.js +565 -34
- package/dist/src/manager/assistantGlobalTools.js.map +1 -1
- package/dist/src/manager/assistantProposals.d.ts +87 -0
- package/dist/src/manager/assistantProposals.d.ts.map +1 -0
- package/dist/src/manager/assistantProposals.js +207 -0
- package/dist/src/manager/assistantProposals.js.map +1 -0
- package/dist/src/manager/referenceIndex.d.ts +82 -0
- package/dist/src/manager/referenceIndex.d.ts.map +1 -0
- package/dist/src/manager/referenceIndex.js +167 -0
- package/dist/src/manager/referenceIndex.js.map +1 -0
- package/dist/src/manager/referenceOperations.d.ts +108 -0
- package/dist/src/manager/referenceOperations.d.ts.map +1 -0
- package/dist/src/manager/referenceOperations.js +821 -0
- package/dist/src/manager/referenceOperations.js.map +1 -0
- package/dist/src/manager/resolveTargetRef.d.ts +67 -0
- package/dist/src/manager/resolveTargetRef.d.ts.map +1 -0
- package/dist/src/manager/resolveTargetRef.js +81 -0
- package/dist/src/manager/resolveTargetRef.js.map +1 -0
- package/dist/src/memory/durableMemoryPipeline.d.ts +51 -0
- package/dist/src/memory/durableMemoryPipeline.d.ts.map +1 -0
- package/dist/src/memory/durableMemoryPipeline.js +266 -0
- package/dist/src/memory/durableMemoryPipeline.js.map +1 -0
- package/dist/src/memory/durableMemoryStore.d.ts +59 -0
- package/dist/src/memory/durableMemoryStore.d.ts.map +1 -0
- package/dist/src/memory/durableMemoryStore.js +194 -0
- package/dist/src/memory/durableMemoryStore.js.map +1 -0
- package/dist/src/memory/hadamardDream.d.ts +18 -0
- package/dist/src/memory/hadamardDream.d.ts.map +1 -1
- package/dist/src/memory/hadamardDream.js +119 -39
- package/dist/src/memory/hadamardDream.js.map +1 -1
- package/dist/src/memory/hadamardMemory.d.ts +20 -39
- package/dist/src/memory/hadamardMemory.d.ts.map +1 -1
- package/dist/src/memory/hadamardMemory.js +112 -450
- package/dist/src/memory/hadamardMemory.js.map +1 -1
- package/dist/src/memory/hadamardSessionMemoryState.d.ts +2 -5
- package/dist/src/memory/hadamardSessionMemoryState.d.ts.map +1 -1
- package/dist/src/memory/hadamardSessionMemoryState.js +5 -61
- package/dist/src/memory/hadamardSessionMemoryState.js.map +1 -1
- package/dist/src/memory/memoryCommandService.d.ts +25 -0
- package/dist/src/memory/memoryCommandService.d.ts.map +1 -0
- package/dist/src/memory/memoryCommandService.js +93 -0
- package/dist/src/memory/memoryCommandService.js.map +1 -0
- package/dist/src/memory/memoryProposalCommandService.d.ts.map +1 -1
- package/dist/src/memory/memoryProposalCommandService.js +2 -1
- package/dist/src/memory/memoryProposalCommandService.js.map +1 -1
- package/dist/src/memory/memoryProposalTools.d.ts +1 -0
- package/dist/src/memory/memoryProposalTools.d.ts.map +1 -1
- package/dist/src/memory/memoryProposalTools.js +16 -11
- package/dist/src/memory/memoryProposalTools.js.map +1 -1
- package/dist/src/parity/bridgeConfigs.d.ts +4 -0
- package/dist/src/parity/bridgeConfigs.d.ts.map +1 -1
- package/dist/src/parity/bridgeConfigs.js +30 -1
- package/dist/src/parity/bridgeConfigs.js.map +1 -1
- package/dist/src/router/modelRouter.d.ts +22 -2
- package/dist/src/router/modelRouter.d.ts.map +1 -1
- package/dist/src/router/modelRouter.js +76 -9
- package/dist/src/router/modelRouter.js.map +1 -1
- package/dist/src/runtime/agentClient.d.ts +24 -4
- package/dist/src/runtime/agentClient.d.ts.map +1 -1
- package/dist/src/runtime/agentClient.js +581 -262
- package/dist/src/runtime/agentClient.js.map +1 -1
- package/dist/src/runtime/agentSession.d.ts +8 -3
- package/dist/src/runtime/agentSession.d.ts.map +1 -1
- package/dist/src/runtime/agentSession.js +10 -3
- package/dist/src/runtime/agentSession.js.map +1 -1
- package/dist/src/runtime/agentTemplates.d.ts +28 -0
- package/dist/src/runtime/agentTemplates.d.ts.map +1 -0
- package/dist/src/runtime/agentTemplates.js +73 -0
- package/dist/src/runtime/agentTemplates.js.map +1 -0
- package/dist/src/runtime/conversationEngine.d.ts +4 -0
- package/dist/src/runtime/conversationEngine.d.ts.map +1 -1
- package/dist/src/runtime/conversationEngine.js +52 -3
- package/dist/src/runtime/conversationEngine.js.map +1 -1
- package/dist/src/runtime/defaultHadamardAgents.d.ts.map +1 -1
- package/dist/src/runtime/defaultHadamardAgents.js +9 -47
- package/dist/src/runtime/defaultHadamardAgents.js.map +1 -1
- package/dist/src/runtime/effectiveAgentRunOptions.d.ts +49 -0
- package/dist/src/runtime/effectiveAgentRunOptions.d.ts.map +1 -0
- package/dist/src/runtime/effectiveAgentRunOptions.js +50 -0
- package/dist/src/runtime/effectiveAgentRunOptions.js.map +1 -0
- package/dist/src/runtime/externalAgentRunner.d.ts +25 -0
- package/dist/src/runtime/externalAgentRunner.d.ts.map +1 -0
- package/dist/src/runtime/externalAgentRunner.js +57 -0
- package/dist/src/runtime/externalAgentRunner.js.map +1 -0
- package/dist/src/runtime/hadamardAgentDefinitions.d.ts +15 -0
- package/dist/src/runtime/hadamardAgentDefinitions.d.ts.map +1 -1
- package/dist/src/runtime/hadamardAgentDefinitions.js +42 -2
- package/dist/src/runtime/hadamardAgentDefinitions.js.map +1 -1
- package/dist/src/runtime/hadamardAgents.d.ts +6 -0
- package/dist/src/runtime/hadamardAgents.d.ts.map +1 -1
- package/dist/src/runtime/hadamardAgents.js +52 -1
- package/dist/src/runtime/hadamardAgents.js.map +1 -1
- package/dist/src/runtime/hadamardCompact.d.ts +12 -1
- package/dist/src/runtime/hadamardCompact.d.ts.map +1 -1
- package/dist/src/runtime/hadamardCompact.js +91 -35
- package/dist/src/runtime/hadamardCompact.js.map +1 -1
- package/dist/src/runtime/hadamardPermissions.d.ts +1 -0
- package/dist/src/runtime/hadamardPermissions.d.ts.map +1 -1
- package/dist/src/runtime/hadamardPermissions.js +6 -0
- package/dist/src/runtime/hadamardPermissions.js.map +1 -1
- package/dist/src/runtime/hadamardSlashCommands.d.ts +7 -1
- package/dist/src/runtime/hadamardSlashCommands.d.ts.map +1 -1
- package/dist/src/runtime/hadamardSlashCommands.js +47 -5
- package/dist/src/runtime/hadamardSlashCommands.js.map +1 -1
- package/dist/src/runtime/tools.d.ts.map +1 -1
- package/dist/src/runtime/tools.js +2 -0
- package/dist/src/runtime/tools.js.map +1 -1
- package/dist/src/team/executorTarget.d.ts +26 -0
- package/dist/src/team/executorTarget.d.ts.map +1 -0
- package/dist/src/team/executorTarget.js +15 -0
- package/dist/src/team/executorTarget.js.map +1 -0
- package/dist/src/team/modelTeam.d.ts +5 -1
- package/dist/src/team/modelTeam.d.ts.map +1 -1
- package/dist/src/team/modelTeam.js +157 -41
- package/dist/src/team/modelTeam.js.map +1 -1
- package/dist/src/team/teamComposition.d.ts +20 -0
- package/dist/src/team/teamComposition.d.ts.map +1 -0
- package/dist/src/team/teamComposition.js +78 -0
- package/dist/src/team/teamComposition.js.map +1 -0
- package/dist/src/team/teamDefinitions.d.ts +10 -1
- package/dist/src/team/teamDefinitions.d.ts.map +1 -1
- package/dist/src/team/teamDefinitions.js +123 -16
- package/dist/src/team/teamDefinitions.js.map +1 -1
- package/dist/src/team/teamGraph.d.ts +1 -1
- package/dist/src/team/teamGraph.d.ts.map +1 -1
- package/dist/src/team/teamGraph.js +1 -1
- package/dist/src/team/teamGraph.js.map +1 -1
- package/dist/src/team/teamPrompts.d.ts.map +1 -1
- package/dist/src/team/teamPrompts.js +0 -4
- package/dist/src/team/teamPrompts.js.map +1 -1
- package/dist/src/team/teamProposalService.d.ts +9 -1
- package/dist/src/team/teamProposalService.d.ts.map +1 -1
- package/dist/src/team/teamProposalService.js +66 -6
- package/dist/src/team/teamProposalService.js.map +1 -1
- package/dist/src/team/teamPropose.d.ts +3 -1
- package/dist/src/team/teamPropose.d.ts.map +1 -1
- package/dist/src/team/teamPropose.js +16 -10
- package/dist/src/team/teamPropose.js.map +1 -1
- package/dist/src/team/teamRuntime.d.ts +5 -0
- package/dist/src/team/teamRuntime.d.ts.map +1 -1
- package/dist/src/team/teamRuntime.js +23 -5
- package/dist/src/team/teamRuntime.js.map +1 -1
- package/dist/src/team/workflowSquad.d.ts +10 -2
- package/dist/src/team/workflowSquad.d.ts.map +1 -1
- package/dist/src/team/workflowSquad.js +250 -12
- package/dist/src/team/workflowSquad.js.map +1 -1
- package/dist/src/tools/enterWorktree.d.ts.map +1 -1
- package/dist/src/tools/enterWorktree.js +3 -0
- package/dist/src/tools/enterWorktree.js.map +1 -1
- package/dist/src/tools/exaSearch.d.ts +2 -2
- package/dist/src/tools/exitWorktree.d.ts.map +1 -1
- package/dist/src/tools/exitWorktree.js +3 -1
- package/dist/src/tools/exitWorktree.js.map +1 -1
- package/dist/src/tools/hadamardCoreTools.d.ts +5 -14
- package/dist/src/tools/hadamardCoreTools.d.ts.map +1 -1
- package/dist/src/tools/hadamardCoreTools.js +31 -0
- package/dist/src/tools/hadamardCoreTools.js.map +1 -1
- package/dist/src/tools/hadamardFileTools.d.ts.map +1 -1
- package/dist/src/tools/hadamardFileTools.js +116 -38
- package/dist/src/tools/hadamardFileTools.js.map +1 -1
- package/dist/src/tools/planMode/PlanModeTools.d.ts +22 -0
- package/dist/src/tools/planMode/PlanModeTools.d.ts.map +1 -1
- package/dist/src/tools/planMode/PlanModeTools.js +102 -5
- package/dist/src/tools/planMode/PlanModeTools.js.map +1 -1
- package/dist/src/tools/todo/TodoWriteTool.d.ts +1 -1
- package/dist/src/tui/hadamardTui.d.ts.map +1 -1
- package/dist/src/tui/hadamardTui.js +387 -168
- package/dist/src/tui/hadamardTui.js.map +1 -1
- package/dist/src/tui/pendingInput.d.ts +17 -0
- package/dist/src/tui/pendingInput.d.ts.map +1 -0
- package/dist/src/tui/pendingInput.js +23 -0
- package/dist/src/tui/pendingInput.js.map +1 -0
- package/dist/src/tui/reasoningDisplay.d.ts +13 -0
- package/dist/src/tui/reasoningDisplay.d.ts.map +1 -0
- package/dist/src/tui/reasoningDisplay.js +45 -0
- package/dist/src/tui/reasoningDisplay.js.map +1 -0
- package/dist/src/tui/screen.d.ts +11 -1
- package/dist/src/tui/screen.d.ts.map +1 -1
- package/dist/src/tui/screen.js +64 -34
- package/dist/src/tui/screen.js.map +1 -1
- package/dist/src/types.d.ts +210 -77
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js.map +1 -1
- package/dist/src/ui/commandSurface.d.ts +8 -0
- package/dist/src/ui/commandSurface.d.ts.map +1 -1
- package/dist/src/ui/commandSurface.js +78 -13
- package/dist/src/ui/commandSurface.js.map +1 -1
- package/dist/src/update/appUpdateService.d.ts +34 -1
- package/dist/src/update/appUpdateService.d.ts.map +1 -1
- package/dist/src/update/appUpdateService.js +114 -9
- package/dist/src/update/appUpdateService.js.map +1 -1
- package/package.json +3 -2
- package/dist/src/prompts/outputStyles.d.ts +0 -20
- package/dist/src/prompts/outputStyles.d.ts.map +0 -1
- package/dist/src/prompts/outputStyles.js +0 -35
- package/dist/src/prompts/outputStyles.js.map +0 -1
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export type ActiveInputMode = 'follow-up' | 'steer';
|
|
2
|
+
export interface PendingInputPort {
|
|
3
|
+
followUp(input: string): void;
|
|
4
|
+
steer(input: string): void;
|
|
5
|
+
cancelLatestFollowUp(): string | undefined;
|
|
6
|
+
}
|
|
7
|
+
/** TUI policy adapter; the runtime queue remains owned by AgentSession. */
|
|
8
|
+
export declare function submitActiveInput(port: PendingInputPort, input: string, mode: ActiveInputMode): void;
|
|
9
|
+
/**
|
|
10
|
+
* Pull the newest queued follow-up into the editor for editing.
|
|
11
|
+
* Callers must restore it via {@link restoreAbandonedFollowUp} if the user
|
|
12
|
+
* clears the editor without resubmitting.
|
|
13
|
+
*/
|
|
14
|
+
export declare function recallLatestFollowUp(port: PendingInputPort): string | undefined;
|
|
15
|
+
/** Re-queue a follow-up that was recalled into the editor but abandoned. */
|
|
16
|
+
export declare function restoreAbandonedFollowUp(port: PendingInputPort, recalled: string | null | undefined): void;
|
|
17
|
+
//# sourceMappingURL=pendingInput.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pendingInput.d.ts","sourceRoot":"","sources":["../../../src/tui/pendingInput.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,OAAO,CAAC;AAEpD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,oBAAoB,IAAI,MAAM,GAAG,SAAS,CAAC;CAC5C;AAED,2EAA2E;AAC3E,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,eAAe,GACpB,IAAI,CAGN;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,GAAG,SAAS,CAE/E;AAED,4EAA4E;AAC5E,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,gBAAgB,EACtB,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAClC,IAAI,CAIN"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/** TUI policy adapter; the runtime queue remains owned by AgentSession. */
|
|
2
|
+
export function submitActiveInput(port, input, mode) {
|
|
3
|
+
if (mode === 'steer')
|
|
4
|
+
port.steer(input);
|
|
5
|
+
else
|
|
6
|
+
port.followUp(input);
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Pull the newest queued follow-up into the editor for editing.
|
|
10
|
+
* Callers must restore it via {@link restoreAbandonedFollowUp} if the user
|
|
11
|
+
* clears the editor without resubmitting.
|
|
12
|
+
*/
|
|
13
|
+
export function recallLatestFollowUp(port) {
|
|
14
|
+
return port.cancelLatestFollowUp();
|
|
15
|
+
}
|
|
16
|
+
/** Re-queue a follow-up that was recalled into the editor but abandoned. */
|
|
17
|
+
export function restoreAbandonedFollowUp(port, recalled) {
|
|
18
|
+
const text = recalled?.trim();
|
|
19
|
+
if (!text)
|
|
20
|
+
return;
|
|
21
|
+
port.followUp(text);
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=pendingInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pendingInput.js","sourceRoot":"","sources":["../../../src/tui/pendingInput.ts"],"names":[],"mappings":"AAQA,2EAA2E;AAC3E,MAAM,UAAU,iBAAiB,CAC/B,IAAsB,EACtB,KAAa,EACb,IAAqB;IAErB,IAAI,IAAI,KAAK,OAAO;QAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;;QACnC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAsB;IACzD,OAAO,IAAI,CAAC,oBAAoB,EAAE,CAAC;AACrC,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,wBAAwB,CACtC,IAAsB,EACtB,QAAmC;IAEnC,MAAM,IAAI,GAAG,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC9B,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** Owns one reasoning segment independently from transport event boundaries. */
|
|
2
|
+
export declare class ReasoningDisplayState {
|
|
3
|
+
private activeText;
|
|
4
|
+
private streamed;
|
|
5
|
+
get hasActive(): boolean;
|
|
6
|
+
get hasStreamedContent(): boolean;
|
|
7
|
+
append(delta: string): void;
|
|
8
|
+
setCompleteContent(text: string): void;
|
|
9
|
+
liveLines(width: number, maxRows?: number): string[];
|
|
10
|
+
complete(): string[];
|
|
11
|
+
reset(): void;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=reasoningDisplay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reasoningDisplay.d.ts","sourceRoot":"","sources":["../../../src/tui/reasoningDisplay.ts"],"names":[],"mappings":"AAEA,gFAAgF;AAChF,qBAAa,qBAAqB;IAChC,OAAO,CAAC,UAAU,CAAM;IACxB,OAAO,CAAC,QAAQ,CAAS;IAEzB,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,kBAAkB,IAAI,OAAO,CAEhC;IAED,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM3B,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAItC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,SAAI,GAAG,MAAM,EAAE;IAU/C,QAAQ,IAAI,MAAM,EAAE;IAUpB,KAAK,IAAI,IAAI;CAId"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { A, wrapToWidth } from './ansi.js';
|
|
2
|
+
/** Owns one reasoning segment independently from transport event boundaries. */
|
|
3
|
+
export class ReasoningDisplayState {
|
|
4
|
+
activeText = '';
|
|
5
|
+
streamed = false;
|
|
6
|
+
get hasActive() {
|
|
7
|
+
return this.activeText.trim().length > 0;
|
|
8
|
+
}
|
|
9
|
+
get hasStreamedContent() {
|
|
10
|
+
return this.streamed;
|
|
11
|
+
}
|
|
12
|
+
append(delta) {
|
|
13
|
+
if (!delta)
|
|
14
|
+
return;
|
|
15
|
+
this.activeText += delta;
|
|
16
|
+
this.streamed = true;
|
|
17
|
+
}
|
|
18
|
+
setCompleteContent(text) {
|
|
19
|
+
if (!this.hasActive && text.trim())
|
|
20
|
+
this.activeText = text;
|
|
21
|
+
}
|
|
22
|
+
liveLines(width, maxRows = 6) {
|
|
23
|
+
const condensed = this.activeText.replace(/\s+/g, ' ').trim();
|
|
24
|
+
if (!condensed)
|
|
25
|
+
return [];
|
|
26
|
+
const contentWidth = Math.max(width - 4, 16);
|
|
27
|
+
const lines = wrapToWidth(condensed, contentWidth).map((line, index) => (`${A.dim}${index === 0 ? '∴ ' : ' '}${line}${A.reset}`));
|
|
28
|
+
return lines.slice(Math.max(lines.length - maxRows, 0));
|
|
29
|
+
}
|
|
30
|
+
complete() {
|
|
31
|
+
const condensed = this.activeText.replace(/\s+/g, ' ').trim();
|
|
32
|
+
if (!condensed)
|
|
33
|
+
return [];
|
|
34
|
+
const words = condensed.split(/\s+/u).length;
|
|
35
|
+
const detail = words > 1 ? `${words} words` : `${[...condensed].length} chars`;
|
|
36
|
+
this.activeText = '';
|
|
37
|
+
this.streamed = false;
|
|
38
|
+
return [`${A.dim}∴ Thinking · ${detail} · collapsed${A.reset}`];
|
|
39
|
+
}
|
|
40
|
+
reset() {
|
|
41
|
+
this.activeText = '';
|
|
42
|
+
this.streamed = false;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=reasoningDisplay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reasoningDisplay.js","sourceRoot":"","sources":["../../../src/tui/reasoningDisplay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE3C,gFAAgF;AAChF,MAAM,OAAO,qBAAqB;IACxB,UAAU,GAAG,EAAE,CAAC;IAChB,QAAQ,GAAG,KAAK,CAAC;IAEzB,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,kBAAkB,CAAC,IAAY;QAC7B,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE;YAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IAC7D,CAAC;IAED,SAAS,CAAC,KAAa,EAAE,OAAO,GAAG,CAAC;QAClC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9D,IAAI,CAAC,SAAS;YAAE,OAAO,EAAE,CAAC;QAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CACtE,GAAG,CAAC,CAAC,GAAG,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,CACxD,CAAC,CAAC;QACH,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,QAAQ;QACN,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9D,IAAI,CAAC,SAAS;YAAE,OAAO,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;QAC7C,MAAM,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,MAAM,QAAQ,CAAC;QAC/E,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,gBAAgB,MAAM,eAAe,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,KAAK;QACH,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;CACF"}
|
package/dist/src/tui/screen.d.ts
CHANGED
|
@@ -5,10 +5,18 @@ export interface ScreenOutput {
|
|
|
5
5
|
on?(event: 'resize', listener: () => void): unknown;
|
|
6
6
|
off?(event: 'resize', listener: () => void): unknown;
|
|
7
7
|
}
|
|
8
|
+
export interface DynamicCursorPosition {
|
|
9
|
+
/** Zero-based source line passed to setDynamic. */
|
|
10
|
+
line: number;
|
|
11
|
+
/** Zero-based visible terminal column. */
|
|
12
|
+
column: number;
|
|
13
|
+
}
|
|
8
14
|
export declare class TuiScreen {
|
|
9
15
|
private readonly out;
|
|
10
16
|
private dynamicLines;
|
|
11
17
|
private dynamicVisualCount;
|
|
18
|
+
private parkedRow;
|
|
19
|
+
private parkedColumn;
|
|
12
20
|
private started;
|
|
13
21
|
private readonly resizeListener;
|
|
14
22
|
constructor(out: ScreenOutput);
|
|
@@ -20,9 +28,11 @@ export declare class TuiScreen {
|
|
|
20
28
|
/** Print lines permanently into scrollback above the dynamic region. */
|
|
21
29
|
appendStatic(lines: readonly string[]): void;
|
|
22
30
|
/** Replace the dynamic bottom region. Lines are pre-wrapped to width. */
|
|
23
|
-
setDynamic(lines: readonly string[]): void;
|
|
31
|
+
setDynamic(lines: readonly string[], cursor?: DynamicCursorPosition): void;
|
|
24
32
|
private redraw;
|
|
25
33
|
private redrawChangedLines;
|
|
26
34
|
private buildDynamicPaint;
|
|
35
|
+
private moveToTop;
|
|
36
|
+
private moveFromTopToParkedCursor;
|
|
27
37
|
}
|
|
28
38
|
//# sourceMappingURL=screen.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screen.d.ts","sourceRoot":"","sources":["../../../src/tui/screen.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"screen.d.ts","sourceRoot":"","sources":["../../../src/tui/screen.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC;IACpD,GAAG,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC;CACtD;AAED,MAAM,WAAW,qBAAqB;IACpC,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,SAAS;IAQR,OAAO,CAAC,QAAQ,CAAC,GAAG;IAPhC,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAuB;gBAEzB,GAAG,EAAE,YAAY;IAE9C,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,KAAK,IAAI,IAAI;IAOb,0EAA0E;IAC1E,IAAI,IAAI,IAAI;IAWZ,wEAAwE;IACxE,YAAY,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI;IAa5C,yEAAyE;IACzE,UAAU,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,qBAAqB,GAAG,IAAI;IAyC1E,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,yBAAyB;CAMlC"}
|
package/dist/src/tui/screen.js
CHANGED
|
@@ -1,15 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Scrollback-friendly renderer for the Hadamard TUI
|
|
3
|
-
* default REPL model (Ink <Static> + dynamic bottom region) without React:
|
|
2
|
+
* Scrollback-friendly renderer for the Hadamard TUI:
|
|
4
3
|
*
|
|
5
|
-
* - Transcript lines are printed permanently into
|
|
6
|
-
*
|
|
7
|
-
* -
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* The real terminal cursor stays hidden and parked at the top-left of the
|
|
11
|
-
* dynamic region; the input caret is drawn as an inverse-video cell by the
|
|
12
|
-
* caller. That single invariant keeps erase/redraw bookkeeping trivial.
|
|
4
|
+
* - Transcript lines are printed permanently into normal scrollback.
|
|
5
|
+
* - A bottom dynamic region is redrawn in place.
|
|
6
|
+
* - The hidden real cursor is parked at the input caret. Terminals and IMEs
|
|
7
|
+
* use that position even while the TUI draws its own inverse-video caret.
|
|
13
8
|
*/
|
|
14
9
|
import { wrapToWidth } from './ansi.js';
|
|
15
10
|
const HIDE_CURSOR = '\x1b[?25l';
|
|
@@ -22,6 +17,8 @@ export class TuiScreen {
|
|
|
22
17
|
out;
|
|
23
18
|
dynamicLines = [];
|
|
24
19
|
dynamicVisualCount = 0;
|
|
20
|
+
parkedRow = 0;
|
|
21
|
+
parkedColumn = 0;
|
|
25
22
|
started = false;
|
|
26
23
|
resizeListener = () => this.redraw();
|
|
27
24
|
constructor(out) {
|
|
@@ -46,48 +43,69 @@ export class TuiScreen {
|
|
|
46
43
|
return;
|
|
47
44
|
this.started = false;
|
|
48
45
|
this.out.off?.('resize', this.resizeListener);
|
|
49
|
-
this.out.write(CLEAR_DOWN + SHOW_CURSOR);
|
|
46
|
+
this.out.write(this.moveToTop() + CLEAR_DOWN + SHOW_CURSOR);
|
|
50
47
|
this.dynamicLines = [];
|
|
51
48
|
this.dynamicVisualCount = 0;
|
|
49
|
+
this.parkedRow = 0;
|
|
50
|
+
this.parkedColumn = 0;
|
|
52
51
|
}
|
|
53
52
|
/** Print lines permanently into scrollback above the dynamic region. */
|
|
54
53
|
appendStatic(lines) {
|
|
55
54
|
if (lines.length === 0)
|
|
56
55
|
return;
|
|
57
56
|
const wrapped = [];
|
|
58
|
-
for (const line of lines)
|
|
57
|
+
for (const line of lines)
|
|
59
58
|
wrapped.push(...wrapToWidth(line, this.width));
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
wrapped.join('\n')
|
|
63
|
-
'\n'
|
|
64
|
-
this.buildDynamicPaint());
|
|
59
|
+
this.out.write(this.moveToTop()
|
|
60
|
+
+ CLEAR_DOWN
|
|
61
|
+
+ wrapped.join('\n')
|
|
62
|
+
+ '\n'
|
|
63
|
+
+ this.buildDynamicPaint());
|
|
65
64
|
}
|
|
66
65
|
/** Replace the dynamic bottom region. Lines are pre-wrapped to width. */
|
|
67
|
-
setDynamic(lines) {
|
|
66
|
+
setDynamic(lines, cursor) {
|
|
68
67
|
const wrapped = [];
|
|
69
|
-
|
|
70
|
-
|
|
68
|
+
let cursorRow = 0;
|
|
69
|
+
let cursorColumn = 0;
|
|
70
|
+
for (let index = 0; index < lines.length; index += 1) {
|
|
71
|
+
const start = wrapped.length;
|
|
72
|
+
const parts = wrapToWidth(lines[index], this.width);
|
|
73
|
+
wrapped.push(...parts);
|
|
74
|
+
if (cursor && cursor.line === index) {
|
|
75
|
+
cursorRow = start + Math.floor(Math.max(cursor.column, 0) / this.width);
|
|
76
|
+
cursorColumn = Math.max(cursor.column, 0) % this.width;
|
|
77
|
+
}
|
|
71
78
|
}
|
|
72
|
-
// Keep the region within the viewport so cursor-up math stays valid.
|
|
73
79
|
const maxRows = this.height - 1;
|
|
74
|
-
const
|
|
75
|
-
|
|
80
|
+
const startRow = cursor && wrapped.length > maxRows
|
|
81
|
+
? Math.min(Math.max(cursorRow - maxRows + 1, 0), wrapped.length - maxRows)
|
|
82
|
+
: 0;
|
|
83
|
+
const nextLines = wrapped.slice(startRow, startRow + maxRows);
|
|
84
|
+
const nextParkedRow = cursor
|
|
85
|
+
? Math.max(0, Math.min(cursorRow - startRow, Math.max(nextLines.length - 1, 0)))
|
|
86
|
+
: 0;
|
|
87
|
+
const nextParkedColumn = cursor ? Math.min(cursorColumn, this.width - 1) : 0;
|
|
88
|
+
if (sameLines(this.dynamicLines, nextLines)
|
|
89
|
+
&& this.parkedRow === nextParkedRow
|
|
90
|
+
&& this.parkedColumn === nextParkedColumn)
|
|
76
91
|
return;
|
|
77
92
|
const previousLines = this.dynamicLines;
|
|
93
|
+
const previousParkedRow = this.parkedRow;
|
|
78
94
|
this.dynamicLines = nextLines;
|
|
95
|
+
this.parkedRow = nextParkedRow;
|
|
96
|
+
this.parkedColumn = nextParkedColumn;
|
|
79
97
|
if (previousLines.length === nextLines.length && nextLines.length > 0) {
|
|
80
|
-
this.redrawChangedLines(previousLines);
|
|
98
|
+
this.redrawChangedLines(previousLines, previousParkedRow);
|
|
81
99
|
}
|
|
82
100
|
else {
|
|
83
|
-
this.redraw();
|
|
101
|
+
this.redraw(previousParkedRow);
|
|
84
102
|
}
|
|
85
103
|
}
|
|
86
|
-
redraw() {
|
|
87
|
-
this.out.write(CLEAR_DOWN + this.buildDynamicPaint());
|
|
104
|
+
redraw(previousParkedRow = this.parkedRow) {
|
|
105
|
+
this.out.write(this.moveToTop(previousParkedRow) + CLEAR_DOWN + this.buildDynamicPaint());
|
|
88
106
|
}
|
|
89
|
-
redrawChangedLines(previousLines) {
|
|
90
|
-
let output = SAVE_CURSOR;
|
|
107
|
+
redrawChangedLines(previousLines, previousParkedRow) {
|
|
108
|
+
let output = this.moveToTop(previousParkedRow) + SAVE_CURSOR;
|
|
91
109
|
for (let index = 0; index < this.dynamicLines.length; index += 1) {
|
|
92
110
|
if (previousLines[index] === this.dynamicLines[index])
|
|
93
111
|
continue;
|
|
@@ -96,7 +114,7 @@ export class TuiScreen {
|
|
|
96
114
|
output += `\x1b[${index}B`;
|
|
97
115
|
output += `\r${this.dynamicLines[index]}${CLEAR_LINE_RIGHT}`;
|
|
98
116
|
}
|
|
99
|
-
output += RESTORE_CURSOR;
|
|
117
|
+
output += RESTORE_CURSOR + this.moveFromTopToParkedCursor();
|
|
100
118
|
this.out.write(output);
|
|
101
119
|
}
|
|
102
120
|
buildDynamicPaint() {
|
|
@@ -105,11 +123,23 @@ export class TuiScreen {
|
|
|
105
123
|
return '';
|
|
106
124
|
}
|
|
107
125
|
this.dynamicVisualCount = this.dynamicLines.length;
|
|
108
|
-
// Park the cursor back at the start of the region (column 1, top row).
|
|
109
126
|
let output = this.dynamicLines.join('\n') + '\r';
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
127
|
+
const rowsUp = this.dynamicVisualCount - 1 - this.parkedRow;
|
|
128
|
+
if (rowsUp > 0)
|
|
129
|
+
output += `\x1b[${rowsUp}A`;
|
|
130
|
+
if (this.parkedColumn > 0)
|
|
131
|
+
output += `\x1b[${this.parkedColumn}C`;
|
|
132
|
+
return output;
|
|
133
|
+
}
|
|
134
|
+
moveToTop(row = this.parkedRow) {
|
|
135
|
+
return `\r${row > 0 ? `\x1b[${row}A` : ''}`;
|
|
136
|
+
}
|
|
137
|
+
moveFromTopToParkedCursor() {
|
|
138
|
+
let output = '\r';
|
|
139
|
+
if (this.parkedRow > 0)
|
|
140
|
+
output += `\x1b[${this.parkedRow}B`;
|
|
141
|
+
if (this.parkedColumn > 0)
|
|
142
|
+
output += `\x1b[${this.parkedColumn}C`;
|
|
113
143
|
return output;
|
|
114
144
|
}
|
|
115
145
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screen.js","sourceRoot":"","sources":["../../../src/tui/screen.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"screen.js","sourceRoot":"","sources":["../../../src/tui/screen.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,WAAW,GAAG,WAAW,CAAC;AAChC,MAAM,WAAW,GAAG,WAAW,CAAC;AAChC,MAAM,UAAU,GAAG,SAAS,CAAC;AAC7B,MAAM,gBAAgB,GAAG,SAAS,CAAC;AACnC,MAAM,WAAW,GAAG,QAAQ,CAAC;AAC7B,MAAM,cAAc,GAAG,QAAQ,CAAC;AAiBhC,MAAM,OAAO,SAAS;IAQS;IAPrB,YAAY,GAAa,EAAE,CAAC;IAC5B,kBAAkB,GAAG,CAAC,CAAC;IACvB,SAAS,GAAG,CAAC,CAAC;IACd,YAAY,GAAG,CAAC,CAAC;IACjB,OAAO,GAAG,KAAK,CAAC;IACP,cAAc,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAEtD,YAA6B,GAAiB;QAAjB,QAAG,GAAH,GAAG,CAAc;IAAG,CAAC;IAElD,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAC/C,CAAC;IAED,0EAA0E;IAC1E,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAC9C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,UAAU,GAAG,WAAW,CAAC,CAAC;QAC5D,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,wEAAwE;IACxE,YAAY,CAAC,KAAwB;QACnC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC/B,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,MAAM,IAAI,IAAI,KAAK;YAAE,OAAO,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACzE,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,IAAI,CAAC,SAAS,EAAE;cACZ,UAAU;cACV,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;cAClB,IAAI;cACJ,IAAI,CAAC,iBAAiB,EAAE,CAC7B,CAAC;IACJ,CAAC;IAED,yEAAyE;IACzE,UAAU,CAAC,KAAwB,EAAE,MAA8B;QACjE,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YACrD,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;YAC7B,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACrD,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;YACvB,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBACpC,SAAS,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;gBACxE,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;YACzD,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAChC,MAAM,QAAQ,GAAG,MAAM,IAAI,OAAO,CAAC,MAAM,GAAG,OAAO;YACjD,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC;YAC1E,CAAC,CAAC,CAAC,CAAC;QACN,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC;QAC9D,MAAM,aAAa,GAAG,MAAM;YAC1B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAChF,CAAC,CAAC,CAAC,CAAC;QACN,MAAM,gBAAgB,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,IACE,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC;eACpC,IAAI,CAAC,SAAS,KAAK,aAAa;eAChC,IAAI,CAAC,YAAY,KAAK,gBAAgB;YACzC,OAAO;QAET,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC;QACxC,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC;QACzC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,gBAAgB,CAAC;QACrC,IAAI,aAAa,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtE,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS;QAC/C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,GAAG,UAAU,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAC5F,CAAC;IAEO,kBAAkB,CAAC,aAAgC,EAAE,iBAAyB;QACpF,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,GAAG,WAAW,CAAC;QAC7D,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YACjE,IAAI,aAAa,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;gBAAE,SAAS;YAChE,MAAM,IAAI,cAAc,CAAC;YACzB,IAAI,KAAK,GAAG,CAAC;gBAAE,MAAM,IAAI,QAAQ,KAAK,GAAG,CAAC;YAC1C,MAAM,IAAI,KAAK,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,gBAAgB,EAAE,CAAC;QAC/D,CAAC;QACD,MAAM,IAAI,cAAc,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAC5D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC;IAEO,iBAAiB;QACvB,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;YAC5B,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;QACnD,IAAI,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QAC5D,IAAI,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,QAAQ,MAAM,GAAG,CAAC;QAC5C,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC;YAAE,MAAM,IAAI,QAAQ,IAAI,CAAC,YAAY,GAAG,CAAC;QAClE,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,SAAS,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS;QACpC,OAAO,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC9C,CAAC;IAEO,yBAAyB;QAC/B,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC;YAAE,MAAM,IAAI,QAAQ,IAAI,CAAC,SAAS,GAAG,CAAC;QAC5D,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC;YAAE,MAAM,IAAI,QAAQ,IAAI,CAAC,YAAY,GAAG,CAAC;QAClE,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAED,SAAS,SAAS,CAAC,IAAuB,EAAE,KAAwB;IAClE,OAAO,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5F,CAAC"}
|