sqlew 4.3.0 → 5.0.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.
Files changed (858) hide show
  1. package/CHANGELOG.md +95 -0
  2. package/LICENSE +1 -1
  3. package/NOTICE +2 -2
  4. package/README.md +338 -269
  5. package/assets/claude-md-snippets/plan-mode-integration.md +104 -48
  6. package/assets/claude-md-snippets/queue-monitoring.md +84 -0
  7. package/dist/backend/backend-factory.d.ts +67 -0
  8. package/dist/backend/backend-factory.d.ts.map +1 -0
  9. package/dist/backend/backend-factory.js +171 -0
  10. package/dist/backend/backend-factory.js.map +1 -0
  11. package/dist/backend/index.d.ts +12 -0
  12. package/dist/backend/index.d.ts.map +1 -0
  13. package/dist/backend/index.js +13 -0
  14. package/dist/backend/index.js.map +1 -0
  15. package/dist/backend/inference.d.ts +38 -0
  16. package/dist/backend/inference.d.ts.map +1 -0
  17. package/dist/backend/inference.js +76 -0
  18. package/dist/backend/inference.js.map +1 -0
  19. package/dist/backend/local-backend.d.ts +40 -0
  20. package/dist/backend/local-backend.d.ts.map +1 -0
  21. package/dist/backend/local-backend.js +410 -0
  22. package/dist/backend/local-backend.js.map +1 -0
  23. package/dist/backend/transforming-backend.d.ts +47 -0
  24. package/dist/backend/transforming-backend.d.ts.map +1 -0
  25. package/dist/backend/transforming-backend.js +80 -0
  26. package/dist/backend/transforming-backend.js.map +1 -0
  27. package/dist/backend/types.d.ts +58 -0
  28. package/dist/backend/types.d.ts.map +1 -0
  29. package/dist/backend/types.js +7 -0
  30. package/dist/backend/types.js.map +1 -0
  31. package/dist/cli/db-dump.js +45 -45
  32. package/dist/cli/db-dump.js.map +1 -1
  33. package/dist/cli/db-export.js +30 -30
  34. package/dist/cli/db-export.js.map +1 -1
  35. package/dist/cli/db-import.d.ts.map +1 -1
  36. package/dist/cli/db-import.js +32 -33
  37. package/dist/cli/db-import.js.map +1 -1
  38. package/dist/cli/hooks/check-completion.d.ts +1 -0
  39. package/dist/cli/hooks/check-completion.d.ts.map +1 -1
  40. package/dist/cli/hooks/check-completion.js +15 -26
  41. package/dist/cli/hooks/check-completion.js.map +1 -1
  42. package/dist/cli/hooks/mark-done.d.ts +1 -0
  43. package/dist/cli/hooks/mark-done.d.ts.map +1 -1
  44. package/dist/cli/hooks/mark-done.js +12 -17
  45. package/dist/cli/hooks/mark-done.js.map +1 -1
  46. package/dist/cli/hooks/on-enter-plan.js +2 -2
  47. package/dist/cli/hooks/on-enter-plan.js.map +1 -1
  48. package/dist/cli/hooks/on-session-start.d.ts +23 -0
  49. package/dist/cli/hooks/on-session-start.d.ts.map +1 -0
  50. package/dist/cli/hooks/on-session-start.js +70 -0
  51. package/dist/cli/hooks/on-session-start.js.map +1 -0
  52. package/dist/cli/hooks/on-stop.js +5 -5
  53. package/dist/cli/hooks/on-stop.js.map +1 -1
  54. package/dist/cli/hooks/{plan-toml-parser.d.ts → plan-parser.d.ts} +1 -1
  55. package/dist/cli/hooks/plan-parser.d.ts.map +1 -0
  56. package/dist/cli/hooks/{plan-toml-parser.js → plan-parser.js} +1 -1
  57. package/dist/cli/hooks/plan-parser.js.map +1 -0
  58. package/dist/cli/hooks/plan-pattern-extractor.d.ts.map +1 -1
  59. package/dist/cli/hooks/plan-pattern-extractor.js +6 -3
  60. package/dist/cli/hooks/plan-pattern-extractor.js.map +1 -1
  61. package/dist/cli/hooks/plan-processor.js +1 -1
  62. package/dist/cli/hooks/plan-processor.js.map +1 -1
  63. package/dist/cli/hooks/stdin-parser.d.ts +4 -0
  64. package/dist/cli/hooks/stdin-parser.d.ts.map +1 -1
  65. package/dist/cli/hooks/stdin-parser.js.map +1 -1
  66. package/dist/cli/hooks/suggest.js +2 -2
  67. package/dist/cli/hooks/suggest.js.map +1 -1
  68. package/dist/cli/hooks/track-plan.d.ts.map +1 -1
  69. package/dist/cli/hooks/track-plan.js +24 -18
  70. package/dist/cli/hooks/track-plan.js.map +1 -1
  71. package/dist/cli.d.ts.map +1 -1
  72. package/dist/cli.js +108 -108
  73. package/dist/cli.js.map +1 -1
  74. package/dist/config/cloud-config-loader.d.ts +107 -0
  75. package/dist/config/cloud-config-loader.d.ts.map +1 -0
  76. package/dist/config/cloud-config-loader.js +273 -0
  77. package/dist/config/cloud-config-loader.js.map +1 -0
  78. package/dist/config/global-config.d.ts +10 -10
  79. package/dist/config/global-config.d.ts.map +1 -1
  80. package/dist/config/global-config.js +12 -12
  81. package/dist/config/global-config.js.map +1 -1
  82. package/dist/config/loader.d.ts.map +1 -1
  83. package/dist/config/loader.js +5 -1
  84. package/dist/config/loader.js.map +1 -1
  85. package/dist/config/minimal-generator.d.ts.map +1 -1
  86. package/dist/config/minimal-generator.js +22 -72
  87. package/dist/config/minimal-generator.js.map +1 -1
  88. package/dist/config/types.d.ts +59 -1
  89. package/dist/config/types.d.ts.map +1 -1
  90. package/dist/config/types.js +14 -0
  91. package/dist/config/types.js.map +1 -1
  92. package/dist/constants.d.ts +1 -29
  93. package/dist/constants.d.ts.map +1 -1
  94. package/dist/constants.js +1 -38
  95. package/dist/constants.js.map +1 -1
  96. package/dist/database/initialization/cleanup.d.ts.map +1 -1
  97. package/dist/database/initialization/cleanup.js +0 -13
  98. package/dist/database/initialization/cleanup.js.map +1 -1
  99. package/dist/database/initialization/init.d.ts.map +1 -1
  100. package/dist/database/initialization/init.js +0 -9
  101. package/dist/database/initialization/init.js.map +1 -1
  102. package/dist/database/initialization/schema-version.d.ts +4 -4
  103. package/dist/database/initialization/schema-version.js +9 -9
  104. package/dist/database/initialization/schema-version.js.map +1 -1
  105. package/dist/database/migrations/v4/20260107000000_v5_drop_task_file_tables.d.ts +36 -0
  106. package/dist/database/migrations/v4/20260107000000_v5_drop_task_file_tables.d.ts.map +1 -0
  107. package/dist/database/migrations/v4/20260107000000_v5_drop_task_file_tables.js +135 -0
  108. package/dist/database/migrations/v4/20260107000000_v5_drop_task_file_tables.js.map +1 -0
  109. package/dist/database/migrations/v4/20260107000001_v5_drop_legacy_tables.d.ts +20 -0
  110. package/dist/database/migrations/v4/20260107000001_v5_drop_legacy_tables.d.ts.map +1 -0
  111. package/dist/database/migrations/v4/20260107000001_v5_drop_legacy_tables.js +168 -0
  112. package/dist/database/migrations/v4/20260107000001_v5_drop_legacy_tables.js.map +1 -0
  113. package/dist/database/migrations/v4/20260108000000_v5_rename_to_m_t_prefix.d.ts +23 -0
  114. package/dist/database/migrations/v4/20260108000000_v5_rename_to_m_t_prefix.d.ts.map +1 -0
  115. package/dist/database/migrations/v4/20260108000000_v5_rename_to_m_t_prefix.js +570 -0
  116. package/dist/database/migrations/v4/20260108000000_v5_rename_to_m_t_prefix.js.map +1 -0
  117. package/dist/database/migrations/v4/20260109000000_v5_drop_help_tables.d.ts +29 -0
  118. package/dist/database/migrations/v4/20260109000000_v5_drop_help_tables.d.ts.map +1 -0
  119. package/dist/database/migrations/v4/20260109000000_v5_drop_help_tables.js +80 -0
  120. package/dist/database/migrations/v4/20260109000000_v5_drop_help_tables.js.map +1 -0
  121. package/dist/database/operations/inserts.js +11 -11
  122. package/dist/database/operations/inserts.js.map +1 -1
  123. package/dist/database/operations/queries.js +9 -9
  124. package/dist/database/operations/queries.js.map +1 -1
  125. package/dist/formatters/adr-formatter.d.ts +22 -0
  126. package/dist/formatters/adr-formatter.d.ts.map +1 -0
  127. package/dist/formatters/adr-formatter.js +127 -0
  128. package/dist/formatters/adr-formatter.js.map +1 -0
  129. package/dist/formatters/confluence-formatter.d.ts +26 -0
  130. package/dist/formatters/confluence-formatter.d.ts.map +1 -0
  131. package/dist/formatters/confluence-formatter.js +129 -0
  132. package/dist/formatters/confluence-formatter.js.map +1 -0
  133. package/dist/formatters/index.d.ts +34 -0
  134. package/dist/formatters/index.d.ts.map +1 -0
  135. package/dist/formatters/index.js +57 -0
  136. package/dist/formatters/index.js.map +1 -0
  137. package/dist/formatters/markdown-formatter.d.ts +16 -0
  138. package/dist/formatters/markdown-formatter.d.ts.map +1 -0
  139. package/dist/formatters/markdown-formatter.js +110 -0
  140. package/dist/formatters/markdown-formatter.js.map +1 -0
  141. package/dist/formatters/notion-formatter.d.ts +29 -0
  142. package/dist/formatters/notion-formatter.d.ts.map +1 -0
  143. package/dist/formatters/notion-formatter.js +177 -0
  144. package/dist/formatters/notion-formatter.js.map +1 -0
  145. package/dist/formatters/types.d.ts +31 -0
  146. package/dist/formatters/types.d.ts.map +1 -0
  147. package/dist/formatters/types.js +6 -0
  148. package/dist/formatters/types.js.map +1 -0
  149. package/dist/help-data/_schema.toml +21 -0
  150. package/dist/help-data/constraint.toml +259 -0
  151. package/dist/help-data/decision.toml +833 -0
  152. package/dist/help-data/example.toml +177 -0
  153. package/dist/help-data/help.toml +246 -0
  154. package/dist/help-data/queue.toml +134 -0
  155. package/dist/help-data/suggest.toml +219 -0
  156. package/dist/help-data/use-cases/_categories.toml +22 -0
  157. package/dist/help-data/use-cases/constraint-basic.toml +34 -0
  158. package/dist/help-data/use-cases/cross-tool-workflow.toml +50 -0
  159. package/dist/help-data/use-cases/decision-intelligence-duplicate.toml +35 -0
  160. package/dist/help-data/use-cases/decision-intelligence-related.toml +35 -0
  161. package/dist/help-data/use-cases/decision-tracking-basic.toml +42 -0
  162. package/dist/help-data/use-cases/decision-tracking-versions.toml +42 -0
  163. package/dist/help-data/use_case.toml +147 -0
  164. package/dist/help-loader.d.ts +194 -0
  165. package/dist/help-loader.d.ts.map +1 -0
  166. package/dist/help-loader.js +419 -0
  167. package/dist/help-loader.js.map +1 -0
  168. package/dist/index.js +15 -10
  169. package/dist/index.js.map +1 -1
  170. package/dist/init-rules.d.ts +42 -0
  171. package/dist/init-rules.d.ts.map +1 -0
  172. package/dist/init-rules.js +217 -0
  173. package/dist/init-rules.js.map +1 -0
  174. package/dist/schema.d.ts +4 -6
  175. package/dist/schema.d.ts.map +1 -1
  176. package/dist/schema.js +28 -45
  177. package/dist/schema.js.map +1 -1
  178. package/dist/server/setup.d.ts +0 -10
  179. package/dist/server/setup.d.ts.map +1 -1
  180. package/dist/server/setup.js +97 -89
  181. package/dist/server/setup.js.map +1 -1
  182. package/dist/server/shutdown.d.ts +1 -1
  183. package/dist/server/shutdown.d.ts.map +1 -1
  184. package/dist/server/shutdown.js +1 -16
  185. package/dist/server/shutdown.js.map +1 -1
  186. package/dist/server/tool-handlers.d.ts +15 -0
  187. package/dist/server/tool-handlers.d.ts.map +1 -1
  188. package/dist/server/tool-handlers.js +47 -462
  189. package/dist/server/tool-handlers.js.map +1 -1
  190. package/dist/server/tool-registry.d.ts.map +1 -1
  191. package/dist/server/tool-registry.js +50 -62
  192. package/dist/server/tool-registry.js.map +1 -1
  193. package/dist/tests/backend/backend-factory.test.d.ts +7 -0
  194. package/dist/tests/backend/backend-factory.test.d.ts.map +1 -0
  195. package/dist/tests/backend/backend-factory.test.js +157 -0
  196. package/dist/tests/backend/backend-factory.test.js.map +1 -0
  197. package/dist/tests/backend/inference.test.d.ts +7 -0
  198. package/dist/tests/backend/inference.test.d.ts.map +1 -0
  199. package/dist/tests/backend/inference.test.js +142 -0
  200. package/dist/tests/backend/inference.test.js.map +1 -0
  201. package/dist/tests/database/multi-project/multi-project.test.js +9 -70
  202. package/dist/tests/database/multi-project/multi-project.test.js.map +1 -1
  203. package/dist/tests/database/sql-dump/table-ordering.test.js +14 -14
  204. package/dist/tests/database/sql-dump/table-ordering.test.js.map +1 -1
  205. package/dist/tests/docker/cross-database.test.js +32 -32
  206. package/dist/tests/docker/cross-database.test.js.map +1 -1
  207. package/dist/tests/docker/dump-import.test.js +55 -55
  208. package/dist/tests/docker/dump-import.test.js.map +1 -1
  209. package/dist/tests/docker/fk-constraints.test.js +3 -3
  210. package/dist/tests/docker/indexes.test.js +34 -34
  211. package/dist/tests/docker/integration.test.js +33 -33
  212. package/dist/tests/docker/multi-project-migration.test.js +47 -47
  213. package/dist/tests/docker/multi-project-migration.test.js.map +1 -1
  214. package/dist/tests/docker/native/constraint-operations.test.js +49 -49
  215. package/dist/tests/docker/native/constraint-operations.test.js.map +1 -1
  216. package/dist/tests/docker/native/db-init.d.ts +3 -1
  217. package/dist/tests/docker/native/db-init.d.ts.map +1 -1
  218. package/dist/tests/docker/native/db-init.js +14 -12
  219. package/dist/tests/docker/native/db-init.js.map +1 -1
  220. package/dist/tests/docker/native/decision-operations.test.js +91 -91
  221. package/dist/tests/docker/native/decision-operations.test.js.map +1 -1
  222. package/dist/tests/docker/native/help-system.test.d.ts +2 -2
  223. package/dist/tests/docker/native/help-system.test.js +113 -138
  224. package/dist/tests/docker/native/help-system.test.js.map +1 -1
  225. package/dist/tests/docker/native/suggest-tool.test.d.ts +2 -2
  226. package/dist/tests/docker/native/suggest-tool.test.js +35 -35
  227. package/dist/tests/docker/native/suggest-tool.test.js.map +1 -1
  228. package/dist/tests/docker/native/test-harness.d.ts +6 -12
  229. package/dist/tests/docker/native/test-harness.d.ts.map +1 -1
  230. package/dist/tests/docker/native/test-harness.js +74 -156
  231. package/dist/tests/docker/native/test-harness.js.map +1 -1
  232. package/dist/tests/docker/schema-migration.test.js +6 -6
  233. package/dist/tests/feature/decision/batch-validation-comprehensive.test.d.ts +3 -7
  234. package/dist/tests/feature/decision/batch-validation-comprehensive.test.d.ts.map +1 -1
  235. package/dist/tests/feature/decision/batch-validation-comprehensive.test.js +7 -318
  236. package/dist/tests/feature/decision/batch-validation-comprehensive.test.js.map +1 -1
  237. package/dist/tests/feature/help/help-system.test.d.ts +6 -6
  238. package/dist/tests/feature/help/help-system.test.js +166 -124
  239. package/dist/tests/feature/help/help-system.test.js.map +1 -1
  240. package/dist/tests/integration/auto-trigger-suggestions.test.js +22 -22
  241. package/dist/tests/integration/auto-trigger-suggestions.test.js.map +1 -1
  242. package/dist/tests/integration/decision-intelligence-e2e.test.js +23 -22
  243. package/dist/tests/integration/decision-intelligence-e2e.test.js.map +1 -1
  244. package/dist/tests/integration/e2e-workflow1-debug.test.js +3 -3
  245. package/dist/tests/integration/e2e-workflow1-debug.test.js.map +1 -1
  246. package/dist/tests/integration/hybrid-similarity-detection.test.js +25 -25
  247. package/dist/tests/integration/hybrid-similarity-detection.test.js.map +1 -1
  248. package/dist/tests/integration/suggest-simple.test.js +18 -0
  249. package/dist/tests/integration/suggest-simple.test.js.map +1 -1
  250. package/dist/tests/migrations/test-all-versions.js +212 -212
  251. package/dist/tests/migrations/test-all-versions.js.map +1 -1
  252. package/dist/tests/migrations/v4/v4-fresh-install.test.js +29 -29
  253. package/dist/tests/migrations/v4/v4-fresh-install.test.js.map +1 -1
  254. package/dist/tests/migrations/v4/v4-migrate-data.test.js +20 -20
  255. package/dist/tests/migrations/v4/v4-migrate-data.test.js.map +1 -1
  256. package/dist/tests/test-v4-native-rdbms.js +20 -20
  257. package/dist/tests/test-v4-native-rdbms.js.map +1 -1
  258. package/dist/tests/unit/config/cloud-config-loader.test.d.ts +2 -0
  259. package/dist/tests/unit/config/cloud-config-loader.test.d.ts.map +1 -0
  260. package/dist/tests/unit/config/cloud-config-loader.test.js +103 -0
  261. package/dist/tests/unit/config/cloud-config-loader.test.js.map +1 -0
  262. package/dist/tests/unit/config/{plan-toml-cache.test.d.ts → plan-cache.test.d.ts} +1 -1
  263. package/dist/tests/unit/config/plan-cache.test.d.ts.map +1 -0
  264. package/dist/tests/unit/config/{plan-toml-cache.test.js → plan-cache.test.js} +32 -32
  265. package/dist/tests/unit/config/plan-cache.test.js.map +1 -0
  266. package/dist/tests/unit/hooks/{plan-toml-parser.test.d.ts → plan-parser.test.d.ts} +1 -1
  267. package/dist/tests/unit/hooks/plan-parser.test.d.ts.map +1 -0
  268. package/dist/tests/unit/hooks/{plan-toml-parser.test.js → plan-parser.test.js} +179 -179
  269. package/dist/tests/unit/hooks/plan-parser.test.js.map +1 -0
  270. package/dist/tests/unit/server/tool-handlers.test.d.ts +7 -0
  271. package/dist/tests/unit/server/tool-handlers.test.d.ts.map +1 -0
  272. package/dist/tests/unit/server/tool-handlers.test.js +76 -0
  273. package/dist/tests/unit/server/tool-handlers.test.js.map +1 -0
  274. package/dist/tests/unit/utils/config-loader.test.js +17 -17
  275. package/dist/tests/unit/utils/connection-hash.test.d.ts +2 -0
  276. package/dist/tests/unit/utils/connection-hash.test.d.ts.map +1 -0
  277. package/dist/tests/unit/utils/connection-hash.test.js +57 -0
  278. package/dist/tests/unit/utils/connection-hash.test.js.map +1 -0
  279. package/dist/tests/unit/utils/environment-detector.test.d.ts +2 -0
  280. package/dist/tests/unit/utils/environment-detector.test.d.ts.map +1 -0
  281. package/dist/tests/unit/utils/environment-detector.test.js +43 -0
  282. package/dist/tests/unit/utils/environment-detector.test.js.map +1 -0
  283. package/dist/tests/unit/utils/path-utils.test.d.ts +2 -0
  284. package/dist/tests/unit/utils/path-utils.test.d.ts.map +1 -0
  285. package/dist/tests/unit/utils/path-utils.test.js +72 -0
  286. package/dist/tests/unit/utils/path-utils.test.js.map +1 -0
  287. package/dist/tests/unit/utils/project-detector.test.js +14 -13
  288. package/dist/tests/unit/utils/project-detector.test.js.map +1 -1
  289. package/dist/tests/unit/validation/parameter-validation.test.d.ts +2 -1
  290. package/dist/tests/unit/validation/parameter-validation.test.d.ts.map +1 -1
  291. package/dist/tests/unit/validation/parameter-validation.test.js +5 -133
  292. package/dist/tests/unit/validation/parameter-validation.test.js.map +1 -1
  293. package/dist/tests/unit/validation/policy-validation.test.js +15 -15
  294. package/dist/tests/unit/validation/policy-validation.test.js.map +1 -1
  295. package/dist/tests/utils/db-schema.js +48 -48
  296. package/dist/tests/utils/db-seeding.js +11 -11
  297. package/dist/tests/utils/db-seeding.js.map +1 -1
  298. package/dist/tests/utils/json-export-import.test.d.ts +6 -0
  299. package/dist/tests/utils/json-export-import.test.d.ts.map +1 -0
  300. package/dist/tests/utils/json-export-import.test.js +474 -0
  301. package/dist/tests/utils/json-export-import.test.js.map +1 -0
  302. package/dist/tests/utils/test-helpers.js +59 -59
  303. package/dist/tests/utils/test-helpers.js.map +1 -1
  304. package/dist/tools/constraints/actions/activate.d.ts +2 -2
  305. package/dist/tools/constraints/actions/activate.d.ts.map +1 -1
  306. package/dist/tools/constraints/actions/activate.js +12 -12
  307. package/dist/tools/constraints/actions/activate.js.map +1 -1
  308. package/dist/tools/constraints/actions/add.js +3 -3
  309. package/dist/tools/constraints/actions/add.js.map +1 -1
  310. package/dist/tools/constraints/actions/deactivate.js +6 -6
  311. package/dist/tools/constraints/actions/deactivate.js.map +1 -1
  312. package/dist/tools/constraints/actions/get.d.ts +2 -2
  313. package/dist/tools/constraints/actions/get.js +9 -9
  314. package/dist/tools/constraints/actions/get.js.map +1 -1
  315. package/dist/tools/constraints/actions/suggest-pending.js +2 -2
  316. package/dist/tools/constraints/actions/suggest-pending.js.map +1 -1
  317. package/dist/tools/constraints/index.d.ts +1 -1
  318. package/dist/tools/constraints/index.d.ts.map +1 -1
  319. package/dist/tools/constraints/index.js +1 -1
  320. package/dist/tools/constraints/index.js.map +1 -1
  321. package/dist/tools/context/actions/create-policy.js +3 -3
  322. package/dist/tools/context/actions/create-policy.js.map +1 -1
  323. package/dist/tools/context/actions/create-template.js +2 -2
  324. package/dist/tools/context/actions/create-template.js.map +1 -1
  325. package/dist/tools/context/actions/export.d.ts +35 -0
  326. package/dist/tools/context/actions/export.d.ts.map +1 -0
  327. package/dist/tools/context/actions/export.js +93 -0
  328. package/dist/tools/context/actions/export.js.map +1 -0
  329. package/dist/tools/context/actions/hard-delete.js +11 -11
  330. package/dist/tools/context/actions/hard-delete.js.map +1 -1
  331. package/dist/tools/context/actions/has-updates.d.ts +1 -1
  332. package/dist/tools/context/actions/has-updates.d.ts.map +1 -1
  333. package/dist/tools/context/actions/has-updates.js +5 -17
  334. package/dist/tools/context/actions/has-updates.js.map +1 -1
  335. package/dist/tools/context/actions/list-policies.js +1 -1
  336. package/dist/tools/context/actions/list-policies.js.map +1 -1
  337. package/dist/tools/context/actions/list-templates.js +2 -2
  338. package/dist/tools/context/actions/list-templates.js.map +1 -1
  339. package/dist/tools/context/actions/list.js +1 -1
  340. package/dist/tools/context/actions/list.js.map +1 -1
  341. package/dist/tools/context/actions/search-layer.js +8 -8
  342. package/dist/tools/context/actions/search-layer.js.map +1 -1
  343. package/dist/tools/context/actions/set-from-policy.js +1 -1
  344. package/dist/tools/context/actions/set-from-policy.js.map +1 -1
  345. package/dist/tools/context/actions/set-from-template.js +2 -2
  346. package/dist/tools/context/actions/set-from-template.js.map +1 -1
  347. package/dist/tools/context/actions/versions.js +3 -3
  348. package/dist/tools/context/actions/versions.js.map +1 -1
  349. package/dist/tools/context/index.d.ts +1 -0
  350. package/dist/tools/context/index.d.ts.map +1 -1
  351. package/dist/tools/context/index.js +2 -0
  352. package/dist/tools/context/index.js.map +1 -1
  353. package/dist/tools/context/internal/queries.d.ts.map +1 -1
  354. package/dist/tools/context/internal/queries.js +54 -43
  355. package/dist/tools/context/internal/queries.js.map +1 -1
  356. package/dist/tools/context/types.d.ts +1 -1
  357. package/dist/tools/context/types.d.ts.map +1 -1
  358. package/dist/tools/example/actions/get.d.ts +8 -3
  359. package/dist/tools/example/actions/get.d.ts.map +1 -1
  360. package/dist/tools/example/actions/get.js +29 -30
  361. package/dist/tools/example/actions/get.js.map +1 -1
  362. package/dist/tools/example/actions/list-all.d.ts +8 -2
  363. package/dist/tools/example/actions/list-all.d.ts.map +1 -1
  364. package/dist/tools/example/actions/list-all.js +37 -29
  365. package/dist/tools/example/actions/list-all.js.map +1 -1
  366. package/dist/tools/example/actions/search.d.ts +8 -3
  367. package/dist/tools/example/actions/search.d.ts.map +1 -1
  368. package/dist/tools/example/actions/search.js +29 -43
  369. package/dist/tools/example/actions/search.js.map +1 -1
  370. package/dist/tools/help/actions/batch-guide.js +5 -5
  371. package/dist/tools/help/actions/batch-guide.js.map +1 -1
  372. package/dist/tools/help/actions/query-action.d.ts +7 -3
  373. package/dist/tools/help/actions/query-action.d.ts.map +1 -1
  374. package/dist/tools/help/actions/query-action.js +35 -6
  375. package/dist/tools/help/actions/query-action.js.map +1 -1
  376. package/dist/tools/help/actions/query-params.d.ts +5 -3
  377. package/dist/tools/help/actions/query-params.d.ts.map +1 -1
  378. package/dist/tools/help/actions/query-params.js +28 -6
  379. package/dist/tools/help/actions/query-params.js.map +1 -1
  380. package/dist/tools/help/actions/query-tool.d.ts +5 -3
  381. package/dist/tools/help/actions/query-tool.d.ts.map +1 -1
  382. package/dist/tools/help/actions/query-tool.js +23 -6
  383. package/dist/tools/help/actions/query-tool.js.map +1 -1
  384. package/dist/tools/help/actions/workflow-hints.d.ts +5 -3
  385. package/dist/tools/help/actions/workflow-hints.d.ts.map +1 -1
  386. package/dist/tools/help/actions/workflow-hints.js +21 -6
  387. package/dist/tools/help/actions/workflow-hints.js.map +1 -1
  388. package/dist/tools/queue/actions/clear.d.ts +19 -0
  389. package/dist/tools/queue/actions/clear.d.ts.map +1 -0
  390. package/dist/tools/queue/actions/clear.js +79 -0
  391. package/dist/tools/queue/actions/clear.js.map +1 -0
  392. package/dist/tools/queue/actions/list.d.ts +16 -0
  393. package/dist/tools/queue/actions/list.d.ts.map +1 -0
  394. package/dist/tools/queue/actions/list.js +95 -0
  395. package/dist/tools/queue/actions/list.js.map +1 -0
  396. package/dist/tools/queue/actions/remove.d.ts +19 -0
  397. package/dist/tools/queue/actions/remove.d.ts.map +1 -0
  398. package/dist/tools/queue/actions/remove.js +81 -0
  399. package/dist/tools/queue/actions/remove.js.map +1 -0
  400. package/dist/tools/queue/index.d.ts +13 -0
  401. package/dist/tools/queue/index.d.ts.map +1 -0
  402. package/dist/tools/queue/index.js +13 -0
  403. package/dist/tools/queue/index.js.map +1 -0
  404. package/dist/tools/queue/types.d.ts +87 -0
  405. package/dist/tools/queue/types.d.ts.map +1 -0
  406. package/dist/tools/queue/types.js +9 -0
  407. package/dist/tools/queue/types.js.map +1 -0
  408. package/dist/tools/suggest/actions/by-context.d.ts.map +1 -1
  409. package/dist/tools/suggest/actions/by-context.js +7 -15
  410. package/dist/tools/suggest/actions/by-context.js.map +1 -1
  411. package/dist/tools/suggest/actions/by-key.d.ts.map +1 -1
  412. package/dist/tools/suggest/actions/by-key.js +7 -15
  413. package/dist/tools/suggest/actions/by-key.js.map +1 -1
  414. package/dist/tools/suggest/actions/by-tags.d.ts +2 -2
  415. package/dist/tools/suggest/actions/by-tags.d.ts.map +1 -1
  416. package/dist/tools/suggest/actions/by-tags.js +8 -18
  417. package/dist/tools/suggest/actions/by-tags.js.map +1 -1
  418. package/dist/tools/suggest/actions/constraint-by-context.d.ts +1 -1
  419. package/dist/tools/suggest/actions/constraint-by-context.d.ts.map +1 -1
  420. package/dist/tools/suggest/actions/constraint-by-context.js +9 -16
  421. package/dist/tools/suggest/actions/constraint-by-context.js.map +1 -1
  422. package/dist/tools/suggest/actions/constraint-by-tags.d.ts +1 -1
  423. package/dist/tools/suggest/actions/constraint-by-tags.d.ts.map +1 -1
  424. package/dist/tools/suggest/actions/constraint-by-tags.js +11 -17
  425. package/dist/tools/suggest/actions/constraint-by-tags.js.map +1 -1
  426. package/dist/tools/suggest/actions/constraint-by-text.d.ts +1 -1
  427. package/dist/tools/suggest/actions/constraint-by-text.d.ts.map +1 -1
  428. package/dist/tools/suggest/actions/constraint-by-text.js +6 -15
  429. package/dist/tools/suggest/actions/constraint-by-text.js.map +1 -1
  430. package/dist/tools/suggest/internal/constraint-queries.d.ts +4 -4
  431. package/dist/tools/suggest/internal/constraint-queries.js +14 -14
  432. package/dist/tools/suggest/internal/constraint-queries.js.map +1 -1
  433. package/dist/tools/suggest/internal/queries.d.ts +4 -4
  434. package/dist/tools/suggest/internal/queries.js +25 -25
  435. package/dist/tools/suggest/internal/queries.js.map +1 -1
  436. package/dist/tools/use_case/actions/get.d.ts +5 -3
  437. package/dist/tools/use_case/actions/get.d.ts.map +1 -1
  438. package/dist/tools/use_case/actions/get.js +20 -6
  439. package/dist/tools/use_case/actions/get.js.map +1 -1
  440. package/dist/tools/use_case/actions/list-all.d.ts +5 -3
  441. package/dist/tools/use_case/actions/list-all.d.ts.map +1 -1
  442. package/dist/tools/use_case/actions/list-all.js +36 -6
  443. package/dist/tools/use_case/actions/list-all.js.map +1 -1
  444. package/dist/tools/use_case/actions/search.d.ts +6 -3
  445. package/dist/tools/use_case/actions/search.d.ts.map +1 -1
  446. package/dist/tools/use_case/actions/search.js +37 -67
  447. package/dist/tools/use_case/actions/search.js.map +1 -1
  448. package/dist/tools/use_case/help/example.js +17 -17
  449. package/dist/tools/use_case/help/example.js.map +1 -1
  450. package/dist/types.d.ts +81 -380
  451. package/dist/types.d.ts.map +1 -1
  452. package/dist/types.js +0 -10
  453. package/dist/types.js.map +1 -1
  454. package/dist/utils/action-specs/constraint-specs.js +6 -6
  455. package/dist/utils/action-specs/constraint-specs.js.map +1 -1
  456. package/dist/utils/action-specs/index.d.ts +0 -2
  457. package/dist/utils/action-specs/index.d.ts.map +1 -1
  458. package/dist/utils/action-specs/index.js +0 -6
  459. package/dist/utils/action-specs/index.js.map +1 -1
  460. package/dist/utils/batch-validation.d.ts +1 -1
  461. package/dist/utils/batch-validation.js +3 -3
  462. package/dist/utils/batch-validation.js.map +1 -1
  463. package/dist/utils/case-insensitive-validator.d.ts +2 -2
  464. package/dist/utils/case-insensitive-validator.js +2 -2
  465. package/dist/utils/connection-hash.d.ts +37 -0
  466. package/dist/utils/connection-hash.d.ts.map +1 -0
  467. package/dist/utils/connection-hash.js +55 -0
  468. package/dist/utils/connection-hash.js.map +1 -0
  469. package/dist/utils/db-aggregations.js +16 -16
  470. package/dist/utils/db-aggregations.js.map +1 -1
  471. package/dist/utils/enum-converter.d.ts +0 -21
  472. package/dist/utils/enum-converter.d.ts.map +1 -1
  473. package/dist/utils/enum-converter.js +1 -23
  474. package/dist/utils/enum-converter.js.map +1 -1
  475. package/dist/utils/environment-detector.d.ts +30 -0
  476. package/dist/utils/environment-detector.d.ts.map +1 -0
  477. package/dist/utils/environment-detector.js +86 -0
  478. package/dist/utils/environment-detector.js.map +1 -0
  479. package/dist/utils/example-filter.d.ts +34 -0
  480. package/dist/utils/example-filter.d.ts.map +1 -0
  481. package/dist/utils/example-filter.js +45 -0
  482. package/dist/utils/example-filter.js.map +1 -0
  483. package/dist/utils/exporter/export.d.ts +2 -16
  484. package/dist/utils/exporter/export.d.ts.map +1 -1
  485. package/dist/utils/exporter/export.js +49 -130
  486. package/dist/utils/exporter/export.js.map +1 -1
  487. package/dist/utils/hook-queue.d.ts +60 -0
  488. package/dist/utils/hook-queue.d.ts.map +1 -1
  489. package/dist/utils/hook-queue.js +114 -11
  490. package/dist/utils/hook-queue.js.map +1 -1
  491. package/dist/utils/importer/import.d.ts.map +1 -1
  492. package/dist/utils/importer/import.js +33 -188
  493. package/dist/utils/importer/import.js.map +1 -1
  494. package/dist/utils/importer/master-tables.d.ts +2 -1
  495. package/dist/utils/importer/master-tables.d.ts.map +1 -1
  496. package/dist/utils/importer/master-tables.js +35 -81
  497. package/dist/utils/importer/master-tables.js.map +1 -1
  498. package/dist/utils/param-normalizer.d.ts +0 -1
  499. package/dist/utils/param-normalizer.d.ts.map +1 -1
  500. package/dist/utils/param-normalizer.js +1 -3
  501. package/dist/utils/param-normalizer.js.map +1 -1
  502. package/dist/utils/path-utils.d.ts +46 -0
  503. package/dist/utils/path-utils.d.ts.map +1 -0
  504. package/dist/utils/path-utils.js +74 -0
  505. package/dist/utils/path-utils.js.map +1 -0
  506. package/dist/utils/policy-validator.js +1 -1
  507. package/dist/utils/policy-validator.js.map +1 -1
  508. package/dist/utils/project-context.d.ts +23 -0
  509. package/dist/utils/project-context.d.ts.map +1 -1
  510. package/dist/utils/project-context.js +45 -3
  511. package/dist/utils/project-context.js.map +1 -1
  512. package/dist/utils/project-root.d.ts +2 -2
  513. package/dist/utils/project-root.js +2 -2
  514. package/dist/utils/sql-dump/core/index-export.js +7 -7
  515. package/dist/utils/sql-dump/schema/indexes.js +24 -24
  516. package/dist/utils/sql-dump/schema/tables.js +44 -44
  517. package/dist/utils/suggest-helpers.d.ts +82 -0
  518. package/dist/utils/suggest-helpers.d.ts.map +1 -0
  519. package/dist/utils/suggest-helpers.js +93 -0
  520. package/dist/utils/suggest-helpers.js.map +1 -0
  521. package/dist/utils/token-logging.js +6 -6
  522. package/dist/utils/token-logging.js.map +1 -1
  523. package/dist/utils/validators.js +1 -1
  524. package/dist/utils/validators.js.map +1 -1
  525. package/dist/utils/view-queries.d.ts +0 -8
  526. package/dist/utils/view-queries.d.ts.map +1 -1
  527. package/dist/utils/view-queries.js +29 -84
  528. package/dist/utils/view-queries.js.map +1 -1
  529. package/dist/watcher/index.d.ts +1 -4
  530. package/dist/watcher/index.d.ts.map +1 -1
  531. package/dist/watcher/index.js +1 -3
  532. package/dist/watcher/index.js.map +1 -1
  533. package/dist/watcher/queue-watcher.d.ts +10 -3
  534. package/dist/watcher/queue-watcher.d.ts.map +1 -1
  535. package/dist/watcher/queue-watcher.js +24 -21
  536. package/dist/watcher/queue-watcher.js.map +1 -1
  537. package/docs/CONFIGURATION.md +14 -14
  538. package/docs/DATABASE_AUTH.md +1 -1
  539. package/docs/HOOKS_GUIDE.md +30 -50
  540. package/docs/HOW_TO_UNINSTALL.md +199 -0
  541. package/docs/MIGRATION_CLEANUP_GUIDE.md +212 -0
  542. package/docs/MIGRATION_TO_SAAS.md +176 -0
  543. package/docs/SLASH_COMMANDS.md +1 -1
  544. package/docs/cli/DATABASE_MIGRATION.md +13 -13
  545. package/docs/cli/DATA_EXPORT_IMPORT.md +71 -69
  546. package/package.json +10 -8
  547. package/saas-connector/LICENSE +190 -0
  548. package/saas-connector/README.md +122 -0
  549. package/saas-connector/dist/auth/auth-manager.d.ts +6 -0
  550. package/saas-connector/dist/auth/auth-manager.d.ts.map +1 -0
  551. package/saas-connector/dist/auth/auth-manager.js +39 -0
  552. package/saas-connector/dist/auth/auth-manager.js.map +7 -0
  553. package/saas-connector/dist/backend/saas-backend.d.ts +20 -0
  554. package/saas-connector/dist/backend/saas-backend.d.ts.map +1 -0
  555. package/saas-connector/dist/backend/saas-backend.js +104 -0
  556. package/saas-connector/dist/backend/saas-backend.js.map +7 -0
  557. package/saas-connector/dist/client/http-client.d.ts +33 -0
  558. package/saas-connector/dist/client/http-client.d.ts.map +1 -0
  559. package/saas-connector/dist/client/http-client.js +226 -0
  560. package/saas-connector/dist/client/http-client.js.map +7 -0
  561. package/saas-connector/dist/client/types.d.ts +62 -0
  562. package/saas-connector/dist/client/types.d.ts.map +1 -0
  563. package/saas-connector/dist/client/types.js +17 -0
  564. package/saas-connector/dist/client/types.js.map +7 -0
  565. package/saas-connector/dist/config/constants.d.ts +14 -0
  566. package/saas-connector/dist/config/constants.d.ts.map +1 -0
  567. package/saas-connector/dist/config/constants.js +68 -0
  568. package/saas-connector/dist/config/constants.js.map +7 -0
  569. package/saas-connector/dist/errors/api-error.d.ts +26 -0
  570. package/saas-connector/dist/errors/api-error.d.ts.map +1 -0
  571. package/saas-connector/dist/errors/api-error.js +62 -0
  572. package/saas-connector/dist/errors/api-error.js.map +7 -0
  573. package/saas-connector/dist/index.d.ts +18 -0
  574. package/saas-connector/dist/index.d.ts.map +1 -0
  575. package/saas-connector/dist/index.js +51 -0
  576. package/saas-connector/dist/index.js.map +7 -0
  577. package/saas-connector/package-lock.json +518 -0
  578. package/saas-connector/package.json +34 -0
  579. package/scripts/copy-help-data.js +19 -0
  580. package/assets/config.example.toml +0 -282
  581. package/assets/kanban-style.png +0 -0
  582. package/assets/kanban-visualizer.png +0 -0
  583. package/assets/sample-agents/README.md +0 -36
  584. package/assets/sample-agents/sqlew-architect.md +0 -321
  585. package/assets/sample-agents/sqlew-researcher.md +0 -292
  586. package/assets/sample-agents/sqlew-scrum-master.md +0 -286
  587. package/assets/sample-commands/README.md +0 -56
  588. package/assets/sample-commands/sqlew.md +0 -144
  589. package/assets/sample-skills/sqlew-decision-format/SKILL.md +0 -73
  590. package/assets/sample-skills/sqlew-plan-guidance/SKILL.md +0 -62
  591. package/assets/schema.sql +0 -564
  592. package/dist/cli/hooks/init-hooks.d.ts +0 -35
  593. package/dist/cli/hooks/init-hooks.d.ts.map +0 -1
  594. package/dist/cli/hooks/init-hooks.js +0 -517
  595. package/dist/cli/hooks/init-hooks.js.map +0 -1
  596. package/dist/cli/hooks/plan-toml-parser.d.ts.map +0 -1
  597. package/dist/cli/hooks/plan-toml-parser.js.map +0 -1
  598. package/dist/init-agents.d.ts +0 -7
  599. package/dist/init-agents.d.ts.map +0 -1
  600. package/dist/init-agents.js +0 -206
  601. package/dist/init-agents.js.map +0 -1
  602. package/dist/init-commands.d.ts +0 -10
  603. package/dist/init-commands.d.ts.map +0 -1
  604. package/dist/init-commands.js +0 -46
  605. package/dist/init-commands.js.map +0 -1
  606. package/dist/init-skills.d.ts +0 -25
  607. package/dist/init-skills.d.ts.map +0 -1
  608. package/dist/init-skills.js +0 -160
  609. package/dist/init-skills.js.map +0 -1
  610. package/dist/sync-agents.d.ts +0 -13
  611. package/dist/sync-agents.d.ts.map +0 -1
  612. package/dist/sync-agents.js +0 -157
  613. package/dist/sync-agents.js.map +0 -1
  614. package/dist/sync-commands.d.ts +0 -13
  615. package/dist/sync-commands.d.ts.map +0 -1
  616. package/dist/sync-commands.js +0 -150
  617. package/dist/sync-commands.js.map +0 -1
  618. package/dist/sync-gitignore.d.ts +0 -13
  619. package/dist/sync-gitignore.d.ts.map +0 -1
  620. package/dist/sync-gitignore.js +0 -60
  621. package/dist/sync-gitignore.js.map +0 -1
  622. package/dist/tests/docker/native/task-operations.test.d.ts +0 -16
  623. package/dist/tests/docker/native/task-operations.test.d.ts.map +0 -1
  624. package/dist/tests/docker/native/task-operations.test.js +0 -800
  625. package/dist/tests/docker/native/task-operations.test.js.map +0 -1
  626. package/dist/tests/feature/decision/batch-validation-integration.test.d.ts +0 -6
  627. package/dist/tests/feature/decision/batch-validation-integration.test.d.ts.map +0 -1
  628. package/dist/tests/feature/decision/batch-validation-integration.test.js +0 -193
  629. package/dist/tests/feature/decision/batch-validation-integration.test.js.map +0 -1
  630. package/dist/tests/feature/task/auto-pruning-decision-link.test.d.ts +0 -6
  631. package/dist/tests/feature/task/auto-pruning-decision-link.test.d.ts.map +0 -1
  632. package/dist/tests/feature/task/auto-pruning-decision-link.test.js +0 -281
  633. package/dist/tests/feature/task/auto-pruning-decision-link.test.js.map +0 -1
  634. package/dist/tests/feature/task/auto-pruning-partial.test.d.ts +0 -6
  635. package/dist/tests/feature/task/auto-pruning-partial.test.d.ts.map +0 -1
  636. package/dist/tests/feature/task/auto-pruning-partial.test.js +0 -305
  637. package/dist/tests/feature/task/auto-pruning-partial.test.js.map +0 -1
  638. package/dist/tests/feature/task/auto-pruning-persistence.test.d.ts +0 -6
  639. package/dist/tests/feature/task/auto-pruning-persistence.test.d.ts.map +0 -1
  640. package/dist/tests/feature/task/auto-pruning-persistence.test.js +0 -267
  641. package/dist/tests/feature/task/auto-pruning-persistence.test.js.map +0 -1
  642. package/dist/tests/feature/task/auto-pruning-safety.test.d.ts +0 -12
  643. package/dist/tests/feature/task/auto-pruning-safety.test.d.ts.map +0 -1
  644. package/dist/tests/feature/task/auto-pruning-safety.test.js +0 -224
  645. package/dist/tests/feature/task/auto-pruning-safety.test.js.map +0 -1
  646. package/dist/tests/feature/task/dependencies.test.d.ts +0 -7
  647. package/dist/tests/feature/task/dependencies.test.d.ts.map +0 -1
  648. package/dist/tests/feature/task/dependencies.test.js +0 -656
  649. package/dist/tests/feature/task/dependencies.test.js.map +0 -1
  650. package/dist/tests/feature/task/file-actions-integration.test.d.ts +0 -10
  651. package/dist/tests/feature/task/file-actions-integration.test.d.ts.map +0 -1
  652. package/dist/tests/feature/task/file-actions-integration.test.js +0 -162
  653. package/dist/tests/feature/task/file-actions-integration.test.js.map +0 -1
  654. package/dist/tests/feature/task/file-actions-validation.test.d.ts +0 -6
  655. package/dist/tests/feature/task/file-actions-validation.test.d.ts.map +0 -1
  656. package/dist/tests/feature/task/file-actions-validation.test.js +0 -228
  657. package/dist/tests/feature/task/file-actions-validation.test.js.map +0 -1
  658. package/dist/tests/feature/task/link-file-backward-compat.test.d.ts +0 -6
  659. package/dist/tests/feature/task/link-file-backward-compat.test.d.ts.map +0 -1
  660. package/dist/tests/feature/task/link-file-backward-compat.test.js +0 -280
  661. package/dist/tests/feature/task/link-file-backward-compat.test.js.map +0 -1
  662. package/dist/tests/feature/task/watch-files-action.test.d.ts +0 -8
  663. package/dist/tests/feature/task/watch-files-action.test.d.ts.map +0 -1
  664. package/dist/tests/feature/task/watch-files-action.test.js +0 -402
  665. package/dist/tests/feature/task/watch-files-action.test.js.map +0 -1
  666. package/dist/tests/feature/task/watch-files-parameter.test.d.ts +0 -8
  667. package/dist/tests/feature/task/watch-files-parameter.test.d.ts.map +0 -1
  668. package/dist/tests/feature/task/watch-files-parameter.test.js +0 -283
  669. package/dist/tests/feature/task/watch-files-parameter.test.js.map +0 -1
  670. package/dist/tests/integration/all-features.standalone.d.ts +0 -7
  671. package/dist/tests/integration/all-features.standalone.d.ts.map +0 -1
  672. package/dist/tests/integration/all-features.standalone.js +0 -417
  673. package/dist/tests/integration/all-features.standalone.js.map +0 -1
  674. package/dist/tests/unit/config/plan-toml-cache.test.d.ts.map +0 -1
  675. package/dist/tests/unit/config/plan-toml-cache.test.js.map +0 -1
  676. package/dist/tests/unit/hooks/plan-toml-parser.test.d.ts.map +0 -1
  677. package/dist/tests/unit/hooks/plan-toml-parser.test.js.map +0 -1
  678. package/dist/tools/files/actions/check-lock.d.ts +0 -16
  679. package/dist/tools/files/actions/check-lock.d.ts.map +0 -1
  680. package/dist/tools/files/actions/check-lock.js +0 -74
  681. package/dist/tools/files/actions/check-lock.js.map +0 -1
  682. package/dist/tools/files/actions/get.d.ts +0 -16
  683. package/dist/tools/files/actions/get.d.ts.map +0 -1
  684. package/dist/tools/files/actions/get.js +0 -85
  685. package/dist/tools/files/actions/get.js.map +0 -1
  686. package/dist/tools/files/actions/record-batch.d.ts +0 -18
  687. package/dist/tools/files/actions/record-batch.d.ts.map +0 -1
  688. package/dist/tools/files/actions/record-batch.js +0 -119
  689. package/dist/tools/files/actions/record-batch.js.map +0 -1
  690. package/dist/tools/files/actions/record.d.ts +0 -16
  691. package/dist/tools/files/actions/record.d.ts.map +0 -1
  692. package/dist/tools/files/actions/record.js +0 -43
  693. package/dist/tools/files/actions/record.js.map +0 -1
  694. package/dist/tools/files/actions/sqlite-flush.d.ts +0 -27
  695. package/dist/tools/files/actions/sqlite-flush.d.ts.map +0 -1
  696. package/dist/tools/files/actions/sqlite-flush.js +0 -66
  697. package/dist/tools/files/actions/sqlite-flush.js.map +0 -1
  698. package/dist/tools/files/help/example.d.ts +0 -5
  699. package/dist/tools/files/help/example.d.ts.map +0 -1
  700. package/dist/tools/files/help/example.js +0 -98
  701. package/dist/tools/files/help/example.js.map +0 -1
  702. package/dist/tools/files/help/help.d.ts +0 -5
  703. package/dist/tools/files/help/help.d.ts.map +0 -1
  704. package/dist/tools/files/help/help.js +0 -24
  705. package/dist/tools/files/help/help.js.map +0 -1
  706. package/dist/tools/files/index.d.ts +0 -14
  707. package/dist/tools/files/index.d.ts.map +0 -1
  708. package/dist/tools/files/index.js +0 -15
  709. package/dist/tools/files/index.js.map +0 -1
  710. package/dist/tools/files/internal/queries.d.ts +0 -18
  711. package/dist/tools/files/internal/queries.d.ts.map +0 -1
  712. package/dist/tools/files/internal/queries.js +0 -54
  713. package/dist/tools/files/internal/queries.js.map +0 -1
  714. package/dist/tools/files/internal/validation.d.ts +0 -18
  715. package/dist/tools/files/internal/validation.d.ts.map +0 -1
  716. package/dist/tools/files/internal/validation.js +0 -39
  717. package/dist/tools/files/internal/validation.js.map +0 -1
  718. package/dist/tools/files/types.d.ts +0 -6
  719. package/dist/tools/files/types.d.ts.map +0 -1
  720. package/dist/tools/files/types.js +0 -6
  721. package/dist/tools/files/types.js.map +0 -1
  722. package/dist/tools/help-queries.d.ts +0 -130
  723. package/dist/tools/help-queries.d.ts.map +0 -1
  724. package/dist/tools/help-queries.js +0 -411
  725. package/dist/tools/help-queries.js.map +0 -1
  726. package/dist/tools/tasks/actions/add-dependency.d.ts +0 -12
  727. package/dist/tools/tasks/actions/add-dependency.d.ts.map +0 -1
  728. package/dist/tools/tasks/actions/add-dependency.js +0 -129
  729. package/dist/tools/tasks/actions/add-dependency.js.map +0 -1
  730. package/dist/tools/tasks/actions/archive.d.ts +0 -11
  731. package/dist/tools/tasks/actions/archive.d.ts.map +0 -1
  732. package/dist/tools/tasks/actions/archive.js +0 -58
  733. package/dist/tools/tasks/actions/archive.js.map +0 -1
  734. package/dist/tools/tasks/actions/create-batch.d.ts +0 -19
  735. package/dist/tools/tasks/actions/create-batch.d.ts.map +0 -1
  736. package/dist/tools/tasks/actions/create-batch.js +0 -103
  737. package/dist/tools/tasks/actions/create-batch.js.map +0 -1
  738. package/dist/tools/tasks/actions/create.d.ts +0 -16
  739. package/dist/tools/tasks/actions/create.d.ts.map +0 -1
  740. package/dist/tools/tasks/actions/create.js +0 -163
  741. package/dist/tools/tasks/actions/create.js.map +0 -1
  742. package/dist/tools/tasks/actions/get-dependencies.d.ts +0 -12
  743. package/dist/tools/tasks/actions/get-dependencies.d.ts.map +0 -1
  744. package/dist/tools/tasks/actions/get-dependencies.js +0 -41
  745. package/dist/tools/tasks/actions/get-dependencies.js.map +0 -1
  746. package/dist/tools/tasks/actions/get-pruned-files.d.ts +0 -13
  747. package/dist/tools/tasks/actions/get-pruned-files.d.ts.map +0 -1
  748. package/dist/tools/tasks/actions/get-pruned-files.js +0 -45
  749. package/dist/tools/tasks/actions/get-pruned-files.js.map +0 -1
  750. package/dist/tools/tasks/actions/get.d.ts +0 -12
  751. package/dist/tools/tasks/actions/get.d.ts.map +0 -1
  752. package/dist/tools/tasks/actions/get.js +0 -84
  753. package/dist/tools/tasks/actions/get.js.map +0 -1
  754. package/dist/tools/tasks/actions/link-pruned-file.d.ts +0 -14
  755. package/dist/tools/tasks/actions/link-pruned-file.d.ts.map +0 -1
  756. package/dist/tools/tasks/actions/link-pruned-file.js +0 -68
  757. package/dist/tools/tasks/actions/link-pruned-file.js.map +0 -1
  758. package/dist/tools/tasks/actions/link.d.ts +0 -14
  759. package/dist/tools/tasks/actions/link.d.ts.map +0 -1
  760. package/dist/tools/tasks/actions/link.js +0 -120
  761. package/dist/tools/tasks/actions/link.js.map +0 -1
  762. package/dist/tools/tasks/actions/list.d.ts +0 -17
  763. package/dist/tools/tasks/actions/list.d.ts.map +0 -1
  764. package/dist/tools/tasks/actions/list.js +0 -100
  765. package/dist/tools/tasks/actions/list.js.map +0 -1
  766. package/dist/tools/tasks/actions/move.d.ts +0 -13
  767. package/dist/tools/tasks/actions/move.d.ts.map +0 -1
  768. package/dist/tools/tasks/actions/move.js +0 -91
  769. package/dist/tools/tasks/actions/move.js.map +0 -1
  770. package/dist/tools/tasks/actions/remove-dependency.d.ts +0 -12
  771. package/dist/tools/tasks/actions/remove-dependency.d.ts.map +0 -1
  772. package/dist/tools/tasks/actions/remove-dependency.js +0 -36
  773. package/dist/tools/tasks/actions/remove-dependency.js.map +0 -1
  774. package/dist/tools/tasks/actions/update.d.ts +0 -10
  775. package/dist/tools/tasks/actions/update.d.ts.map +0 -1
  776. package/dist/tools/tasks/actions/update.js +0 -183
  777. package/dist/tools/tasks/actions/update.js.map +0 -1
  778. package/dist/tools/tasks/actions/watch-files.d.ts +0 -14
  779. package/dist/tools/tasks/actions/watch-files.d.ts.map +0 -1
  780. package/dist/tools/tasks/actions/watch-files.js +0 -127
  781. package/dist/tools/tasks/actions/watch-files.js.map +0 -1
  782. package/dist/tools/tasks/help/example.d.ts +0 -8
  783. package/dist/tools/tasks/help/example.d.ts.map +0 -1
  784. package/dist/tools/tasks/help/example.js +0 -225
  785. package/dist/tools/tasks/help/example.js.map +0 -1
  786. package/dist/tools/tasks/help/help.d.ts +0 -8
  787. package/dist/tools/tasks/help/help.d.ts.map +0 -1
  788. package/dist/tools/tasks/help/help.js +0 -307
  789. package/dist/tools/tasks/help/help.js.map +0 -1
  790. package/dist/tools/tasks/help/use-case.d.ts +0 -11
  791. package/dist/tools/tasks/help/use-case.d.ts.map +0 -1
  792. package/dist/tools/tasks/help/use-case.js +0 -767
  793. package/dist/tools/tasks/help/use-case.js.map +0 -1
  794. package/dist/tools/tasks/index.d.ts +0 -28
  795. package/dist/tools/tasks/index.d.ts.map +0 -1
  796. package/dist/tools/tasks/index.js +0 -33
  797. package/dist/tools/tasks/index.js.map +0 -1
  798. package/dist/tools/tasks/internal/state-machine.d.ts +0 -16
  799. package/dist/tools/tasks/internal/state-machine.d.ts.map +0 -1
  800. package/dist/tools/tasks/internal/state-machine.js +0 -36
  801. package/dist/tools/tasks/internal/state-machine.js.map +0 -1
  802. package/dist/tools/tasks/internal/task-queries.d.ts +0 -12
  803. package/dist/tools/tasks/internal/task-queries.d.ts.map +0 -1
  804. package/dist/tools/tasks/internal/task-queries.js +0 -53
  805. package/dist/tools/tasks/internal/task-queries.js.map +0 -1
  806. package/dist/tools/tasks/internal/validation.d.ts +0 -47
  807. package/dist/tools/tasks/internal/validation.d.ts.map +0 -1
  808. package/dist/tools/tasks/internal/validation.js +0 -261
  809. package/dist/tools/tasks/internal/validation.js.map +0 -1
  810. package/dist/tools/tasks/types.d.ts +0 -80
  811. package/dist/tools/tasks/types.d.ts.map +0 -1
  812. package/dist/tools/tasks/types.js +0 -68
  813. package/dist/tools/tasks/types.js.map +0 -1
  814. package/dist/tools/tasks/watcher/status.d.ts +0 -9
  815. package/dist/tools/tasks/watcher/status.d.ts.map +0 -1
  816. package/dist/tools/tasks/watcher/status.js +0 -130
  817. package/dist/tools/tasks/watcher/status.js.map +0 -1
  818. package/dist/tools/tasks.d.ts +0 -16
  819. package/dist/tools/tasks.d.ts.map +0 -1
  820. package/dist/tools/tasks.js +0 -17
  821. package/dist/tools/tasks.js.map +0 -1
  822. package/dist/utils/action-specs/file-specs.d.ts +0 -9
  823. package/dist/utils/action-specs/file-specs.d.ts.map +0 -1
  824. package/dist/utils/action-specs/file-specs.js +0 -54
  825. package/dist/utils/action-specs/file-specs.js.map +0 -1
  826. package/dist/utils/action-specs/task-specs.d.ts +0 -9
  827. package/dist/utils/action-specs/task-specs.d.ts.map +0 -1
  828. package/dist/utils/action-specs/task-specs.js +0 -143
  829. package/dist/utils/action-specs/task-specs.js.map +0 -1
  830. package/dist/utils/cleanup.d.ts +0 -69
  831. package/dist/utils/cleanup.d.ts.map +0 -1
  832. package/dist/utils/cleanup.js +0 -102
  833. package/dist/utils/cleanup.js.map +0 -1
  834. package/dist/utils/file-pruning.d.ts +0 -93
  835. package/dist/utils/file-pruning.d.ts.map +0 -1
  836. package/dist/utils/file-pruning.js +0 -194
  837. package/dist/utils/file-pruning.js.map +0 -1
  838. package/dist/utils/importer/topological-sort.d.ts +0 -61
  839. package/dist/utils/importer/topological-sort.d.ts.map +0 -1
  840. package/dist/utils/importer/topological-sort.js +0 -143
  841. package/dist/utils/importer/topological-sort.js.map +0 -1
  842. package/dist/utils/retention.d.ts +0 -65
  843. package/dist/utils/retention.d.ts.map +0 -1
  844. package/dist/utils/retention.js +0 -156
  845. package/dist/utils/retention.js.map +0 -1
  846. package/dist/utils/task-stale-detection.d.ts +0 -98
  847. package/dist/utils/task-stale-detection.d.ts.map +0 -1
  848. package/dist/utils/task-stale-detection.js +0 -479
  849. package/dist/utils/task-stale-detection.js.map +0 -1
  850. package/dist/watcher/file-watcher.d.ts +0 -131
  851. package/dist/watcher/file-watcher.d.ts.map +0 -1
  852. package/dist/watcher/file-watcher.js +0 -730
  853. package/dist/watcher/file-watcher.js.map +0 -1
  854. package/dist/watcher/test-executor.d.ts +0 -23
  855. package/dist/watcher/test-executor.d.ts.map +0 -1
  856. package/dist/watcher/test-executor.js +0 -226
  857. package/dist/watcher/test-executor.js.map +0 -1
  858. package/docs/TASK_SYSTEM_DEPRECATED.md +0 -88
