@wrongstack/tools 0.320.1 → 1.0.1

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.
Files changed (192) hide show
  1. package/dist/_danger-detect.d.ts +8 -0
  2. package/dist/_syntax-check.d.ts +1 -2
  3. package/dist/audit.d.ts +4 -5
  4. package/dist/audit.js +6 -6
  5. package/dist/auto-proceed-loop-guard.d.ts +1 -1
  6. package/dist/auto-proceed-loop-guard.js +9 -160
  7. package/dist/bash-kill-guard.d.ts +2 -3
  8. package/dist/bash.d.ts +2 -3
  9. package/dist/bash.js +4 -4
  10. package/dist/batch-tool-use.d.ts +2 -3
  11. package/dist/batch-tool-use.js +1 -1
  12. package/dist/browser/index.d.ts +1 -1
  13. package/dist/browser/index.js +1 -1
  14. package/dist/browser/tools.d.ts +56 -45
  15. package/dist/builtin.js +50 -50
  16. package/dist/{chunk-T77XOX7E.js → chunk-24T5XIJU.js} +1 -1
  17. package/dist/{chunk-DTQ75VBC.js → chunk-2CTZW6JQ.js} +2 -2
  18. package/dist/{chunk-KWXIKGE3.js → chunk-3D5DJWOE.js} +3 -3
  19. package/dist/{chunk-XSSFBS5I.js → chunk-4ERMPDHV.js} +11 -6
  20. package/dist/{chunk-QSNVDHOZ.js → chunk-4WPBS45A.js} +4 -5
  21. package/dist/{chunk-4CQWNZ62.js → chunk-5ITQPCLC.js} +2 -2
  22. package/dist/{chunk-B4HTSV6Z.js → chunk-5KS24LTS.js} +11 -11
  23. package/dist/{chunk-QPNYDH5B.js → chunk-62OAECEQ.js} +29 -7
  24. package/dist/{chunk-DFQDJT22.js → chunk-6GOZTS6F.js} +3 -3
  25. package/dist/{chunk-5UFVCIUB.js → chunk-6H4ERJP7.js} +140 -24
  26. package/dist/{chunk-34VLZ35Z.js → chunk-7HL23T3T.js} +63 -10
  27. package/dist/{chunk-HFXSNKCV.js → chunk-7JJFC6CT.js} +1 -1
  28. package/dist/{chunk-23EX5WDO.js → chunk-7LQCT3LT.js} +3 -3
  29. package/dist/{chunk-NDIT3SBZ.js → chunk-7N5U2RAU.js} +2 -2
  30. package/dist/{chunk-QBV725YG.js → chunk-7ODZTPCU.js} +2 -2
  31. package/dist/{chunk-6AAOT4PW.js → chunk-AQ5YBURX.js} +16 -4
  32. package/dist/{chunk-ZMW6WJFT.js → chunk-ASEXQRA7.js} +3 -3
  33. package/dist/{chunk-FRN7TIAA.js → chunk-B3MGJBFI.js} +1 -1
  34. package/dist/{chunk-JLYA4X7K.js → chunk-CGXTR34H.js} +21 -6
  35. package/dist/{chunk-IU4DV2PA.js → chunk-CHEK3ASV.js} +6 -3
  36. package/dist/{chunk-GOIZNNOA.js → chunk-DJYLI7EW.js} +1 -1
  37. package/dist/{chunk-Z6IHMJMC.js → chunk-DK4J2WMH.js} +11 -11
  38. package/dist/{chunk-OYP27E3I.js → chunk-DRRY6SCM.js} +47 -20
  39. package/dist/{chunk-JVRLTEO7.js → chunk-E7JE3UEX.js} +2 -2
  40. package/dist/{chunk-BK732J7I.js → chunk-FBUP524S.js} +4 -4
  41. package/dist/{chunk-NYRLWDT5.js → chunk-FVM3O4JQ.js} +1 -1
  42. package/dist/chunk-FYDBUVQD.js +244 -0
  43. package/dist/{chunk-PV6HIZQD.js → chunk-GDDXX27P.js} +50 -50
  44. package/dist/{chunk-3GIKYHLA.js → chunk-GKSG5CPH.js} +6 -6
  45. package/dist/{chunk-ESLPBT5A.js → chunk-HDYUBRMF.js} +4 -3
  46. package/dist/{chunk-4BABEJC2.js → chunk-IAYMTTR2.js} +236 -79
  47. package/dist/{chunk-ELRRTWNP.js → chunk-IXIS7RSG.js} +2 -2
  48. package/dist/{chunk-HR67OWEP.js → chunk-IYH4OHBP.js} +5 -5
  49. package/dist/{chunk-W232EFEM.js → chunk-JDOO4P6Z.js} +7 -4
  50. package/dist/{chunk-2OXHS3KZ.js → chunk-KLJZ4WV4.js} +4 -3
  51. package/dist/{chunk-3M7LLN7W.js → chunk-LQSOU63Z.js} +12 -11
  52. package/dist/{chunk-OTPTQBYE.js → chunk-MGPR7VG3.js} +279 -265
  53. package/dist/{chunk-C2DQKVLO.js → chunk-MJSJWXBF.js} +1 -1
  54. package/dist/{chunk-NSPNFOJ7.js → chunk-MK2JK35J.js} +25 -10
  55. package/dist/{chunk-JSNSMG5R.js → chunk-MSOAX3GC.js} +1 -1
  56. package/dist/{chunk-J43O3BOX.js → chunk-N3K2SFEI.js} +532 -492
  57. package/dist/{chunk-J74TMK4M.js → chunk-NJX2RXKJ.js} +50 -7
  58. package/dist/chunk-NL2S2CXD.js +171 -0
  59. package/dist/{chunk-WAQASTXB.js → chunk-O6BY43ZB.js} +29 -8
  60. package/dist/{chunk-QGF2C7TF.js → chunk-PVCB7RUZ.js} +2 -2
  61. package/dist/{chunk-YTKSNTT4.js → chunk-QA6IASYX.js} +8 -8
  62. package/dist/{chunk-VPALDFYM.js → chunk-RV7BVTDG.js} +1 -1
  63. package/dist/chunk-S57CDR2H.js +288 -0
  64. package/dist/{chunk-W2CECGTG.js → chunk-SMARDKAC.js} +1 -1
  65. package/dist/{chunk-QWKSKFKZ.js → chunk-SOR7OCYP.js} +1 -1
  66. package/dist/{chunk-I7FBZOEP.js → chunk-T3SMFF5Q.js} +11 -5
  67. package/dist/{chunk-4BHUSMNL.js → chunk-UI3ZJIG3.js} +1 -1
  68. package/dist/{chunk-WXJY3BKV.js → chunk-VBF2YXUW.js} +2 -2
  69. package/dist/{chunk-FQNXYA6W.js → chunk-VU3QBYL4.js} +36 -5
  70. package/dist/{chunk-VD2LV5WO.js → chunk-VZGPASGD.js} +37 -12
  71. package/dist/{chunk-UZFY3CKD.js → chunk-WEEVSWQB.js} +17 -6
  72. package/dist/chunk-XXRMF2BC.js +186 -0
  73. package/dist/{chunk-LRDIRJJL.js → chunk-YEISRT4S.js} +5 -11
  74. package/dist/{chunk-Q5JPPCZC.js → chunk-YJTXRH5Y.js} +3 -2
  75. package/dist/{chunk-Z5Q3TXRY.js → chunk-ZTCJCYLN.js} +3 -3
  76. package/dist/circuit-breaker.d.ts +1 -0
  77. package/dist/circuit-breaker.js +1 -1
  78. package/dist/clarify.d.ts +1 -0
  79. package/dist/codebase-index/codebase-ast-replace-tool.d.ts +2 -3
  80. package/dist/codebase-index/codebase-impact-analysis-tool.d.ts +5 -4
  81. package/dist/codebase-index/codebase-incoming-calls-tool.d.ts +4 -3
  82. package/dist/codebase-index/codebase-index-tool.d.ts +2 -3
  83. package/dist/codebase-index/codebase-invariant-check-tool.d.ts +2 -3
  84. package/dist/codebase-index/codebase-outgoing-calls-tool.d.ts +4 -3
  85. package/dist/codebase-index/codebase-repo-map-tool.d.ts +2 -3
  86. package/dist/codebase-index/codebase-search-tool.d.ts +2 -3
  87. package/dist/codebase-index/codebase-skeleton-tool.d.ts +2 -3
  88. package/dist/codebase-index/codebase-stats-tool.d.ts +9 -3
  89. package/dist/codebase-index/codebase-targeted-test-tool.d.ts +4 -3
  90. package/dist/codebase-index/index.d.ts +11 -11
  91. package/dist/codebase-index/index.js +8 -8
  92. package/dist/codebase-index/project-server-framing.d.ts +29 -0
  93. package/dist/codebase-index/project-server-lifecycle.d.ts +20 -0
  94. package/dist/codebase-index/project-server-operations.d.ts +37 -0
  95. package/dist/codebase-index/project-server-types.d.ts +30 -0
  96. package/dist/codebase-index/project-server-watcher.d.ts +25 -0
  97. package/dist/codebase-index/project-server.js +448 -391
  98. package/dist/codebase-index/worker.js +2 -2
  99. package/dist/codebase-index/writer-init.d.ts +13 -0
  100. package/dist/codebase-index/writer-maintenance.d.ts +14 -0
  101. package/dist/codebase-index/writer.d.ts +0 -15
  102. package/dist/design.d.ts +2 -2
  103. package/dist/design.js +1 -1
  104. package/dist/diff.d.ts +4 -4
  105. package/dist/diff.js +1 -1
  106. package/dist/document.d.ts +3 -4
  107. package/dist/document.js +1 -1
  108. package/dist/e2e.d.ts +1 -1
  109. package/dist/e2e.js +1 -1
  110. package/dist/edit.d.ts +3 -3
  111. package/dist/edit.js +6 -6
  112. package/dist/exec.d.ts +2 -3
  113. package/dist/exec.js +4 -4
  114. package/dist/fetch.d.ts +4 -3
  115. package/dist/fetch.js +1 -1
  116. package/dist/format.d.ts +17 -45
  117. package/dist/format.js +12 -8
  118. package/dist/git.d.ts +3 -3
  119. package/dist/git.js +1 -1
  120. package/dist/glob.d.ts +2 -3
  121. package/dist/glob.js +2 -2
  122. package/dist/grep.d.ts +7 -5
  123. package/dist/grep.js +3 -3
  124. package/dist/index.d.ts +54 -45
  125. package/dist/index.js +118 -59
  126. package/dist/install.d.ts +7 -55
  127. package/dist/install.js +6 -6
  128. package/dist/json.d.ts +3 -4
  129. package/dist/json.js +2 -2
  130. package/dist/kanban-tool-types.d.ts +1 -2
  131. package/dist/kanban.d.ts +3 -19
  132. package/dist/kanban.js +1 -1
  133. package/dist/languages/execute-tool.d.ts +2 -3
  134. package/dist/languages/index.d.ts +2 -2
  135. package/dist/languages/index.js +4 -4
  136. package/dist/languages/tool.d.ts +3 -4
  137. package/dist/{legacy-bridge-FOV5ODDI.js → legacy-bridge-YXANP5QB.js} +6 -6
  138. package/dist/lint.d.ts +5 -4
  139. package/dist/lint.js +6 -6
  140. package/dist/logs.d.ts +3 -4
  141. package/dist/logs.js +2 -2
  142. package/dist/memory.d.ts +7 -8
  143. package/dist/memory.js +1 -1
  144. package/dist/mode.d.ts +3 -4
  145. package/dist/mode.js +1 -1
  146. package/dist/next-steps-tool.d.ts +2 -3
  147. package/dist/next-steps.d.ts +4 -0
  148. package/dist/next-steps.js +9 -175
  149. package/dist/outdated.d.ts +5 -29
  150. package/dist/outdated.js +3 -3
  151. package/dist/pack.js +51 -51
  152. package/dist/patch.d.ts +2 -3
  153. package/dist/patch.js +5 -5
  154. package/dist/plan.d.ts +4 -4
  155. package/dist/plan.js +3 -3
  156. package/dist/process-registry.js +2 -2
  157. package/dist/ps-slash.js +4 -4
  158. package/dist/pwsh.d.ts +1 -0
  159. package/dist/read.d.ts +5 -5
  160. package/dist/read.js +5 -5
  161. package/dist/replace.d.ts +2 -3
  162. package/dist/replace.js +6 -6
  163. package/dist/scaffold.d.ts +7 -3
  164. package/dist/scaffold.js +3 -1
  165. package/dist/search.d.ts +17 -3
  166. package/dist/search.js +5 -1
  167. package/dist/set-working-dir.d.ts +2 -3
  168. package/dist/skill.d.ts +4 -5
  169. package/dist/skill.js +1 -1
  170. package/dist/task.d.ts +6 -6
  171. package/dist/task.js +3 -3
  172. package/dist/test.d.ts +5 -4
  173. package/dist/test.js +6 -6
  174. package/dist/todo.d.ts +8 -8
  175. package/dist/todo.js +2 -2
  176. package/dist/tool-diff.js +11 -230
  177. package/dist/tool-help.d.ts +2 -3
  178. package/dist/tool-help.js +1 -1
  179. package/dist/tool-search.d.ts +2 -3
  180. package/dist/tool-search.js +1 -1
  181. package/dist/tool-summary.js +5 -281
  182. package/dist/tool-tier.js +52 -52
  183. package/dist/tool-use.d.ts +2 -3
  184. package/dist/tool-use.js +1 -1
  185. package/dist/tree.d.ts +5 -3
  186. package/dist/tree.js +5 -1
  187. package/dist/typecheck.d.ts +3 -3
  188. package/dist/typecheck.js +6 -6
  189. package/dist/write.d.ts +2 -3
  190. package/dist/write.js +6 -6
  191. package/package.json +5 -5
  192. package/dist/spawn-background.d.ts +0 -80
