distill-mcp 0.6.0-beta

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 (440) hide show
  1. package/bin/cli.js +133 -0
  2. package/dist/analytics/session-tracker.d.ts +74 -0
  3. package/dist/analytics/session-tracker.d.ts.map +1 -0
  4. package/dist/analytics/session-tracker.js +123 -0
  5. package/dist/ast/benchmark.test.d.ts +7 -0
  6. package/dist/ast/benchmark.test.d.ts.map +1 -0
  7. package/dist/ast/benchmark.test.js +175 -0
  8. package/dist/ast/go/index.d.ts +9 -0
  9. package/dist/ast/go/index.d.ts.map +1 -0
  10. package/dist/ast/go/index.js +8 -0
  11. package/dist/ast/go/parser.d.ts +31 -0
  12. package/dist/ast/go/parser.d.ts.map +1 -0
  13. package/dist/ast/go/parser.js +428 -0
  14. package/dist/ast/go/parser.test.d.ts +5 -0
  15. package/dist/ast/go/parser.test.d.ts.map +1 -0
  16. package/dist/ast/go/parser.test.js +241 -0
  17. package/dist/ast/go/queries.d.ts +51 -0
  18. package/dist/ast/go/queries.d.ts.map +1 -0
  19. package/dist/ast/go/queries.js +114 -0
  20. package/dist/ast/go/utils.d.ts +66 -0
  21. package/dist/ast/go/utils.d.ts.map +1 -0
  22. package/dist/ast/go/utils.js +140 -0
  23. package/dist/ast/index.d.ts +39 -0
  24. package/dist/ast/index.d.ts.map +1 -0
  25. package/dist/ast/index.js +245 -0
  26. package/dist/ast/php/index.d.ts +9 -0
  27. package/dist/ast/php/index.d.ts.map +1 -0
  28. package/dist/ast/php/index.js +8 -0
  29. package/dist/ast/php/parser.d.ts +31 -0
  30. package/dist/ast/php/parser.d.ts.map +1 -0
  31. package/dist/ast/php/parser.js +388 -0
  32. package/dist/ast/php/parser.test.d.ts +5 -0
  33. package/dist/ast/php/parser.test.d.ts.map +1 -0
  34. package/dist/ast/php/parser.test.js +328 -0
  35. package/dist/ast/php/queries.d.ts +61 -0
  36. package/dist/ast/php/queries.d.ts.map +1 -0
  37. package/dist/ast/php/queries.js +117 -0
  38. package/dist/ast/php/utils.d.ts +83 -0
  39. package/dist/ast/php/utils.d.ts.map +1 -0
  40. package/dist/ast/php/utils.js +246 -0
  41. package/dist/ast/python/index.d.ts +9 -0
  42. package/dist/ast/python/index.d.ts.map +1 -0
  43. package/dist/ast/python/index.js +8 -0
  44. package/dist/ast/python/parser.d.ts +32 -0
  45. package/dist/ast/python/parser.d.ts.map +1 -0
  46. package/dist/ast/python/parser.js +422 -0
  47. package/dist/ast/python/parser.test.d.ts +5 -0
  48. package/dist/ast/python/parser.test.d.ts.map +1 -0
  49. package/dist/ast/python/parser.test.js +186 -0
  50. package/dist/ast/python/queries.d.ts +73 -0
  51. package/dist/ast/python/queries.d.ts.map +1 -0
  52. package/dist/ast/python/queries.js +137 -0
  53. package/dist/ast/python/utils.d.ts +63 -0
  54. package/dist/ast/python/utils.d.ts.map +1 -0
  55. package/dist/ast/python/utils.js +159 -0
  56. package/dist/ast/quick-scan.d.ts +40 -0
  57. package/dist/ast/quick-scan.d.ts.map +1 -0
  58. package/dist/ast/quick-scan.js +287 -0
  59. package/dist/ast/rust/index.d.ts +9 -0
  60. package/dist/ast/rust/index.d.ts.map +1 -0
  61. package/dist/ast/rust/index.js +8 -0
  62. package/dist/ast/rust/parser.d.ts +31 -0
  63. package/dist/ast/rust/parser.d.ts.map +1 -0
  64. package/dist/ast/rust/parser.js +416 -0
  65. package/dist/ast/rust/parser.test.d.ts +5 -0
  66. package/dist/ast/rust/parser.test.d.ts.map +1 -0
  67. package/dist/ast/rust/parser.test.js +329 -0
  68. package/dist/ast/rust/queries.d.ts +66 -0
  69. package/dist/ast/rust/queries.d.ts.map +1 -0
  70. package/dist/ast/rust/queries.js +132 -0
  71. package/dist/ast/rust/utils.d.ts +91 -0
  72. package/dist/ast/rust/utils.d.ts.map +1 -0
  73. package/dist/ast/rust/utils.js +254 -0
  74. package/dist/ast/swift/index.d.ts +10 -0
  75. package/dist/ast/swift/index.d.ts.map +1 -0
  76. package/dist/ast/swift/index.js +8 -0
  77. package/dist/ast/swift/parser.d.ts +31 -0
  78. package/dist/ast/swift/parser.d.ts.map +1 -0
  79. package/dist/ast/swift/parser.js +554 -0
  80. package/dist/ast/swift/parser.test.d.ts +5 -0
  81. package/dist/ast/swift/parser.test.d.ts.map +1 -0
  82. package/dist/ast/swift/parser.test.js +398 -0
  83. package/dist/ast/swift/queries.d.ts +71 -0
  84. package/dist/ast/swift/queries.d.ts.map +1 -0
  85. package/dist/ast/swift/queries.js +137 -0
  86. package/dist/ast/swift/utils.d.ts +94 -0
  87. package/dist/ast/swift/utils.d.ts.map +1 -0
  88. package/dist/ast/swift/utils.js +411 -0
  89. package/dist/ast/types.d.ts +96 -0
  90. package/dist/ast/types.d.ts.map +1 -0
  91. package/dist/ast/types.js +21 -0
  92. package/dist/ast/typescript.d.ts +24 -0
  93. package/dist/ast/typescript.d.ts.map +1 -0
  94. package/dist/ast/typescript.js +357 -0
  95. package/dist/cache/file-hash.d.ts +33 -0
  96. package/dist/cache/file-hash.d.ts.map +1 -0
  97. package/dist/cache/file-hash.js +59 -0
  98. package/dist/cache/index.d.ts +9 -0
  99. package/dist/cache/index.d.ts.map +1 -0
  100. package/dist/cache/index.js +8 -0
  101. package/dist/cache/smart-cache.d.ts +68 -0
  102. package/dist/cache/smart-cache.d.ts.map +1 -0
  103. package/dist/cache/smart-cache.js +266 -0
  104. package/dist/cache/types.d.ts +102 -0
  105. package/dist/cache/types.d.ts.map +1 -0
  106. package/dist/cache/types.js +6 -0
  107. package/dist/cli/analyze.d.ts +43 -0
  108. package/dist/cli/analyze.d.ts.map +1 -0
  109. package/dist/cli/analyze.js +250 -0
  110. package/dist/cli/doctor.d.ts +2 -0
  111. package/dist/cli/doctor.d.ts.map +1 -0
  112. package/dist/cli/doctor.js +127 -0
  113. package/dist/cli/hooks.d.ts +14 -0
  114. package/dist/cli/hooks.d.ts.map +1 -0
  115. package/dist/cli/hooks.js +229 -0
  116. package/dist/cli/index.d.ts +5 -0
  117. package/dist/cli/index.d.ts.map +1 -0
  118. package/dist/cli/index.js +4 -0
  119. package/dist/cli/setup.d.ts +10 -0
  120. package/dist/cli/setup.d.ts.map +1 -0
  121. package/dist/cli/setup.js +117 -0
  122. package/dist/cli/utils.d.ts +30 -0
  123. package/dist/cli/utils.d.ts.map +1 -0
  124. package/dist/cli/utils.js +116 -0
  125. package/dist/compressors/config.d.ts +9 -0
  126. package/dist/compressors/config.d.ts.map +1 -0
  127. package/dist/compressors/config.js +183 -0
  128. package/dist/compressors/conversation.d.ts +109 -0
  129. package/dist/compressors/conversation.d.ts.map +1 -0
  130. package/dist/compressors/conversation.js +404 -0
  131. package/dist/compressors/diff.d.ts +35 -0
  132. package/dist/compressors/diff.d.ts.map +1 -0
  133. package/dist/compressors/diff.js +389 -0
  134. package/dist/compressors/generic.d.ts +9 -0
  135. package/dist/compressors/generic.d.ts.map +1 -0
  136. package/dist/compressors/generic.js +188 -0
  137. package/dist/compressors/index.d.ts +31 -0
  138. package/dist/compressors/index.d.ts.map +1 -0
  139. package/dist/compressors/index.js +82 -0
  140. package/dist/compressors/logs.d.ts +9 -0
  141. package/dist/compressors/logs.d.ts.map +1 -0
  142. package/dist/compressors/logs.js +245 -0
  143. package/dist/compressors/multifile.d.ts +106 -0
  144. package/dist/compressors/multifile.d.ts.map +1 -0
  145. package/dist/compressors/multifile.js +498 -0
  146. package/dist/compressors/semantic.d.ts +33 -0
  147. package/dist/compressors/semantic.d.ts.map +1 -0
  148. package/dist/compressors/semantic.js +233 -0
  149. package/dist/compressors/stacktrace.d.ts +9 -0
  150. package/dist/compressors/stacktrace.d.ts.map +1 -0
  151. package/dist/compressors/stacktrace.js +259 -0
  152. package/dist/compressors/types.d.ts +146 -0
  153. package/dist/compressors/types.d.ts.map +1 -0
  154. package/dist/compressors/types.js +6 -0
  155. package/dist/config/output-config.d.ts +56 -0
  156. package/dist/config/output-config.d.ts.map +1 -0
  157. package/dist/config/output-config.js +78 -0
  158. package/dist/index.d.ts +21 -0
  159. package/dist/index.d.ts.map +1 -0
  160. package/dist/index.js +27 -0
  161. package/dist/middleware/chain.d.ts +49 -0
  162. package/dist/middleware/chain.d.ts.map +1 -0
  163. package/dist/middleware/chain.js +126 -0
  164. package/dist/middleware/index.d.ts +4 -0
  165. package/dist/middleware/index.d.ts.map +1 -0
  166. package/dist/middleware/index.js +3 -0
  167. package/dist/middleware/logging.d.ts +8 -0
  168. package/dist/middleware/logging.d.ts.map +1 -0
  169. package/dist/middleware/logging.js +71 -0
  170. package/dist/middleware/types.d.ts +58 -0
  171. package/dist/middleware/types.d.ts.map +1 -0
  172. package/dist/middleware/types.js +7 -0
  173. package/dist/parsers/eslint.d.ts +8 -0
  174. package/dist/parsers/eslint.d.ts.map +1 -0
  175. package/dist/parsers/eslint.js +132 -0
  176. package/dist/parsers/generic.d.ts +8 -0
  177. package/dist/parsers/generic.d.ts.map +1 -0
  178. package/dist/parsers/generic.js +234 -0
  179. package/dist/parsers/index.d.ts +34 -0
  180. package/dist/parsers/index.d.ts.map +1 -0
  181. package/dist/parsers/index.js +216 -0
  182. package/dist/parsers/types.d.ts +84 -0
  183. package/dist/parsers/types.d.ts.map +1 -0
  184. package/dist/parsers/types.js +6 -0
  185. package/dist/parsers/typescript.d.ts +8 -0
  186. package/dist/parsers/typescript.d.ts.map +1 -0
  187. package/dist/parsers/typescript.js +107 -0
  188. package/dist/pipelines/definitions.d.ts +50 -0
  189. package/dist/pipelines/definitions.d.ts.map +1 -0
  190. package/dist/pipelines/definitions.js +206 -0
  191. package/dist/sandbox/executor.d.ts +12 -0
  192. package/dist/sandbox/executor.d.ts.map +1 -0
  193. package/dist/sandbox/executor.js +191 -0
  194. package/dist/sandbox/index.d.ts +11 -0
  195. package/dist/sandbox/index.d.ts.map +1 -0
  196. package/dist/sandbox/index.js +9 -0
  197. package/dist/sandbox/sandbox.test.d.ts +7 -0
  198. package/dist/sandbox/sandbox.test.d.ts.map +1 -0
  199. package/dist/sandbox/sandbox.test.js +202 -0
  200. package/dist/sandbox/sdk/analyze.d.ts +36 -0
  201. package/dist/sandbox/sdk/analyze.d.ts.map +1 -0
  202. package/dist/sandbox/sdk/analyze.js +413 -0
  203. package/dist/sandbox/sdk/analyze.test.d.ts +7 -0
  204. package/dist/sandbox/sdk/analyze.test.d.ts.map +1 -0
  205. package/dist/sandbox/sdk/analyze.test.js +191 -0
  206. package/dist/sandbox/sdk/code.d.ts +20 -0
  207. package/dist/sandbox/sdk/code.d.ts.map +1 -0
  208. package/dist/sandbox/sdk/code.js +104 -0
  209. package/dist/sandbox/sdk/compress.d.ts +23 -0
  210. package/dist/sandbox/sdk/compress.d.ts.map +1 -0
  211. package/dist/sandbox/sdk/compress.js +107 -0
  212. package/dist/sandbox/sdk/conversation.d.ts +148 -0
  213. package/dist/sandbox/sdk/conversation.d.ts.map +1 -0
  214. package/dist/sandbox/sdk/conversation.js +177 -0
  215. package/dist/sandbox/sdk/files.d.ts +29 -0
  216. package/dist/sandbox/sdk/files.d.ts.map +1 -0
  217. package/dist/sandbox/sdk/files.js +41 -0
  218. package/dist/sandbox/sdk/git.d.ts +37 -0
  219. package/dist/sandbox/sdk/git.d.ts.map +1 -0
  220. package/dist/sandbox/sdk/git.js +313 -0
  221. package/dist/sandbox/sdk/git.test.d.ts +8 -0
  222. package/dist/sandbox/sdk/git.test.d.ts.map +1 -0
  223. package/dist/sandbox/sdk/git.test.js +160 -0
  224. package/dist/sandbox/sdk/index.d.ts +16 -0
  225. package/dist/sandbox/sdk/index.d.ts.map +1 -0
  226. package/dist/sandbox/sdk/index.js +15 -0
  227. package/dist/sandbox/sdk/multifile.d.ts +63 -0
  228. package/dist/sandbox/sdk/multifile.d.ts.map +1 -0
  229. package/dist/sandbox/sdk/multifile.js +130 -0
  230. package/dist/sandbox/sdk/pipeline.d.ts +16 -0
  231. package/dist/sandbox/sdk/pipeline.d.ts.map +1 -0
  232. package/dist/sandbox/sdk/pipeline.js +454 -0
  233. package/dist/sandbox/sdk/pipeline.test.d.ts +7 -0
  234. package/dist/sandbox/sdk/pipeline.test.d.ts.map +1 -0
  235. package/dist/sandbox/sdk/pipeline.test.js +197 -0
  236. package/dist/sandbox/sdk/search.d.ts +36 -0
  237. package/dist/sandbox/sdk/search.d.ts.map +1 -0
  238. package/dist/sandbox/sdk/search.js +338 -0
  239. package/dist/sandbox/sdk/search.test.d.ts +7 -0
  240. package/dist/sandbox/sdk/search.test.d.ts.map +1 -0
  241. package/dist/sandbox/sdk/search.test.js +183 -0
  242. package/dist/sandbox/sdk/utils.d.ts +18 -0
  243. package/dist/sandbox/sdk/utils.d.ts.map +1 -0
  244. package/dist/sandbox/sdk/utils.js +24 -0
  245. package/dist/sandbox/security/code-analyzer.d.ts +15 -0
  246. package/dist/sandbox/security/code-analyzer.d.ts.map +1 -0
  247. package/dist/sandbox/security/code-analyzer.js +87 -0
  248. package/dist/sandbox/security/index.d.ts +6 -0
  249. package/dist/sandbox/security/index.d.ts.map +1 -0
  250. package/dist/sandbox/security/index.js +5 -0
  251. package/dist/sandbox/security/path-validator.d.ts +23 -0
  252. package/dist/sandbox/security/path-validator.d.ts.map +1 -0
  253. package/dist/sandbox/security/path-validator.js +113 -0
  254. package/dist/sandbox/types.d.ts +577 -0
  255. package/dist/sandbox/types.d.ts.map +1 -0
  256. package/dist/sandbox/types.js +14 -0
  257. package/dist/server.d.ts +36 -0
  258. package/dist/server.d.ts.map +1 -0
  259. package/dist/server.js +133 -0
  260. package/dist/summarizers/build-logs.d.ts +11 -0
  261. package/dist/summarizers/build-logs.d.ts.map +1 -0
  262. package/dist/summarizers/build-logs.js +234 -0
  263. package/dist/summarizers/generic.d.ts +11 -0
  264. package/dist/summarizers/generic.d.ts.map +1 -0
  265. package/dist/summarizers/generic.js +93 -0
  266. package/dist/summarizers/index.d.ts +20 -0
  267. package/dist/summarizers/index.d.ts.map +1 -0
  268. package/dist/summarizers/index.js +43 -0
  269. package/dist/summarizers/server-logs.d.ts +11 -0
  270. package/dist/summarizers/server-logs.d.ts.map +1 -0
  271. package/dist/summarizers/server-logs.js +215 -0
  272. package/dist/summarizers/test-logs.d.ts +11 -0
  273. package/dist/summarizers/test-logs.d.ts.map +1 -0
  274. package/dist/summarizers/test-logs.js +258 -0
  275. package/dist/summarizers/types.d.ts +146 -0
  276. package/dist/summarizers/types.d.ts.map +1 -0
  277. package/dist/summarizers/types.js +21 -0
  278. package/dist/tools/analyze-build-output.d.ts +30 -0
  279. package/dist/tools/analyze-build-output.d.ts.map +1 -0
  280. package/dist/tools/analyze-build-output.js +45 -0
  281. package/dist/tools/analyze-context.d.ts +23 -0
  282. package/dist/tools/analyze-context.d.ts.map +1 -0
  283. package/dist/tools/analyze-context.js +78 -0
  284. package/dist/tools/auto-optimize.d.ts +9 -0
  285. package/dist/tools/auto-optimize.d.ts.map +1 -0
  286. package/dist/tools/auto-optimize.js +191 -0
  287. package/dist/tools/code-execute.d.ts +9 -0
  288. package/dist/tools/code-execute.d.ts.map +1 -0
  289. package/dist/tools/code-execute.js +84 -0
  290. package/dist/tools/code-skeleton.d.ts +33 -0
  291. package/dist/tools/code-skeleton.d.ts.map +1 -0
  292. package/dist/tools/code-skeleton.js +206 -0
  293. package/dist/tools/compress-context.d.ts +33 -0
  294. package/dist/tools/compress-context.d.ts.map +1 -0
  295. package/dist/tools/compress-context.js +64 -0
  296. package/dist/tools/context-budget.d.ts +43 -0
  297. package/dist/tools/context-budget.d.ts.map +1 -0
  298. package/dist/tools/context-budget.js +260 -0
  299. package/dist/tools/context-budget.test.d.ts +5 -0
  300. package/dist/tools/context-budget.test.d.ts.map +1 -0
  301. package/dist/tools/context-budget.test.js +219 -0
  302. package/dist/tools/conversation-compress.d.ts +46 -0
  303. package/dist/tools/conversation-compress.d.ts.map +1 -0
  304. package/dist/tools/conversation-compress.js +78 -0
  305. package/dist/tools/conversation-memory.d.ts +75 -0
  306. package/dist/tools/conversation-memory.d.ts.map +1 -0
  307. package/dist/tools/conversation-memory.js +289 -0
  308. package/dist/tools/deduplicate-errors.d.ts +30 -0
  309. package/dist/tools/deduplicate-errors.d.ts.map +1 -0
  310. package/dist/tools/deduplicate-errors.js +72 -0
  311. package/dist/tools/detect-retry-loop.d.ts +40 -0
  312. package/dist/tools/detect-retry-loop.d.ts.map +1 -0
  313. package/dist/tools/detect-retry-loop.js +212 -0
  314. package/dist/tools/diff-compress.d.ts +40 -0
  315. package/dist/tools/diff-compress.d.ts.map +1 -0
  316. package/dist/tools/diff-compress.js +94 -0
  317. package/dist/tools/discover-tools.d.ts +11 -0
  318. package/dist/tools/discover-tools.d.ts.map +1 -0
  319. package/dist/tools/discover-tools.js +163 -0
  320. package/dist/tools/dynamic-loader.d.ts +131 -0
  321. package/dist/tools/dynamic-loader.d.ts.map +1 -0
  322. package/dist/tools/dynamic-loader.js +378 -0
  323. package/dist/tools/dynamic-loader.test.d.ts +10 -0
  324. package/dist/tools/dynamic-loader.test.d.ts.map +1 -0
  325. package/dist/tools/dynamic-loader.test.js +164 -0
  326. package/dist/tools/lazy-mcp.d.ts +31 -0
  327. package/dist/tools/lazy-mcp.d.ts.map +1 -0
  328. package/dist/tools/lazy-mcp.js +151 -0
  329. package/dist/tools/lazy-mcp.test.d.ts +10 -0
  330. package/dist/tools/lazy-mcp.test.d.ts.map +1 -0
  331. package/dist/tools/lazy-mcp.test.js +172 -0
  332. package/dist/tools/multifile-compress.d.ts +36 -0
  333. package/dist/tools/multifile-compress.d.ts.map +1 -0
  334. package/dist/tools/multifile-compress.js +223 -0
  335. package/dist/tools/optimization-tips.d.ts +18 -0
  336. package/dist/tools/optimization-tips.d.ts.map +1 -0
  337. package/dist/tools/optimization-tips.js +133 -0
  338. package/dist/tools/registry.d.ts +70 -0
  339. package/dist/tools/registry.d.ts.map +1 -0
  340. package/dist/tools/registry.js +169 -0
  341. package/dist/tools/semantic-compress.d.ts +39 -0
  342. package/dist/tools/semantic-compress.d.ts.map +1 -0
  343. package/dist/tools/semantic-compress.js +113 -0
  344. package/dist/tools/semantic-compress.test.d.ts +5 -0
  345. package/dist/tools/semantic-compress.test.d.ts.map +1 -0
  346. package/dist/tools/semantic-compress.test.js +182 -0
  347. package/dist/tools/session-stats.d.ts +34 -0
  348. package/dist/tools/session-stats.d.ts.map +1 -0
  349. package/dist/tools/session-stats.js +194 -0
  350. package/dist/tools/set-output-config.d.ts +38 -0
  351. package/dist/tools/set-output-config.d.ts.map +1 -0
  352. package/dist/tools/set-output-config.js +122 -0
  353. package/dist/tools/smart-cache-tool.d.ts +38 -0
  354. package/dist/tools/smart-cache-tool.d.ts.map +1 -0
  355. package/dist/tools/smart-cache-tool.js +224 -0
  356. package/dist/tools/smart-file-read.d.ts +52 -0
  357. package/dist/tools/smart-file-read.d.ts.map +1 -0
  358. package/dist/tools/smart-file-read.js +481 -0
  359. package/dist/tools/smart-pipeline.d.ts +40 -0
  360. package/dist/tools/smart-pipeline.d.ts.map +1 -0
  361. package/dist/tools/smart-pipeline.js +295 -0
  362. package/dist/tools/summarize-logs.d.ts +36 -0
  363. package/dist/tools/summarize-logs.d.ts.map +1 -0
  364. package/dist/tools/summarize-logs.js +184 -0
  365. package/dist/tools/token-budget.test.d.ts +11 -0
  366. package/dist/tools/token-budget.test.d.ts.map +1 -0
  367. package/dist/tools/token-budget.test.js +275 -0
  368. package/dist/utils/bm25.d.ts +86 -0
  369. package/dist/utils/bm25.d.ts.map +1 -0
  370. package/dist/utils/bm25.js +153 -0
  371. package/dist/utils/bm25.test.d.ts +5 -0
  372. package/dist/utils/bm25.test.d.ts.map +1 -0
  373. package/dist/utils/bm25.test.js +156 -0
  374. package/dist/utils/command-normalizer.d.ts +39 -0
  375. package/dist/utils/command-normalizer.d.ts.map +1 -0
  376. package/dist/utils/command-normalizer.js +90 -0
  377. package/dist/utils/content-detector.d.ts +27 -0
  378. package/dist/utils/content-detector.d.ts.map +1 -0
  379. package/dist/utils/content-detector.js +127 -0
  380. package/dist/utils/embeddings.d.ts +54 -0
  381. package/dist/utils/embeddings.d.ts.map +1 -0
  382. package/dist/utils/embeddings.js +97 -0
  383. package/dist/utils/embeddings.test.d.ts +8 -0
  384. package/dist/utils/embeddings.test.d.ts.map +1 -0
  385. package/dist/utils/embeddings.test.js +96 -0
  386. package/dist/utils/error-normalizer.d.ts +39 -0
  387. package/dist/utils/error-normalizer.d.ts.map +1 -0
  388. package/dist/utils/error-normalizer.js +233 -0
  389. package/dist/utils/hybrid-search.d.ts +79 -0
  390. package/dist/utils/hybrid-search.d.ts.map +1 -0
  391. package/dist/utils/hybrid-search.js +146 -0
  392. package/dist/utils/hybrid-search.test.d.ts +5 -0
  393. package/dist/utils/hybrid-search.test.d.ts.map +1 -0
  394. package/dist/utils/hybrid-search.test.js +172 -0
  395. package/dist/utils/index.d.ts +13 -0
  396. package/dist/utils/index.d.ts.map +1 -0
  397. package/dist/utils/index.js +12 -0
  398. package/dist/utils/language-detector.d.ts +27 -0
  399. package/dist/utils/language-detector.d.ts.map +1 -0
  400. package/dist/utils/language-detector.js +94 -0
  401. package/dist/utils/log-parser.d.ts +46 -0
  402. package/dist/utils/log-parser.d.ts.map +1 -0
  403. package/dist/utils/log-parser.js +287 -0
  404. package/dist/utils/output-estimator.d.ts +54 -0
  405. package/dist/utils/output-estimator.d.ts.map +1 -0
  406. package/dist/utils/output-estimator.js +119 -0
  407. package/dist/utils/output-estimator.test.d.ts +5 -0
  408. package/dist/utils/output-estimator.test.d.ts.map +1 -0
  409. package/dist/utils/output-estimator.test.js +115 -0
  410. package/dist/utils/output-similarity.d.ts +48 -0
  411. package/dist/utils/output-similarity.d.ts.map +1 -0
  412. package/dist/utils/output-similarity.js +140 -0
  413. package/dist/utils/project-detector.d.ts +16 -0
  414. package/dist/utils/project-detector.d.ts.map +1 -0
  415. package/dist/utils/project-detector.js +119 -0
  416. package/dist/utils/segment-scorer.d.ts +99 -0
  417. package/dist/utils/segment-scorer.d.ts.map +1 -0
  418. package/dist/utils/segment-scorer.js +148 -0
  419. package/dist/utils/signature-grouper.d.ts +58 -0
  420. package/dist/utils/signature-grouper.d.ts.map +1 -0
  421. package/dist/utils/signature-grouper.js +185 -0
  422. package/dist/utils/tfidf.d.ts +45 -0
  423. package/dist/utils/tfidf.d.ts.map +1 -0
  424. package/dist/utils/tfidf.js +204 -0
  425. package/dist/utils/tfidf.test.d.ts +5 -0
  426. package/dist/utils/tfidf.test.d.ts.map +1 -0
  427. package/dist/utils/tfidf.test.js +115 -0
  428. package/dist/utils/token-counter.d.ts +35 -0
  429. package/dist/utils/token-counter.d.ts.map +1 -0
  430. package/dist/utils/token-counter.js +83 -0
  431. package/dist/utils/toon-serializer.d.ts +120 -0
  432. package/dist/utils/toon-serializer.d.ts.map +1 -0
  433. package/dist/utils/toon-serializer.js +472 -0
  434. package/dist/utils/toon-serializer.test.d.ts +7 -0
  435. package/dist/utils/toon-serializer.test.d.ts.map +1 -0
  436. package/dist/utils/toon-serializer.test.js +290 -0
  437. package/package.json +63 -0
  438. package/scripts/install.ps1 +133 -0
  439. package/scripts/install.sh +183 -0
  440. package/scripts/pre-commit-hook.sh +86 -0
