@wrongstack/tools 0.284.0 → 0.285.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/dist/_concurrency.d.ts +16 -0
- package/dist/_concurrency.d.ts.map +1 -0
- package/dist/_danger-detect.d.ts +54 -0
- package/dist/_danger-detect.d.ts.map +1 -0
- package/dist/_edit-match.d.ts +86 -0
- package/dist/_edit-match.d.ts.map +1 -0
- package/dist/_env.d.ts +6 -0
- package/dist/_env.d.ts.map +1 -0
- package/dist/_fetch-guard.d.ts +31 -0
- package/dist/_fetch-guard.d.ts.map +1 -0
- package/dist/_output-spool.d.ts +38 -0
- package/dist/_output-spool.d.ts.map +1 -0
- package/dist/_redact-command.d.ts +6 -0
- package/dist/_redact-command.d.ts.map +1 -0
- package/dist/_regex.d.ts +39 -0
- package/dist/_regex.d.ts.map +1 -0
- package/dist/_session-shell.d.ts +73 -0
- package/dist/_session-shell.d.ts.map +1 -0
- package/dist/_shell-pick.d.ts +158 -0
- package/dist/_shell-pick.d.ts.map +1 -0
- package/dist/_spawn-stream.d.ts +32 -0
- package/dist/_spawn-stream.d.ts.map +1 -0
- package/dist/_syntax-check.d.ts +16 -0
- package/dist/_syntax-check.d.ts.map +1 -0
- package/dist/_util.d.ts +68 -0
- package/dist/_util.d.ts.map +1 -0
- package/dist/_win32-resolve.d.ts +42 -0
- package/dist/_win32-resolve.d.ts.map +1 -0
- package/dist/audit.d.ts +4 -5
- package/dist/audit.d.ts.map +1 -0
- package/dist/audit.js +2743 -28
- package/dist/audit.js.map +7 -1
- package/dist/bash-kill-guard.d.ts +62 -0
- package/dist/bash-kill-guard.d.ts.map +1 -0
- package/dist/bash.d.ts +4 -5
- package/dist/bash.d.ts.map +1 -0
- package/dist/bash.js +59 -30
- package/dist/bash.js.map +7 -1
- package/dist/batch-tool-use.d.ts +4 -5
- package/dist/batch-tool-use.d.ts.map +1 -0
- package/dist/batch-tool-use.js +3 -3
- package/dist/batch-tool-use.js.map +7 -1
- package/dist/builtin.d.ts +7 -9
- package/dist/builtin.d.ts.map +1 -0
- package/dist/builtin.js +5282 -1019
- package/dist/builtin.js.map +7 -1
- package/dist/circuit-breaker.d.ts +4 -5
- package/dist/circuit-breaker.d.ts.map +1 -0
- package/dist/circuit-breaker.js +3 -3
- package/dist/circuit-breaker.js.map +7 -1
- package/dist/codebase-index/background-indexer.d.ts +116 -0
- package/dist/codebase-index/background-indexer.d.ts.map +1 -0
- package/dist/codebase-index/bm25.d.ts +40 -0
- package/dist/codebase-index/bm25.d.ts.map +1 -0
- package/dist/codebase-index/circuit-breaker.d.ts +94 -0
- package/dist/codebase-index/circuit-breaker.d.ts.map +1 -0
- package/dist/codebase-index/codebase-index-tool.d.ts +17 -0
- package/dist/codebase-index/codebase-index-tool.d.ts.map +1 -0
- package/dist/codebase-index/codebase-search-tool.d.ts +43 -0
- package/dist/codebase-index/codebase-search-tool.d.ts.map +1 -0
- package/dist/codebase-index/codebase-stats-tool.d.ts +23 -0
- package/dist/codebase-index/codebase-stats-tool.d.ts.map +1 -0
- package/dist/codebase-index/gitignore.d.ts +22 -0
- package/dist/codebase-index/gitignore.d.ts.map +1 -0
- package/dist/codebase-index/go-parser.d.ts +16 -0
- package/dist/codebase-index/go-parser.d.ts.map +1 -0
- package/dist/codebase-index/index-service.d.ts +25 -0
- package/dist/codebase-index/index-service.d.ts.map +1 -0
- package/dist/codebase-index/index.d.ts +23 -271
- package/dist/codebase-index/index.d.ts.map +1 -0
- package/dist/codebase-index/index.js +136 -68
- package/dist/codebase-index/index.js.map +7 -1
- package/dist/codebase-index/indexer.d.ts +28 -0
- package/dist/codebase-index/indexer.d.ts.map +1 -0
- package/dist/codebase-index/json-parser.d.ts +8 -0
- package/dist/codebase-index/json-parser.d.ts.map +1 -0
- package/dist/codebase-index/lsp-kind.d.ts +53 -0
- package/dist/codebase-index/lsp-kind.d.ts.map +1 -0
- package/dist/codebase-index/py-parser.d.ts +16 -0
- package/dist/codebase-index/py-parser.d.ts.map +1 -0
- package/dist/codebase-index/refs-extractor.d.ts +25 -0
- package/dist/codebase-index/refs-extractor.d.ts.map +1 -0
- package/dist/codebase-index/rs-parser.d.ts +8 -0
- package/dist/codebase-index/rs-parser.d.ts.map +1 -0
- package/dist/codebase-index/schema.d.ts +82 -0
- package/dist/codebase-index/schema.d.ts.map +1 -0
- package/dist/codebase-index/ts-parser.d.ts +30 -0
- package/dist/codebase-index/ts-parser.d.ts.map +1 -0
- package/dist/codebase-index/worker-protocol.d.ts +77 -0
- package/dist/codebase-index/worker-protocol.d.ts.map +1 -0
- package/dist/codebase-index/worker.d.ts +16 -2
- package/dist/codebase-index/worker.d.ts.map +1 -0
- package/dist/codebase-index/worker.js +103 -65
- package/dist/codebase-index/worker.js.map +7 -1
- package/dist/codebase-index/writer.d.ts +189 -0
- package/dist/codebase-index/writer.d.ts.map +1 -0
- package/dist/codebase-index/yaml-parser.d.ts +8 -0
- package/dist/codebase-index/yaml-parser.d.ts.map +1 -0
- package/dist/design.d.ts +38 -0
- package/dist/design.d.ts.map +1 -0
- package/dist/design.js +270 -0
- package/dist/design.js.map +7 -0
- package/dist/diff.d.ts +4 -5
- package/dist/diff.d.ts.map +1 -0
- package/dist/diff.js +14 -12
- package/dist/diff.js.map +7 -1
- package/dist/document.d.ts +4 -5
- package/dist/document.d.ts.map +1 -0
- package/dist/document.js +8 -7
- package/dist/document.js.map +7 -1
- package/dist/edit.d.ts +5 -36
- package/dist/edit.d.ts.map +1 -0
- package/dist/edit.js +28 -16
- package/dist/edit.js.map +7 -1
- package/dist/exec.d.ts +67 -2
- package/dist/exec.d.ts.map +1 -0
- package/dist/exec.js +50 -25
- package/dist/exec.js.map +7 -1
- package/dist/fetch.d.ts +4 -32
- package/dist/fetch.d.ts.map +1 -0
- package/dist/fetch.js +89 -77
- package/dist/fetch.js.map +7 -1
- package/dist/format.d.ts +4 -5
- package/dist/format.d.ts.map +1 -0
- package/dist/format.js +2415 -28
- package/dist/format.js.map +7 -1
- package/dist/git.d.ts +4 -5
- package/dist/git.d.ts.map +1 -0
- package/dist/git.js +10 -9
- package/dist/git.js.map +7 -1
- package/dist/glob.d.ts +4 -5
- package/dist/glob.d.ts.map +1 -0
- package/dist/glob.js +15 -12
- package/dist/glob.js.map +7 -1
- package/dist/grep.d.ts +4 -5
- package/dist/grep.d.ts.map +1 -0
- package/dist/grep.js +13 -10
- package/dist/grep.js.map +7 -1
- package/dist/index.d.ts +19 -724
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6088 -1690
- package/dist/index.js.map +7 -1
- package/dist/install.d.ts +4 -5
- package/dist/install.d.ts.map +1 -0
- package/dist/install.js +2680 -31
- package/dist/install.js.map +7 -1
- package/dist/json.d.ts +4 -5
- package/dist/json.d.ts.map +1 -0
- package/dist/json.js +13 -11
- package/dist/json.js.map +7 -1
- package/dist/kanban.d.ts +107 -0
- package/dist/kanban.d.ts.map +1 -0
- package/dist/kanban.js +845 -0
- package/dist/kanban.js.map +7 -0
- package/dist/languages/detect.d.ts +3 -0
- package/dist/languages/detect.d.ts.map +1 -0
- package/dist/languages/diagnostics.d.ts +15 -0
- package/dist/languages/diagnostics.d.ts.map +1 -0
- package/dist/languages/execute-tool.d.ts +34 -0
- package/dist/languages/execute-tool.d.ts.map +1 -0
- package/dist/languages/execute.d.ts +18 -0
- package/dist/languages/execute.d.ts.map +1 -0
- package/dist/languages/index.d.ts +12 -0
- package/dist/languages/index.d.ts.map +1 -0
- package/dist/languages/index.js +4457 -0
- package/dist/languages/index.js.map +7 -0
- package/dist/languages/legacy-bridge.d.ts +29 -0
- package/dist/languages/legacy-bridge.d.ts.map +1 -0
- package/dist/languages/package-tool.d.ts +29 -0
- package/dist/languages/package-tool.d.ts.map +1 -0
- package/dist/languages/plan.d.ts +4 -0
- package/dist/languages/plan.d.ts.map +1 -0
- package/dist/languages/profile-helpers.d.ts +14 -0
- package/dist/languages/profile-helpers.d.ts.map +1 -0
- package/dist/languages/profiles/additional.d.ts +3 -0
- package/dist/languages/profiles/additional.d.ts.map +1 -0
- package/dist/languages/profiles/primary.d.ts +3 -0
- package/dist/languages/profiles/primary.d.ts.map +1 -0
- package/dist/languages/registry.d.ts +11 -0
- package/dist/languages/registry.d.ts.map +1 -0
- package/dist/languages/tool.d.ts +32 -0
- package/dist/languages/tool.d.ts.map +1 -0
- package/dist/languages/types.d.ts +207 -0
- package/dist/languages/types.d.ts.map +1 -0
- package/dist/lint.d.ts +4 -5
- package/dist/lint.d.ts.map +1 -0
- package/dist/lint.js +2415 -27
- package/dist/lint.js.map +7 -1
- package/dist/logs.d.ts +4 -5
- package/dist/logs.d.ts.map +1 -0
- package/dist/logs.js +16 -10
- package/dist/logs.js.map +7 -1
- package/dist/memory.d.ts +7 -8
- package/dist/memory.d.ts.map +1 -0
- package/dist/memory.js +7 -5
- package/dist/memory.js.map +7 -1
- package/dist/mode.d.ts +4 -5
- package/dist/mode.d.ts.map +1 -0
- package/dist/mode.js +3 -3
- package/dist/mode.js.map +7 -1
- package/dist/next-steps.d.ts +5 -6
- package/dist/next-steps.d.ts.map +1 -0
- package/dist/next-steps.js +5 -4
- package/dist/next-steps.js.map +7 -1
- package/dist/outdated.d.ts +4 -5
- package/dist/outdated.d.ts.map +1 -0
- package/dist/outdated.js +4777 -68
- package/dist/outdated.js.map +7 -1
- package/dist/pack.d.ts +3 -6
- package/dist/pack.d.ts.map +1 -0
- package/dist/pack.js +5275 -1019
- package/dist/pack.js.map +7 -1
- package/dist/patch.d.ts +4 -5
- package/dist/patch.d.ts.map +1 -0
- package/dist/patch.js +18 -16
- package/dist/patch.js.map +7 -1
- package/dist/plan.d.ts +55 -0
- package/dist/plan.d.ts.map +1 -0
- package/dist/plan.js +280 -0
- package/dist/plan.js.map +7 -0
- package/dist/process-guardian.d.ts +100 -0
- package/dist/process-guardian.d.ts.map +1 -0
- package/dist/process-registry-persistent.d.ts +121 -0
- package/dist/process-registry-persistent.d.ts.map +1 -0
- package/dist/process-registry.d.ts +13 -17
- package/dist/process-registry.d.ts.map +1 -0
- package/dist/process-registry.js +15 -9
- package/dist/process-registry.js.map +7 -1
- package/dist/ps-slash.d.ts +106 -0
- package/dist/ps-slash.d.ts.map +1 -0
- package/dist/ps-slash.js +1291 -0
- package/dist/ps-slash.js.map +7 -0
- package/dist/read.d.ts +4 -5
- package/dist/read.d.ts.map +1 -0
- package/dist/read.js +13 -11
- package/dist/read.js.map +7 -1
- package/dist/replace.d.ts +4 -5
- package/dist/replace.d.ts.map +1 -0
- package/dist/replace.js +26 -13
- package/dist/replace.js.map +7 -1
- package/dist/scaffold.d.ts +4 -5
- package/dist/scaffold.d.ts.map +1 -0
- package/dist/scaffold.js +16 -14
- package/dist/scaffold.js.map +7 -1
- package/dist/search.d.ts +5 -6
- package/dist/search.d.ts.map +1 -0
- package/dist/search.js +24 -25
- package/dist/search.js.map +7 -1
- package/dist/set-working-dir.d.ts +18 -0
- package/dist/set-working-dir.d.ts.map +1 -0
- package/dist/shim/node-sqlite.d.ts +3 -0
- package/dist/shim/node-sqlite.d.ts.map +1 -0
- package/dist/skill.d.ts +45 -0
- package/dist/skill.d.ts.map +1 -0
- package/dist/skill.js +175 -0
- package/dist/skill.js.map +7 -0
- package/dist/spawn-background.d.ts +80 -0
- package/dist/spawn-background.d.ts.map +1 -0
- package/dist/task.d.ts +35 -0
- package/dist/task.d.ts.map +1 -0
- package/dist/task.js +380 -0
- package/dist/task.js.map +7 -0
- package/dist/test.d.ts +4 -5
- package/dist/test.d.ts.map +1 -0
- package/dist/test.js +2419 -27
- package/dist/test.js.map +7 -1
- package/dist/todo.d.ts +4 -5
- package/dist/todo.d.ts.map +1 -0
- package/dist/todo.js +5 -5
- package/dist/todo.js.map +7 -1
- package/dist/tool-diff.d.ts +16 -17
- package/dist/tool-diff.d.ts.map +1 -0
- package/dist/tool-diff.js +11 -3
- package/dist/tool-diff.js.map +7 -1
- package/dist/tool-help.d.ts +4 -5
- package/dist/tool-help.d.ts.map +1 -0
- package/dist/tool-help.js +3 -3
- package/dist/tool-help.js.map +7 -1
- package/dist/tool-icon-map.d.ts +45 -0
- package/dist/tool-icon-map.d.ts.map +1 -0
- package/dist/tool-icons.d.ts +5 -6
- package/dist/tool-icons.d.ts.map +1 -0
- package/dist/tool-icons.js +16 -4
- package/dist/tool-icons.js.map +7 -1
- package/dist/tool-search.d.ts +4 -5
- package/dist/tool-search.d.ts.map +1 -0
- package/dist/tool-search.js +3 -3
- package/dist/tool-search.js.map +7 -1
- package/dist/tool-summary.d.ts +4 -5
- package/dist/tool-summary.d.ts.map +1 -0
- package/dist/tool-summary.js +5 -3
- package/dist/tool-summary.js.map +7 -1
- package/dist/tool-use.d.ts +4 -5
- package/dist/tool-use.d.ts.map +1 -0
- package/dist/tool-use.js +3 -3
- package/dist/tool-use.js.map +7 -1
- package/dist/tree.d.ts +4 -5
- package/dist/tree.d.ts.map +1 -0
- package/dist/tree.js +11 -9
- package/dist/tree.js.map +7 -1
- package/dist/typecheck.d.ts +4 -5
- package/dist/typecheck.d.ts.map +1 -0
- package/dist/typecheck.js +2416 -28
- package/dist/typecheck.js.map +7 -1
- package/dist/write.d.ts +4 -5
- package/dist/write.d.ts.map +1 -0
- package/dist/write.js +21 -16
- package/dist/write.js.map +7 -1
- package/package.json +34 -6
- package/dist/background-indexer-BeDBxfSh.d.ts +0 -371
- package/dist/exec-2OKoT6tk.d.ts +0 -121
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/kanban.ts"],
|
|
4
|
+
"sourcesContent": ["// Kanban data model + manager moved from @wrongstack/core to the standalone\n// @wrongstack/kanban package; only the Tool contract and the task-graph\n// serialization types still come from core.\nimport type { SerializableTaskGraph, SerializedTaskGraph, Tool } from '@wrongstack/core';\nimport { deserializeTaskGraph, serializeTaskGraph } from '@wrongstack/core';\nimport type {\n AssignKanbanTaskInput,\n KanbanAgentAssignment,\n KanbanAgentRunStatus,\n KanbanBoard,\n KanbanBoardSummary,\n KanbanEvent,\n KanbanOrchestrationSnapshot,\n KanbanQueueHealth,\n KanbanSearchResult,\n KanbanTask,\n KanbanTaskPriority,\n KanbanTaskStatus,\n} from '@wrongstack/kanban';\nimport {\n addCheckToTask,\n addColumn,\n addDependency,\n addGoalMetricToTask,\n addLinkToTask,\n addNoteToTask,\n addTask,\n assignTask,\n claimReadyTask,\n copyTaskToBoard,\n createBoard,\n duplicateBoard,\n exportBoardAsMarkdown,\n exportBoardToTaskGraph,\n generateBoardFromDescription,\n getBoard,\n getKanbanOrchestrationSnapshot,\n getKanbanQueueHealth,\n getTask,\n getTaskChain,\n heartbeatTaskAssignment,\n listBoards,\n listKanbanEvents,\n listReadyTasks,\n mergeTasks,\n moveTask,\n parseLinesIntoTasks,\n recoverStaleTaskAssignments,\n releaseTaskClaim,\n removeBoard,\n removeColumn,\n removeTask,\n searchKanban,\n setTaskChain,\n splitTask,\n syncBoardFromTaskGraph,\n transferTaskToBoard,\n updateBoard,\n updateCheckOnTask,\n updateColumn,\n updateGoalMetricOnTask,\n updateTask,\n updateTaskAssignment,\n} from '@wrongstack/kanban';\n\ntype KanbanAction =\n | 'list_boards'\n | 'get_board'\n | 'create_board'\n | 'duplicate_board'\n | 'update_board'\n | 'delete_board'\n | 'generate_board'\n | 'export_markdown'\n | 'export_task_graph'\n | 'sync_task_graph'\n | 'search_tasks'\n | 'ready_tasks'\n | 'snapshot'\n | 'add_column'\n | 'update_column'\n | 'delete_column'\n | 'add_task'\n | 'split_task'\n | 'merge_tasks'\n | 'copy_task'\n | 'transfer_task'\n | 'get_task'\n | 'update_task'\n | 'move_task'\n | 'delete_task'\n | 'set_chain'\n | 'get_chain'\n | 'claim_task'\n | 'release_task'\n | 'assign_task'\n | 'mark_assignment'\n | 'heartbeat_assignment'\n | 'recover_stale'\n | 'events'\n | 'queue_health'\n | 'add_dependency'\n | 'add_goal_metric'\n | 'update_goal_metric'\n | 'add_check'\n | 'update_check'\n | 'add_note'\n | 'add_link';\n\ninterface KanbanToolInput extends Omit<AssignKanbanTaskInput, 'status'> {\n action: KanbanAction;\n boardId?: string | undefined;\n taskId?: string | undefined;\n columnId?: string | undefined;\n targetBoardId?: string | undefined;\n taskIds?: string[] | undefined;\n chainId?: string | undefined;\n title?: string | undefined;\n description?: string | undefined;\n tags?: string[] | undefined;\n labels?: string[] | undefined;\n priority?: KanbanTaskPriority | undefined;\n status?: KanbanTaskStatus | undefined;\n order?: number | undefined;\n targetColumnId?: string | undefined;\n moveTasksToColumnId?: string | undefined;\n query?: string | undefined;\n limit?: number | undefined;\n dependencyTaskId?: string | undefined;\n enforceDependencies?: boolean | undefined;\n childTitles?: string[] | undefined;\n inheritAssignment?: boolean | undefined;\n inheritLabels?: boolean | undefined;\n inheritSuccessCriteria?: boolean | undefined;\n inheritGoalMetrics?: boolean | undefined;\n inheritDependencies?: boolean | undefined;\n chainChildren?: boolean | undefined;\n rewireDependents?: boolean | undefined;\n closeSourceTasks?: boolean | undefined;\n metricId?: string | undefined;\n metricName?: string | undefined;\n metricTarget?: string | number | undefined;\n metricCurrent?: string | number | undefined;\n metricUnit?: string | undefined;\n metricStatus?: 'pending' | 'met' | 'missed' | 'waived' | undefined;\n metricNotes?: string | undefined;\n checkId?: string | undefined;\n checkDescription?: string | undefined;\n checkStatus?: 'pending' | 'passed' | 'failed' | 'skipped' | undefined;\n note?: string | undefined;\n author?: string | undefined;\n url?: string | undefined;\n linkTitle?: string | undefined;\n linkType?: 'issue' | 'pr' | 'doc' | 'commit' | 'design' | 'file' | 'url' | 'other' | undefined;\n context?: string | undefined;\n columns?: string[] | undefined;\n generatedBy?: string | undefined;\n includeTasks?: boolean | undefined;\n includeCompletedTasks?: boolean | undefined;\n preserveAssignment?: boolean | undefined;\n preserveDependencies?: boolean | undefined;\n leaseId?: string | undefined;\n claimedAt?: string | undefined;\n heartbeatAt?: string | undefined;\n leaseExpiresAt?: string | undefined;\n attempt?: number | undefined;\n maxAttempts?: number | undefined;\n costCeilingUsd?: number | undefined;\n retryPolicy?: 'off' | 'incremental' | 'exponential' | undefined;\n lastFailureKind?: string | undefined;\n subagentId?: string | undefined;\n runTaskId?: string | undefined;\n lastResult?: string | undefined;\n error?: string | undefined;\n assignmentStatus?: KanbanAgentRunStatus | undefined;\n releaseStatus?: 'pending' | 'ready' | 'blocked' | undefined;\n releaseReason?: string | undefined;\n clearAssignee?: boolean | undefined;\n recoveryMode?: 'auto' | 'release' | 'retry' | 'fail' | undefined;\n recoveryNow?: string | undefined;\n recoveryPolicyFailOnCostCeiling?: boolean | undefined;\n recoveryPolicyReleaseOnFailureKinds?: string[] | undefined;\n recoveryPolicyReleaseOnHeartbeatDue?: boolean | undefined;\n recoveryPolicyRetryPolicyOverride?: 'off' | 'incremental' | 'exponential' | undefined;\n taskGraph?: unknown;\n graphId?: string | undefined;\n specId?: string | undefined;\n sourceSystem?: string | undefined;\n phaseId?: string | undefined;\n preserveOriginTaskIds?: boolean | undefined;\n includeArchived?: boolean | undefined;\n archiveMissingTasks?: boolean | undefined;\n preserveManualDependencies?: boolean | undefined;\n}\n\ninterface KanbanToolOutput {\n ok: boolean;\n message: string;\n board?: KanbanBoard | undefined;\n boards?: KanbanBoardSummary[] | undefined;\n task?: KanbanTask | undefined;\n tasks?: KanbanSearchResult[] | undefined;\n recoveredTasks?: KanbanTask[] | undefined;\n events?: KanbanEvent[] | undefined;\n queueHealth?: KanbanQueueHealth | undefined;\n children?: KanbanTask[] | undefined;\n chain?: KanbanTask[] | undefined;\n snapshot?: KanbanOrchestrationSnapshot | undefined;\n taskGraph?: SerializedTaskGraph | undefined;\n markdown?: string | undefined;\n}\n\nexport const kanbanTool: Tool<KanbanToolInput, KanbanToolOutput> = {\n name: 'kanban',\n category: 'Project',\n description:\n 'Manage project-scoped multi-kanban boards stored under .wrongstack/kanbans. Supports board/task/column CRUD, ready-task queues, dependency chains, split/merge, assignment metadata, provider/model/fallback routing hints, goal metrics, success checks, notes, links, and run status updates.',\n usageHint:\n 'Use this for durable project kanban state. Agents should call snapshot/ready_tasks, then claim_task before working. Use set_chain for ordered work, split_task/merge_tasks when task scope changes, assign_task with provider/model/fallback hints before spawning, mark_assignment when starting or finishing, and release_task if the claim cannot be worked.',\n permission: 'confirm',\n mutating: true,\n capabilities: ['fs.write'],\n icon: 'task',\n timeoutMs: 5_000,\n inputSchema: {\n type: 'object',\n properties: {\n action: {\n type: 'string',\n enum: [\n 'list_boards',\n 'get_board',\n 'create_board',\n 'duplicate_board',\n 'update_board',\n 'delete_board',\n 'generate_board',\n 'export_markdown',\n 'export_task_graph',\n 'sync_task_graph',\n 'search_tasks',\n 'ready_tasks',\n 'snapshot',\n 'add_column',\n 'update_column',\n 'delete_column',\n 'add_task',\n 'split_task',\n 'merge_tasks',\n 'copy_task',\n 'transfer_task',\n 'get_task',\n 'update_task',\n 'move_task',\n 'delete_task',\n 'set_chain',\n 'get_chain',\n 'claim_task',\n 'release_task',\n 'assign_task',\n 'mark_assignment',\n 'heartbeat_assignment',\n 'recover_stale',\n 'events',\n 'queue_health',\n 'add_dependency',\n 'add_goal_metric',\n 'update_goal_metric',\n 'add_check',\n 'update_check',\n 'add_note',\n 'add_link',\n ],\n },\n boardId: { type: 'string' },\n taskId: { type: 'string' },\n taskIds: { type: 'array', items: { type: 'string' } },\n chainId: { type: 'string' },\n columnId: { type: 'string' },\n targetBoardId: { type: 'string' },\n targetColumnId: { type: 'string' },\n title: { type: 'string' },\n description: { type: 'string' },\n tags: { type: 'array', items: { type: 'string' } },\n labels: { type: 'array', items: { type: 'string' } },\n priority: { type: 'string', enum: ['critical', 'high', 'medium', 'low'] },\n status: {\n type: 'string',\n enum: [\n 'pending',\n 'ready',\n 'in_progress',\n 'blocked',\n 'review',\n 'completed',\n 'failed',\n 'archived',\n ],\n },\n order: { type: 'number' },\n query: { type: 'string' },\n limit: { type: 'number' },\n agentId: { type: 'string' },\n name: { type: 'string' },\n role: { type: 'string' },\n provider: { type: 'string' },\n model: { type: 'string' },\n fallbackProfile: { type: 'string' },\n fallbackModels: { type: 'array', items: { type: 'string' } },\n tools: { type: 'array', items: { type: 'string' } },\n allowedCapabilities: { type: 'array', items: { type: 'string' } },\n leaseId: { type: 'string' },\n claimedAt: { type: 'string' },\n heartbeatAt: { type: 'string' },\n leaseExpiresAt: { type: 'string' },\n attempt: { type: 'number' },\n maxAttempts: { type: 'number' },\n subagentId: { type: 'string' },\n runTaskId: { type: 'string' },\n lastResult: { type: 'string' },\n error: { type: 'string' },\n assignmentStatus: {\n type: 'string',\n enum: ['assigned', 'queued', 'running', 'completed', 'failed', 'cancelled'],\n },\n releaseStatus: { type: 'string', enum: ['pending', 'ready', 'blocked'] },\n releaseReason: { type: 'string' },\n clearAssignee: { type: 'boolean' },\n recoveryMode: { type: 'string', enum: ['release', 'retry', 'fail'] },\n recoveryNow: { type: 'string' },\n taskGraph: { type: 'object' },\n graphId: { type: 'string' },\n specId: { type: 'string' },\n sourceSystem: { type: 'string' },\n phaseId: { type: 'string' },\n preserveOriginTaskIds: { type: 'boolean' },\n includeArchived: { type: 'boolean' },\n archiveMissingTasks: { type: 'boolean' },\n preserveManualDependencies: { type: 'boolean' },\n dependencyTaskId: { type: 'string' },\n enforceDependencies: { type: 'boolean' },\n childTitles: { type: 'array', items: { type: 'string' } },\n inheritAssignment: { type: 'boolean' },\n inheritLabels: { type: 'boolean' },\n inheritSuccessCriteria: { type: 'boolean' },\n inheritGoalMetrics: { type: 'boolean' },\n inheritDependencies: { type: 'boolean' },\n chainChildren: { type: 'boolean' },\n rewireDependents: { type: 'boolean' },\n closeSourceTasks: { type: 'boolean' },\n metricId: { type: 'string' },\n metricName: { type: 'string' },\n metricTarget: { oneOf: [{ type: 'string' }, { type: 'number' }] },\n metricCurrent: { oneOf: [{ type: 'string' }, { type: 'number' }] },\n metricUnit: { type: 'string' },\n metricStatus: { type: 'string', enum: ['pending', 'met', 'missed', 'waived'] },\n metricNotes: { type: 'string' },\n checkId: { type: 'string' },\n checkDescription: { type: 'string' },\n checkStatus: { type: 'string', enum: ['pending', 'passed', 'failed', 'skipped'] },\n note: { type: 'string' },\n author: { type: 'string' },\n url: { type: 'string' },\n linkTitle: { type: 'string' },\n linkType: {\n type: 'string',\n enum: ['issue', 'pr', 'doc', 'commit', 'design', 'file', 'url', 'other'],\n },\n context: { type: 'string' },\n columns: { type: 'array', items: { type: 'string' } },\n generatedBy: { type: 'string' },\n includeTasks: { type: 'boolean' },\n includeCompletedTasks: { type: 'boolean' },\n preserveAssignment: { type: 'boolean' },\n preserveDependencies: { type: 'boolean' },\n moveTasksToColumnId: { type: 'string' },\n },\n required: ['action'],\n },\n async execute(input, ctx) {\n const projectRoot = ctx.projectRoot;\n if (!projectRoot) return fail('No project root is available.');\n\n try {\n switch (input.action) {\n case 'list_boards': {\n const boards = await listBoards(projectRoot);\n return { ok: true, message: `${boards.length} board(s).`, boards };\n }\n case 'get_board': {\n const board = await requireBoard(projectRoot, input.boardId);\n return board ? okBoard(board) : fail('Board not found.');\n }\n case 'create_board': {\n if (!input.title) return fail('create_board requires title.');\n const board = await createBoard(projectRoot, {\n title: input.title,\n ...(input.description !== undefined ? { description: input.description } : {}),\n ...(input.tags !== undefined ? { tags: input.tags } : {}),\n ...(input.generatedBy !== undefined ? { generatedBy: input.generatedBy } : {}),\n });\n return { ok: true, message: `Board created: ${board.title}`, board };\n }\n case 'update_board': {\n if (!input.boardId) return fail('update_board requires boardId.');\n const board = await updateBoard(projectRoot, input.boardId, {\n ...(input.title !== undefined ? { title: input.title } : {}),\n ...(input.description !== undefined ? { description: input.description } : {}),\n ...(input.tags !== undefined ? { tags: input.tags } : {}),\n });\n return board ? okBoard(board, 'Board updated.') : fail('Board not found.');\n }\n case 'duplicate_board': {\n if (!input.boardId) return fail('duplicate_board requires boardId.');\n const board = await duplicateBoard(projectRoot, input.boardId, {\n ...(input.title !== undefined ? { title: input.title } : {}),\n ...(input.generatedBy !== undefined ? { generatedBy: input.generatedBy } : {}),\n ...(input.includeTasks !== undefined ? { includeTasks: input.includeTasks } : {}),\n ...(input.includeCompletedTasks !== undefined\n ? { includeCompletedTasks: input.includeCompletedTasks }\n : {}),\n ...(input.preserveAssignment !== undefined\n ? { preserveAssignment: input.preserveAssignment }\n : {}),\n });\n return board ? okBoard(board, 'Board duplicated.') : fail('Board not found.');\n }\n case 'delete_board': {\n if (!input.boardId) return fail('delete_board requires boardId.');\n const removed = await removeBoard(projectRoot, input.boardId);\n return { ok: removed, message: removed ? 'Board deleted.' : 'Board not found.' };\n }\n case 'generate_board': {\n if (!input.description) return fail('generate_board requires description.');\n const boardInput = generateBoardFromDescription({\n description: input.description,\n ...(input.title !== undefined ? { title: input.title } : {}),\n ...(input.context !== undefined ? { context: input.context } : {}),\n ...(input.columns !== undefined ? { columns: input.columns } : {}),\n });\n const board = await createBoard(projectRoot, boardInput);\n for (const taskInput of parseLinesIntoTasks(\n input.description,\n board.columns[0]?.id ?? 'backlog',\n )) {\n await addTask(projectRoot, board.id, taskInput);\n }\n return okBoard((await getBoard(projectRoot, board.id)) ?? board, 'Board generated.');\n }\n case 'export_markdown': {\n const board = await requireBoard(projectRoot, input.boardId);\n if (!board) return fail('Board not found.');\n return {\n ok: true,\n message: 'Board exported.',\n board,\n markdown: exportBoardAsMarkdown(board),\n };\n }\n case 'export_task_graph': {\n if (!input.boardId) return fail('export_task_graph requires boardId.');\n const exported = await exportBoardToTaskGraph(projectRoot, input.boardId, {\n ...(input.graphId !== undefined ? { graphId: input.graphId } : {}),\n ...(input.specId !== undefined ? { specId: input.specId } : {}),\n ...(input.title !== undefined ? { title: input.title } : {}),\n ...(input.preserveOriginTaskIds !== undefined\n ? { preserveOriginTaskIds: input.preserveOriginTaskIds }\n : {}),\n ...(input.includeArchived !== undefined\n ? { includeArchived: input.includeArchived }\n : {}),\n });\n if (!exported) return fail('Board not found.');\n return {\n ok: true,\n message: `Task graph exported with ${exported.graph.nodes.size} node(s).`,\n board: exported.board,\n taskGraph: serializeTaskGraph(exported.graph),\n };\n }\n case 'sync_task_graph': {\n if (!input.boardId || !input.taskGraph) {\n return fail('sync_task_graph requires boardId and taskGraph.');\n }\n const graph = deserializeTaskGraph(input.taskGraph as SerializableTaskGraph);\n const result = await syncBoardFromTaskGraph(projectRoot, input.boardId, graph, {\n ...(input.title !== undefined ? { title: input.title } : {}),\n ...(input.description !== undefined ? { description: input.description } : {}),\n ...(input.tags !== undefined ? { tags: input.tags } : {}),\n ...(input.generatedBy !== undefined ? { generatedBy: input.generatedBy } : {}),\n ...(input.sourceSystem !== undefined ? { sourceSystem: input.sourceSystem } : {}),\n ...(input.phaseId !== undefined ? { phaseId: input.phaseId } : {}),\n ...(input.includeCompletedTasks !== undefined\n ? { includeCompletedTasks: input.includeCompletedTasks }\n : {}),\n ...(input.archiveMissingTasks !== undefined\n ? { archiveMissingTasks: input.archiveMissingTasks }\n : {}),\n ...(input.preserveManualDependencies !== undefined\n ? { preserveManualDependencies: input.preserveManualDependencies }\n : {}),\n });\n return result\n ? {\n ok: true,\n message: `Task graph synced: ${result.createdTaskIds.length} created, ${result.updatedTaskIds.length} updated, ${result.archivedTaskIds.length} archived.`,\n board: result.board,\n }\n : fail('Board not found.');\n }\n case 'search_tasks': {\n const tasks = await searchKanban(projectRoot, {\n query: input.query,\n boardId: input.boardId,\n assignedAgent: input.agentId,\n status: input.status,\n priority: input.priority,\n label: input.labels?.[0],\n chainId: input.chainId,\n });\n return { ok: true, message: `${tasks.length} task(s) matched.`, tasks };\n }\n case 'ready_tasks': {\n const tasks = await listReadyTasks(projectRoot, {\n query: input.query,\n boardId: input.boardId,\n assignedAgent: input.agentId,\n priority: input.priority,\n label: input.labels?.[0],\n chainId: input.chainId,\n limit: input.limit,\n });\n return { ok: true, message: `${tasks.length} ready task(s).`, tasks };\n }\n case 'snapshot': {\n const snapshot = await getKanbanOrchestrationSnapshot(projectRoot, {\n query: input.query,\n boardId: input.boardId,\n assignedAgent: input.agentId,\n status: input.status,\n priority: input.priority,\n label: input.labels?.[0],\n chainId: input.chainId,\n });\n return {\n ok: true,\n message: `${snapshot.ready.length} ready, ${snapshot.running.length} running, ${snapshot.blocked.length} blocked.`,\n snapshot,\n };\n }\n case 'add_column': {\n if (!input.boardId || !input.title) return fail('add_column requires boardId and title.');\n const result = await addColumn(projectRoot, input.boardId, {\n title: input.title,\n ...(input.description !== undefined ? { description: input.description } : {}),\n });\n return result ? okBoard(result.board, 'Column added.') : fail('Board not found.');\n }\n case 'update_column': {\n if (!input.boardId || !input.columnId)\n return fail('update_column requires boardId and columnId.');\n const board = await updateColumn(projectRoot, input.boardId, input.columnId, {\n ...(input.title !== undefined ? { title: input.title } : {}),\n ...(input.description !== undefined ? { description: input.description } : {}),\n ...(input.order !== undefined ? { order: input.order } : {}),\n });\n return board ? okBoard(board, 'Column updated.') : fail('Column not found.');\n }\n case 'delete_column': {\n if (!input.boardId || !input.columnId)\n return fail('delete_column requires boardId and columnId.');\n const board = await removeColumn(projectRoot, input.boardId, input.columnId, {\n moveTasksToColumnId: input.moveTasksToColumnId,\n });\n return board ? okBoard(board, 'Column deleted.') : fail('Column not found.');\n }\n case 'add_task': {\n if (!input.boardId || !input.title) return fail('add_task requires boardId and title.');\n const result = await addTask(projectRoot, input.boardId, taskInput(input));\n return result\n ? okTask(result.board, result.task, 'Task added.')\n : fail('Board not found.');\n }\n case 'split_task': {\n if (!input.boardId || !input.taskId || !input.childTitles?.length) {\n return fail('split_task requires boardId, taskId, and childTitles.');\n }\n const result = await splitTask(projectRoot, input.boardId, input.taskId, {\n titles: input.childTitles,\n ...(input.targetColumnId !== undefined ? { columnId: input.targetColumnId } : {}),\n ...(input.inheritAssignment !== undefined\n ? { inheritAssignment: input.inheritAssignment }\n : {}),\n ...(input.inheritLabels !== undefined ? { inheritLabels: input.inheritLabels } : {}),\n ...(input.inheritSuccessCriteria !== undefined\n ? { inheritSuccessCriteria: input.inheritSuccessCriteria }\n : {}),\n ...(input.inheritGoalMetrics !== undefined\n ? { inheritGoalMetrics: input.inheritGoalMetrics }\n : {}),\n ...(input.inheritDependencies !== undefined\n ? { inheritDependencies: input.inheritDependencies }\n : {}),\n ...(input.chainChildren !== undefined ? { chainChildren: input.chainChildren } : {}),\n ...(input.rewireDependents !== undefined\n ? { rewireDependents: input.rewireDependents }\n : {}),\n });\n return result\n ? {\n ok: true,\n message: `${result.children.length} child task(s) created.`,\n board: result.board,\n task: result.parent,\n children: result.children,\n }\n : fail('Task not found.');\n }\n case 'merge_tasks': {\n if (!input.boardId || !input.taskIds?.length || !input.title) {\n return fail('merge_tasks requires boardId, taskIds, and title.');\n }\n const result = await mergeTasks(projectRoot, input.boardId, {\n taskIds: input.taskIds,\n title: input.title,\n ...(input.description !== undefined ? { description: input.description } : {}),\n ...(input.targetColumnId !== undefined ? { targetColumnId: input.targetColumnId } : {}),\n ...(input.preserveAssignment !== undefined\n ? { preserveAssignment: input.preserveAssignment }\n : {}),\n ...(input.closeSourceTasks !== undefined\n ? { closeSourceTasks: input.closeSourceTasks }\n : {}),\n });\n return result\n ? okTask(result.board, result.task, 'Tasks merged.')\n : fail('Board or task not found.');\n }\n case 'copy_task': {\n if (!input.boardId || !input.taskId || !input.targetBoardId) {\n return fail('copy_task requires boardId, taskId, and targetBoardId.');\n }\n const result = await copyTaskToBoard(\n projectRoot,\n input.boardId,\n input.taskId,\n input.targetBoardId,\n {\n ...(input.targetColumnId !== undefined\n ? { targetColumnId: input.targetColumnId }\n : {}),\n ...(input.order !== undefined ? { targetOrder: input.order } : {}),\n ...(input.preserveAssignment !== undefined\n ? { preserveAssignment: input.preserveAssignment }\n : {}),\n ...(input.preserveDependencies !== undefined\n ? { preserveDependencies: input.preserveDependencies }\n : {}),\n },\n );\n return result\n ? okTask(result.targetBoard, result.task, 'Task copied to target board.')\n : fail('Board or task not found.');\n }\n case 'transfer_task': {\n if (!input.boardId || !input.taskId || !input.targetBoardId) {\n return fail('transfer_task requires boardId, taskId, and targetBoardId.');\n }\n const result = await transferTaskToBoard(\n projectRoot,\n input.boardId,\n input.taskId,\n input.targetBoardId,\n {\n ...(input.targetColumnId !== undefined\n ? { targetColumnId: input.targetColumnId }\n : {}),\n ...(input.order !== undefined ? { targetOrder: input.order } : {}),\n ...(input.preserveAssignment !== undefined\n ? { preserveAssignment: input.preserveAssignment }\n : {}),\n ...(input.preserveDependencies !== undefined\n ? { preserveDependencies: input.preserveDependencies }\n : {}),\n },\n );\n return result\n ? okTask(result.targetBoard, result.task, 'Task transferred to target board.')\n : fail('Board or task not found.');\n }\n case 'get_task': {\n if (!input.boardId || !input.taskId) return fail('get_task requires boardId and taskId.');\n const task = await getTask(projectRoot, input.boardId, input.taskId);\n return task ? { ok: true, message: 'Task loaded.', task } : fail('Task not found.');\n }\n case 'update_task': {\n if (!input.boardId || !input.taskId)\n return fail('update_task requires boardId and taskId.');\n const board = await updateTask(\n projectRoot,\n input.boardId,\n input.taskId,\n taskPatch(input),\n );\n return board ? okBoard(board, 'Task updated.') : fail('Task not found.');\n }\n case 'move_task': {\n if (!input.boardId || !input.taskId || !input.targetColumnId) {\n return fail('move_task requires boardId, taskId, and targetColumnId.');\n }\n const board = await moveTask(\n projectRoot,\n input.boardId,\n input.taskId,\n input.targetColumnId,\n input.order,\n );\n return board ? okBoard(board, 'Task moved.') : fail('Move failed.');\n }\n case 'delete_task': {\n if (!input.boardId || !input.taskId)\n return fail('delete_task requires boardId and taskId.');\n const board = await removeTask(projectRoot, input.boardId, input.taskId);\n return board ? okBoard(board, 'Task deleted.') : fail('Task not found.');\n }\n case 'set_chain': {\n if (!input.boardId || !input.taskIds?.length) {\n return fail('set_chain requires boardId and taskIds.');\n }\n const result = await setTaskChain(projectRoot, input.boardId, {\n taskIds: input.taskIds,\n ...(input.chainId !== undefined ? { chainId: input.chainId } : {}),\n ...(input.enforceDependencies !== undefined\n ? { enforceDependencies: input.enforceDependencies }\n : {}),\n });\n return result\n ? {\n ok: true,\n message: `Chain set: ${result.chainId}`,\n board: result.board,\n chain: result.tasks,\n }\n : fail('Board or task not found.');\n }\n case 'get_chain': {\n if (!input.boardId || !(input.taskId || input.chainId)) {\n return fail('get_chain requires boardId and taskId or chainId.');\n }\n const result = await getTaskChain(\n projectRoot,\n input.boardId,\n input.taskId ?? input.chainId ?? '',\n );\n return result\n ? {\n ok: true,\n message: `Chain loaded: ${result.chainId}`,\n board: result.board,\n chain: result.tasks,\n }\n : fail('Chain not found.');\n }\n case 'claim_task': {\n const result = await claimReadyTask(projectRoot, {\n ...(input.boardId !== undefined ? { boardId: input.boardId } : {}),\n ...(input.taskId !== undefined ? { taskId: input.taskId } : {}),\n ...assignmentInput(input),\n status: input.assignmentStatus ?? 'queued',\n });\n return result\n ? okTask(result.board, result.task, 'Task claimed.')\n : fail('No ready kanban task matched the claim.');\n }\n case 'release_task': {\n if (!input.boardId || !input.taskId) {\n return fail('release_task requires boardId and taskId.');\n }\n const board = await releaseTaskClaim(projectRoot, input.boardId, input.taskId, {\n ...(input.releaseStatus !== undefined ? { status: input.releaseStatus } : {}),\n ...(input.releaseReason !== undefined ? { reason: input.releaseReason } : {}),\n ...(input.clearAssignee !== undefined ? { clearAssignee: input.clearAssignee } : {}),\n });\n return board ? okBoard(board, 'Task claim released.') : fail('Task not found.');\n }\n case 'assign_task': {\n if (!input.boardId || !input.taskId)\n return fail('assign_task requires boardId and taskId.');\n const board = await assignTask(\n projectRoot,\n input.boardId,\n input.taskId,\n assignmentInput(input),\n );\n return board ? okBoard(board, 'Task assigned.') : fail('Task not found.');\n }\n case 'mark_assignment': {\n if (!input.boardId || !input.taskId)\n return fail('mark_assignment requires boardId and taskId.');\n const assignmentStatus =\n input.assignmentStatus ??\n (input.status === 'completed' ? 'completed' : input.error ? 'failed' : undefined);\n const board = await updateTaskAssignment(projectRoot, input.boardId, input.taskId, {\n ...(assignmentStatus !== undefined ? { status: assignmentStatus } : {}),\n ...(input.subagentId !== undefined ? { subagentId: input.subagentId } : {}),\n ...(input.runTaskId !== undefined ? { runTaskId: input.runTaskId } : {}),\n ...(input.lastResult !== undefined ? { lastResult: input.lastResult } : {}),\n ...(input.error !== undefined ? { error: input.error } : {}),\n ...(input.agentId !== undefined ? { agentId: input.agentId } : {}),\n ...(input.leaseId !== undefined ? { leaseId: input.leaseId } : {}),\n ...(input.claimedAt !== undefined ? { claimedAt: input.claimedAt } : {}),\n ...(input.heartbeatAt !== undefined ? { heartbeatAt: input.heartbeatAt } : {}),\n ...(input.leaseExpiresAt !== undefined ? { leaseExpiresAt: input.leaseExpiresAt } : {}),\n ...(input.attempt !== undefined ? { attempt: input.attempt } : {}),\n ...(input.maxAttempts !== undefined ? { maxAttempts: input.maxAttempts } : {}),\n });\n return board ? okBoard(board, 'Assignment updated.') : fail('Task not found.');\n }\n case 'heartbeat_assignment': {\n if (!input.boardId || !input.taskId) {\n return fail('heartbeat_assignment requires boardId and taskId.');\n }\n const board = await heartbeatTaskAssignment(projectRoot, input.boardId, input.taskId, {\n ...(input.heartbeatAt !== undefined ? { heartbeatAt: input.heartbeatAt } : {}),\n ...(input.leaseExpiresAt !== undefined ? { leaseExpiresAt: input.leaseExpiresAt } : {}),\n });\n return board\n ? okBoard(board, 'Assignment heartbeat updated.')\n : fail('Task assignment not found.');\n }\n case 'recover_stale': {\n if (!input.boardId) return fail('recover_stale requires boardId.');\n const policyFields = [\n input.recoveryPolicyFailOnCostCeiling !== undefined,\n input.recoveryPolicyReleaseOnFailureKinds !== undefined,\n input.recoveryPolicyReleaseOnHeartbeatDue !== undefined,\n input.recoveryPolicyRetryPolicyOverride !== undefined,\n ].some(Boolean);\n const result = await recoverStaleTaskAssignments(projectRoot, input.boardId, {\n ...(input.recoveryMode !== undefined ? { mode: input.recoveryMode } : {}),\n ...(input.recoveryNow !== undefined ? { now: input.recoveryNow } : {}),\n ...(input.releaseReason !== undefined ? { reason: input.releaseReason } : {}),\n ...(input.clearAssignee !== undefined ? { clearAssignee: input.clearAssignee } : {}),\n ...(policyFields\n ? {\n policy: {\n ...(input.recoveryPolicyFailOnCostCeiling !== undefined\n ? { failWhenCostCeilingSet: input.recoveryPolicyFailOnCostCeiling }\n : {}),\n ...(input.recoveryPolicyReleaseOnFailureKinds !== undefined\n ? {\n releaseOnFailureKinds: input.recoveryPolicyReleaseOnFailureKinds,\n }\n : {}),\n ...(input.recoveryPolicyReleaseOnHeartbeatDue !== undefined\n ? {\n releaseOnHeartbeatDue: input.recoveryPolicyReleaseOnHeartbeatDue,\n }\n : {}),\n ...(input.recoveryPolicyRetryPolicyOverride !== undefined\n ? {\n retryPolicyOverride: input.recoveryPolicyRetryPolicyOverride,\n }\n : {}),\n },\n }\n : {}),\n });\n return result\n ? {\n ok: true,\n message: `Recovered ${result.tasks.length} stale assignment(s).`,\n board: result.board,\n recoveredTasks: result.tasks,\n }\n : { ok: true, message: 'No stale assignment matched.', recoveredTasks: [] };\n }\n case 'events': {\n if (!input.boardId) return fail('events requires boardId.');\n const eventList = await listKanbanEvents(projectRoot, input.boardId);\n return {\n ok: true,\n message: `${eventList.length} event(s).`,\n events: eventList,\n };\n }\n case 'queue_health': {\n const health = await getKanbanQueueHealth(projectRoot, {\n ...(input.boardId !== undefined ? { boardId: input.boardId } : {}),\n });\n return {\n ok: true,\n message: `Counts: ready=${health.counts.ready}, running=${health.counts.running}, stale=${health.staleAssignments.count}.`,\n queueHealth: health,\n };\n }\n case 'add_dependency': {\n if (!input.boardId || !input.taskId || !input.dependencyTaskId) {\n return fail('add_dependency requires boardId, taskId, and dependencyTaskId.');\n }\n const board = await addDependency(\n projectRoot,\n input.boardId,\n input.taskId,\n input.dependencyTaskId,\n );\n return board ? okBoard(board, 'Dependency added.') : fail('Task not found.');\n }\n case 'add_goal_metric': {\n if (!input.boardId || !input.taskId || !input.metricName) {\n return fail('add_goal_metric requires boardId, taskId, and metricName.');\n }\n const board = await addGoalMetricToTask(projectRoot, input.boardId, input.taskId, {\n name: input.metricName,\n ...(input.metricStatus !== undefined ? { status: input.metricStatus } : {}),\n ...(input.metricTarget !== undefined ? { target: input.metricTarget } : {}),\n ...(input.metricCurrent !== undefined ? { current: input.metricCurrent } : {}),\n ...(input.metricUnit !== undefined ? { unit: input.metricUnit } : {}),\n ...(input.metricNotes !== undefined ? { notes: input.metricNotes } : {}),\n });\n return board ? okBoard(board, 'Goal metric added.') : fail('Task not found.');\n }\n case 'update_goal_metric': {\n if (!input.boardId || !input.taskId || !input.metricId) {\n return fail('update_goal_metric requires boardId, taskId, and metricId.');\n }\n const board = await updateGoalMetricOnTask(\n projectRoot,\n input.boardId,\n input.taskId,\n input.metricId,\n {\n ...(input.metricName !== undefined ? { name: input.metricName } : {}),\n ...(input.metricStatus !== undefined ? { status: input.metricStatus } : {}),\n ...(input.metricTarget !== undefined ? { target: input.metricTarget } : {}),\n ...(input.metricCurrent !== undefined ? { current: input.metricCurrent } : {}),\n ...(input.metricUnit !== undefined ? { unit: input.metricUnit } : {}),\n ...(input.metricNotes !== undefined ? { notes: input.metricNotes } : {}),\n },\n );\n return board ? okBoard(board, 'Goal metric updated.') : fail('Metric not found.');\n }\n case 'add_check': {\n if (!input.boardId || !input.taskId || !input.checkDescription) {\n return fail('add_check requires boardId, taskId, and checkDescription.');\n }\n const board = await addCheckToTask(projectRoot, input.boardId, input.taskId, {\n description: input.checkDescription,\n type: 'manual',\n status: input.checkStatus,\n });\n return board ? okBoard(board, 'Check added.') : fail('Task not found.');\n }\n case 'update_check': {\n if (!input.boardId || !input.taskId || !input.checkId) {\n return fail('update_check requires boardId, taskId, and checkId.');\n }\n const board = await updateCheckOnTask(\n projectRoot,\n input.boardId,\n input.taskId,\n input.checkId,\n {\n ...(input.checkDescription !== undefined\n ? { description: input.checkDescription }\n : {}),\n ...(input.checkStatus !== undefined ? { status: input.checkStatus } : {}),\n },\n );\n return board ? okBoard(board, 'Check updated.') : fail('Check not found.');\n }\n case 'add_note': {\n if (!input.boardId || !input.taskId || !input.note)\n return fail('add_note requires boardId, taskId, and note.');\n const board = await addNoteToTask(projectRoot, input.boardId, input.taskId, {\n author: input.author ?? 'agent',\n content: input.note,\n });\n return board ? okBoard(board, 'Note added.') : fail('Task not found.');\n }\n case 'add_link': {\n if (!input.boardId || !input.taskId || !input.url)\n return fail('add_link requires boardId, taskId, and url.');\n const board = await addLinkToTask(projectRoot, input.boardId, input.taskId, {\n url: input.url,\n type: input.linkType ?? 'url',\n ...(input.linkTitle !== undefined ? { title: input.linkTitle } : {}),\n });\n return board ? okBoard(board, 'Link added.') : fail('Task not found.');\n }\n default:\n return fail(`Unknown kanban action: ${(input as { action: string }).action}`);\n }\n } catch (err) {\n return fail(err instanceof Error ? err.message : String(err));\n }\n },\n};\n\nfunction fail(message: string): KanbanToolOutput {\n return { ok: false, message };\n}\n\nfunction okBoard(board: KanbanBoard, message = 'Board loaded.'): KanbanToolOutput {\n return { ok: true, message, board };\n}\n\nfunction okTask(board: KanbanBoard, task: KanbanTask, message: string): KanbanToolOutput {\n return { ok: true, message, board, task };\n}\n\nasync function requireBoard(\n projectRoot: string,\n boardId: string | undefined,\n): Promise<KanbanBoard | null> {\n return boardId ? getBoard(projectRoot, boardId) : null;\n}\n\nfunction taskInput(input: KanbanToolInput) {\n const assignment = hasAssignmentInput(input) ? assignmentForTaskCreate(input) : undefined;\n return {\n title: input.title ?? '',\n columnId: input.columnId,\n description: input.description,\n priority: input.priority,\n status: input.status,\n labels: input.labels,\n ...((assignment?.agentId ?? assignment?.role ?? assignment?.name)\n ? { assignedAgent: assignment.agentId ?? assignment.role ?? assignment.name }\n : {}),\n ...((input.assignee ?? assignment?.name ?? assignment?.agentId)\n ? { assignee: input.assignee ?? assignment?.name ?? assignment?.agentId }\n : {}),\n ...(input.dependencyTaskId !== undefined ? { dependsOn: [input.dependencyTaskId] } : {}),\n ...(assignment ? { assignment } : {}),\n };\n}\n\nfunction taskPatch(input: KanbanToolInput) {\n return {\n title: input.title,\n description: input.description,\n columnId: input.columnId,\n order: input.order,\n priority: input.priority,\n status: input.status,\n labels: input.labels,\n assignedAgent: input.agentId,\n ...(input.dependencyTaskId !== undefined ? { dependsOn: [input.dependencyTaskId] } : {}),\n };\n}\n\nfunction assignmentInput(input: KanbanToolInput): AssignKanbanTaskInput {\n return {\n agentId: input.agentId,\n name: input.name,\n role: input.role,\n provider: input.provider,\n model: input.model,\n fallbackProfile: input.fallbackProfile,\n fallbackModels: input.fallbackModels,\n tools: input.tools,\n allowedCapabilities: input.allowedCapabilities,\n assignee: input.assignee,\n leaseId: input.leaseId,\n claimedAt: input.claimedAt,\n heartbeatAt: input.heartbeatAt,\n leaseExpiresAt: input.leaseExpiresAt,\n attempt: input.attempt,\n maxAttempts: input.maxAttempts,\n costCeilingUsd: input.costCeilingUsd,\n retryPolicy: input.retryPolicy,\n lastFailureKind: input.lastFailureKind,\n };\n}\n\nfunction hasAssignmentInput(input: KanbanToolInput): boolean {\n return (\n input.agentId !== undefined ||\n input.name !== undefined ||\n input.role !== undefined ||\n input.provider !== undefined ||\n input.model !== undefined ||\n input.fallbackProfile !== undefined ||\n input.fallbackModels !== undefined ||\n input.tools !== undefined ||\n input.allowedCapabilities !== undefined ||\n input.assignee !== undefined ||\n input.leaseId !== undefined ||\n input.claimedAt !== undefined ||\n input.heartbeatAt !== undefined ||\n input.leaseExpiresAt !== undefined ||\n input.attempt !== undefined ||\n input.maxAttempts !== undefined ||\n input.costCeilingUsd !== undefined ||\n input.retryPolicy !== undefined ||\n input.lastFailureKind !== undefined ||\n input.assignmentStatus !== undefined\n );\n}\n\nfunction assignmentForTaskCreate(input: KanbanToolInput): KanbanAgentAssignment {\n return {\n status: input.assignmentStatus ?? 'assigned',\n ...(input.agentId !== undefined ? { agentId: input.agentId } : {}),\n ...(input.name !== undefined ? { name: input.name } : {}),\n ...(input.role !== undefined ? { role: input.role } : {}),\n ...(input.provider !== undefined ? { provider: input.provider } : {}),\n ...(input.model !== undefined ? { model: input.model } : {}),\n ...(input.fallbackProfile !== undefined ? { fallbackProfile: input.fallbackProfile } : {}),\n ...(input.fallbackModels !== undefined ? { fallbackModels: input.fallbackModels } : {}),\n ...(input.tools !== undefined ? { tools: input.tools } : {}),\n ...(input.allowedCapabilities !== undefined\n ? { allowedCapabilities: input.allowedCapabilities }\n : {}),\n ...(input.leaseId !== undefined ? { leaseId: input.leaseId } : {}),\n ...(input.claimedAt !== undefined ? { claimedAt: input.claimedAt } : {}),\n ...(input.heartbeatAt !== undefined ? { heartbeatAt: input.heartbeatAt } : {}),\n ...(input.leaseExpiresAt !== undefined ? { leaseExpiresAt: input.leaseExpiresAt } : {}),\n ...(input.attempt !== undefined ? { attempt: input.attempt } : {}),\n ...(input.maxAttempts !== undefined ? { maxAttempts: input.maxAttempts } : {}),\n ...(input.costCeilingUsd !== undefined ? { costCeilingUsd: input.costCeilingUsd } : {}),\n ...(input.retryPolicy !== undefined ? { retryPolicy: input.retryPolicy } : {}),\n ...(input.lastFailureKind !== undefined ? { lastFailureKind: input.lastFailureKind } : {}),\n };\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["taskInput"]
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../src/languages/detect.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAGV,eAAe,EACf,qBAAqB,EAGtB,MAAM,YAAY,CAAC;AAwCpB,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,eAAe,CAAC,CAqC1B"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { LanguageDiagnostic, LanguagePackageMutation, LanguagePackageVulnerability, LanguageProfileId, LanguageRunSummary } from './types.js';
|
|
2
|
+
export interface ParsedDiagnostics {
|
|
3
|
+
diagnostics: readonly LanguageDiagnostic[];
|
|
4
|
+
omitted: number;
|
|
5
|
+
summary: LanguageRunSummary;
|
|
6
|
+
}
|
|
7
|
+
export declare function parseLanguageDiagnostics(parser: string, stdout: string, stderr: string, workspaceRoot: string): ParsedDiagnostics;
|
|
8
|
+
export declare function diagnosticsForInternalSyntax(language: LanguageProfileId, target: string, sourceText: string): Promise<ParsedDiagnostics>;
|
|
9
|
+
export interface ParsedPackageReports {
|
|
10
|
+
diagnostics: readonly LanguageDiagnostic[];
|
|
11
|
+
vulnerabilities: readonly LanguagePackageVulnerability[];
|
|
12
|
+
outdated: readonly LanguagePackageMutation[];
|
|
13
|
+
}
|
|
14
|
+
export declare function parsePackageReports(parser: string, stdout: string, stderr: string): ParsedPackageReports;
|
|
15
|
+
//# sourceMappingURL=diagnostics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/languages/diagnostics.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,uBAAuB,EACvB,4BAA4B,EAC5B,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAIpB,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,kBAAkB,CAAC;CAC7B;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,GACpB,iBAAiB,CAsCnB;AAED,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,iBAAiB,CAAC,CA2C5B;AA+HD,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC3C,eAAe,EAAE,SAAS,4BAA4B,EAAE,CAAC;IACzD,QAAQ,EAAE,SAAS,uBAAuB,EAAE,CAAC;CAC9C;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,oBAAoB,CAkBtB"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { Tool } from '@wrongstack/core';
|
|
2
|
+
import type { LanguageDiagnostic, LanguageProfileId, LanguageRunResult } from './types.js';
|
|
3
|
+
interface LanguageToolInput {
|
|
4
|
+
action: 'check' | 'lint' | 'format' | 'test' | 'build' | 'debug';
|
|
5
|
+
cwd?: string | undefined;
|
|
6
|
+
target?: string | undefined;
|
|
7
|
+
language?: LanguageProfileId | undefined;
|
|
8
|
+
workspace?: string | undefined;
|
|
9
|
+
mode?: 'fast' | 'standard' | 'thorough' | undefined;
|
|
10
|
+
check?: 'syntax' | 'semantic' | 'all' | undefined;
|
|
11
|
+
formatCheck?: boolean | undefined;
|
|
12
|
+
filter?: string | undefined;
|
|
13
|
+
coverage?: boolean | undefined;
|
|
14
|
+
noRun?: boolean | undefined;
|
|
15
|
+
debug?: 'compile' | 'test' | 'runtime' | 'race' | undefined;
|
|
16
|
+
}
|
|
17
|
+
interface LanguageToolOutput {
|
|
18
|
+
status: 'passed' | 'failed' | 'unavailable' | 'cancelled' | 'timed_out';
|
|
19
|
+
language?: LanguageProfileId | undefined;
|
|
20
|
+
workspace?: string | undefined;
|
|
21
|
+
runs: LanguageRunResult[];
|
|
22
|
+
diagnostics: readonly LanguageDiagnostic[];
|
|
23
|
+
summary: {
|
|
24
|
+
runs: number;
|
|
25
|
+
passed: number;
|
|
26
|
+
failed: number;
|
|
27
|
+
errors: number;
|
|
28
|
+
warnings: number;
|
|
29
|
+
};
|
|
30
|
+
output: string;
|
|
31
|
+
}
|
|
32
|
+
export declare const languageTool: Tool<LanguageToolInput, LanguageToolOutput>;
|
|
33
|
+
export {};
|
|
34
|
+
//# sourceMappingURL=execute-tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execute-tool.d.ts","sourceRoot":"","sources":["../../src/languages/execute-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAmB,MAAM,kBAAkB,CAAC;AAI9D,OAAO,KAAK,EACV,kBAAkB,EAGlB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAEpB,UAAU,iBAAiB;IACzB,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;IACjE,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,QAAQ,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACzC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;IACpD,KAAK,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,KAAK,GAAG,SAAS,CAAC;IAClD,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,KAAK,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;CAC7D;AAED,UAAU,kBAAkB;IAC1B,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,aAAa,GAAG,WAAW,GAAG,WAAW,CAAC;IACxE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACzC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,IAAI,EAAE,iBAAiB,EAAE,CAAC;IAC1B,WAAW,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC3C,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;CAChB;AAqBD,eAAO,MAAM,YAAY,EAAE,IAAI,CAAC,iBAAiB,EAAE,kBAAkB,CAoKpE,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ToolProgressEvent } from '@wrongstack/core';
|
|
2
|
+
import type { CommandPlan, DetectedWorkspace, LanguagePackageOutcome, LanguageRunResult } from './types.js';
|
|
3
|
+
export interface ExecuteLanguagePlanOptions {
|
|
4
|
+
projectRoot: string;
|
|
5
|
+
workspace: DetectedWorkspace;
|
|
6
|
+
plan: CommandPlan;
|
|
7
|
+
signal: AbortSignal;
|
|
8
|
+
}
|
|
9
|
+
export declare function executeLanguagePlan(options: ExecuteLanguagePlanOptions): AsyncGenerator<ToolProgressEvent, LanguageRunResult>;
|
|
10
|
+
export interface ExecutePackagePlanOptions {
|
|
11
|
+
projectRoot: string;
|
|
12
|
+
workspace: DetectedWorkspace;
|
|
13
|
+
plan: CommandPlan;
|
|
14
|
+
packages: readonly string[];
|
|
15
|
+
signal: AbortSignal;
|
|
16
|
+
}
|
|
17
|
+
export declare function executePackagePlan(options: ExecutePackagePlanOptions): AsyncGenerator<ToolProgressEvent, LanguagePackageOutcome>;
|
|
18
|
+
//# sourceMappingURL=execute.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/languages/execute.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAU1D,OAAO,KAAK,EACV,WAAW,EACX,iBAAiB,EAEjB,sBAAsB,EAEtB,iBAAiB,EAElB,MAAM,YAAY,CAAC;AAIpB,MAAM,WAAW,0BAA0B;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,iBAAiB,CAAC;IAC7B,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,wBAAuB,mBAAmB,CACxC,OAAO,EAAE,0BAA0B,GAClC,cAAc,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CA0HtD;AA8ID,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,iBAAiB,CAAC;IAC7B,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,wBAAuB,kBAAkB,CACvC,OAAO,EAAE,yBAAyB,GACjC,cAAc,CAAC,iBAAiB,EAAE,sBAAsB,CAAC,CA4L3D"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export { detectLanguageWorkspaces } from './detect.js';
|
|
2
|
+
export { diagnosticsForInternalSyntax, type ParsedPackageReports, parseLanguageDiagnostics, parsePackageReports, } from './diagnostics.js';
|
|
3
|
+
export { type ExecuteLanguagePlanOptions, type ExecutePackagePlanOptions, executeLanguagePlan, executePackagePlan, } from './execute.js';
|
|
4
|
+
export { languageTool } from './execute-tool.js';
|
|
5
|
+
export { languagePackageTool } from './package-tool.js';
|
|
6
|
+
export { planLanguageOperation, validateCommandPlan } from './plan.js';
|
|
7
|
+
export { ADDITIONAL_LANGUAGE_PROFILES } from './profiles/additional.js';
|
|
8
|
+
export { PRIMARY_LANGUAGE_PROFILES } from './profiles/primary.js';
|
|
9
|
+
export { LanguageProfileRegistry, languageProfileRegistry, validateLanguageProfile, } from './registry.js';
|
|
10
|
+
export { languageInfoTool } from './tool.js';
|
|
11
|
+
export type { CommandPlan, DetectedWorkspace, DetectionLimits, DetectionResult, DetectLanguageOptions, DetectorRule, EvidenceKind, LanguageDiagnostic, LanguageDiagnosticPosition, LanguageEvidence, LanguageOperation, LanguageOperationOptions, LanguagePackageMutation, LanguagePackageOutcome, LanguagePackageVulnerability, LanguageProfile, LanguageProfileId, LanguageRunResult, LanguageRunSummary, PackageMutation, PackageRead, PlanLanguageOptions, PlanLanguageResult, ProfileContext, UnavailableOperation, } from './types.js';
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/languages/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EACL,4BAA4B,EAC5B,KAAK,oBAAoB,EACzB,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACvE,OAAO,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,YAAY,EACV,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,0BAA0B,EAC1B,gBAAgB,EAChB,iBAAiB,EACjB,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,EACtB,4BAA4B,EAC5B,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,oBAAoB,GACrB,MAAM,YAAY,CAAC"}
|