charness 3.6.1 → 3.7.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 +267 -0
- package/DEVELOPMENT.md +31 -5
- package/MIGRATION_RENAME_TO_CHARNESS.md +3 -2
- package/README.md +84 -782
- package/SETUP.md +37 -10
- package/agent-plugin/.claude-plugin/plugin.json +7 -0
- package/agent-plugin/README.md +35 -0
- package/agent-plugin/skills/charness-delegate-claude/SKILL.md +85 -0
- package/agent-plugin/skills/charness-delegate-claude/summarize-events.py +90 -0
- package/agent-plugin/skills/charness-delegate-opencode/SKILL.md +68 -0
- package/agent-plugin/skills/charness-manager/SKILL.md +152 -0
- package/dist/adapters/adapterNames.d.ts +6 -0
- package/dist/adapters/adapterNames.d.ts.map +1 -1
- package/dist/adapters/adapterNames.js +8 -2
- package/dist/adapters/adapterNames.js.map +1 -1
- package/dist/adapters/claudeCliAdapter.d.ts +8 -0
- package/dist/adapters/claudeCliAdapter.d.ts.map +1 -1
- package/dist/adapters/claudeCliAdapter.js +42 -5
- package/dist/adapters/claudeCliAdapter.js.map +1 -1
- package/dist/adapters/claudeJsonStreamAdapter.d.ts +10 -9
- package/dist/adapters/claudeJsonStreamAdapter.d.ts.map +1 -1
- package/dist/adapters/claudeJsonStreamAdapter.js +53 -55
- package/dist/adapters/claudeJsonStreamAdapter.js.map +1 -1
- package/dist/adapters/createAdapter.d.ts +8 -0
- package/dist/adapters/createAdapter.d.ts.map +1 -1
- package/dist/adapters/createAdapter.js +14 -2
- package/dist/adapters/createAdapter.js.map +1 -1
- package/dist/adapters/openCodeAdapter.d.ts +43 -6
- package/dist/adapters/openCodeAdapter.d.ts.map +1 -1
- package/dist/adapters/openCodeAdapter.js +95 -6
- package/dist/adapters/openCodeAdapter.js.map +1 -1
- package/dist/agentLogin/agentLogin.d.ts +1 -1
- package/dist/agentLogin/agentLogin.d.ts.map +1 -1
- package/dist/apiRetryKick.d.ts +4 -3
- package/dist/apiRetryKick.d.ts.map +1 -1
- package/dist/apiRetryKick.js +16 -9
- package/dist/apiRetryKick.js.map +1 -1
- package/dist/bot.d.ts.map +1 -1
- package/dist/bot.js +1313 -381
- package/dist/bot.js.map +1 -1
- package/dist/cli/claudeProfiles.d.ts +11 -6
- package/dist/cli/claudeProfiles.d.ts.map +1 -1
- package/dist/cli/claudeProfiles.js +50 -22
- package/dist/cli/claudeProfiles.js.map +1 -1
- package/dist/cli/hot.d.ts +5 -0
- package/dist/cli/hot.d.ts.map +1 -1
- package/dist/cli/hot.js +71 -25
- package/dist/cli/hot.js.map +1 -1
- package/dist/cli/tscWatchGuard.d.ts +95 -0
- package/dist/cli/tscWatchGuard.d.ts.map +1 -0
- package/dist/cli/tscWatchGuard.js +295 -0
- package/dist/cli/tscWatchGuard.js.map +1 -0
- package/dist/cli.js +12 -1
- package/dist/cli.js.map +1 -1
- package/dist/connectors/jira/answerSink.d.ts +10 -0
- package/dist/connectors/jira/answerSink.d.ts.map +1 -1
- package/dist/connectors/jira/answerSink.js +13 -0
- package/dist/connectors/jira/answerSink.js.map +1 -1
- package/dist/connectors/jira/config.d.ts +2 -0
- package/dist/connectors/jira/config.d.ts.map +1 -1
- package/dist/connectors/jira/config.js +9 -1
- package/dist/connectors/jira/config.js.map +1 -1
- package/dist/connectors/jira/connector.d.ts +11 -1
- package/dist/connectors/jira/connector.d.ts.map +1 -1
- package/dist/connectors/jira/connector.js +7 -0
- package/dist/connectors/jira/connector.js.map +1 -1
- package/dist/connectors/jira/inbound.d.ts +27 -4
- package/dist/connectors/jira/inbound.d.ts.map +1 -1
- package/dist/connectors/jira/inbound.js +69 -8
- package/dist/connectors/jira/inbound.js.map +1 -1
- package/dist/connectors/jira/issueBlocks.d.ts +5 -0
- package/dist/connectors/jira/issueBlocks.d.ts.map +1 -1
- package/dist/connectors/jira/issueBlocks.js +11 -0
- package/dist/connectors/jira/issueBlocks.js.map +1 -1
- package/dist/connectors/telegram/bindPicker.d.ts +5 -0
- package/dist/connectors/telegram/bindPicker.d.ts.map +1 -1
- package/dist/connectors/telegram/bindPicker.js +18 -1
- package/dist/connectors/telegram/bindPicker.js.map +1 -1
- package/dist/connectors/telegram/bindPickerClaims.d.ts +46 -0
- package/dist/connectors/telegram/bindPickerClaims.d.ts.map +1 -0
- package/dist/connectors/telegram/bindPickerClaims.js +83 -0
- package/dist/connectors/telegram/bindPickerClaims.js.map +1 -0
- package/dist/connectors/telegram/bindSweep.d.ts +32 -0
- package/dist/connectors/telegram/bindSweep.d.ts.map +1 -0
- package/dist/connectors/telegram/bindSweep.js +47 -0
- package/dist/connectors/telegram/bindSweep.js.map +1 -0
- package/dist/connectors/telegram/bindingWelcome.d.ts +23 -0
- package/dist/connectors/telegram/bindingWelcome.d.ts.map +1 -0
- package/dist/connectors/telegram/bindingWelcome.js +26 -0
- package/dist/connectors/telegram/bindingWelcome.js.map +1 -0
- package/dist/connectors/telegram/botApiConnection.d.ts +74 -0
- package/dist/connectors/telegram/botApiConnection.d.ts.map +1 -0
- package/dist/connectors/telegram/botApiConnection.js +201 -0
- package/dist/connectors/telegram/botApiConnection.js.map +1 -0
- package/dist/connectors/telegram/commands/botCore.d.ts +8 -2
- package/dist/connectors/telegram/commands/botCore.d.ts.map +1 -1
- package/dist/connectors/telegram/commands/botSkills.d.ts +21 -0
- package/dist/connectors/telegram/commands/botSkills.d.ts.map +1 -0
- package/dist/connectors/telegram/commands/botSkills.js +133 -0
- package/dist/connectors/telegram/commands/botSkills.js.map +1 -0
- package/dist/connectors/telegram/commands/callbackMessage.d.ts +5 -0
- package/dist/connectors/telegram/commands/callbackMessage.d.ts.map +1 -1
- package/dist/connectors/telegram/commands/callbackMessage.js +9 -0
- package/dist/connectors/telegram/commands/callbackMessage.js.map +1 -1
- package/dist/connectors/telegram/commands/compaction.d.ts +65 -3
- package/dist/connectors/telegram/commands/compaction.d.ts.map +1 -1
- package/dist/connectors/telegram/commands/compaction.js +512 -94
- package/dist/connectors/telegram/commands/compaction.js.map +1 -1
- package/dist/connectors/telegram/commands/displayModes.d.ts +1 -1
- package/dist/connectors/telegram/commands/displayModes.d.ts.map +1 -1
- package/dist/connectors/telegram/commands/displayModes.js +6 -18
- package/dist/connectors/telegram/commands/displayModes.js.map +1 -1
- package/dist/connectors/telegram/commands/fallbackChain.js +5 -5
- package/dist/connectors/telegram/commands/fallbackChain.js.map +1 -1
- package/dist/connectors/telegram/commands/reminders.d.ts +1 -1
- package/dist/connectors/telegram/commands/reminders.d.ts.map +1 -1
- package/dist/connectors/telegram/commands/reminders.js +4 -15
- package/dist/connectors/telegram/commands/reminders.js.map +1 -1
- package/dist/connectors/telegram/commands/selfUpdate.d.ts.map +1 -1
- package/dist/connectors/telegram/commands/selfUpdate.js +1 -11
- package/dist/connectors/telegram/commands/selfUpdate.js.map +1 -1
- package/dist/connectors/telegram/commands/taskAgents.d.ts +22 -0
- package/dist/connectors/telegram/commands/taskAgents.d.ts.map +1 -0
- package/dist/connectors/telegram/commands/taskAgents.js +104 -0
- package/dist/connectors/telegram/commands/taskAgents.js.map +1 -0
- package/dist/connectors/telegram/commands/todo.d.ts +82 -0
- package/dist/connectors/telegram/commands/todo.d.ts.map +1 -0
- package/dist/connectors/telegram/commands/todo.js +384 -0
- package/dist/connectors/telegram/commands/todo.js.map +1 -0
- package/dist/connectors/telegram/commands/topicCommand.d.ts +6 -2
- package/dist/connectors/telegram/commands/topicCommand.d.ts.map +1 -1
- package/dist/connectors/telegram/commands/topicCommand.js +6 -9
- package/dist/connectors/telegram/commands/topicCommand.js.map +1 -1
- package/dist/connectors/telegram/openBindMessages.d.ts +45 -0
- package/dist/connectors/telegram/openBindMessages.d.ts.map +1 -0
- package/dist/connectors/telegram/openBindMessages.js +67 -0
- package/dist/connectors/telegram/openBindMessages.js.map +1 -0
- package/dist/connectors/telegram/outputFlushPlan.d.ts +49 -0
- package/dist/connectors/telegram/outputFlushPlan.d.ts.map +1 -1
- package/dist/connectors/telegram/outputFlushPlan.js +46 -0
- package/dist/connectors/telegram/outputFlushPlan.js.map +1 -1
- package/dist/connectors/telegram/pendingTopicName.d.ts +26 -0
- package/dist/connectors/telegram/pendingTopicName.d.ts.map +1 -0
- package/dist/connectors/telegram/pendingTopicName.js +27 -0
- package/dist/connectors/telegram/pendingTopicName.js.map +1 -0
- package/dist/connectors/test/connector.d.ts.map +1 -1
- package/dist/connectors/test/connector.js +6 -1
- package/dist/connectors/test/connector.js.map +1 -1
- package/dist/i18n/de.d.ts.map +1 -1
- package/dist/i18n/de.js +90 -7
- package/dist/i18n/de.js.map +1 -1
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +90 -7
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/es.d.ts.map +1 -1
- package/dist/i18n/es.js +90 -7
- package/dist/i18n/es.js.map +1 -1
- package/dist/i18n/fr.d.ts.map +1 -1
- package/dist/i18n/fr.js +90 -7
- package/dist/i18n/fr.js.map +1 -1
- package/dist/i18n/hi.d.ts.map +1 -1
- package/dist/i18n/hi.js +90 -7
- package/dist/i18n/hi.js.map +1 -1
- package/dist/i18n/ja.d.ts.map +1 -1
- package/dist/i18n/ja.js +90 -7
- package/dist/i18n/ja.js.map +1 -1
- package/dist/i18n/ka.d.ts.map +1 -1
- package/dist/i18n/ka.js +90 -7
- package/dist/i18n/ka.js.map +1 -1
- package/dist/i18n/pt.d.ts.map +1 -1
- package/dist/i18n/pt.js +90 -7
- package/dist/i18n/pt.js.map +1 -1
- package/dist/i18n/ru.d.ts.map +1 -1
- package/dist/i18n/ru.js +90 -7
- package/dist/i18n/ru.js.map +1 -1
- package/dist/i18n/uk.d.ts.map +1 -1
- package/dist/i18n/uk.js +90 -7
- package/dist/i18n/uk.js.map +1 -1
- package/dist/i18n/uz.d.ts.map +1 -1
- package/dist/i18n/uz.js +90 -7
- package/dist/i18n/uz.js.map +1 -1
- package/dist/i18n/zh.d.ts.map +1 -1
- package/dist/i18n/zh.js +90 -7
- package/dist/i18n/zh.js.map +1 -1
- package/dist/i18n.d.ts +1 -1
- package/dist/i18n.js +1 -1
- package/dist/installManager.d.ts +13 -0
- package/dist/installManager.d.ts.map +1 -1
- package/dist/installManager.js +38 -4
- package/dist/installManager.js.map +1 -1
- package/dist/instanceSettings.d.ts +40 -1
- package/dist/instanceSettings.d.ts.map +1 -1
- package/dist/instanceSettings.js +105 -26
- package/dist/instanceSettings.js.map +1 -1
- package/dist/openCodeQuestionFlow.d.ts +30 -0
- package/dist/openCodeQuestionFlow.d.ts.map +1 -1
- package/dist/openCodeQuestionFlow.js +43 -0
- package/dist/openCodeQuestionFlow.js.map +1 -1
- package/dist/postToSession.d.ts +20 -5
- package/dist/postToSession.d.ts.map +1 -1
- package/dist/postToSession.js +38 -7
- package/dist/postToSession.js.map +1 -1
- package/dist/remoteRun/cliArgs.d.ts +73 -0
- package/dist/remoteRun/cliArgs.d.ts.map +1 -0
- package/dist/remoteRun/cliArgs.js +197 -0
- package/dist/remoteRun/cliArgs.js.map +1 -0
- package/dist/remoteRun/commands.d.ts +56 -0
- package/dist/remoteRun/commands.d.ts.map +1 -0
- package/dist/remoteRun/commands.js +306 -0
- package/dist/remoteRun/commands.js.map +1 -0
- package/dist/remoteRun/depsPlan.d.ts +16 -0
- package/dist/remoteRun/depsPlan.d.ts.map +1 -0
- package/dist/remoteRun/depsPlan.js +82 -0
- package/dist/remoteRun/depsPlan.js.map +1 -0
- package/dist/remoteRun/exitCodes.d.ts +34 -0
- package/dist/remoteRun/exitCodes.d.ts.map +1 -0
- package/dist/remoteRun/exitCodes.js +38 -0
- package/dist/remoteRun/exitCodes.js.map +1 -0
- package/dist/remoteRun/foreground.d.ts +29 -0
- package/dist/remoteRun/foreground.d.ts.map +1 -0
- package/dist/remoteRun/foreground.js +159 -0
- package/dist/remoteRun/foreground.js.map +1 -0
- package/dist/remoteRun/interrupts.d.ts +17 -0
- package/dist/remoteRun/interrupts.d.ts.map +1 -0
- package/dist/remoteRun/interrupts.js +41 -0
- package/dist/remoteRun/interrupts.js.map +1 -0
- package/dist/remoteRun/jobFiles.d.ts +31 -0
- package/dist/remoteRun/jobFiles.d.ts.map +1 -0
- package/dist/remoteRun/jobFiles.js +84 -0
- package/dist/remoteRun/jobFiles.js.map +1 -0
- package/dist/remoteRun/jobFormat.d.ts +16 -0
- package/dist/remoteRun/jobFormat.d.ts.map +1 -0
- package/dist/remoteRun/jobFormat.js +130 -0
- package/dist/remoteRun/jobFormat.js.map +1 -0
- package/dist/remoteRun/jobId.d.ts +15 -0
- package/dist/remoteRun/jobId.d.ts.map +1 -0
- package/dist/remoteRun/jobId.js +85 -0
- package/dist/remoteRun/jobId.js.map +1 -0
- package/dist/remoteRun/jobMeta.d.ts +18 -0
- package/dist/remoteRun/jobMeta.d.ts.map +1 -0
- package/dist/remoteRun/jobMeta.js +33 -0
- package/dist/remoteRun/jobMeta.js.map +1 -0
- package/dist/remoteRun/jobQuery.d.ts +12 -0
- package/dist/remoteRun/jobQuery.d.ts.map +1 -0
- package/dist/remoteRun/jobQuery.js +22 -0
- package/dist/remoteRun/jobQuery.js.map +1 -0
- package/dist/remoteRun/jobRecords.d.ts +22 -0
- package/dist/remoteRun/jobRecords.d.ts.map +1 -0
- package/dist/remoteRun/jobRecords.js +145 -0
- package/dist/remoteRun/jobRecords.js.map +1 -0
- package/dist/remoteRun/jobState.d.ts +62 -0
- package/dist/remoteRun/jobState.d.ts.map +1 -0
- package/dist/remoteRun/jobState.js +132 -0
- package/dist/remoteRun/jobState.js.map +1 -0
- package/dist/remoteRun/leaseTiming.d.ts +18 -0
- package/dist/remoteRun/leaseTiming.d.ts.map +1 -0
- package/dist/remoteRun/leaseTiming.js +43 -0
- package/dist/remoteRun/leaseTiming.js.map +1 -0
- package/dist/remoteRun/output.d.ts +35 -0
- package/dist/remoteRun/output.d.ts.map +1 -0
- package/dist/remoteRun/output.js +82 -0
- package/dist/remoteRun/output.js.map +1 -0
- package/dist/remoteRun/pathPatterns.d.ts +33 -0
- package/dist/remoteRun/pathPatterns.d.ts.map +1 -0
- package/dist/remoteRun/pathPatterns.js +115 -0
- package/dist/remoteRun/pathPatterns.js.map +1 -0
- package/dist/remoteRun/probe.d.ts +56 -0
- package/dist/remoteRun/probe.d.ts.map +1 -0
- package/dist/remoteRun/probe.js +123 -0
- package/dist/remoteRun/probe.js.map +1 -0
- package/dist/remoteRun/project.d.ts +26 -0
- package/dist/remoteRun/project.d.ts.map +1 -0
- package/dist/remoteRun/project.js +159 -0
- package/dist/remoteRun/project.js.map +1 -0
- package/dist/remoteRun/projectConfig.d.ts +38 -0
- package/dist/remoteRun/projectConfig.d.ts.map +1 -0
- package/dist/remoteRun/projectConfig.js +87 -0
- package/dist/remoteRun/projectConfig.js.map +1 -0
- package/dist/remoteRun/remoteRunCli.d.ts +15 -0
- package/dist/remoteRun/remoteRunCli.d.ts.map +1 -0
- package/dist/remoteRun/remoteRunCli.js +144 -0
- package/dist/remoteRun/remoteRunCli.js.map +1 -0
- package/dist/remoteRun/remoteRunError.d.ts +14 -0
- package/dist/remoteRun/remoteRunError.d.ts.map +1 -0
- package/dist/remoteRun/remoteRunError.js +28 -0
- package/dist/remoteRun/remoteRunError.js.map +1 -0
- package/dist/remoteRun/rsync.d.ts +17 -0
- package/dist/remoteRun/rsync.d.ts.map +1 -0
- package/dist/remoteRun/rsync.js +39 -0
- package/dist/remoteRun/rsync.js.map +1 -0
- package/dist/remoteRun/runnerClient.d.ts +50 -0
- package/dist/remoteRun/runnerClient.d.ts.map +1 -0
- package/dist/remoteRun/runnerClient.js +139 -0
- package/dist/remoteRun/runnerClient.js.map +1 -0
- package/dist/remoteRun/runners.d.ts +57 -0
- package/dist/remoteRun/runners.d.ts.map +1 -0
- package/dist/remoteRun/runners.js +181 -0
- package/dist/remoteRun/runners.js.map +1 -0
- package/dist/remoteRun/runnersConfig.d.ts +44 -0
- package/dist/remoteRun/runnersConfig.d.ts.map +1 -0
- package/dist/remoteRun/runnersConfig.js +107 -0
- package/dist/remoteRun/runnersConfig.js.map +1 -0
- package/dist/remoteRun/safeCopy.d.ts +31 -0
- package/dist/remoteRun/safeCopy.d.ts.map +1 -0
- package/dist/remoteRun/safeCopy.js +137 -0
- package/dist/remoteRun/safeCopy.js.map +1 -0
- package/dist/remoteRun/sendPlan.d.ts +67 -0
- package/dist/remoteRun/sendPlan.d.ts.map +1 -0
- package/dist/remoteRun/sendPlan.js +139 -0
- package/dist/remoteRun/sendPlan.js.map +1 -0
- package/dist/remoteRun/ssh.d.ts +62 -0
- package/dist/remoteRun/ssh.d.ts.map +1 -0
- package/dist/remoteRun/ssh.js +202 -0
- package/dist/remoteRun/ssh.js.map +1 -0
- package/dist/remoteRun/submit.d.ts +29 -0
- package/dist/remoteRun/submit.d.ts.map +1 -0
- package/dist/remoteRun/submit.js +142 -0
- package/dist/remoteRun/submit.js.map +1 -0
- package/dist/requests/answerRequest.d.ts +5 -0
- package/dist/requests/answerRequest.d.ts.map +1 -1
- package/dist/requests/answerRequest.js +16 -1
- package/dist/requests/answerRequest.js.map +1 -1
- package/dist/requests/requestLedger.d.ts +13 -0
- package/dist/requests/requestLedger.d.ts.map +1 -1
- package/dist/requests/requestLedger.js +9 -0
- package/dist/requests/requestLedger.js.map +1 -1
- package/dist/requests/topicRequestSettle.d.ts +30 -0
- package/dist/requests/topicRequestSettle.d.ts.map +1 -0
- package/dist/requests/topicRequestSettle.js +23 -0
- package/dist/requests/topicRequestSettle.js.map +1 -0
- package/dist/requests/wakeUpEngine.d.ts +4 -0
- package/dist/requests/wakeUpEngine.d.ts.map +1 -1
- package/dist/requests/wakeUpEngine.js +5 -1
- package/dist/requests/wakeUpEngine.js.map +1 -1
- package/dist/scheduler/delivery.d.ts +2 -0
- package/dist/scheduler/delivery.d.ts.map +1 -1
- package/dist/scheduler/delivery.js +8 -4
- package/dist/scheduler/delivery.js.map +1 -1
- package/dist/scheduler/mcpSurface.d.ts +59 -10
- package/dist/scheduler/mcpSurface.d.ts.map +1 -1
- package/dist/scheduler/mcpSurface.js +276 -79
- package/dist/scheduler/mcpSurface.js.map +1 -1
- package/dist/scheduler/recurrence.d.ts +5 -0
- package/dist/scheduler/recurrence.d.ts.map +1 -1
- package/dist/scheduler/recurrence.js +12 -2
- package/dist/scheduler/recurrence.js.map +1 -1
- package/dist/scheduler/strictToolInput.d.ts +45 -0
- package/dist/scheduler/strictToolInput.d.ts.map +1 -0
- package/dist/scheduler/strictToolInput.js +155 -0
- package/dist/scheduler/strictToolInput.js.map +1 -0
- package/dist/scheduler/types.d.ts +5 -0
- package/dist/scheduler/types.d.ts.map +1 -1
- package/dist/scheduler/workerWatch.d.ts +23 -0
- package/dist/scheduler/workerWatch.d.ts.map +1 -0
- package/dist/scheduler/workerWatch.js +26 -0
- package/dist/scheduler/workerWatch.js.map +1 -0
- package/dist/selfUpdate/emittedSource.d.ts +11 -0
- package/dist/selfUpdate/emittedSource.d.ts.map +1 -0
- package/dist/selfUpdate/emittedSource.js +24 -0
- package/dist/selfUpdate/emittedSource.js.map +1 -0
- package/dist/selfUpdate/gitSource.d.ts +0 -6
- package/dist/selfUpdate/gitSource.d.ts.map +1 -1
- package/dist/selfUpdate/gitSource.js +2 -18
- package/dist/selfUpdate/gitSource.js.map +1 -1
- package/dist/selfUpdate/updatePending.d.ts +1 -1
- package/dist/sendErrorClassifier.d.ts +10 -0
- package/dist/sendErrorClassifier.d.ts.map +1 -1
- package/dist/sendErrorClassifier.js +22 -0
- package/dist/sendErrorClassifier.js.map +1 -1
- package/dist/state.d.ts +78 -7
- package/dist/state.d.ts.map +1 -1
- package/dist/state.js +125 -8
- package/dist/state.js.map +1 -1
- package/dist/stateFile.d.ts +9 -0
- package/dist/stateFile.d.ts.map +1 -0
- package/dist/stateFile.js +57 -0
- package/dist/stateFile.js.map +1 -0
- package/dist/stt/sttInstall.d.ts +7 -3
- package/dist/stt/sttInstall.d.ts.map +1 -1
- package/dist/stt/sttInstall.js +8 -4
- package/dist/stt/sttInstall.js.map +1 -1
- package/dist/stt/sttSettings.d.ts +2 -1
- package/dist/stt/sttSettings.d.ts.map +1 -1
- package/dist/stt/sttSettings.js +3 -2
- package/dist/stt/sttSettings.js.map +1 -1
- package/dist/stt/transcribeChain.js +2 -0
- package/dist/stt/transcribeChain.js.map +1 -1
- package/dist/testTimings.d.ts +13 -3
- package/dist/testTimings.d.ts.map +1 -1
- package/dist/testTimings.js +26 -2
- package/dist/testTimings.js.map +1 -1
- package/dist/todos/board.d.ts +83 -0
- package/dist/todos/board.d.ts.map +1 -0
- package/dist/todos/board.js +227 -0
- package/dist/todos/board.js.map +1 -0
- package/dist/todos/format.d.ts +33 -0
- package/dist/todos/format.d.ts.map +1 -0
- package/dist/todos/format.js +90 -0
- package/dist/todos/format.js.map +1 -0
- package/dist/todos/merge.d.ts +46 -0
- package/dist/todos/merge.d.ts.map +1 -0
- package/dist/todos/merge.js +137 -0
- package/dist/todos/merge.js.map +1 -0
- package/dist/todos/midTurn.d.ts +75 -0
- package/dist/todos/midTurn.d.ts.map +1 -0
- package/dist/todos/midTurn.js +214 -0
- package/dist/todos/midTurn.js.map +1 -0
- package/dist/todos/nag.d.ts +85 -0
- package/dist/todos/nag.d.ts.map +1 -0
- package/dist/todos/nag.js +103 -0
- package/dist/todos/nag.js.map +1 -0
- package/dist/todos/order.d.ts +25 -0
- package/dist/todos/order.d.ts.map +1 -0
- package/dist/todos/order.js +61 -0
- package/dist/todos/order.js.map +1 -0
- package/dist/todos/projects.d.ts +102 -0
- package/dist/todos/projects.d.ts.map +1 -0
- package/dist/todos/projects.js +342 -0
- package/dist/todos/projects.js.map +1 -0
- package/dist/todos/registry.d.ts +64 -0
- package/dist/todos/registry.d.ts.map +1 -0
- package/dist/todos/registry.js +116 -0
- package/dist/todos/registry.js.map +1 -0
- package/dist/todos/reminderEngine.d.ts +78 -0
- package/dist/todos/reminderEngine.d.ts.map +1 -0
- package/dist/todos/reminderEngine.js +162 -0
- package/dist/todos/reminderEngine.js.map +1 -0
- package/dist/todos/store.d.ts +34 -0
- package/dist/todos/store.d.ts.map +1 -0
- package/dist/todos/store.js +208 -0
- package/dist/todos/store.js.map +1 -0
- package/dist/todos/tools.d.ts +26 -0
- package/dist/todos/tools.d.ts.map +1 -0
- package/dist/todos/tools.js +25 -0
- package/dist/todos/tools.js.map +1 -0
- package/dist/todos/types.d.ts +85 -0
- package/dist/todos/types.d.ts.map +1 -0
- package/dist/todos/types.js +30 -0
- package/dist/todos/types.js.map +1 -0
- package/dist/trackers/taskAgentLimit.d.ts +58 -0
- package/dist/trackers/taskAgentLimit.d.ts.map +1 -0
- package/dist/trackers/taskAgentLimit.js +62 -0
- package/dist/trackers/taskAgentLimit.js.map +1 -0
- package/dist/trackers/taskAgentSlots.d.ts +109 -0
- package/dist/trackers/taskAgentSlots.d.ts.map +1 -0
- package/dist/trackers/taskAgentSlots.js +227 -0
- package/dist/trackers/taskAgentSlots.js.map +1 -0
- package/dist/trackers/types.d.ts +14 -0
- package/dist/trackers/types.d.ts.map +1 -0
- package/dist/trackers/types.js +3 -0
- package/dist/trackers/types.js.map +1 -0
- package/dist/types.d.ts +80 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/adoptReplayGate.d.ts +16 -0
- package/dist/utils/adoptReplayGate.d.ts.map +1 -0
- package/dist/utils/adoptReplayGate.js +35 -0
- package/dist/utils/adoptReplayGate.js.map +1 -0
- package/dist/utils/agentPlugin.d.ts +113 -0
- package/dist/utils/agentPlugin.d.ts.map +1 -0
- package/dist/utils/agentPlugin.js +192 -0
- package/dist/utils/agentPlugin.js.map +1 -0
- package/dist/utils/autoContinueOnLimit.d.ts +7 -4
- package/dist/utils/autoContinueOnLimit.d.ts.map +1 -1
- package/dist/utils/autoContinueOnLimit.js +8 -5
- package/dist/utils/autoContinueOnLimit.js.map +1 -1
- package/dist/utils/botSkills.d.ts +62 -0
- package/dist/utils/botSkills.d.ts.map +1 -0
- package/dist/utils/botSkills.js +53 -0
- package/dist/utils/botSkills.js.map +1 -0
- package/dist/utils/botSkillsSetting.d.ts +7 -0
- package/dist/utils/botSkillsSetting.d.ts.map +1 -0
- package/dist/utils/botSkillsSetting.js +9 -0
- package/dist/utils/botSkillsSetting.js.map +1 -0
- package/dist/utils/claudeCodeVersion.d.ts +7 -0
- package/dist/utils/claudeCodeVersion.d.ts.map +1 -1
- package/dist/utils/claudeCodeVersion.js +14 -1
- package/dist/utils/claudeCodeVersion.js.map +1 -1
- package/dist/utils/claudeCompactHook.d.ts +33 -15
- package/dist/utils/claudeCompactHook.d.ts.map +1 -1
- package/dist/utils/claudeCompactHook.js +36 -17
- package/dist/utils/claudeCompactHook.js.map +1 -1
- package/dist/utils/claudeCompactSummary.d.ts +15 -0
- package/dist/utils/claudeCompactSummary.d.ts.map +1 -0
- package/dist/utils/claudeCompactSummary.js +96 -0
- package/dist/utils/claudeCompactSummary.js.map +1 -0
- package/dist/utils/claudeLimitSwitch.d.ts +11 -9
- package/dist/utils/claudeLimitSwitch.d.ts.map +1 -1
- package/dist/utils/claudeLimitSwitch.js +18 -16
- package/dist/utils/claudeLimitSwitch.js.map +1 -1
- package/dist/utils/claudeProfiles.d.ts +5 -0
- package/dist/utils/claudeProfiles.d.ts.map +1 -1
- package/dist/utils/claudeProfiles.js +14 -0
- package/dist/utils/claudeProfiles.js.map +1 -1
- package/dist/utils/claudeSessionTitle.d.ts +2 -1
- package/dist/utils/claudeSessionTitle.d.ts.map +1 -1
- package/dist/utils/claudeSessionTitle.js +14 -14
- package/dist/utils/claudeSessionTitle.js.map +1 -1
- package/dist/utils/claudeUsage.d.ts +95 -15
- package/dist/utils/claudeUsage.d.ts.map +1 -1
- package/dist/utils/claudeUsage.js +241 -41
- package/dist/utils/claudeUsage.js.map +1 -1
- package/dist/utils/claudeUsageRefresher.d.ts +10 -0
- package/dist/utils/claudeUsageRefresher.d.ts.map +1 -1
- package/dist/utils/claudeUsageRefresher.js +11 -0
- package/dist/utils/claudeUsageRefresher.js.map +1 -1
- package/dist/utils/claudeUserEntry.d.ts +50 -0
- package/dist/utils/claudeUserEntry.d.ts.map +1 -0
- package/dist/utils/claudeUserEntry.js +120 -0
- package/dist/utils/claudeUserEntry.js.map +1 -0
- package/dist/utils/clearThreadOutputQueues.d.ts +4 -3
- package/dist/utils/clearThreadOutputQueues.d.ts.map +1 -1
- package/dist/utils/clearThreadOutputQueues.js +1 -1
- package/dist/utils/clearThreadOutputQueues.js.map +1 -1
- package/dist/utils/compactOnIdle.d.ts +33 -13
- package/dist/utils/compactOnIdle.d.ts.map +1 -1
- package/dist/utils/compactOnIdle.js +35 -15
- package/dist/utils/compactOnIdle.js.map +1 -1
- package/dist/utils/fallbackBridge.d.ts +5 -0
- package/dist/utils/fallbackBridge.d.ts.map +1 -1
- package/dist/utils/fallbackBridge.js +19 -3
- package/dist/utils/fallbackBridge.js.map +1 -1
- package/dist/utils/fallbackChain.d.ts +9 -3
- package/dist/utils/fallbackChain.d.ts.map +1 -1
- package/dist/utils/fallbackChain.js +21 -3
- package/dist/utils/fallbackChain.js.map +1 -1
- package/dist/utils/fileSendPlan.d.ts +6 -0
- package/dist/utils/fileSendPlan.d.ts.map +1 -1
- package/dist/utils/fileSendPlan.js +11 -0
- package/dist/utils/fileSendPlan.js.map +1 -1
- package/dist/utils/fileSendService.d.ts +7 -1
- package/dist/utils/fileSendService.d.ts.map +1 -1
- package/dist/utils/fileSendService.js +6 -2
- package/dist/utils/fileSendService.js.map +1 -1
- package/dist/utils/groupFinalizePlan.d.ts +8 -10
- package/dist/utils/groupFinalizePlan.d.ts.map +1 -1
- package/dist/utils/groupFinalizePlan.js +8 -12
- package/dist/utils/groupFinalizePlan.js.map +1 -1
- package/dist/utils/jsonStreamHost.d.ts +13 -0
- package/dist/utils/jsonStreamHost.d.ts.map +1 -1
- package/dist/utils/jsonStreamHost.js +13 -0
- package/dist/utils/jsonStreamHost.js.map +1 -1
- package/dist/utils/messageSendService.d.ts +5 -3
- package/dist/utils/messageSendService.d.ts.map +1 -1
- package/dist/utils/messageSendService.js +12 -5
- package/dist/utils/messageSendService.js.map +1 -1
- package/dist/utils/openCodeCompactPlugin.d.ts +39 -14
- package/dist/utils/openCodeCompactPlugin.d.ts.map +1 -1
- package/dist/utils/openCodeCompactPlugin.js +106 -38
- package/dist/utils/openCodeCompactPlugin.js.map +1 -1
- package/dist/utils/promptDelivery.d.ts +29 -12
- package/dist/utils/promptDelivery.d.ts.map +1 -1
- package/dist/utils/promptDelivery.js +13 -5
- package/dist/utils/promptDelivery.js.map +1 -1
- package/dist/utils/sentKindsSummary.d.ts +10 -0
- package/dist/utils/sentKindsSummary.d.ts.map +1 -0
- package/dist/utils/sentKindsSummary.js +18 -0
- package/dist/utils/sentKindsSummary.js.map +1 -0
- package/dist/utils/telegramError.d.ts +6 -0
- package/dist/utils/telegramError.d.ts.map +1 -1
- package/dist/utils/telegramError.js +12 -0
- package/dist/utils/telegramError.js.map +1 -1
- package/dist/utils/topicView.d.ts +1 -1
- package/dist/utils/topicView.js +1 -1
- package/dist/utils/transcribeAudio.d.ts +10 -0
- package/dist/utils/transcribeAudio.d.ts.map +1 -1
- package/dist/utils/transcribeAudio.js +22 -3
- package/dist/utils/transcribeAudio.js.map +1 -1
- package/dist/utils/transcriptErrorTime.d.ts +8 -0
- package/dist/utils/transcriptErrorTime.d.ts.map +1 -0
- package/dist/utils/transcriptErrorTime.js +56 -0
- package/dist/utils/transcriptErrorTime.js.map +1 -0
- package/dist/utils/wedgeRecovery.d.ts +2 -0
- package/dist/utils/wedgeRecovery.d.ts.map +1 -1
- package/dist/utils/wedgeRecovery.js +1 -1
- package/dist/utils/wedgeRecovery.js.map +1 -1
- package/package.json +11 -3
- package/remoteRun/runner.sh +1242 -0
- package/stt/gigaam_sidecar.py +555 -50
package/dist/postToSession.d.ts
CHANGED
|
@@ -4,11 +4,12 @@
|
|
|
4
4
|
* conversation's own sleeping session, else starts one if needed — let a
|
|
5
5
|
* BUSY session finish its turn (up to {@link waitIdleTimeoutMs} — live work is
|
|
6
6
|
* never interrupted on purpose; after the bound the forward takes the normal
|
|
7
|
-
* interrupt path)
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
7
|
+
* interrupt path) and ensure the session again once it did (the stop that
|
|
8
|
+
* follows a per-turn conversation's turn may have put it to sleep), then forward —
|
|
9
|
+
* unless an armed usage-limit wait holds the prompt, checked before the session
|
|
10
|
+
* is touched and again right before the forward (R23). The scheduler's fire
|
|
11
|
+
* (steps 3–4) and the Jira connector's requests share it. Every side effect is
|
|
12
|
+
* injected, so the wait loop runs on a fake clock in tests.
|
|
12
13
|
*/
|
|
13
14
|
/** Poll cadence for the wait-for-idle loop: re-check the busy probe every 5s. */
|
|
14
15
|
export declare const busyPollIntervalMs = 5000;
|
|
@@ -91,4 +92,18 @@ export type PostToSessionResult = {
|
|
|
91
92
|
export declare function postToSession(deps: PostToSessionDeps, conversationKey: string, prompt: string | SessionPromptText, fallbackAdapterName?: string, options?: {
|
|
92
93
|
heldText?: string;
|
|
93
94
|
}): Promise<PostToSessionResult>;
|
|
95
|
+
/**
|
|
96
|
+
* @name PostToIdleSessionDeps
|
|
97
|
+
* @description `checkIsIdle` = the session is live and not working right now; `forward` writes the prompt.
|
|
98
|
+
*/
|
|
99
|
+
export interface PostToIdleSessionDeps {
|
|
100
|
+
checkIsIdle: () => boolean;
|
|
101
|
+
forward: () => Promise<void>;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* @description The idle-only sibling of {@link postToSession} for a bot-made technical prompt (the todo list's
|
|
105
|
+
* staleness reminder): it never ensures, resumes or starts a session and never waits for a turn — a session that is
|
|
106
|
+
* not idle at this moment gets nothing (`false`). A forward that throws is logged and reads as not posted.
|
|
107
|
+
*/
|
|
108
|
+
export declare function postToIdleSession(deps: PostToIdleSessionDeps): Promise<boolean>;
|
|
94
109
|
//# sourceMappingURL=postToSession.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postToSession.d.ts","sourceRoot":"","sources":["../src/postToSession.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"postToSession.d.ts","sourceRoot":"","sources":["../src/postToSession.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,iFAAiF;AACjF,eAAO,MAAM,kBAAkB,OAAO,CAAC;AAEvC;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,QAAiB,CAAC;AAEhD;;;;;;;;GAQG;AACH,MAAM,MAAM,0BAA0B,GAAG,SAAS,GAAG,YAAY,GAAG,cAAc,CAAC;AAEnF,iHAAiH;AACjH,MAAM,MAAM,mBAAmB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,0BAA0B,CAAA;CAAE,CAAC;AAErH;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,CAAC,OAAO,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,KAAK,MAAM,CAAC;CACtD;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;IAC3F,sFAAsF;IACtF,SAAS,EAAE,CAAC,eAAe,EAAE,MAAM,KAAK,OAAO,CAAC;IAChD;iGAC6F;IAC7F,aAAa,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,mBAAmB,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACvG,sDAAsD;IACtD,aAAa,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxE,GAAG,EAAE,MAAM,MAAM,CAAC;IAClB,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACtC;AAED;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAC3B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GAC7B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,0BAA0B,CAAA;CAAE,GACjD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAU3D,wBAAsB,aAAa,CACjC,IAAI,EAAE,iBAAiB,EACvB,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,GAAG,iBAAiB,EAClC,mBAAmB,CAAC,EAAE,MAAM,EAC5B,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GAClC,OAAO,CAAC,mBAAmB,CAAC,CA4B9B;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,OAAO,CAAC;IAC3B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC,CASrF"}
|
package/dist/postToSession.js
CHANGED
|
@@ -5,15 +5,17 @@
|
|
|
5
5
|
* conversation's own sleeping session, else starts one if needed — let a
|
|
6
6
|
* BUSY session finish its turn (up to {@link waitIdleTimeoutMs} — live work is
|
|
7
7
|
* never interrupted on purpose; after the bound the forward takes the normal
|
|
8
|
-
* interrupt path)
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
8
|
+
* interrupt path) and ensure the session again once it did (the stop that
|
|
9
|
+
* follows a per-turn conversation's turn may have put it to sleep), then forward —
|
|
10
|
+
* unless an armed usage-limit wait holds the prompt, checked before the session
|
|
11
|
+
* is touched and again right before the forward (R23). The scheduler's fire
|
|
12
|
+
* (steps 3–4) and the Jira connector's requests share it. Every side effect is
|
|
13
|
+
* injected, so the wait loop runs on a fake clock in tests.
|
|
13
14
|
*/
|
|
14
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
16
|
exports.waitIdleTimeoutMs = exports.busyPollIntervalMs = void 0;
|
|
16
17
|
exports.postToSession = postToSession;
|
|
18
|
+
exports.postToIdleSession = postToIdleSession;
|
|
17
19
|
/** Poll cadence for the wait-for-idle loop: re-check the busy probe every 5s. */
|
|
18
20
|
exports.busyPollIntervalMs = 5000;
|
|
19
21
|
/**
|
|
@@ -40,17 +42,46 @@ async function postToSession(deps, conversationKey, prompt, fallbackAdapterName,
|
|
|
40
42
|
const session = await deps.ensureSession(conversationKey, fallbackAdapterName);
|
|
41
43
|
if (!session.ok)
|
|
42
44
|
return { ok: false, reason: session.reason };
|
|
43
|
-
|
|
45
|
+
const isWaitingForTurn = deps.checkBusy(conversationKey);
|
|
46
|
+
if (isWaitingForTurn)
|
|
44
47
|
await waitForIdle(deps, conversationKey);
|
|
45
48
|
// Again: the turn waited out above may itself have hit the limit and armed a wait.
|
|
46
49
|
if (deps.holdForLimitResume?.(conversationKey, text, heldText))
|
|
47
50
|
return { ok: true, isHeld: true };
|
|
51
|
+
let isFresh = session.isFresh;
|
|
52
|
+
if (isWaitingForTurn) {
|
|
53
|
+
// The session found live may be asleep by now: a per-turn conversation stops its process right after the turn
|
|
54
|
+
// waited out above, and a prompt written to the stopped process is dropped. The ensure queues behind a stop in
|
|
55
|
+
// progress, resumes the session when it is over, and is a no-op on a live one. It cannot slip in BESIDE the stop:
|
|
56
|
+
// the stop is queued in the same tick the turn ends (`handleAgentTurnEnded`), before any poll can see the idle.
|
|
57
|
+
const woken = await deps.ensureSession(conversationKey, fallbackAdapterName);
|
|
58
|
+
if (!woken.ok)
|
|
59
|
+
return { ok: false, reason: woken.reason };
|
|
60
|
+
isFresh = isFresh || woken.isFresh;
|
|
61
|
+
}
|
|
48
62
|
try {
|
|
49
|
-
await deps.forwardPrompt(conversationKey, typeof prompt === 'string' ? prompt : prompt.buildText({ isFresh
|
|
63
|
+
await deps.forwardPrompt(conversationKey, typeof prompt === 'string' ? prompt : prompt.buildText({ isFresh }));
|
|
50
64
|
}
|
|
51
65
|
catch (error) {
|
|
52
66
|
return { ok: false, reason: 'forward-failed', error: error instanceof Error ? error.message : String(error) };
|
|
53
67
|
}
|
|
54
68
|
return { ok: true, isHeld: false };
|
|
55
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* @description The idle-only sibling of {@link postToSession} for a bot-made technical prompt (the todo list's
|
|
72
|
+
* staleness reminder): it never ensures, resumes or starts a session and never waits for a turn — a session that is
|
|
73
|
+
* not idle at this moment gets nothing (`false`). A forward that throws is logged and reads as not posted.
|
|
74
|
+
*/
|
|
75
|
+
async function postToIdleSession(deps) {
|
|
76
|
+
if (!deps.checkIsIdle())
|
|
77
|
+
return false;
|
|
78
|
+
try {
|
|
79
|
+
await deps.forward();
|
|
80
|
+
return true;
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
console.warn('[postToIdleSession] the forward failed:', error instanceof Error ? error.message : error);
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
56
87
|
//# sourceMappingURL=postToSession.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postToSession.js","sourceRoot":"","sources":["../src/postToSession.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"postToSession.js","sourceRoot":"","sources":["../src/postToSession.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { type RunnerCapability } from './probe';
|
|
2
|
+
/**
|
|
3
|
+
* @description The command line of `charness remote-run`, parsed. Options come only BEFORE the command and parsing stops at the first
|
|
4
|
+
* non-option word (like `env` and `ssh`); a command whose first word is a subcommand name goes after `--`. A subcommand is recognised
|
|
5
|
+
* only as the very first word, so `remote-run --bg ls build` runs `ls build` and `remote-run ls` lists jobs.
|
|
6
|
+
*/
|
|
7
|
+
export interface RemoteRunOptions {
|
|
8
|
+
/** `--runner`: use this one. */
|
|
9
|
+
runner: string | null;
|
|
10
|
+
/** `--needs`: the first runner that has this capability. */
|
|
11
|
+
needs: RunnerCapability | null;
|
|
12
|
+
/** `--group`: the Pueue group the job joins. */
|
|
13
|
+
group: string | null;
|
|
14
|
+
/** `--timeout` in seconds; `null` = the default. */
|
|
15
|
+
timeoutSeconds: number | null;
|
|
16
|
+
/** `--with-git`: send `.git` too. */
|
|
17
|
+
isWithGit: boolean;
|
|
18
|
+
/** `-e NAME=VALUE`, in order. */
|
|
19
|
+
env: Array<{
|
|
20
|
+
name: string;
|
|
21
|
+
value: string;
|
|
22
|
+
}>;
|
|
23
|
+
/** `--bg`: print the job id and return. */
|
|
24
|
+
isBackground: boolean;
|
|
25
|
+
}
|
|
26
|
+
export type RemoteRunCommand = {
|
|
27
|
+
kind: 'help';
|
|
28
|
+
} | {
|
|
29
|
+
kind: 'run';
|
|
30
|
+
options: RemoteRunOptions;
|
|
31
|
+
command: string;
|
|
32
|
+
} | {
|
|
33
|
+
kind: 'ls';
|
|
34
|
+
isAll: boolean;
|
|
35
|
+
} | {
|
|
36
|
+
kind: 'status';
|
|
37
|
+
jobId: string;
|
|
38
|
+
} | {
|
|
39
|
+
kind: 'logs';
|
|
40
|
+
jobId: string;
|
|
41
|
+
isFollow: boolean;
|
|
42
|
+
tail: number | null;
|
|
43
|
+
} | {
|
|
44
|
+
kind: 'wait';
|
|
45
|
+
jobId: string;
|
|
46
|
+
} | {
|
|
47
|
+
kind: 'kill';
|
|
48
|
+
jobId: string;
|
|
49
|
+
} | {
|
|
50
|
+
kind: 'fetch';
|
|
51
|
+
jobId: string;
|
|
52
|
+
} | {
|
|
53
|
+
kind: 'exec';
|
|
54
|
+
runner: string | null;
|
|
55
|
+
command: string;
|
|
56
|
+
} | {
|
|
57
|
+
kind: 'runners';
|
|
58
|
+
};
|
|
59
|
+
export type RemoteRunArgsParse = {
|
|
60
|
+
ok: true;
|
|
61
|
+
command: RemoteRunCommand;
|
|
62
|
+
} | {
|
|
63
|
+
ok: false;
|
|
64
|
+
error: string;
|
|
65
|
+
};
|
|
66
|
+
export declare const defaultTimeoutSeconds: number;
|
|
67
|
+
/** The longest `--timeout`: Node's timers keep delays only up to 2^31 ms (~24.8 days), a longer one fires at once and would kill the job. */
|
|
68
|
+
export declare const maxTimeoutSeconds: number;
|
|
69
|
+
/** @description `90m`, `3h`, `1h30m`, `45s`, `600` (seconds) as seconds; `null` when it is none of those or zero. */
|
|
70
|
+
export declare function parseDuration(text: string): number | null;
|
|
71
|
+
/** @description Parse the words after `charness remote-run`. */
|
|
72
|
+
export declare function parseRemoteRunArgs(words: readonly string[]): RemoteRunArgsParse;
|
|
73
|
+
//# sourceMappingURL=cliArgs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cliArgs.d.ts","sourceRoot":"","sources":["../../src/remoteRun/cliArgs.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,KAAK,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEpE;;;;GAIG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,gCAAgC;IAChC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,4DAA4D;IAC5D,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC/B,gDAAgD;IAChD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,oDAAoD;IACpD,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,qCAAqC;IACrC,SAAS,EAAE,OAAO,CAAC;IACnB,iCAAiC;IACjC,GAAG,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5C,2CAA2C;IAC3C,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,MAAM,gBAAgB,GACxB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,gBAAgB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC3D;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GACvE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AAExB,MAAM,MAAM,kBAAkB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,gBAAgB,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAExG,eAAO,MAAM,qBAAqB,QAAc,CAAC;AACjD,6IAA6I;AAC7I,eAAO,MAAM,iBAAiB,QAAmB,CAAC;AAOlD,qHAAqH;AACrH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKzD;AA+HD,gEAAgE;AAChE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,kBAAkB,CAwB/E"}
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.maxTimeoutSeconds = exports.defaultTimeoutSeconds = void 0;
|
|
4
|
+
exports.parseDuration = parseDuration;
|
|
5
|
+
exports.parseRemoteRunArgs = parseRemoteRunArgs;
|
|
6
|
+
const jobId_1 = require("./jobId");
|
|
7
|
+
const probe_1 = require("./probe");
|
|
8
|
+
exports.defaultTimeoutSeconds = 3 * 60 * 60;
|
|
9
|
+
/** The longest `--timeout`: Node's timers keep delays only up to 2^31 ms (~24.8 days), a longer one fires at once and would kill the job. */
|
|
10
|
+
exports.maxTimeoutSeconds = 7 * 24 * 60 * 60;
|
|
11
|
+
const groupNamePattern = /^[A-Za-z0-9][A-Za-z0-9_-]*$/;
|
|
12
|
+
const envNamePattern = /^[A-Za-z_][A-Za-z0-9_]*$/;
|
|
13
|
+
const durationPartPattern = /(\d+)([hms]?)/g;
|
|
14
|
+
const secondsPerUnit = { h: 3600, m: 60, s: 1, '': 1 };
|
|
15
|
+
/** @description `90m`, `3h`, `1h30m`, `45s`, `600` (seconds) as seconds; `null` when it is none of those or zero. */
|
|
16
|
+
function parseDuration(text) {
|
|
17
|
+
if (!/^(\d+[hms]?)+$/.test(text))
|
|
18
|
+
return null;
|
|
19
|
+
let totalSeconds = 0;
|
|
20
|
+
for (const part of text.matchAll(durationPartPattern))
|
|
21
|
+
totalSeconds += Number(part[1]) * secondsPerUnit[part[2]];
|
|
22
|
+
return totalSeconds > 0 ? totalSeconds : null;
|
|
23
|
+
}
|
|
24
|
+
function createDefaultOptions() {
|
|
25
|
+
return { runner: null, needs: null, group: null, timeoutSeconds: null, isWithGit: false, env: [], isBackground: false };
|
|
26
|
+
}
|
|
27
|
+
/** The value of `--name value` / `--name=value` at `index`, and how many words it took; `null` when this word is not that option. */
|
|
28
|
+
function readOptionValue(words, index, name) {
|
|
29
|
+
const word = words[index];
|
|
30
|
+
if (word === name) {
|
|
31
|
+
const value = words[index + 1];
|
|
32
|
+
return value === undefined ? { value: undefined, consumed: 1 } : { value, consumed: 2 };
|
|
33
|
+
}
|
|
34
|
+
return word.startsWith(`${name}=`) ? { value: word.slice(name.length + 1), consumed: 1 } : null;
|
|
35
|
+
}
|
|
36
|
+
function parseJobIdArgument(words, commandName) {
|
|
37
|
+
const [jobId, ...extra] = words;
|
|
38
|
+
if (jobId === undefined)
|
|
39
|
+
return { ok: false, error: `${commandName} needs a job id` };
|
|
40
|
+
if ((0, jobId_1.parseJobId)(jobId) === null)
|
|
41
|
+
return { ok: false, error: `"${jobId}" is not a job id (they look like box1-abc234)` };
|
|
42
|
+
if (extra.length > 0)
|
|
43
|
+
return { ok: false, error: `${commandName} takes one job id, got extra: ${extra.join(' ')}` };
|
|
44
|
+
return { ok: true, jobId };
|
|
45
|
+
}
|
|
46
|
+
function parseLogsArguments(words) {
|
|
47
|
+
let isFollow = false;
|
|
48
|
+
let tail = null;
|
|
49
|
+
const positional = [];
|
|
50
|
+
for (let index = 0; index < words.length; index += 1) {
|
|
51
|
+
const word = words[index];
|
|
52
|
+
const tailOption = readOptionValue(words, index, '--tail');
|
|
53
|
+
if (word === '-f' || word === '--follow')
|
|
54
|
+
isFollow = true;
|
|
55
|
+
else if (tailOption !== null) {
|
|
56
|
+
const lineCount = Number(tailOption.value);
|
|
57
|
+
if (tailOption.value === undefined || !Number.isInteger(lineCount) || lineCount < 1)
|
|
58
|
+
return { ok: false, error: '--tail needs a whole number of lines, 1 or more' };
|
|
59
|
+
tail = lineCount;
|
|
60
|
+
index += tailOption.consumed - 1;
|
|
61
|
+
}
|
|
62
|
+
else if (word.startsWith('-'))
|
|
63
|
+
return { ok: false, error: `unknown option for logs: ${word}` };
|
|
64
|
+
else
|
|
65
|
+
positional.push(word);
|
|
66
|
+
}
|
|
67
|
+
const jobId = parseJobIdArgument(positional, 'logs');
|
|
68
|
+
return jobId.ok ? { ok: true, command: { kind: 'logs', jobId: jobId.jobId, isFollow, tail } } : jobId;
|
|
69
|
+
}
|
|
70
|
+
function parseExecArguments(words) {
|
|
71
|
+
let runner = null;
|
|
72
|
+
let index = 0;
|
|
73
|
+
for (; index < words.length; index += 1) {
|
|
74
|
+
const word = words[index];
|
|
75
|
+
if (word === '--') {
|
|
76
|
+
index += 1;
|
|
77
|
+
break;
|
|
78
|
+
}
|
|
79
|
+
const runnerOption = readOptionValue(words, index, '--runner');
|
|
80
|
+
if (runnerOption !== null) {
|
|
81
|
+
if (runnerOption.value === undefined || runnerOption.value === '')
|
|
82
|
+
return { ok: false, error: '--runner needs a runner name' };
|
|
83
|
+
runner = runnerOption.value;
|
|
84
|
+
index += runnerOption.consumed - 1;
|
|
85
|
+
}
|
|
86
|
+
else if (word.startsWith('-'))
|
|
87
|
+
return { ok: false, error: `unknown option for exec: ${word}` };
|
|
88
|
+
else
|
|
89
|
+
break;
|
|
90
|
+
}
|
|
91
|
+
const commandWords = words.slice(index);
|
|
92
|
+
if (commandWords.length === 0)
|
|
93
|
+
return { ok: false, error: 'exec needs a command' };
|
|
94
|
+
return { ok: true, command: { kind: 'exec', runner, command: commandWords.join(' ') } };
|
|
95
|
+
}
|
|
96
|
+
/** The value-taking options of a run, each as the code that stores the value. */
|
|
97
|
+
function applyRunOption(options, name, value) {
|
|
98
|
+
if (name === '--runner') {
|
|
99
|
+
if (value === '' || value.startsWith('-'))
|
|
100
|
+
return '--runner needs a runner name';
|
|
101
|
+
options.runner = value;
|
|
102
|
+
}
|
|
103
|
+
else if (name === '--needs') {
|
|
104
|
+
const capability = probe_1.runnerCapabilities.find((candidate) => candidate === value);
|
|
105
|
+
if (capability === undefined)
|
|
106
|
+
return `--needs must be one of: ${probe_1.runnerCapabilities.join(', ')}`;
|
|
107
|
+
options.needs = capability;
|
|
108
|
+
}
|
|
109
|
+
else if (name === '--group') {
|
|
110
|
+
if (!groupNamePattern.test(value))
|
|
111
|
+
return '--group needs a Pueue group name (letters, digits, - and _)';
|
|
112
|
+
options.group = value;
|
|
113
|
+
}
|
|
114
|
+
else if (name === '--timeout') {
|
|
115
|
+
const seconds = parseDuration(value);
|
|
116
|
+
if (seconds === null)
|
|
117
|
+
return '--timeout needs a duration such as 90m, 3h, 1h30m or 600 (seconds)';
|
|
118
|
+
if (seconds > exports.maxTimeoutSeconds)
|
|
119
|
+
return '--timeout is at most 7 days';
|
|
120
|
+
options.timeoutSeconds = seconds;
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
const separator = value.indexOf('=');
|
|
124
|
+
const envName = separator > 0 ? value.slice(0, separator) : '';
|
|
125
|
+
const envValue = separator > 0 ? value.slice(separator + 1) : '';
|
|
126
|
+
if (!envNamePattern.test(envName))
|
|
127
|
+
return '-e needs NAME=VALUE (NAME: letters, digits, _)';
|
|
128
|
+
if (/[\n\0]/.test(envValue))
|
|
129
|
+
return `-e ${envName}: the value must not hold a newline`;
|
|
130
|
+
options.env.push({ name: envName, value: envValue });
|
|
131
|
+
}
|
|
132
|
+
return null;
|
|
133
|
+
}
|
|
134
|
+
const runValueOptions = ['--runner', '--needs', '--group', '--timeout'];
|
|
135
|
+
function parseRunArguments(words) {
|
|
136
|
+
const options = createDefaultOptions();
|
|
137
|
+
let index = 0;
|
|
138
|
+
for (; index < words.length; index += 1) {
|
|
139
|
+
const word = words[index];
|
|
140
|
+
if (word === '--') {
|
|
141
|
+
index += 1;
|
|
142
|
+
break;
|
|
143
|
+
}
|
|
144
|
+
if (!word.startsWith('-') || word === '-')
|
|
145
|
+
break;
|
|
146
|
+
if (word === '--bg') {
|
|
147
|
+
options.isBackground = true;
|
|
148
|
+
continue;
|
|
149
|
+
}
|
|
150
|
+
if (word === '--with-git') {
|
|
151
|
+
options.isWithGit = true;
|
|
152
|
+
continue;
|
|
153
|
+
}
|
|
154
|
+
const optionName = word === '-e' ? '-e' : runValueOptions.find((name) => word === name || word.startsWith(`${name}=`));
|
|
155
|
+
if (optionName === undefined)
|
|
156
|
+
return { ok: false, error: `unknown option: ${word} (options go before the command; a command that starts with "-" goes after --)` };
|
|
157
|
+
const reading = readOptionValue(words, index, optionName);
|
|
158
|
+
if (reading === null || reading.value === undefined)
|
|
159
|
+
return { ok: false, error: `${optionName} needs a value` };
|
|
160
|
+
const problem = applyRunOption(options, optionName, reading.value);
|
|
161
|
+
if (problem !== null)
|
|
162
|
+
return { ok: false, error: problem };
|
|
163
|
+
index += reading.consumed - 1;
|
|
164
|
+
}
|
|
165
|
+
const commandWords = words.slice(index);
|
|
166
|
+
if (commandWords.length === 0)
|
|
167
|
+
return { ok: false, error: 'no command given' };
|
|
168
|
+
return { ok: true, command: { kind: 'run', options, command: commandWords.join(' ') } };
|
|
169
|
+
}
|
|
170
|
+
/** @description Parse the words after `charness remote-run`. */
|
|
171
|
+
function parseRemoteRunArgs(words) {
|
|
172
|
+
const [first, ...rest] = words;
|
|
173
|
+
if (first === undefined || first === '--help' || first === '-h' || first === 'help')
|
|
174
|
+
return { ok: true, command: { kind: 'help' } };
|
|
175
|
+
switch (first) {
|
|
176
|
+
case 'ls': {
|
|
177
|
+
const unknown = rest.find((word) => word !== '--all');
|
|
178
|
+
return unknown === undefined ? { ok: true, command: { kind: 'ls', isAll: rest.length > 0 } } : { ok: false, error: `unknown argument for ls: ${unknown}` };
|
|
179
|
+
}
|
|
180
|
+
case 'runners':
|
|
181
|
+
return rest.length === 0 ? { ok: true, command: { kind: 'runners' } } : { ok: false, error: 'runners takes no arguments' };
|
|
182
|
+
case 'logs':
|
|
183
|
+
return parseLogsArguments(rest);
|
|
184
|
+
case 'exec':
|
|
185
|
+
return parseExecArguments(rest);
|
|
186
|
+
case 'status':
|
|
187
|
+
case 'wait':
|
|
188
|
+
case 'kill':
|
|
189
|
+
case 'fetch': {
|
|
190
|
+
const jobId = parseJobIdArgument(rest, first);
|
|
191
|
+
return jobId.ok ? { ok: true, command: { kind: first, jobId: jobId.jobId } } : jobId;
|
|
192
|
+
}
|
|
193
|
+
default:
|
|
194
|
+
return parseRunArguments(words);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
//# sourceMappingURL=cliArgs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cliArgs.js","sourceRoot":"","sources":["../../src/remoteRun/cliArgs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { RemoteRunCommand } from './cliArgs';
|
|
2
|
+
import { type InterruptSignal } from './exitCodes';
|
|
3
|
+
import { type CliIo } from './output';
|
|
4
|
+
import { type RunnerClient, type RunnerScript } from './runnerClient';
|
|
5
|
+
import type { RunnersConfig } from './runnersConfig';
|
|
6
|
+
/**
|
|
7
|
+
* @description The commands of `charness remote-run`, each as a function from its parsed arguments to an exit code. They share one
|
|
8
|
+
* context: the runners file, the local cache, the script to upload and the lease in force. Failures that are remote-run's own are
|
|
9
|
+
* {@link RemoteRunError}s; the entry point turns them into a `remote-run:` line on stderr and their exit code.
|
|
10
|
+
*/
|
|
11
|
+
export interface CommandContext {
|
|
12
|
+
io: CliIo;
|
|
13
|
+
config: RunnersConfig;
|
|
14
|
+
cacheDir: string;
|
|
15
|
+
script: RunnerScript;
|
|
16
|
+
leaseMs: number;
|
|
17
|
+
now: () => number;
|
|
18
|
+
}
|
|
19
|
+
export declare function runRunCommand(command: Extract<RemoteRunCommand, {
|
|
20
|
+
kind: 'run';
|
|
21
|
+
}>, context: CommandContext): Promise<number>;
|
|
22
|
+
export declare function runRunnersCommand(context: CommandContext): Promise<number>;
|
|
23
|
+
export declare function runLsCommand(command: Extract<RemoteRunCommand, {
|
|
24
|
+
kind: 'ls';
|
|
25
|
+
}>, context: CommandContext): Promise<number>;
|
|
26
|
+
export declare function runStatusCommand(command: Extract<RemoteRunCommand, {
|
|
27
|
+
kind: 'status';
|
|
28
|
+
}>, context: CommandContext): Promise<number>;
|
|
29
|
+
export declare function runLogsCommand(command: Extract<RemoteRunCommand, {
|
|
30
|
+
kind: 'logs';
|
|
31
|
+
}>, context: CommandContext): Promise<number>;
|
|
32
|
+
export interface WaitRetryPolicy {
|
|
33
|
+
attempts: number;
|
|
34
|
+
delayMs: number;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* @description Block until the runner says the job is done. A connection that drops is opened again a few times (the job is Pueue's, it
|
|
38
|
+
* keeps running); a refusal of the runner itself — no such job (never submitted, pruned, a submit that failed half-way) — is final and
|
|
39
|
+
* says so at once instead of passing for a bad network. Resolves with the signal that interrupted the wait, if one did.
|
|
40
|
+
*/
|
|
41
|
+
export declare function waitForJob(client: RunnerClient, jobId: string, retry?: WaitRetryPolicy): Promise<InterruptSignal | null>;
|
|
42
|
+
export declare function runWaitCommand(command: Extract<RemoteRunCommand, {
|
|
43
|
+
kind: 'wait';
|
|
44
|
+
}>, context: CommandContext): Promise<number>;
|
|
45
|
+
export declare function runFetchCommand(command: Extract<RemoteRunCommand, {
|
|
46
|
+
kind: 'fetch';
|
|
47
|
+
}>, context: CommandContext): Promise<number>;
|
|
48
|
+
export declare function runKillCommand(command: Extract<RemoteRunCommand, {
|
|
49
|
+
kind: 'kill';
|
|
50
|
+
}>, context: CommandContext): Promise<number>;
|
|
51
|
+
/** @description What `kill` tells the user: the runner answers `killed`, or `already-ended <code>` for a job that had finished (nothing was killed then). */
|
|
52
|
+
export declare function describeKillResult(jobId: string, runnerAnswer: string): string;
|
|
53
|
+
export declare function runExecCommand(command: Extract<RemoteRunCommand, {
|
|
54
|
+
kind: 'exec';
|
|
55
|
+
}>, context: CommandContext): Promise<number>;
|
|
56
|
+
//# sourceMappingURL=commands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/remoteRun/commands.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAqC,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAUtF,OAAO,EAAiC,KAAK,KAAK,EAAE,MAAM,UAAU,CAAC;AAIrE,OAAO,EAA6C,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEjH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIrD;;;;GAIG;AAEH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,KAAK,CAAC;IACV,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,MAAM,CAAC;CACnB;AAuCD,wBAAsB,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,gBAAgB,EAAE;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,CAAC,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAwBjI;AAID,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAKhF;AAyBD,wBAAsB,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,gBAAgB,EAAE;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,CAAC,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAmB/H;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,gBAAgB,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAOvI;AAID,wBAAsB,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,gBAAgB,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CA6BnI;AAID,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,eAAoF,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAoBlM;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,gBAAgB,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAgBnI;AAED,wBAAsB,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,gBAAgB,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAOrI;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,gBAAgB,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAMnI;AAED,6JAA6J;AAC7J,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAG9E;AAID,wBAAsB,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,gBAAgB,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAMnI"}
|