@@ -0,0 +1,104 @@
1
+ /**
2
+ * SDK Code/AST Functions
3
+ *
4
+ * Wraps AST parsing functionality for sandbox use.
5
+ */
6
+ import { parseFile } from "../../ast/index.js";
7
+ /**
8
+ * Convert AST element to SDK element
9
+ */
10
+ function toCodeElement(el) {
11
+ return {
12
+ type: el.type,
13
+ name: el.name,
14
+ startLine: el.startLine,
15
+ endLine: el.endLine,
16
+ signature: el.signature,
17
+ documentation: el.documentation,
18
+ };
19
+ }
20
+ /**
21
+ * Parse code content to structure
22
+ */
23
+ export function codeParse(content, language) {
24
+ const parsed = parseFile(content, language);
25
+ return {
26
+ language,
27
+ functions: parsed.functions.map(toCodeElement),
28
+ classes: parsed.classes.map(toCodeElement),
29
+ interfaces: parsed.interfaces?.map(toCodeElement) || [],
30
+ types: parsed.types?.map(toCodeElement) || [],
31
+ variables: parsed.variables?.map(toCodeElement) || [],
32
+ imports: parsed.imports?.map(toCodeElement) || [],
33
+ exports: parsed.exports?.map(toCodeElement) || [],
34
+ };
35
+ }
36
+ /**
37
+ * Extract a specific element from code
38
+ */
39
+ export function codeExtract(content, language, target) {
40
+ const lines = content.split("\n");
41
+ const parsed = parseFile(content, language);
42
+ // Find matching element
43
+ const allElements = [
44
+ ...parsed.functions,
45
+ ...parsed.classes,
46
+ ...(parsed.interfaces || []),
47
+ ...(parsed.types || []),
48
+ ...(parsed.variables || []),
49
+ ];
50
+ const element = allElements.find((el) => el.type === target.type && el.name === target.name);
51
+ if (!element) {
52
+ return null;
53
+ }
54
+ // Extract lines
55
+ const start = element.startLine - 1; // 0-indexed
56
+ const end = element.endLine || element.startLine;
57
+ return lines.slice(start, end).join("\n");
58
+ }
59
+ /**
60
+ * Get code skeleton (signatures only)
61
+ */
62
+ export function codeSkeleton(content, language) {
63
+ const parsed = parseFile(content, language);
64
+ const lines = [];
65
+ // Imports (first 5)
66
+ if (parsed.imports && parsed.imports.length > 0) {
67
+ lines.push("// Imports:");
68
+ for (const imp of parsed.imports.slice(0, 5)) {
69
+ lines.push(`// ${imp.name}`);
70
+ }
71
+ if (parsed.imports.length > 5) {
72
+ lines.push(`// ... +${parsed.imports.length - 5} more`);
73
+ }
74
+ lines.push("");
75
+ }
76
+ // Classes
77
+ for (const cls of parsed.classes) {
78
+ const sig = cls.signature || `class ${cls.name}`;
79
+ lines.push(sig);
80
+ lines.push("");
81
+ }
82
+ // Interfaces
83
+ if (parsed.interfaces) {
84
+ for (const iface of parsed.interfaces) {
85
+ const sig = iface.signature || `interface ${iface.name}`;
86
+ lines.push(sig);
87
+ lines.push("");
88
+ }
89
+ }
90
+ // Types
91
+ if (parsed.types) {
92
+ for (const type of parsed.types) {
93
+ const sig = type.signature || `type ${type.name}`;
94
+ lines.push(sig);
95
+ lines.push("");
96
+ }
97
+ }
98
+ // Functions
99
+ for (const fn of parsed.functions) {
100
+ const sig = fn.signature || `function ${fn.name}()`;
101
+ lines.push(sig);
102
+ }
103
+ return lines.join("\n");
104
+ }
@@ -0,0 +1,23 @@
1
+ /**
2
+ * SDK Compress Functions
3
+ *
4
+ * Wraps compression functionality for sandbox use.
5
+ */
6
+ import type { CompressResult, LogSummary } from "../types.js";
7
+ /**
8
+ * Auto-detect content type and apply optimal compression
9
+ */
10
+ export declare function compressAuto(content: string, hint?: string): CompressResult;
11
+ /**
12
+ * Summarize log output
13
+ */
14
+ export declare function compressLogs(logs: string): LogSummary;
15
+ /**
16
+ * Compress git diff output
17
+ */
18
+ export declare function compressDiff(diff: string): CompressResult;
19
+ /**
20
+ * TF-IDF based semantic compression
21
+ */
22
+ export declare function compressSemantic(content: string, ratio?: number): CompressResult;
23
+ //# sourceMappingURL=compress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compress.d.ts","sourceRoot":"","sources":["../../../src/sandbox/sdk/compress.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9D;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,cAAc,CAmB3E;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAYrD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CA2CzD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,MAAY,GAAG,cAAc,CAiBrF"}
@@ -0,0 +1,107 @@
1
+ /**
2
+ * SDK Compress Functions
3
+ *
4
+ * Wraps compression functionality for sandbox use.
5
+ */
6
+ import { compressContent, analyzeContent, semanticCompressor } from "../../compressors/index.js";
7
+ import { getSummarizer } from "../../summarizers/index.js";
8
+ import { countTokens } from "../../utils/token-counter.js";
9
+ /**
10
+ * Auto-detect content type and apply optimal compression
11
+ */
12
+ export function compressAuto(content, hint) {
13
+ const analysis = analyzeContent(content);
14
+ const contentType = hint || analysis.detectedType;
15
+ const result = compressContent(content, {
16
+ contentType: contentType,
17
+ });
18
+ const originalTokens = countTokens(content);
19
+ const compressedTokens = countTokens(result.compressed);
20
+ return {
21
+ compressed: result.compressed,
22
+ stats: {
23
+ original: originalTokens,
24
+ compressed: compressedTokens,
25
+ reductionPercent: Math.round((1 - compressedTokens / originalTokens) * 100),
26
+ },
27
+ };
28
+ }
29
+ /**
30
+ * Summarize log output
31
+ */
32
+ export function compressLogs(logs) {
33
+ const summarizer = getSummarizer(logs);
34
+ const result = summarizer.summarize(logs, { detail: "normal" });
35
+ return {
36
+ summary: result.overview,
37
+ stats: {
38
+ totalLines: logs.split("\n").length,
39
+ errorCount: result.errors?.length || 0,
40
+ warningCount: result.warnings?.length || 0,
41
+ },
42
+ };
43
+ }
44
+ /**
45
+ * Compress git diff output
46
+ */
47
+ export function compressDiff(diff) {
48
+ // Extract key changes from diff
49
+ const lines = diff.split("\n");
50
+ const importantLines = [];
51
+ let addedCount = 0;
52
+ let removedCount = 0;
53
+ for (const line of lines) {
54
+ if (line.startsWith("diff --git")) {
55
+ const match = line.match(/diff --git a\/(.*) b\/(.*)/);
56
+ if (match) {
57
+ importantLines.push(`\n## ${match[2]}`);
58
+ }
59
+ }
60
+ else if (line.startsWith("@@")) {
61
+ importantLines.push(line);
62
+ }
63
+ else if (line.startsWith("+") && !line.startsWith("+++")) {
64
+ addedCount++;
65
+ if (line.trim().length > 1) {
66
+ importantLines.push(line);
67
+ }
68
+ }
69
+ else if (line.startsWith("-") && !line.startsWith("---")) {
70
+ removedCount++;
71
+ if (line.trim().length > 1) {
72
+ importantLines.push(line);
73
+ }
74
+ }
75
+ }
76
+ const header = `[diff] +${addedCount}/-${removedCount} lines`;
77
+ const compressed = [header, ...importantLines].join("\n");
78
+ const originalTokens = countTokens(diff);
79
+ const compressedTokens = countTokens(compressed);
80
+ return {
81
+ compressed,
82
+ stats: {
83
+ original: originalTokens,
84
+ compressed: compressedTokens,
85
+ reductionPercent: Math.round((1 - compressedTokens / originalTokens) * 100),
86
+ },
87
+ };
88
+ }
89
+ /**
90
+ * TF-IDF based semantic compression
91
+ */
92
+ export function compressSemantic(content, ratio = 0.5) {
93
+ const result = semanticCompressor.compress(content, {
94
+ targetRatio: ratio,
95
+ detail: "normal",
96
+ });
97
+ const originalTokens = countTokens(content);
98
+ const compressedTokens = countTokens(result.compressed);
99
+ return {
100
+ compressed: result.compressed,
101
+ stats: {
102
+ original: originalTokens,
103
+ compressed: compressedTokens,
104
+ reductionPercent: Math.round((1 - compressedTokens / originalTokens) * 100),
105
+ },
106
+ };
107
+ }
@@ -0,0 +1,148 @@
1
+ /**
2
+ * SDK Conversation Functions
3
+ *
4
+ * Conversation memory management for sandbox use.
5
+ * Provides compression, decision extraction, and context restoration.
6
+ */
7
+ import type { HostCallbacks } from "../types.js";
8
+ import { type ConversationMessage, type ConversationCompressResult, type ConversationMemory, type ConversationMemoryResult, type MemoryRestoreOptions, type Decision, type CodeReference } from "../../compressors/conversation.js";
9
+ /**
10
+ * SDK conversation compress options (simplified)
11
+ */
12
+ export interface SdkConversationOptions {
13
+ /** Compression strategy */
14
+ strategy?: "rolling-summary" | "key-extraction" | "hybrid";
15
+ /** Maximum tokens for output */
16
+ maxTokens?: number;
17
+ /** Preserve system messages */
18
+ preserveSystem?: boolean;
19
+ /** Number of recent messages to preserve */
20
+ preserveLastN?: number;
21
+ }
22
+ /**
23
+ * Create conversation API with memory state
24
+ */
25
+ export declare function createConversationAPI(workingDir: string, callbacks: HostCallbacks): {
26
+ /**
27
+ * Compress conversation messages
28
+ *
29
+ * @param messages - Array of conversation messages
30
+ * @param options - Compression options
31
+ * @returns Compressed messages and statistics
32
+ *
33
+ * @example
34
+ * ```typescript
35
+ * ctx.conversation.compress(messages, { strategy: "hybrid" })
36
+ * ```
37
+ */
38
+ compress(messages: ConversationMessage[], options?: SdkConversationOptions): ConversationCompressResult;
39
+ /**
40
+ * Compress conversation and update memory state
41
+ *
42
+ * @param messages - Array of conversation messages
43
+ * @param options - Compression options
44
+ * @returns Memory result with context and statistics
45
+ *
46
+ * @example
47
+ * ```typescript
48
+ * ctx.conversation.createMemory(messages)
49
+ * ```
50
+ */
51
+ createMemory(messages: ConversationMessage[], options?: SdkConversationOptions): ConversationMemoryResult;
52
+ /**
53
+ * Extract key decisions from messages
54
+ *
55
+ * @param messages - Array of conversation messages
56
+ * @returns Array of extracted decisions
57
+ *
58
+ * @example
59
+ * ```typescript
60
+ * ctx.conversation.extractDecisions(messages)
61
+ * ```
62
+ */
63
+ extractDecisions(messages: ConversationMessage[]): Decision[];
64
+ /**
65
+ * Extract code references from messages
66
+ *
67
+ * @param messages - Array of conversation messages
68
+ * @returns Array of code references with actions
69
+ *
70
+ * @example
71
+ * ```typescript
72
+ * ctx.conversation.extractCodeRefs(messages)
73
+ * ```
74
+ */
75
+ extractCodeRefs(messages: ConversationMessage[]): CodeReference[];
76
+ /**
77
+ * Restore context from stored memory
78
+ *
79
+ * @param options - Restoration options
80
+ * @returns Restored context string
81
+ *
82
+ * @example
83
+ * ```typescript
84
+ * ctx.conversation.restore({ includeSummary: true, recentMessages: 3 })
85
+ * ```
86
+ */
87
+ restore(options?: MemoryRestoreOptions): string;
88
+ /**
89
+ * Get current memory state
90
+ *
91
+ * @returns Current memory or null if not set
92
+ *
93
+ * @example
94
+ * ```typescript
95
+ * const memory = ctx.conversation.getMemory()
96
+ * ```
97
+ */
98
+ getMemory(): ConversationMemory | null;
99
+ /**
100
+ * Set memory state (for restoring from external source)
101
+ *
102
+ * @param memory - Memory state to set
103
+ *
104
+ * @example
105
+ * ```typescript
106
+ * ctx.conversation.setMemory(savedMemory)
107
+ * ```
108
+ */
109
+ setMemory(memory: ConversationMemory): void;
110
+ /**
111
+ * Clear stored memory
112
+ *
113
+ * @example
114
+ * ```typescript
115
+ * ctx.conversation.clearMemory()
116
+ * ```
117
+ */
118
+ clearMemory(): void;
119
+ /**
120
+ * Check if memory is stored
121
+ *
122
+ * @returns True if memory exists
123
+ *
124
+ * @example
125
+ * ```typescript
126
+ * if (ctx.conversation.hasMemory()) { ... }
127
+ * ```
128
+ */
129
+ hasMemory(): boolean;
130
+ /**
131
+ * Get summary of current memory state
132
+ *
133
+ * @returns Summary object or null
134
+ *
135
+ * @example
136
+ * ```typescript
137
+ * const summary = ctx.conversation.getSummary()
138
+ * ```
139
+ */
140
+ getSummary(): {
141
+ summary: string;
142
+ decisionsCount: number;
143
+ codeRefsCount: number;
144
+ messagesCount: number;
145
+ lastUpdated: number;
146
+ } | null;
147
+ };
148
+ //# sourceMappingURL=conversation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../../src/sandbox/sdk/conversation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAML,KAAK,mBAAmB,EAExB,KAAK,0BAA0B,EAC/B,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EACb,KAAK,aAAa,EACnB,MAAM,mCAAmC,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,iBAAiB,GAAG,gBAAgB,GAAG,QAAQ,CAAC;IAC3D,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+BAA+B;IAC/B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,4CAA4C;IAC5C,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,aAAa;IAMtB;;;;;;;;;;;OAWG;uBAES,mBAAmB,EAAE,YACrB,sBAAsB,GAC/B,0BAA0B;IAW7B;;;;;;;;;;;OAWG;2BAES,mBAAmB,EAAE,YACrB,sBAAsB,GAC/B,wBAAwB;IAgB3B;;;;;;;;;;OAUG;+BACwB,mBAAmB,EAAE,GAAG,QAAQ,EAAE;IAI7D;;;;;;;;;;OAUG;8BACuB,mBAAmB,EAAE,GAAG,aAAa,EAAE;IAIjE;;;;;;;;;;OAUG;sBACe,oBAAoB,GAAG,MAAM;IAQ/C;;;;;;;;;OASG;iBACU,kBAAkB,GAAG,IAAI;IAItC;;;;;;;;;OASG;sBACe,kBAAkB,GAAG,IAAI;IAI3C;;;;;;;OAOG;mBACY,IAAI;IAInB;;;;;;;;;OASG;iBACU,OAAO;IAIpB;;;;;;;;;OASG;kBACW;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;KACrB,GAAG,IAAI;EAYX"}
@@ -0,0 +1,177 @@
1
+ /**
2
+ * SDK Conversation Functions
3
+ *
4
+ * Conversation memory management for sandbox use.
5
+ * Provides compression, decision extraction, and context restoration.
6
+ */
7
+ import { compressConversation, compressConversationWithMemory, extractDecisions, extractCodeReferences, restoreContext, } from "../../compressors/conversation.js";
8
+ /**
9
+ * Create conversation API with memory state
10
+ */
11
+ export function createConversationAPI(workingDir, callbacks) {
12
+ // In-memory state for conversation tracking
13
+ let currentMemory = null;
14
+ return {
15
+ /**
16
+ * Compress conversation messages
17
+ *
18
+ * @param messages - Array of conversation messages
19
+ * @param options - Compression options
20
+ * @returns Compressed messages and statistics
21
+ *
22
+ * @example
23
+ * ```typescript
24
+ * ctx.conversation.compress(messages, { strategy: "hybrid" })
25
+ * ```
26
+ */
27
+ compress(messages, options) {
28
+ const opts = {
29
+ strategy: options?.strategy || "hybrid",
30
+ maxTokens: options?.maxTokens || 10000,
31
+ preserveSystem: options?.preserveSystem ?? true,
32
+ preserveLastN: options?.preserveLastN ?? 2,
33
+ };
34
+ return compressConversation(messages, opts);
35
+ },
36
+ /**
37
+ * Compress conversation and update memory state
38
+ *
39
+ * @param messages - Array of conversation messages
40
+ * @param options - Compression options
41
+ * @returns Memory result with context and statistics
42
+ *
43
+ * @example
44
+ * ```typescript
45
+ * ctx.conversation.createMemory(messages)
46
+ * ```
47
+ */
48
+ createMemory(messages, options) {
49
+ const opts = {
50
+ strategy: options?.strategy || "hybrid",
51
+ maxTokens: options?.maxTokens || 10000,
52
+ preserveSystem: options?.preserveSystem ?? true,
53
+ preserveLastN: options?.preserveLastN ?? 2,
54
+ };
55
+ const result = compressConversationWithMemory(messages, opts);
56
+ // Store memory for later restoration
57
+ currentMemory = result.memory;
58
+ return result;
59
+ },
60
+ /**
61
+ * Extract key decisions from messages
62
+ *
63
+ * @param messages - Array of conversation messages
64
+ * @returns Array of extracted decisions
65
+ *
66
+ * @example
67
+ * ```typescript
68
+ * ctx.conversation.extractDecisions(messages)
69
+ * ```
70
+ */
71
+ extractDecisions(messages) {
72
+ return extractDecisions(messages);
73
+ },
74
+ /**
75
+ * Extract code references from messages
76
+ *
77
+ * @param messages - Array of conversation messages
78
+ * @returns Array of code references with actions
79
+ *
80
+ * @example
81
+ * ```typescript
82
+ * ctx.conversation.extractCodeRefs(messages)
83
+ * ```
84
+ */
85
+ extractCodeRefs(messages) {
86
+ return extractCodeReferences(messages);
87
+ },
88
+ /**
89
+ * Restore context from stored memory
90
+ *
91
+ * @param options - Restoration options
92
+ * @returns Restored context string
93
+ *
94
+ * @example
95
+ * ```typescript
96
+ * ctx.conversation.restore({ includeSummary: true, recentMessages: 3 })
97
+ * ```
98
+ */
99
+ restore(options) {
100
+ if (!currentMemory) {
101
+ return "[No memory stored. Call createMemory() first.]";
102
+ }
103
+ return restoreContext(currentMemory, options);
104
+ },
105
+ /**
106
+ * Get current memory state
107
+ *
108
+ * @returns Current memory or null if not set
109
+ *
110
+ * @example
111
+ * ```typescript
112
+ * const memory = ctx.conversation.getMemory()
113
+ * ```
114
+ */
115
+ getMemory() {
116
+ return currentMemory;
117
+ },
118
+ /**
119
+ * Set memory state (for restoring from external source)
120
+ *
121
+ * @param memory - Memory state to set
122
+ *
123
+ * @example
124
+ * ```typescript
125
+ * ctx.conversation.setMemory(savedMemory)
126
+ * ```
127
+ */
128
+ setMemory(memory) {
129
+ currentMemory = memory;
130
+ },
131
+ /**
132
+ * Clear stored memory
133
+ *
134
+ * @example
135
+ * ```typescript
136
+ * ctx.conversation.clearMemory()
137
+ * ```
138
+ */
139
+ clearMemory() {
140
+ currentMemory = null;
141
+ },
142
+ /**
143
+ * Check if memory is stored
144
+ *
145
+ * @returns True if memory exists
146
+ *
147
+ * @example
148
+ * ```typescript
149
+ * if (ctx.conversation.hasMemory()) { ... }
150
+ * ```
151
+ */
152
+ hasMemory() {
153
+ return currentMemory !== null;
154
+ },
155
+ /**
156
+ * Get summary of current memory state
157
+ *
158
+ * @returns Summary object or null
159
+ *
160
+ * @example
161
+ * ```typescript
162
+ * const summary = ctx.conversation.getSummary()
163
+ * ```
164
+ */
165
+ getSummary() {
166
+ if (!currentMemory)
167
+ return null;
168
+ return {
169
+ summary: currentMemory.summary,
170
+ decisionsCount: currentMemory.decisions.length,
171
+ codeRefsCount: currentMemory.codeReferences.length,
172
+ messagesCount: currentMemory.compressedHistory.length,
173
+ lastUpdated: currentMemory.lastUpdated,
174
+ };
175
+ },
176
+ };
177
+ }
@@ -0,0 +1,29 @@
1
+ /**
2
+ * SDK Files Functions
3
+ *
4
+ * Safe file operations for sandbox use.
5
+ * Uses host callbacks for actual file I/O.
6
+ */
7
+ import type { HostCallbacks, FileStructure } from "../types.js";
8
+ /**
9
+ * Create files API with host callbacks
10
+ */
11
+ export declare function createFilesAPI(callbacks: HostCallbacks): {
12
+ /**
13
+ * Read file content
14
+ */
15
+ read(path: string): string;
16
+ /**
17
+ * Check if file exists
18
+ */
19
+ exists(path: string): boolean;
20
+ /**
21
+ * Find files matching glob pattern
22
+ */
23
+ glob(pattern: string): string[];
24
+ /**
25
+ * Read file and parse to structure
26
+ */
27
+ readStructure(path: string): FileStructure;
28
+ };
29
+ //# sourceMappingURL=files.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../../src/sandbox/sdk/files.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAIhE;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,aAAa;IAEnD;;OAEG;eACQ,MAAM,GAAG,MAAM;IAI1B;;OAEG;iBACU,MAAM,GAAG,OAAO;IAI7B;;OAEG;kBACW,MAAM,GAAG,MAAM,EAAE;IAI/B;;OAEG;wBACiB,MAAM,GAAG,aAAa;EAM7C"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * SDK Files Functions
3
+ *
4
+ * Safe file operations for sandbox use.
5
+ * Uses host callbacks for actual file I/O.
6
+ */
7
+ import { codeParse } from "./code.js";
8
+ import { detectLanguageFromPath } from "../../utils/language-detector.js";
9
+ /**
10
+ * Create files API with host callbacks
11
+ */
12
+ export function createFilesAPI(callbacks) {
13
+ return {
14
+ /**
15
+ * Read file content
16
+ */
17
+ read(path) {
18
+ return callbacks.readFile(path);
19
+ },
20
+ /**
21
+ * Check if file exists
22
+ */
23
+ exists(path) {
24
+ return callbacks.fileExists(path);
25
+ },
26
+ /**
27
+ * Find files matching glob pattern
28
+ */
29
+ glob(pattern) {
30
+ return callbacks.glob(pattern);
31
+ },
32
+ /**
33
+ * Read file and parse to structure
34
+ */
35
+ readStructure(path) {
36
+ const content = callbacks.readFile(path);
37
+ const language = detectLanguageFromPath(path);
38
+ return codeParse(content, language);
39
+ },
40
+ };
41
+ }
@@ -0,0 +1,37 @@
1
+ /**
2
+ * SDK Git Functions
3
+ *
4
+ * Git operations for sandbox use.
5
+ * Uses child_process.execSync for git commands.
6
+ */
7
+ import type { GitDiff, GitCommit, GitBlame, GitStatus, GitBranch } from "../types.js";
8
+ /**
9
+ * Create Git API for sandbox
10
+ */
11
+ export declare function createGitAPI(workingDir: string): {
12
+ /**
13
+ * Get git diff
14
+ * @param ref - Optional ref to diff against (default: HEAD)
15
+ */
16
+ diff(ref?: string): GitDiff;
17
+ /**
18
+ * Get git log
19
+ * @param limit - Number of commits to return (default: 10)
20
+ */
21
+ log(limit?: number): GitCommit[];
22
+ /**
23
+ * Get git blame for a file
24
+ * @param file - File path to blame
25
+ * @param line - Optional specific line number
26
+ */
27
+ blame(file: string, line?: number): GitBlame;
28
+ /**
29
+ * Get git status
30
+ */
31
+ status(): GitStatus;
32
+ /**
33
+ * Get git branch info
34
+ */
35
+ branch(): GitBranch;
36
+ };
37
+ //# sourceMappingURL=git.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../../src/sandbox/sdk/git.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EACV,OAAO,EAEP,SAAS,EACT,QAAQ,EAER,SAAS,EACT,SAAS,EACV,MAAM,aAAa,CAAC;AAmQrB;;GAEG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM;IAE3C;;;OAGG;eACQ,MAAM,GAAG,OAAO;IAqB3B;;;OAGG;gBACS,MAAM,GAAG,SAAS,EAAE;IAYhC;;;;OAIG;gBACS,MAAM,SAAS,MAAM,GAAG,QAAQ;IAmB5C;;OAEG;cACO,SAAS;IAUnB;;OAEG;cACO,SAAS;EAmBtB"}