package/dist/json.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  jsonTool
3
- } from "./chunk-VD2LV5WO.js";
4
- import "./chunk-Q5JPPCZC.js";
3
+ } from "./chunk-VZGPASGD.js";
4
+ import "./chunk-YJTXRH5Y.js";
5
5
  import "./chunk-ZUFHAHTE.js";
6
6
  export {
7
7
  jsonTool
@@ -1,6 +1,6 @@
1
1
  import type { SerializedTaskGraph } from '@wrongstack/core/types';
2
2
  import type { AssignKanbanTaskInput, KanbanAgentRunStatus, KanbanBoard, KanbanBoardSummary, KanbanCompletionGateEnforcement, KanbanContractEdgeType, KanbanContractEnforcement, KanbanContractGraph, KanbanContractGraphEnforcement, KanbanContractGraphEvaluation, KanbanContractNodeKind, KanbanContractNodeState, KanbanDecompositionSubtask, KanbanEvent, KanbanLifecycleStage, KanbanOrchestrationSnapshot, KanbanQueueHealth, KanbanSearchResult, KanbanTask, KanbanTaskPriority, KanbanTaskStatus, KanbanTaskType, KanbanVerificationReport, KanbanWorkbenchSnapshot } from '@wrongstack/kanban';
3
- type KanbanAction = 'list_boards' | 'get_board' | 'create_board' | 'duplicate_board' | 'update_board' | 'adopt_managed_lifecycle' | 'release_managed_lifecycle' | 'delete_board' | 'generate_board' | 'export_markdown' | 'export_task_graph' | 'sync_task_graph' | 'create_from_graph' | 'import_session_tasks' | 'search_tasks' | 'ready_tasks' | 'snapshot' | 'workbench' | 'add_task' | 'split_task' | 'merge_tasks' | 'copy_task' | 'transfer_task' | 'get_task' | 'start_task' | 'update_task' | 'transition_task' | 'repair_managed_projection' | 'move_task' | 'delete_task' | 'set_chain' | 'get_chain' | 'claim_task' | 'release_task' | 'assign_task' | 'mark_assignment' | 'heartbeat_assignment' | 'recover_stale' | 'events' | 'queue_health' | 'add_dependency' | 'add_goal_metric' | 'update_goal_metric' | 'add_check' | 'update_check' | 'remove_check' | 'add_note' | 'add_link' | 'verify_completion' | 'split_atomic' | 'assess_atomicity' | 'propose_decomposition' | 'get_contract_graph' | 'configure_contract_graph' | 'upsert_contract_node' | 'remove_contract_node' | 'add_contract_edge' | 'remove_contract_edge';
3
+ export type KanbanAction = 'list_boards' | 'get_board' | 'create_board' | 'duplicate_board' | 'update_board' | 'adopt_managed_lifecycle' | 'release_managed_lifecycle' | 'delete_board' | 'generate_board' | 'export_markdown' | 'export_task_graph' | 'sync_task_graph' | 'create_from_graph' | 'import_session_tasks' | 'search_tasks' | 'ready_tasks' | 'snapshot' | 'workbench' | 'add_task' | 'split_task' | 'merge_tasks' | 'copy_task' | 'transfer_task' | 'get_task' | 'start_task' | 'update_task' | 'transition_task' | 'repair_managed_projection' | 'move_task' | 'delete_task' | 'set_chain' | 'get_chain' | 'claim_task' | 'release_task' | 'assign_task' | 'mark_assignment' | 'heartbeat_assignment' | 'recover_stale' | 'events' | 'queue_health' | 'add_dependency' | 'add_goal_metric' | 'update_goal_metric' | 'add_check' | 'update_check' | 'remove_check' | 'add_note' | 'add_link' | 'verify_completion' | 'split_atomic' | 'assess_atomicity' | 'propose_decomposition' | 'get_contract_graph' | 'configure_contract_graph' | 'upsert_contract_node' | 'remove_contract_node' | 'add_contract_edge' | 'remove_contract_edge';
4
4
  export interface KanbanToolInput extends Omit<AssignKanbanTaskInput, 'status'> {
5
5
  action: KanbanAction;
6
6
  boardId?: string | undefined;
@@ -178,5 +178,4 @@ export interface KanbanToolOutput {
178
178
  contractGraph?: KanbanContractGraph | null | undefined;
179
179
  contractEvaluation?: KanbanContractGraphEvaluation | undefined;
180
180
  }
181
- export {};
182
181
  //# sourceMappingURL=kanban-tool-types.d.ts.map
package/dist/kanban.d.ts CHANGED
@@ -1,22 +1,6 @@
1
1
  import type { Tool } from '@wrongstack/core/types';
2
2
  import type { KanbanToolInput, KanbanToolOutput } from './kanban-tool-types.js';
3
- type KanbanContext = Parameters<Tool<KanbanToolInput, KanbanToolOutput>['execute']>[1];
4
- export declare const kanbanTool: {
5
- name: string;
6
- category: string;
7
- description: string;
8
- usageHint: string;
9
- permission: "confirm";
10
- subjectKey: string;
11
- mutating: true;
12
- capabilities: string[];
13
- icon: "task";
14
- timeoutMs: number;
15
- inputSchema: import("@wrongstack/core/types").JSONSchema;
16
- execute(input: KanbanToolInput, ctx: KanbanContext, _opts?: {
17
- signal: AbortSignal;
18
- }): Promise<KanbanToolOutput>;
19
- serialize(output: KanbanToolOutput, input: KanbanToolInput): string;
20
- };
21
- export {};
3
+ export type KanbanContext = Parameters<Tool<KanbanToolInput, KanbanToolOutput>['execute']>[1];
4
+ export type { KanbanAction, KanbanToolInput, KanbanToolOutput } from './kanban-tool-types.js';
5
+ export declare const kanbanTool: Tool<KanbanToolInput, KanbanToolOutput>;
22
6
  //# sourceMappingURL=kanban.d.ts.map
package/dist/kanban.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  kanbanTool
3
- } from "./chunk-W2CECGTG.js";
3
+ } from "./chunk-SMARDKAC.js";
4
4
  import "./chunk-X6KXNHUO.js";
