@adaptabletools/adaptable-mcp 0.1.0-canary.0 → 0.1.0-canary.2

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 (348) hide show
  1. package/README.md +58 -61
  2. package/data/changes/21-22.json +542 -0
  3. package/data/changes/22-23.json +639 -0
  4. package/data/changes/23-24.json +1874 -0
  5. package/data/manifest.snapshot.json +202 -0
  6. package/data/templates/angular/src/app/adaptableOptions.ts +40 -0
  7. package/data/templates/angular/src/app/agGridModules.ts +7 -0
  8. package/data/templates/angular/src/app/app.component.ts +66 -0
  9. package/data/templates/angular/src/app/app.module.ts +14 -0
  10. package/data/templates/angular/src/app/columnDefs.ts +121 -0
  11. package/data/templates/angular/src/app/gridOptions.ts +32 -0
  12. package/data/templates/angular/src/app/onAdaptableReady.ts +11 -0
  13. package/data/templates/angular/src/app/rowData.ts +851 -0
  14. package/data/templates/angular/src/app/styles.css +50 -0
  15. package/data/templates/angular/src/index.html +17 -0
  16. package/data/templates/angular/src/main.ts +18 -0
  17. package/data/templates/angular/src/polyfills.ts +1 -0
  18. package/data/templates/angular/tsconfig.json +16 -0
  19. package/data/templates/manifest.json +406 -0
  20. package/data/templates/react/src/App.tsx +71 -0
  21. package/data/templates/react/src/adaptableOptions.ts +40 -0
  22. package/data/templates/react/src/agGridModules.ts +7 -0
  23. package/data/templates/react/src/columnDefs.ts +121 -0
  24. package/data/templates/react/src/gridOptions.ts +32 -0
  25. package/data/templates/react/src/index.tsx +8 -0
  26. package/data/templates/react/src/onAdaptableReady.ts +11 -0
  27. package/data/templates/react/src/rowData.ts +851 -0
  28. package/data/templates/react/src/styles.css +50 -0
  29. package/data/templates/react/tsconfig.json +9 -0
  30. package/data/templates/vanilla/index.html +18 -0
  31. package/data/templates/vanilla/src/adaptableOptions.ts +40 -0
  32. package/data/templates/vanilla/src/agGridModules.ts +7 -0
  33. package/data/templates/vanilla/src/columnDefs.ts +121 -0
  34. package/data/templates/vanilla/src/gridOptions.ts +32 -0
  35. package/data/templates/vanilla/src/index.ts +41 -0
  36. package/data/templates/vanilla/src/onAdaptableReady.ts +11 -0
  37. package/data/templates/vanilla/src/rowData.ts +851 -0
  38. package/data/templates/vanilla/src/styles.css +50 -0
  39. package/data/templates/vanilla/tsconfig.json +14 -0
  40. package/data/templates/vue/.babelrc +3 -0
  41. package/data/templates/vue/public/index.html +19 -0
  42. package/data/templates/vue/src/App.vue +35 -0
  43. package/data/templates/vue/src/adaptableOptions.ts +40 -0
  44. package/data/templates/vue/src/agGridModules.ts +7 -0
  45. package/data/templates/vue/src/columnDefs.ts +121 -0
  46. package/data/templates/vue/src/gridOptions.ts +32 -0
  47. package/data/templates/vue/src/main.ts +6 -0
  48. package/data/templates/vue/src/onAdaptableReady.ts +11 -0
  49. package/data/templates/vue/src/rowData.ts +851 -0
  50. package/data/templates/vue/src/shims-vue.d.ts +6 -0
  51. package/data/templates/vue/src/styles.css +50 -0
  52. package/data/templates/vue/tsconfig.json +30 -0
  53. package/dist/bin.js +23 -0
  54. package/dist/bin.js.map +1 -0
  55. package/dist/cli/build-commands.js +200 -0
  56. package/dist/cli/build-commands.js.map +1 -0
  57. package/dist/cli/index.js +94 -0
  58. package/dist/cli/index.js.map +1 -0
  59. package/dist/cli/render.js +57 -0
  60. package/dist/cli/render.js.map +1 -0
  61. package/dist/core/anonymise/anonymise.js +315 -0
  62. package/dist/core/anonymise/anonymise.js.map +1 -0
  63. package/dist/core/anonymise/capabilities.js +94 -0
  64. package/dist/core/anonymise/capabilities.js.map +1 -0
  65. package/dist/core/aql/capabilities.js +339 -0
  66. package/dist/core/aql/capabilities.js.map +1 -0
  67. package/dist/core/aql/check.js +204 -0
  68. package/dist/core/aql/check.js.map +1 -0
  69. package/dist/core/aql/engine.js +92 -0
  70. package/dist/core/aql/engine.js.map +1 -0
  71. package/dist/core/aql/functions.js +108 -0
  72. package/dist/core/aql/functions.js.map +1 -0
  73. package/dist/core/aql/migrate.js +62 -0
  74. package/dist/core/aql/migrate.js.map +1 -0
  75. package/dist/core/capabilities.js +105 -0
  76. package/dist/core/capabilities.js.map +1 -0
  77. package/dist/core/changes/capabilities.js +92 -0
  78. package/dist/core/changes/capabilities.js.map +1 -0
  79. package/dist/core/changes/changes.js +101 -0
  80. package/dist/core/changes/changes.js.map +1 -0
  81. package/dist/core/changes/grep.js +183 -0
  82. package/dist/core/changes/grep.js.map +1 -0
  83. package/dist/core/changes/records.js +172 -0
  84. package/dist/core/changes/records.js.map +1 -0
  85. package/dist/core/changes/render-md.js +101 -0
  86. package/dist/core/changes/render-md.js.map +1 -0
  87. package/dist/core/changes/with-docs.js +86 -0
  88. package/dist/core/changes/with-docs.js.map +1 -0
  89. package/dist/core/compat/capabilities.js +127 -0
  90. package/dist/core/compat/capabilities.js.map +1 -0
  91. package/dist/core/compat/manifest.js +203 -0
  92. package/dist/core/compat/manifest.js.map +1 -0
  93. package/dist/core/constants.js +38 -0
  94. package/dist/core/constants.js.map +1 -0
  95. package/dist/core/context/capabilities.js +106 -0
  96. package/dist/core/context/capabilities.js.map +1 -0
  97. package/dist/core/context/detect.js +370 -0
  98. package/dist/core/context/detect.js.map +1 -0
  99. package/dist/core/context/projects.js +159 -0
  100. package/dist/core/context/projects.js.map +1 -0
  101. package/dist/core/context/resolve.js +85 -0
  102. package/dist/core/context/resolve.js.map +1 -0
  103. package/dist/core/convert/capabilities.js +86 -0
  104. package/dist/core/convert/capabilities.js.map +1 -0
  105. package/dist/core/convert/coldefs.js +313 -0
  106. package/dist/core/convert/coldefs.js.map +1 -0
  107. package/dist/core/docs/areas.js +22 -0
  108. package/dist/core/docs/areas.js.map +1 -0
  109. package/dist/core/docs/cache.js +133 -0
  110. package/dist/core/docs/cache.js.map +1 -0
  111. package/dist/core/docs/capabilities.js +377 -0
  112. package/dist/core/docs/capabilities.js.map +1 -0
  113. package/dist/core/docs/corpus.js.map +1 -0
  114. package/dist/core/docs/demos.js +105 -0
  115. package/dist/core/docs/demos.js.map +1 -0
  116. package/dist/core/docs/get-page.js +182 -0
  117. package/dist/core/docs/get-page.js.map +1 -0
  118. package/dist/core/docs/hosts.js +74 -0
  119. package/dist/core/docs/hosts.js.map +1 -0
  120. package/dist/core/docs/search.js.map +1 -0
  121. package/dist/core/envelope.js +79 -0
  122. package/dist/core/envelope.js.map +1 -0
  123. package/dist/core/extract/imports.js +163 -0
  124. package/dist/core/extract/imports.js.map +1 -0
  125. package/dist/core/extract/input.js +140 -0
  126. package/dist/core/extract/input.js.map +1 -0
  127. package/dist/core/extract/line-map.js +90 -0
  128. package/dist/core/extract/line-map.js.map +1 -0
  129. package/dist/core/extract/ts-literal.js +963 -0
  130. package/dist/core/extract/ts-literal.js.map +1 -0
  131. package/dist/core/index.js +13 -0
  132. package/dist/core/index.js.map +1 -0
  133. package/dist/core/migrate/capabilities.js +143 -0
  134. package/dist/core/migrate/capabilities.js.map +1 -0
  135. package/dist/core/migrate/leftovers.js +119 -0
  136. package/dist/core/migrate/leftovers.js.map +1 -0
  137. package/dist/core/migrate/state.js +295 -0
  138. package/dist/core/migrate/state.js.map +1 -0
  139. package/dist/core/packages/cache.js +139 -0
  140. package/dist/core/packages/cache.js.map +1 -0
  141. package/dist/core/packages/capabilities.js +95 -0
  142. package/dist/core/packages/capabilities.js.map +1 -0
  143. package/dist/{adaptable/types.js → core/packages/entry-types.js} +1 -1
  144. package/dist/core/packages/entry-types.js.map +1 -0
  145. package/dist/core/packages/exec.js +37 -0
  146. package/dist/core/packages/exec.js.map +1 -0
  147. package/dist/core/packages/load-entry.js +123 -0
  148. package/dist/core/packages/load-entry.js.map +1 -0
  149. package/dist/core/packages/prepare.js +122 -0
  150. package/dist/core/packages/prepare.js.map +1 -0
  151. package/dist/core/packages/registry.js +75 -0
  152. package/dist/core/packages/registry.js.map +1 -0
  153. package/dist/core/packages/resolve.js +94 -0
  154. package/dist/core/packages/resolve.js.map +1 -0
  155. package/dist/core/packages/versions.js +71 -0
  156. package/dist/core/packages/versions.js.map +1 -0
  157. package/dist/core/ping.js +22 -0
  158. package/dist/core/ping.js.map +1 -0
  159. package/dist/core/register.js +18 -0
  160. package/dist/core/register.js.map +1 -0
  161. package/dist/core/scaffold/capabilities.js +434 -0
  162. package/dist/core/scaffold/capabilities.js.map +1 -0
  163. package/dist/core/scaffold/generate.js +409 -0
  164. package/dist/core/scaffold/generate.js.map +1 -0
  165. package/dist/core/scaffold/infer.js +441 -0
  166. package/dist/core/scaffold/infer.js.map +1 -0
  167. package/dist/core/scaffold/overlay.js +290 -0
  168. package/dist/core/scaffold/overlay.js.map +1 -0
  169. package/dist/core/scaffold/readers/csv.js +146 -0
  170. package/dist/core/scaffold/readers/csv.js.map +1 -0
  171. package/dist/core/scaffold/readers/dataset.js +53 -0
  172. package/dist/core/scaffold/readers/dataset.js.map +1 -0
  173. package/dist/core/scaffold/readers/index.js +62 -0
  174. package/dist/core/scaffold/readers/index.js.map +1 -0
  175. package/dist/core/scaffold/readers/json.js +101 -0
  176. package/dist/core/scaffold/readers/json.js.map +1 -0
  177. package/dist/core/scaffold/readers/xlsx.js +81 -0
  178. package/dist/core/scaffold/readers/xlsx.js.map +1 -0
  179. package/dist/core/scaffold/suggestions.js +57 -0
  180. package/dist/core/scaffold/suggestions.js.map +1 -0
  181. package/dist/core/scaffold/templates.js +59 -0
  182. package/dist/core/scaffold/templates.js.map +1 -0
  183. package/dist/core/setup/audit.js +91 -0
  184. package/dist/core/setup/audit.js.map +1 -0
  185. package/dist/core/setup/capabilities.js +80 -0
  186. package/dist/core/setup/capabilities.js.map +1 -0
  187. package/dist/core/setup/context.js +118 -0
  188. package/dist/core/setup/context.js.map +1 -0
  189. package/dist/core/setup/rules/cell-data-type.js +40 -0
  190. package/dist/core/setup/rules/cell-data-type.js.map +1 -0
  191. package/dist/core/setup/rules/coldef-ownership.js +67 -0
  192. package/dist/core/setup/rules/coldef-ownership.js.map +1 -0
  193. package/dist/core/setup/rules/css-import.js +34 -0
  194. package/dist/core/setup/rules/css-import.js.map +1 -0
  195. package/dist/core/setup/rules/direct-grid.js +42 -0
  196. package/dist/core/setup/rules/direct-grid.js.map +1 -0
  197. package/dist/core/setup/rules/index.js +53 -0
  198. package/dist/core/setup/rules/index.js.map +1 -0
  199. package/dist/core/setup/rules/licence-literal.js +23 -0
  200. package/dist/core/setup/rules/licence-literal.js.map +1 -0
  201. package/dist/core/setup/rules/modules.js +86 -0
  202. package/dist/core/setup/rules/modules.js.map +1 -0
  203. package/dist/core/setup/rules/react-stable-refs.js +20 -0
  204. package/dist/core/setup/rules/react-stable-refs.js.map +1 -0
  205. package/dist/core/setup/rules/ready-hook.js +33 -0
  206. package/dist/core/setup/rules/ready-hook.js.map +1 -0
  207. package/dist/core/setup/rules/required-options.js +43 -0
  208. package/dist/core/setup/rules/required-options.js.map +1 -0
  209. package/dist/core/setup/rules/rule.js +10 -0
  210. package/dist/core/setup/rules/rule.js.map +1 -0
  211. package/dist/core/setup/rules/version-skew.js +65 -0
  212. package/dist/core/setup/rules/version-skew.js.map +1 -0
  213. package/dist/core/state/capabilities.js +78 -0
  214. package/dist/core/state/capabilities.js.map +1 -0
  215. package/dist/core/state/check.js +216 -0
  216. package/dist/core/state/check.js.map +1 -0
  217. package/dist/core/state/columns.js +130 -0
  218. package/dist/core/state/columns.js.map +1 -0
  219. package/dist/core/state/did-you-mean.js +83 -0
  220. package/dist/core/state/did-you-mean.js.map +1 -0
  221. package/dist/core/state/expressions.js +170 -0
  222. package/dist/core/state/expressions.js.map +1 -0
  223. package/dist/core/state/known-names.js +96 -0
  224. package/dist/core/state/known-names.js.map +1 -0
  225. package/dist/core/state/rules/aql-legacy-shape.js +42 -0
  226. package/dist/core/state/rules/aql-legacy-shape.js.map +1 -0
  227. package/dist/core/state/rules/aql-missing.js +21 -0
  228. package/dist/core/state/rules/aql-missing.js.map +1 -0
  229. package/dist/core/state/rules/aql-syntax.js +77 -0
  230. package/dist/core/state/rules/aql-syntax.js.map +1 -0
  231. package/dist/core/state/rules/calculated-settings.js +23 -0
  232. package/dist/core/state/rules/calculated-settings.js.map +1 -0
  233. package/dist/core/state/rules/column-id-exists.js +29 -0
  234. package/dist/core/state/rules/column-id-exists.js.map +1 -0
  235. package/dist/core/state/rules/dashboard-module-names.js +31 -0
  236. package/dist/core/state/rules/dashboard-module-names.js.map +1 -0
  237. package/dist/core/state/rules/dashboard-toolbar-names.js +48 -0
  238. package/dist/core/state/rules/dashboard-toolbar-names.js.map +1 -0
  239. package/dist/core/state/rules/format-column-pivot-display-format.js +43 -0
  240. package/dist/core/state/rules/format-column-pivot-display-format.js.map +1 -0
  241. package/dist/core/state/rules/helpers.js +39 -0
  242. package/dist/core/state/rules/helpers.js.map +1 -0
  243. package/dist/core/state/rules/index.js +80 -0
  244. package/dist/core/state/rules/index.js.map +1 -0
  245. package/dist/core/state/rules/layout-column-refs.js +60 -0
  246. package/dist/core/state/rules/layout-column-refs.js.map +1 -0
  247. package/dist/core/state/rules/layout-current-exists.js +27 -0
  248. package/dist/core/state/rules/layout-current-exists.js.map +1 -0
  249. package/dist/core/state/rules/layout-non-empty.js +32 -0
  250. package/dist/core/state/rules/layout-non-empty.js.map +1 -0
  251. package/dist/core/state/rules/rule.js +2 -0
  252. package/dist/core/state/rules/rule.js.map +1 -0
  253. package/dist/core/state/rules/scope-column-refs.js +32 -0
  254. package/dist/core/state/rules/scope-column-refs.js.map +1 -0
  255. package/dist/core/state/rules/scope-shape.js +61 -0
  256. package/dist/core/state/rules/scope-shape.js.map +1 -0
  257. package/dist/core/state/rules/state-unique-name.js +40 -0
  258. package/dist/core/state/rules/state-unique-name.js.map +1 -0
  259. package/dist/core/state/rules/state-unknown-section.js +30 -0
  260. package/dist/core/state/rules/state-unknown-section.js.map +1 -0
  261. package/dist/core/state/rules/type-discriminator.js +70 -0
  262. package/dist/core/state/rules/type-discriminator.js.map +1 -0
  263. package/dist/core/state/type-check.js +408 -0
  264. package/dist/core/state/type-check.js.map +1 -0
  265. package/dist/mcp/index.js +109 -0
  266. package/dist/mcp/index.js.map +1 -0
  267. package/dist/mcp/server.js +110 -0
  268. package/dist/mcp/server.js.map +1 -0
  269. package/dist/skills/adaptable-debug/SKILL.md +145 -0
  270. package/dist/skills/adaptable-debug/VERSION.md +1 -0
  271. package/dist/skills/adaptable-debug/references/_shared/agents-snippet.md +3 -0
  272. package/dist/skills/adaptable-debug/references/_shared/capabilities.md +35 -0
  273. package/dist/skills/adaptable-debug/references/_shared/conversation.md +20 -0
  274. package/dist/skills/adaptable-debug/references/_shared/docs-protocol.md +36 -0
  275. package/dist/skills/adaptable-debug/references/_shared/grounding.md +54 -0
  276. package/dist/skills/adaptable-debug/references/_shared/guards.md +20 -0
  277. package/dist/skills/adaptable-debug/references/_shared/validation-loop.md +42 -0
  278. package/dist/skills/adaptable-debug/references/devtools-api.md +36 -0
  279. package/dist/skills/adaptable-debug/references/feedback-template.md +36 -0
  280. package/dist/skills/adaptable-debug/references/symptoms.md +37 -0
  281. package/dist/skills/adaptable-debug/references/ticket-template.md +50 -0
  282. package/dist/skills/adaptable-dev/SKILL.md +97 -0
  283. package/dist/skills/adaptable-dev/VERSION.md +1 -0
  284. package/dist/skills/adaptable-dev/references/_shared/agents-snippet.md +3 -0
  285. package/dist/skills/adaptable-dev/references/_shared/capabilities.md +35 -0
  286. package/dist/skills/adaptable-dev/references/_shared/conversation.md +20 -0
  287. package/dist/skills/adaptable-dev/references/_shared/docs-protocol.md +36 -0
  288. package/dist/skills/adaptable-dev/references/_shared/grounding.md +54 -0
  289. package/dist/skills/adaptable-dev/references/_shared/guards.md +20 -0
  290. package/dist/skills/adaptable-dev/references/_shared/validation-loop.md +42 -0
  291. package/dist/skills/adaptable-dev/references/recommendations.md +93 -0
  292. package/dist/skills/adaptable-setup/SKILL.md +158 -0
  293. package/dist/skills/adaptable-setup/VERSION.md +1 -0
  294. package/dist/skills/adaptable-setup/references/_shared/agents-snippet.md +3 -0
  295. package/dist/skills/adaptable-setup/references/_shared/capabilities.md +35 -0
  296. package/dist/skills/adaptable-setup/references/_shared/conversation.md +20 -0
  297. package/dist/skills/adaptable-setup/references/_shared/docs-protocol.md +36 -0
  298. package/dist/skills/adaptable-setup/references/_shared/grounding.md +54 -0
  299. package/dist/skills/adaptable-setup/references/_shared/guards.md +20 -0
  300. package/dist/skills/adaptable-setup/references/_shared/validation-loop.md +42 -0
  301. package/dist/skills/adaptable-setup/references/paths.md +45 -0
  302. package/dist/skills/adaptable-upgrade/SKILL.md +269 -0
  303. package/dist/skills/adaptable-upgrade/VERSION.md +1 -0
  304. package/dist/skills/adaptable-upgrade/references/_shared/agents-snippet.md +3 -0
  305. package/dist/skills/adaptable-upgrade/references/_shared/capabilities.md +35 -0
  306. package/dist/skills/adaptable-upgrade/references/_shared/conversation.md +20 -0
  307. package/dist/skills/adaptable-upgrade/references/_shared/docs-protocol.md +36 -0
  308. package/dist/skills/adaptable-upgrade/references/_shared/grounding.md +54 -0
  309. package/dist/skills/adaptable-upgrade/references/_shared/guards.md +20 -0
  310. package/dist/skills/adaptable-upgrade/references/_shared/validation-loop.md +42 -0
  311. package/dist/skills/adaptable-upgrade/references/apply-order.md +171 -0
  312. package/dist/skills/adaptable-upgrade/references/plan-preamble.md +151 -0
  313. package/dist/skills/adaptable-upgrade/scripts/adaptable.mjs +24 -0
  314. package/package.json +34 -13
  315. package/dist/adaptable/loadEntry.js +0 -94
  316. package/dist/adaptable/loadEntry.js.map +0 -1
  317. package/dist/adaptable/types.js.map +0 -1
  318. package/dist/cache.js +0 -11
  319. package/dist/cache.js.map +0 -1
  320. package/dist/checks/stateRules.js +0 -389
  321. package/dist/checks/stateRules.js.map +0 -1
  322. package/dist/checks/stateTypes.js +0 -142
  323. package/dist/checks/stateTypes.js.map +0 -1
  324. package/dist/context.js +0 -39
  325. package/dist/context.js.map +0 -1
  326. package/dist/docs/corpus.js.map +0 -1
  327. package/dist/docs/search.js.map +0 -1
  328. package/dist/docs/source.js +0 -151
  329. package/dist/docs/source.js.map +0 -1
  330. package/dist/environment.js +0 -181
  331. package/dist/environment.js.map +0 -1
  332. package/dist/index.js +0 -7
  333. package/dist/index.js.map +0 -1
  334. package/dist/prompts.js +0 -84
  335. package/dist/prompts.js.map +0 -1
  336. package/dist/resources.js +0 -59
  337. package/dist/resources.js.map +0 -1
  338. package/dist/server.js +0 -23
  339. package/dist/server.js.map +0 -1
  340. package/dist/tools/checks.js +0 -250
  341. package/dist/tools/checks.js.map +0 -1
  342. package/dist/tools/docs.js +0 -173
  343. package/dist/tools/docs.js.map +0 -1
  344. package/dist/tools/environment.js +0 -52
  345. package/dist/tools/environment.js.map +0 -1
  346. package/skills/adaptable-dev/SKILL.md +0 -42
  347. /package/dist/{docs → core/docs}/corpus.js +0 -0
  348. /package/dist/{docs → core/docs}/search.js +0 -0
