@askdkc/kiokuko 0.1.17 → 0.1.20

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 (539) hide show
  1. package/README.ja.md +91 -112
  2. package/README.ko.md +90 -102
  3. package/README.md +103 -262
  4. package/README.zh-CN.md +88 -102
  5. package/dist/agent-file/atomic-write.d.ts +90 -3
  6. package/dist/agent-file/atomic-write.d.ts.map +1 -1
  7. package/dist/agent-file/atomic-write.js +990 -14
  8. package/dist/agent-file/atomic-write.js.map +1 -1
  9. package/dist/agent-file/managed-block.d.ts +12 -1
  10. package/dist/agent-file/managed-block.d.ts.map +1 -1
  11. package/dist/agent-file/managed-block.js +49 -4
  12. package/dist/agent-file/managed-block.js.map +1 -1
  13. package/dist/agent-file/render.d.ts +1 -1
  14. package/dist/agent-file/render.d.ts.map +1 -1
  15. package/dist/agent-file/render.js +10 -7
  16. package/dist/agent-file/render.js.map +1 -1
  17. package/dist/akinator/agent-task.d.ts +11 -22
  18. package/dist/akinator/agent-task.d.ts.map +1 -1
  19. package/dist/akinator/agent-task.js +454 -99
  20. package/dist/akinator/agent-task.js.map +1 -1
  21. package/dist/akinator/capabilities.d.ts +18 -6
  22. package/dist/akinator/capabilities.d.ts.map +1 -1
  23. package/dist/akinator/capabilities.js +72 -35
  24. package/dist/akinator/capabilities.js.map +1 -1
  25. package/dist/akinator/capability-binding.d.ts +11 -0
  26. package/dist/akinator/capability-binding.d.ts.map +1 -0
  27. package/dist/akinator/capability-binding.js +56 -0
  28. package/dist/akinator/capability-binding.js.map +1 -0
  29. package/dist/akinator/domain.js +2 -2
  30. package/dist/akinator/domain.js.map +1 -1
  31. package/dist/akinator/knowledge-path.d.ts.map +1 -1
  32. package/dist/akinator/knowledge-path.js +409 -39
  33. package/dist/akinator/knowledge-path.js.map +1 -1
  34. package/dist/akinator/orchestrator.d.ts +3 -4
  35. package/dist/akinator/orchestrator.d.ts.map +1 -1
  36. package/dist/akinator/orchestrator.js +1 -4
  37. package/dist/akinator/orchestrator.js.map +1 -1
  38. package/dist/akinator/service.d.ts +0 -4
  39. package/dist/akinator/service.d.ts.map +1 -1
  40. package/dist/akinator/service.js +19 -35
  41. package/dist/akinator/service.js.map +1 -1
  42. package/dist/akinator/skill-discovery-attempt.d.ts +20 -0
  43. package/dist/akinator/skill-discovery-attempt.d.ts.map +1 -0
  44. package/dist/akinator/skill-discovery-attempt.js +390 -0
  45. package/dist/akinator/skill-discovery-attempt.js.map +1 -0
  46. package/dist/akinator/store.d.ts.map +1 -1
  47. package/dist/akinator/store.js +107 -52
  48. package/dist/akinator/store.js.map +1 -1
  49. package/dist/akinator/types.d.ts +0 -12
  50. package/dist/akinator/types.d.ts.map +1 -1
  51. package/dist/cli.d.ts +2 -0
  52. package/dist/cli.d.ts.map +1 -1
  53. package/dist/cli.js +560 -150
  54. package/dist/cli.js.map +1 -1
  55. package/dist/client/server-client.d.ts +5 -3
  56. package/dist/client/server-client.d.ts.map +1 -1
  57. package/dist/client/server-client.js +486 -181
  58. package/dist/client/server-client.js.map +1 -1
  59. package/dist/commands/agent.d.ts +2 -0
  60. package/dist/commands/agent.d.ts.map +1 -1
  61. package/dist/commands/agent.js +861 -86
  62. package/dist/commands/agent.js.map +1 -1
  63. package/dist/commands/backup.d.ts +2 -1
  64. package/dist/commands/backup.d.ts.map +1 -1
  65. package/dist/commands/backup.js +71 -8
  66. package/dist/commands/backup.js.map +1 -1
  67. package/dist/commands/doctor.d.ts +5 -1
  68. package/dist/commands/doctor.d.ts.map +1 -1
  69. package/dist/commands/doctor.js +70 -26
  70. package/dist/commands/doctor.js.map +1 -1
  71. package/dist/commands/export.d.ts +0 -4
  72. package/dist/commands/export.d.ts.map +1 -1
  73. package/dist/commands/export.js +191 -32
  74. package/dist/commands/export.js.map +1 -1
  75. package/dist/commands/import.d.ts +10 -1
  76. package/dist/commands/import.d.ts.map +1 -1
  77. package/dist/commands/import.js +592 -113
  78. package/dist/commands/import.js.map +1 -1
  79. package/dist/commands/init.d.ts +19 -1
  80. package/dist/commands/init.d.ts.map +1 -1
  81. package/dist/commands/init.js +569 -22
  82. package/dist/commands/init.js.map +1 -1
  83. package/dist/commands/purge.d.ts.map +1 -1
  84. package/dist/commands/purge.js +3 -0
  85. package/dist/commands/purge.js.map +1 -1
  86. package/dist/commands/setup.d.ts +37 -8
  87. package/dist/commands/setup.d.ts.map +1 -1
  88. package/dist/commands/setup.js +448 -86
  89. package/dist/commands/setup.js.map +1 -1
  90. package/dist/commands/skills.d.ts +9 -0
  91. package/dist/commands/skills.d.ts.map +1 -0
  92. package/dist/commands/skills.js +317 -0
  93. package/dist/commands/skills.js.map +1 -0
  94. package/dist/commands/use.d.ts +10 -2
  95. package/dist/commands/use.d.ts.map +1 -1
  96. package/dist/commands/use.js +851 -73
  97. package/dist/commands/use.js.map +1 -1
  98. package/dist/config/paths.d.ts +11 -1
  99. package/dist/config/paths.d.ts.map +1 -1
  100. package/dist/config/paths.js +64 -29
  101. package/dist/config/paths.js.map +1 -1
  102. package/dist/config/project-config.d.ts +1 -0
  103. package/dist/config/project-config.d.ts.map +1 -1
  104. package/dist/config/project-config.js +70 -32
  105. package/dist/config/project-config.js.map +1 -1
  106. package/dist/context/broker.d.ts +28 -14
  107. package/dist/context/broker.d.ts.map +1 -1
  108. package/dist/context/broker.js +604 -145
  109. package/dist/context/broker.js.map +1 -1
  110. package/dist/context/delivery.d.ts +6 -21
  111. package/dist/context/delivery.d.ts.map +1 -1
  112. package/dist/context/delivery.js +196 -147
  113. package/dist/context/delivery.js.map +1 -1
  114. package/dist/context/feedback.d.ts +11 -12
  115. package/dist/context/feedback.d.ts.map +1 -1
  116. package/dist/context/feedback.js +229 -261
  117. package/dist/context/feedback.js.map +1 -1
  118. package/dist/context/ranking.d.ts +1 -12
  119. package/dist/context/ranking.d.ts.map +1 -1
  120. package/dist/context/ranking.js +13 -4
  121. package/dist/context/ranking.js.map +1 -1
  122. package/dist/context/recommendations.d.ts +0 -5
  123. package/dist/context/recommendations.d.ts.map +1 -1
  124. package/dist/context/recommendations.js +0 -1
  125. package/dist/context/recommendations.js.map +1 -1
  126. package/dist/context/run-state.d.ts +26 -0
  127. package/dist/context/run-state.d.ts.map +1 -0
  128. package/dist/context/run-state.js +399 -0
  129. package/dist/context/run-state.js.map +1 -0
  130. package/dist/context/scoped-broker.d.ts +17 -5
  131. package/dist/context/scoped-broker.d.ts.map +1 -1
  132. package/dist/context/scoped-broker.js +512 -106
  133. package/dist/context/scoped-broker.js.map +1 -1
  134. package/dist/context/selection-state.d.ts +19 -0
  135. package/dist/context/selection-state.d.ts.map +1 -0
  136. package/dist/context/selection-state.js +250 -0
  137. package/dist/context/selection-state.js.map +1 -0
  138. package/dist/db/adapter.d.ts +5 -3
  139. package/dist/db/adapter.d.ts.map +1 -1
  140. package/dist/db/adapter.js +7 -3
  141. package/dist/db/adapter.js.map +1 -1
  142. package/dist/db/capabilities.d.ts.map +1 -1
  143. package/dist/db/capabilities.js +34 -16
  144. package/dist/db/capabilities.js.map +1 -1
  145. package/dist/db/connection.d.ts +8 -0
  146. package/dist/db/connection.d.ts.map +1 -1
  147. package/dist/db/connection.js +55 -26
  148. package/dist/db/connection.js.map +1 -1
  149. package/dist/db/migrate.d.ts +28 -7
  150. package/dist/db/migrate.d.ts.map +1 -1
  151. package/dist/db/migrate.js +106 -78
  152. package/dist/db/migrate.js.map +1 -1
  153. package/dist/db/sqlite-retry.d.ts +11 -0
  154. package/dist/db/sqlite-retry.d.ts.map +1 -0
  155. package/dist/db/sqlite-retry.js +66 -0
  156. package/dist/db/sqlite-retry.js.map +1 -0
  157. package/dist/db/transaction.d.ts +13 -0
  158. package/dist/db/transaction.d.ts.map +1 -1
  159. package/dist/db/transaction.js +53 -24
  160. package/dist/db/transaction.js.map +1 -1
  161. package/dist/db/upgrade-backup.d.ts +58 -2
  162. package/dist/db/upgrade-backup.d.ts.map +1 -1
  163. package/dist/db/upgrade-backup.js +758 -28
  164. package/dist/db/upgrade-backup.js.map +1 -1
  165. package/dist/errors.d.ts +4 -0
  166. package/dist/errors.d.ts.map +1 -1
  167. package/dist/errors.js +29 -1
  168. package/dist/errors.js.map +1 -1
  169. package/dist/gateway/agent-service.d.ts +4 -1
  170. package/dist/gateway/agent-service.d.ts.map +1 -1
  171. package/dist/gateway/agent-service.js +71 -58
  172. package/dist/gateway/agent-service.js.map +1 -1
  173. package/dist/gateway/checkpoint-service.d.ts +1 -0
  174. package/dist/gateway/checkpoint-service.d.ts.map +1 -1
  175. package/dist/gateway/checkpoint-service.js +47 -24
  176. package/dist/gateway/checkpoint-service.js.map +1 -1
  177. package/dist/ledger/archive.d.ts +1 -4
  178. package/dist/ledger/archive.d.ts.map +1 -1
  179. package/dist/ledger/archive.js +77 -39
  180. package/dist/ledger/archive.js.map +1 -1
  181. package/dist/ledger/maintenance.d.ts +0 -11
  182. package/dist/ledger/maintenance.d.ts.map +1 -1
  183. package/dist/ledger/maintenance.js +24 -40
  184. package/dist/ledger/maintenance.js.map +1 -1
  185. package/dist/ledger/projection.d.ts +0 -1
  186. package/dist/ledger/projection.d.ts.map +1 -1
  187. package/dist/ledger/projection.js.map +1 -1
  188. package/dist/ledger/promotion.d.ts +0 -9
  189. package/dist/ledger/promotion.d.ts.map +1 -1
  190. package/dist/ledger/promotion.js.map +1 -1
  191. package/dist/ledger/query.d.ts +1 -15
  192. package/dist/ledger/query.d.ts.map +1 -1
  193. package/dist/ledger/query.js.map +1 -1
  194. package/dist/ledger/store.d.ts +0 -1
  195. package/dist/ledger/store.d.ts.map +1 -1
  196. package/dist/ledger/store.js +11 -8
  197. package/dist/ledger/store.js.map +1 -1
  198. package/dist/ledger/types.d.ts +0 -4
  199. package/dist/ledger/types.d.ts.map +1 -1
  200. package/dist/ledger/types.js.map +1 -1
  201. package/dist/ledger/validate.d.ts.map +1 -1
  202. package/dist/ledger/validate.js +0 -5
  203. package/dist/ledger/validate.js.map +1 -1
  204. package/dist/mcp/server.d.ts +4 -0
  205. package/dist/mcp/server.d.ts.map +1 -1
  206. package/dist/mcp/server.js +105 -54
  207. package/dist/mcp/server.js.map +1 -1
  208. package/dist/memory/audit.d.ts +0 -1
  209. package/dist/memory/audit.d.ts.map +1 -1
  210. package/dist/memory/audit.js +0 -1
  211. package/dist/memory/audit.js.map +1 -1
  212. package/dist/memory/curator.d.ts.map +1 -1
  213. package/dist/memory/curator.js +172 -96
  214. package/dist/memory/curator.js.map +1 -1
  215. package/dist/memory/entries.d.ts +12 -2
  216. package/dist/memory/entries.d.ts.map +1 -1
  217. package/dist/memory/entries.js +199 -115
  218. package/dist/memory/entries.js.map +1 -1
  219. package/dist/memory/federated-retrieval.d.ts +12 -1
  220. package/dist/memory/federated-retrieval.d.ts.map +1 -1
  221. package/dist/memory/federated-retrieval.js +183 -70
  222. package/dist/memory/federated-retrieval.js.map +1 -1
  223. package/dist/memory/hybrid-retrieval.d.ts +5 -11
  224. package/dist/memory/hybrid-retrieval.d.ts.map +1 -1
  225. package/dist/memory/hybrid-retrieval.js +78 -58
  226. package/dist/memory/hybrid-retrieval.js.map +1 -1
  227. package/dist/memory/lifecycle.d.ts.map +1 -1
  228. package/dist/memory/lifecycle.js +17 -13
  229. package/dist/memory/lifecycle.js.map +1 -1
  230. package/dist/memory/rebuild-search.d.ts +5 -0
  231. package/dist/memory/rebuild-search.d.ts.map +1 -1
  232. package/dist/memory/rebuild-search.js +101 -76
  233. package/dist/memory/rebuild-search.js.map +1 -1
  234. package/dist/memory/retrieval-query.d.ts +0 -5
  235. package/dist/memory/retrieval-query.d.ts.map +1 -1
  236. package/dist/memory/retrieval-query.js +0 -5
  237. package/dist/memory/retrieval-query.js.map +1 -1
  238. package/dist/memory/retrieval.d.ts.map +1 -1
  239. package/dist/memory/retrieval.js +25 -131
  240. package/dist/memory/retrieval.js.map +1 -1
  241. package/dist/memory/revisions.d.ts +76 -1
  242. package/dist/memory/revisions.d.ts.map +1 -1
  243. package/dist/memory/revisions.js +540 -36
  244. package/dist/memory/revisions.js.map +1 -1
  245. package/dist/memory/scoped-memory.d.ts +16 -1
  246. package/dist/memory/scoped-memory.d.ts.map +1 -1
  247. package/dist/memory/scoped-memory.js +240 -107
  248. package/dist/memory/scoped-memory.js.map +1 -1
  249. package/dist/memory/secrets.d.ts +2 -0
  250. package/dist/memory/secrets.d.ts.map +1 -1
  251. package/dist/memory/secrets.js +36 -0
  252. package/dist/memory/secrets.js.map +1 -1
  253. package/dist/memory/structured-memory.d.ts +3 -2
  254. package/dist/memory/structured-memory.d.ts.map +1 -1
  255. package/dist/memory/structured-memory.js +54 -22
  256. package/dist/memory/structured-memory.js.map +1 -1
  257. package/dist/memory/workspaces.d.ts +9 -0
  258. package/dist/memory/workspaces.d.ts.map +1 -1
  259. package/dist/memory/workspaces.js +67 -0
  260. package/dist/memory/workspaces.js.map +1 -1
  261. package/dist/package-version.d.ts +2 -0
  262. package/dist/package-version.d.ts.map +1 -0
  263. package/dist/package-version.js +7 -0
  264. package/dist/package-version.js.map +1 -0
  265. package/dist/repository/binding.d.ts +5 -0
  266. package/dist/repository/binding.d.ts.map +1 -1
  267. package/dist/repository/binding.js +117 -17
  268. package/dist/repository/binding.js.map +1 -1
  269. package/dist/repository/framework-version.d.ts +8 -0
  270. package/dist/repository/framework-version.d.ts.map +1 -0
  271. package/dist/repository/framework-version.js +29 -0
  272. package/dist/repository/framework-version.js.map +1 -0
  273. package/dist/repository/identity-value.d.ts +4 -0
  274. package/dist/repository/identity-value.d.ts.map +1 -0
  275. package/dist/repository/identity-value.js +24 -0
  276. package/dist/repository/identity-value.js.map +1 -0
  277. package/dist/repository/identity.d.ts.map +1 -1
  278. package/dist/repository/identity.js +2 -0
  279. package/dist/repository/identity.js.map +1 -1
  280. package/dist/repository/project-fingerprint.d.ts +14 -2
  281. package/dist/repository/project-fingerprint.d.ts.map +1 -1
  282. package/dist/repository/project-fingerprint.js +312 -33
  283. package/dist/repository/project-fingerprint.js.map +1 -1
  284. package/dist/repository/remote-url.d.ts +0 -1
  285. package/dist/repository/remote-url.d.ts.map +1 -1
  286. package/dist/repository/remote-url.js +0 -1
  287. package/dist/repository/remote-url.js.map +1 -1
  288. package/dist/runtime-version.d.ts +2 -1
  289. package/dist/runtime-version.d.ts.map +1 -1
  290. package/dist/runtime-version.js +21 -4
  291. package/dist/runtime-version.js.map +1 -1
  292. package/dist/serialization/boundary-json.d.ts +20 -0
  293. package/dist/serialization/boundary-json.d.ts.map +1 -0
  294. package/dist/serialization/boundary-json.js +129 -0
  295. package/dist/serialization/boundary-json.js.map +1 -0
  296. package/dist/serialization/envelope.js +1 -1
  297. package/dist/serialization/envelope.js.map +1 -1
  298. package/dist/serialization/validate.d.ts +7 -0
  299. package/dist/serialization/validate.d.ts.map +1 -1
  300. package/dist/serialization/validate.js +53 -13
  301. package/dist/serialization/validate.js.map +1 -1
  302. package/dist/server/app.js +1 -1
  303. package/dist/server/app.js.map +1 -1
  304. package/dist/server/http.d.ts +4 -3
  305. package/dist/server/http.d.ts.map +1 -1
  306. package/dist/server/http.js +90 -50
  307. package/dist/server/http.js.map +1 -1
  308. package/dist/server/idempotency.d.ts +0 -6
  309. package/dist/server/idempotency.d.ts.map +1 -1
  310. package/dist/server/idempotency.js.map +1 -1
  311. package/dist/server/router.d.ts.map +1 -1
  312. package/dist/server/router.js +21 -4
  313. package/dist/server/router.js.map +1 -1
  314. package/dist/server/routes/agent-capability-gate.d.ts +40 -0
  315. package/dist/server/routes/agent-capability-gate.d.ts.map +1 -0
  316. package/dist/server/routes/agent-capability-gate.js +182 -0
  317. package/dist/server/routes/agent-capability-gate.js.map +1 -0
  318. package/dist/server/routes/agent-events.d.ts.map +1 -1
  319. package/dist/server/routes/agent-events.js +8 -1
  320. package/dist/server/routes/agent-events.js.map +1 -1
  321. package/dist/server/routes/agent-intake.d.ts.map +1 -1
  322. package/dist/server/routes/agent-intake.js +10 -2
  323. package/dist/server/routes/agent-intake.js.map +1 -1
  324. package/dist/server/routes/agent-promotions.d.ts.map +1 -1
  325. package/dist/server/routes/agent-promotions.js +5 -2
  326. package/dist/server/routes/agent-promotions.js.map +1 -1
  327. package/dist/server/routes/agent-runs.d.ts.map +1 -1
  328. package/dist/server/routes/agent-runs.js +18 -4
  329. package/dist/server/routes/agent-runs.js.map +1 -1
  330. package/dist/server/routes/request-binding.d.ts +5 -0
  331. package/dist/server/routes/request-binding.d.ts.map +1 -0
  332. package/dist/server/routes/request-binding.js +49 -0
  333. package/dist/server/routes/request-binding.js.map +1 -0
  334. package/dist/server/routes/task5-support.d.ts +1 -8
  335. package/dist/server/routes/task5-support.d.ts.map +1 -1
  336. package/dist/server/routes/task5-support.js +1 -17
  337. package/dist/server/routes/task5-support.js.map +1 -1
  338. package/dist/server/routes/task5.d.ts.map +1 -1
  339. package/dist/server/routes/task5.js +106 -36
  340. package/dist/server/routes/task5.js.map +1 -1
  341. package/dist/server/write-queue.js +2 -2
  342. package/dist/server/write-queue.js.map +1 -1
  343. package/dist/setup/claude-config.d.ts +4 -1
  344. package/dist/setup/claude-config.d.ts.map +1 -1
  345. package/dist/setup/claude-config.js +62 -4
  346. package/dist/setup/claude-config.js.map +1 -1
  347. package/dist/setup/client-detection.d.ts +7 -2
  348. package/dist/setup/client-detection.d.ts.map +1 -1
  349. package/dist/setup/client-detection.js +27 -9
  350. package/dist/setup/client-detection.js.map +1 -1
  351. package/dist/setup/hermes-config.d.ts +4 -1
  352. package/dist/setup/hermes-config.d.ts.map +1 -1
  353. package/dist/setup/hermes-config.js +71 -17
  354. package/dist/setup/hermes-config.js.map +1 -1
  355. package/dist/setup/legacy-client-cleanup.d.ts +6 -0
  356. package/dist/setup/legacy-client-cleanup.d.ts.map +1 -0
  357. package/dist/setup/legacy-client-cleanup.js +152 -0
  358. package/dist/setup/legacy-client-cleanup.js.map +1 -0
  359. package/dist/setup/managed-text.d.ts.map +1 -1
  360. package/dist/setup/managed-text.js +11 -1
  361. package/dist/setup/managed-text.js.map +1 -1
  362. package/dist/setup/mcp-conflict.d.ts +4 -0
  363. package/dist/setup/mcp-conflict.d.ts.map +1 -0
  364. package/dist/setup/mcp-conflict.js +15 -0
  365. package/dist/setup/mcp-conflict.js.map +1 -0
  366. package/dist/setup/opencode-config.d.ts +4 -1
  367. package/dist/setup/opencode-config.d.ts.map +1 -1
  368. package/dist/setup/opencode-config.js +65 -5
  369. package/dist/setup/opencode-config.js.map +1 -1
  370. package/dist/setup/render.d.ts +4 -1
  371. package/dist/setup/render.d.ts.map +1 -1
  372. package/dist/setup/render.js +168 -18
  373. package/dist/setup/render.js.map +1 -1
  374. package/dist/setup/standard-skills.d.ts +16 -2
  375. package/dist/setup/standard-skills.d.ts.map +1 -1
  376. package/dist/setup/standard-skills.js +37 -13
  377. package/dist/setup/standard-skills.js.map +1 -1
  378. package/dist/setup/strict-json.d.ts +7 -0
  379. package/dist/setup/strict-json.d.ts.map +1 -0
  380. package/dist/setup/strict-json.js +98 -0
  381. package/dist/setup/strict-json.js.map +1 -0
  382. package/dist/setup/strict-toml.d.ts +18 -0
  383. package/dist/setup/strict-toml.d.ts.map +1 -0
  384. package/dist/setup/strict-toml.js +491 -0
  385. package/dist/setup/strict-toml.js.map +1 -0
  386. package/dist/skills/cache.d.ts +15 -0
  387. package/dist/skills/cache.d.ts.map +1 -0
  388. package/dist/skills/cache.js +19 -0
  389. package/dist/skills/cache.js.map +1 -0
  390. package/dist/skills/candidate-ranking.d.ts +15 -0
  391. package/dist/skills/candidate-ranking.d.ts.map +1 -0
  392. package/dist/skills/candidate-ranking.js +52 -0
  393. package/dist/skills/candidate-ranking.js.map +1 -0
  394. package/dist/skills/chunking.d.ts +11 -0
  395. package/dist/skills/chunking.d.ts.map +1 -0
  396. package/dist/skills/chunking.js +291 -0
  397. package/dist/skills/chunking.js.map +1 -0
  398. package/dist/skills/config.d.ts +19 -0
  399. package/dist/skills/config.d.ts.map +1 -0
  400. package/dist/skills/config.js +103 -0
  401. package/dist/skills/config.js.map +1 -0
  402. package/dist/skills/discovery-service.d.ts +26 -0
  403. package/dist/skills/discovery-service.d.ts.map +1 -0
  404. package/dist/skills/discovery-service.js +921 -0
  405. package/dist/skills/discovery-service.js.map +1 -0
  406. package/dist/skills/external-transport.d.ts +2 -0
  407. package/dist/skills/external-transport.d.ts.map +1 -0
  408. package/dist/skills/external-transport.js +30 -0
  409. package/dist/skills/external-transport.js.map +1 -0
  410. package/dist/skills/find.d.ts +16 -0
  411. package/dist/skills/find.d.ts.map +1 -0
  412. package/dist/skills/find.js +58 -0
  413. package/dist/skills/find.js.map +1 -0
  414. package/dist/skills/gap-detection.d.ts +23 -0
  415. package/dist/skills/gap-detection.d.ts.map +1 -0
  416. package/dist/skills/gap-detection.js +62 -0
  417. package/dist/skills/gap-detection.js.map +1 -0
  418. package/dist/skills/import-preparation.d.ts +4 -0
  419. package/dist/skills/import-preparation.d.ts.map +1 -0
  420. package/dist/skills/import-preparation.js +20 -0
  421. package/dist/skills/import-preparation.js.map +1 -0
  422. package/dist/skills/materialization-authority.d.ts +11 -0
  423. package/dist/skills/materialization-authority.d.ts.map +1 -0
  424. package/dist/skills/materialization-authority.js +92 -0
  425. package/dist/skills/materialization-authority.js.map +1 -0
  426. package/dist/skills/materialization-service.d.ts +22 -0
  427. package/dist/skills/materialization-service.d.ts.map +1 -0
  428. package/dist/skills/materialization-service.js +101 -0
  429. package/dist/skills/materialization-service.js.map +1 -0
  430. package/dist/skills/official-catalog.d.ts +31 -0
  431. package/dist/skills/official-catalog.d.ts.map +1 -0
  432. package/dist/skills/official-catalog.js +110 -0
  433. package/dist/skills/official-catalog.js.map +1 -0
  434. package/dist/skills/providers/schema.d.ts +30 -0
  435. package/dist/skills/providers/schema.d.ts.map +1 -0
  436. package/dist/skills/providers/schema.js +354 -0
  437. package/dist/skills/providers/schema.js.map +1 -0
  438. package/dist/skills/providers/skills-sh-compat.d.ts +17 -0
  439. package/dist/skills/providers/skills-sh-compat.d.ts.map +1 -0
  440. package/dist/skills/providers/skills-sh-compat.js +71 -0
  441. package/dist/skills/providers/skills-sh-compat.js.map +1 -0
  442. package/dist/skills/providers/skills-sh-v1.d.ts +23 -0
  443. package/dist/skills/providers/skills-sh-v1.d.ts.map +1 -0
  444. package/dist/skills/providers/skills-sh-v1.js +134 -0
  445. package/dist/skills/providers/skills-sh-v1.js.map +1 -0
  446. package/dist/skills/query-builder.d.ts +18 -0
  447. package/dist/skills/query-builder.d.ts.map +1 -0
  448. package/dist/skills/query-builder.js +93 -0
  449. package/dist/skills/query-builder.js.map +1 -0
  450. package/dist/skills/source/errors.d.ts +9 -0
  451. package/dist/skills/source/errors.d.ts.map +1 -0
  452. package/dist/skills/source/errors.js +15 -0
  453. package/dist/skills/source/errors.js.map +1 -0
  454. package/dist/skills/source/frontmatter.d.ts +9 -0
  455. package/dist/skills/source/frontmatter.d.ts.map +1 -0
  456. package/dist/skills/source/frontmatter.js +77 -0
  457. package/dist/skills/source/frontmatter.js.map +1 -0
  458. package/dist/skills/source/github-fetcher.d.ts +20 -0
  459. package/dist/skills/source/github-fetcher.d.ts.map +1 -0
  460. package/dist/skills/source/github-fetcher.js +292 -0
  461. package/dist/skills/source/github-fetcher.js.map +1 -0
  462. package/dist/skills/source/snapshot-validator.d.ts +28 -0
  463. package/dist/skills/source/snapshot-validator.d.ts.map +1 -0
  464. package/dist/skills/source/snapshot-validator.js +186 -0
  465. package/dist/skills/source/snapshot-validator.js.map +1 -0
  466. package/dist/skills/store.d.ts +181 -0
  467. package/dist/skills/store.d.ts.map +1 -0
  468. package/dist/skills/store.js +1710 -0
  469. package/dist/skills/store.js.map +1 -0
  470. package/dist/skills/types.d.ts +169 -0
  471. package/dist/skills/types.d.ts.map +1 -0
  472. package/dist/skills/types.js +2 -0
  473. package/dist/skills/types.js.map +1 -0
  474. package/dist/web/i18n.d.ts +32 -0
  475. package/dist/web/i18n.d.ts.map +1 -1
  476. package/dist/web/i18n.js +128 -0
  477. package/dist/web/i18n.js.map +1 -1
  478. package/dist/web/server.d.ts.map +1 -1
  479. package/dist/web/server.js +386 -38
  480. package/dist/web/server.js.map +1 -1
  481. package/dist/web/ui.d.ts +4 -0
  482. package/dist/web/ui.d.ts.map +1 -1
  483. package/dist/web/ui.js +382 -6
  484. package/dist/web/ui.js.map +1 -1
  485. package/migrations/009_external_skill_discovery.sql +126 -0
  486. package/package.json +6 -3
  487. package/skills/kiokuko-single-purpose-functions/SKILL.md +288 -0
  488. package/skills/kiokuko-single-purpose-functions/references/kiokuko-patterns.md +344 -0
  489. package/skills/kiokuko-single-purpose-functions/references/review-checklist.md +97 -0
  490. package/skills/kiokuko-ui-design-soul/SKILL.md +1186 -28
  491. package/templates/AGENTS.md +8 -7
  492. package/dist/client/runtime-discovery.d.ts +0 -15
  493. package/dist/client/runtime-discovery.d.ts.map +0 -1
  494. package/dist/client/runtime-discovery.js +0 -45
  495. package/dist/client/runtime-discovery.js.map +0 -1
  496. package/dist/commands/call.d.ts +0 -7
  497. package/dist/commands/call.d.ts.map +0 -1
  498. package/dist/commands/call.js +0 -10
  499. package/dist/commands/call.js.map +0 -1
  500. package/dist/commands/link.d.ts +0 -6
  501. package/dist/commands/link.d.ts.map +0 -1
  502. package/dist/commands/link.js +0 -6
  503. package/dist/commands/link.js.map +0 -1
  504. package/dist/commands/promote.d.ts +0 -6
  505. package/dist/commands/promote.d.ts.map +0 -1
  506. package/dist/commands/promote.js +0 -6
  507. package/dist/commands/promote.js.map +0 -1
  508. package/dist/commands/read.d.ts +0 -6
  509. package/dist/commands/read.d.ts.map +0 -1
  510. package/dist/commands/read.js +0 -4
  511. package/dist/commands/read.js.map +0 -1
  512. package/dist/commands/recall.d.ts +0 -6
  513. package/dist/commands/recall.d.ts.map +0 -1
  514. package/dist/commands/recall.js +0 -4
  515. package/dist/commands/recall.js.map +0 -1
  516. package/dist/commands/record.d.ts +0 -6
  517. package/dist/commands/record.d.ts.map +0 -1
  518. package/dist/commands/record.js +0 -4
  519. package/dist/commands/record.js.map +0 -1
  520. package/dist/commands/search.d.ts +0 -6
  521. package/dist/commands/search.d.ts.map +0 -1
  522. package/dist/commands/search.js +0 -4
  523. package/dist/commands/search.js.map +0 -1
  524. package/dist/commands/supersede.d.ts +0 -6
  525. package/dist/commands/supersede.d.ts.map +0 -1
  526. package/dist/commands/supersede.js +0 -6
  527. package/dist/commands/supersede.js.map +0 -1
  528. package/dist/knowledge/sources.d.ts +0 -72
  529. package/dist/knowledge/sources.d.ts.map +0 -1
  530. package/dist/knowledge/sources.js +0 -388
  531. package/dist/knowledge/sources.js.map +0 -1
  532. package/dist/setup/opencode-evidence.d.ts +0 -37
  533. package/dist/setup/opencode-evidence.d.ts.map +0 -1
  534. package/dist/setup/opencode-evidence.js +0 -58
  535. package/dist/setup/opencode-evidence.js.map +0 -1
  536. package/dist/setup/opencode-loop-guard.d.ts +0 -9
  537. package/dist/setup/opencode-loop-guard.d.ts.map +0 -1
  538. package/dist/setup/opencode-loop-guard.js +0 -248
  539. package/dist/setup/opencode-loop-guard.js.map +0 -1