5
5
  export {
6
6
  kanbanTool
@@ -1,6 +1,6 @@
1
1
  import type { Tool } from '@wrongstack/core/types';
2
2
  import type { LanguageDiagnostic, LanguageProfileId, LanguageRunResult } from './types.js';
3
- interface LanguageToolInput {
3
+ export interface LanguageToolInput {
4
4
  action: 'check' | 'lint' | 'format' | 'test' | 'build' | 'debug';
5
5
  cwd?: string | undefined;
6
6
  target?: string | undefined;
@@ -14,7 +14,7 @@ interface LanguageToolInput {
14
14
  noRun?: boolean | undefined;
15
15
  debug?: 'compile' | 'test' | 'runtime' | 'race' | undefined;
16
16
  }
17
- interface LanguageToolOutput {
17
+ export interface LanguageToolOutput {
18
18
  status: 'passed' | 'failed' | 'unavailable' | 'cancelled' | 'timed_out';
19
19
  language?: LanguageProfileId | undefined;
20
20
  workspace?: string | undefined;
@@ -30,5 +30,4 @@ interface LanguageToolOutput {
30
30
  output: string;
31
31
  }
32
32
  export declare const languageTool: Tool<LanguageToolInput, LanguageToolOutput>;
33
- export {};
34
33
  //# sourceMappingURL=execute-tool.d.ts.map
@@ -1,12 +1,12 @@
1
1
  export { detectLanguageWorkspaces } from './detect.js';
2
2
  export { diagnosticsForInternalSyntax, type ParsedPackageReports, parseLanguageDiagnostics, parsePackageReports, } from './diagnostics.js';
3
3
  export { type ExecuteLanguagePlanOptions, type ExecutePackagePlanOptions, executeLanguagePlan, executePackagePlan, } from './execute.js';
4
- export { languageTool } from './execute-tool.js';
4
+ export { languageTool, type LanguageToolInput, type LanguageToolOutput, } from './execute-tool.js';
5
5
  export { type LanguagePackageInput, type LanguagePackageToolOutput, languagePackageTool, } from './package-tool.js';
6
6
  export { planLanguageOperation, validateCommandPlan } from './plan.js';
7
7
  export { ADDITIONAL_LANGUAGE_PROFILES } from './profiles/additional.js';
8
8
  export { PRIMARY_LANGUAGE_PROFILES } from './profiles/primary.js';
9
9
  export { LanguageProfileRegistry, languageProfileRegistry, validateLanguageProfile, } from './registry.js';
10
- export { languageInfoTool } from './tool.js';
10
+ export { languageInfoTool, type LanguageCapabilitiesOutput, type LanguageInfoInput, type LanguageInfoOutput, } from './tool.js';
11
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
12
  //# sourceMappingURL=index.d.ts.map
@@ -15,11 +15,11 @@ import {
15
15
  planLanguageOperation,
16
16
  validateCommandPlan,
17
17
  validateLanguageProfile
18
- } from "../chunk-NDIT3SBZ.js";
19
- import "../chunk-OYP27E3I.js";
18
+ } from "../chunk-7N5U2RAU.js";
19
+ import "../chunk-DRRY6SCM.js";
20
20
  import "../chunk-SCMRM6NL.js";
21
- import "../chunk-ESLPBT5A.js";
22
- import "../chunk-HFXSNKCV.js";
21
+ import "../chunk-HDYUBRMF.js";
22
+ import "../chunk-7JJFC6CT.js";
23
23
  import "../chunk-KE7A76VC.js";
24
24
  import "../chunk-ZUFHAHTE.js";
25
25
  export {
@@ -2,7 +2,7 @@ import type { Tool } from '@wrongstack/core/types';
2
2
  import { detectLanguageWorkspaces } from './detect.js';
3
3
  import { planLanguageOperation } from './plan.js';
4
4
  import type { LanguageOperation, LanguageOperationOptions, LanguageProfileId } from './types.js';
5
- interface LanguageInfoInput {
5
+ export interface LanguageInfoInput {
6
6
  action: 'detect' | 'plan' | 'capabilities';
7
7
  cwd?: string | undefined;
8
8
  target?: string | undefined;
@@ -12,7 +12,7 @@ interface LanguageInfoInput {
12
12
  mode?: 'fast' | 'standard' | 'thorough' | undefined;
13
13
  options?: LanguageOperationOptions | undefined;
14
14
  }
15
- interface LanguageCapabilitiesOutput {
15
+ export interface LanguageCapabilitiesOutput {
16
16
  action: 'capabilities';
17
17
  profiles: Array<{
18
18
  id: LanguageProfileId;
@@ -22,11 +22,10 @@ interface LanguageCapabilitiesOutput {
22
22
  packageManagers: readonly string[];
23
23
  }>;
24
24
  }
25
- type LanguageInfoOutput = ({
25
+ export type LanguageInfoOutput = ({
26
26
  action: 'detect';
27
27
  } & Awaited<ReturnType<typeof detectLanguageWorkspaces>>) | ({
28
28
  action: 'plan';
29
29
  } & Awaited<ReturnType<typeof planLanguageOperation>>) | LanguageCapabilitiesOutput;
30
30
  export declare const languageInfoTool: Tool<LanguageInfoInput, LanguageInfoOutput>;
31
- export {};
32
31
  //# sourceMappingURL=tool.d.ts.map
@@ -2,12 +2,12 @@ import {
2
2
  detectNonJsEcosystem,
3
3
  tryLegacyCodeOperation,
4
4
  tryLegacyPackageOperation
5
- } from "./chunk-I7FBZOEP.js";
6
- import "./chunk-NDIT3SBZ.js";
7
- import "./chunk-OYP27E3I.js";
5
+ } from "./chunk-T3SMFF5Q.js";
6
+ import "./chunk-7N5U2RAU.js";
7
+ import "./chunk-DRRY6SCM.js";
8
8
  import "./chunk-SCMRM6NL.js";
9
- import "./chunk-ESLPBT5A.js";
10
- import "./chunk-HFXSNKCV.js";
9
+ import "./chunk-HDYUBRMF.js";
10
+ import "./chunk-7JJFC6CT.js";
11
11
  import "./chunk-KE7A76VC.js";
12
12
  import "./chunk-ZUFHAHTE.js";
13
13
  export {
@@ -15,4 +15,4 @@ export {
15
15
  tryLegacyCodeOperation,
16
16
  tryLegacyPackageOperation
17
17
  };
18
- //# sourceMappingURL=legacy-bridge-FOV5ODDI.js.map
18
+ //# sourceMappingURL=legacy-bridge-YXANP5QB.js.map
package/dist/lint.d.ts CHANGED
@@ -1,11 +1,12 @@
1
1
  import type { Tool } from '@wrongstack/core/types';
2
- interface LintInput {
2
+ export type LinterName = 'biome' | 'eslint' | 'tslint' | 'auto';
3
+ export interface LintInput {
3
4
  files?: string | string[] | undefined;
4
5
  fix?: boolean | undefined;
5
- linter?: 'biome' | 'eslint' | 'tslint' | 'auto' | undefined;
6
+ linter?: LinterName | undefined;
6
7
  cwd?: string | undefined;
7
8
  }
8
- interface LintOutput {
9
+ export interface LintOutput {
9
10
  linter: string;
10
11
  files_checked: number;
11
12
  errors: number;
@@ -14,6 +15,6 @@ interface LintOutput {
14
15
  fix_applied: boolean;
15
16
  truncated: boolean;
16
17
  }
18
+ export type LintContext = Parameters<Tool<LintInput, LintOutput>['execute']>[1];
17
19
  export declare const lintTool: Tool<LintInput, LintOutput>;
18
- export {};
19
20
  //# sourceMappingURL=lint.d.ts.map
package/dist/lint.js CHANGED
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  lintTool
3
- } from "./chunk-KWXIKGE3.js";
4
- import "./chunk-I7FBZOEP.js";
5
- import "./chunk-NDIT3SBZ.js";
6
- import "./chunk-OYP27E3I.js";
3
+ } from "./chunk-3D5DJWOE.js";
4
+ import "./chunk-T3SMFF5Q.js";
5
+ import "./chunk-7N5U2RAU.js";
6
+ import "./chunk-DRRY6SCM.js";
7
7
  import "./chunk-SCMRM6NL.js";
8
- import "./chunk-ESLPBT5A.js";
9
- import "./chunk-HFXSNKCV.js";
8
+ import "./chunk-HDYUBRMF.js";
9
+ import "./chunk-7JJFC6CT.js";
10
10
  import "./chunk-KE7A76VC.js";
11
11
  import "./chunk-ZUFHAHTE.js";
12
12
  export {
package/dist/logs.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { Tool } from '@wrongstack/core/types';
2
- interface LogsInput {
2
+ export interface LogsInput {
3
3
  service?: string | undefined;
4
4
  path?: string | undefined;
5
5
  lines?: number | undefined;
@@ -7,13 +7,13 @@ interface LogsInput {
7
7
  since?: '1h' | '6h' | '24h' | 'all' | undefined;
8
8
  cwd?: string | undefined;
9
9
  }
10
- interface LogEntry {
10
+ export interface LogEntry {
11
11
  timestamp: string;
12
12
  level: string;
13
13
  message: string;
14
14
  source?: string | undefined;
15
15
  }
16
- interface LogsOutput {
16
+ export interface LogsOutput {
17
17
  source: string;
18
18
  entries: LogEntry[];
19
19
  total: number;
@@ -21,5 +21,4 @@ interface LogsOutput {
21
21
  stream_mode: boolean;
22
22
  }
23
23
  export declare const logsTool: Tool<LogsInput, LogsOutput>;
24
- export {};
25
24
  //# sourceMappingURL=logs.d.ts.map
package/dist/logs.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  logsTool
3
- } from "./chunk-FQNXYA6W.js";
4
- import "./chunk-Q5JPPCZC.js";
3
+ } from "./chunk-VU3QBYL4.js";
4
+ import "./chunk-YJTXRH5Y.js";
5
5
  import "./chunk-ZUFHAHTE.js";
6
6
  export {
7
7
  logsTool
package/dist/memory.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { MemoryScope, MemoryStore, Tool } from '@wrongstack/core/types';
2
- interface RememberInput {
2
+ export interface RememberInput {
3
3
  text: string;
4
4
  scope?: MemoryScope | undefined;
5
5
  /** Memory type for categorization. */
@@ -9,17 +9,17 @@ interface RememberInput {
9
9
  /** Priority level — critical entries always injected into context. */
10
10
  priority?: 'critical' | 'high' | 'medium' | 'low' | undefined;
11
11
  }
12
- interface RememberOutput {
12
+ export interface RememberOutput {
13
13
  ok: true;
14
14
  scope: MemoryScope;
15
15
  }
16
- interface ForgetInput {
16
+ export interface ForgetInput {
17
17
  query: string;
18
18
  scope?: MemoryScope | undefined;
19
19
  /** Preview: list what WOULD be deleted without deleting anything. */
20
20
  dry_run?: boolean | undefined;
21
21
  }
22
- interface ForgetOutput {
22
+ export interface ForgetOutput {
23
23
  removed: number;
24
24
  scope: MemoryScope;
25
25
  /** True when this was a preview run — nothing was deleted. */
@@ -31,12 +31,12 @@ interface ForgetOutput {
31
31
  }
32
32
  export declare function rememberTool(memory: MemoryStore): Tool<RememberInput, RememberOutput>;
33
33
  export declare function forgetTool(memory: MemoryStore): Tool<ForgetInput, ForgetOutput>;
34
- interface SearchMemoryInput {
34
+ export interface SearchMemoryInput {
35
35
  query: string;
36
36
  scope?: MemoryScope | undefined;
37
37
  limit?: number | undefined;
38
38
  }
39
- interface SearchMemoryOutput {
39
+ export interface SearchMemoryOutput {
40
40
  results: Array<{
41
41
  text: string;
42
42
  ts: string;
@@ -47,11 +47,10 @@ interface SearchMemoryOutput {
47
47
  }>;
48
48
  }
49
49
  export declare function searchMemoryTool(memory: MemoryStore): Tool<SearchMemoryInput, SearchMemoryOutput>;
50
- interface RelatedMemoryInput {
50
+ export interface RelatedMemoryInput {
51
51
  text: string;
52
52
  scope?: MemoryScope | undefined;
53
53
  limit?: number | undefined;
54
54
  }
55
55
  export declare function relatedMemoryTool(memory: MemoryStore): Tool<RelatedMemoryInput, SearchMemoryOutput>;
56
- export {};
57
56
  //# sourceMappingURL=memory.d.ts.map
package/dist/memory.js CHANGED
@@ -3,7 +3,7 @@ import {
3
3
  relatedMemoryTool,
4
4
  rememberTool,
5
5
  searchMemoryTool
6
- } from "./chunk-NYRLWDT5.js";
6
+ } from "./chunk-FVM3O4JQ.js";
7
7
  export {
8
8
  forgetTool,
9
9
  relatedMemoryTool,
package/dist/mode.d.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  import type { ModeStore, Tool } from '@wrongstack/core/types';
2
- interface ModeInput {
2
+ export interface ModeInput {
3
3
  action: 'get' | 'list' | 'set' | 'clear';
4
4
  mode?: string | undefined;
5
5
  }
6
- type ModeFamily = 'lite' | 'deep' | 'balanced' | 'custom';
7
- interface ModeOutput {
6
+ export type ModeFamily = 'lite' | 'deep' | 'balanced' | 'custom';
7
+ export interface ModeOutput {
8
8
  action: string;
9
9
  currentMode?: string | undefined;
10
10
  modes?: {
@@ -18,5 +18,4 @@ interface ModeOutput {
18
18
  message: string;
19
19
  }
20
20
  export declare function createModeTool(modeStore: ModeStore): Tool<ModeInput, ModeOutput>;
21
- export {};
22
21
  //# sourceMappingURL=mode.d.ts.map
package/dist/mode.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createModeTool
3
- } from "./chunk-4BHUSMNL.js";
3
+ } from "./chunk-UI3ZJIG3.js";
4
4
  export {
5
5
  createModeTool
6
6
  };
@@ -11,16 +11,15 @@ import type { Tool } from '@wrongstack/core/types';
11
11
  *
12
12
  * Opt-in via `tools.nextsteps.enabled`; registered for the leader only.
13
13
  */
14
- interface NextStepsInput {
14
+ export interface NextStepsInput {
15
15
  steps: Array<{
16
16
  text: string;
17
17
  auto?: boolean;
18
18
  }>;
19
19
  }
20
- interface NextStepsOutput {
20
+ export interface NextStepsOutput {
21
21
  accepted: number;
22
22
  auto: boolean;
23
23
  }
24
24
  export declare const nextStepsTool: Tool<NextStepsInput, NextStepsOutput>;
25
- export {};
26
25
  //# sourceMappingURL=next-steps-tool.d.ts.map
@@ -33,6 +33,9 @@ export interface ParsedNextStep {
33
33
  /** Whether the first item has auto="true" for YOLO+auto autonomy mode. */
34
34
  auto?: boolean;
35
35
  }
36
+ export interface ParseNextStepsOptions {
37
+ requireHeading?: boolean;
38
+ }
36
39
  export interface ParseNextStepsResult {
37
40
  /** Matched steps with their original index and stripped text. */
38
41
  steps: ParsedNextStep[];
@@ -103,4 +106,5 @@ export declare function parseNextSteps(content: string, requireHeading?: boolean
103
106
  * reduced to nothing so raw XML never reaches the user.
104
107
  */
105
108
  export declare function stripNextStepsBlock(text: string): string;
109
+ export declare const stripNextSteps: typeof stripNextStepsBlock;
106
110
  //# sourceMappingURL=next-steps.d.ts.map
@@ -1,183 +1,17 @@
1
- // src/next-steps.ts
2
- function projectNextStepsToolInput(input) {
3
- if (!input || typeof input !== "object" || Array.isArray(input)) return [];
4
- const rawSteps = input["steps"];
5
- if (!Array.isArray(rawSteps)) return [];
6
- const steps = [];
7
- for (const candidate of rawSteps) {
8
- if (!candidate || typeof candidate !== "object" || Array.isArray(candidate)) continue;
9
- const text = candidate["text"];
10
- if (typeof text !== "string" || !text.trim()) continue;
11
- const auto = steps.length === 0 && candidate["auto"] === true;
12
- steps.push(
13
- auto ? { index: steps.length + 1, text: text.trim(), auto: true } : { index: steps.length + 1, text: text.trim() }
14
- );
15
- if (steps.length >= MAX_STEPS) break;
16
- }
17
- return steps;
18
- }
19
- function isFinalTurnStopReason(stopReason) {
20
- return stopReason !== "tool_use" && stopReason !== "tool_call";
21
- }
22
- function fenceSpans(content) {
23
- const spans = [];
24
- const lines = content.split("\n");
25
- let offset = 0;
26
- let open = null;
27
- for (const line of lines) {
28
- const lineStart = offset;
29
- offset += line.length + 1;
30
- const trimmed = line.trim();
31
- const marker = /^(`{3,}|~{3,})/.exec(trimmed)?.[1];
32
- if (marker === void 0) continue;
33
- if (open === null) {
34
- open = { markerChar: marker[0], markerLength: marker.length, start: lineStart };
35
- continue;
36
- }
37
- if (marker[0] === open.markerChar && marker.length >= open.markerLength && trimmed === marker) {
38
- spans.push([open.start, offset]);
39
- open = null;
40
- }
41
- }
42
- if (open !== null) spans.push([open.start, content.length]);
43
- return spans;
44
- }
45
- function indexInsideCodeFence(content, index) {
46
- return fenceSpans(content).some(([start, end]) => index >= start && index < end);
47
- }
48
- function nonFencedIndexOf(content, needle, fromIndex, spans) {
49
- let at = fromIndex;
50
- for (; ; ) {
51
- const found = content.indexOf(needle, at);
52
- if (found === -1) return -1;
53
- if (!spans.some(([start, end]) => found >= start && found < end)) return found;
54
- at = found + 1;
55
- }
56
- }
57
- var ITEM_RE = /^(?:(\d+)[.)]\s*|[-*•]\s*)(.+?)(\s+auto="true")?$/;
58
- var MAX_STEPS = 6;
59
- function parseNextSteps(content, requireHeading = true) {
60
- if (requireHeading) {
61
- return parseWithHeading(content);
62
- }
63
- return parseRawNumbered(content);
64
- }
65
- function pushStep(steps, index, text, hasAuto) {
66
- steps.push(hasAuto ? { index, text, auto: true } : { index, text });
67
- }
68
- function parseRawNumbered(content) {
69
- const lines = content.split("\n");
70
- const steps = [];
71
- const seenNumbers = /* @__PURE__ */ new Set();
72
- for (const rawLine of lines) {
73
- const line = rawLine.trim();
74
- if (!line) continue;
75
- const m = ITEM_RE.exec(line);
76
- if (!m) continue;
77
- const numPart = m[1];
78
- const text = m[2].trim();
79
- let index;
80
- if (numPart !== void 0) {
81
- index = Number.parseInt(numPart, 10);
82
- } else {
83
- index = steps.length + 1;
84
- }
85
- if (seenNumbers.has(index)) continue;
86
- seenNumbers.add(index);
87
- const hasAuto = !!m[3] && steps.length === 0 && index === 1;
88
- pushStep(steps, index, text, hasAuto);
89
- if (steps.length >= MAX_STEPS) break;
90
- }
91
- return {
92
- steps,
93
- texts: steps.map((s) => s.text),
94
- stripped: content,
95
- autoTexts: steps.filter((s) => s.auto).map((s) => s.text)
96
- };
97
- }
98
- function parseWithHeading(content) {
99
- const empty = { steps: [], texts: [], stripped: content, autoTexts: [] };
100
- const spans = fenceSpans(content);
101
- const outsideFences = (index) => !spans.some(([start, end]) => index >= start && index < end);
102
- const headingScan = /<nextsteps\b[^>]*>\s*\n+/gi;
103
- let heading = null;
104
- for (let m = headingScan.exec(content); m !== null; m = headingScan.exec(content)) {
105
- if (outsideFences(m.index)) {
106
- heading = { index: m.index, length: m[0].length };
107
- break;
108
- }
109
- }
110
- if (heading === null) return empty;
111
- const headingEnd = heading.index + heading.length;
112
- const afterHeading = content.slice(headingEnd);
113
- const lines = afterHeading.split("\n");
114
- const steps = [];
115
- const seenNumbers = /* @__PURE__ */ new Set();
116
- for (const rawLine of lines) {
117
- const line = rawLine.trim();
118
- if (!line) continue;
119
- const m = ITEM_RE.exec(line);
120
- if (!m) break;
121
- const numPart = m[1];
122
- const text = m[2].trim();
123
- let index;
124
- if (numPart !== void 0) {
125
- index = Number.parseInt(numPart, 10);
126
- } else {
127
- index = steps.length + 1;
128
- }
129
- if (seenNumbers.has(index)) continue;
130
- seenNumbers.add(index);
131
- const hasAuto = !!m[3] && steps.length === 0 && index === 1;
132
- pushStep(steps, index, text, hasAuto);
133
- if (steps.length >= MAX_STEPS) break;
134
- }
135
- if (steps.length === 0) return empty;
136
- const closeAbs = nonFencedIndexOf(content, "</nextsteps>", headingEnd, spans);
137
- if (closeAbs === -1) return empty;
138
- const texts = steps.map((s) => s.text);
139
- const autoTexts = steps.filter((s) => s.auto).map((s) => s.text);
140
- let blockEndAbs = closeAbs + "</nextsteps>".length;
141
- if (content[blockEndAbs] === "\n") blockEndAbs += 1;
142
- const stripped = (content.slice(0, heading.index) + content.slice(blockEndAbs)).replace(/\n{3,}/g, "\n\n").trim();
143
- return { steps, texts, stripped, autoTexts };
144
- }
145
- function stripNextStepsBlock(text) {
146
- const spans = fenceSpans(text);
147
- const outsideFences = (index) => !spans.some(([start, end]) => index >= start && index < end);
148
- let result = "";
149
- let cursor = 0;
150
- const openTagRe = /<next_?steps\b[^>]*>/gi;
151
- for (let match = openTagRe.exec(text); match !== null; match = openTagRe.exec(text)) {
152
- if (!outsideFences(match.index)) continue;
153
- let removed;
154
- if (match[0].endsWith("/>")) {
155
- removed = match[0].length;
156
- } else {
157
- const closeRe = /<\/next_?steps\s*>/gi;
158
- closeRe.lastIndex = match.index + match[0].length;
159
- removed = -1;
160
- for (let close = closeRe.exec(text); close !== null; close = closeRe.exec(text)) {
161
- if (!outsideFences(close.index)) continue;
162
- removed = close.index + close[0].length - match.index;
163
- break;
164
- }
165
- if (removed === -1) {
166
- removed = match[0].length;
167
- }
168
- }
169
- result += text.slice(cursor, match.index);
170
- cursor = match.index + removed;
171
- openTagRe.lastIndex = cursor;
172
- }
173
- result += text.slice(cursor);
174
- return result.replace(/\n{3,}/g, "\n\n").trim();
175
- }
1
+ import {
2
+ indexInsideCodeFence,
3
+ isFinalTurnStopReason,
4
+ parseNextSteps,
5
+ projectNextStepsToolInput,
6
+ stripNextSteps,
7
+ stripNextStepsBlock
8
+ } from "./chunk-XXRMF2BC.js";
176
9
  export {
177
10
  indexInsideCodeFence,
178
11
  isFinalTurnStopReason,
179
12
  parseNextSteps,
180
13
  projectNextStepsToolInput,
14
+ stripNextSteps,
181
15
  stripNextStepsBlock
182
16
  };
183
17
  //# sourceMappingURL=next-steps.js.map
@@ -1,8 +1,8 @@
1
1
  import type { Tool } from '@wrongstack/core/types';
2
- interface OutdatedInput {
2
+ export interface OutdatedInput {
3
3
  cwd?: string | undefined;
4
4
  }
5
- interface OutdatedPackage {
5
+ export interface OutdatedPackage {
6
6
  name: string;
7
7
  current: string;
8
8
  latest: string;
@@ -10,37 +10,13 @@ interface OutdatedPackage {
10
10
  type: string;
11
11
  location: string;
12
12
  }
13
- interface OutdatedOutput {
13
+ export interface OutdatedOutput {
14
14
  exit_code: number;
15
15
  packages: OutdatedPackage[];
16
16
  total: number;
17
17
  output: string;
18
18
  truncated: boolean;
19
19
  }
20
- type OutdatedContext = Parameters<Tool<OutdatedInput, OutdatedOutput>['execute']>[1];
21
- export declare const outdatedTool: {
22
- name: string;
23
- category: string;
24
- description: string;
25
- usageHint: string;
26
- permission: "confirm";
27
- icon: "package";
28
- subjectKey: string;
29
- mutating: true;
30
- capabilities: string[];
31
- timeoutMs: number;
32
- inputSchema: {
33
- type: string;
34
- properties: {
35
- cwd: {
36
- type: string;
37
- description: string;
38
- };
39
- };
40
- };
41
- execute(input: OutdatedInput, ctx: OutdatedContext, opts?: {
42
- signal: AbortSignal;
43
- }): Promise<OutdatedOutput>;
44
- };
45
- export {};
20
+ export type OutdatedContext = Parameters<Tool<OutdatedInput, OutdatedOutput>['execute']>[1];
21
+ export declare const outdatedTool: Tool<OutdatedInput, OutdatedOutput>;
46
22
  //# sourceMappingURL=outdated.d.ts.map
package/dist/outdated.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  outdatedTool
3
- } from "./chunk-DFQDJT22.js";
4
- import "./chunk-ESLPBT5A.js";
5
- import "./chunk-HFXSNKCV.js";
3
+ } from "./chunk-6GOZTS6F.js";
4
+ import "./chunk-HDYUBRMF.js";
5
+ import "./chunk-7JJFC6CT.js";
6
6
  import "./chunk-KE7A76VC.js";
7
7
  import "./chunk-ZUFHAHTE.js";
8
8
  export {