@kindgi/cli 0.0.0-bootstrap.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 (516) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +738 -1
  3. package/dist/build/apt.d.ts +16 -0
  4. package/dist/build/apt.d.ts.map +1 -0
  5. package/dist/build/apt.js +50 -0
  6. package/dist/build/apt.js.map +1 -0
  7. package/dist/build/bundle.d.ts +48 -0
  8. package/dist/build/bundle.d.ts.map +1 -0
  9. package/dist/build/bundle.js +125 -0
  10. package/dist/build/bundle.js.map +1 -0
  11. package/dist/build/containerfile.d.ts +27 -0
  12. package/dist/build/containerfile.d.ts.map +1 -0
  13. package/dist/build/containerfile.js +197 -0
  14. package/dist/build/containerfile.js.map +1 -0
  15. package/dist/build/context-files.d.ts +24 -0
  16. package/dist/build/context-files.d.ts.map +1 -0
  17. package/dist/build/context-files.js +99 -0
  18. package/dist/build/context-files.js.map +1 -0
  19. package/dist/build/defaults.d.ts +66 -0
  20. package/dist/build/defaults.d.ts.map +1 -0
  21. package/dist/build/defaults.js +597 -0
  22. package/dist/build/defaults.js.map +1 -0
  23. package/dist/build/envelope.d.ts +72 -0
  24. package/dist/build/envelope.d.ts.map +1 -0
  25. package/dist/build/envelope.js +76 -0
  26. package/dist/build/envelope.js.map +1 -0
  27. package/dist/build/host-install.d.ts +100 -0
  28. package/dist/build/host-install.d.ts.map +1 -0
  29. package/dist/build/host-install.js +443 -0
  30. package/dist/build/host-install.js.map +1 -0
  31. package/dist/build/image-config.d.ts +32 -0
  32. package/dist/build/image-config.d.ts.map +1 -0
  33. package/dist/build/image-config.js +129 -0
  34. package/dist/build/image-config.js.map +1 -0
  35. package/dist/build/integrity.d.ts +51 -0
  36. package/dist/build/integrity.d.ts.map +1 -0
  37. package/dist/build/integrity.js +75 -0
  38. package/dist/build/integrity.js.map +1 -0
  39. package/dist/build/node-image.d.ts +18 -0
  40. package/dist/build/node-image.d.ts.map +1 -0
  41. package/dist/build/node-image.js +46 -0
  42. package/dist/build/node-image.js.map +1 -0
  43. package/dist/build/pack-root.d.ts +69 -0
  44. package/dist/build/pack-root.d.ts.map +1 -0
  45. package/dist/build/pack-root.js +102 -0
  46. package/dist/build/pack-root.js.map +1 -0
  47. package/dist/build/poetry-requirements.d.ts +5 -0
  48. package/dist/build/poetry-requirements.d.ts.map +1 -0
  49. package/dist/build/poetry-requirements.js +8 -0
  50. package/dist/build/poetry-requirements.js.map +1 -0
  51. package/dist/build/python-image.d.ts +40 -0
  52. package/dist/build/python-image.d.ts.map +1 -0
  53. package/dist/build/python-image.js +197 -0
  54. package/dist/build/python-image.js.map +1 -0
  55. package/dist/build/runners.d.ts +259 -0
  56. package/dist/build/runners.d.ts.map +1 -0
  57. package/dist/build/runners.js +4 -0
  58. package/dist/build/runners.js.map +1 -0
  59. package/dist/build/version-specifier.d.ts +2 -0
  60. package/dist/build/version-specifier.d.ts.map +1 -0
  61. package/dist/build/version-specifier.js +70 -0
  62. package/dist/build/version-specifier.js.map +1 -0
  63. package/dist/cli-package.d.ts +15 -0
  64. package/dist/cli-package.d.ts.map +1 -0
  65. package/dist/cli-package.js +37 -0
  66. package/dist/cli-package.js.map +1 -0
  67. package/dist/cli.d.ts +3 -0
  68. package/dist/cli.d.ts.map +1 -0
  69. package/dist/cli.js +26 -0
  70. package/dist/cli.js.map +1 -0
  71. package/dist/commands/adapters.d.ts +3 -0
  72. package/dist/commands/adapters.d.ts.map +1 -0
  73. package/dist/commands/adapters.js +148 -0
  74. package/dist/commands/adapters.js.map +1 -0
  75. package/dist/commands/agents.d.ts +3 -0
  76. package/dist/commands/agents.d.ts.map +1 -0
  77. package/dist/commands/agents.js +82 -0
  78. package/dist/commands/agents.js.map +1 -0
  79. package/dist/commands/approvals.d.ts +3 -0
  80. package/dist/commands/approvals.d.ts.map +1 -0
  81. package/dist/commands/approvals.js +92 -0
  82. package/dist/commands/approvals.js.map +1 -0
  83. package/dist/commands/artifacts.d.ts +3 -0
  84. package/dist/commands/artifacts.d.ts.map +1 -0
  85. package/dist/commands/artifacts.js +87 -0
  86. package/dist/commands/artifacts.js.map +1 -0
  87. package/dist/commands/auth.d.ts +25 -0
  88. package/dist/commands/auth.d.ts.map +1 -0
  89. package/dist/commands/auth.js +283 -0
  90. package/dist/commands/auth.js.map +1 -0
  91. package/dist/commands/build.d.ts +46 -0
  92. package/dist/commands/build.d.ts.map +1 -0
  93. package/dist/commands/build.js +902 -0
  94. package/dist/commands/build.js.map +1 -0
  95. package/dist/commands/capabilities.d.ts +3 -0
  96. package/dist/commands/capabilities.d.ts.map +1 -0
  97. package/dist/commands/capabilities.js +38 -0
  98. package/dist/commands/capabilities.js.map +1 -0
  99. package/dist/commands/conversations.d.ts +3 -0
  100. package/dist/commands/conversations.d.ts.map +1 -0
  101. package/dist/commands/conversations.js +75 -0
  102. package/dist/commands/conversations.js.map +1 -0
  103. package/dist/commands/deploy.d.ts +7 -0
  104. package/dist/commands/deploy.d.ts.map +1 -0
  105. package/dist/commands/deploy.js +697 -0
  106. package/dist/commands/deploy.js.map +1 -0
  107. package/dist/commands/dev.d.ts +43 -0
  108. package/dist/commands/dev.d.ts.map +1 -0
  109. package/dist/commands/dev.js +1110 -0
  110. package/dist/commands/dev.js.map +1 -0
  111. package/dist/commands/env.d.ts +27 -0
  112. package/dist/commands/env.d.ts.map +1 -0
  113. package/dist/commands/env.js +816 -0
  114. package/dist/commands/env.js.map +1 -0
  115. package/dist/commands/feedback.d.ts +33 -0
  116. package/dist/commands/feedback.d.ts.map +1 -0
  117. package/dist/commands/feedback.js +374 -0
  118. package/dist/commands/feedback.js.map +1 -0
  119. package/dist/commands/flows.d.ts +3 -0
  120. package/dist/commands/flows.d.ts.map +1 -0
  121. package/dist/commands/flows.js +60 -0
  122. package/dist/commands/flows.js.map +1 -0
  123. package/dist/commands/guardrails.d.ts +3 -0
  124. package/dist/commands/guardrails.d.ts.map +1 -0
  125. package/dist/commands/guardrails.js +89 -0
  126. package/dist/commands/guardrails.js.map +1 -0
  127. package/dist/commands/health.d.ts +8 -0
  128. package/dist/commands/health.d.ts.map +1 -0
  129. package/dist/commands/health.js +40 -0
  130. package/dist/commands/health.js.map +1 -0
  131. package/dist/commands/helpers.d.ts +48 -0
  132. package/dist/commands/helpers.d.ts.map +1 -0
  133. package/dist/commands/helpers.js +110 -0
  134. package/dist/commands/helpers.js.map +1 -0
  135. package/dist/commands/index.d.ts +7 -0
  136. package/dist/commands/index.d.ts.map +1 -0
  137. package/dist/commands/index.js +90 -0
  138. package/dist/commands/index.js.map +1 -0
  139. package/dist/commands/init.d.ts +46 -0
  140. package/dist/commands/init.d.ts.map +1 -0
  141. package/dist/commands/init.js +454 -0
  142. package/dist/commands/init.js.map +1 -0
  143. package/dist/commands/key.d.ts +3 -0
  144. package/dist/commands/key.d.ts.map +1 -0
  145. package/dist/commands/key.js +322 -0
  146. package/dist/commands/key.js.map +1 -0
  147. package/dist/commands/mcp.d.ts +43 -0
  148. package/dist/commands/mcp.d.ts.map +1 -0
  149. package/dist/commands/mcp.js +433 -0
  150. package/dist/commands/mcp.js.map +1 -0
  151. package/dist/commands/memory.d.ts +3 -0
  152. package/dist/commands/memory.d.ts.map +1 -0
  153. package/dist/commands/memory.js +82 -0
  154. package/dist/commands/memory.js.map +1 -0
  155. package/dist/commands/observations.d.ts +3 -0
  156. package/dist/commands/observations.d.ts.map +1 -0
  157. package/dist/commands/observations.js +27 -0
  158. package/dist/commands/observations.js.map +1 -0
  159. package/dist/commands/proposals.d.ts +3 -0
  160. package/dist/commands/proposals.d.ts.map +1 -0
  161. package/dist/commands/proposals.js +116 -0
  162. package/dist/commands/proposals.js.map +1 -0
  163. package/dist/commands/provenance.d.ts +3 -0
  164. package/dist/commands/provenance.d.ts.map +1 -0
  165. package/dist/commands/provenance.js +53 -0
  166. package/dist/commands/provenance.js.map +1 -0
  167. package/dist/commands/providers.d.ts +3 -0
  168. package/dist/commands/providers.d.ts.map +1 -0
  169. package/dist/commands/providers.js +212 -0
  170. package/dist/commands/providers.js.map +1 -0
  171. package/dist/commands/reviewers.d.ts +3 -0
  172. package/dist/commands/reviewers.d.ts.map +1 -0
  173. package/dist/commands/reviewers.js +78 -0
  174. package/dist/commands/reviewers.js.map +1 -0
  175. package/dist/commands/runs.d.ts +3 -0
  176. package/dist/commands/runs.d.ts.map +1 -0
  177. package/dist/commands/runs.js +223 -0
  178. package/dist/commands/runs.js.map +1 -0
  179. package/dist/commands/secrets.d.ts +18 -0
  180. package/dist/commands/secrets.d.ts.map +1 -0
  181. package/dist/commands/secrets.js +702 -0
  182. package/dist/commands/secrets.js.map +1 -0
  183. package/dist/commands/skills.d.ts +64 -0
  184. package/dist/commands/skills.d.ts.map +1 -0
  185. package/dist/commands/skills.js +430 -0
  186. package/dist/commands/skills.js.map +1 -0
  187. package/dist/commands/test.d.ts +5 -0
  188. package/dist/commands/test.d.ts.map +1 -0
  189. package/dist/commands/test.js +181 -0
  190. package/dist/commands/test.js.map +1 -0
  191. package/dist/commands/tokens.d.ts +3 -0
  192. package/dist/commands/tokens.d.ts.map +1 -0
  193. package/dist/commands/tokens.js +33 -0
  194. package/dist/commands/tokens.js.map +1 -0
  195. package/dist/commands/tools.d.ts +3 -0
  196. package/dist/commands/tools.d.ts.map +1 -0
  197. package/dist/commands/tools.js +162 -0
  198. package/dist/commands/tools.js.map +1 -0
  199. package/dist/commands/types.d.ts +54 -0
  200. package/dist/commands/types.d.ts.map +1 -0
  201. package/dist/commands/types.js +4 -0
  202. package/dist/commands/types.js.map +1 -0
  203. package/dist/commands/unwired.d.ts +22 -0
  204. package/dist/commands/unwired.d.ts.map +1 -0
  205. package/dist/commands/unwired.js +52 -0
  206. package/dist/commands/unwired.js.map +1 -0
  207. package/dist/commands/version.d.ts +8 -0
  208. package/dist/commands/version.d.ts.map +1 -0
  209. package/dist/commands/version.js +41 -0
  210. package/dist/commands/version.js.map +1 -0
  211. package/dist/config.d.ts +42 -0
  212. package/dist/config.d.ts.map +1 -0
  213. package/dist/config.js +83 -0
  214. package/dist/config.js.map +1 -0
  215. package/dist/context.d.ts +162 -0
  216. package/dist/context.d.ts.map +1 -0
  217. package/dist/context.js +45 -0
  218. package/dist/context.js.map +1 -0
  219. package/dist/deploy/defaults.d.ts +14 -0
  220. package/dist/deploy/defaults.d.ts.map +1 -0
  221. package/dist/deploy/defaults.js +37 -0
  222. package/dist/deploy/defaults.js.map +1 -0
  223. package/dist/deploy/envelope-loader.d.ts +24 -0
  224. package/dist/deploy/envelope-loader.d.ts.map +1 -0
  225. package/dist/deploy/envelope-loader.js +141 -0
  226. package/dist/deploy/envelope-loader.js.map +1 -0
  227. package/dist/deploy/post.d.ts +48 -0
  228. package/dist/deploy/post.d.ts.map +1 -0
  229. package/dist/deploy/post.js +210 -0
  230. package/dist/deploy/post.js.map +1 -0
  231. package/dist/deploy/response.d.ts +42 -0
  232. package/dist/deploy/response.d.ts.map +1 -0
  233. package/dist/deploy/response.js +128 -0
  234. package/dist/deploy/response.js.map +1 -0
  235. package/dist/deploy/runners.d.ts +218 -0
  236. package/dist/deploy/runners.d.ts.map +1 -0
  237. package/dist/deploy/runners.js +4 -0
  238. package/dist/deploy/runners.js.map +1 -0
  239. package/dist/dev/bundler.d.ts +10 -0
  240. package/dist/dev/bundler.d.ts.map +1 -0
  241. package/dist/dev/bundler.js +235 -0
  242. package/dist/dev/bundler.js.map +1 -0
  243. package/dist/dev/defaults.d.ts +140 -0
  244. package/dist/dev/defaults.d.ts.map +1 -0
  245. package/dist/dev/defaults.js +709 -0
  246. package/dist/dev/defaults.js.map +1 -0
  247. package/dist/dev/dev-only-imports.d.ts +15 -0
  248. package/dist/dev/dev-only-imports.d.ts.map +1 -0
  249. package/dist/dev/dev-only-imports.js +57 -0
  250. package/dist/dev/dev-only-imports.js.map +1 -0
  251. package/dist/dev/docker-compose.dev.yml +68 -0
  252. package/dist/dev/index-child.d.ts +2 -0
  253. package/dist/dev/index-child.d.ts.map +1 -0
  254. package/dist/dev/index-child.js +53 -0
  255. package/dist/dev/index-child.js.map +1 -0
  256. package/dist/dev/pack-code.d.ts +36 -0
  257. package/dist/dev/pack-code.d.ts.map +1 -0
  258. package/dist/dev/pack-code.js +129 -0
  259. package/dist/dev/pack-code.js.map +1 -0
  260. package/dist/dev/pack-env.d.ts +13 -0
  261. package/dist/dev/pack-env.d.ts.map +1 -0
  262. package/dist/dev/pack-env.js +36 -0
  263. package/dist/dev/pack-env.js.map +1 -0
  264. package/dist/dev/pack-service.d.ts +40 -0
  265. package/dist/dev/pack-service.d.ts.map +1 -0
  266. package/dist/dev/pack-service.js +189 -0
  267. package/dist/dev/pack-service.js.map +1 -0
  268. package/dist/dev/paths.d.ts +22 -0
  269. package/dist/dev/paths.d.ts.map +1 -0
  270. package/dist/dev/paths.js +35 -0
  271. package/dist/dev/paths.js.map +1 -0
  272. package/dist/dev/postgres-container.d.ts +77 -0
  273. package/dist/dev/postgres-container.d.ts.map +1 -0
  274. package/dist/dev/postgres-container.js +346 -0
  275. package/dist/dev/postgres-container.js.map +1 -0
  276. package/dist/dev/python-builder.d.ts +16 -0
  277. package/dist/dev/python-builder.d.ts.map +1 -0
  278. package/dist/dev/python-builder.js +122 -0
  279. package/dist/dev/python-builder.js.map +1 -0
  280. package/dist/dev/register.d.ts +71 -0
  281. package/dist/dev/register.d.ts.map +1 -0
  282. package/dist/dev/register.js +54 -0
  283. package/dist/dev/register.js.map +1 -0
  284. package/dist/dev/runners.d.ts +312 -0
  285. package/dist/dev/runners.d.ts.map +1 -0
  286. package/dist/dev/runners.js +4 -0
  287. package/dist/dev/runners.js.map +1 -0
  288. package/dist/dev/runtime-container.d.ts +71 -0
  289. package/dist/dev/runtime-container.d.ts.map +1 -0
  290. package/dist/dev/runtime-container.js +173 -0
  291. package/dist/dev/runtime-container.js.map +1 -0
  292. package/dist/dev/runtime-env.d.ts +62 -0
  293. package/dist/dev/runtime-env.d.ts.map +1 -0
  294. package/dist/dev/runtime-env.js +100 -0
  295. package/dist/dev/runtime-env.js.map +1 -0
  296. package/dist/dev/runtime-image.d.ts +26 -0
  297. package/dist/dev/runtime-image.d.ts.map +1 -0
  298. package/dist/dev/runtime-image.js +44 -0
  299. package/dist/dev/runtime-image.js.map +1 -0
  300. package/dist/dev/runtime-registry.d.ts +73 -0
  301. package/dist/dev/runtime-registry.d.ts.map +1 -0
  302. package/dist/dev/runtime-registry.js +111 -0
  303. package/dist/dev/runtime-registry.js.map +1 -0
  304. package/dist/env/defaults.d.ts +3 -0
  305. package/dist/env/defaults.d.ts.map +1 -0
  306. package/dist/env/defaults.js +22 -0
  307. package/dist/env/defaults.js.map +1 -0
  308. package/dist/env/pack-env-plan.d.ts +70 -0
  309. package/dist/env/pack-env-plan.d.ts.map +1 -0
  310. package/dist/env/pack-env-plan.js +236 -0
  311. package/dist/env/pack-env-plan.js.map +1 -0
  312. package/dist/env/parser.d.ts +9 -0
  313. package/dist/env/parser.d.ts.map +1 -0
  314. package/dist/env/parser.js +11 -0
  315. package/dist/env/parser.js.map +1 -0
  316. package/dist/env/project-env.d.ts +34 -0
  317. package/dist/env/project-env.d.ts.map +1 -0
  318. package/dist/env/project-env.js +45 -0
  319. package/dist/env/project-env.js.map +1 -0
  320. package/dist/env/runners.d.ts +22 -0
  321. package/dist/env/runners.d.ts.map +1 -0
  322. package/dist/env/runners.js +4 -0
  323. package/dist/env/runners.js.map +1 -0
  324. package/dist/env/writer.d.ts +7 -0
  325. package/dist/env/writer.d.ts.map +1 -0
  326. package/dist/env/writer.js +9 -0
  327. package/dist/env/writer.js.map +1 -0
  328. package/dist/errors.d.ts +31 -0
  329. package/dist/errors.d.ts.map +1 -0
  330. package/dist/errors.js +111 -0
  331. package/dist/errors.js.map +1 -0
  332. package/dist/help.d.ts +5 -0
  333. package/dist/help.d.ts.map +1 -0
  334. package/dist/help.js +61 -0
  335. package/dist/help.js.map +1 -0
  336. package/dist/index.d.ts +13 -0
  337. package/dist/index.d.ts.map +1 -0
  338. package/dist/index.js +13 -0
  339. package/dist/index.js.map +1 -0
  340. package/dist/init/augment-scaffolder.d.ts +86 -0
  341. package/dist/init/augment-scaffolder.d.ts.map +1 -0
  342. package/dist/init/augment-scaffolder.js +538 -0
  343. package/dist/init/augment-scaffolder.js.map +1 -0
  344. package/dist/init/dependency-specs.d.ts +58 -0
  345. package/dist/init/dependency-specs.d.ts.map +1 -0
  346. package/dist/init/dependency-specs.js +153 -0
  347. package/dist/init/dependency-specs.js.map +1 -0
  348. package/dist/init/gitignore-patcher.d.ts +23 -0
  349. package/dist/init/gitignore-patcher.d.ts.map +1 -0
  350. package/dist/init/gitignore-patcher.js +103 -0
  351. package/dist/init/gitignore-patcher.js.map +1 -0
  352. package/dist/init/mode-detect.d.ts +34 -0
  353. package/dist/init/mode-detect.d.ts.map +1 -0
  354. package/dist/init/mode-detect.js +115 -0
  355. package/dist/init/mode-detect.js.map +1 -0
  356. package/dist/init/package-json-patcher.d.ts +36 -0
  357. package/dist/init/package-json-patcher.d.ts.map +1 -0
  358. package/dist/init/package-json-patcher.js +128 -0
  359. package/dist/init/package-json-patcher.js.map +1 -0
  360. package/dist/init/pnpm-workspace-patcher.d.ts +55 -0
  361. package/dist/init/pnpm-workspace-patcher.d.ts.map +1 -0
  362. package/dist/init/pnpm-workspace-patcher.js +248 -0
  363. package/dist/init/pnpm-workspace-patcher.js.map +1 -0
  364. package/dist/init/pyproject-patcher.d.ts +56 -0
  365. package/dist/init/pyproject-patcher.d.ts.map +1 -0
  366. package/dist/init/pyproject-patcher.js +324 -0
  367. package/dist/init/pyproject-patcher.js.map +1 -0
  368. package/dist/init/python-augment.d.ts +22 -0
  369. package/dist/init/python-augment.d.ts.map +1 -0
  370. package/dist/init/python-augment.js +300 -0
  371. package/dist/init/python-augment.js.map +1 -0
  372. package/dist/init/template-files.d.ts +18 -0
  373. package/dist/init/template-files.d.ts.map +1 -0
  374. package/dist/init/template-files.js +53 -0
  375. package/dist/init/template-files.js.map +1 -0
  376. package/dist/key/defaults.d.ts +3 -0
  377. package/dist/key/defaults.d.ts.map +1 -0
  378. package/dist/key/defaults.js +60 -0
  379. package/dist/key/defaults.js.map +1 -0
  380. package/dist/key/fingerprint.d.ts +6 -0
  381. package/dist/key/fingerprint.d.ts.map +1 -0
  382. package/dist/key/fingerprint.js +25 -0
  383. package/dist/key/fingerprint.js.map +1 -0
  384. package/dist/key/paths.d.ts +30 -0
  385. package/dist/key/paths.d.ts.map +1 -0
  386. package/dist/key/paths.js +51 -0
  387. package/dist/key/paths.js.map +1 -0
  388. package/dist/key/runners.d.ts +60 -0
  389. package/dist/key/runners.d.ts.map +1 -0
  390. package/dist/key/runners.js +4 -0
  391. package/dist/key/runners.js.map +1 -0
  392. package/dist/main.d.ts +113 -0
  393. package/dist/main.d.ts.map +1 -0
  394. package/dist/main.js +199 -0
  395. package/dist/main.js.map +1 -0
  396. package/dist/mcp/launcher.d.ts +143 -0
  397. package/dist/mcp/launcher.d.ts.map +1 -0
  398. package/dist/mcp/launcher.js +393 -0
  399. package/dist/mcp/launcher.js.map +1 -0
  400. package/dist/mcp/preset-loader.d.ts +29 -0
  401. package/dist/mcp/preset-loader.d.ts.map +1 -0
  402. package/dist/mcp/preset-loader.js +217 -0
  403. package/dist/mcp/preset-loader.js.map +1 -0
  404. package/dist/mcp/preset-types.d.ts +71 -0
  405. package/dist/mcp/preset-types.d.ts.map +1 -0
  406. package/dist/mcp/preset-types.js +4 -0
  407. package/dist/mcp/preset-types.js.map +1 -0
  408. package/dist/mcp/presets/README.md +68 -0
  409. package/dist/mcp/presets/postgres.json +15 -0
  410. package/dist/output.d.ts +26 -0
  411. package/dist/output.d.ts.map +1 -0
  412. package/dist/output.js +46 -0
  413. package/dist/output.js.map +1 -0
  414. package/dist/pack-config.d.ts +37 -0
  415. package/dist/pack-config.d.ts.map +1 -0
  416. package/dist/pack-config.js +65 -0
  417. package/dist/pack-config.js.map +1 -0
  418. package/dist/package-manager.d.ts +33 -0
  419. package/dist/package-manager.d.ts.map +1 -0
  420. package/dist/package-manager.js +129 -0
  421. package/dist/package-manager.js.map +1 -0
  422. package/dist/parse.d.ts +88 -0
  423. package/dist/parse.d.ts.map +1 -0
  424. package/dist/parse.js +100 -0
  425. package/dist/parse.js.map +1 -0
  426. package/dist/providers/preset-loader.d.ts +47 -0
  427. package/dist/providers/preset-loader.d.ts.map +1 -0
  428. package/dist/providers/preset-loader.js +107 -0
  429. package/dist/providers/preset-loader.js.map +1 -0
  430. package/dist/providers/presets/anthropic.json +47 -0
  431. package/dist/providers/presets/gemini.json +40 -0
  432. package/dist/reference.d.ts +28 -0
  433. package/dist/reference.d.ts.map +1 -0
  434. package/dist/reference.js +52 -0
  435. package/dist/reference.js.map +1 -0
  436. package/dist/sdk-package.d.ts +9 -0
  437. package/dist/sdk-package.d.ts.map +1 -0
  438. package/dist/sdk-package.js +20 -0
  439. package/dist/sdk-package.js.map +1 -0
  440. package/dist/sdk-skills/kindgi-authoring-agents/SKILL.md +252 -0
  441. package/dist/sdk-skills/kindgi-authoring-flows/SKILL.md +302 -0
  442. package/dist/sdk-skills/kindgi-authoring-guardrails/SKILL.md +297 -0
  443. package/dist/sdk-skills/kindgi-authoring-mcp-servers/SKILL.md +289 -0
  444. package/dist/sdk-skills/kindgi-authoring-providers/SKILL.md +705 -0
  445. package/dist/sdk-skills/kindgi-authoring-tools/SKILL.md +298 -0
  446. package/dist/sdk-skills/kindgi-framework-feedback/SKILL.md +211 -0
  447. package/dist/sdk-skills/kindgi-getting-started/SKILL.md +189 -0
  448. package/dist/sdk-skills/kindgi-python-authoring-agents/SKILL.md +205 -0
  449. package/dist/sdk-skills/kindgi-python-authoring-flows/SKILL.md +325 -0
  450. package/dist/sdk-skills/kindgi-python-authoring-guardrails/SKILL.md +176 -0
  451. package/dist/sdk-skills/kindgi-python-authoring-tools/SKILL.md +305 -0
  452. package/dist/sdk-skills/kindgi-python-getting-started/SKILL.md +242 -0
  453. package/dist/stop-signal.d.ts +15 -0
  454. package/dist/stop-signal.d.ts.map +1 -0
  455. package/dist/stop-signal.js +16 -0
  456. package/dist/stop-signal.js.map +1 -0
  457. package/dist/templates/minimal/.nvmrc +1 -0
  458. package/dist/templates/minimal/AGENTS.md +23 -0
  459. package/dist/templates/minimal/README.md.tmpl +69 -0
  460. package/dist/templates/minimal/agents/.gitkeep +0 -0
  461. package/dist/templates/minimal/flows/.gitkeep +0 -0
  462. package/dist/templates/minimal/gitignore +8 -0
  463. package/dist/templates/minimal/guardrails/.gitkeep +0 -0
  464. package/dist/templates/minimal/kindgi.config.ts.tmpl +44 -0
  465. package/dist/templates/minimal/package.json.tmpl +25 -0
  466. package/dist/templates/minimal/pnpm-workspace.yaml +8 -0
  467. package/dist/templates/minimal/tools/.gitkeep +0 -0
  468. package/dist/templates/minimal/tsconfig.json.tmpl +27 -0
  469. package/dist/templates/minimal/vitest.config.ts.tmpl +14 -0
  470. package/dist/templates/python/AGENTS.md +30 -0
  471. package/dist/templates/python/README.md.tmpl +56 -0
  472. package/dist/templates/python/agents/echo_agent.py.tmpl +23 -0
  473. package/dist/templates/python/flows/echo_flow.py.tmpl +17 -0
  474. package/dist/templates/python/gitignore +9 -0
  475. package/dist/templates/python/guardrails/response_not_empty.py.tmpl +27 -0
  476. package/dist/templates/python/pyproject.toml.tmpl +42 -0
  477. package/dist/templates/python/tests/test_tools.py.tmpl +22 -0
  478. package/dist/templates/python/tools/echo.py.tmpl +27 -0
  479. package/dist/templates/python/tools/greet.py.tmpl +20 -0
  480. package/dist/templates/sample/.nvmrc +1 -0
  481. package/dist/templates/sample/AGENTS.md +23 -0
  482. package/dist/templates/sample/README.md.tmpl +85 -0
  483. package/dist/templates/sample/agents/echo-agent/index.ts.tmpl +34 -0
  484. package/dist/templates/sample/flows/echo-flow/index.ts.tmpl +59 -0
  485. package/dist/templates/sample/gitignore +8 -0
  486. package/dist/templates/sample/guardrails/response-not-empty/index.ts.tmpl +58 -0
  487. package/dist/templates/sample/kindgi.config.ts.tmpl +41 -0
  488. package/dist/templates/sample/package.json.tmpl +25 -0
  489. package/dist/templates/sample/pnpm-workspace.yaml +8 -0
  490. package/dist/templates/sample/tools/echo/index.test.ts.tmpl +31 -0
  491. package/dist/templates/sample/tools/echo/index.ts.tmpl +37 -0
  492. package/dist/templates/sample/tools/fetch-httpbin/index.ts.tmpl +60 -0
  493. package/dist/templates/sample/tools/greet/index.ts.tmpl +35 -0
  494. package/dist/templates/sample/tsconfig.json.tmpl +27 -0
  495. package/dist/templates/sample/vitest.config.ts.tmpl +14 -0
  496. package/dist/terminal-input.d.ts +17 -0
  497. package/dist/terminal-input.d.ts.map +1 -0
  498. package/dist/terminal-input.js +88 -0
  499. package/dist/terminal-input.js.map +1 -0
  500. package/dist/test/defaults.d.ts +3 -0
  501. package/dist/test/defaults.d.ts.map +1 -0
  502. package/dist/test/defaults.js +104 -0
  503. package/dist/test/defaults.js.map +1 -0
  504. package/dist/test/runners.d.ts +60 -0
  505. package/dist/test/runners.d.ts.map +1 -0
  506. package/dist/test/runners.js +4 -0
  507. package/dist/test/runners.js.map +1 -0
  508. package/dist/version-info.d.ts +9 -0
  509. package/dist/version-info.d.ts.map +1 -0
  510. package/dist/version-info.js +27 -0
  511. package/dist/version-info.js.map +1 -0
  512. package/dist/write-fully.d.ts +13 -0
  513. package/dist/write-fully.d.ts.map +1 -0
  514. package/dist/write-fully.js +17 -0
  515. package/dist/write-fully.js.map +1 -0
  516. package/package.json +63 -4