@@ -0,0 +1,101 @@
1
+ import { KiokukoError } from '../errors.js';
2
+ import { authorizeSkillMaterialization } from './materialization-authority.js';
3
+ import { reviewedCatalogSkill } from './official-catalog.js';
4
+ import { SkillProviderError } from './providers/schema.js';
5
+ import { SkillSourceError } from './source/errors.js';
6
+ import { validateSkillCandidate } from './source/snapshot-validator.js';
7
+ import { clearPersistentSkillAuditFailure, clearPersistentSkillSourceFailure, readPersistentSkillAuditFailure, readPersistentSkillSourceFailure, writePersistentSkillAuditFailure, writePersistentSkillSourceFailure, } from './store.js';
8
+ export const DEFAULT_EXTERNAL_SKILL_FAILURE_TTL_MS = 10 * 60_000;
9
+ export const MAX_EXTERNAL_SKILL_RETRY_AFTER_MS = 24 * 60 * 60_000;
10
+ export function externalSkillFailureTtlMs(retryAfterSeconds) {
11
+ if (retryAfterSeconds === null || !Number.isFinite(retryAfterSeconds) || retryAfterSeconds <= 0) {
12
+ return DEFAULT_EXTERNAL_SKILL_FAILURE_TTL_MS;
13
+ }
14
+ return Math.min(MAX_EXTERNAL_SKILL_RETRY_AFTER_MS, Math.max(1, Math.floor(retryAfterSeconds * 1000)));
15
+ }
16
+ function publicAuditFailure(error) {
17
+ const failureCode = error.code;
18
+ const code = (() => {
19
+ switch (failureCode) {
20
+ case 'registry_authentication_failed': return 'AUTHENTICATION_ERROR';
21
+ case 'registry_invalid_response': return 'INTEGRITY_ERROR';
22
+ case 'registry_unavailable':
23
+ case 'registry_rate_limited': return 'SERVICE_UNAVAILABLE';
24
+ default: throw error;
25
+ }
26
+ })();
27
+ return new KiokukoError(code, 'External skill provider audit failed closed', {
28
+ failureCode,
29
+ ...(error.retryAfterSeconds === null ? {} : { retryAfterSeconds: error.retryAfterSeconds }),
30
+ });
31
+ }
32
+ /**
33
+ * Apply exact provider-audit and GitHub-source backoff before retrieving a
34
+ * snapshot. Cache rows are operational denial state; they never authorize a
35
+ * materialization and a stored passed audit label is deliberately ignored.
36
+ */
37
+ export async function fetchMaterializableSkillSnapshot(database, candidate, dependencies) {
38
+ const now = dependencies.now ?? new Date().toISOString();
39
+ const cacheWrite = dependencies.cacheWrite ?? (async (operation) => operation());
40
+ const materializationCandidate = validateSkillCandidate(candidate);
41
+ const providerId = dependencies.provider.id;
42
+ const reviewedCatalog = reviewedCatalogSkill(materializationCandidate) !== undefined;
43
+ if (!reviewedCatalog && providerId !== materializationCandidate.provider) {
44
+ throw new KiokukoError('SECURITY_REJECTION', 'External skill audit provider does not match the candidate provider');
45
+ }
46
+ const cachedSourceFailure = readPersistentSkillSourceFailure(database, materializationCandidate, now);
47
+ if (cachedSourceFailure !== null)
48
+ throw new SkillSourceError(cachedSourceFailure.code);
49
+ let authorization;
50
+ if (!reviewedCatalog) {
51
+ const cachedAuditFailure = readPersistentSkillAuditFailure(database, providerId, materializationCandidate, now);
52
+ if (cachedAuditFailure !== null) {
53
+ throw new KiokukoError('SERVICE_UNAVAILABLE', 'External skill provider audit is in backoff', {
54
+ failureCode: cachedAuditFailure.code,
55
+ expiresAt: cachedAuditFailure.expiresAt,
56
+ });
57
+ }
58
+ }
59
+ try {
60
+ authorization = await authorizeSkillMaterialization(dependencies.provider, materializationCandidate);
61
+ }
62
+ catch (error) {
63
+ if (!(error instanceof SkillProviderError))
64
+ throw error;
65
+ if (error.code === 'registry_rate_limited' || error.code === 'registry_unavailable') {
66
+ const failureCode = error.code;
67
+ await cacheWrite(() => writePersistentSkillAuditFailure(database, providerId, materializationCandidate, failureCode, externalSkillFailureTtlMs(error.retryAfterSeconds), now));
68
+ }
69
+ throw publicAuditFailure(error);
70
+ }
71
+ if (authorization.status === 'unavailable') {
72
+ await cacheWrite(() => writePersistentSkillAuditFailure(database, providerId, materializationCandidate, 'registry_unavailable', DEFAULT_EXTERNAL_SKILL_FAILURE_TTL_MS, now));
73
+ throw new KiokukoError('SERVICE_UNAVAILABLE', 'External skill provider audit is unavailable', {
74
+ failureCode: 'registry_unavailable',
75
+ });
76
+ }
77
+ if (!reviewedCatalog)
78
+ await cacheWrite(() => clearPersistentSkillAuditFailure(database, providerId, materializationCandidate));
79
+ if (authorization.status === 'failed') {
80
+ throw new KiokukoError('SECURITY_REJECTION', 'External skill provider audit rejected the candidate', {
81
+ failureCode: 'community_audit_failed',
82
+ });
83
+ }
84
+ let snapshot;
85
+ try {
86
+ snapshot = await dependencies.sourceFetcher.fetch(authorization.candidate, dependencies.sourceRequest);
87
+ }
88
+ catch (error) {
89
+ if (error instanceof SkillSourceError && (error.code === 'source_rate_limited' || error.code === 'source_unavailable')) {
90
+ const failureCode = error.code;
91
+ await cacheWrite(() => writePersistentSkillSourceFailure(database, materializationCandidate, failureCode, externalSkillFailureTtlMs(error.retryAfterSeconds), now));
92
+ }
93
+ throw error;
94
+ }
95
+ await cacheWrite(() => clearPersistentSkillSourceFailure(database, materializationCandidate));
96
+ return {
97
+ snapshot,
98
+ ...(authorization.status === 'passed' ? { authorization: authorization.authorization } : {}),
99
+ };
100
+ }
101
+ //# sourceMappingURL=materialization-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"materialization-service.js","sourceRoot":"","sources":["../../src/skills/materialization-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import type { ProjectFingerprint } from '../repository/project-fingerprint.js';
2
+ import type { SkillCandidate, SkillRequirement } from './types.js';
3
+ export interface OfficialTechnologyDefinition {
4
+ id: string;
5
+ aliases: string[];
6
+ fuzzyAliases?: string[];
7
+ applicableLanguages?: string[];
8
+ applicableRuntimes?: string[];
9
+ applicableDatabases?: string[];
10
+ packages: string[];
11
+ frameworks: string[];
12
+ owners: string[];
13
+ repositories: string[];
14
+ /** Exact provider candidate identities and primary paths reviewed for source validation. */
15
+ reviewedSkills?: Array<{
16
+ slug: string;
17
+ primaryPaths: string[];
18
+ }>;
19
+ queries: string[];
20
+ }
21
+ export declare const OFFICIAL_TECHNOLOGIES: readonly OfficialTechnologyDefinition[];
22
+ export declare function technologyDefinition(id: string): OfficialTechnologyDefinition | undefined;
23
+ export declare const OFFICIAL_SKILL_REPOSITORIES: string[];
24
+ export declare function reviewedCatalogSkill(candidate: Pick<SkillCandidate, 'source' | 'slug'>): {
25
+ slug: string;
26
+ primaryPaths: string[];
27
+ } | undefined;
28
+ /** Resolve only repository identities already pinned in Kiokuko's local catalog. */
29
+ export declare function requirementForOfficialSkill(candidate: Pick<SkillCandidate, 'source' | 'slug' | 'name'>): SkillRequirement | undefined;
30
+ export declare function requirementsFromFingerprint(fingerprint: ProjectFingerprint): SkillRequirement[];
31
+ //# sourceMappingURL=official-catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"official-catalog.d.ts","sourceRoot":"","sources":["../../src/skills/official-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE/E,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnE,MAAM,WAAW,4BAA4B;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,4FAA4F;IAC5F,cAAc,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACjE,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,eAAO,MAAM,qBAAqB,EAAE,SAAS,4BAA4B,EAgBxE,CAAC;AAyBF,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,4BAA4B,GAAG,SAAS,CAEzF;AAED,eAAO,MAAM,2BAA2B,UAAiF,CAAC;AAE1H,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,MAAM,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,SAAS,CAS7I;AAWD,oFAAoF;AACpF,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC,GAAG,gBAAgB,GAAG,SAAS,CAsBrI;AAED,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,kBAAkB,GAAG,gBAAgB,EAAE,CAwB/F"}
@@ -0,0 +1,110 @@
1
+ import { compareCanonicalStrings } from '../serialization/validate.js';
2
+ export const OFFICIAL_TECHNOLOGIES = [
3
+ { id: 'svelte', aliases: ['svelte'], fuzzyAliases: ['svelte'], applicableLanguages: ['JavaScript', 'TypeScript'], applicableRuntimes: ['Node.js'], packages: ['svelte'], frameworks: ['Svelte'], owners: ['sveltejs'], repositories: ['sveltejs/ai-tools'], reviewedSkills: [{ slug: 'svelte-code-writer', primaryPaths: ['skills/svelte-code-writer/SKILL.md', 'tools/skills/svelte-code-writer/SKILL.md'] }], queries: ['svelte'] },
4
+ { id: 'sveltekit', aliases: ['sveltekit', 'svelte'], fuzzyAliases: ['sveltekit', 'svelte'], applicableLanguages: ['JavaScript', 'TypeScript'], applicableRuntimes: ['Node.js'], packages: ['@sveltejs/kit'], frameworks: ['SvelteKit'], owners: ['sveltejs'], repositories: ['sveltejs/ai-tools'], reviewedSkills: [{ slug: 'svelte-code-writer', primaryPaths: ['skills/svelte-code-writer/SKILL.md', 'tools/skills/svelte-code-writer/SKILL.md'] }], queries: ['sveltekit', 'svelte'] },
5
+ { id: 'laravel', aliases: ['laravel'], fuzzyAliases: ['laravel'], applicableLanguages: ['PHP'], applicableRuntimes: ['PHP'], packages: ['laravel/framework'], frameworks: ['Laravel'], owners: ['laravel'], repositories: ['laravel/boost'], reviewedSkills: [{ slug: 'laravel-best-practices', primaryPaths: ['.ai/laravel/skill/laravel-best-practices/SKILL.md'] }], queries: ['laravel', 'laravel testing'] },
6
+ // Upstream framework repositories are not automatically Skill repositories.
7
+ // Keep their verified owners for scoped search, but add a reviewed repository
8
+ // only after its SKILL.md layout has a fixture and has been reviewed.
9
+ { id: 'react', aliases: ['react'], fuzzyAliases: ['react'], applicableLanguages: ['JavaScript', 'TypeScript'], applicableRuntimes: ['Node.js'], packages: ['react'], frameworks: ['React'], owners: ['facebook'], repositories: [], queries: ['react'] },
10
+ { id: 'nextjs', aliases: ['next', 'nextjs'], fuzzyAliases: ['nextjs'], applicableLanguages: ['JavaScript', 'TypeScript'], applicableRuntimes: ['Node.js'], packages: ['next'], frameworks: ['Next.js'], owners: ['vercel'], repositories: [], queries: ['nextjs', 'react'] },
11
+ { id: 'postgresql', aliases: ['postgres', 'postgresql'], fuzzyAliases: ['postgresql'], applicableDatabases: ['PostgreSQL'], packages: ['pg'], frameworks: [], owners: ['postgres'], repositories: [], queries: ['postgresql'] },
12
+ { id: 'mysql', aliases: ['mysql'], fuzzyAliases: ['mysql'], applicableDatabases: ['MySQL'], packages: ['mysql2'], frameworks: [], owners: ['mysql'], repositories: [], queries: ['mysql'] },
13
+ { id: 'sqlite', aliases: ['sqlite'], fuzzyAliases: ['sqlite'], applicableDatabases: ['SQLite'], packages: ['sqlite3', 'better-sqlite3'], frameworks: [], owners: ['sqlite'], repositories: [], queries: ['sqlite'] },
14
+ { id: 'typescript', aliases: ['typescript'], fuzzyAliases: ['typescript'], applicableLanguages: ['TypeScript'], applicableRuntimes: ['Node.js'], packages: ['typescript'], frameworks: [], owners: ['microsoft'], repositories: [], queries: ['typescript'] },
15
+ { id: 'python', aliases: ['python'], fuzzyAliases: ['python'], applicableLanguages: ['Python'], applicableRuntimes: ['Python'], packages: [], frameworks: [], owners: ['python'], repositories: [], queries: ['python'] },
16
+ { id: 'go', aliases: ['go', 'golang'], fuzzyAliases: ['golang'], applicableLanguages: ['Go'], applicableRuntimes: ['Go'], packages: [], frameworks: [], owners: ['golang'], repositories: [], queries: ['go'] },
17
+ { id: 'rust', aliases: ['rust'], fuzzyAliases: ['rust'], applicableLanguages: ['Rust'], applicableRuntimes: ['Rust'], packages: [], frameworks: [], owners: ['rust-lang'], repositories: [], queries: ['rust'] },
18
+ ];
19
+ function unique(values) { return [...new Set(values)]; }
20
+ function norm(value) { return value.normalize('NFKC').toLowerCase(); }
21
+ function matches(value, candidates) { const current = norm(value); return candidates.some((candidate) => norm(candidate) === current); }
22
+ function matchingValues(targets, actual) {
23
+ if (targets === undefined)
24
+ return undefined;
25
+ const values = targets.filter((target) => actual.some((value) => matches(value, [target])));
26
+ return values.length > 0 ? values : undefined;
27
+ }
28
+ function applicability(definition, fingerprint) {
29
+ const languages = matchingValues(definition.applicableLanguages, fingerprint.languages);
30
+ const runtimes = matchingValues(definition.applicableRuntimes, fingerprint.runtimes);
31
+ const frameworks = fingerprint.frameworks.filter((item) => definition.frameworks.some((name) => matches(item.name, [name])));
32
+ const databases = matchingValues(definition.applicableDatabases, fingerprint.databases);
33
+ return {
34
+ ...(languages === undefined ? {} : { languages }),
35
+ ...(runtimes === undefined ? {} : { runtimes }),
36
+ ...(frameworks.length > 0 ? { frameworks } : definition.frameworks.length > 0 ? { frameworks: definition.frameworks.map((name) => ({ name })) } : {}),
37
+ ...(databases === undefined ? {} : { databases }),
38
+ };
39
+ }
40
+ export function technologyDefinition(id) {
41
+ return OFFICIAL_TECHNOLOGIES.find((item) => item.id === id);
42
+ }
43
+ export const OFFICIAL_SKILL_REPOSITORIES = unique(OFFICIAL_TECHNOLOGIES.flatMap((definition) => definition.repositories));
44
+ export function reviewedCatalogSkill(candidate) {
45
+ const matches = OFFICIAL_TECHNOLOGIES.flatMap((definition) => definition.repositories.some((repository) => norm(repository) === norm(candidate.source))
46
+ ? (definition.reviewedSkills ?? []).filter((skill) => skill.slug === candidate.slug)
47
+ : []);
48
+ if (matches.length === 0)
49
+ return undefined;
50
+ const first = matches[0];
51
+ const primaryPaths = unique(matches.flatMap((match) => match.primaryPaths));
52
+ return { slug: first.slug, primaryPaths };
53
+ }
54
+ function genericApplicability(definition) {
55
+ return {
56
+ ...(definition.applicableLanguages === undefined ? {} : { languages: [...definition.applicableLanguages] }),
57
+ ...(definition.applicableRuntimes === undefined ? {} : { runtimes: [...definition.applicableRuntimes] }),
58
+ ...(definition.frameworks.length === 0 ? {} : { frameworks: definition.frameworks.map((name) => ({ name })) }),
59
+ ...(definition.applicableDatabases === undefined ? {} : { databases: [...definition.applicableDatabases] }),
60
+ };
61
+ }
62
+ /** Resolve only repository identities already pinned in Kiokuko's local catalog. */
63
+ export function requirementForOfficialSkill(candidate) {
64
+ const definitions = OFFICIAL_TECHNOLOGIES.filter((definition) => definition.repositories.some((repository) => norm(repository) === norm(candidate.source))
65
+ && (definition.reviewedSkills ?? []).some((skill) => skill.slug === candidate.slug));
66
+ if (definitions.length === 0)
67
+ return undefined;
68
+ const tokens = new Set(norm(`${candidate.slug} ${candidate.name}`).split(/[^\p{L}\p{N}]+/u).filter(Boolean));
69
+ const definition = [...definitions].sort((left, right) => {
70
+ const score = (item) => (tokens.has(norm(item.id)) ? 10 : 0) + item.aliases.filter((alias) => tokens.has(norm(alias))).length;
71
+ return score(right) - score(left) || right.id.length - left.id.length || compareCanonicalStrings(left.id, right.id);
72
+ })[0];
73
+ return {
74
+ id: definition.id,
75
+ technology: definition.id,
76
+ aliases: unique([definition.id, ...definition.aliases, ...definition.frameworks]),
77
+ ...(definition.fuzzyAliases === undefined ? {} : { fuzzyAliases: unique(definition.fuzzyAliases) }),
78
+ queries: unique(definition.queries),
79
+ owners: unique(definition.owners),
80
+ repositories: unique(definition.repositories),
81
+ applicability: genericApplicability(definition),
82
+ signals: definition.packages.length > 0 ? { packages: [...definition.packages] } : {},
83
+ reason: `Local official catalog matched ${candidate.source}.`,
84
+ };
85
+ }
86
+ export function requirementsFromFingerprint(fingerprint) {
87
+ const packageNames = fingerprint.packages.map((item) => item.name);
88
+ const definitions = OFFICIAL_TECHNOLOGIES.filter((definition) => definition.packages.some((name) => packageNames.includes(name))
89
+ || definition.frameworks.some((name) => fingerprint.frameworks.some((framework) => matches(framework.name, [name])))
90
+ || definition.id === 'typescript' && fingerprint.tools.some((tool) => norm(tool) === 'typescript')
91
+ || definition.id === 'python' && fingerprint.languages.includes('Python')
92
+ || definition.id === 'go' && fingerprint.languages.includes('Go')
93
+ || definition.id === 'rust' && fingerprint.languages.includes('Rust')
94
+ || definition.id === 'postgresql' && fingerprint.databases.includes('PostgreSQL')
95
+ || definition.id === 'mysql' && fingerprint.databases.includes('MySQL')
96
+ || definition.id === 'sqlite' && fingerprint.databases.includes('SQLite'));
97
+ return definitions.map((definition) => ({
98
+ id: definition.id,
99
+ technology: definition.id,
100
+ aliases: unique([definition.id, ...definition.aliases, ...definition.frameworks]),
101
+ ...(definition.fuzzyAliases === undefined ? {} : { fuzzyAliases: unique(definition.fuzzyAliases) }),
102
+ queries: unique(definition.queries),
103
+ owners: unique(definition.owners),
104
+ repositories: unique(definition.repositories),
105
+ applicability: applicability(definition, fingerprint),
106
+ signals: definition.packages.length > 0 ? { packages: [...definition.packages] } : {},
107
+ reason: `Project fingerprint detected ${definition.id}.`,
108
+ }));
109
+ }
110
+ //# sourceMappingURL=official-catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"official-catalog.js","sourceRoot":"","sources":["../../src/skills/official-catalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import type { SkillAuditResult, SkillCandidate, SkillProviderFailureCode } from '../types.js';
2
+ export declare class SkillProviderError extends Error {
3
+ readonly code: SkillProviderFailureCode;
4
+ readonly retryAfterSeconds: number | null;
5
+ constructor(code: SkillProviderFailureCode, retryAfterSeconds?: number | null);
6
+ }
7
+ export declare function verifiedOfficialRepositories(values?: string[]): ReadonlySet<string>;
8
+ export declare function readSkillProviderJson(response: Response): Promise<unknown>;
9
+ export declare function parseSkillsShCompatibilityResponse(value: unknown, provider: string, expected: {
10
+ query: string;
11
+ limit: number;
12
+ }, officialRepositories: ReadonlySet<string>): SkillCandidate[];
13
+ export declare function parseSkillsShV1SearchResponse(value: unknown, provider: string, expected: {
14
+ query: string;
15
+ limit: number;
16
+ }, officialRepositories: ReadonlySet<string>): SkillCandidate[];
17
+ export declare function parseSkillsShV1CuratedResponse(value: unknown, provider: string, officialRepositories: ReadonlySet<string>): SkillCandidate[];
18
+ export declare function parseSkillsShV1AuditResponse(value: unknown, expected: {
19
+ source: string;
20
+ slug: string;
21
+ }): SkillAuditResult;
22
+ /** Strictly parse Kiokuko's own cached candidate shape. */
23
+ export declare function parseSkillCandidates(value: unknown, provider: string, provenance: 'search' | 'curated'): SkillCandidate[];
24
+ export declare function cacheKey(input: {
25
+ provider: string;
26
+ query: string;
27
+ owner?: string | null;
28
+ mode: string;
29
+ }): string;
30
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/skills/providers/schema.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAK9F,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,IAAI,EAAE,wBAAwB,CAAC;IACxC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;gBAC9B,IAAI,EAAE,wBAAwB,EAAE,iBAAiB,GAAE,MAAM,GAAG,IAAW;CAMpF;AAsGD,wBAAgB,4BAA4B,CAAC,MAAM,GAAE,MAAM,EAAgC,GAAG,WAAW,CAAC,MAAM,CAAC,CAahH;AAED,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CA0ChF;AAeD,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAC1C,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAAC,GACxC,cAAc,EAAE,CAUlB;AAiCD,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAC1C,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAAC,GACxC,cAAc,EAAE,CASlB;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,cAAc,EAAE,CAwB5I;AAOD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,gBAAgB,CA6BzH;AAED,2DAA2D;AAC3D,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,GAAG,SAAS,GAAG,cAAc,EAAE,CAkBzH;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAEhH"}