@@ -1,151 +0,0 @@
1
- import { existsSync, readFileSync, readdirSync, writeFileSync } from 'node:fs';
2
- import { join } from 'node:path';
3
- import { getCacheDir } from '../cache.js';
4
- import { splitPages, splitSections } from './corpus.js';
5
- import { SectionIndex } from './search.js';
6
- const LATEST_SITE = 'https://www.adaptabletools.com';
7
- const PRERELEASE_SITE = 'https://canary.adaptabletools.com';
8
- const FETCH_TIMEOUT_MS = 30_000;
9
- function localReader(dir) {
10
- return {
11
- origin: dir,
12
- read: async (path) => readFileSync(join(dir, path), 'utf8'),
13
- };
14
- }
15
- function httpReader(baseUrl) {
16
- const base = baseUrl.replace(/\/+$/, '');
17
- return {
18
- origin: base,
19
- read: async (path) => {
20
- const response = await fetch(`${base}${path}`, {
21
- signal: AbortSignal.timeout(FETCH_TIMEOUT_MS),
22
- });
23
- if (!response.ok) {
24
- throw new Error(`${base}${path} returned ${response.status}`);
25
- }
26
- return response.text();
27
- },
28
- };
29
- }
30
- async function readManifest(reader) {
31
- try {
32
- return JSON.parse(await reader.read('/llms/manifest.json'));
33
- }
34
- catch {
35
- return undefined;
36
- }
37
- }
38
- /**
39
- * `www` always serves the latest major; older majors live at `v{major}.`, and a
40
- * major that only has canary releases so far lives at `canary.`.
41
- * `ADAPTABLE_MCP_DOCS_URL` (e.g. https://dev.adaptabletools.com) or
42
- * `ADAPTABLE_MCP_DOCS_DIR` (a local `documentation/public`) override all of them.
43
- */
44
- export async function findSource(major) {
45
- const dir = process.env.ADAPTABLE_MCP_DOCS_DIR;
46
- const url = process.env.ADAPTABLE_MCP_DOCS_URL;
47
- const explicit = dir ? localReader(dir) : url ? httpReader(url) : undefined;
48
- if (explicit) {
49
- const manifest = await readManifest(explicit);
50
- return manifest
51
- ? { reader: explicit, manifest }
52
- : { error: `No /llms/manifest.json found at ${explicit.origin}` };
53
- }
54
- const latest = httpReader(LATEST_SITE);
55
- const latestManifest = await readManifest(latest);
56
- if (latestManifest && (major === undefined || latestManifest.major === major)) {
57
- return { reader: latest, manifest: latestManifest };
58
- }
59
- if (major !== undefined) {
60
- for (const site of [`https://v${major}.adaptabletools.com`, PRERELEASE_SITE]) {
61
- const reader = httpReader(site);
62
- const manifest = await readManifest(reader);
63
- if (manifest?.major === major) {
64
- return { reader, manifest };
65
- }
66
- }
67
- }
68
- return {
69
- error: major === undefined
70
- ? `Could not read ${LATEST_SITE}/llms/manifest.json`
71
- : `No machine-readable docs found for AdapTable ${major} (checked ${LATEST_SITE}, https://v${major}.adaptabletools.com and ${PRERELEASE_SITE})`,
72
- };
73
- }
74
- /** Latest cached corpus for a major, for offline use */
75
- function findCachedFile(major) {
76
- const root = getCacheDir('docs');
77
- const candidates = readdirSync(root)
78
- .map((name) => join(root, name))
79
- .filter((dir) => existsSync(join(dir, 'manifest.json')) && existsSync(join(dir, 'llms-full.txt')))
80
- .map((dir) => ({ dir, manifest: JSON.parse(readFileSync(join(dir, 'manifest.json'), 'utf8')) }))
81
- .filter((c) => major === undefined || c.manifest.major === major)
82
- .sort((a, b) => b.manifest.builtAt.localeCompare(a.manifest.builtAt));
83
- return candidates[0];
84
- }
85
- function buildCorpus(manifest, origin, llmsFull, pagesJson) {
86
- const pageMeta = new Map(JSON.parse(pagesJson).map((meta) => [meta.routePath, meta]));
87
- const pages = new Map();
88
- const sections = [];
89
- for (const page of splitPages(llmsFull, pageMeta)) {
90
- pages.set(page.routePath, page);
91
- sections.push(...splitSections(page, sections.length));
92
- }
93
- return { manifest, origin, pages, pageMeta, sections, index: new SectionIndex(sections) };
94
- }
95
- const corpora = new Map();
96
- const sources = new Map();
97
- function getSource(major) {
98
- const key = String(major ?? 'latest');
99
- let source = sources.get(key);
100
- if (!source) {
101
- source = findSource(major);
102
- sources.set(key, source);
103
- }
104
- return source;
105
- }
106
- /** The docs manifest only: version, AG Grid pairings and base URL, without downloading the docs */
107
- export async function getManifest(major) {
108
- const found = await getSource(major);
109
- if ('error' in found) {
110
- const cached = findCachedFile(major);
111
- return cached
112
- ? { manifest: cached.manifest, origin: `${cached.manifest.baseUrl} (offline cache)` }
113
- : found;
114
- }
115
- return { manifest: found.manifest, origin: found.reader.origin };
116
- }
117
- async function loadCorpusUncached(major) {
118
- const found = await getSource(major);
119
- if ('error' in found) {
120
- const cached = findCachedFile(major);
121
- if (!cached) {
122
- throw new Error(found.error);
123
- }
124
- return buildCorpus(cached.manifest, `${cached.manifest.baseUrl} (offline cache)`, readFileSync(join(cached.dir, 'llms-full.txt'), 'utf8'), readFileSync(join(cached.dir, 'pages.json'), 'utf8'));
125
- }
126
- const { reader, manifest } = found;
127
- const cacheDir = getCacheDir('docs', manifest.files.llmsFullTxt.sha256.slice(0, 16));
128
- const cachedFull = join(cacheDir, 'llms-full.txt');
129
- const cachedPages = join(cacheDir, 'pages.json');
130
- if (!existsSync(cachedFull) || !existsSync(cachedPages)) {
131
- const [llmsFull, pagesJson] = await Promise.all([
132
- reader.read(manifest.files.llmsFullTxt.path),
133
- reader.read(manifest.files.pages.path),
134
- ]);
135
- writeFileSync(cachedFull, llmsFull);
136
- writeFileSync(cachedPages, pagesJson);
137
- writeFileSync(join(cacheDir, 'manifest.json'), JSON.stringify(manifest, null, 2));
138
- }
139
- return buildCorpus(manifest, reader.origin, readFileSync(cachedFull, 'utf8'), readFileSync(cachedPages, 'utf8'));
140
- }
141
- export function loadCorpus(major) {
142
- const key = String(major ?? 'latest');
143
- let corpus = corpora.get(key);
144
- if (!corpus) {
145
- corpus = loadCorpusUncached(major);
146
- corpus.catch(() => corpora.delete(key));
147
- corpora.set(key, corpus);
148
- }
149
- return corpus;
150
- }
151
- //# sourceMappingURL=source.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"source.js","sourceRoot":"","sources":["../../src/docs/source.ts"],"names":[],"mappings":"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"}
@@ -1,181 +0,0 @@
1
- import { existsSync, readFileSync } from 'node:fs';
2
- import { dirname, join, resolve } from 'node:path';
3
- const FRAMEWORK_PACKAGES = {
4
- '@adaptabletools/adaptable-react-aggrid': 'react',
5
- '@adaptabletools/adaptable-angular-aggrid': 'angular',
6
- '@adaptabletools/adaptable-vue3-aggrid': 'vue',
7
- };
8
- function readJson(path) {
9
- try {
10
- return JSON.parse(readFileSync(path, 'utf8'));
11
- }
12
- catch {
13
- return undefined;
14
- }
15
- }
16
- function findInstalledPackageJson(projectPath, name) {
17
- let dir = projectPath;
18
- for (;;) {
19
- const candidate = join(dir, 'node_modules', name, 'package.json');
20
- if (existsSync(candidate)) {
21
- return readJson(candidate);
22
- }
23
- const parent = dirname(dir);
24
- if (parent === dir) {
25
- return undefined;
26
- }
27
- dir = parent;
28
- }
29
- }
30
- /** Nearest folder with a package.json, starting at `start` */
31
- export function findProjectRoot(start) {
32
- let dir = resolve(start);
33
- for (;;) {
34
- if (existsSync(join(dir, 'package.json'))) {
35
- return dir;
36
- }
37
- const parent = dirname(dir);
38
- if (parent === dir) {
39
- return resolve(start);
40
- }
41
- dir = parent;
42
- }
43
- }
44
- export function detectEnvironment(start) {
45
- const projectPath = findProjectRoot(start);
46
- const pkg = readJson(join(projectPath, 'package.json'));
47
- const declared = {
48
- ...(pkg?.peerDependencies ?? {}),
49
- ...(pkg?.devDependencies ?? {}),
50
- ...(pkg?.dependencies ?? {}),
51
- };
52
- const names = Object.keys(declared);
53
- const info = (name) => ({
54
- name,
55
- declared: declared[name],
56
- installed: findInstalledPackageJson(projectPath, name)?.version,
57
- });
58
- const adaptablePackages = names
59
- .filter((n) => n.startsWith('@adaptabletools/') && n !== '@adaptabletools/adaptable-mcp')
60
- .map(info);
61
- const agGridPackages = names
62
- .filter((n) => n === 'ag-stack' || n.startsWith('ag-grid-') || n.startsWith('@ag-grid-'))
63
- .map(info);
64
- const adaptable = adaptablePackages.find((p) => p.name === '@adaptabletools/adaptable') ??
65
- (findInstalledPackageJson(projectPath, '@adaptabletools/adaptable')
66
- ? info('@adaptabletools/adaptable')
67
- : adaptablePackages.find((p) => FRAMEWORK_PACKAGES[p.name]));
68
- const version = adaptable?.installed ?? adaptable?.declared?.match(/\d+\.\d+\.\d+[^\s]*/)?.[0];
69
- const adaptableMajor = version ? Number(version.split('.')[0]) : undefined;
70
- const framework = names.map((n) => FRAMEWORK_PACKAGES[n]).find(Boolean) ?? (adaptable ? 'vanilla' : undefined);
71
- const agGridPeer = findInstalledPackageJson(projectPath, '@adaptabletools/adaptable')
72
- ?.peerDependencies?.['ag-grid-enterprise'];
73
- return {
74
- projectPath,
75
- hasPackageJson: !!pkg,
76
- framework,
77
- adaptable,
78
- adaptableMajor: Number.isFinite(adaptableMajor) ? adaptableMajor : undefined,
79
- adaptablePackages,
80
- agGridPackages,
81
- agGridPeer,
82
- };
83
- }
84
- function parseVersion(version) {
85
- const match = version.match(/(\d+)\.(\d+)\.(\d+)/);
86
- return match ? match.slice(1).map(Number) : undefined;
87
- }
88
- function compare(a, b) {
89
- for (let i = 0; i < 3; i++) {
90
- if (a[i] !== b[i]) {
91
- return a[i] - b[i];
92
- }
93
- }
94
- return 0;
95
- }
96
- /**
97
- * Enough of semver for AdapTable's peer ranges (`>=36.2.0`, `^36.2.0`,
98
- * `~36.2.0`, exact, space-separated AND, `||`). Returns undefined when the
99
- * range has a form this does not understand.
100
- */
101
- export function satisfies(version, range) {
102
- const v = parseVersion(version);
103
- if (!v) {
104
- return undefined;
105
- }
106
- const alternatives = range.split('||').map((alt) => alt.trim().split(/\s+/).filter(Boolean));
107
- let understood = true;
108
- const result = alternatives.some((comparators) => comparators.every((comparator) => {
109
- const match = comparator.match(/^(>=|<=|>|<|\^|~|=)?v?(\d+\.\d+\.\d+)/);
110
- if (!match) {
111
- understood = false;
112
- return false;
113
- }
114
- const target = parseVersion(match[2]);
115
- const c = compare(v, target);
116
- switch (match[1]) {
117
- case '>=':
118
- return c >= 0;
119
- case '<=':
120
- return c <= 0;
121
- case '>':
122
- return c > 0;
123
- case '<':
124
- return c < 0;
125
- case '^':
126
- return c >= 0 && v[0] === target[0];
127
- case '~':
128
- return c >= 0 && v[0] === target[0] && v[1] === target[1];
129
- default:
130
- return c === 0;
131
- }
132
- }));
133
- return understood ? result : undefined;
134
- }
135
- export function getEnvironmentWarnings(env, pairings = []) {
136
- const warnings = [];
137
- if (!env.hasPackageJson) {
138
- warnings.push(`No package.json found at or above ${env.projectPath}.`);
139
- return warnings;
140
- }
141
- if (!env.adaptable) {
142
- warnings.push('AdapTable is not installed in this project.');
143
- return warnings;
144
- }
145
- if (!env.adaptable.installed) {
146
- warnings.push('@adaptabletools/adaptable is declared but not installed; run your package manager install so checks can use the installed version.');
147
- }
148
- const enterprise = env.agGridPackages.find((p) => p.name === 'ag-grid-enterprise');
149
- const community = env.agGridPackages.find((p) => p.name === 'ag-grid-community');
150
- if (!enterprise) {
151
- warnings.push(community
152
- ? 'AdapTable requires ag-grid-enterprise; only ag-grid-community is declared.'
153
- : 'AdapTable requires ag-grid-enterprise, which is not declared in package.json.');
154
- }
155
- const enterpriseVersion = enterprise?.installed;
156
- if (enterpriseVersion && env.agGridPeer) {
157
- const ok = satisfies(enterpriseVersion, env.agGridPeer);
158
- if (ok === false) {
159
- warnings.push(`ag-grid-enterprise ${enterpriseVersion} does not satisfy AdapTable's peer range ${env.agGridPeer}.`);
160
- }
161
- }
162
- const agGridVersions = new Set(env.agGridPackages
163
- .filter((p) => p.name !== 'ag-stack' && p.installed)
164
- .map((p) => p.installed));
165
- if (agGridVersions.size > 1) {
166
- warnings.push(`AG Grid packages are on different versions (${[...agGridVersions].join(', ')}); keep them identical.`);
167
- }
168
- if (enterpriseVersion && env.adaptableMajor !== undefined) {
169
- const pairing = pairings.find((p) => Number(p.adaptableVersion.split('.')[0]) === env.adaptableMajor);
170
- const agGridMajor = Number(enterpriseVersion.split('.')[0]);
171
- if (pairing && pairing.agGridMajor !== agGridMajor) {
172
- warnings.push(`AdapTable ${env.adaptableMajor} is documented with AG Grid ${pairing.agGridMajor}; this project has AG Grid ${agGridMajor}.`);
173
- }
174
- }
175
- const adaptableVersions = new Set(env.adaptablePackages.filter((p) => p.installed).map((p) => p.installed));
176
- if (adaptableVersions.size > 1) {
177
- warnings.push(`@adaptabletools/* packages are on different versions (${[...adaptableVersions].join(', ')}); keep them identical.`);
178
- }
179
- return warnings;
180
- }
181
- //# sourceMappingURL=environment.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"environment.js","sourceRoot":"","sources":["../src/environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuBnD,MAAM,kBAAkB,GAA8B;IACpD,wCAAwC,EAAE,OAAO;IACjD,0CAA0C,EAAE,SAAS;IACrD,uCAAuC,EAAE,KAAK;CAC/C,CAAC;AAEF,SAAS,QAAQ,CAAC,IAAY;IAC5B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,WAAmB,EAAE,IAAY;IACjE,IAAI,GAAG,GAAG,WAAW,CAAC;IACtB,SAAS,CAAC;QACR,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QAClE,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACnB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;AACH,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,IAAI,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IACzB,SAAS,CAAC;QACR,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;YAC1C,OAAO,GAAG,CAAC;QACb,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACnB,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;QACD,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,MAAM,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;IACxD,MAAM,QAAQ,GAA2B;QACvC,GAAG,CAAC,GAAG,EAAE,gBAAgB,IAAI,EAAE,CAAC;QAChC,GAAG,CAAC,GAAG,EAAE,eAAe,IAAI,EAAE,CAAC;QAC/B,GAAG,CAAC,GAAG,EAAE,YAAY,IAAI,EAAE,CAAC;KAC7B,CAAC;IACF,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,CAAC,IAAY,EAAe,EAAE,CAAC,CAAC;QAC3C,IAAI;QACJ,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC;QACxB,SAAS,EAAE,wBAAwB,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,OAAO;KAChE,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,KAAK;SAC5B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,+BAA+B,CAAC;SACxF,GAAG,CAAC,IAAI,CAAC,CAAC;IACb,MAAM,cAAc,GAAG,KAAK;SACzB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,UAAU,IAAI,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;SACxF,GAAG,CAAC,IAAI,CAAC,CAAC;IAEb,MAAM,SAAS,GACb,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,2BAA2B,CAAC;QACrE,CAAC,wBAAwB,CAAC,WAAW,EAAE,2BAA2B,CAAC;YACjE,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC;YACnC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,SAAS,EAAE,SAAS,IAAI,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/F,MAAM,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE3E,MAAM,SAAS,GACb,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAE/F,MAAM,UAAU,GAAG,wBAAwB,CAAC,WAAW,EAAE,2BAA2B,CAAC;QACnF,EAAE,gBAAgB,EAAE,CAAC,oBAAoB,CAAC,CAAC;IAE7C,OAAO;QACL,WAAW;QACX,cAAc,EAAE,CAAC,CAAC,GAAG;QACrB,SAAS;QACT,SAAS;QACT,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;QAC5E,iBAAiB;QACjB,cAAc;QACd,UAAU;KACX,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,OAAe;IACnC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACnD,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACxD,CAAC;AAED,SAAS,OAAO,CAAC,CAAW,EAAE,CAAW;IACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAClB,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,OAAe,EAAE,KAAa;IACtD,MAAM,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAChC,IAAI,CAAC,CAAC,EAAE,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7F,IAAI,UAAU,GAAG,IAAI,CAAC;IACtB,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAC/C,WAAW,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE;QAC/B,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;QACxE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,UAAU,GAAG,KAAK,CAAC;YACnB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,CAAC;QACvC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAC7B,QAAQ,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACjB,KAAK,IAAI;gBACP,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,KAAK,IAAI;gBACP,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,KAAK,GAAG;gBACN,OAAO,CAAC,GAAG,CAAC,CAAC;YACf,KAAK,GAAG;gBACN,OAAO,CAAC,GAAG,CAAC,CAAC;YACf,KAAK,GAAG;gBACN,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC;YACtC,KAAK,GAAG;gBACN,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC;YAC5D;gBACE,OAAO,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IACF,OAAO,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,GAAgB,EAChB,WAAgE,EAAE;IAElE,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;QACxB,QAAQ,CAAC,IAAI,CAAC,qCAAqC,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC;QACvE,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACnB,QAAQ,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QAC7D,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QAC7B,QAAQ,CAAC,IAAI,CACX,oIAAoI,CACrI,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,oBAAoB,CAAC,CAAC;IACnF,MAAM,SAAS,GAAG,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,mBAAmB,CAAC,CAAC;IACjF,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,QAAQ,CAAC,IAAI,CACX,SAAS;YACP,CAAC,CAAC,4EAA4E;YAC9E,CAAC,CAAC,+EAA+E,CACpF,CAAC;IACJ,CAAC;IACD,MAAM,iBAAiB,GAAG,UAAU,EAAE,SAAS,CAAC;IAChD,IAAI,iBAAiB,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QACxC,MAAM,EAAE,GAAG,SAAS,CAAC,iBAAiB,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;QACxD,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;YACjB,QAAQ,CAAC,IAAI,CACX,sBAAsB,iBAAiB,4CAA4C,GAAG,CAAC,UAAU,GAAG,CACrG,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,GAAG,CAC5B,GAAG,CAAC,cAAc;SACf,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,SAAS,CAAC;SACnD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAC3B,CAAC;IACF,IAAI,cAAc,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAC5B,QAAQ,CAAC,IAAI,CACX,+CAA+C,CAAC,GAAG,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CACvG,CAAC;IACJ,CAAC;IAED,IAAI,iBAAiB,IAAI,GAAG,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QAC1D,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAC3B,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,cAAc,CACvE,CAAC;QACF,MAAM,WAAW,GAAG,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,IAAI,OAAO,IAAI,OAAO,CAAC,WAAW,KAAK,WAAW,EAAE,CAAC;YACnD,QAAQ,CAAC,IAAI,CACX,aAAa,GAAG,CAAC,cAAc,+BAA+B,OAAO,CAAC,WAAW,8BAA8B,WAAW,GAAG,CAC9H,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAC/B,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CACzE,CAAC;IACF,IAAI,iBAAiB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAC/B,QAAQ,CAAC,IAAI,CACX,yDAAyD,CAAC,GAAG,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CACpH,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
package/dist/index.js DELETED
@@ -1,7 +0,0 @@
1
- #!/usr/bin/env node
2
- import { readFileSync } from 'node:fs';
3
- import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
4
- import { createServer } from './server.js';
5
- const { version } = JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf8'));
6
- await createServer(version).connect(new StdioServerTransport());
7
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAC5B,YAAY,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAC3C,CAAC;AAEzB,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,oBAAoB,EAAE,CAAC,CAAC"}
package/dist/prompts.js DELETED
@@ -1,84 +0,0 @@
1
- import { z } from 'zod';
2
- import { resolveEnvironment } from './context.js';
3
- import { loadCorpus } from './docs/source.js';
4
- const INSTALL_PAGES = {
5
- vanilla: 'getting-started-installation',
6
- react: 'react-installation',
7
- angular: 'angular-installation',
8
- vue: 'vue-installation',
9
- };
10
- const INTEGRATION_PAGES = {
11
- vanilla: 'getting-started-integration',
12
- react: 'react-integration',
13
- angular: 'angular-integration',
14
- vue: 'vue-integration',
15
- };
16
- const PLACEMENT = `Put each setting in the right place:
17
- - Adaptable Options: design-time configuration the user cannot change (primaryKey, licenseKey, adaptableId, module options such as layoutOptions, custom functions).
18
- - Initial State (\`initialState\` in Adaptable Options): objects the user can edit and that are persisted (Layouts, Calculated Columns, Format Columns, Alerts, Named Queries, ...). There is no PredefinedConfig.
19
- - Adaptable API: runtime changes from application code, after AdapTable is ready.`;
20
- const userMessage = (text) => ({
21
- messages: [{ role: 'user', content: { type: 'text', text } }],
22
- });
23
- /** `version-240-release-note` is 24, `version-17-release-note` is 17 */
24
- const releaseNoteMajor = (routePath) => {
25
- const match = routePath.match(/\/version-(\d+)-release-note$/);
26
- if (!match) {
27
- return undefined;
28
- }
29
- const n = Number(match[1]);
30
- return n >= 100 ? Math.floor(n / 10) : n;
31
- };
32
- export function registerPrompts(server) {
33
- server.registerPrompt('setup-adaptable', {
34
- title: 'Set up AdapTable',
35
- description: 'Add AdapTable to an AG Grid project: packages, CSS, AG Grid modules, minimal Adaptable Options and one Layout',
36
- argsSchema: {
37
- framework: z.string().optional().describe('vanilla, react, angular or vue; defaults to the detected framework'),
38
- },
39
- }, async ({ framework: requested }) => {
40
- const env = await resolveEnvironment(server);
41
- const framework = requested && INSTALL_PAGES[requested] ? requested : (env.framework ?? 'vanilla');
42
- return userMessage(`Set up AdapTable (${framework}) in this project.
43
-
44
- 1. Call detect_environment and fix any warnings it reports (AdapTable needs ag-grid-enterprise, at the documented AG Grid version).
45
- 2. Read get_doc("${INSTALL_PAGES[framework]}") and get_doc("${INTEGRATION_PAGES[framework]}"), then get_doc("getting-started-aggrid-modules") and get_doc("getting-started-license-key"). Follow them exactly for packages, CSS imports and AG Grid modules; do not rely on memory, older versions differ.
46
- 3. Write minimal Adaptable Options: primaryKey (a unique column), adaptableId, licenseKey, and an initialState with one Table Layout listing the grid's columns in TableColumns.
47
- 4. ${PLACEMENT}
48
- 5. Run check_state on the initialState, passing the columns from columnDefs, and fix every error.
49
- 6. For AG Grid itself (columnDefs, AG Grid modules, row models, grid options) use the ag-mcp server.
50
-
51
- Cite the docs URLs you used.`);
52
- });
53
- server.registerPrompt('upgrade-adaptable', {
54
- title: 'Upgrade AdapTable',
55
- description: 'Upgrade a project to a newer AdapTable major version: release-note breaking changes, state and expression migration',
56
- argsSchema: {
57
- from: z.string().describe('Current AdapTable major version, e.g. 22'),
58
- to: z.string().optional().describe('Target major version; defaults to the latest documented one'),
59
- },
60
- }, async ({ from, to }) => {
61
- const env = await resolveEnvironment(server);
62
- const corpus = await loadCorpus(undefined);
63
- const fromMajor = Number.parseInt(from, 10);
64
- const toMajor = to ? Number.parseInt(to, 10) : corpus.manifest.major;
65
- const notes = [...corpus.pages.keys()]
66
- .map((routePath) => ({ routePath, major: releaseNoteMajor(routePath) }))
67
- .filter(({ major }) => major !== undefined && major > fromMajor && major <= toMajor)
68
- .sort((a, b) => a.routePath.localeCompare(b.routePath, 'en', { numeric: true }))
69
- .map(({ routePath }) => `- get_doc("${routePath.replace('/support/', '')}")`);
70
- const installed = env.adaptableMajor;
71
- return userMessage(`Upgrade AdapTable in this project from version ${fromMajor} to ${toMajor}.
72
-
73
- 1. Call detect_environment. ${installed === toMajor ? `AdapTable ${toMajor} is installed.` : `Then update every @adaptabletools/* package to ${toMajor} (all to the same version), and AG Grid to the version get_doc("release-schedule") pairs with AdapTable ${toMajor}; install, and call detect_environment again.`}
74
- 2. Read the release note of every version in between and apply each breaking change that affects this code (renamed or removed options, API changes, state shape changes):
75
- ${notes.length ? notes.join('\n') : '- (no release notes found in the docs for this range)'}
76
- 3. Find every Initial State object (\`initialState\`) in the code. For each, call migrate_state with fromVersion ${fromMajor}, replace it with the migrated result (keep code that cannot be JSON, such as functions, by hand), then run check_state with the grid's columns and fix every error.
77
- 4. Find every AdapTableQL expression outside state (e.g. strings passed to the Adaptable API) and run migrate_expression, then check_expression.
78
- 5. Search the code for options the release notes rename or remove; use search_docs to find their current place.
79
- 6. Build and type-check the project; fix what the compiler reports.
80
-
81
- Summarise the changes, with the release-note URLs that required them.`);
82
- });
83
- }
84
- //# sourceMappingURL=prompts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"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"}
package/dist/resources.js DELETED
@@ -1,59 +0,0 @@
1
- import { ResourceTemplate } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- import { loadEntry } from './adaptable/loadEntry.js';
3
- import { resolveEnvironment, resolveProjectPath } from './context.js';
4
- import { filterFramework } from './docs/corpus.js';
5
- import { loadCorpus } from './docs/source.js';
6
- import { findPage } from './tools/docs.js';
7
- const single = (value) => (Array.isArray(value) ? value[0] : value);
8
- export function registerResources(server) {
9
- const readPage = async (uri, major, routePath) => {
10
- const corpus = await loadCorpus(Number(major) || undefined);
11
- if (corpus.manifest.major !== Number(major)) {
12
- throw new Error(`Docs for AdapTable ${major} are not available (found ${corpus.manifest.major} at ${corpus.origin}).`);
13
- }
14
- const page = findPage(corpus, routePath);
15
- if (!page) {
16
- throw new Error(`No docs page ${routePath}`);
17
- }
18
- const env = await resolveEnvironment(server);
19
- return {
20
- contents: [
21
- {
22
- uri: uri.href,
23
- mimeType: 'text/markdown',
24
- text: filterFramework(page.markdown, env.framework),
25
- },
26
- ],
27
- };
28
- };
29
- server.registerResource('docs-page', new ResourceTemplate('adaptable://docs/{major}/{slug}', { list: undefined }), {
30
- title: 'AdapTable docs page',
31
- description: 'Markdown of a docs page, e.g. adaptable://docs/24/handbook-layouts; sections for other frameworks are removed',
32
- mimeType: 'text/markdown',
33
- }, (uri, { major, slug }) => readPage(uri, single(major), `/docs/${single(slug)}`));
34
- server.registerResource('api-reference', new ResourceTemplate('adaptable://api/{major}/{typeName}', { list: undefined }), {
35
- title: 'AdapTable API reference',
36
- description: 'Reference page of an AdapTable type, e.g. adaptable://api/24/LayoutApi',
37
- mimeType: 'text/markdown',
38
- }, (uri, { major, typeName }) => readPage(uri, single(major), `/docs/reference/${single(typeName).toLowerCase()}`));
39
- server.registerResource('aql-functions', 'adaptable://aql/functions', {
40
- title: 'AdapTableQL functions',
41
- description: 'Every built-in AdapTableQL function, aggregation, observable function and clause of the installed AdapTable version (JSON)',
42
- mimeType: 'application/json',
43
- }, async (uri) => {
44
- const loaded = await loadEntry(await resolveProjectPath(server), 'aql');
45
- if (!loaded.ok) {
46
- throw new Error(loaded.reason);
47
- }
48
- return {
49
- contents: [
50
- {
51
- uri: uri.href,
52
- mimeType: 'application/json',
53
- text: JSON.stringify(loaded.module.getExpressionFunctionCatalogue(), null, 2),
54
- },
55
- ],
56
- };
57
- });
58
- }
59
- //# sourceMappingURL=resources.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resources.js","sourceRoot":"","sources":["../src/resources.ts"],"names":[],"mappings":"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"}
package/dist/server.js DELETED
@@ -1,23 +0,0 @@
1
- import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- import { registerPrompts } from './prompts.js';
3
- import { registerResources } from './resources.js';
4
- import { registerCheckTools } from './tools/checks.js';
5
- import { registerDocsTools } from './tools/docs.js';
6
- import { registerEnvironmentTools } from './tools/environment.js';
7
- export const SERVER_INSTRUCTIONS = `AdapTable is an AG Grid Enterprise extension. Its APIs, state shapes and AdapTableQL syntax change between major versions, and older material (including your training data) is often wrong for the version a project uses.
8
-
9
- - Call detect_environment first; every other tool uses the version and framework it finds.
10
- - Look things up with search_docs / get_doc before writing AdapTable config; cite the URLs.
11
- - Run check_expression (passing the module the expression is used in) on every AdapTableQL expression and check_state on Initial State before presenting them; fix every error.
12
- - For upgrades, use migrate_state and migrate_expression rather than rewriting by hand.
13
- - AdapTable questions belong here; AG Grid questions (columnDefs, AG Grid modules, row models, grid API) belong to AG Grid's ag-mcp.`;
14
- export function createServer(version) {
15
- const server = new McpServer({ name: 'adaptable-mcp', version }, { instructions: SERVER_INSTRUCTIONS });
16
- registerEnvironmentTools(server);
17
- registerDocsTools(server);
18
- registerCheckTools(server);
19
- registerResources(server);
20
- registerPrompts(server);
21
- return server;
22
- }
23
- //# sourceMappingURL=server.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAElE,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;qIAMkG,CAAC;AAEtI,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,EAClC,EAAE,YAAY,EAAE,mBAAmB,EAAE,CACtC,CAAC;IACF,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACjC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC3B,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,eAAe,CAAC,MAAM,CAAC,CAAC;IACxB,OAAO,MAAM,CAAC;AAChB,CAAC"}