@@ -0,0 +1,55 @@
1
+ export declare const PNPM_WORKSPACE_FILE = "pnpm-workspace.yaml";
2
+ /** The dependency with an install script that Kindgi brings (it bundles the pack). */
3
+ export declare const ESBUILD = "esbuild";
4
+ /** Kindgi's decision for esbuild's install script: off, since esbuild works without it. */
5
+ export declare const ESBUILD_DECISION = false;
6
+ export type BuildDecisionEdit = {
7
+ readonly kind: 'edited';
8
+ readonly text: string;
9
+ /** `added`: a new entry (or block); `placeholder`: pnpm's placeholder replaced. */
10
+ readonly change: 'added' | 'placeholder';
11
+ }
12
+ /** `allowBuilds.<name>` already holds a decision (`true` or `false`): kept. */
13
+ | {
14
+ readonly kind: 'decided';
15
+ readonly value: boolean;
16
+ } | {
17
+ readonly kind: 'refused';
18
+ readonly reason: string;
19
+ };
20
+ /**
21
+ * Record `value` as the decision for `name`'s install script in a
22
+ * `pnpm-workspace.yaml`'s text, unless it already has one. Pure: the
23
+ * edited text, or why it was left as it is.
24
+ */
25
+ export declare function decideBuildInText(text: string, name: string, value: boolean): BuildDecisionEdit;
26
+ export type PnpmWorkspacePatchResult = {
27
+ readonly kind: 'created';
28
+ } | {
29
+ readonly kind: 'patched';
30
+ readonly change: 'added' | 'placeholder';
31
+ }
32
+ /** The app already decided (`true` or `false`): kept. */
33
+ | {
34
+ readonly kind: 'already-decided';
35
+ readonly value: boolean;
36
+ }
37
+ /** Not edited: the caller tells the user what to add by hand. */
38
+ | {
39
+ readonly kind: 'refused';
40
+ readonly reason: string;
41
+ } | {
42
+ readonly kind: 'error';
43
+ readonly message: string;
44
+ };
45
+ /**
46
+ * Make sure `pnpm install` has a decision for esbuild's install script
47
+ * (Kindgi's: off): edit the `pnpm-workspace.yaml` at `path`, or create it.
48
+ */
49
+ export declare function patchPnpmWorkspace(path: string): Promise<PnpmWorkspacePatchResult>;
50
+ /**
51
+ * The `pnpm-workspace.yaml` pnpm reads for an app at `dir`: the nearest
52
+ * one at or above it (the workspace root), else the app's own (to create).
53
+ */
54
+ export declare function pnpmWorkspaceFileFor(dir: string, exists?: (path: string) => Promise<boolean>): Promise<string>;
55
+ //# sourceMappingURL=pnpm-workspace-patcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pnpm-workspace-patcher.d.ts","sourceRoot":"","sources":["../../src/init/pnpm-workspace-patcher.ts"],"names":[],"mappings":"AAkCA,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAEzD,sFAAsF;AACtF,eAAO,MAAM,OAAO,YAAY,CAAC;AAEjC,2FAA2F;AAC3F,eAAO,MAAM,gBAAgB,QAAQ,CAAC;AAatC,MAAM,MAAM,iBAAiB,GACzB;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,mFAAmF;IACnF,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,aAAa,CAAC;CAC1C;AACH,+EAA+E;GAC7E;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GACrD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1D;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,iBAAiB,CAwB/F;AAED,MAAM,MAAM,wBAAwB,GAChC;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAC5B;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,aAAa,CAAA;CAAE;AACxE,yDAAyD;GACvD;IAAE,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE;AAC/D,iEAAiE;GAC/D;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzD;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAqBxF;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAc,GACtD,OAAO,CAAC,MAAM,CAAC,CAMjB"}
@@ -0,0 +1,248 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ // Copyright (C) 2026 Kindgi Inc.
3
+ /**
4
+ * `pnpm-workspace.yaml` patcher for augment mode in a pnpm app. pnpm 11+
5
+ * fails `pnpm install` (`ERR_PNPM_IGNORED_BUILDS`) when a dependency has
6
+ * an install script the workspace hasn't allowed or denied — and
7
+ * `@kindgi/cli` depends on esbuild, which has one. esbuild doesn't need
8
+ * it: its native binary comes from its `@esbuild/<platform>` package, and
9
+ * the script only checks it. So `kindgi init` records the decision that
10
+ * runs nothing, `allowBuilds.esbuild: false`, as the fresh templates' own
11
+ * `pnpm-workspace.yaml` does.
12
+ *
13
+ * The file pnpm reads is the workspace root's: the nearest
14
+ * `pnpm-workspace.yaml` at or above the app (a monorepo's root), else a new
15
+ * one in the app. An existing file is edited as text, so the app's own
16
+ * keys, comments and layout survive; every edit is checked by parsing the
17
+ * result, which must equal the original document with exactly that one
18
+ * change (the `pyproject.toml` patcher's rule). An edit that can't be made
19
+ * that way is refused and the caller tells the user what to add by hand.
20
+ *
21
+ * - no `allowBuilds` key → an `allowBuilds:` block appended at the end;
22
+ * - `allowBuilds` without `esbuild` → `esbuild: false` added to it;
23
+ * - pnpm's placeholder (`esbuild: set this to true or false`, written
24
+ * by a failed install) → replaced with `false`;
25
+ * - `esbuild: true` or `false` → the app has decided: nothing to do.
26
+ */
27
+ import { readFile, stat, writeFile } from 'node:fs/promises';
28
+ import { dirname, join } from 'node:path';
29
+ import { isDeepStrictEqual } from 'node:util';
30
+ import { isMap, isScalar, parseDocument } from 'yaml';
31
+ export const PNPM_WORKSPACE_FILE = 'pnpm-workspace.yaml';
32
+ /** The dependency with an install script that Kindgi brings (it bundles the pack). */
33
+ export const ESBUILD = 'esbuild';
34
+ /** Kindgi's decision for esbuild's install script: off, since esbuild works without it. */
35
+ export const ESBUILD_DECISION = false;
36
+ /** What pnpm writes for a build it was not told about. */
37
+ const PNPM_PLACEHOLDER = 'set this to true or false';
38
+ /** The block added to a file without `allowBuilds` (or written as a new file). */
39
+ const ALLOW_BUILDS_BLOCK = `# Install scripts pnpm runs (true) or skips (false); pnpm 11 stops an
40
+ # install until each one has a decision. esbuild works without its script
41
+ # (its binary comes from its @esbuild/<platform> package), so it stays off.
42
+ allowBuilds:
43
+ ${ESBUILD}: ${ESBUILD_DECISION}
44
+ `;
45
+ /**
46
+ * Record `value` as the decision for `name`'s install script in a
47
+ * `pnpm-workspace.yaml`'s text, unless it already has one. Pure: the
48
+ * edited text, or why it was left as it is.
49
+ */
50
+ export function decideBuildInText(text, name, value) {
51
+ const doc = parseDocument(text);
52
+ const parseError = doc.errors[0];
53
+ if (parseError !== undefined)
54
+ return refused(`it does not parse: ${parseError.message}`);
55
+ const root = doc.contents;
56
+ if (isNull(root))
57
+ return verified(text, appendBlock(text, name, value), name, value, 'added');
58
+ if (!isMap(root) || root.flow === true)
59
+ return refused('it is not a YAML mapping');
60
+ const allowBuilds = findPair(root, 'allowBuilds');
61
+ if (allowBuilds === undefined) {
62
+ return verified(text, appendBlock(text, name, value), name, value, 'added');
63
+ }
64
+ const builds = allowBuilds.value;
65
+ if (isNull(builds))
66
+ return addUnderEmptyKey(text, allowBuilds, name, value);
67
+ if (!isMap(builds))
68
+ return refused('allowBuilds is not a mapping');
69
+ const entry = findPair(builds, name);
70
+ if (entry !== undefined)
71
+ return editEntry(text, entry, name, value);
72
+ const edited = builds.flow === true
73
+ ? addToFlowMap(text, builds, name, value)
74
+ : addEntry(text, builds, name, value);
75
+ if (edited === undefined)
76
+ return refused('allowBuilds is laid out in a way init does not edit');
77
+ return verified(text, edited, name, value, 'added');
78
+ }
79
+ /**
80
+ * Make sure `pnpm install` has a decision for esbuild's install script
81
+ * (Kindgi's: off): edit the `pnpm-workspace.yaml` at `path`, or create it.
82
+ */
83
+ export async function patchPnpmWorkspace(path) {
84
+ let text;
85
+ try {
86
+ text = await readFile(path, 'utf8');
87
+ }
88
+ catch (err) {
89
+ if (err.code !== 'ENOENT') {
90
+ return { kind: 'error', message: `Failed to read ${path}: ${err.message}` };
91
+ }
92
+ }
93
+ const edit = text === undefined ? undefined : decideBuildInText(text, ESBUILD, ESBUILD_DECISION);
94
+ if (edit !== undefined && edit.kind !== 'edited') {
95
+ return edit.kind === 'decided'
96
+ ? { kind: 'already-decided', value: edit.value }
97
+ : { kind: 'refused', reason: edit.reason };
98
+ }
99
+ try {
100
+ await writeFile(path, edit === undefined ? ALLOW_BUILDS_BLOCK : edit.text, 'utf8');
101
+ }
102
+ catch (err) {
103
+ return { kind: 'error', message: `Failed to write ${path}: ${err.message}` };
104
+ }
105
+ return edit === undefined ? { kind: 'created' } : { kind: 'patched', change: edit.change };
106
+ }
107
+ /**
108
+ * The `pnpm-workspace.yaml` pnpm reads for an app at `dir`: the nearest
109
+ * one at or above it (the workspace root), else the app's own (to create).
110
+ */
111
+ export async function pnpmWorkspaceFileFor(dir, exists = fileExists) {
112
+ for (let current = dir;; current = dirname(current)) {
113
+ const candidate = join(current, PNPM_WORKSPACE_FILE);
114
+ if (await exists(candidate))
115
+ return candidate;
116
+ if (dirname(current) === current)
117
+ return join(dir, PNPM_WORKSPACE_FILE);
118
+ }
119
+ }
120
+ // ---------------------------------------------------------------------
121
+ // Edits
122
+ // ---------------------------------------------------------------------
123
+ function editEntry(text, entry, name, decision) {
124
+ const value = entry.value;
125
+ if (isScalar(value) && typeof value.value === 'boolean') {
126
+ return { kind: 'decided', value: value.value };
127
+ }
128
+ const range = value?.range;
129
+ if (isScalar(value) &&
130
+ typeof value.value === 'string' &&
131
+ value.value.trim().toLowerCase() === PNPM_PLACEHOLDER &&
132
+ range !== undefined &&
133
+ range !== null) {
134
+ const edited = `${text.slice(0, range[0])}${decision}${text.slice(range[1])}`;
135
+ return verified(text, edited, name, decision, 'placeholder');
136
+ }
137
+ return refused(`allowBuilds.${name} is neither true nor false`);
138
+ }
139
+ /** `allowBuilds:` with nothing under it: `name: <value>` on the next line. */
140
+ function addUnderEmptyKey(text, pair, name, value) {
141
+ const range = pair.value?.range;
142
+ // An explicit `null` / `~`, not an empty value.
143
+ if (range !== undefined && range !== null && range[0] !== range[1]) {
144
+ return refused('allowBuilds is null');
145
+ }
146
+ const keyStart = pair.key.range?.[0] ?? 0;
147
+ const indent = `${lineIndent(text, keyStart) ?? ''} `;
148
+ const edited = insert(text, lineEnd(text, keyStart), `\n${indent}${name}: ${value}`);
149
+ return verified(text, edited, name, value, 'added');
150
+ }
151
+ /** `name: <value>` as the last entry of a block `allowBuilds`, at its entries' indent. */
152
+ function addEntry(text, map, name, value) {
153
+ const firstKey = map.items[0]?.key;
154
+ const lastItem = map.items[map.items.length - 1];
155
+ const indent = lineIndent(text, firstKey?.range?.[0] ?? -1);
156
+ let end = (lastItem?.value ?? lastItem?.key)?.range?.[1];
157
+ if (indent === undefined || end === undefined)
158
+ return undefined;
159
+ // A nested value's range can run to the start of the next line.
160
+ while (end > 0 && /\s/.test(text[end - 1]))
161
+ end -= 1;
162
+ return insert(text, lineEnd(text, end), `\n${indent}${name}: ${value}`);
163
+ }
164
+ /** `name: <value>` as the last entry of a flow `allowBuilds` (`{ … }`). */
165
+ function addToFlowMap(text, map, name, value) {
166
+ const range = map.range;
167
+ if (range === undefined || range === null || text[range[1] - 1] !== '}')
168
+ return undefined;
169
+ let last = range[1] - 2;
170
+ while (last > range[0] && /\s/.test(text[last]))
171
+ last -= 1;
172
+ if (last === range[0])
173
+ return `${text.slice(0, range[0])}{ ${name}: ${value} }${text.slice(range[1])}`;
174
+ const entry = `${name}: ${value}`;
175
+ return insert(text, last + 1, text[last] === ',' ? ` ${entry}` : `, ${entry}`);
176
+ }
177
+ function appendBlock(text, name, value) {
178
+ const block = name === ESBUILD && value === ESBUILD_DECISION
179
+ ? ALLOW_BUILDS_BLOCK
180
+ : `allowBuilds:\n ${name}: ${value}\n`;
181
+ if (text.trim() === '')
182
+ return `${text}${block}`;
183
+ return `${text.endsWith('\n') ? text : `${text}\n`}\n${block}`;
184
+ }
185
+ // ---------------------------------------------------------------------
186
+ // Verification
187
+ // ---------------------------------------------------------------------
188
+ /**
189
+ * `after`, if it parses to exactly `before`'s document with
190
+ * `allowBuilds.<name>` set to `value`; refused otherwise.
191
+ */
192
+ function verified(before, after, name, value, change) {
193
+ const wanted = toPlain(before);
194
+ const got = toPlain(after);
195
+ if (wanted === undefined || got === undefined)
196
+ return refused('the edit would not parse');
197
+ const doc = isRecord(wanted) ? { ...wanted } : {};
198
+ doc.allowBuilds = { ...(isRecord(doc.allowBuilds) ? doc.allowBuilds : {}), [name]: value };
199
+ return isDeepStrictEqual(got, doc)
200
+ ? { kind: 'edited', text: after, change }
201
+ : refused('the edit would change more than intended');
202
+ }
203
+ /** The document as plain JSON values; `undefined` when it doesn't parse. */
204
+ function toPlain(text) {
205
+ const doc = parseDocument(text);
206
+ if (doc.errors.length > 0)
207
+ return undefined;
208
+ return JSON.parse(JSON.stringify(doc.toJS() ?? {}));
209
+ }
210
+ // ---------------------------------------------------------------------
211
+ // Helpers
212
+ // ---------------------------------------------------------------------
213
+ /** No document, or a `null` value. */
214
+ function isNull(node) {
215
+ return node === null || node === undefined || (isScalar(node) && node.value === null);
216
+ }
217
+ function findPair(map, key) {
218
+ return map.items.find((p) => isScalar(p.key) && p.key.value === key);
219
+ }
220
+ /** The whitespace before `offset` on its line; `undefined` when other text precedes it. */
221
+ function lineIndent(text, offset) {
222
+ if (offset < 0)
223
+ return undefined;
224
+ const indent = text.slice(text.lastIndexOf('\n', offset - 1) + 1, offset);
225
+ return /^[ \t]*$/.test(indent) ? indent : undefined;
226
+ }
227
+ function lineEnd(text, from) {
228
+ const nl = text.indexOf('\n', from);
229
+ return nl === -1 ? text.length : nl;
230
+ }
231
+ function insert(text, at, what) {
232
+ return `${text.slice(0, at)}${what}${text.slice(at)}`;
233
+ }
234
+ function refused(reason) {
235
+ return { kind: 'refused', reason };
236
+ }
237
+ function isRecord(value) {
238
+ return value !== null && typeof value === 'object' && !Array.isArray(value);
239
+ }
240
+ async function fileExists(path) {
241
+ try {
242
+ return (await stat(path)).isFile();
243
+ }
244
+ catch {
245
+ return false;
246
+ }
247
+ }
248
+ //# sourceMappingURL=pnpm-workspace-patcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pnpm-workspace-patcher.js","sourceRoot":"","sources":["../../src/init/pnpm-workspace-patcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ type Doc = Record<string, unknown>;
2
+ /** How the app declares its dependencies — whether `kindgi init` can add one. */
3
+ export type DependencyStyle =
4
+ /** `[project].dependencies` (PEP 621): editable. */
5
+ 'pep621'
6
+ /** `dependencies` is in `[project].dynamic` (setuptools reading a file). */
7
+ | 'dynamic'
8
+ /** No `[project]` table — Poetry 1's `[tool.poetry]`, `setup.py`, …. */
9
+ | 'none';
10
+ export interface PyprojectInfo {
11
+ readonly name: string | undefined;
12
+ readonly version: string | undefined;
13
+ /** It already has a `[tool.kindgi]` table — it is a pack. */
14
+ readonly isPack: boolean;
15
+ readonly dependencyStyle: DependencyStyle;
16
+ /** `kindgi` is already one of `[project].dependencies`. */
17
+ readonly hasKindgiDependency: boolean;
18
+ /** `[tool.poetry]` is present. */
19
+ readonly usesPoetry: boolean;
20
+ /** `[tool.uv]` is present, or the build backend is `uv_build`. */
21
+ readonly usesUv: boolean;
22
+ /** `[tool.uv] required-version`, when set. */
23
+ readonly uvRequiredVersion: string | undefined;
24
+ }
25
+ type Edit = {
26
+ readonly kind: 'ok';
27
+ readonly text: string;
28
+ } | {
29
+ readonly kind: 'err';
30
+ readonly message: string;
31
+ };
32
+ export declare function readPyproject(text: string): {
33
+ readonly kind: 'ok';
34
+ readonly info: PyprojectInfo;
35
+ } | {
36
+ readonly kind: 'err';
37
+ readonly message: string;
38
+ };
39
+ /** The normalized distribution name of a requirement (`Kindgi[x]>=1` → `kindgi`). */
40
+ export declare function requirementName(requirement: string): string;
41
+ /** PEP 503 normalization: lowercase, runs of `-`, `_`, `.` become `-`. */
42
+ export declare function normalizeName(name: string): string;
43
+ /** Add `requirement` to `[project].dependencies` (creating the key if absent). */
44
+ export declare function addProjectDependency(text: string, requirement: string): Edit;
45
+ /** Add `name = <inlineTable>` under `[tool.uv.sources]` (creating the table at the end if absent). */
46
+ export declare function addUvSource(text: string, name: string, inlineTable: string): Edit;
47
+ /**
48
+ * Set `key = <tomlValue>` in the table `dotted` (e.g. `tool.uv`): right
49
+ * under its header, or in a new table at the end of the file. The key must
50
+ * not be set yet (the verification refuses otherwise).
51
+ */
52
+ export declare function addTableKey(text: string, dotted: string, key: string, tomlValue: string): Edit;
53
+ /** Append `block` (whole tables) at the end of the file; it must add exactly `expected`. */
54
+ export declare function appendTables(text: string, block: string, expected: Doc): Edit;
55
+ export {};
56
+ //# sourceMappingURL=pyproject-patcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pyproject-patcher.d.ts","sourceRoot":"","sources":["../../src/init/pyproject-patcher.ts"],"names":[],"mappings":"AAmBA,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEnC,iFAAiF;AACjF,MAAM,MAAM,eAAe;AACzB,oDAAoD;AAClD,QAAQ;AACV,4EAA4E;GAC1E,SAAS;AACX,wEAAwE;GACtE,MAAM,CAAC;AAEX,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,6DAA6D;IAC7D,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,2DAA2D;IAC3D,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;IACtC,kCAAkC;IAClC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,kEAAkE;IAClE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,8CAA8C;IAC9C,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;CAChD;AAED,KAAK,IAAI,GACL;IAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvD,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,GAEV;IAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;CAAE,GACrD;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CA6BrD;AAED,qFAAqF;AACrF,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAG3D;AAED,0EAA0E;AAC1E,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,kFAAkF;AAClF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAuB5E;AAED,sGAAsG;AACtG,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAEjF;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAmB9F;AAED,4FAA4F;AAC5F,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,IAAI,CAG7E"}