@@ -0,0 +1,226 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var http_client_exports = {};
20
+ __export(http_client_exports, {
21
+ HttpClient: () => HttpClient,
22
+ resolveProject: () => resolveProject
23
+ });
24
+ module.exports = __toCommonJS(http_client_exports);
25
+ var import_api_error = require("../errors/api-error");
26
+ var import_constants = require("../config/constants");
27
+ class HttpClient {
28
+ constructor(authManager, projectName, projectId, connectionIdentity) {
29
+ this.authManager = authManager;
30
+ this.projectName = projectName;
31
+ this.projectId = projectId;
32
+ this.connectionIdentity = connectionIdentity;
33
+ }
34
+ agentName;
35
+ /**
36
+ * Set agent name for X-Agent header (called after MCP handshake)
37
+ */
38
+ setAgentName(name) {
39
+ this.agentName = name;
40
+ }
41
+ async post(path, body) {
42
+ const url = `${import_constants.API_ENDPOINT}${path}`;
43
+ const requestBody = {
44
+ project_id: this.projectId,
45
+ project_name: this.projectName,
46
+ // Connection identification for seat-based billing (v5.0.0+)
47
+ ...this.connectionIdentity && {
48
+ connection_hash: this.connectionIdentity.connectionHash,
49
+ connection_display: {
50
+ environment: this.connectionIdentity.environment,
51
+ path_suffix: this.connectionIdentity.pathSuffix
52
+ }
53
+ },
54
+ ...body
55
+ };
56
+ return await this.executeWithRetry(async () => {
57
+ const controller = new AbortController();
58
+ const timeoutId = setTimeout(() => controller.abort(), import_constants.REQUEST_TIMEOUT);
59
+ try {
60
+ const response = await fetch(url, {
61
+ method: "POST",
62
+ headers: {
63
+ Authorization: this.authManager.getAuthorizationHeader(),
64
+ "Content-Type": "application/json",
65
+ ...this.agentName && { "X-Agent": this.agentName }
66
+ },
67
+ body: JSON.stringify(requestBody),
68
+ signal: controller.signal
69
+ });
70
+ return await this.handleResponse(response);
71
+ } finally {
72
+ clearTimeout(timeoutId);
73
+ }
74
+ });
75
+ }
76
+ async get(path) {
77
+ const url = `${import_constants.API_ENDPOINT}${path}`;
78
+ return await this.executeWithRetry(async () => {
79
+ const controller = new AbortController();
80
+ const timeoutId = setTimeout(() => controller.abort(), import_constants.REQUEST_TIMEOUT);
81
+ try {
82
+ const response = await fetch(url, {
83
+ method: "GET",
84
+ headers: {
85
+ Authorization: this.authManager.getAuthorizationHeader(),
86
+ ...this.agentName && { "X-Agent": this.agentName }
87
+ },
88
+ signal: controller.signal
89
+ });
90
+ return await this.handleResponse(response);
91
+ } finally {
92
+ clearTimeout(timeoutId);
93
+ }
94
+ });
95
+ }
96
+ async executeWithRetry(operation, retryCount = 0) {
97
+ try {
98
+ return await operation();
99
+ } catch (error) {
100
+ if (error instanceof Error && error.name === "AbortError") {
101
+ throw new import_api_error.ApiError("TIMEOUT", "Request timed out", 408);
102
+ }
103
+ if (error instanceof TypeError && error.message.includes("fetch")) {
104
+ throw new import_api_error.ApiError(
105
+ "NETWORK_ERROR",
106
+ `Network error: ${error.message}`,
107
+ 0
108
+ );
109
+ }
110
+ if (error instanceof import_api_error.ApiError && error.statusCode === 429 && retryCount < import_constants.MAX_RETRIES) {
111
+ const delay = this.calculateRetryDelay(
112
+ retryCount,
113
+ error.details?.retryAfter
114
+ );
115
+ await this.sleep(delay);
116
+ return this.executeWithRetry(operation, retryCount + 1);
117
+ }
118
+ throw error;
119
+ }
120
+ }
121
+ async handleResponse(response) {
122
+ let body;
123
+ try {
124
+ body = await response.json();
125
+ } catch {
126
+ if (!response.ok) {
127
+ throw new import_api_error.ApiError(
128
+ "INTERNAL_ERROR",
129
+ `HTTP ${response.status}: ${response.statusText}`,
130
+ response.status
131
+ );
132
+ }
133
+ throw new import_api_error.ApiError(
134
+ "INVALID_RESPONSE",
135
+ "Invalid JSON response from server",
136
+ 500
137
+ );
138
+ }
139
+ if (!response.ok) {
140
+ const retryAfter = response.headers.get("Retry-After");
141
+ throw new import_api_error.ApiError(
142
+ body.error?.code || "UNKNOWN_ERROR",
143
+ body.error?.message || `HTTP ${response.status}`,
144
+ response.status,
145
+ retryAfter ? { retryAfter } : void 0
146
+ );
147
+ }
148
+ if (!body.success) {
149
+ throw new import_api_error.ApiError(
150
+ body.error?.code || "API_ERROR",
151
+ body.error?.message || "Unknown API error",
152
+ 500
153
+ );
154
+ }
155
+ return body.data;
156
+ }
157
+ calculateRetryDelay(retryCount, retryAfter) {
158
+ if (retryAfter) {
159
+ const seconds = parseInt(retryAfter, 10);
160
+ if (!isNaN(seconds) && seconds > 0) {
161
+ return Math.min(seconds * 1e3, import_constants.MAX_RETRY_DELAY);
162
+ }
163
+ }
164
+ return Math.min(
165
+ import_constants.INITIAL_RETRY_DELAY * Math.pow(2, retryCount),
166
+ import_constants.MAX_RETRY_DELAY
167
+ );
168
+ }
169
+ sleep(ms) {
170
+ return new Promise((resolve) => setTimeout(resolve, ms));
171
+ }
172
+ }
173
+ async function resolveProject(apiKey, projectName) {
174
+ const url = `${import_constants.API_ENDPOINT}/api/v1/project/resolve`;
175
+ const controller = new AbortController();
176
+ const timeoutId = setTimeout(() => controller.abort(), import_constants.REQUEST_TIMEOUT);
177
+ try {
178
+ const response = await fetch(url, {
179
+ method: "POST",
180
+ headers: {
181
+ Authorization: `Bearer ${apiKey}`,
182
+ "Content-Type": "application/json"
183
+ },
184
+ body: JSON.stringify({ project_name: projectName }),
185
+ signal: controller.signal
186
+ });
187
+ if (!response.ok) {
188
+ let errorMessage = `HTTP ${response.status}: ${response.statusText}`;
189
+ try {
190
+ const body2 = await response.json();
191
+ errorMessage = body2.error?.message || errorMessage;
192
+ } catch {
193
+ }
194
+ throw new import_api_error.ApiError("PROJECT_RESOLVE_FAILED", errorMessage, response.status);
195
+ }
196
+ const body = await response.json();
197
+ if (!body.success || !body.data?.project_id) {
198
+ throw new import_api_error.ApiError(
199
+ "PROJECT_RESOLVE_FAILED",
200
+ body.error?.message || "Failed to resolve project",
201
+ 500
202
+ );
203
+ }
204
+ return body.data.project_id;
205
+ } catch (error) {
206
+ if (error instanceof import_api_error.ApiError) {
207
+ throw error;
208
+ }
209
+ if (error instanceof Error && error.name === "AbortError") {
210
+ throw new import_api_error.ApiError("TIMEOUT", "Project resolve request timed out", 408);
211
+ }
212
+ throw new import_api_error.ApiError(
213
+ "NETWORK_ERROR",
214
+ `Failed to resolve project: ${error instanceof Error ? error.message : String(error)}`,
215
+ 0
216
+ );
217
+ } finally {
218
+ clearTimeout(timeoutId);
219
+ }
220
+ }
221
+ // Annotate the CommonJS export names for ESM import in node:
222
+ 0 && (module.exports = {
223
+ HttpClient,
224
+ resolveProject
225
+ });
226
+ //# sourceMappingURL=http-client.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/client/http-client.ts"],
4
+ "sourcesContent": ["import { AuthManager } from '../auth/auth-manager';\r\nimport { ApiError } from '../errors/api-error';\r\nimport {\r\n API_ENDPOINT,\r\n MAX_RETRIES,\r\n INITIAL_RETRY_DELAY,\r\n MAX_RETRY_DELAY,\r\n REQUEST_TIMEOUT,\r\n} from '../config/constants';\r\nimport type { ApiResponse, ConnectionIdentity, ProjectResolveResponse } from './types';\r\n\r\nexport class HttpClient {\r\n private agentName?: string;\r\n\r\n constructor(\r\n private authManager: AuthManager,\r\n private projectName?: string,\r\n private projectId?: string,\r\n private connectionIdentity?: ConnectionIdentity\r\n ) {}\r\n\r\n /**\r\n * Set agent name for X-Agent header (called after MCP handshake)\r\n */\r\n setAgentName(name: string): void {\r\n this.agentName = name;\r\n }\r\n\r\n async post<T>(path: string, body: Record<string, unknown>): Promise<T> {\r\n const url = `${API_ENDPOINT}${path}`;\r\n const requestBody = {\r\n project_id: this.projectId,\r\n project_name: this.projectName,\r\n // Connection identification for seat-based billing (v5.0.0+)\r\n ...(this.connectionIdentity && {\r\n connection_hash: this.connectionIdentity.connectionHash,\r\n connection_display: {\r\n environment: this.connectionIdentity.environment,\r\n path_suffix: this.connectionIdentity.pathSuffix,\r\n },\r\n }),\r\n ...body,\r\n };\r\n\r\n return await this.executeWithRetry<T>(async () => {\r\n const controller = new AbortController();\r\n const timeoutId = setTimeout(() => controller.abort(), REQUEST_TIMEOUT);\r\n\r\n try {\r\n const response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n Authorization: this.authManager.getAuthorizationHeader(),\r\n 'Content-Type': 'application/json',\r\n ...(this.agentName && { 'X-Agent': this.agentName }),\r\n },\r\n body: JSON.stringify(requestBody),\r\n signal: controller.signal,\r\n });\r\n\r\n return await this.handleResponse<T>(response);\r\n } finally {\r\n clearTimeout(timeoutId);\r\n }\r\n });\r\n }\r\n\r\n async get<T>(path: string): Promise<T> {\r\n const url = `${API_ENDPOINT}${path}`;\r\n\r\n return await this.executeWithRetry<T>(async () => {\r\n const controller = new AbortController();\r\n const timeoutId = setTimeout(() => controller.abort(), REQUEST_TIMEOUT);\r\n\r\n try {\r\n const response = await fetch(url, {\r\n method: 'GET',\r\n headers: {\r\n Authorization: this.authManager.getAuthorizationHeader(),\r\n ...(this.agentName && { 'X-Agent': this.agentName }),\r\n },\r\n signal: controller.signal,\r\n });\r\n\r\n return await this.handleResponse<T>(response);\r\n } finally {\r\n clearTimeout(timeoutId);\r\n }\r\n });\r\n }\r\n\r\n private async executeWithRetry<T>(\r\n operation: () => Promise<T>,\r\n retryCount = 0\r\n ): Promise<T> {\r\n try {\r\n return await operation();\r\n } catch (error) {\r\n // Handle abort error (timeout)\r\n if (error instanceof Error && error.name === 'AbortError') {\r\n throw new ApiError('TIMEOUT', 'Request timed out', 408);\r\n }\r\n\r\n // Handle network errors\r\n if (error instanceof TypeError && error.message.includes('fetch')) {\r\n throw new ApiError(\r\n 'NETWORK_ERROR',\r\n `Network error: ${error.message}`,\r\n 0\r\n );\r\n }\r\n\r\n // Retry only on 429 (rate limited)\r\n if (\r\n error instanceof ApiError &&\r\n error.statusCode === 429 &&\r\n retryCount < MAX_RETRIES\r\n ) {\r\n const delay = this.calculateRetryDelay(\r\n retryCount,\r\n error.details?.retryAfter as string | undefined\r\n );\r\n await this.sleep(delay);\r\n return this.executeWithRetry(operation, retryCount + 1);\r\n }\r\n\r\n throw error;\r\n }\r\n }\r\n\r\n private async handleResponse<T>(response: Response): Promise<T> {\r\n // Try to parse response body\r\n let body: ApiResponse<T>;\r\n try {\r\n body = (await response.json()) as ApiResponse<T>;\r\n } catch {\r\n // If response is not JSON\r\n if (!response.ok) {\r\n throw new ApiError(\r\n 'INTERNAL_ERROR',\r\n `HTTP ${response.status}: ${response.statusText}`,\r\n response.status\r\n );\r\n }\r\n throw new ApiError(\r\n 'INVALID_RESPONSE',\r\n 'Invalid JSON response from server',\r\n 500\r\n );\r\n }\r\n\r\n // Handle HTTP errors\r\n if (!response.ok) {\r\n const retryAfter = response.headers.get('Retry-After');\r\n throw new ApiError(\r\n body.error?.code || 'UNKNOWN_ERROR',\r\n body.error?.message || `HTTP ${response.status}`,\r\n response.status,\r\n retryAfter ? { retryAfter } : undefined\r\n );\r\n }\r\n\r\n // Handle API-level errors\r\n if (!body.success) {\r\n throw new ApiError(\r\n body.error?.code || 'API_ERROR',\r\n body.error?.message || 'Unknown API error',\r\n 500\r\n );\r\n }\r\n\r\n return body.data as T;\r\n }\r\n\r\n private calculateRetryDelay(\r\n retryCount: number,\r\n retryAfter?: string\r\n ): number {\r\n // Use Retry-After header if available\r\n if (retryAfter) {\r\n const seconds = parseInt(retryAfter, 10);\r\n if (!isNaN(seconds) && seconds > 0) {\r\n return Math.min(seconds * 1000, MAX_RETRY_DELAY);\r\n }\r\n }\r\n\r\n // Exponential backoff: 1s, 2s, 4s, ...\r\n return Math.min(\r\n INITIAL_RETRY_DELAY * Math.pow(2, retryCount),\r\n MAX_RETRY_DELAY\r\n );\r\n }\r\n\r\n private sleep(ms: number): Promise<void> {\r\n return new Promise((resolve) => setTimeout(resolve, ms));\r\n }\r\n}\r\n\r\n/**\r\n * Resolve project name to UUID via /api/v1/project/resolve\r\n *\r\n * This is a standalone function used before HttpClient is fully initialized,\r\n * since we need the projectId to construct HttpClient.\r\n *\r\n * @param apiKey - API key for authentication\r\n * @param projectName - Project name from config.toml\r\n * @returns Resolved project UUID\r\n * @throws ApiError on authentication or resolution failure\r\n */\r\nexport async function resolveProject(\r\n apiKey: string,\r\n projectName: string\r\n): Promise<string> {\r\n const url = `${API_ENDPOINT}/api/v1/project/resolve`;\r\n const controller = new AbortController();\r\n const timeoutId = setTimeout(() => controller.abort(), REQUEST_TIMEOUT);\r\n\r\n try {\r\n const response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n Authorization: `Bearer ${apiKey}`,\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify({ project_name: projectName }),\r\n signal: controller.signal,\r\n });\r\n\r\n if (!response.ok) {\r\n let errorMessage = `HTTP ${response.status}: ${response.statusText}`;\r\n try {\r\n const body = (await response.json()) as ApiResponse<unknown>;\r\n errorMessage = body.error?.message || errorMessage;\r\n } catch {\r\n // Ignore JSON parse error\r\n }\r\n throw new ApiError('PROJECT_RESOLVE_FAILED', errorMessage, response.status);\r\n }\r\n\r\n const body = (await response.json()) as ApiResponse<ProjectResolveResponse>;\r\n if (!body.success || !body.data?.project_id) {\r\n throw new ApiError(\r\n 'PROJECT_RESOLVE_FAILED',\r\n body.error?.message || 'Failed to resolve project',\r\n 500\r\n );\r\n }\r\n\r\n return body.data.project_id;\r\n } catch (error) {\r\n if (error instanceof ApiError) {\r\n throw error;\r\n }\r\n if (error instanceof Error && error.name === 'AbortError') {\r\n throw new ApiError('TIMEOUT', 'Project resolve request timed out', 408);\r\n }\r\n throw new ApiError(\r\n 'NETWORK_ERROR',\r\n `Failed to resolve project: ${error instanceof Error ? error.message : String(error)}`,\r\n 0\r\n );\r\n } finally {\r\n clearTimeout(timeoutId);\r\n }\r\n}\r\n"],
5
+ "mappings": "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",
6
+ "names": ["body"]
7
+ }
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Detected environment types for connection identification
3
+ * @since v5.0.0
4
+ */
5
+ export type Environment = 'windows' | 'macos' | 'linux' | 'wsl' | 'docker' | 'unknown';
6
+ /**
7
+ * Connection identity for SaaS backend.
8
+ * Provides unique identification for each connection.
9
+ *
10
+ * @since v5.0.0
11
+ */
12
+ export interface ConnectionIdentity {
13
+ /** SHA256 hash for internal identification (Base64URL, 43 chars) */
14
+ connectionHash: string;
15
+ /** Detected environment for display (windows, macos, linux, wsl, docker) */
16
+ environment: Environment;
17
+ /** Last two path segments for display (e.g., 'RustroverProjects/my-app') */
18
+ pathSuffix: string;
19
+ /** Full path (stored locally, not sent to server) */
20
+ fullPath: string;
21
+ }
22
+ export interface CloudConfig {
23
+ apiKey: string;
24
+ /** Project name from .sqlew/config.toml [project].name */
25
+ projectName?: string;
26
+ /** Resolved project UUID (cached in ~/.sqlew.env) */
27
+ projectId?: string;
28
+ /** Connection identity for SaaS mode (v5.0.0+) */
29
+ connectionIdentity?: ConnectionIdentity;
30
+ /** MCP client name for audit (e.g., "claude-code", "cursor") */
31
+ agentName?: string;
32
+ }
33
+ export interface ProjectResolveResponse {
34
+ project_id: string;
35
+ }
36
+ export interface HealthCheckResult {
37
+ ok: boolean;
38
+ latency: number;
39
+ message?: string;
40
+ }
41
+ export type BackendType = 'local' | 'saas';
42
+ export interface ToolBackend {
43
+ execute<TResponse = unknown>(tool: string, action: string, params: Record<string, unknown>): Promise<TResponse>;
44
+ healthCheck(): Promise<HealthCheckResult>;
45
+ disconnect(): Promise<void>;
46
+ readonly backendType: BackendType;
47
+ readonly pluginName?: string;
48
+ }
49
+ export interface PluginModule {
50
+ createBackend(config: CloudConfig): ToolBackend;
51
+ version: string;
52
+ minVersion?: string;
53
+ }
54
+ export interface ApiResponse<T = unknown> {
55
+ success: boolean;
56
+ data?: T;
57
+ error?: {
58
+ code: string;
59
+ message: string;
60
+ };
61
+ }
62
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,WAAW,GACnB,SAAS,GACT,OAAO,GACP,OAAO,GACP,KAAK,GACL,QAAQ,GACR,SAAS,CAAC;AAEd;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,oEAAoE;IACpE,cAAc,EAAE,MAAM,CAAC;IACvB,4EAA4E;IAC5E,WAAW,EAAE,WAAW,CAAC;IACzB,4EAA4E;IAC5E,UAAU,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAGD,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,gEAAgE;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAGD,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;AAG3C,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,SAAS,GAAG,OAAO,EACzB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,SAAS,CAAC,CAAC;IACtB,WAAW,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC1C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAGD,MAAM,WAAW,YAAY;IAC3B,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAAC;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAGD,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,OAAO;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var types_exports = {};
16
+ module.exports = __toCommonJS(types_exports);
17
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/client/types.ts"],
4
+ "sourcesContent": ["/**\r\n * Detected environment types for connection identification\r\n * @since v5.0.0\r\n */\r\nexport type Environment =\r\n | 'windows'\r\n | 'macos'\r\n | 'linux'\r\n | 'wsl'\r\n | 'docker'\r\n | 'unknown';\r\n\r\n/**\r\n * Connection identity for SaaS backend.\r\n * Provides unique identification for each connection.\r\n *\r\n * @since v5.0.0\r\n */\r\nexport interface ConnectionIdentity {\r\n /** SHA256 hash for internal identification (Base64URL, 43 chars) */\r\n connectionHash: string;\r\n /** Detected environment for display (windows, macos, linux, wsl, docker) */\r\n environment: Environment;\r\n /** Last two path segments for display (e.g., 'RustroverProjects/my-app') */\r\n pathSuffix: string;\r\n /** Full path (stored locally, not sent to server) */\r\n fullPath: string;\r\n}\r\n\r\n// Configuration passed from mcp-sqlew\r\nexport interface CloudConfig {\r\n apiKey: string;\r\n /** Project name from .sqlew/config.toml [project].name */\r\n projectName?: string;\r\n /** Resolved project UUID (cached in ~/.sqlew.env) */\r\n projectId?: string;\r\n /** Connection identity for SaaS mode (v5.0.0+) */\r\n connectionIdentity?: ConnectionIdentity;\r\n /** MCP client name for audit (e.g., \"claude-code\", \"cursor\") */\r\n agentName?: string;\r\n}\r\n\r\n// Project resolve response\r\nexport interface ProjectResolveResponse {\r\n project_id: string;\r\n}\r\n\r\n// Health check result\r\nexport interface HealthCheckResult {\r\n ok: boolean;\r\n latency: number;\r\n message?: string;\r\n}\r\n\r\n// Backend type\r\nexport type BackendType = 'local' | 'saas';\r\n\r\n// ToolBackend interface (compatible with mcp-sqlew)\r\nexport interface ToolBackend {\r\n execute<TResponse = unknown>(\r\n tool: string,\r\n action: string,\r\n params: Record<string, unknown>\r\n ): Promise<TResponse>;\r\n healthCheck(): Promise<HealthCheckResult>;\r\n disconnect(): Promise<void>;\r\n readonly backendType: BackendType;\r\n readonly pluginName?: string;\r\n}\r\n\r\n// Plugin module interface\r\nexport interface PluginModule {\r\n createBackend(config: CloudConfig): ToolBackend;\r\n version: string;\r\n minVersion?: string;\r\n}\r\n\r\n// API response format\r\nexport interface ApiResponse<T = unknown> {\r\n success: boolean;\r\n data?: T;\r\n error?: {\r\n code: string;\r\n message: string;\r\n };\r\n}\r\n"],
5
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,14 @@
1
+ export declare const API_ENDPOINT = "https://api.sqlew.io";
2
+ export declare const MAX_RETRIES = 3;
3
+ export declare const INITIAL_RETRY_DELAY = 1000;
4
+ export declare const MAX_RETRY_DELAY = 30000;
5
+ export declare const REQUEST_TIMEOUT = 30000;
6
+ export declare const SUPPORTED_TOOLS: readonly ["decision", "constraint", "suggest"];
7
+ export type SupportedTool = (typeof SUPPORTED_TOOLS)[number];
8
+ export declare const LOCAL_ONLY_ACTIONS: readonly ["decision.help", "decision.example", "decision.use_case", "constraint.suggest_pending", "constraint.help", "constraint.example", "constraint.use_case", "suggest.help"];
9
+ export type LocalOnlyAction = (typeof LOCAL_ONLY_ACTIONS)[number];
10
+ /**
11
+ * Check if a tool.action combination should be handled locally
12
+ */
13
+ export declare function isLocalOnlyAction(tool: string, action: string): boolean;
14
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/config/constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,yBAAyB,CAAC;AAGnD,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,mBAAmB,OAAO,CAAC;AACxC,eAAO,MAAM,eAAe,QAAQ,CAAC;AACrC,eAAO,MAAM,eAAe,QAAQ,CAAC;AAIrC,eAAO,MAAM,eAAe,gDAIlB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAI7D,eAAO,MAAM,kBAAkB,mLAYrB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAEvE"}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var constants_exports = {};
20
+ __export(constants_exports, {
21
+ API_ENDPOINT: () => API_ENDPOINT,
22
+ INITIAL_RETRY_DELAY: () => INITIAL_RETRY_DELAY,
23
+ LOCAL_ONLY_ACTIONS: () => LOCAL_ONLY_ACTIONS,
24
+ MAX_RETRIES: () => MAX_RETRIES,
25
+ MAX_RETRY_DELAY: () => MAX_RETRY_DELAY,
26
+ REQUEST_TIMEOUT: () => REQUEST_TIMEOUT,
27
+ SUPPORTED_TOOLS: () => SUPPORTED_TOOLS,
28
+ isLocalOnlyAction: () => isLocalOnlyAction
29
+ });
30
+ module.exports = __toCommonJS(constants_exports);
31
+ const API_ENDPOINT = "https://api.sqlew.io";
32
+ const MAX_RETRIES = 3;
33
+ const INITIAL_RETRY_DELAY = 1e3;
34
+ const MAX_RETRY_DELAY = 3e4;
35
+ const REQUEST_TIMEOUT = 3e4;
36
+ const SUPPORTED_TOOLS = [
37
+ "decision",
38
+ "constraint",
39
+ "suggest"
40
+ ];
41
+ const LOCAL_ONLY_ACTIONS = [
42
+ // decision - TOML/hardcoded help
43
+ "decision.help",
44
+ "decision.example",
45
+ "decision.use_case",
46
+ // constraint - plan TOML cache + help
47
+ "constraint.suggest_pending",
48
+ "constraint.help",
49
+ "constraint.example",
50
+ "constraint.use_case",
51
+ // suggest - help only
52
+ "suggest.help"
53
+ ];
54
+ function isLocalOnlyAction(tool, action) {
55
+ return LOCAL_ONLY_ACTIONS.includes(`${tool}.${action}`);
56
+ }
57
+ // Annotate the CommonJS export names for ESM import in node:
58
+ 0 && (module.exports = {
59
+ API_ENDPOINT,
60
+ INITIAL_RETRY_DELAY,
61
+ LOCAL_ONLY_ACTIONS,
62
+ MAX_RETRIES,
63
+ MAX_RETRY_DELAY,
64
+ REQUEST_TIMEOUT,
65
+ SUPPORTED_TOOLS,
66
+ isLocalOnlyAction
67
+ });
68
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/config/constants.ts"],
4
+ "sourcesContent": ["// API endpoint is determined at build time for security\r\n// OSS side cannot modify this value\r\nexport const API_ENDPOINT = 'https://api.sqlew.io';\r\n\r\n// Retry configuration\r\nexport const MAX_RETRIES = 3;\r\nexport const INITIAL_RETRY_DELAY = 1000; // 1 second\r\nexport const MAX_RETRY_DELAY = 30000; // 30 seconds\r\nexport const REQUEST_TIMEOUT = 30000; // 30 seconds\r\n\r\n// Supported tools for SaaS backend\r\n// help, example, use_case are handled locally (TOML files, no DB access)\r\nexport const SUPPORTED_TOOLS = [\r\n 'decision',\r\n 'constraint',\r\n 'suggest',\r\n] as const;\r\n\r\nexport type SupportedTool = (typeof SUPPORTED_TOOLS)[number];\r\n\r\n// Actions that should be handled locally (no DB access required)\r\n// Format: \"tool.action\"\r\nexport const LOCAL_ONLY_ACTIONS = [\r\n // decision - TOML/hardcoded help\r\n 'decision.help',\r\n 'decision.example',\r\n 'decision.use_case',\r\n // constraint - plan TOML cache + help\r\n 'constraint.suggest_pending',\r\n 'constraint.help',\r\n 'constraint.example',\r\n 'constraint.use_case',\r\n // suggest - help only\r\n 'suggest.help',\r\n] as const;\r\n\r\nexport type LocalOnlyAction = (typeof LOCAL_ONLY_ACTIONS)[number];\r\n\r\n/**\r\n * Check if a tool.action combination should be handled locally\r\n */\r\nexport function isLocalOnlyAction(tool: string, action: string): boolean {\r\n return LOCAL_ONLY_ACTIONS.includes(`${tool}.${action}` as LocalOnlyAction);\r\n}\r\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,MAAM,eAAe;AAGrB,MAAM,cAAc;AACpB,MAAM,sBAAsB;AAC5B,MAAM,kBAAkB;AACxB,MAAM,kBAAkB;AAIxB,MAAM,kBAAkB;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AACF;AAMO,MAAM,qBAAqB;AAAA;AAAA,EAEhC;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AACF;AAOO,SAAS,kBAAkB,MAAc,QAAyB;AACvE,SAAO,mBAAmB,SAAS,GAAG,IAAI,IAAI,MAAM,EAAqB;AAC3E;",
6
+ "names": []
7
+ }
@@ -0,0 +1,26 @@
1
+ export declare class ApiError extends Error {
2
+ code: string;
3
+ statusCode: number;
4
+ details?: Record<string, unknown> | undefined;
5
+ constructor(code: string, message: string, statusCode: number, details?: Record<string, unknown> | undefined);
6
+ toJSON(): {
7
+ name: string;
8
+ code: string;
9
+ message: string;
10
+ statusCode: number;
11
+ details: Record<string, unknown> | undefined;
12
+ };
13
+ }
14
+ export declare const ERROR_CODES: {
15
+ readonly INVALID_REQUEST: 400;
16
+ readonly UNAUTHORIZED: 401;
17
+ readonly FORBIDDEN: 403;
18
+ readonly NOT_FOUND: 404;
19
+ readonly RATE_LIMITED: 429;
20
+ readonly INTERNAL_ERROR: 500;
21
+ readonly UNSUPPORTED_TOOL: 400;
22
+ readonly NETWORK_ERROR: 0;
23
+ readonly TIMEOUT: 408;
24
+ };
25
+ export type ErrorCode = keyof typeof ERROR_CODES;
26
+ //# sourceMappingURL=api-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-error.d.ts","sourceRoot":"","sources":["../../src/errors/api-error.ts"],"names":[],"mappings":"AAAA,qBAAa,QAAS,SAAQ,KAAK;IAExB,IAAI,EAAE,MAAM;IAEZ,UAAU,EAAE,MAAM;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAHjC,IAAI,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACR,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA;IAU1C,MAAM;;;;;;;CASP;AAGD,eAAO,MAAM,WAAW;;;;;;;;;;CAUd,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,WAAW,CAAC"}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var api_error_exports = {};
20
+ __export(api_error_exports, {
21
+ ApiError: () => ApiError,
22
+ ERROR_CODES: () => ERROR_CODES
23
+ });
24
+ module.exports = __toCommonJS(api_error_exports);
25
+ class ApiError extends Error {
26
+ constructor(code, message, statusCode, details) {
27
+ super(message);
28
+ this.code = code;
29
+ this.statusCode = statusCode;
30
+ this.details = details;
31
+ this.name = "ApiError";
32
+ if (Error.captureStackTrace) {
33
+ Error.captureStackTrace(this, ApiError);
34
+ }
35
+ }
36
+ toJSON() {
37
+ return {
38
+ name: this.name,
39
+ code: this.code,
40
+ message: this.message,
41
+ statusCode: this.statusCode,
42
+ details: this.details
43
+ };
44
+ }
45
+ }
46
+ const ERROR_CODES = {
47
+ INVALID_REQUEST: 400,
48
+ UNAUTHORIZED: 401,
49
+ FORBIDDEN: 403,
50
+ NOT_FOUND: 404,
51
+ RATE_LIMITED: 429,
52
+ INTERNAL_ERROR: 500,
53
+ UNSUPPORTED_TOOL: 400,
54
+ NETWORK_ERROR: 0,
55
+ TIMEOUT: 408
56
+ };
57
+ // Annotate the CommonJS export names for ESM import in node:
58
+ 0 && (module.exports = {
59
+ ApiError,
60
+ ERROR_CODES
61
+ });
62
+ //# sourceMappingURL=api-error.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/errors/api-error.ts"],
4
+ "sourcesContent": ["export class ApiError extends Error {\r\n constructor(\r\n public code: string,\r\n message: string,\r\n public statusCode: number,\r\n public details?: Record<string, unknown>\r\n ) {\r\n super(message);\r\n this.name = 'ApiError';\r\n // Maintain proper stack trace in V8 environments\r\n if (Error.captureStackTrace) {\r\n Error.captureStackTrace(this, ApiError);\r\n }\r\n }\r\n\r\n toJSON() {\r\n return {\r\n name: this.name,\r\n code: this.code,\r\n message: this.message,\r\n statusCode: this.statusCode,\r\n details: this.details,\r\n };\r\n }\r\n}\r\n\r\n// Error codes mapping\r\nexport const ERROR_CODES = {\r\n INVALID_REQUEST: 400,\r\n UNAUTHORIZED: 401,\r\n FORBIDDEN: 403,\r\n NOT_FOUND: 404,\r\n RATE_LIMITED: 429,\r\n INTERNAL_ERROR: 500,\r\n UNSUPPORTED_TOOL: 400,\r\n NETWORK_ERROR: 0,\r\n TIMEOUT: 408,\r\n} as const;\r\n\r\nexport type ErrorCode = keyof typeof ERROR_CODES;\r\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,MAAM,iBAAiB,MAAM;AAAA,EAClC,YACS,MACP,SACO,YACA,SACP;AACA,UAAM,OAAO;AALN;AAEA;AACA;AAGP,SAAK,OAAO;AAEZ,QAAI,MAAM,mBAAmB;AAC3B,YAAM,kBAAkB,MAAM,QAAQ;AAAA,IACxC;AAAA,EACF;AAAA,EAEA,SAAS;AACP,WAAO;AAAA,MACL,MAAM,KAAK;AAAA,MACX,MAAM,KAAK;AAAA,MACX,SAAS,KAAK;AAAA,MACd,YAAY,KAAK;AAAA,MACjB,SAAS,KAAK;AAAA,IAChB;AAAA,EACF;AACF;AAGO,MAAM,cAAc;AAAA,EACzB,iBAAiB;AAAA,EACjB,cAAc;AAAA,EACd,WAAW;AAAA,EACX,WAAW;AAAA,EACX,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB,eAAe;AAAA,EACf,SAAS;AACX;",
6
+ "names": []
7
+ }
@@ -0,0 +1,18 @@
1
+ import { resolveProject } from './client/http-client';
2
+ import type { CloudConfig, ToolBackend } from './client/types';
3
+ export { resolveProject };
4
+ /**
5
+ * Create a SaaS backend instance
6
+ */
7
+ export declare function createBackend(config: CloudConfig): ToolBackend;
8
+ /**
9
+ * Plugin version (SemVer)
10
+ */
11
+ export declare const version = "1.0.0";
12
+ /**
13
+ * Minimum compatible mcp-sqlew version
14
+ */
15
+ export declare const minVersion = "4.4.0";
16
+ export type { CloudConfig, ConnectionIdentity, Environment, ToolBackend, HealthCheckResult, } from './client/types';
17
+ export { ApiError } from './errors/api-error';
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAgB,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7E,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAE9D;AAED;;GAEG;AACH,eAAO,MAAM,OAAO,UAAU,CAAC;AAE/B;;GAEG;AACH,eAAO,MAAM,UAAU,UAAU,CAAC;AAGlC,YAAY,EACV,WAAW,EACX,kBAAkB,EAClB,WAAW,EACX,WAAW,EACX,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var index_exports = {};
20
+ __export(index_exports, {
21
+ ApiError: () => import_api_error.ApiError,
22
+ createBackend: () => createBackend,
23
+ minVersion: () => minVersion,
24
+ resolveProject: () => import_http_client.resolveProject,
25
+ version: () => version
26
+ });
27
+ module.exports = __toCommonJS(index_exports);
28
+ var import_saas_backend = require("./backend/saas-backend");
29
+ var import_http_client = require("./client/http-client");
30
+ var import_api_error = require("./errors/api-error");
31
+ function createBackend(config) {
32
+ return new import_saas_backend.SaaSBackend(config);
33
+ }
34
+ const version = "1.0.0";
35
+ const minVersion = "4.4.0";
36
+ const pluginModule = {
37
+ createBackend,
38
+ version,
39
+ minVersion,
40
+ resolveProject: import_http_client.resolveProject
41
+ };
42
+ module.exports = pluginModule;
43
+ // Annotate the CommonJS export names for ESM import in node:
44
+ 0 && (module.exports = {
45
+ ApiError,
46
+ createBackend,
47
+ minVersion,
48
+ resolveProject,
49
+ version
50
+ });
51
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/index.ts"],
4
+ "sourcesContent": ["import { SaaSBackend } from './backend/saas-backend';\r\nimport { resolveProject } from './client/http-client';\r\nimport type { CloudConfig, PluginModule, ToolBackend } from './client/types';\r\n\r\n// Re-export resolveProject for use by mcp-sqlew\r\nexport { resolveProject };\r\n\r\n/**\r\n * Create a SaaS backend instance\r\n */\r\nexport function createBackend(config: CloudConfig): ToolBackend {\r\n return new SaaSBackend(config);\r\n}\r\n\r\n/**\r\n * Plugin version (SemVer)\r\n */\r\nexport const version = '1.0.0';\r\n\r\n/**\r\n * Minimum compatible mcp-sqlew version\r\n */\r\nexport const minVersion = '4.4.0';\r\n\r\n// Export types for TypeScript users\r\nexport type {\r\n CloudConfig,\r\n ConnectionIdentity,\r\n Environment,\r\n ToolBackend,\r\n HealthCheckResult,\r\n} from './client/types';\r\nexport { ApiError } from './errors/api-error';\r\n\r\n// CommonJS compatibility\r\n// Note: Named exports (resolveProject, ApiError) are available via ESM import\r\n// The default export provides the plugin interface for mcp-sqlew\r\nconst pluginModule: PluginModule & { resolveProject: typeof resolveProject } = {\r\n createBackend,\r\n version,\r\n minVersion,\r\n resolveProject,\r\n};\r\n\r\nmodule.exports = pluginModule;\r\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAA4B;AAC5B,yBAA+B;AA+B/B,uBAAyB;AAtBlB,SAAS,cAAc,QAAkC;AAC9D,SAAO,IAAI,gCAAY,MAAM;AAC/B;AAKO,MAAM,UAAU;AAKhB,MAAM,aAAa;AAe1B,MAAM,eAAyE;AAAA,EAC7E;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,OAAO,UAAU;",
6
+ "names": []
7
+ }