@n1k1t/pipelain 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (301) hide show
  1. package/lib/src/env.d.ts +20 -0
  2. package/lib/src/env.d.ts.map +1 -0
  3. package/lib/src/env.js +36 -0
  4. package/lib/src/env.js.map +1 -0
  5. package/lib/src/index.d.ts +22 -0
  6. package/lib/src/index.d.ts.map +1 -0
  7. package/lib/src/index.js +61 -0
  8. package/lib/src/index.js.map +1 -0
  9. package/lib/src/models/bash.d.ts +27 -0
  10. package/lib/src/models/bash.d.ts.map +1 -0
  11. package/lib/src/models/bash.js +59 -0
  12. package/lib/src/models/bash.js.map +1 -0
  13. package/lib/src/models/content/factory.d.ts +36 -0
  14. package/lib/src/models/content/factory.d.ts.map +1 -0
  15. package/lib/src/models/content/factory.js +104 -0
  16. package/lib/src/models/content/factory.js.map +1 -0
  17. package/lib/src/models/content/index.d.ts +4 -0
  18. package/lib/src/models/content/index.d.ts.map +1 -0
  19. package/lib/src/models/content/index.js +20 -0
  20. package/lib/src/models/content/index.js.map +1 -0
  21. package/lib/src/models/content/kinds/article.d.ts +12 -0
  22. package/lib/src/models/content/kinds/article.d.ts.map +1 -0
  23. package/lib/src/models/content/kinds/article.js +20 -0
  24. package/lib/src/models/content/kinds/article.js.map +1 -0
  25. package/lib/src/models/content/kinds/attachment.d.ts +14 -0
  26. package/lib/src/models/content/kinds/attachment.d.ts.map +1 -0
  27. package/lib/src/models/content/kinds/attachment.js +30 -0
  28. package/lib/src/models/content/kinds/attachment.js.map +1 -0
  29. package/lib/src/models/content/kinds/group.d.ts +7 -0
  30. package/lib/src/models/content/kinds/group.d.ts.map +1 -0
  31. package/lib/src/models/content/kinds/group.js +23 -0
  32. package/lib/src/models/content/kinds/group.js.map +1 -0
  33. package/lib/src/models/content/kinds/index.d.ts +8 -0
  34. package/lib/src/models/content/kinds/index.d.ts.map +1 -0
  35. package/lib/src/models/content/kinds/index.js +24 -0
  36. package/lib/src/models/content/kinds/index.js.map +1 -0
  37. package/lib/src/models/content/kinds/model.d.ts +10 -0
  38. package/lib/src/models/content/kinds/model.d.ts.map +1 -0
  39. package/lib/src/models/content/kinds/model.js +11 -0
  40. package/lib/src/models/content/kinds/model.js.map +1 -0
  41. package/lib/src/models/content/kinds/plain.d.ts +6 -0
  42. package/lib/src/models/content/kinds/plain.d.ts.map +1 -0
  43. package/lib/src/models/content/kinds/plain.js +18 -0
  44. package/lib/src/models/content/kinds/plain.js.map +1 -0
  45. package/lib/src/models/content/kinds/rules.d.ts +6 -0
  46. package/lib/src/models/content/kinds/rules.d.ts.map +1 -0
  47. package/lib/src/models/content/kinds/rules.js +19 -0
  48. package/lib/src/models/content/kinds/rules.js.map +1 -0
  49. package/lib/src/models/content/kinds/sources.d.ts +10 -0
  50. package/lib/src/models/content/kinds/sources.d.ts.map +1 -0
  51. package/lib/src/models/content/kinds/sources.js +22 -0
  52. package/lib/src/models/content/kinds/sources.js.map +1 -0
  53. package/lib/src/models/content/kinds/tasks.d.ts +6 -0
  54. package/lib/src/models/content/kinds/tasks.d.ts.map +1 -0
  55. package/lib/src/models/content/kinds/tasks.js +19 -0
  56. package/lib/src/models/content/kinds/tasks.js.map +1 -0
  57. package/lib/src/models/file.d.ts +34 -0
  58. package/lib/src/models/file.d.ts.map +1 -0
  59. package/lib/src/models/file.js +101 -0
  60. package/lib/src/models/file.js.map +1 -0
  61. package/lib/src/models/index.d.ts +9 -0
  62. package/lib/src/models/index.d.ts.map +1 -0
  63. package/lib/src/models/index.js +25 -0
  64. package/lib/src/models/index.js.map +1 -0
  65. package/lib/src/models/llm/factory.d.ts +43 -0
  66. package/lib/src/models/llm/factory.d.ts.map +1 -0
  67. package/lib/src/models/llm/factory.js +134 -0
  68. package/lib/src/models/llm/factory.js.map +1 -0
  69. package/lib/src/models/llm/index.d.ts +9 -0
  70. package/lib/src/models/llm/index.d.ts.map +1 -0
  71. package/lib/src/models/llm/index.js +25 -0
  72. package/lib/src/models/llm/index.js.map +1 -0
  73. package/lib/src/models/llm/mcp.d.ts +30 -0
  74. package/lib/src/models/llm/mcp.d.ts.map +1 -0
  75. package/lib/src/models/llm/mcp.js +53 -0
  76. package/lib/src/models/llm/mcp.js.map +1 -0
  77. package/lib/src/models/llm/providers/anthropic.d.ts +15 -0
  78. package/lib/src/models/llm/providers/anthropic.d.ts.map +1 -0
  79. package/lib/src/models/llm/providers/anthropic.js +39 -0
  80. package/lib/src/models/llm/providers/anthropic.js.map +1 -0
  81. package/lib/src/models/llm/providers/google.d.ts +11 -0
  82. package/lib/src/models/llm/providers/google.d.ts.map +1 -0
  83. package/lib/src/models/llm/providers/google.js +39 -0
  84. package/lib/src/models/llm/providers/google.js.map +1 -0
  85. package/lib/src/models/llm/providers/index.d.ts +6 -0
  86. package/lib/src/models/llm/providers/index.d.ts.map +1 -0
  87. package/lib/src/models/llm/providers/index.js +22 -0
  88. package/lib/src/models/llm/providers/index.js.map +1 -0
  89. package/lib/src/models/llm/providers/mistral.d.ts +10 -0
  90. package/lib/src/models/llm/providers/mistral.d.ts.map +1 -0
  91. package/lib/src/models/llm/providers/mistral.js +31 -0
  92. package/lib/src/models/llm/providers/mistral.js.map +1 -0
  93. package/lib/src/models/llm/providers/model.d.ts +37 -0
  94. package/lib/src/models/llm/providers/model.d.ts.map +1 -0
  95. package/lib/src/models/llm/providers/model.js +47 -0
  96. package/lib/src/models/llm/providers/model.js.map +1 -0
  97. package/lib/src/models/llm/providers/openai.d.ts +12 -0
  98. package/lib/src/models/llm/providers/openai.d.ts.map +1 -0
  99. package/lib/src/models/llm/providers/openai.js +36 -0
  100. package/lib/src/models/llm/providers/openai.js.map +1 -0
  101. package/lib/src/models/llm/providers/proxy.d.ts +10 -0
  102. package/lib/src/models/llm/providers/proxy.d.ts.map +1 -0
  103. package/lib/src/models/llm/providers/proxy.js +31 -0
  104. package/lib/src/models/llm/providers/proxy.js.map +1 -0
  105. package/lib/src/models/llm/router.d.ts +15 -0
  106. package/lib/src/models/llm/router.d.ts.map +1 -0
  107. package/lib/src/models/llm/router.js +86 -0
  108. package/lib/src/models/llm/router.js.map +1 -0
  109. package/lib/src/models/llm/tools/edit.d.ts +17 -0
  110. package/lib/src/models/llm/tools/edit.d.ts.map +1 -0
  111. package/lib/src/models/llm/tools/edit.js +59 -0
  112. package/lib/src/models/llm/tools/edit.js.map +1 -0
  113. package/lib/src/models/llm/tools/fetch.d.ts +12 -0
  114. package/lib/src/models/llm/tools/fetch.d.ts.map +1 -0
  115. package/lib/src/models/llm/tools/fetch.js +131 -0
  116. package/lib/src/models/llm/tools/fetch.js.map +1 -0
  117. package/lib/src/models/llm/tools/glob.d.ts +10 -0
  118. package/lib/src/models/llm/tools/glob.d.ts.map +1 -0
  119. package/lib/src/models/llm/tools/glob.js +36 -0
  120. package/lib/src/models/llm/tools/glob.js.map +1 -0
  121. package/lib/src/models/llm/tools/grep.d.ts +12 -0
  122. package/lib/src/models/llm/tools/grep.d.ts.map +1 -0
  123. package/lib/src/models/llm/tools/grep.js +69 -0
  124. package/lib/src/models/llm/tools/grep.js.map +1 -0
  125. package/lib/src/models/llm/tools/index.d.ts +14 -0
  126. package/lib/src/models/llm/tools/index.d.ts.map +1 -0
  127. package/lib/src/models/llm/tools/index.js +33 -0
  128. package/lib/src/models/llm/tools/index.js.map +1 -0
  129. package/lib/src/models/llm/tools/ls.d.ts +10 -0
  130. package/lib/src/models/llm/tools/ls.d.ts.map +1 -0
  131. package/lib/src/models/llm/tools/ls.js +45 -0
  132. package/lib/src/models/llm/tools/ls.js.map +1 -0
  133. package/lib/src/models/llm/tools/mkdir.d.ts +10 -0
  134. package/lib/src/models/llm/tools/mkdir.d.ts.map +1 -0
  135. package/lib/src/models/llm/tools/mkdir.js +29 -0
  136. package/lib/src/models/llm/tools/mkdir.js.map +1 -0
  137. package/lib/src/models/llm/tools/model.d.ts +55 -0
  138. package/lib/src/models/llm/tools/model.d.ts.map +1 -0
  139. package/lib/src/models/llm/tools/model.js +76 -0
  140. package/lib/src/models/llm/tools/model.js.map +1 -0
  141. package/lib/src/models/llm/tools/npm.d.ts +10 -0
  142. package/lib/src/models/llm/tools/npm.d.ts.map +1 -0
  143. package/lib/src/models/llm/tools/npm.js +25 -0
  144. package/lib/src/models/llm/tools/npm.js.map +1 -0
  145. package/lib/src/models/llm/tools/npx.d.ts +10 -0
  146. package/lib/src/models/llm/tools/npx.d.ts.map +1 -0
  147. package/lib/src/models/llm/tools/npx.js +25 -0
  148. package/lib/src/models/llm/tools/npx.js.map +1 -0
  149. package/lib/src/models/llm/tools/read.d.ts +12 -0
  150. package/lib/src/models/llm/tools/read.d.ts.map +1 -0
  151. package/lib/src/models/llm/tools/read.js +68 -0
  152. package/lib/src/models/llm/tools/read.js.map +1 -0
  153. package/lib/src/models/llm/tools/rm.d.ts +13 -0
  154. package/lib/src/models/llm/tools/rm.d.ts.map +1 -0
  155. package/lib/src/models/llm/tools/rm.js +40 -0
  156. package/lib/src/models/llm/tools/rm.js.map +1 -0
  157. package/lib/src/models/llm/tools/search.d.ts +14 -0
  158. package/lib/src/models/llm/tools/search.d.ts.map +1 -0
  159. package/lib/src/models/llm/tools/search.js +95 -0
  160. package/lib/src/models/llm/tools/search.js.map +1 -0
  161. package/lib/src/models/llm/tools/skill.d.ts +10 -0
  162. package/lib/src/models/llm/tools/skill.d.ts.map +1 -0
  163. package/lib/src/models/llm/tools/skill.js +31 -0
  164. package/lib/src/models/llm/tools/skill.js.map +1 -0
  165. package/lib/src/models/llm/tools/utils.d.ts +3 -0
  166. package/lib/src/models/llm/tools/utils.d.ts.map +1 -0
  167. package/lib/src/models/llm/tools/utils.js +28 -0
  168. package/lib/src/models/llm/tools/utils.js.map +1 -0
  169. package/lib/src/models/llm/tools/write.d.ts +14 -0
  170. package/lib/src/models/llm/tools/write.d.ts.map +1 -0
  171. package/lib/src/models/llm/tools/write.js +39 -0
  172. package/lib/src/models/llm/tools/write.js.map +1 -0
  173. package/lib/src/models/llm/types.d.ts +9 -0
  174. package/lib/src/models/llm/types.d.ts.map +1 -0
  175. package/lib/src/models/llm/types.js +5 -0
  176. package/lib/src/models/llm/types.js.map +1 -0
  177. package/lib/src/models/pipeline/context.d.ts +23 -0
  178. package/lib/src/models/pipeline/context.d.ts.map +1 -0
  179. package/lib/src/models/pipeline/context.js +49 -0
  180. package/lib/src/models/pipeline/context.js.map +1 -0
  181. package/lib/src/models/pipeline/factory.d.ts +22 -0
  182. package/lib/src/models/pipeline/factory.d.ts.map +1 -0
  183. package/lib/src/models/pipeline/factory.js +39 -0
  184. package/lib/src/models/pipeline/factory.js.map +1 -0
  185. package/lib/src/models/pipeline/index.d.ts +8 -0
  186. package/lib/src/models/pipeline/index.d.ts.map +1 -0
  187. package/lib/src/models/pipeline/index.js +24 -0
  188. package/lib/src/models/pipeline/index.js.map +1 -0
  189. package/lib/src/models/pipeline/model.d.ts +72 -0
  190. package/lib/src/models/pipeline/model.d.ts.map +1 -0
  191. package/lib/src/models/pipeline/model.js +138 -0
  192. package/lib/src/models/pipeline/model.js.map +1 -0
  193. package/lib/src/models/pipeline/parameters.d.ts +26 -0
  194. package/lib/src/models/pipeline/parameters.d.ts.map +1 -0
  195. package/lib/src/models/pipeline/parameters.js +31 -0
  196. package/lib/src/models/pipeline/parameters.js.map +1 -0
  197. package/lib/src/models/pipeline/session.d.ts +61 -0
  198. package/lib/src/models/pipeline/session.d.ts.map +1 -0
  199. package/lib/src/models/pipeline/session.js +26 -0
  200. package/lib/src/models/pipeline/session.js.map +1 -0
  201. package/lib/src/models/pipeline/stdout/compiled/console.d.ts +4 -0
  202. package/lib/src/models/pipeline/stdout/compiled/console.d.ts.map +1 -0
  203. package/lib/src/models/pipeline/stdout/compiled/console.js +71 -0
  204. package/lib/src/models/pipeline/stdout/compiled/console.js.map +1 -0
  205. package/lib/src/models/pipeline/stdout/compiled/index.d.ts +2 -0
  206. package/lib/src/models/pipeline/stdout/compiled/index.d.ts.map +1 -0
  207. package/lib/src/models/pipeline/stdout/compiled/index.js +9 -0
  208. package/lib/src/models/pipeline/stdout/compiled/index.js.map +1 -0
  209. package/lib/src/models/pipeline/stdout/index.d.ts +2 -0
  210. package/lib/src/models/pipeline/stdout/index.d.ts.map +1 -0
  211. package/lib/src/models/pipeline/stdout/index.js +18 -0
  212. package/lib/src/models/pipeline/stdout/index.js.map +1 -0
  213. package/lib/src/models/pipeline/stdout/model.d.ts +16 -0
  214. package/lib/src/models/pipeline/stdout/model.d.ts.map +1 -0
  215. package/lib/src/models/pipeline/stdout/model.js +32 -0
  216. package/lib/src/models/pipeline/stdout/model.js.map +1 -0
  217. package/lib/src/models/pipeline/steps/ai.d.ts +40 -0
  218. package/lib/src/models/pipeline/steps/ai.d.ts.map +1 -0
  219. package/lib/src/models/pipeline/steps/ai.js +538 -0
  220. package/lib/src/models/pipeline/steps/ai.js.map +1 -0
  221. package/lib/src/models/pipeline/steps/errors.d.ts +5 -0
  222. package/lib/src/models/pipeline/steps/errors.d.ts.map +1 -0
  223. package/lib/src/models/pipeline/steps/errors.js +10 -0
  224. package/lib/src/models/pipeline/steps/errors.js.map +1 -0
  225. package/lib/src/models/pipeline/steps/index.d.ts +7 -0
  226. package/lib/src/models/pipeline/steps/index.d.ts.map +1 -0
  227. package/lib/src/models/pipeline/steps/index.js +23 -0
  228. package/lib/src/models/pipeline/steps/index.js.map +1 -0
  229. package/lib/src/models/pipeline/steps/loop.d.ts +68 -0
  230. package/lib/src/models/pipeline/steps/loop.d.ts.map +1 -0
  231. package/lib/src/models/pipeline/steps/loop.js +96 -0
  232. package/lib/src/models/pipeline/steps/loop.js.map +1 -0
  233. package/lib/src/models/pipeline/steps/model.d.ts +28 -0
  234. package/lib/src/models/pipeline/steps/model.d.ts.map +1 -0
  235. package/lib/src/models/pipeline/steps/model.js +25 -0
  236. package/lib/src/models/pipeline/steps/model.js.map +1 -0
  237. package/lib/src/models/pipeline/steps/self.d.ts +25 -0
  238. package/lib/src/models/pipeline/steps/self.d.ts.map +1 -0
  239. package/lib/src/models/pipeline/steps/self.js +62 -0
  240. package/lib/src/models/pipeline/steps/self.js.map +1 -0
  241. package/lib/src/models/pipeline/steps/swarm.d.ts +25 -0
  242. package/lib/src/models/pipeline/steps/swarm.d.ts.map +1 -0
  243. package/lib/src/models/pipeline/steps/swarm.js +68 -0
  244. package/lib/src/models/pipeline/steps/swarm.js.map +1 -0
  245. package/lib/src/models/pipeline/steps/types.d.ts +6 -0
  246. package/lib/src/models/pipeline/steps/types.d.ts.map +1 -0
  247. package/lib/src/models/pipeline/steps/types.js +3 -0
  248. package/lib/src/models/pipeline/steps/types.js.map +1 -0
  249. package/lib/src/models/pipeline/types.d.ts +22 -0
  250. package/lib/src/models/pipeline/types.d.ts.map +1 -0
  251. package/lib/src/models/pipeline/types.js +3 -0
  252. package/lib/src/models/pipeline/types.js.map +1 -0
  253. package/lib/src/models/project.d.ts +29 -0
  254. package/lib/src/models/project.d.ts.map +1 -0
  255. package/lib/src/models/project.js +117 -0
  256. package/lib/src/models/project.js.map +1 -0
  257. package/lib/src/models/rg.d.ts +268 -0
  258. package/lib/src/models/rg.d.ts.map +1 -0
  259. package/lib/src/models/rg.js +154 -0
  260. package/lib/src/models/rg.js.map +1 -0
  261. package/lib/src/models/vfs.d.ts +11 -0
  262. package/lib/src/models/vfs.d.ts.map +1 -0
  263. package/lib/src/models/vfs.js +23 -0
  264. package/lib/src/models/vfs.js.map +1 -0
  265. package/lib/src/opentelemetry.d.ts +2 -0
  266. package/lib/src/opentelemetry.d.ts.map +1 -0
  267. package/lib/src/opentelemetry.js +19 -0
  268. package/lib/src/opentelemetry.js.map +1 -0
  269. package/lib/src/setup.d.ts +2 -0
  270. package/lib/src/setup.d.ts.map +1 -0
  271. package/lib/src/setup.js +25 -0
  272. package/lib/src/setup.js.map +1 -0
  273. package/lib/src/utils/common.d.ts +81 -0
  274. package/lib/src/utils/common.d.ts.map +1 -0
  275. package/lib/src/utils/common.js +133 -0
  276. package/lib/src/utils/common.js.map +1 -0
  277. package/lib/src/utils/index.d.ts +3 -0
  278. package/lib/src/utils/index.d.ts.map +1 -0
  279. package/lib/src/utils/index.js +19 -0
  280. package/lib/src/utils/index.js.map +1 -0
  281. package/lib/src/utils/meta.d.ts +9 -0
  282. package/lib/src/utils/meta.d.ts.map +1 -0
  283. package/lib/src/utils/meta.js +15 -0
  284. package/lib/src/utils/meta.js.map +1 -0
  285. package/lib/types/common.d.ts +73 -0
  286. package/lib/types/common.d.ts.map +1 -0
  287. package/lib/types/common.js +3 -0
  288. package/lib/types/common.js.map +1 -0
  289. package/lib/types/html-to-markdown.global.d.ts +6 -0
  290. package/lib/types/html-to-markdown.global.d.ts.map +1 -0
  291. package/lib/types/html-to-markdown.global.js +2 -0
  292. package/lib/types/html-to-markdown.global.js.map +1 -0
  293. package/lib/types/index.d.ts +2 -0
  294. package/lib/types/index.d.ts.map +1 -0
  295. package/lib/types/index.js +18 -0
  296. package/lib/types/index.js.map +1 -0
  297. package/lib/types/json2md.global.d.ts +14 -0
  298. package/lib/types/json2md.global.d.ts.map +1 -0
  299. package/lib/types/json2md.global.js +4 -0
  300. package/lib/types/json2md.global.js.map +1 -0
  301. package/package.json +1 -1
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Project = void 0;
7
+ const minimatch_1 = __importDefault(require("minimatch"));
8
+ const gray_matter_1 = __importDefault(require("gray-matter"));
9
+ const path_1 = __importDefault(require("path"));
10
+ const promises_1 = __importDefault(require("fs/promises"));
11
+ const fast_glob_1 = __importDefault(require("fast-glob"));
12
+ const lodash_1 = __importDefault(require("lodash"));
13
+ const content_1 = require("./content");
14
+ const env_1 = __importDefault(require("../env"));
15
+ const renderFilesTree = (tree, indent = 0) => Object
16
+ .keys(tree)
17
+ .map((key) => {
18
+ const children = renderFilesTree(tree[key], indent + 2);
19
+ return ' '.repeat(indent) + key + (children ? `\n${children}` : '');
20
+ })
21
+ .join('\n');
22
+ class Project {
23
+ constructor(provided) {
24
+ this.provided = provided;
25
+ this.cwd = this.provided.cwd ?? process.cwd();
26
+ this.sources = this.provided.sources;
27
+ this.content = {
28
+ /** Renders `.editorconfig` content */
29
+ editorconfig: () => {
30
+ if (!this.sources.editorconfig?.length) {
31
+ return content_1.GroupContent.build([]);
32
+ }
33
+ return content_1.AttachmentContent.build({
34
+ title: 'Editor config file content',
35
+ extension: '.editorconfig',
36
+ content: this.sources.editorconfig,
37
+ });
38
+ },
39
+ /** Renders project files tree */
40
+ tree: (patterns) => {
41
+ const filtered = this.files.glob(patterns);
42
+ if (!filtered.length) {
43
+ return content_1.GroupContent.build([]);
44
+ }
45
+ const tree = {};
46
+ filtered.forEach((path) => {
47
+ let current = tree;
48
+ path.split('/').forEach((part) => {
49
+ if (!current[part]) {
50
+ current[part] = {};
51
+ }
52
+ current = current[part];
53
+ });
54
+ });
55
+ return content_1.AttachmentContent.build({
56
+ title: 'Project files tree',
57
+ content: renderFilesTree(tree),
58
+ });
59
+ },
60
+ };
61
+ this.files = {
62
+ /** Returns glob result of the project files */
63
+ glob: (patterns) => {
64
+ if (!patterns?.length) {
65
+ return this.sources.files;
66
+ }
67
+ const parsed = patterns.map((pattern) => pattern === '.'
68
+ ? '**'
69
+ : pattern.startsWith('./')
70
+ ? pattern.slice(2)
71
+ : pattern);
72
+ return this.sources.files.filter((file) => parsed.some((pattern) => (0, minimatch_1.default)(file, pattern, { matchBase: true })));
73
+ },
74
+ /** Adds path to the project files */
75
+ add: (path) => {
76
+ if (!this.sources.files.includes(path)) {
77
+ this.sources.files.push(path);
78
+ }
79
+ },
80
+ /** Removes file or directory from the project files */
81
+ rm: (path) => {
82
+ this.sources.files = this.sources.files.filter((file) => !file.startsWith(path));
83
+ },
84
+ };
85
+ }
86
+ static async build(options) {
87
+ const cwd = options?.cwd ?? process.cwd();
88
+ const editorconfig = await promises_1.default.readFile(path_1.default.join(cwd, '.editorconfig'), 'utf8').catch(() => '');
89
+ const gitignore = await promises_1.default.readFile(path_1.default.join(cwd, '.gitignore'), 'utf8').catch(() => '');
90
+ const ignore = gitignore
91
+ .split('\n')
92
+ .map((segment) => segment.trim().replace(/^\//, '').replace(/\/$/, '/**'))
93
+ .filter((segment) => segment.length && !segment.startsWith('!'));
94
+ const files = await (0, fast_glob_1.default)(['**/*.{ts,js,json,md}'], { cwd, ignore });
95
+ const skills = await Promise.all((await (0, fast_glob_1.default)(['**/*.md'], { cwd: env_1.default.dirs.skills }).catch(() => [])).map(async (location) => {
96
+ const raw = await promises_1.default.readFile(path_1.default.join(env_1.default.dirs.skills, location), 'utf8').catch(() => '');
97
+ const { data, content } = (0, gray_matter_1.default)(raw);
98
+ return {
99
+ name: data.name,
100
+ description: data.description,
101
+ content: content.trim(),
102
+ };
103
+ }));
104
+ const source = new Project({
105
+ cwd,
106
+ sources: {
107
+ editorconfig,
108
+ ignore,
109
+ files,
110
+ skills: skills.reduce((acc, skill) => lodash_1.default.set(acc, skill.name, skill), {}),
111
+ },
112
+ });
113
+ return source;
114
+ }
115
+ }
116
+ exports.Project = Project;
117
+ //# sourceMappingURL=project.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../../src/models/project.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,268 @@
1
+ import z from 'zod/v3';
2
+ declare const schemas: {
3
+ match: z.ZodObject<{
4
+ type: z.ZodLiteral<"match">;
5
+ data: z.ZodObject<{
6
+ line_number: z.ZodNumber;
7
+ absolute_offset: z.ZodNumber;
8
+ path: z.ZodObject<{
9
+ text: z.ZodString;
10
+ }, "strip", z.ZodTypeAny, {
11
+ text: string;
12
+ }, {
13
+ text: string;
14
+ }>;
15
+ lines: z.ZodObject<{
16
+ text: z.ZodString;
17
+ }, "strip", z.ZodTypeAny, {
18
+ text: string;
19
+ }, {
20
+ text: string;
21
+ }>;
22
+ submatches: z.ZodArray<z.ZodObject<{
23
+ match: z.ZodObject<{
24
+ text: z.ZodString;
25
+ }, "strip", z.ZodTypeAny, {
26
+ text: string;
27
+ }, {
28
+ text: string;
29
+ }>;
30
+ start: z.ZodNumber;
31
+ end: z.ZodNumber;
32
+ }, "strip", z.ZodTypeAny, {
33
+ match: {
34
+ text: string;
35
+ };
36
+ start: number;
37
+ end: number;
38
+ }, {
39
+ match: {
40
+ text: string;
41
+ };
42
+ start: number;
43
+ end: number;
44
+ }>, "many">;
45
+ }, "strip", z.ZodTypeAny, {
46
+ path: {
47
+ text: string;
48
+ };
49
+ line_number: number;
50
+ absolute_offset: number;
51
+ lines: {
52
+ text: string;
53
+ };
54
+ submatches: {
55
+ match: {
56
+ text: string;
57
+ };
58
+ start: number;
59
+ end: number;
60
+ }[];
61
+ }, {
62
+ path: {
63
+ text: string;
64
+ };
65
+ line_number: number;
66
+ absolute_offset: number;
67
+ lines: {
68
+ text: string;
69
+ };
70
+ submatches: {
71
+ match: {
72
+ text: string;
73
+ };
74
+ start: number;
75
+ end: number;
76
+ }[];
77
+ }>;
78
+ }, "strip", z.ZodTypeAny, {
79
+ type: "match";
80
+ data: {
81
+ path: {
82
+ text: string;
83
+ };
84
+ line_number: number;
85
+ absolute_offset: number;
86
+ lines: {
87
+ text: string;
88
+ };
89
+ submatches: {
90
+ match: {
91
+ text: string;
92
+ };
93
+ start: number;
94
+ end: number;
95
+ }[];
96
+ };
97
+ }, {
98
+ type: "match";
99
+ data: {
100
+ path: {
101
+ text: string;
102
+ };
103
+ line_number: number;
104
+ absolute_offset: number;
105
+ lines: {
106
+ text: string;
107
+ };
108
+ submatches: {
109
+ match: {
110
+ text: string;
111
+ };
112
+ start: number;
113
+ end: number;
114
+ }[];
115
+ };
116
+ }>;
117
+ result: z.ZodUnion<[z.ZodObject<{
118
+ type: z.ZodLiteral<"match">;
119
+ data: z.ZodObject<{
120
+ line_number: z.ZodNumber;
121
+ absolute_offset: z.ZodNumber;
122
+ path: z.ZodObject<{
123
+ text: z.ZodString;
124
+ }, "strip", z.ZodTypeAny, {
125
+ text: string;
126
+ }, {
127
+ text: string;
128
+ }>;
129
+ lines: z.ZodObject<{
130
+ text: z.ZodString;
131
+ }, "strip", z.ZodTypeAny, {
132
+ text: string;
133
+ }, {
134
+ text: string;
135
+ }>;
136
+ submatches: z.ZodArray<z.ZodObject<{
137
+ match: z.ZodObject<{
138
+ text: z.ZodString;
139
+ }, "strip", z.ZodTypeAny, {
140
+ text: string;
141
+ }, {
142
+ text: string;
143
+ }>;
144
+ start: z.ZodNumber;
145
+ end: z.ZodNumber;
146
+ }, "strip", z.ZodTypeAny, {
147
+ match: {
148
+ text: string;
149
+ };
150
+ start: number;
151
+ end: number;
152
+ }, {
153
+ match: {
154
+ text: string;
155
+ };
156
+ start: number;
157
+ end: number;
158
+ }>, "many">;
159
+ }, "strip", z.ZodTypeAny, {
160
+ path: {
161
+ text: string;
162
+ };
163
+ line_number: number;
164
+ absolute_offset: number;
165
+ lines: {
166
+ text: string;
167
+ };
168
+ submatches: {
169
+ match: {
170
+ text: string;
171
+ };
172
+ start: number;
173
+ end: number;
174
+ }[];
175
+ }, {
176
+ path: {
177
+ text: string;
178
+ };
179
+ line_number: number;
180
+ absolute_offset: number;
181
+ lines: {
182
+ text: string;
183
+ };
184
+ submatches: {
185
+ match: {
186
+ text: string;
187
+ };
188
+ start: number;
189
+ end: number;
190
+ }[];
191
+ }>;
192
+ }, "strip", z.ZodTypeAny, {
193
+ type: "match";
194
+ data: {
195
+ path: {
196
+ text: string;
197
+ };
198
+ line_number: number;
199
+ absolute_offset: number;
200
+ lines: {
201
+ text: string;
202
+ };
203
+ submatches: {
204
+ match: {
205
+ text: string;
206
+ };
207
+ start: number;
208
+ end: number;
209
+ }[];
210
+ };
211
+ }, {
212
+ type: "match";
213
+ data: {
214
+ path: {
215
+ text: string;
216
+ };
217
+ line_number: number;
218
+ absolute_offset: number;
219
+ lines: {
220
+ text: string;
221
+ };
222
+ submatches: {
223
+ match: {
224
+ text: string;
225
+ };
226
+ start: number;
227
+ end: number;
228
+ }[];
229
+ };
230
+ }>, z.ZodObject<{
231
+ type: z.ZodLiteral<"begin">;
232
+ }, "strip", z.ZodTypeAny, {
233
+ type: "begin";
234
+ }, {
235
+ type: "begin";
236
+ }>, z.ZodObject<{
237
+ type: z.ZodLiteral<"end">;
238
+ }, "strip", z.ZodTypeAny, {
239
+ type: "end";
240
+ }, {
241
+ type: "end";
242
+ }>, z.ZodObject<{
243
+ type: z.ZodLiteral<"summary">;
244
+ }, "strip", z.ZodTypeAny, {
245
+ type: "summary";
246
+ }, {
247
+ type: "summary";
248
+ }>]>;
249
+ };
250
+ export declare class Rg {
251
+ private provided?;
252
+ private argv0;
253
+ constructor(provided?: {
254
+ cwd?: string;
255
+ } | undefined);
256
+ exec(pattern: string, options?: {
257
+ include?: string[];
258
+ exclude?: string[];
259
+ limit?: number;
260
+ path?: string;
261
+ }): Promise<z.infer<typeof schemas.match>['data'][]>;
262
+ /** Installs and returns argv0 for `rg` */
263
+ private provide;
264
+ private which;
265
+ static build(provided?: Rg['provided']): Rg;
266
+ }
267
+ export {};
268
+ //# sourceMappingURL=rg.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rg.d.ts","sourceRoot":"","sources":["../../../src/models/rg.ts"],"names":[],"mappings":"AAEA,OAAO,CAAC,MAAM,QAAQ,CAAC;AAavB,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCT,CAAC;AAEL,qBAAa,EAAE;IAGD,OAAO,CAAC,QAAQ,CAAC;IAF7B,OAAO,CAAC,KAAK,CAAuB;gBAEhB,QAAQ,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,YAAA;IAElC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAC3C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QAEnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;IAsCpD,0CAA0C;YAC5B,OAAO;YAwEP,KAAK;IAOnB,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE;CAG5C"}
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Rg = void 0;
7
+ const path_1 = __importDefault(require("path"));
8
+ const promises_1 = __importDefault(require("fs/promises"));
9
+ const v3_1 = __importDefault(require("zod/v3"));
10
+ const bash_1 = require("./bash");
11
+ const platforms = {
12
+ 'arm64-darwin': { platform: 'aarch64-apple-darwin', extension: 'tar.gz' },
13
+ 'arm64-linux': { platform: 'aarch64-unknown-linux-gnu', extension: 'tar.gz' },
14
+ 'arm64-win32': { platform: 'aarch64-pc-windows-msvc', extension: 'zip' },
15
+ 'x64-darwin': { platform: 'x86_64-apple-darwin', extension: 'tar.gz' },
16
+ 'x64-linux': { platform: 'x86_64-unknown-linux-musl', extension: 'tar.gz' },
17
+ 'x64-win32': { platform: 'x86_64-pc-windows-msvc', extension: 'zip' },
18
+ };
19
+ const schemas = (() => {
20
+ const match = v3_1.default.object({
21
+ type: v3_1.default.literal('match'),
22
+ data: v3_1.default.object({
23
+ line_number: v3_1.default.number(),
24
+ absolute_offset: v3_1.default.number(),
25
+ path: v3_1.default.object({
26
+ text: v3_1.default.string(),
27
+ }),
28
+ lines: v3_1.default.object({
29
+ text: v3_1.default.string(),
30
+ }),
31
+ submatches: v3_1.default.array(v3_1.default.object({
32
+ match: v3_1.default.object({
33
+ text: v3_1.default.string(),
34
+ }),
35
+ start: v3_1.default.number(),
36
+ end: v3_1.default.number(),
37
+ })),
38
+ }),
39
+ });
40
+ return {
41
+ match,
42
+ result: v3_1.default.union([
43
+ match,
44
+ v3_1.default.object({ type: v3_1.default.literal('begin') }),
45
+ v3_1.default.object({ type: v3_1.default.literal('end') }),
46
+ v3_1.default.object({ type: v3_1.default.literal('summary') }),
47
+ ]),
48
+ };
49
+ })();
50
+ class Rg {
51
+ constructor(provided) {
52
+ this.provided = provided;
53
+ this.argv0 = null;
54
+ }
55
+ async exec(pattern, options) {
56
+ const argv0 = await this.provide();
57
+ const bash = bash_1.Bash.build({ argv0, cwd: this.provided?.cwd });
58
+ const args = ['--json', '--hidden'];
59
+ if (options?.include) {
60
+ for (const pattern of options.include) {
61
+ args.push(`--glob='${pattern}'`);
62
+ }
63
+ }
64
+ if (options?.exclude) {
65
+ for (const pattern of options.exclude.concat(['.git/**'])) {
66
+ args.push(`--glob=!'${pattern}'`);
67
+ }
68
+ }
69
+ if (options?.limit) {
70
+ args.push(`--max-count=${options.limit}`);
71
+ }
72
+ const result = await bash.exec(args.concat([`'${pattern}'`], options?.path ? [options.path] : []).join(' '));
73
+ if (result.status === 'ERROR') {
74
+ return [];
75
+ }
76
+ return result.stdout
77
+ .trim()
78
+ .split(/\r?\n/)
79
+ .filter(Boolean)
80
+ .map((line) => JSON.parse(line))
81
+ .map((parsed) => schemas.result.parse(parsed))
82
+ .filter((record) => record.type === 'match')
83
+ .slice(0, options?.limit)
84
+ .map((record) => record.data);
85
+ }
86
+ /** Installs and returns argv0 for `rg` */
87
+ async provide() {
88
+ if (this.argv0) {
89
+ return this.argv0;
90
+ }
91
+ const existent = await this.which('rg');
92
+ if (existent) {
93
+ this.argv0 = existent;
94
+ return existent;
95
+ }
96
+ const dir = path_1.default.join(__dirname, '../../', '.bin');
97
+ const bin = path_1.default.join(dir, `rg${process.platform === 'win32' ? '.exe' : ''}`);
98
+ if ((await promises_1.default.stat(bin).catch(() => null))) {
99
+ this.argv0 = bin;
100
+ return bin;
101
+ }
102
+ await promises_1.default.mkdir(dir, { recursive: true });
103
+ const platform = `${process.arch}-${process.platform}`;
104
+ const config = platforms[platform];
105
+ if (!config) {
106
+ throw new Error(`Unsupported platform: ${platform}`);
107
+ }
108
+ const version = '14.1.1';
109
+ const filename = `ripgrep-${version}-${config.platform}.${config.extension}`;
110
+ const url = `https://github.com/BurntSushi/ripgrep/releases/download/${version}/${filename}`;
111
+ const response = await fetch(url);
112
+ if (!response.ok) {
113
+ throw new Error(`Failed to download ripgrep: ${response.statusText}`);
114
+ }
115
+ const buffer = await response.arrayBuffer();
116
+ const archive = path_1.default.join(dir, filename);
117
+ await promises_1.default.writeFile(archive, Buffer.from(buffer));
118
+ if (config.extension === 'tar.gz') {
119
+ const bash = new bash_1.Bash({ cwd: dir });
120
+ const tarArgs = ['-xzf', filename, '--strip-components=1'];
121
+ if (process.platform === 'darwin') {
122
+ tarArgs.push('--include=*/rg');
123
+ }
124
+ else {
125
+ tarArgs.push('--wildcards', '*/rg');
126
+ }
127
+ await bash.exec(`tar ${tarArgs.join(' ')}`);
128
+ }
129
+ else {
130
+ // Basic zip extraction for windows if needed, but here we assume tar is available or use a simple approach
131
+ // For simplicity in this environment, we'll try to use powershell or similar if on windows,
132
+ // but the example used a zip library which is not in dependencies.
133
+ // Given the environment, we'll stick to tar which is usually available on modern windows too.
134
+ const bash = new bash_1.Bash({ cwd: dir });
135
+ await bash.exec(`tar -xf ${filename} --strip-components=1`);
136
+ }
137
+ await promises_1.default.unlink(archive);
138
+ if (process.platform !== 'win32') {
139
+ await promises_1.default.chmod(bin, 0o755);
140
+ }
141
+ this.argv0 = bin;
142
+ return bin;
143
+ }
144
+ async which(cmd) {
145
+ const bash = new bash_1.Bash({ argv0: 'which' });
146
+ const result = await bash.exec(cmd);
147
+ return result.status === 'OK' ? result.stdout.trim() : null;
148
+ }
149
+ static build(provided) {
150
+ return new Rg(provided);
151
+ }
152
+ }
153
+ exports.Rg = Rg;
154
+ //# sourceMappingURL=rg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rg.js","sourceRoot":"","sources":["../../../src/models/rg.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { SetPartialKeys } from '../../types';
2
+ export interface IVirtualFile {
3
+ title: string;
4
+ path: string;
5
+ content: string;
6
+ }
7
+ export declare class VirtualFileSystem extends Map<string, IVirtualFile> {
8
+ register(provided: SetPartialKeys<IVirtualFile, 'path' | 'title'>): this;
9
+ static build(): VirtualFileSystem;
10
+ }
11
+ //# sourceMappingURL=vfs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vfs.d.ts","sourceRoot":"","sources":["../../../src/models/vfs.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IAEb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,iBAAkB,SAAQ,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC;IACvD,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI;IAW/E,MAAM,CAAC,KAAK,IAAI,iBAAiB;CAGlC"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.VirtualFileSystem = void 0;
7
+ const uuid_1 = __importDefault(require("uuid"));
8
+ const lodash_1 = __importDefault(require("lodash"));
9
+ class VirtualFileSystem extends Map {
10
+ register(provided) {
11
+ const path = `__vfs__/${provided.path ?? (provided.title ? lodash_1.default.kebabCase(provided.title) : uuid_1.default.v4())}`;
12
+ return this.set(path, {
13
+ path,
14
+ title: `${provided.title ?? 'Untitled attachment'} (virtual file)`,
15
+ content: provided.content,
16
+ });
17
+ }
18
+ static build() {
19
+ return new VirtualFileSystem();
20
+ }
21
+ }
22
+ exports.VirtualFileSystem = VirtualFileSystem;
23
+ //# sourceMappingURL=vfs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vfs.js","sourceRoot":"","sources":["../../../src/models/vfs.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AACxB,oDAAuB;AAWvB,MAAa,iBAAkB,SAAQ,GAAyB;IACvD,QAAQ,CAAC,QAAwD;QACtE,MAAM,IAAI,GAAG,WAAW,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,cAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QAEtG,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;YACpB,IAAI;YAEJ,KAAK,EAAE,GAAG,QAAQ,CAAC,KAAK,IAAI,qBAAqB,iBAAiB;YAClE,OAAO,EAAE,QAAQ,CAAC,OAAO;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,KAAK;QACV,OAAO,IAAI,iBAAiB,EAAE,CAAC;IACjC,CAAC;CACF;AAfD,8CAeC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=opentelemetry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opentelemetry.d.ts","sourceRoot":"","sources":["../../src/opentelemetry.ts"],"names":[],"mappings":""}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const otel_1 = require("@langfuse/otel");
7
+ const sdk_node_1 = require("@opentelemetry/sdk-node");
8
+ const env_1 = __importDefault(require("./env"));
9
+ const sdk = new sdk_node_1.NodeSDK({
10
+ spanProcessors: [
11
+ new otel_1.LangfuseSpanProcessor({
12
+ baseUrl: env_1.default.langfuse.url,
13
+ publicKey: env_1.default.langfuse.keys.public,
14
+ secretKey: env_1.default.langfuse.keys.secret,
15
+ }),
16
+ ],
17
+ });
18
+ sdk.start();
19
+ //# sourceMappingURL=opentelemetry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opentelemetry.js","sourceRoot":"","sources":["../../src/opentelemetry.ts"],"names":[],"mappings":";;;;;AAAA,yCAAuD;AACvD,sDAAkD;AAElD,gDAAwB;AAExB,MAAM,GAAG,GAAG,IAAI,kBAAO,CAAC;IACtB,cAAc,EAAE;QACd,IAAI,4BAAqB,CAAC;YACxB,OAAO,EAAE,aAAG,CAAC,QAAQ,CAAC,GAAG;YAEzB,SAAS,EAAE,aAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM;YACnC,SAAS,EAAE,aAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM;SACpC,CAAC;KACH;CACF,CAAC,CAAC;AAEH,GAAG,CAAC,KAAK,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/setup.ts"],"names":[],"mappings":""}