@xemahq/kernel-contracts 0.1.0

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 (802) hide show
  1. package/dist/agent-composition/index.d.ts +7 -0
  2. package/dist/agent-composition/index.d.ts.map +1 -0
  3. package/dist/agent-composition/index.js +23 -0
  4. package/dist/agent-composition/index.js.map +1 -0
  5. package/dist/agent-composition/lib/capability-layer.d.ts +11 -0
  6. package/dist/agent-composition/lib/capability-layer.d.ts.map +1 -0
  7. package/dist/agent-composition/lib/capability-layer.js +10 -0
  8. package/dist/agent-composition/lib/capability-layer.js.map +1 -0
  9. package/dist/agent-composition/lib/composition-limits-schema.d.ts +4 -0
  10. package/dist/agent-composition/lib/composition-limits-schema.d.ts.map +1 -0
  11. package/dist/agent-composition/lib/composition-limits-schema.js +13 -0
  12. package/dist/agent-composition/lib/composition-limits-schema.js.map +1 -0
  13. package/dist/agent-composition/lib/composition-workspace.d.ts +35 -0
  14. package/dist/agent-composition/lib/composition-workspace.d.ts.map +1 -0
  15. package/dist/agent-composition/lib/composition-workspace.js +9 -0
  16. package/dist/agent-composition/lib/composition-workspace.js.map +1 -0
  17. package/dist/agent-composition/lib/composition.d.ts +66 -0
  18. package/dist/agent-composition/lib/composition.d.ts.map +1 -0
  19. package/dist/agent-composition/lib/composition.js +18 -0
  20. package/dist/agent-composition/lib/composition.js.map +1 -0
  21. package/dist/agent-composition/lib/intrinsic-floor.d.ts +15 -0
  22. package/dist/agent-composition/lib/intrinsic-floor.d.ts.map +1 -0
  23. package/dist/agent-composition/lib/intrinsic-floor.js +22 -0
  24. package/dist/agent-composition/lib/intrinsic-floor.js.map +1 -0
  25. package/dist/agent-composition/lib/model-resolution-matrix.d.ts +38 -0
  26. package/dist/agent-composition/lib/model-resolution-matrix.d.ts.map +1 -0
  27. package/dist/agent-composition/lib/model-resolution-matrix.js +12 -0
  28. package/dist/agent-composition/lib/model-resolution-matrix.js.map +1 -0
  29. package/dist/agent-workspace/awp-spec.json +225 -0
  30. package/dist/agent-workspace/index.d.ts +12 -0
  31. package/dist/agent-workspace/index.d.ts.map +1 -0
  32. package/dist/agent-workspace/index.js +28 -0
  33. package/dist/agent-workspace/index.js.map +1 -0
  34. package/dist/agent-workspace/lib/agent-run-context.d.ts +12 -0
  35. package/dist/agent-workspace/lib/agent-run-context.d.ts.map +1 -0
  36. package/dist/agent-workspace/lib/agent-run-context.js +3 -0
  37. package/dist/agent-workspace/lib/agent-run-context.js.map +1 -0
  38. package/dist/agent-workspace/lib/agent-tool-defaults.d.ts +21 -0
  39. package/dist/agent-workspace/lib/agent-tool-defaults.d.ts.map +1 -0
  40. package/dist/agent-workspace/lib/agent-tool-defaults.js +111 -0
  41. package/dist/agent-workspace/lib/agent-tool-defaults.js.map +1 -0
  42. package/dist/agent-workspace/lib/awp-v1.d.ts +15 -0
  43. package/dist/agent-workspace/lib/awp-v1.d.ts.map +1 -0
  44. package/dist/agent-workspace/lib/awp-v1.js +197 -0
  45. package/dist/agent-workspace/lib/awp-v1.js.map +1 -0
  46. package/dist/agent-workspace/lib/context-json.d.ts +35 -0
  47. package/dist/agent-workspace/lib/context-json.d.ts.map +1 -0
  48. package/dist/agent-workspace/lib/context-json.js +3 -0
  49. package/dist/agent-workspace/lib/context-json.js.map +1 -0
  50. package/dist/agent-workspace/lib/deliverable-spec-ref.d.ts +10 -0
  51. package/dist/agent-workspace/lib/deliverable-spec-ref.d.ts.map +1 -0
  52. package/dist/agent-workspace/lib/deliverable-spec-ref.js +33 -0
  53. package/dist/agent-workspace/lib/deliverable-spec-ref.js.map +1 -0
  54. package/dist/agent-workspace/lib/endpoint-fetch-spec.d.ts +31 -0
  55. package/dist/agent-workspace/lib/endpoint-fetch-spec.d.ts.map +1 -0
  56. package/dist/agent-workspace/lib/endpoint-fetch-spec.js +20 -0
  57. package/dist/agent-workspace/lib/endpoint-fetch-spec.js.map +1 -0
  58. package/dist/agent-workspace/lib/manifest.d.ts +28 -0
  59. package/dist/agent-workspace/lib/manifest.d.ts.map +1 -0
  60. package/dist/agent-workspace/lib/manifest.js +16 -0
  61. package/dist/agent-workspace/lib/manifest.js.map +1 -0
  62. package/dist/agent-workspace/lib/mount-apply.d.ts +42 -0
  63. package/dist/agent-workspace/lib/mount-apply.d.ts.map +1 -0
  64. package/dist/agent-workspace/lib/mount-apply.js +15 -0
  65. package/dist/agent-workspace/lib/mount-apply.js.map +1 -0
  66. package/dist/agent-workspace/lib/working-file.d.ts +20 -0
  67. package/dist/agent-workspace/lib/working-file.d.ts.map +1 -0
  68. package/dist/agent-workspace/lib/working-file.js +42 -0
  69. package/dist/agent-workspace/lib/working-file.js.map +1 -0
  70. package/dist/agent-workspace/lib/workspace-layout.d.ts +34 -0
  71. package/dist/agent-workspace/lib/workspace-layout.d.ts.map +1 -0
  72. package/dist/agent-workspace/lib/workspace-layout.js +31 -0
  73. package/dist/agent-workspace/lib/workspace-layout.js.map +1 -0
  74. package/dist/agent-workspace/lib/workspace-spec.d.ts +61 -0
  75. package/dist/agent-workspace/lib/workspace-spec.d.ts.map +1 -0
  76. package/dist/agent-workspace/lib/workspace-spec.js +19 -0
  77. package/dist/agent-workspace/lib/workspace-spec.js.map +1 -0
  78. package/dist/biome/index.d.ts +11 -0
  79. package/dist/biome/index.d.ts.map +1 -0
  80. package/dist/biome/index.js +27 -0
  81. package/dist/biome/index.js.map +1 -0
  82. package/dist/biome/lib/biome-api.d.ts +12 -0
  83. package/dist/biome/lib/biome-api.d.ts.map +1 -0
  84. package/dist/biome/lib/biome-api.js +14 -0
  85. package/dist/biome/lib/biome-api.js.map +1 -0
  86. package/dist/biome/lib/biome-capability-refs.d.ts +11 -0
  87. package/dist/biome/lib/biome-capability-refs.d.ts.map +1 -0
  88. package/dist/biome/lib/biome-capability-refs.js +12 -0
  89. package/dist/biome/lib/biome-capability-refs.js.map +1 -0
  90. package/dist/biome/lib/biome-engines.d.ts +6 -0
  91. package/dist/biome/lib/biome-engines.d.ts.map +1 -0
  92. package/dist/biome/lib/biome-engines.js +8 -0
  93. package/dist/biome/lib/biome-engines.js.map +1 -0
  94. package/dist/biome/lib/biome-lifecycle-hooks.d.ts +10 -0
  95. package/dist/biome/lib/biome-lifecycle-hooks.d.ts.map +1 -0
  96. package/dist/biome/lib/biome-lifecycle-hooks.js +12 -0
  97. package/dist/biome/lib/biome-lifecycle-hooks.js.map +1 -0
  98. package/dist/biome/lib/biome-lifecycle.d.ts +12 -0
  99. package/dist/biome/lib/biome-lifecycle.d.ts.map +1 -0
  100. package/dist/biome/lib/biome-lifecycle.js +16 -0
  101. package/dist/biome/lib/biome-lifecycle.js.map +1 -0
  102. package/dist/biome/lib/biome-manifest.d.ts +36 -0
  103. package/dist/biome/lib/biome-manifest.d.ts.map +1 -0
  104. package/dist/biome/lib/biome-manifest.js +38 -0
  105. package/dist/biome/lib/biome-manifest.js.map +1 -0
  106. package/dist/biome/lib/biome-permissions.d.ts +9 -0
  107. package/dist/biome/lib/biome-permissions.d.ts.map +1 -0
  108. package/dist/biome/lib/biome-permissions.js +11 -0
  109. package/dist/biome/lib/biome-permissions.js.map +1 -0
  110. package/dist/biome/lib/biome-scope.d.ts +9 -0
  111. package/dist/biome/lib/biome-scope.d.ts.map +1 -0
  112. package/dist/biome/lib/biome-scope.js +13 -0
  113. package/dist/biome/lib/biome-scope.js.map +1 -0
  114. package/dist/biome/lib/biome-trust-tier.d.ts +11 -0
  115. package/dist/biome/lib/biome-trust-tier.d.ts.map +1 -0
  116. package/dist/biome/lib/biome-trust-tier.js +15 -0
  117. package/dist/biome/lib/biome-trust-tier.js.map +1 -0
  118. package/dist/biome/lib/trust-tier-policies.d.ts +8 -0
  119. package/dist/biome/lib/trust-tier-policies.d.ts.map +1 -0
  120. package/dist/biome/lib/trust-tier-policies.js +66 -0
  121. package/dist/biome/lib/trust-tier-policies.js.map +1 -0
  122. package/dist/capability/index.d.ts +9 -0
  123. package/dist/capability/index.d.ts.map +1 -0
  124. package/dist/capability/index.js +25 -0
  125. package/dist/capability/index.js.map +1 -0
  126. package/dist/capability/lib/capability-contribution.d.ts +18 -0
  127. package/dist/capability/lib/capability-contribution.d.ts.map +1 -0
  128. package/dist/capability/lib/capability-contribution.js +23 -0
  129. package/dist/capability/lib/capability-contribution.js.map +1 -0
  130. package/dist/capability/lib/capability-grant.d.ts +22 -0
  131. package/dist/capability/lib/capability-grant.d.ts.map +1 -0
  132. package/dist/capability/lib/capability-grant.js +27 -0
  133. package/dist/capability/lib/capability-grant.js.map +1 -0
  134. package/dist/capability/lib/capability-policy.d.ts +12 -0
  135. package/dist/capability/lib/capability-policy.d.ts.map +1 -0
  136. package/dist/capability/lib/capability-policy.js +14 -0
  137. package/dist/capability/lib/capability-policy.js.map +1 -0
  138. package/dist/capability/lib/capability-ref.d.ts +19 -0
  139. package/dist/capability/lib/capability-ref.d.ts.map +1 -0
  140. package/dist/capability/lib/capability-ref.js +63 -0
  141. package/dist/capability/lib/capability-ref.js.map +1 -0
  142. package/dist/capability/lib/errors.d.ts +60 -0
  143. package/dist/capability/lib/errors.d.ts.map +1 -0
  144. package/dist/capability/lib/errors.js +73 -0
  145. package/dist/capability/lib/errors.js.map +1 -0
  146. package/dist/capability/lib/meta-tool.d.ts +77 -0
  147. package/dist/capability/lib/meta-tool.d.ts.map +1 -0
  148. package/dist/capability/lib/meta-tool.js +76 -0
  149. package/dist/capability/lib/meta-tool.js.map +1 -0
  150. package/dist/capability/lib/permission-profile.d.ts +35 -0
  151. package/dist/capability/lib/permission-profile.d.ts.map +1 -0
  152. package/dist/capability/lib/permission-profile.js +38 -0
  153. package/dist/capability/lib/permission-profile.js.map +1 -0
  154. package/dist/capability/lib/shell-command-descriptor.d.ts +19 -0
  155. package/dist/capability/lib/shell-command-descriptor.d.ts.map +1 -0
  156. package/dist/capability/lib/shell-command-descriptor.js +20 -0
  157. package/dist/capability/lib/shell-command-descriptor.js.map +1 -0
  158. package/dist/contribution/index.d.ts +5 -0
  159. package/dist/contribution/index.d.ts.map +1 -0
  160. package/dist/contribution/index.js +21 -0
  161. package/dist/contribution/index.js.map +1 -0
  162. package/dist/contribution/lib/contribution-kind.d.ts +44 -0
  163. package/dist/contribution/lib/contribution-kind.d.ts.map +1 -0
  164. package/dist/contribution/lib/contribution-kind.js +47 -0
  165. package/dist/contribution/lib/contribution-kind.js.map +1 -0
  166. package/dist/contribution/lib/contribution-source.d.ts +11 -0
  167. package/dist/contribution/lib/contribution-source.d.ts.map +1 -0
  168. package/dist/contribution/lib/contribution-source.js +14 -0
  169. package/dist/contribution/lib/contribution-source.js.map +1 -0
  170. package/dist/contribution/lib/contribution.d.ts +36 -0
  171. package/dist/contribution/lib/contribution.d.ts.map +1 -0
  172. package/dist/contribution/lib/contribution.js +56 -0
  173. package/dist/contribution/lib/contribution.js.map +1 -0
  174. package/dist/contribution/lib/registry.d.ts +25 -0
  175. package/dist/contribution/lib/registry.d.ts.map +1 -0
  176. package/dist/contribution/lib/registry.js +54 -0
  177. package/dist/contribution/lib/registry.js.map +1 -0
  178. package/dist/document-templates/index.d.ts +3 -0
  179. package/dist/document-templates/index.d.ts.map +1 -0
  180. package/dist/document-templates/index.js +19 -0
  181. package/dist/document-templates/index.js.map +1 -0
  182. package/dist/document-templates/lib/document-template.d.ts +24 -0
  183. package/dist/document-templates/lib/document-template.d.ts.map +1 -0
  184. package/dist/document-templates/lib/document-template.js +10 -0
  185. package/dist/document-templates/lib/document-template.js.map +1 -0
  186. package/dist/document-templates/lib/index.d.ts +3 -0
  187. package/dist/document-templates/lib/index.d.ts.map +1 -0
  188. package/dist/document-templates/lib/index.js +19 -0
  189. package/dist/document-templates/lib/index.js.map +1 -0
  190. package/dist/document-templates/lib/rendering-shape.d.ts +7 -0
  191. package/dist/document-templates/lib/rendering-shape.d.ts.map +1 -0
  192. package/dist/document-templates/lib/rendering-shape.js +20 -0
  193. package/dist/document-templates/lib/rendering-shape.js.map +1 -0
  194. package/dist/document-themes/index.d.ts +3 -0
  195. package/dist/document-themes/index.d.ts.map +1 -0
  196. package/dist/document-themes/index.js +19 -0
  197. package/dist/document-themes/index.js.map +1 -0
  198. package/dist/document-themes/lib/component-vocabulary.d.ts +16 -0
  199. package/dist/document-themes/lib/component-vocabulary.d.ts.map +1 -0
  200. package/dist/document-themes/lib/component-vocabulary.js +55 -0
  201. package/dist/document-themes/lib/component-vocabulary.js.map +1 -0
  202. package/dist/document-themes/lib/document-theme.d.ts +57 -0
  203. package/dist/document-themes/lib/document-theme.d.ts.map +1 -0
  204. package/dist/document-themes/lib/document-theme.js +10 -0
  205. package/dist/document-themes/lib/document-theme.js.map +1 -0
  206. package/dist/document-themes/lib/index.d.ts +3 -0
  207. package/dist/document-themes/lib/index.d.ts.map +1 -0
  208. package/dist/document-themes/lib/index.js +19 -0
  209. package/dist/document-themes/lib/index.js.map +1 -0
  210. package/dist/entitlement/index.d.ts +2 -0
  211. package/dist/entitlement/index.d.ts.map +1 -0
  212. package/dist/entitlement/index.js +18 -0
  213. package/dist/entitlement/index.js.map +1 -0
  214. package/dist/entitlement/lib/entitlement.d.ts +25 -0
  215. package/dist/entitlement/lib/entitlement.d.ts.map +1 -0
  216. package/dist/entitlement/lib/entitlement.js +54 -0
  217. package/dist/entitlement/lib/entitlement.js.map +1 -0
  218. package/dist/execution-context/index.d.ts +4 -0
  219. package/dist/execution-context/index.d.ts.map +1 -0
  220. package/dist/execution-context/index.js +20 -0
  221. package/dist/execution-context/index.js.map +1 -0
  222. package/dist/execution-context/lib/caller.d.ts +19 -0
  223. package/dist/execution-context/lib/caller.d.ts.map +1 -0
  224. package/dist/execution-context/lib/caller.js +22 -0
  225. package/dist/execution-context/lib/caller.js.map +1 -0
  226. package/dist/execution-context/lib/execution-context.d.ts +60 -0
  227. package/dist/execution-context/lib/execution-context.d.ts.map +1 -0
  228. package/dist/execution-context/lib/execution-context.js +58 -0
  229. package/dist/execution-context/lib/execution-context.js.map +1 -0
  230. package/dist/execution-context/lib/subject.d.ts +3 -0
  231. package/dist/execution-context/lib/subject.d.ts.map +1 -0
  232. package/dist/execution-context/lib/subject.js +11 -0
  233. package/dist/execution-context/lib/subject.js.map +1 -0
  234. package/dist/execution-environment/index.d.ts +4 -0
  235. package/dist/execution-environment/index.d.ts.map +1 -0
  236. package/dist/execution-environment/index.js +20 -0
  237. package/dist/execution-environment/index.js.map +1 -0
  238. package/dist/execution-environment/lib/approval-rule.d.ts +10 -0
  239. package/dist/execution-environment/lib/approval-rule.d.ts.map +1 -0
  240. package/dist/execution-environment/lib/approval-rule.js +12 -0
  241. package/dist/execution-environment/lib/approval-rule.js.map +1 -0
  242. package/dist/execution-environment/lib/built-in-environments.d.ts +16 -0
  243. package/dist/execution-environment/lib/built-in-environments.d.ts.map +1 -0
  244. package/dist/execution-environment/lib/built-in-environments.js +33 -0
  245. package/dist/execution-environment/lib/built-in-environments.js.map +1 -0
  246. package/dist/execution-environment/lib/execution-environment.d.ts +58 -0
  247. package/dist/execution-environment/lib/execution-environment.d.ts.map +1 -0
  248. package/dist/execution-environment/lib/execution-environment.js +89 -0
  249. package/dist/execution-environment/lib/execution-environment.js.map +1 -0
  250. package/dist/kernel-state/index.d.ts +4 -0
  251. package/dist/kernel-state/index.d.ts.map +1 -0
  252. package/dist/kernel-state/index.js +20 -0
  253. package/dist/kernel-state/index.js.map +1 -0
  254. package/dist/kernel-state/lib/adapter-kind.d.ts +5 -0
  255. package/dist/kernel-state/lib/adapter-kind.d.ts.map +1 -0
  256. package/dist/kernel-state/lib/adapter-kind.js +9 -0
  257. package/dist/kernel-state/lib/adapter-kind.js.map +1 -0
  258. package/dist/kernel-state/lib/kernel-state.d.ts +37 -0
  259. package/dist/kernel-state/lib/kernel-state.d.ts.map +1 -0
  260. package/dist/kernel-state/lib/kernel-state.js +9 -0
  261. package/dist/kernel-state/lib/kernel-state.js.map +1 -0
  262. package/dist/kernel-state/lib/key-grammar.d.ts +16 -0
  263. package/dist/kernel-state/lib/key-grammar.d.ts.map +1 -0
  264. package/dist/kernel-state/lib/key-grammar.js +56 -0
  265. package/dist/kernel-state/lib/key-grammar.js.map +1 -0
  266. package/dist/llm-gateway/index.d.ts +3 -0
  267. package/dist/llm-gateway/index.d.ts.map +1 -0
  268. package/dist/llm-gateway/index.js +19 -0
  269. package/dist/llm-gateway/index.js.map +1 -0
  270. package/dist/llm-gateway/lib/caller.d.ts +14 -0
  271. package/dist/llm-gateway/lib/caller.d.ts.map +1 -0
  272. package/dist/llm-gateway/lib/caller.js +11 -0
  273. package/dist/llm-gateway/lib/caller.js.map +1 -0
  274. package/dist/llm-gateway/lib/errors.d.ts +27 -0
  275. package/dist/llm-gateway/lib/errors.d.ts.map +1 -0
  276. package/dist/llm-gateway/lib/errors.js +36 -0
  277. package/dist/llm-gateway/lib/errors.js.map +1 -0
  278. package/dist/mcp-tool/index.d.ts +7 -0
  279. package/dist/mcp-tool/index.d.ts.map +1 -0
  280. package/dist/mcp-tool/index.js +23 -0
  281. package/dist/mcp-tool/index.js.map +1 -0
  282. package/dist/mcp-tool/lib/mcp-protocol.d.ts +75 -0
  283. package/dist/mcp-tool/lib/mcp-protocol.d.ts.map +1 -0
  284. package/dist/mcp-tool/lib/mcp-protocol.js +19 -0
  285. package/dist/mcp-tool/lib/mcp-protocol.js.map +1 -0
  286. package/dist/mcp-tool/lib/mcp-server-config.d.ts +8 -0
  287. package/dist/mcp-tool/lib/mcp-server-config.d.ts.map +1 -0
  288. package/dist/mcp-tool/lib/mcp-server-config.js +3 -0
  289. package/dist/mcp-tool/lib/mcp-server-config.js.map +1 -0
  290. package/dist/mcp-tool/lib/provider-kind.d.ts +10 -0
  291. package/dist/mcp-tool/lib/provider-kind.d.ts.map +1 -0
  292. package/dist/mcp-tool/lib/provider-kind.js +14 -0
  293. package/dist/mcp-tool/lib/provider-kind.js.map +1 -0
  294. package/dist/mcp-tool/lib/resolver-scope.d.ts +16 -0
  295. package/dist/mcp-tool/lib/resolver-scope.d.ts.map +1 -0
  296. package/dist/mcp-tool/lib/resolver-scope.js +12 -0
  297. package/dist/mcp-tool/lib/resolver-scope.js.map +1 -0
  298. package/dist/mcp-tool/lib/tool-provider.d.ts +21 -0
  299. package/dist/mcp-tool/lib/tool-provider.d.ts.map +1 -0
  300. package/dist/mcp-tool/lib/tool-provider.js +3 -0
  301. package/dist/mcp-tool/lib/tool-provider.js.map +1 -0
  302. package/dist/mcp-tool/lib/tool-selection.d.ts +34 -0
  303. package/dist/mcp-tool/lib/tool-selection.d.ts.map +1 -0
  304. package/dist/mcp-tool/lib/tool-selection.js +18 -0
  305. package/dist/mcp-tool/lib/tool-selection.js.map +1 -0
  306. package/dist/object/index.d.ts +5 -0
  307. package/dist/object/index.d.ts.map +1 -0
  308. package/dist/object/index.js +21 -0
  309. package/dist/object/index.js.map +1 -0
  310. package/dist/object/lib/object-lifecycle.d.ts +8 -0
  311. package/dist/object/lib/object-lifecycle.d.ts.map +1 -0
  312. package/dist/object/lib/object-lifecycle.js +12 -0
  313. package/dist/object/lib/object-lifecycle.js.map +1 -0
  314. package/dist/object/lib/xema-object-kind.d.ts +43 -0
  315. package/dist/object/lib/xema-object-kind.d.ts.map +1 -0
  316. package/dist/object/lib/xema-object-kind.js +47 -0
  317. package/dist/object/lib/xema-object-kind.js.map +1 -0
  318. package/dist/object/lib/xema-object-ref.d.ts +20 -0
  319. package/dist/object/lib/xema-object-ref.d.ts.map +1 -0
  320. package/dist/object/lib/xema-object-ref.js +133 -0
  321. package/dist/object/lib/xema-object-ref.js.map +1 -0
  322. package/dist/object/lib/xema-object.d.ts +24 -0
  323. package/dist/object/lib/xema-object.d.ts.map +1 -0
  324. package/dist/object/lib/xema-object.js +24 -0
  325. package/dist/object/lib/xema-object.js.map +1 -0
  326. package/dist/policy/index.d.ts +4 -0
  327. package/dist/policy/index.d.ts.map +1 -0
  328. package/dist/policy/index.js +20 -0
  329. package/dist/policy/index.js.map +1 -0
  330. package/dist/policy/lib/obligations.d.ts +91 -0
  331. package/dist/policy/lib/obligations.d.ts.map +1 -0
  332. package/dist/policy/lib/obligations.js +76 -0
  333. package/dist/policy/lib/obligations.js.map +1 -0
  334. package/dist/policy/lib/policy.d.ts +29 -0
  335. package/dist/policy/lib/policy.d.ts.map +1 -0
  336. package/dist/policy/lib/policy.js +32 -0
  337. package/dist/policy/lib/policy.js.map +1 -0
  338. package/dist/policy/lib/route-hints.d.ts +11 -0
  339. package/dist/policy/lib/route-hints.d.ts.map +1 -0
  340. package/dist/policy/lib/route-hints.js +15 -0
  341. package/dist/policy/lib/route-hints.js.map +1 -0
  342. package/dist/runner/index.d.ts +12 -0
  343. package/dist/runner/index.d.ts.map +1 -0
  344. package/dist/runner/index.js +28 -0
  345. package/dist/runner/index.js.map +1 -0
  346. package/dist/runner/lib/dispatch.d.ts +13 -0
  347. package/dist/runner/lib/dispatch.d.ts.map +1 -0
  348. package/dist/runner/lib/dispatch.js +15 -0
  349. package/dist/runner/lib/dispatch.js.map +1 -0
  350. package/dist/runner/lib/input-hash.d.ts +2 -0
  351. package/dist/runner/lib/input-hash.d.ts.map +1 -0
  352. package/dist/runner/lib/input-hash.js +37 -0
  353. package/dist/runner/lib/input-hash.js.map +1 -0
  354. package/dist/runner/lib/job-token.d.ts +22 -0
  355. package/dist/runner/lib/job-token.d.ts.map +1 -0
  356. package/dist/runner/lib/job-token.js +3 -0
  357. package/dist/runner/lib/job-token.js.map +1 -0
  358. package/dist/runner/lib/runner-attestation.d.ts +10 -0
  359. package/dist/runner/lib/runner-attestation.d.ts.map +1 -0
  360. package/dist/runner/lib/runner-attestation.js +5 -0
  361. package/dist/runner/lib/runner-attestation.js.map +1 -0
  362. package/dist/runner/lib/runner-job.d.ts +26 -0
  363. package/dist/runner/lib/runner-job.d.ts.map +1 -0
  364. package/dist/runner/lib/runner-job.js +36 -0
  365. package/dist/runner/lib/runner-job.js.map +1 -0
  366. package/dist/runner/lib/runner-kind.d.ts +2 -0
  367. package/dist/runner/lib/runner-kind.d.ts.map +1 -0
  368. package/dist/runner/lib/runner-kind.js +7 -0
  369. package/dist/runner/lib/runner-kind.js.map +1 -0
  370. package/dist/runner/lib/runner-mode.d.ts +5 -0
  371. package/dist/runner/lib/runner-mode.d.ts.map +1 -0
  372. package/dist/runner/lib/runner-mode.js +9 -0
  373. package/dist/runner/lib/runner-mode.js.map +1 -0
  374. package/dist/runner/lib/runner-plane.d.ts +19 -0
  375. package/dist/runner/lib/runner-plane.d.ts.map +1 -0
  376. package/dist/runner/lib/runner-plane.js +31 -0
  377. package/dist/runner/lib/runner-plane.js.map +1 -0
  378. package/dist/runner/lib/runner-registration.d.ts +60 -0
  379. package/dist/runner/lib/runner-registration.d.ts.map +1 -0
  380. package/dist/runner/lib/runner-registration.js +62 -0
  381. package/dist/runner/lib/runner-registration.js.map +1 -0
  382. package/dist/runner/lib/runner.d.ts +24 -0
  383. package/dist/runner/lib/runner.d.ts.map +1 -0
  384. package/dist/runner/lib/runner.js +26 -0
  385. package/dist/runner/lib/runner.js.map +1 -0
  386. package/dist/runner/lib/runtime-isolation.d.ts +10 -0
  387. package/dist/runner/lib/runtime-isolation.d.ts.map +1 -0
  388. package/dist/runner/lib/runtime-isolation.js +23 -0
  389. package/dist/runner/lib/runtime-isolation.js.map +1 -0
  390. package/dist/search-source/index.d.ts +5 -0
  391. package/dist/search-source/index.d.ts.map +1 -0
  392. package/dist/search-source/index.js +21 -0
  393. package/dist/search-source/index.js.map +1 -0
  394. package/dist/search-source/lib/indexable-document.d.ts +40 -0
  395. package/dist/search-source/lib/indexable-document.d.ts.map +1 -0
  396. package/dist/search-source/lib/indexable-document.js +26 -0
  397. package/dist/search-source/lib/indexable-document.js.map +1 -0
  398. package/dist/search-source/lib/search-index-event.d.ts +52 -0
  399. package/dist/search-source/lib/search-index-event.d.ts.map +1 -0
  400. package/dist/search-source/lib/search-index-event.js +29 -0
  401. package/dist/search-source/lib/search-index-event.js.map +1 -0
  402. package/dist/search-source/lib/search-replay.d.ts +46 -0
  403. package/dist/search-source/lib/search-replay.d.ts.map +1 -0
  404. package/dist/search-source/lib/search-replay.js +36 -0
  405. package/dist/search-source/lib/search-replay.js.map +1 -0
  406. package/dist/search-source/lib/search-source-descriptor.d.ts +15 -0
  407. package/dist/search-source/lib/search-source-descriptor.d.ts.map +1 -0
  408. package/dist/search-source/lib/search-source-descriptor.js +3 -0
  409. package/dist/search-source/lib/search-source-descriptor.js.map +1 -0
  410. package/dist/service-registry/index.d.ts +4 -0
  411. package/dist/service-registry/index.d.ts.map +1 -0
  412. package/dist/service-registry/index.js +20 -0
  413. package/dist/service-registry/index.js.map +1 -0
  414. package/dist/service-registry/lib/inject-service.d.ts +6 -0
  415. package/dist/service-registry/lib/inject-service.d.ts.map +1 -0
  416. package/dist/service-registry/lib/inject-service.js +5 -0
  417. package/dist/service-registry/lib/inject-service.js.map +1 -0
  418. package/dist/service-registry/lib/service-descriptor.d.ts +28 -0
  419. package/dist/service-registry/lib/service-descriptor.d.ts.map +1 -0
  420. package/dist/service-registry/lib/service-descriptor.js +17 -0
  421. package/dist/service-registry/lib/service-descriptor.js.map +1 -0
  422. package/dist/service-registry/lib/service-registry-client.d.ts +30 -0
  423. package/dist/service-registry/lib/service-registry-client.d.ts.map +1 -0
  424. package/dist/service-registry/lib/service-registry-client.js +3 -0
  425. package/dist/service-registry/lib/service-registry-client.js.map +1 -0
  426. package/dist/skill/index.d.ts +5 -0
  427. package/dist/skill/index.d.ts.map +1 -0
  428. package/dist/skill/index.js +21 -0
  429. package/dist/skill/index.js.map +1 -0
  430. package/dist/skill/lib/skill-enums.d.ts +41 -0
  431. package/dist/skill/lib/skill-enums.d.ts.map +1 -0
  432. package/dist/skill/lib/skill-enums.js +54 -0
  433. package/dist/skill/lib/skill-enums.js.map +1 -0
  434. package/dist/skill/lib/skill-governance.d.ts +106 -0
  435. package/dist/skill/lib/skill-governance.d.ts.map +1 -0
  436. package/dist/skill/lib/skill-governance.js +61 -0
  437. package/dist/skill/lib/skill-governance.js.map +1 -0
  438. package/dist/skill/lib/skill-source.d.ts +14 -0
  439. package/dist/skill/lib/skill-source.d.ts.map +1 -0
  440. package/dist/skill/lib/skill-source.js +3 -0
  441. package/dist/skill/lib/skill-source.js.map +1 -0
  442. package/dist/skill/lib/skill.d.ts +52 -0
  443. package/dist/skill/lib/skill.d.ts.map +1 -0
  444. package/dist/skill/lib/skill.js +3 -0
  445. package/dist/skill/lib/skill.js.map +1 -0
  446. package/dist/space/index.d.ts +4 -0
  447. package/dist/space/index.d.ts.map +1 -0
  448. package/dist/space/index.js +20 -0
  449. package/dist/space/index.js.map +1 -0
  450. package/dist/space/lib/space-ref-parser.d.ts +8 -0
  451. package/dist/space/lib/space-ref-parser.d.ts.map +1 -0
  452. package/dist/space/lib/space-ref-parser.js +149 -0
  453. package/dist/space/lib/space-ref-parser.js.map +1 -0
  454. package/dist/space/lib/space-traversal.d.ts +3 -0
  455. package/dist/space/lib/space-traversal.d.ts.map +1 -0
  456. package/dist/space/lib/space-traversal.js +56 -0
  457. package/dist/space/lib/space-traversal.js.map +1 -0
  458. package/dist/space/lib/space.d.ts +53 -0
  459. package/dist/space/lib/space.d.ts.map +1 -0
  460. package/dist/space/lib/space.js +98 -0
  461. package/dist/space/lib/space.js.map +1 -0
  462. package/dist/subject/index.d.ts +3 -0
  463. package/dist/subject/index.d.ts.map +1 -0
  464. package/dist/subject/index.js +19 -0
  465. package/dist/subject/index.js.map +1 -0
  466. package/dist/subject/lib/subject.d.ts +29 -0
  467. package/dist/subject/lib/subject.d.ts.map +1 -0
  468. package/dist/subject/lib/subject.js +47 -0
  469. package/dist/subject/lib/subject.js.map +1 -0
  470. package/dist/subject/lib/token-class.d.ts +11 -0
  471. package/dist/subject/lib/token-class.d.ts.map +1 -0
  472. package/dist/subject/lib/token-class.js +15 -0
  473. package/dist/subject/lib/token-class.js.map +1 -0
  474. package/dist/workflow/index.d.ts +31 -0
  475. package/dist/workflow/index.d.ts.map +1 -0
  476. package/dist/workflow/index.js +47 -0
  477. package/dist/workflow/index.js.map +1 -0
  478. package/dist/workflow/lib/action-ref.d.ts +12 -0
  479. package/dist/workflow/lib/action-ref.d.ts.map +1 -0
  480. package/dist/workflow/lib/action-ref.js +3 -0
  481. package/dist/workflow/lib/action-ref.js.map +1 -0
  482. package/dist/workflow/lib/activity-outputs.d.ts +14 -0
  483. package/dist/workflow/lib/activity-outputs.d.ts.map +1 -0
  484. package/dist/workflow/lib/activity-outputs.js +3 -0
  485. package/dist/workflow/lib/activity-outputs.js.map +1 -0
  486. package/dist/workflow/lib/agent-role.d.ts +6 -0
  487. package/dist/workflow/lib/agent-role.d.ts.map +1 -0
  488. package/dist/workflow/lib/agent-role.js +41 -0
  489. package/dist/workflow/lib/agent-role.js.map +1 -0
  490. package/dist/workflow/lib/artifact-ref.d.ts +21 -0
  491. package/dist/workflow/lib/artifact-ref.d.ts.map +1 -0
  492. package/dist/workflow/lib/artifact-ref.js +38 -0
  493. package/dist/workflow/lib/artifact-ref.js.map +1 -0
  494. package/dist/workflow/lib/briefcase.d.ts +107 -0
  495. package/dist/workflow/lib/briefcase.d.ts.map +1 -0
  496. package/dist/workflow/lib/briefcase.js +62 -0
  497. package/dist/workflow/lib/briefcase.js.map +1 -0
  498. package/dist/workflow/lib/canonical-concepts/canonical-concept-registry.d.ts +18 -0
  499. package/dist/workflow/lib/canonical-concepts/canonical-concept-registry.d.ts.map +1 -0
  500. package/dist/workflow/lib/canonical-concepts/canonical-concept-registry.js +45 -0
  501. package/dist/workflow/lib/canonical-concepts/canonical-concept-registry.js.map +1 -0
  502. package/dist/workflow/lib/canonical-concepts/concepts/change-intent.concepts.d.ts +3 -0
  503. package/dist/workflow/lib/canonical-concepts/concepts/change-intent.concepts.d.ts.map +1 -0
  504. package/dist/workflow/lib/canonical-concepts/concepts/change-intent.concepts.js +79 -0
  505. package/dist/workflow/lib/canonical-concepts/concepts/change-intent.concepts.js.map +1 -0
  506. package/dist/workflow/lib/canonical-concepts/concepts/concern.concepts.d.ts +3 -0
  507. package/dist/workflow/lib/canonical-concepts/concepts/concern.concepts.d.ts.map +1 -0
  508. package/dist/workflow/lib/canonical-concepts/concepts/concern.concepts.js +133 -0
  509. package/dist/workflow/lib/canonical-concepts/concepts/concern.concepts.js.map +1 -0
  510. package/dist/workflow/lib/canonical-concepts/concepts/domain.concepts.d.ts +3 -0
  511. package/dist/workflow/lib/canonical-concepts/concepts/domain.concepts.d.ts.map +1 -0
  512. package/dist/workflow/lib/canonical-concepts/concepts/domain.concepts.js +116 -0
  513. package/dist/workflow/lib/canonical-concepts/concepts/domain.concepts.js.map +1 -0
  514. package/dist/workflow/lib/canonical-concepts/concepts/index.d.ts +8 -0
  515. package/dist/workflow/lib/canonical-concepts/concepts/index.d.ts.map +1 -0
  516. package/dist/workflow/lib/canonical-concepts/concepts/index.js +18 -0
  517. package/dist/workflow/lib/canonical-concepts/concepts/index.js.map +1 -0
  518. package/dist/workflow/lib/canonical-concepts/concepts/technology.concepts.d.ts +3 -0
  519. package/dist/workflow/lib/canonical-concepts/concepts/technology.concepts.d.ts.map +1 -0
  520. package/dist/workflow/lib/canonical-concepts/concepts/technology.concepts.js +462 -0
  521. package/dist/workflow/lib/canonical-concepts/concepts/technology.concepts.js.map +1 -0
  522. package/dist/workflow/lib/canonical-concepts/index.d.ts +3 -0
  523. package/dist/workflow/lib/canonical-concepts/index.d.ts.map +1 -0
  524. package/dist/workflow/lib/canonical-concepts/index.js +16 -0
  525. package/dist/workflow/lib/canonical-concepts/index.js.map +1 -0
  526. package/dist/workflow/lib/catalog-taxonomies.d.ts +41 -0
  527. package/dist/workflow/lib/catalog-taxonomies.d.ts.map +1 -0
  528. package/dist/workflow/lib/catalog-taxonomies.js +3475 -0
  529. package/dist/workflow/lib/catalog-taxonomies.js.map +1 -0
  530. package/dist/workflow/lib/compiled-run.d.ts +118 -0
  531. package/dist/workflow/lib/compiled-run.d.ts.map +1 -0
  532. package/dist/workflow/lib/compiled-run.js +3 -0
  533. package/dist/workflow/lib/compiled-run.js.map +1 -0
  534. package/dist/workflow/lib/compiled-working-file.d.ts +11 -0
  535. package/dist/workflow/lib/compiled-working-file.d.ts.map +1 -0
  536. package/dist/workflow/lib/compiled-working-file.js +3 -0
  537. package/dist/workflow/lib/compiled-working-file.js.map +1 -0
  538. package/dist/workflow/lib/compiled-workspace-manifest.d.ts +101 -0
  539. package/dist/workflow/lib/compiled-workspace-manifest.d.ts.map +1 -0
  540. package/dist/workflow/lib/compiled-workspace-manifest.js +3 -0
  541. package/dist/workflow/lib/compiled-workspace-manifest.js.map +1 -0
  542. package/dist/workflow/lib/concurrency-group.d.ts +6 -0
  543. package/dist/workflow/lib/concurrency-group.d.ts.map +1 -0
  544. package/dist/workflow/lib/concurrency-group.js +3 -0
  545. package/dist/workflow/lib/concurrency-group.js.map +1 -0
  546. package/dist/workflow/lib/deliverable-result.d.ts +124 -0
  547. package/dist/workflow/lib/deliverable-result.d.ts.map +1 -0
  548. package/dist/workflow/lib/deliverable-result.js +27 -0
  549. package/dist/workflow/lib/deliverable-result.js.map +1 -0
  550. package/dist/workflow/lib/domain-tag.d.ts +2 -0
  551. package/dist/workflow/lib/domain-tag.d.ts.map +1 -0
  552. package/dist/workflow/lib/domain-tag.js +3 -0
  553. package/dist/workflow/lib/domain-tag.js.map +1 -0
  554. package/dist/workflow/lib/enums.d.ts +138 -0
  555. package/dist/workflow/lib/enums.d.ts.map +1 -0
  556. package/dist/workflow/lib/enums.js +166 -0
  557. package/dist/workflow/lib/enums.js.map +1 -0
  558. package/dist/workflow/lib/errors.d.ts +35 -0
  559. package/dist/workflow/lib/errors.d.ts.map +1 -0
  560. package/dist/workflow/lib/errors.js +62 -0
  561. package/dist/workflow/lib/errors.js.map +1 -0
  562. package/dist/workflow/lib/job-run.d.ts +32 -0
  563. package/dist/workflow/lib/job-run.d.ts.map +1 -0
  564. package/dist/workflow/lib/job-run.js +3 -0
  565. package/dist/workflow/lib/job-run.js.map +1 -0
  566. package/dist/workflow/lib/model-ref.d.ts +40 -0
  567. package/dist/workflow/lib/model-ref.d.ts.map +1 -0
  568. package/dist/workflow/lib/model-ref.js +34 -0
  569. package/dist/workflow/lib/model-ref.js.map +1 -0
  570. package/dist/workflow/lib/mount-plan.d.ts +105 -0
  571. package/dist/workflow/lib/mount-plan.d.ts.map +1 -0
  572. package/dist/workflow/lib/mount-plan.js +3 -0
  573. package/dist/workflow/lib/mount-plan.js.map +1 -0
  574. package/dist/workflow/lib/phase-report.d.ts +9 -0
  575. package/dist/workflow/lib/phase-report.d.ts.map +1 -0
  576. package/dist/workflow/lib/phase-report.js +30 -0
  577. package/dist/workflow/lib/phase-report.js.map +1 -0
  578. package/dist/workflow/lib/platform-task-queue.d.ts +17 -0
  579. package/dist/workflow/lib/platform-task-queue.d.ts.map +1 -0
  580. package/dist/workflow/lib/platform-task-queue.js +33 -0
  581. package/dist/workflow/lib/platform-task-queue.js.map +1 -0
  582. package/dist/workflow/lib/review-subject/index.d.ts +5 -0
  583. package/dist/workflow/lib/review-subject/index.d.ts.map +1 -0
  584. package/dist/workflow/lib/review-subject/index.js +8 -0
  585. package/dist/workflow/lib/review-subject/index.js.map +1 -0
  586. package/dist/workflow/lib/review-subject/kinds.d.ts +5 -0
  587. package/dist/workflow/lib/review-subject/kinds.d.ts.map +1 -0
  588. package/dist/workflow/lib/review-subject/kinds.js +9 -0
  589. package/dist/workflow/lib/review-subject/kinds.js.map +1 -0
  590. package/dist/workflow/lib/review-subject/narrow.d.ts +5 -0
  591. package/dist/workflow/lib/review-subject/narrow.d.ts.map +1 -0
  592. package/dist/workflow/lib/review-subject/narrow.js +79 -0
  593. package/dist/workflow/lib/review-subject/narrow.js.map +1 -0
  594. package/dist/workflow/lib/review-subject/producers/artifact-ref.d.ts +9 -0
  595. package/dist/workflow/lib/review-subject/producers/artifact-ref.d.ts.map +1 -0
  596. package/dist/workflow/lib/review-subject/producers/artifact-ref.js +16 -0
  597. package/dist/workflow/lib/review-subject/producers/artifact-ref.js.map +1 -0
  598. package/dist/workflow/lib/review-subject/producers/string.d.ts +7 -0
  599. package/dist/workflow/lib/review-subject/producers/string.d.ts.map +1 -0
  600. package/dist/workflow/lib/review-subject/producers/string.js +11 -0
  601. package/dist/workflow/lib/review-subject/producers/string.js.map +1 -0
  602. package/dist/workflow/lib/role-capability.d.ts +16 -0
  603. package/dist/workflow/lib/role-capability.d.ts.map +1 -0
  604. package/dist/workflow/lib/role-capability.js +19 -0
  605. package/dist/workflow/lib/role-capability.js.map +1 -0
  606. package/dist/workflow/lib/run-progress.d.ts +100 -0
  607. package/dist/workflow/lib/run-progress.d.ts.map +1 -0
  608. package/dist/workflow/lib/run-progress.js +96 -0
  609. package/dist/workflow/lib/run-progress.js.map +1 -0
  610. package/dist/workflow/lib/sampling-profiles.d.ts +18 -0
  611. package/dist/workflow/lib/sampling-profiles.d.ts.map +1 -0
  612. package/dist/workflow/lib/sampling-profiles.js +56 -0
  613. package/dist/workflow/lib/sampling-profiles.js.map +1 -0
  614. package/dist/workflow/lib/snapshot-ref.d.ts +10 -0
  615. package/dist/workflow/lib/snapshot-ref.d.ts.map +1 -0
  616. package/dist/workflow/lib/snapshot-ref.js +3 -0
  617. package/dist/workflow/lib/snapshot-ref.js.map +1 -0
  618. package/dist/workflow/lib/temporal-namespace.d.ts +5 -0
  619. package/dist/workflow/lib/temporal-namespace.d.ts.map +1 -0
  620. package/dist/workflow/lib/temporal-namespace.js +34 -0
  621. package/dist/workflow/lib/temporal-namespace.js.map +1 -0
  622. package/dist/workflow/lib/trigger-payload.d.ts +35 -0
  623. package/dist/workflow/lib/trigger-payload.d.ts.map +1 -0
  624. package/dist/workflow/lib/trigger-payload.js +3 -0
  625. package/dist/workflow/lib/trigger-payload.js.map +1 -0
  626. package/dist/workflow/lib/variable-requirement.d.ts +18 -0
  627. package/dist/workflow/lib/variable-requirement.d.ts.map +1 -0
  628. package/dist/workflow/lib/variable-requirement.js +3 -0
  629. package/dist/workflow/lib/variable-requirement.js.map +1 -0
  630. package/dist/workflow/lib/work-item-payloads.d.ts +114 -0
  631. package/dist/workflow/lib/work-item-payloads.d.ts.map +1 -0
  632. package/dist/workflow/lib/work-item-payloads.js +60 -0
  633. package/dist/workflow/lib/work-item-payloads.js.map +1 -0
  634. package/dist/workflow/lib/workflow-stage.d.ts +11 -0
  635. package/dist/workflow/lib/workflow-stage.d.ts.map +1 -0
  636. package/dist/workflow/lib/workflow-stage.js +28 -0
  637. package/dist/workflow/lib/workflow-stage.js.map +1 -0
  638. package/dist/workflow/lib/workspace-manifest-enums.d.ts +42 -0
  639. package/dist/workflow/lib/workspace-manifest-enums.d.ts.map +1 -0
  640. package/dist/workflow/lib/workspace-manifest-enums.js +80 -0
  641. package/dist/workflow/lib/workspace-manifest-enums.js.map +1 -0
  642. package/package.json +173 -0
  643. package/src/agent-composition/index.ts +17 -0
  644. package/src/agent-composition/lib/capability-layer.ts +46 -0
  645. package/src/agent-composition/lib/composition-limits-schema.ts +38 -0
  646. package/src/agent-composition/lib/composition-workspace.ts +210 -0
  647. package/src/agent-composition/lib/composition.ts +205 -0
  648. package/src/agent-composition/lib/intrinsic-floor.ts +50 -0
  649. package/src/agent-composition/lib/model-resolution-matrix.ts +112 -0
  650. package/src/agent-workspace/index.ts +27 -0
  651. package/src/agent-workspace/lib/agent-run-context.ts +44 -0
  652. package/src/agent-workspace/lib/agent-tool-defaults.ts +252 -0
  653. package/src/agent-workspace/lib/awp-v1.ts +289 -0
  654. package/src/agent-workspace/lib/context-json.ts +92 -0
  655. package/src/agent-workspace/lib/deliverable-spec-ref.ts +60 -0
  656. package/src/agent-workspace/lib/endpoint-fetch-spec.ts +66 -0
  657. package/src/agent-workspace/lib/manifest.ts +53 -0
  658. package/src/agent-workspace/lib/mount-apply.ts +79 -0
  659. package/src/agent-workspace/lib/working-file.ts +173 -0
  660. package/src/agent-workspace/lib/workspace-layout.ts +106 -0
  661. package/src/agent-workspace/lib/workspace-spec.ts +212 -0
  662. package/src/biome/index.ts +10 -0
  663. package/src/biome/lib/biome-api.ts +33 -0
  664. package/src/biome/lib/biome-capability-refs.ts +29 -0
  665. package/src/biome/lib/biome-engines.ts +18 -0
  666. package/src/biome/lib/biome-lifecycle-hooks.ts +28 -0
  667. package/src/biome/lib/biome-lifecycle.ts +29 -0
  668. package/src/biome/lib/biome-manifest.ts +102 -0
  669. package/src/biome/lib/biome-permissions.ts +35 -0
  670. package/src/biome/lib/biome-scope.ts +19 -0
  671. package/src/biome/lib/biome-trust-tier.ts +21 -0
  672. package/src/biome/lib/trust-tier-policies.ts +99 -0
  673. package/src/capability/index.ts +8 -0
  674. package/src/capability/lib/capability-contribution.ts +99 -0
  675. package/src/capability/lib/capability-grant.ts +90 -0
  676. package/src/capability/lib/capability-policy.ts +37 -0
  677. package/src/capability/lib/capability-ref.ts +138 -0
  678. package/src/capability/lib/errors.ts +180 -0
  679. package/src/capability/lib/meta-tool.ts +213 -0
  680. package/src/capability/lib/permission-profile.ts +91 -0
  681. package/src/capability/lib/shell-command-descriptor.ts +66 -0
  682. package/src/contribution/index.ts +4 -0
  683. package/src/contribution/lib/contribution-kind.ts +132 -0
  684. package/src/contribution/lib/contribution-source.ts +29 -0
  685. package/src/contribution/lib/contribution.ts +209 -0
  686. package/src/contribution/lib/registry.ts +100 -0
  687. package/src/document-templates/index.ts +24 -0
  688. package/src/document-templates/lib/document-template.ts +88 -0
  689. package/src/document-templates/lib/index.ts +2 -0
  690. package/src/document-templates/lib/rendering-shape.ts +48 -0
  691. package/src/document-themes/index.ts +21 -0
  692. package/src/document-themes/lib/component-vocabulary.ts +100 -0
  693. package/src/document-themes/lib/document-theme.ts +110 -0
  694. package/src/document-themes/lib/index.ts +2 -0
  695. package/src/entitlement/index.ts +1 -0
  696. package/src/entitlement/lib/entitlement.ts +142 -0
  697. package/src/execution-context/index.ts +3 -0
  698. package/src/execution-context/lib/caller.ts +46 -0
  699. package/src/execution-context/lib/execution-context.ts +205 -0
  700. package/src/execution-context/lib/subject.ts +17 -0
  701. package/src/execution-environment/index.ts +3 -0
  702. package/src/execution-environment/lib/approval-rule.ts +32 -0
  703. package/src/execution-environment/lib/built-in-environments.ts +89 -0
  704. package/src/execution-environment/lib/execution-environment.ts +266 -0
  705. package/src/kernel-state/index.ts +3 -0
  706. package/src/kernel-state/lib/adapter-kind.ts +18 -0
  707. package/src/kernel-state/lib/kernel-state.ts +139 -0
  708. package/src/kernel-state/lib/key-grammar.ts +105 -0
  709. package/src/llm-gateway/index.ts +2 -0
  710. package/src/llm-gateway/lib/caller.ts +48 -0
  711. package/src/llm-gateway/lib/errors.ts +111 -0
  712. package/src/mcp-tool/index.ts +6 -0
  713. package/src/mcp-tool/lib/mcp-protocol.ts +94 -0
  714. package/src/mcp-tool/lib/mcp-server-config.ts +17 -0
  715. package/src/mcp-tool/lib/provider-kind.ts +35 -0
  716. package/src/mcp-tool/lib/resolver-scope.ts +32 -0
  717. package/src/mcp-tool/lib/tool-provider.ts +62 -0
  718. package/src/mcp-tool/lib/tool-selection.ts +48 -0
  719. package/src/object/index.ts +4 -0
  720. package/src/object/lib/object-lifecycle.ts +22 -0
  721. package/src/object/lib/xema-object-kind.ts +73 -0
  722. package/src/object/lib/xema-object-ref.ts +233 -0
  723. package/src/object/lib/xema-object.ts +81 -0
  724. package/src/policy/index.ts +3 -0
  725. package/src/policy/lib/obligations.ts +155 -0
  726. package/src/policy/lib/policy.ts +104 -0
  727. package/src/policy/lib/route-hints.ts +51 -0
  728. package/src/runner/index.ts +11 -0
  729. package/src/runner/lib/dispatch.ts +61 -0
  730. package/src/runner/lib/input-hash.ts +66 -0
  731. package/src/runner/lib/job-token.ts +80 -0
  732. package/src/runner/lib/runner-attestation.ts +53 -0
  733. package/src/runner/lib/runner-job.ts +90 -0
  734. package/src/runner/lib/runner-kind.ts +10 -0
  735. package/src/runner/lib/runner-mode.ts +16 -0
  736. package/src/runner/lib/runner-plane.ts +101 -0
  737. package/src/runner/lib/runner-registration.ts +204 -0
  738. package/src/runner/lib/runner.ts +103 -0
  739. package/src/runner/lib/runtime-isolation.ts +53 -0
  740. package/src/search-source/index.ts +4 -0
  741. package/src/search-source/lib/indexable-document.ts +70 -0
  742. package/src/search-source/lib/search-index-event.ts +56 -0
  743. package/src/search-source/lib/search-replay.ts +96 -0
  744. package/src/search-source/lib/search-source-descriptor.ts +50 -0
  745. package/src/service-registry/index.ts +3 -0
  746. package/src/service-registry/lib/inject-service.ts +25 -0
  747. package/src/service-registry/lib/service-descriptor.ts +75 -0
  748. package/src/service-registry/lib/service-registry-client.ts +107 -0
  749. package/src/skill/index.ts +15 -0
  750. package/src/skill/lib/skill-enums.ts +124 -0
  751. package/src/skill/lib/skill-governance.ts +281 -0
  752. package/src/skill/lib/skill-source.ts +41 -0
  753. package/src/skill/lib/skill.ts +150 -0
  754. package/src/space/index.ts +3 -0
  755. package/src/space/lib/space-ref-parser.ts +198 -0
  756. package/src/space/lib/space-traversal.ts +55 -0
  757. package/src/space/lib/space.ts +173 -0
  758. package/src/subject/index.ts +2 -0
  759. package/src/subject/lib/subject.ts +111 -0
  760. package/src/subject/lib/token-class.ts +27 -0
  761. package/src/workflow/index.ts +45 -0
  762. package/src/workflow/lib/action-ref.ts +48 -0
  763. package/src/workflow/lib/activity-outputs.ts +105 -0
  764. package/src/workflow/lib/agent-role.ts +136 -0
  765. package/src/workflow/lib/artifact-ref.ts +93 -0
  766. package/src/workflow/lib/briefcase.ts +194 -0
  767. package/src/workflow/lib/canonical-concepts/canonical-concept-registry.ts +99 -0
  768. package/src/workflow/lib/canonical-concepts/concepts/change-intent.concepts.ts +124 -0
  769. package/src/workflow/lib/canonical-concepts/concepts/concern.concepts.ts +194 -0
  770. package/src/workflow/lib/canonical-concepts/concepts/domain.concepts.ts +205 -0
  771. package/src/workflow/lib/canonical-concepts/concepts/index.ts +15 -0
  772. package/src/workflow/lib/canonical-concepts/concepts/technology.concepts.ts +667 -0
  773. package/src/workflow/lib/canonical-concepts/index.ts +2 -0
  774. package/src/workflow/lib/catalog-taxonomies.ts +3695 -0
  775. package/src/workflow/lib/compiled-run.ts +376 -0
  776. package/src/workflow/lib/compiled-working-file.ts +35 -0
  777. package/src/workflow/lib/compiled-workspace-manifest.ts +185 -0
  778. package/src/workflow/lib/concurrency-group.ts +17 -0
  779. package/src/workflow/lib/deliverable-result.ts +238 -0
  780. package/src/workflow/lib/domain-tag.ts +48 -0
  781. package/src/workflow/lib/enums.ts +288 -0
  782. package/src/workflow/lib/errors.ts +171 -0
  783. package/src/workflow/lib/job-run.ts +65 -0
  784. package/src/workflow/lib/model-ref.ts +118 -0
  785. package/src/workflow/lib/mount-plan.ts +230 -0
  786. package/src/workflow/lib/phase-report.ts +67 -0
  787. package/src/workflow/lib/platform-task-queue.ts +83 -0
  788. package/src/workflow/lib/review-subject/index.ts +15 -0
  789. package/src/workflow/lib/review-subject/kinds.ts +31 -0
  790. package/src/workflow/lib/review-subject/narrow.ts +123 -0
  791. package/src/workflow/lib/review-subject/producers/artifact-ref.ts +33 -0
  792. package/src/workflow/lib/review-subject/producers/string.ts +24 -0
  793. package/src/workflow/lib/role-capability.ts +80 -0
  794. package/src/workflow/lib/run-progress.ts +254 -0
  795. package/src/workflow/lib/sampling-profiles.ts +153 -0
  796. package/src/workflow/lib/snapshot-ref.ts +27 -0
  797. package/src/workflow/lib/temporal-namespace.ts +78 -0
  798. package/src/workflow/lib/trigger-payload.ts +69 -0
  799. package/src/workflow/lib/variable-requirement.ts +66 -0
  800. package/src/workflow/lib/work-item-payloads.ts +139 -0
  801. package/src/workflow/lib/workflow-stage.ts +89 -0
  802. package/src/workflow/lib/workspace-manifest-enums.ts +143 -0
@@ -0,0 +1,667 @@
1
+ import { CanonicalConcept, ConceptKind } from '../canonical-concept-registry';
2
+
3
+ const K = ConceptKind.Technology;
4
+
5
+ export const TECHNOLOGY_CONCEPTS: CanonicalConcept[] = [
6
+ // ═══════════════════════════════════════════════════════════════════════════
7
+ // ── Databases — Relational ──
8
+ // ═══════════════════════════════════════════════════════════════════════════
9
+ { key: 'postgresql', aliases: ['postgres', 'psql', 'pg', 'postgresql'], kind: K, parents: ['database', 'sql'], related: ['query-optimization', 'migration'] },
10
+ { key: 'mysql', aliases: ['mysql', 'mariadb'], kind: K, parents: ['database', 'sql'] },
11
+ { key: 'sqlite', aliases: ['sqlite', 'sqlite3'], kind: K, parents: ['database', 'sql'] },
12
+ { key: 'mssql', aliases: ['mssql', 'sql-server', 'microsoft-sql-server', 'tsql'], kind: K, parents: ['database', 'sql'] },
13
+ { key: 'oracle-db', aliases: ['oracle-db', 'oracle', 'oracledb', 'plsql'], kind: K, parents: ['database', 'sql'] },
14
+ { key: 'cockroachdb', aliases: ['cockroachdb', 'cockroach', 'crdb'], kind: K, parents: ['database', 'sql', 'distributed-database'] },
15
+ { key: 'vitess', aliases: ['vitess'], kind: K, parents: ['database', 'mysql', 'distributed-database'] },
16
+ { key: 'tidb', aliases: ['tidb'], kind: K, parents: ['database', 'sql', 'distributed-database'] },
17
+ { key: 'planetscale', aliases: ['planetscale'], kind: K, parents: ['database', 'mysql'] },
18
+ { key: 'supabase', aliases: ['supabase'], kind: K, parents: ['database', 'postgresql', 'baas'] },
19
+ { key: 'neon', aliases: ['neon', 'neon-db', 'neondb'], kind: K, parents: ['database', 'postgresql', 'serverless'] },
20
+
21
+ // ═══════════════════════════════════════════════════════════════════════════
22
+ // ── Databases — NoSQL / Document ──
23
+ // ═══════════════════════════════════════════════════════════════════════════
24
+ { key: 'mongodb', aliases: ['mongodb', 'mongo'], kind: K, parents: ['database', 'nosql'] },
25
+ { key: 'dynamodb', aliases: ['dynamodb', 'dynamo'], kind: K, parents: ['database', 'nosql', 'aws'] },
26
+ { key: 'couchbase', aliases: ['couchbase', 'couch'], kind: K, parents: ['database', 'nosql'] },
27
+ { key: 'couchdb', aliases: ['couchdb', 'apache-couchdb'], kind: K, parents: ['database', 'nosql'] },
28
+ { key: 'firestore', aliases: ['firestore', 'cloud-firestore'], kind: K, parents: ['database', 'nosql', 'firebase', 'gcp'] },
29
+ { key: 'cosmos-db', aliases: ['cosmos-db', 'cosmosdb', 'azure-cosmos'], kind: K, parents: ['database', 'nosql', 'azure'] },
30
+ { key: 'fauna', aliases: ['fauna', 'faunadb'], kind: K, parents: ['database', 'nosql', 'serverless'] },
31
+
32
+ // ═══════════════════════════════════════════════════════════════════════════
33
+ // ── Databases — Graph ──
34
+ // ═══════════════════════════════════════════════════════════════════════════
35
+ { key: 'neo4j', aliases: ['neo4j', 'cypher'], kind: K, parents: ['database', 'graph-database'] },
36
+ { key: 'neptune', aliases: ['neptune', 'amazon-neptune'], kind: K, parents: ['database', 'graph-database', 'aws'] },
37
+ { key: 'dgraph', aliases: ['dgraph'], kind: K, parents: ['database', 'graph-database'] },
38
+ { key: 'arangodb', aliases: ['arangodb', 'arango'], kind: K, parents: ['database', 'graph-database', 'nosql'] },
39
+
40
+ // ═══════════════════════════════════════════════════════════════════════════
41
+ // ── Databases — Time Series / Columnar ──
42
+ // ═══════════════════════════════════════════════════════════════════════════
43
+ { key: 'influxdb', aliases: ['influxdb', 'influx'], kind: K, parents: ['database', 'time-series'] },
44
+ { key: 'timescaledb', aliases: ['timescaledb', 'timescale'], kind: K, parents: ['database', 'time-series', 'postgresql'] },
45
+ { key: 'clickhouse', aliases: ['clickhouse'], kind: K, parents: ['database', 'columnar', 'analytics'] },
46
+ { key: 'cassandra', aliases: ['cassandra', 'apache-cassandra'], kind: K, parents: ['database', 'nosql', 'columnar'] },
47
+ { key: 'scylladb', aliases: ['scylladb', 'scylla'], kind: K, parents: ['database', 'nosql', 'columnar'] },
48
+ { key: 'druid', aliases: ['druid', 'apache-druid'], kind: K, parents: ['database', 'columnar', 'analytics'] },
49
+
50
+ // ═══════════════════════════════════════════════════════════════════════════
51
+ // ── Databases — Search ──
52
+ // ═══════════════════════════════════════════════════════════════════════════
53
+ { key: 'elasticsearch', aliases: ['elasticsearch', 'elastic', 'es', 'opensearch'], kind: K, parents: ['search', 'nosql'] },
54
+ { key: 'meilisearch', aliases: ['meilisearch', 'meili'], kind: K, parents: ['search'] },
55
+ { key: 'typesense', aliases: ['typesense'], kind: K, parents: ['search'] },
56
+ { key: 'algolia', aliases: ['algolia'], kind: K, parents: ['search'] },
57
+ { key: 'solr', aliases: ['solr', 'apache-solr'], kind: K, parents: ['search'] },
58
+
59
+ // ═══════════════════════════════════════════════════════════════════════════
60
+ // ── Databases — Vector ──
61
+ // ═══════════════════════════════════════════════════════════════════════════
62
+ { key: 'pinecone', aliases: ['pinecone'], kind: K, parents: ['vector-database', 'ai-infrastructure'] },
63
+ { key: 'weaviate', aliases: ['weaviate'], kind: K, parents: ['vector-database', 'ai-infrastructure'] },
64
+ { key: 'qdrant', aliases: ['qdrant'], kind: K, parents: ['vector-database', 'ai-infrastructure'] },
65
+ { key: 'chromadb', aliases: ['chromadb', 'chroma'], kind: K, parents: ['vector-database', 'ai-infrastructure'] },
66
+ { key: 'milvus', aliases: ['milvus'], kind: K, parents: ['vector-database', 'ai-infrastructure'] },
67
+ { key: 'pgvector', aliases: ['pgvector'], kind: K, parents: ['vector-database', 'postgresql'] },
68
+
69
+ // ═══════════════════════════════════════════════════════════════════════════
70
+ // ── Cache / In-Memory ──
71
+ // ═══════════════════════════════════════════════════════════════════════════
72
+ { key: 'redis', aliases: ['redis', 'redis-cluster'], kind: K, parents: ['cache', 'nosql'], related: ['async-processing'] },
73
+ { key: 'memcached', aliases: ['memcached', 'memcache'], kind: K, parents: ['cache'] },
74
+ { key: 'valkey', aliases: ['valkey'], kind: K, parents: ['cache', 'nosql'] },
75
+ { key: 'dragonfly', aliases: ['dragonfly', 'dragonflydb'], kind: K, parents: ['cache', 'nosql'] },
76
+ { key: 'hazelcast', aliases: ['hazelcast'], kind: K, parents: ['cache', 'distributed-computing'] },
77
+
78
+ // ═══════════════════════════════════════════════════════════════════════════
79
+ // ── ORM / Query Builders ──
80
+ // ═══════════════════════════════════════════════════════════════════════════
81
+ { key: 'prisma', aliases: ['prisma', 'prisma-orm'], kind: K, parents: ['orm', 'database'] },
82
+ { key: 'typeorm', aliases: ['typeorm'], kind: K, parents: ['orm', 'database'] },
83
+ { key: 'sequelize', aliases: ['sequelize'], kind: K, parents: ['orm', 'database'] },
84
+ { key: 'drizzle', aliases: ['drizzle', 'drizzle-orm'], kind: K, parents: ['orm', 'database'] },
85
+ { key: 'knex', aliases: ['knex', 'knexjs'], kind: K, parents: ['query-builder', 'database'] },
86
+ { key: 'kysely', aliases: ['kysely'], kind: K, parents: ['query-builder', 'database', 'typescript'] },
87
+ { key: 'mikro-orm', aliases: ['mikro-orm', 'mikroorm'], kind: K, parents: ['orm', 'database'] },
88
+ { key: 'sqlalchemy', aliases: ['sqlalchemy', 'sql-alchemy'], kind: K, parents: ['orm', 'python', 'database'] },
89
+ { key: 'django-orm', aliases: ['django-orm'], kind: K, parents: ['orm', 'python', 'database', 'django'] },
90
+ { key: 'hibernate', aliases: ['hibernate', 'jpa'], kind: K, parents: ['orm', 'java', 'database'] },
91
+ { key: 'entity-framework', aliases: ['entity-framework', 'ef-core', 'efcore'], kind: K, parents: ['orm', 'dotnet', 'database'] },
92
+ { key: 'gorm', aliases: ['gorm'], kind: K, parents: ['orm', 'golang', 'database'] },
93
+ { key: 'active-record', aliases: ['active-record', 'activerecord'], kind: K, parents: ['orm', 'ruby', 'database', 'rails'] },
94
+
95
+ // ═══════════════════════════════════════════════════════════════════════════
96
+ // ── Languages ──
97
+ // ═══════════════════════════════════════════════════════════════════════════
98
+ { key: 'typescript', aliases: ['typescript', 'ts'], kind: K, parents: ['javascript'] },
99
+ { key: 'javascript', aliases: ['javascript', 'js', 'ecmascript', 'es6', 'es2015'], kind: K },
100
+ { key: 'python', aliases: ['python', 'python3', 'py'], kind: K },
101
+ { key: 'java', aliases: ['java', 'jdk', 'jvm'], kind: K },
102
+ { key: 'ruby', aliases: ['ruby', 'rb'], kind: K },
103
+ { key: 'golang', aliases: ['go', 'golang'], kind: K, parents: ['backend'] },
104
+ { key: 'rust', aliases: ['rust', 'rustlang'], kind: K, parents: ['systems'] },
105
+ { key: 'csharp', aliases: ['c#', 'csharp', 'c-sharp'], kind: K, parents: ['dotnet'] },
106
+ { key: 'php', aliases: ['php', 'php8'], kind: K },
107
+ { key: 'scala', aliases: ['scala'], kind: K, parents: ['jvm'] },
108
+ { key: 'kotlin', aliases: ['kotlin', 'kt'], kind: K, parents: ['jvm'] },
109
+ { key: 'swift', aliases: ['swift', 'swiftui'], kind: K, parents: ['apple'] },
110
+ { key: 'objective-c', aliases: ['objective-c', 'objc', 'obj-c'], kind: K, parents: ['apple'] },
111
+ { key: 'dart', aliases: ['dart'], kind: K, parents: ['flutter'] },
112
+ { key: 'elixir', aliases: ['elixir', 'ex'], kind: K, parents: ['erlang', 'beam'] },
113
+ { key: 'erlang', aliases: ['erlang', 'beam', 'otp'], kind: K },
114
+ { key: 'haskell', aliases: ['haskell', 'hs'], kind: K },
115
+ { key: 'clojure', aliases: ['clojure', 'clj', 'clojurescript'], kind: K, parents: ['jvm', 'lisp'] },
116
+ { key: 'lua', aliases: ['lua', 'luajit'], kind: K },
117
+ { key: 'zig', aliases: ['zig'], kind: K, parents: ['systems'] },
118
+ { key: 'c-lang', aliases: ['c', 'c-lang', 'ansi-c'], kind: K, parents: ['systems'] },
119
+ { key: 'cpp', aliases: ['c++', 'cpp', 'cplusplus'], kind: K, parents: ['systems'] },
120
+ { key: 'r-lang', aliases: ['r', 'r-lang', 'rlang', 'r-project'], kind: K, parents: ['data-science'] },
121
+ { key: 'julia', aliases: ['julia', 'julialang'], kind: K, parents: ['data-science'] },
122
+ { key: 'nim', aliases: ['nim', 'nimlang'], kind: K, parents: ['systems'] },
123
+ { key: 'ocaml', aliases: ['ocaml', 'reasonml', 'rescript'], kind: K },
124
+ { key: 'fsharp', aliases: ['f#', 'fsharp'], kind: K, parents: ['dotnet'] },
125
+ { key: 'groovy', aliases: ['groovy'], kind: K, parents: ['jvm'] },
126
+ { key: 'perl', aliases: ['perl', 'perl5'], kind: K },
127
+ { key: 'wasm', aliases: ['wasm', 'webassembly', 'web-assembly'], kind: K },
128
+
129
+ // ═══════════════════════════════════════════════════════════════════════════
130
+ // ── Runtimes ──
131
+ // ═══════════════════════════════════════════════════════════════════════════
132
+ { key: 'nodejs', aliases: ['node', 'nodejs', 'node.js'], kind: K, parents: ['runtime', 'javascript'] },
133
+ { key: 'deno', aliases: ['deno'], kind: K, parents: ['runtime', 'typescript'] },
134
+ { key: 'bun', aliases: ['bun', 'bunjs'], kind: K, parents: ['runtime', 'javascript'] },
135
+ { key: 'graalvm', aliases: ['graalvm', 'graal'], kind: K, parents: ['runtime', 'jvm'] },
136
+ { key: 'dotnet-runtime', aliases: ['dotnet-runtime', 'clr', '.net-runtime'], kind: K, parents: ['runtime', 'dotnet'] },
137
+
138
+ // ═══════════════════════════════════════════════════════════════════════════
139
+ // ── Frontend Frameworks ──
140
+ // ═══════════════════════════════════════════════════════════════════════════
141
+ { key: 'reactjs', aliases: ['react', 'reactjs', 'react.js'], kind: K, parents: ['frontend', 'javascript'] },
142
+ { key: 'nextjs', aliases: ['nextjs', 'next.js', 'next'], kind: K, parents: ['frontend', 'reactjs'] },
143
+ { key: 'vuejs', aliases: ['vue', 'vuejs', 'vue.js', 'vue3'], kind: K, parents: ['frontend', 'javascript'] },
144
+ { key: 'nuxt', aliases: ['nuxt', 'nuxtjs', 'nuxt.js', 'nuxt3'], kind: K, parents: ['frontend', 'vuejs'] },
145
+ { key: 'angular', aliases: ['angular', 'angularjs', 'ng'], kind: K, parents: ['frontend', 'typescript'] },
146
+ { key: 'svelte', aliases: ['svelte', 'sveltekit'], kind: K, parents: ['frontend', 'javascript'] },
147
+ { key: 'solidjs', aliases: ['solidjs', 'solid.js', 'solid'], kind: K, parents: ['frontend', 'javascript'] },
148
+ { key: 'qwik', aliases: ['qwik', 'qwik-city'], kind: K, parents: ['frontend', 'javascript'] },
149
+ { key: 'remix', aliases: ['remix', 'remix-run'], kind: K, parents: ['frontend', 'reactjs'] },
150
+ { key: 'astro', aliases: ['astro', 'astro.build'], kind: K, parents: ['frontend', 'javascript'] },
151
+ { key: 'gatsby', aliases: ['gatsby', 'gatsbyjs'], kind: K, parents: ['frontend', 'reactjs'] },
152
+ { key: 'preact', aliases: ['preact'], kind: K, parents: ['frontend', 'javascript'] },
153
+ { key: 'htmx', aliases: ['htmx'], kind: K, parents: ['frontend'] },
154
+ { key: 'alpine', aliases: ['alpinejs', 'alpine.js', 'alpine'], kind: K, parents: ['frontend', 'javascript'] },
155
+ { key: 'ember', aliases: ['ember', 'emberjs', 'ember.js'], kind: K, parents: ['frontend', 'javascript'] },
156
+ { key: 'lit', aliases: ['lit', 'lit-element', 'web-components'], kind: K, parents: ['frontend', 'javascript'] },
157
+
158
+ // ═══════════════════════════════════════════════════════════════════════════
159
+ // ── Frontend — Styling / UI Libraries ──
160
+ // ═══════════════════════════════════════════════════════════════════════════
161
+ { key: 'tailwindcss', aliases: ['tailwind', 'tailwindcss', 'tailwind-css'], kind: K, parents: ['css', 'frontend'] },
162
+ { key: 'sass', aliases: ['sass', 'scss'], kind: K, parents: ['css', 'frontend'] },
163
+ { key: 'css-modules', aliases: ['css-modules'], kind: K, parents: ['css', 'frontend'] },
164
+ { key: 'styled-components', aliases: ['styled-components', 'css-in-js'], kind: K, parents: ['css', 'frontend', 'reactjs'] },
165
+ { key: 'emotion', aliases: ['emotion', 'emotion-css'], kind: K, parents: ['css', 'frontend'] },
166
+ { key: 'material-ui', aliases: ['material-ui', 'mui', 'material-design'], kind: K, parents: ['ui-library', 'reactjs'] },
167
+ { key: 'chakra-ui', aliases: ['chakra-ui', 'chakra'], kind: K, parents: ['ui-library', 'reactjs'] },
168
+ { key: 'ant-design', aliases: ['ant-design', 'antd'], kind: K, parents: ['ui-library', 'reactjs'] },
169
+ { key: 'radix-ui', aliases: ['radix-ui', 'radix'], kind: K, parents: ['ui-library', 'reactjs'] },
170
+ { key: 'shadcn-ui', aliases: ['shadcn', 'shadcn-ui', 'shadcn/ui'], kind: K, parents: ['ui-library', 'reactjs', 'tailwindcss'] },
171
+ { key: 'bootstrap', aliases: ['bootstrap', 'bootstrap5'], kind: K, parents: ['css', 'frontend'] },
172
+ { key: 'bulma', aliases: ['bulma'], kind: K, parents: ['css', 'frontend'] },
173
+
174
+ // ═══════════════════════════════════════════════════════════════════════════
175
+ // ── Frontend — State Management ──
176
+ // ═══════════════════════════════════════════════════════════════════════════
177
+ { key: 'redux', aliases: ['redux', 'redux-toolkit', 'rtk', 'rtk-query'], kind: K, parents: ['state-management', 'reactjs'] },
178
+ { key: 'mobx', aliases: ['mobx'], kind: K, parents: ['state-management'] },
179
+ { key: 'zustand', aliases: ['zustand'], kind: K, parents: ['state-management', 'reactjs'] },
180
+ { key: 'jotai', aliases: ['jotai'], kind: K, parents: ['state-management', 'reactjs'] },
181
+ { key: 'recoil', aliases: ['recoil'], kind: K, parents: ['state-management', 'reactjs'] },
182
+ { key: 'xstate', aliases: ['xstate', 'state-machine'], kind: K, parents: ['state-management'] },
183
+ { key: 'pinia', aliases: ['pinia'], kind: K, parents: ['state-management', 'vuejs'] },
184
+ { key: 'vuex', aliases: ['vuex'], kind: K, parents: ['state-management', 'vuejs'] },
185
+ { key: 'ngrx', aliases: ['ngrx'], kind: K, parents: ['state-management', 'angular'] },
186
+ { key: 'tanstack-query', aliases: ['tanstack-query', 'react-query', 'vue-query'], kind: K, parents: ['state-management', 'data-fetching'] },
187
+ { key: 'swr', aliases: ['swr'], kind: K, parents: ['data-fetching', 'reactjs'] },
188
+
189
+ // ═══════════════════════════════════════════════════════════════════════════
190
+ // ── Frontend — Build Tools / Bundlers ──
191
+ // ═══════════════════════════════════════════════════════════════════════════
192
+ { key: 'vite', aliases: ['vite', 'vitejs'], kind: K, parents: ['build-tool', 'frontend'] },
193
+ { key: 'webpack', aliases: ['webpack'], kind: K, parents: ['build-tool', 'frontend'] },
194
+ { key: 'esbuild', aliases: ['esbuild'], kind: K, parents: ['build-tool'] },
195
+ { key: 'turbopack', aliases: ['turbopack'], kind: K, parents: ['build-tool', 'frontend'] },
196
+ { key: 'rollup', aliases: ['rollup', 'rollupjs'], kind: K, parents: ['build-tool'] },
197
+ { key: 'parcel', aliases: ['parcel', 'parceljs'], kind: K, parents: ['build-tool', 'frontend'] },
198
+ { key: 'swc', aliases: ['swc'], kind: K, parents: ['build-tool', 'compiler'] },
199
+ { key: 'babel', aliases: ['babel', 'babeljs'], kind: K, parents: ['build-tool', 'compiler', 'javascript'] },
200
+ { key: 'tsup', aliases: ['tsup'], kind: K, parents: ['build-tool', 'typescript'] },
201
+
202
+ // ═══════════════════════════════════════════════════════════════════════════
203
+ // ── Backend Frameworks — Node/TypeScript ──
204
+ // ═══════════════════════════════════════════════════════════════════════════
205
+ { key: 'nestjs', aliases: ['nestjs', 'nest.js', 'nest'], kind: K, parents: ['backend', 'nodejs', 'typescript'] },
206
+ { key: 'express', aliases: ['express', 'expressjs', 'express.js'], kind: K, parents: ['backend', 'nodejs'] },
207
+ { key: 'fastify', aliases: ['fastify'], kind: K, parents: ['backend', 'nodejs'] },
208
+ { key: 'hono', aliases: ['hono'], kind: K, parents: ['backend', 'typescript'] },
209
+ { key: 'koa', aliases: ['koa', 'koajs'], kind: K, parents: ['backend', 'nodejs'] },
210
+ { key: 'adonisjs', aliases: ['adonisjs', 'adonis'], kind: K, parents: ['backend', 'nodejs'] },
211
+ { key: 'trpc', aliases: ['trpc', 'trpc.io'], kind: K, parents: ['api', 'typescript'] },
212
+
213
+ // ═══════════════════════════════════════════════════════════════════════════
214
+ // ── Backend Frameworks — Python ──
215
+ // ═══════════════════════════════════════════════════════════════════════════
216
+ { key: 'django', aliases: ['django', 'drf', 'django-rest-framework'], kind: K, parents: ['backend', 'python'] },
217
+ { key: 'flask', aliases: ['flask'], kind: K, parents: ['backend', 'python'] },
218
+ { key: 'fastapi', aliases: ['fastapi'], kind: K, parents: ['backend', 'python'] },
219
+ { key: 'starlette', aliases: ['starlette'], kind: K, parents: ['backend', 'python'] },
220
+ { key: 'celery', aliases: ['celery'], kind: K, parents: ['task-queue', 'python'] },
221
+ { key: 'tornado', aliases: ['tornado'], kind: K, parents: ['backend', 'python'] },
222
+
223
+ // ═══════════════════════════════════════════════════════════════════════════
224
+ // ── Backend Frameworks — JVM ──
225
+ // ═══════════════════════════════════════════════════════════════════════════
226
+ { key: 'spring', aliases: ['spring', 'spring-boot', 'springboot', 'spring-framework'], kind: K, parents: ['backend', 'java'] },
227
+ { key: 'quarkus', aliases: ['quarkus'], kind: K, parents: ['backend', 'java'] },
228
+ { key: 'micronaut', aliases: ['micronaut'], kind: K, parents: ['backend', 'java'] },
229
+ { key: 'ktor', aliases: ['ktor'], kind: K, parents: ['backend', 'kotlin'] },
230
+ { key: 'play-framework', aliases: ['play-framework', 'play', 'playframework'], kind: K, parents: ['backend', 'scala'] },
231
+ { key: 'akka', aliases: ['akka', 'akka-http'], kind: K, parents: ['backend', 'scala', 'actor-model'] },
232
+
233
+ // ═══════════════════════════════════════════════════════════════════════════
234
+ // ── Backend Frameworks — Go ──
235
+ // ═══════════════════════════════════════════════════════════════════════════
236
+ { key: 'gin', aliases: ['gin', 'gin-gonic'], kind: K, parents: ['backend', 'golang'] },
237
+ { key: 'fiber', aliases: ['fiber', 'gofiber'], kind: K, parents: ['backend', 'golang'] },
238
+ { key: 'echo', aliases: ['echo', 'labstack-echo'], kind: K, parents: ['backend', 'golang'] },
239
+ { key: 'chi', aliases: ['chi', 'go-chi'], kind: K, parents: ['backend', 'golang'] },
240
+
241
+ // ═══════════════════════════════════════════════════════════════════════════
242
+ // ── Backend Frameworks — Rust ──
243
+ // ═══════════════════════════════════════════════════════════════════════════
244
+ { key: 'actix', aliases: ['actix', 'actix-web'], kind: K, parents: ['backend', 'rust'] },
245
+ { key: 'axum', aliases: ['axum'], kind: K, parents: ['backend', 'rust'] },
246
+ { key: 'rocket', aliases: ['rocket', 'rocket-rs'], kind: K, parents: ['backend', 'rust'] },
247
+ { key: 'tokio', aliases: ['tokio'], kind: K, parents: ['async-runtime', 'rust'] },
248
+
249
+ // ═══════════════════════════════════════════════════════════════════════════
250
+ // ── Backend Frameworks — Ruby ──
251
+ // ═══════════════════════════════════════════════════════════════════════════
252
+ { key: 'rails', aliases: ['rails', 'ruby-on-rails', 'ror'], kind: K, parents: ['backend', 'ruby'] },
253
+ { key: 'sinatra', aliases: ['sinatra'], kind: K, parents: ['backend', 'ruby'] },
254
+ { key: 'hanami', aliases: ['hanami'], kind: K, parents: ['backend', 'ruby'] },
255
+
256
+ // ═══════════════════════════════════════════════════════════════════════════
257
+ // ── Backend Frameworks — PHP ──
258
+ // ═══════════════════════════════════════════════════════════════════════════
259
+ { key: 'laravel', aliases: ['laravel'], kind: K, parents: ['backend', 'php'] },
260
+ { key: 'symfony', aliases: ['symfony'], kind: K, parents: ['backend', 'php'] },
261
+ { key: 'wordpress', aliases: ['wordpress', 'wp'], kind: K, parents: ['cms', 'php'] },
262
+
263
+ // ═══════════════════════════════════════════════════════════════════════════
264
+ // ── Backend Frameworks — Elixir / Erlang ──
265
+ // ═══════════════════════════════════════════════════════════════════════════
266
+ { key: 'phoenix', aliases: ['phoenix', 'phoenix-framework'], kind: K, parents: ['backend', 'elixir'] },
267
+ { key: 'livebook', aliases: ['livebook', 'phoenix-liveview', 'liveview'], kind: K, parents: ['frontend', 'elixir', 'phoenix'] },
268
+
269
+ // ═══════════════════════════════════════════════════════════════════════════
270
+ // ── Backend Frameworks — .NET ──
271
+ // ═══════════════════════════════════════════════════════════════════════════
272
+ { key: 'dotnet', aliases: ['.net', 'dotnet', 'asp.net', 'aspnet', 'asp-net-core'], kind: K, parents: ['backend'] },
273
+ { key: 'blazor', aliases: ['blazor'], kind: K, parents: ['frontend', 'dotnet'] },
274
+ { key: 'maui', aliases: ['maui', '.net-maui', 'dotnet-maui'], kind: K, parents: ['mobile', 'dotnet'] },
275
+
276
+ // ═══════════════════════════════════════════════════════════════════════════
277
+ // ── API Protocols / Specs ──
278
+ // ═══════════════════════════════════════════════════════════════════════════
279
+ { key: 'graphql', aliases: ['graphql', 'gql'], kind: K, parents: ['api'] },
280
+ { key: 'grpc', aliases: ['grpc', 'protobuf', 'protocol-buffers'], kind: K, parents: ['api'] },
281
+ { key: 'rest', aliases: ['rest', 'restful', 'rest-api'], kind: K, parents: ['api'] },
282
+ { key: 'openapi', aliases: ['openapi', 'swagger', 'oas'], kind: K, parents: ['api', 'documentation'] },
283
+ { key: 'asyncapi', aliases: ['asyncapi'], kind: K, parents: ['api', 'event-driven'] },
284
+ { key: 'json-rpc', aliases: ['json-rpc', 'jsonrpc'], kind: K, parents: ['api'] },
285
+ { key: 'soap', aliases: ['soap', 'wsdl'], kind: K, parents: ['api'] },
286
+ { key: 'websocket', aliases: ['websocket', 'ws', 'wss', 'socket.io'], kind: K, parents: ['real-time', 'api'] },
287
+ { key: 'sse', aliases: ['sse', 'server-sent-events'], kind: K, parents: ['real-time', 'api'] },
288
+
289
+ // ═══════════════════════════════════════════════════════════════════════════
290
+ // ── Messaging / Event Streaming ──
291
+ // ═══════════════════════════════════════════════════════════════════════════
292
+ { key: 'kafka', aliases: ['kafka', 'apache-kafka', 'confluent'], kind: K, parents: ['messaging', 'event-streaming'] },
293
+ { key: 'rabbitmq', aliases: ['rabbitmq', 'rabbit', 'amqp'], kind: K, parents: ['messaging'] },
294
+ { key: 'sqs', aliases: ['sqs', 'amazon-sqs'], kind: K, parents: ['messaging', 'aws'] },
295
+ { key: 'sns', aliases: ['sns', 'amazon-sns'], kind: K, parents: ['messaging', 'aws'] },
296
+ { key: 'nats', aliases: ['nats', 'nats.io', 'nats-jetstream'], kind: K, parents: ['messaging'] },
297
+ { key: 'pulsar', aliases: ['pulsar', 'apache-pulsar'], kind: K, parents: ['messaging', 'event-streaming'] },
298
+ { key: 'eventbridge', aliases: ['eventbridge', 'aws-eventbridge'], kind: K, parents: ['messaging', 'event-driven', 'aws'] },
299
+ { key: 'kinesis', aliases: ['kinesis', 'amazon-kinesis'], kind: K, parents: ['event-streaming', 'aws'] },
300
+ { key: 'pubsub', aliases: ['pubsub', 'google-pubsub', 'cloud-pubsub'], kind: K, parents: ['messaging', 'gcp'] },
301
+ { key: 'azure-service-bus', aliases: ['azure-service-bus', 'service-bus'], kind: K, parents: ['messaging', 'azure'] },
302
+ { key: 'zeromq', aliases: ['zeromq', 'zmq', '0mq'], kind: K, parents: ['messaging'] },
303
+ { key: 'mqtt', aliases: ['mqtt', 'mosquitto'], kind: K, parents: ['messaging', 'iot'] },
304
+ { key: 'bullmq', aliases: ['bullmq', 'bull'], kind: K, parents: ['task-queue', 'redis', 'nodejs'] },
305
+ { key: 'sidekiq', aliases: ['sidekiq'], kind: K, parents: ['task-queue', 'ruby', 'redis'] },
306
+
307
+ // ═══════════════════════════════════════════════════════════════════════════
308
+ // ── Cloud Providers ──
309
+ // ═══════════════════════════════════════════════════════════════════════════
310
+ { key: 'aws', aliases: ['aws', 'amazon-web-services', 'amazon'], kind: K, parents: ['cloud'] },
311
+ { key: 'gcp', aliases: ['gcp', 'google-cloud', 'google-cloud-platform'], kind: K, parents: ['cloud'] },
312
+ { key: 'azure', aliases: ['azure', 'microsoft-azure'], kind: K, parents: ['cloud'] },
313
+ { key: 'cloudflare', aliases: ['cloudflare', 'cf', 'cloudflare-workers'], kind: K, parents: ['cloud', 'edge'] },
314
+ { key: 'vercel', aliases: ['vercel'], kind: K, parents: ['cloud', 'frontend-hosting'] },
315
+ { key: 'netlify', aliases: ['netlify'], kind: K, parents: ['cloud', 'frontend-hosting'] },
316
+ { key: 'digitalocean', aliases: ['digitalocean', 'do'], kind: K, parents: ['cloud'] },
317
+ { key: 'fly-io', aliases: ['fly.io', 'fly', 'flyio'], kind: K, parents: ['cloud', 'edge'] },
318
+ { key: 'railway', aliases: ['railway', 'railway.app'], kind: K, parents: ['cloud', 'paas'] },
319
+ { key: 'render', aliases: ['render', 'render.com'], kind: K, parents: ['cloud', 'paas'] },
320
+ { key: 'heroku', aliases: ['heroku'], kind: K, parents: ['cloud', 'paas'] },
321
+ { key: 'linode', aliases: ['linode', 'akamai-cloud'], kind: K, parents: ['cloud'] },
322
+ { key: 'hetzner', aliases: ['hetzner'], kind: K, parents: ['cloud'] },
323
+ { key: 'oracle-cloud', aliases: ['oracle-cloud', 'oci'], kind: K, parents: ['cloud'] },
324
+
325
+ // ═══════════════════════════════════════════════════════════════════════════
326
+ // ── AWS Services ──
327
+ // ═══════════════════════════════════════════════════════════════════════════
328
+ { key: 'lambda', aliases: ['lambda', 'aws-lambda'], kind: K, parents: ['serverless', 'aws'] },
329
+ { key: 'ec2', aliases: ['ec2', 'aws-ec2'], kind: K, parents: ['compute', 'aws'] },
330
+ { key: 'ecs', aliases: ['ecs', 'aws-ecs', 'fargate'], kind: K, parents: ['container-orchestration', 'aws'] },
331
+ { key: 'eks', aliases: ['eks', 'aws-eks'], kind: K, parents: ['kubernetes', 'aws'] },
332
+ { key: 's3', aliases: ['s3', 'aws-s3'], kind: K, parents: ['object-storage', 'aws'] },
333
+ { key: 'cloudfront', aliases: ['cloudfront', 'aws-cloudfront'], kind: K, parents: ['cdn', 'aws'] },
334
+ { key: 'rds', aliases: ['rds', 'aws-rds', 'aurora', 'aws-aurora'], kind: K, parents: ['database', 'aws'] },
335
+ { key: 'elasticache', aliases: ['elasticache', 'aws-elasticache'], kind: K, parents: ['cache', 'aws'] },
336
+ { key: 'step-functions', aliases: ['step-functions', 'aws-step-functions', 'sfn'], kind: K, parents: ['workflow', 'aws', 'serverless'] },
337
+ { key: 'api-gateway', aliases: ['api-gateway', 'aws-api-gateway', 'apigw'], kind: K, parents: ['api', 'aws'] },
338
+ { key: 'cognito', aliases: ['cognito', 'aws-cognito'], kind: K, parents: ['authentication', 'aws'] },
339
+ { key: 'cloudwatch', aliases: ['cloudwatch', 'aws-cloudwatch'], kind: K, parents: ['observability', 'aws'] },
340
+ { key: 'iam', aliases: ['iam', 'aws-iam'], kind: K, parents: ['security', 'aws'] },
341
+ { key: 'route53', aliases: ['route53', 'aws-route53'], kind: K, parents: ['dns', 'aws'] },
342
+ { key: 'secretsmanager', aliases: ['secretsmanager', 'aws-secrets-manager', 'aws-ssm'], kind: K, parents: ['secret-management', 'aws'] },
343
+
344
+ // ═══════════════════════════════════════════════════════════════════════════
345
+ // ── GCP Services ──
346
+ // ═══════════════════════════════════════════════════════════════════════════
347
+ { key: 'cloud-run', aliases: ['cloud-run', 'gcp-cloud-run'], kind: K, parents: ['serverless', 'gcp'] },
348
+ { key: 'cloud-functions', aliases: ['cloud-functions', 'gcp-cloud-functions', 'gcf'], kind: K, parents: ['serverless', 'gcp'] },
349
+ { key: 'gke', aliases: ['gke', 'google-kubernetes-engine'], kind: K, parents: ['kubernetes', 'gcp'] },
350
+ { key: 'bigquery', aliases: ['bigquery', 'bq'], kind: K, parents: ['analytics', 'data-warehouse', 'gcp'] },
351
+ { key: 'cloud-spanner', aliases: ['cloud-spanner', 'spanner'], kind: K, parents: ['database', 'distributed-database', 'gcp'] },
352
+ { key: 'vertex-ai', aliases: ['vertex-ai', 'vertex'], kind: K, parents: ['ai-infrastructure', 'gcp'] },
353
+
354
+ // ═══════════════════════════════════════════════════════════════════════════
355
+ // ── Azure Services ──
356
+ // ═══════════════════════════════════════════════════════════════════════════
357
+ { key: 'azure-functions', aliases: ['azure-functions'], kind: K, parents: ['serverless', 'azure'] },
358
+ { key: 'aks', aliases: ['aks', 'azure-kubernetes-service'], kind: K, parents: ['kubernetes', 'azure'] },
359
+ { key: 'azure-devops', aliases: ['azure-devops', 'ado'], kind: K, parents: ['ci-cd', 'azure'] },
360
+ { key: 'azure-ad', aliases: ['azure-ad', 'entra-id', 'azure-active-directory'], kind: K, parents: ['authentication', 'azure'] },
361
+
362
+ // ═══════════════════════════════════════════════════════════════════════════
363
+ // ── Containers / Orchestration ──
364
+ // ═══════════════════════════════════════════════════════════════════════════
365
+ { key: 'docker', aliases: ['docker', 'dockerfile', 'container', 'docker-compose'], kind: K, parents: ['containerization'] },
366
+ { key: 'kubernetes', aliases: ['kubernetes', 'k8s', 'kube'], kind: K, parents: ['container-orchestration'], related: ['docker', 'helm'] },
367
+ { key: 'helm', aliases: ['helm', 'helm-chart', 'helmfile'], kind: K, parents: ['kubernetes'] },
368
+ { key: 'kustomize', aliases: ['kustomize'], kind: K, parents: ['kubernetes'] },
369
+ { key: 'nomad', aliases: ['nomad', 'hashicorp-nomad'], kind: K, parents: ['container-orchestration'] },
370
+ { key: 'podman', aliases: ['podman'], kind: K, parents: ['containerization'] },
371
+ { key: 'containerd', aliases: ['containerd'], kind: K, parents: ['containerization'] },
372
+ { key: 'docker-swarm', aliases: ['docker-swarm', 'swarm'], kind: K, parents: ['container-orchestration'] },
373
+
374
+ // ═══════════════════════════════════════════════════════════════════════════
375
+ // ── Infrastructure as Code ──
376
+ // ═══════════════════════════════════════════════════════════════════════════
377
+ { key: 'terraform', aliases: ['terraform', 'tf', 'hcl', 'opentofu', 'tofu'], kind: K, parents: ['infrastructure-as-code'], related: ['aws', 'gcp', 'azure'] },
378
+ { key: 'pulumi', aliases: ['pulumi'], kind: K, parents: ['infrastructure-as-code'] },
379
+ { key: 'ansible', aliases: ['ansible', 'ansible-playbook'], kind: K, parents: ['infrastructure-as-code', 'configuration-management'] },
380
+ { key: 'cloudformation', aliases: ['cloudformation', 'cfn', 'aws-cloudformation'], kind: K, parents: ['infrastructure-as-code', 'aws'] },
381
+ { key: 'cdk', aliases: ['cdk', 'aws-cdk', 'cloud-development-kit'], kind: K, parents: ['infrastructure-as-code', 'aws'] },
382
+ { key: 'cdktf', aliases: ['cdktf', 'cdk-for-terraform'], kind: K, parents: ['infrastructure-as-code', 'terraform'] },
383
+ { key: 'crossplane', aliases: ['crossplane'], kind: K, parents: ['infrastructure-as-code', 'kubernetes'] },
384
+ { key: 'chef', aliases: ['chef'], kind: K, parents: ['configuration-management'] },
385
+ { key: 'puppet', aliases: ['puppet'], kind: K, parents: ['configuration-management'] },
386
+ { key: 'saltstack', aliases: ['saltstack', 'salt'], kind: K, parents: ['configuration-management'] },
387
+ { key: 'packer', aliases: ['packer', 'hashicorp-packer'], kind: K, parents: ['infrastructure-as-code', 'image-building'] },
388
+ { key: 'vagrant', aliases: ['vagrant'], kind: K, parents: ['infrastructure-as-code', 'development-environment'] },
389
+
390
+ // ═══════════════════════════════════════════════════════════════════════════
391
+ // ── CI/CD ──
392
+ // ═══════════════════════════════════════════════════════════════════════════
393
+ { key: 'github-actions', aliases: ['github-actions', 'gha'], kind: K, parents: ['ci-cd'] },
394
+ { key: 'gitlab-ci', aliases: ['gitlab-ci', 'gitlab'], kind: K, parents: ['ci-cd'] },
395
+ { key: 'jenkins', aliases: ['jenkins', 'jenkinsfile'], kind: K, parents: ['ci-cd'] },
396
+ { key: 'circleci', aliases: ['circleci', 'circle-ci'], kind: K, parents: ['ci-cd'] },
397
+ { key: 'travis-ci', aliases: ['travis-ci', 'travis'], kind: K, parents: ['ci-cd'] },
398
+ { key: 'buildkite', aliases: ['buildkite'], kind: K, parents: ['ci-cd'] },
399
+ { key: 'argocd', aliases: ['argocd', 'argo-cd', 'argo'], kind: K, parents: ['ci-cd', 'gitops', 'kubernetes'] },
400
+ { key: 'fluxcd', aliases: ['fluxcd', 'flux-cd', 'flux'], kind: K, parents: ['ci-cd', 'gitops', 'kubernetes'] },
401
+ { key: 'tekton', aliases: ['tekton'], kind: K, parents: ['ci-cd', 'kubernetes'] },
402
+ { key: 'drone', aliases: ['drone', 'drone-ci'], kind: K, parents: ['ci-cd'] },
403
+ { key: 'spinnaker', aliases: ['spinnaker'], kind: K, parents: ['ci-cd', 'deployment'] },
404
+ { key: 'concourse', aliases: ['concourse', 'concourse-ci'], kind: K, parents: ['ci-cd'] },
405
+
406
+ // ═══════════════════════════════════════════════════════════════════════════
407
+ // ── Networking / Service Mesh / Proxy ──
408
+ // ═══════════════════════════════════════════════════════════════════════════
409
+ { key: 'nginx', aliases: ['nginx'], kind: K, parents: ['reverse-proxy', 'web-server'] },
410
+ { key: 'caddy', aliases: ['caddy', 'caddyserver'], kind: K, parents: ['reverse-proxy', 'web-server'] },
411
+ { key: 'haproxy', aliases: ['haproxy'], kind: K, parents: ['load-balancer', 'reverse-proxy'] },
412
+ { key: 'traefik', aliases: ['traefik'], kind: K, parents: ['reverse-proxy', 'kubernetes'] },
413
+ { key: 'envoy', aliases: ['envoy', 'envoy-proxy'], kind: K, parents: ['service-mesh', 'proxy'] },
414
+ { key: 'istio', aliases: ['istio'], kind: K, parents: ['service-mesh', 'kubernetes'] },
415
+ { key: 'linkerd', aliases: ['linkerd'], kind: K, parents: ['service-mesh', 'kubernetes'] },
416
+ { key: 'consul', aliases: ['consul', 'hashicorp-consul'], kind: K, parents: ['service-discovery', 'service-mesh'] },
417
+ { key: 'kong', aliases: ['kong', 'kong-gateway'], kind: K, parents: ['api-gateway'] },
418
+ { key: 'apisix', aliases: ['apisix', 'apache-apisix'], kind: K, parents: ['api-gateway'] },
419
+
420
+ // ═══════════════════════════════════════════════════════════════════════════
421
+ // ── Observability / Monitoring ──
422
+ // ═══════════════════════════════════════════════════════════════════════════
423
+ { key: 'prometheus', aliases: ['prometheus', 'prom'], kind: K, parents: ['monitoring', 'observability'] },
424
+ { key: 'grafana', aliases: ['grafana'], kind: K, parents: ['monitoring', 'visualization'] },
425
+ { key: 'datadog', aliases: ['datadog', 'dd'], kind: K, parents: ['monitoring', 'observability', 'apm'] },
426
+ { key: 'newrelic', aliases: ['newrelic', 'new-relic'], kind: K, parents: ['monitoring', 'observability', 'apm'] },
427
+ { key: 'sentry', aliases: ['sentry'], kind: K, parents: ['error-tracking', 'observability'] },
428
+ { key: 'jaeger', aliases: ['jaeger'], kind: K, parents: ['tracing', 'observability'] },
429
+ { key: 'opentelemetry', aliases: ['opentelemetry', 'otel'], kind: K, parents: ['observability', 'tracing'] },
430
+ { key: 'zipkin', aliases: ['zipkin'], kind: K, parents: ['tracing', 'observability'] },
431
+ { key: 'pagerduty', aliases: ['pagerduty', 'pd'], kind: K, parents: ['alerting', 'incident-management'] },
432
+ { key: 'opsgenie', aliases: ['opsgenie'], kind: K, parents: ['alerting', 'incident-management'] },
433
+ { key: 'loki', aliases: ['loki', 'grafana-loki'], kind: K, parents: ['logging', 'observability'] },
434
+ { key: 'fluentd', aliases: ['fluentd', 'fluent-bit', 'fluentbit'], kind: K, parents: ['logging'] },
435
+ { key: 'logstash', aliases: ['logstash', 'elk'], kind: K, parents: ['logging'] },
436
+ { key: 'kibana', aliases: ['kibana'], kind: K, parents: ['visualization', 'logging'] },
437
+ { key: 'splunk', aliases: ['splunk'], kind: K, parents: ['logging', 'observability'] },
438
+ { key: 'tempo', aliases: ['tempo', 'grafana-tempo'], kind: K, parents: ['tracing', 'observability'] },
439
+
440
+ // ═══════════════════════════════════════════════════════════════════════════
441
+ // ── Testing ──
442
+ // ═══════════════════════════════════════════════════════════════════════════
443
+ { key: 'jest', aliases: ['jest'], kind: K, parents: ['testing', 'javascript'] },
444
+ { key: 'vitest', aliases: ['vitest'], kind: K, parents: ['testing', 'javascript'] },
445
+ { key: 'mocha', aliases: ['mocha'], kind: K, parents: ['testing', 'javascript'] },
446
+ { key: 'cypress', aliases: ['cypress'], kind: K, parents: ['e2e-testing', 'frontend'] },
447
+ { key: 'playwright', aliases: ['playwright'], kind: K, parents: ['e2e-testing', 'frontend'] },
448
+ { key: 'selenium', aliases: ['selenium', 'webdriver'], kind: K, parents: ['e2e-testing'] },
449
+ { key: 'puppeteer', aliases: ['puppeteer'], kind: K, parents: ['e2e-testing', 'frontend'] },
450
+ { key: 'testing-library', aliases: ['testing-library', 'rtl', 'react-testing-library'], kind: K, parents: ['testing', 'reactjs'] },
451
+ { key: 'pytest', aliases: ['pytest'], kind: K, parents: ['testing', 'python'] },
452
+ { key: 'junit', aliases: ['junit', 'junit5'], kind: K, parents: ['testing', 'java'] },
453
+ { key: 'rspec', aliases: ['rspec'], kind: K, parents: ['testing', 'ruby'] },
454
+ { key: 'go-test', aliases: ['go-test', 'gotest'], kind: K, parents: ['testing', 'golang'] },
455
+ { key: 'k6', aliases: ['k6', 'grafana-k6'], kind: K, parents: ['load-testing', 'performance'] },
456
+ { key: 'artillery', aliases: ['artillery'], kind: K, parents: ['load-testing', 'performance'] },
457
+ { key: 'jmeter', aliases: ['jmeter', 'apache-jmeter'], kind: K, parents: ['load-testing', 'performance'] },
458
+ { key: 'gatling', aliases: ['gatling'], kind: K, parents: ['load-testing', 'performance'] },
459
+ { key: 'locust', aliases: ['locust'], kind: K, parents: ['load-testing', 'python'] },
460
+ { key: 'storybook', aliases: ['storybook'], kind: K, parents: ['testing', 'frontend', 'documentation'] },
461
+ { key: 'cucumber', aliases: ['cucumber', 'gherkin', 'bdd'], kind: K, parents: ['testing'] },
462
+ { key: 'testcontainers', aliases: ['testcontainers'], kind: K, parents: ['testing', 'docker'] },
463
+ { key: 'pact', aliases: ['pact', 'pact-testing'], kind: K, parents: ['contract-testing'] },
464
+ { key: 'supertest', aliases: ['supertest'], kind: K, parents: ['testing', 'nodejs'] },
465
+
466
+ // ═══════════════════════════════════════════════════════════════════════════
467
+ // ── Authentication / Identity ──
468
+ // ═══════════════════════════════════════════════════════════════════════════
469
+ { key: 'keycloak', aliases: ['keycloak'], kind: K, parents: ['authentication', 'oidc'] },
470
+ { key: 'auth0', aliases: ['auth0'], kind: K, parents: ['authentication', 'oidc'] },
471
+ { key: 'okta', aliases: ['okta'], kind: K, parents: ['authentication', 'oidc'] },
472
+ { key: 'firebase-auth', aliases: ['firebase-auth', 'firebase-authentication'], kind: K, parents: ['authentication', 'firebase'] },
473
+ { key: 'clerk', aliases: ['clerk'], kind: K, parents: ['authentication'] },
474
+ { key: 'nextauth', aliases: ['nextauth', 'next-auth', 'authjs', 'auth.js'], kind: K, parents: ['authentication', 'nextjs'] },
475
+ { key: 'passport', aliases: ['passport', 'passport.js', 'passportjs'], kind: K, parents: ['authentication', 'nodejs'] },
476
+ { key: 'supertokens', aliases: ['supertokens'], kind: K, parents: ['authentication'] },
477
+ { key: 'oauth', aliases: ['oauth', 'oauth2', 'oauth2.0'], kind: K, parents: ['authentication'] },
478
+ { key: 'saml', aliases: ['saml', 'saml2'], kind: K, parents: ['authentication', 'enterprise'] },
479
+ { key: 'jwt', aliases: ['jwt', 'json-web-token', 'json-web-tokens'], kind: K, parents: ['authentication'] },
480
+ { key: 'oidc', aliases: ['oidc', 'openid-connect', 'openid'], kind: K, parents: ['authentication'] },
481
+
482
+ // ═══════════════════════════════════════════════════════════════════════════
483
+ // ── Monorepo / Package Management ──
484
+ // ═══════════════════════════════════════════════════════════════════════════
485
+ { key: 'nx', aliases: ['nx', 'nrwl-nx'], kind: K, parents: ['monorepo', 'build-tool'] },
486
+ { key: 'turborepo', aliases: ['turborepo', 'turbo'], kind: K, parents: ['monorepo', 'build-tool'] },
487
+ { key: 'lerna', aliases: ['lerna'], kind: K, parents: ['monorepo'] },
488
+ { key: 'pnpm', aliases: ['pnpm'], kind: K, parents: ['package-manager', 'nodejs'] },
489
+ { key: 'yarn', aliases: ['yarn', 'yarn-berry'], kind: K, parents: ['package-manager', 'nodejs'] },
490
+ { key: 'npm', aliases: ['npm'], kind: K, parents: ['package-manager', 'nodejs'] },
491
+ { key: 'pip', aliases: ['pip', 'pip3', 'pipenv'], kind: K, parents: ['package-manager', 'python'] },
492
+ { key: 'poetry', aliases: ['poetry'], kind: K, parents: ['package-manager', 'python'] },
493
+ { key: 'uv', aliases: ['uv', 'astral-uv'], kind: K, parents: ['package-manager', 'python'] },
494
+ { key: 'cargo', aliases: ['cargo'], kind: K, parents: ['package-manager', 'rust'] },
495
+ { key: 'maven', aliases: ['maven', 'mvn'], kind: K, parents: ['build-tool', 'java'] },
496
+ { key: 'gradle', aliases: ['gradle'], kind: K, parents: ['build-tool', 'java'] },
497
+ { key: 'sbt', aliases: ['sbt'], kind: K, parents: ['build-tool', 'scala'] },
498
+ { key: 'mix', aliases: ['mix'], kind: K, parents: ['build-tool', 'elixir'] },
499
+ { key: 'bazel', aliases: ['bazel'], kind: K, parents: ['build-tool', 'monorepo'] },
500
+ { key: 'make', aliases: ['make', 'makefile', 'gnu-make'], kind: K, parents: ['build-tool'] },
501
+ { key: 'cmake', aliases: ['cmake'], kind: K, parents: ['build-tool', 'cpp'] },
502
+ { key: 'meson', aliases: ['meson'], kind: K, parents: ['build-tool'] },
503
+
504
+ // ═══════════════════════════════════════════════════════════════════════════
505
+ // ── VCS / Code Platforms ──
506
+ // ═══════════════════════════════════════════════════════════════════════════
507
+ { key: 'git', aliases: ['git'], kind: K, parents: ['version-control'] },
508
+ { key: 'github', aliases: ['github', 'gh'], kind: K, parents: ['version-control', 'code-platform'] },
509
+ { key: 'gitlab-platform', aliases: ['gitlab-platform', 'gitlab-saas'], kind: K, parents: ['version-control', 'code-platform'] },
510
+ { key: 'bitbucket', aliases: ['bitbucket'], kind: K, parents: ['version-control', 'code-platform'] },
511
+
512
+ // ═══════════════════════════════════════════════════════════════════════════
513
+ // ── Object Storage / CDN ──
514
+ // ═══════════════════════════════════════════════════════════════════════════
515
+ { key: 'minio', aliases: ['minio'], kind: K, parents: ['object-storage'] },
516
+ { key: 'gcs', aliases: ['gcs', 'google-cloud-storage'], kind: K, parents: ['object-storage', 'gcp'] },
517
+ { key: 'azure-blob', aliases: ['azure-blob', 'azure-blob-storage'], kind: K, parents: ['object-storage', 'azure'] },
518
+ { key: 'cloudinary', aliases: ['cloudinary'], kind: K, parents: ['media-storage', 'cdn'] },
519
+ { key: 'imgix', aliases: ['imgix'], kind: K, parents: ['media-storage', 'cdn'] },
520
+
521
+ // ═══════════════════════════════════════════════════════════════════════════
522
+ // ── Serverless ──
523
+ // ═══════════════════════════════════════════════════════════════════════════
524
+ { key: 'serverless-framework', aliases: ['serverless-framework', 'sls', 'serverless'], kind: K, parents: ['serverless'] },
525
+ { key: 'sst', aliases: ['sst', 'serverless-stack'], kind: K, parents: ['serverless', 'aws'] },
526
+ { key: 'deno-deploy', aliases: ['deno-deploy'], kind: K, parents: ['serverless', 'edge'] },
527
+
528
+ // ═══════════════════════════════════════════════════════════════════════════
529
+ // ── AI / ML Frameworks ──
530
+ // ═══════════════════════════════════════════════════════════════════════════
531
+ { key: 'tensorflow', aliases: ['tensorflow', 'tf-ml', 'tf2'], kind: K, parents: ['machine-learning'] },
532
+ { key: 'pytorch', aliases: ['pytorch', 'torch'], kind: K, parents: ['machine-learning'] },
533
+ { key: 'huggingface', aliases: ['huggingface', 'hugging-face', 'transformers'], kind: K, parents: ['machine-learning', 'nlp'] },
534
+ { key: 'langchain', aliases: ['langchain'], kind: K, parents: ['ai-infrastructure', 'llm'] },
535
+ { key: 'llamaindex', aliases: ['llamaindex', 'llama-index'], kind: K, parents: ['ai-infrastructure', 'llm'] },
536
+ { key: 'scikit-learn', aliases: ['scikit-learn', 'sklearn'], kind: K, parents: ['machine-learning', 'python'] },
537
+ { key: 'pandas', aliases: ['pandas'], kind: K, parents: ['data-science', 'python'] },
538
+ { key: 'numpy', aliases: ['numpy'], kind: K, parents: ['data-science', 'python'] },
539
+ { key: 'openai-api', aliases: ['openai', 'openai-api', 'chatgpt-api', 'gpt'], kind: K, parents: ['ai-infrastructure', 'llm'] },
540
+ { key: 'anthropic-api', aliases: ['anthropic', 'anthropic-api', 'claude-api'], kind: K, parents: ['ai-infrastructure', 'llm'] },
541
+ { key: 'ollama', aliases: ['ollama'], kind: K, parents: ['ai-infrastructure', 'llm'] },
542
+ { key: 'mlflow', aliases: ['mlflow'], kind: K, parents: ['ml-ops'] },
543
+ { key: 'kubeflow', aliases: ['kubeflow'], kind: K, parents: ['ml-ops', 'kubernetes'] },
544
+ { key: 'ray', aliases: ['ray', 'ray-io'], kind: K, parents: ['distributed-computing', 'machine-learning'] },
545
+ { key: 'triton', aliases: ['triton', 'triton-inference-server'], kind: K, parents: ['ai-infrastructure', 'model-serving'] },
546
+
547
+ // ═══════════════════════════════════════════════════════════════════════════
548
+ // ── Data Engineering / Analytics ──
549
+ // ═══════════════════════════════════════════════════════════════════════════
550
+ { key: 'spark', aliases: ['spark', 'apache-spark', 'pyspark'], kind: K, parents: ['data-engineering', 'distributed-computing'] },
551
+ { key: 'airflow', aliases: ['airflow', 'apache-airflow'], kind: K, parents: ['data-engineering', 'workflow'] },
552
+ { key: 'dbt', aliases: ['dbt', 'data-build-tool'], kind: K, parents: ['data-engineering', 'analytics'] },
553
+ { key: 'snowflake', aliases: ['snowflake'], kind: K, parents: ['data-warehouse', 'analytics'] },
554
+ { key: 'databricks', aliases: ['databricks'], kind: K, parents: ['data-engineering', 'analytics'] },
555
+ { key: 'flink', aliases: ['flink', 'apache-flink'], kind: K, parents: ['data-engineering', 'event-streaming'] },
556
+ { key: 'dagster', aliases: ['dagster'], kind: K, parents: ['data-engineering', 'workflow'] },
557
+ { key: 'prefect', aliases: ['prefect'], kind: K, parents: ['data-engineering', 'workflow'] },
558
+ { key: 'redshift', aliases: ['redshift', 'aws-redshift'], kind: K, parents: ['data-warehouse', 'aws'] },
559
+ { key: 'metabase', aliases: ['metabase'], kind: K, parents: ['analytics', 'visualization'] },
560
+ { key: 'superset', aliases: ['superset', 'apache-superset'], kind: K, parents: ['analytics', 'visualization'] },
561
+ { key: 'looker', aliases: ['looker'], kind: K, parents: ['analytics', 'visualization', 'gcp'] },
562
+ { key: 'tableau', aliases: ['tableau'], kind: K, parents: ['analytics', 'visualization'] },
563
+
564
+ // ═══════════════════════════════════════════════════════════════════════════
565
+ // ── Security ──
566
+ // ═══════════════════════════════════════════════════════════════════════════
567
+ { key: 'vault', aliases: ['vault', 'hashicorp-vault'], kind: K, parents: ['secret-management', 'security'] },
568
+ { key: 'snyk', aliases: ['snyk'], kind: K, parents: ['security', 'dependency-scanning'] },
569
+ { key: 'sonarqube', aliases: ['sonarqube', 'sonar'], kind: K, parents: ['code-quality', 'security'] },
570
+ { key: 'trivy', aliases: ['trivy'], kind: K, parents: ['security', 'container-scanning'] },
571
+ { key: 'dependabot', aliases: ['dependabot'], kind: K, parents: ['dependency-scanning', 'github'] },
572
+ { key: 'renovate', aliases: ['renovate'], kind: K, parents: ['dependency-scanning'] },
573
+ { key: 'falco', aliases: ['falco'], kind: K, parents: ['security', 'kubernetes', 'runtime-security'] },
574
+ { key: 'cert-manager', aliases: ['cert-manager'], kind: K, parents: ['security', 'kubernetes', 'tls'] },
575
+
576
+ // ═══════════════════════════════════════════════════════════════════════════
577
+ // ── Mobile ──
578
+ // ═══════════════════════════════════════════════════════════════════════════
579
+ { key: 'react-native', aliases: ['react-native', 'rn'], kind: K, parents: ['mobile', 'reactjs'] },
580
+ { key: 'flutter', aliases: ['flutter'], kind: K, parents: ['mobile', 'dart'] },
581
+ { key: 'expo', aliases: ['expo'], kind: K, parents: ['mobile', 'react-native'] },
582
+ { key: 'capacitor', aliases: ['capacitor', 'capacitorjs'], kind: K, parents: ['mobile', 'hybrid'] },
583
+ { key: 'ionic', aliases: ['ionic'], kind: K, parents: ['mobile', 'hybrid'] },
584
+ { key: 'kotlin-multiplatform', aliases: ['kotlin-multiplatform', 'kmp', 'kmm'], kind: K, parents: ['mobile', 'kotlin'] },
585
+ { key: 'swiftui', aliases: ['swiftui'], kind: K, parents: ['mobile', 'apple', 'swift'] },
586
+ { key: 'jetpack-compose', aliases: ['jetpack-compose', 'compose'], kind: K, parents: ['mobile', 'android', 'kotlin'] },
587
+
588
+ // ═══════════════════════════════════════════════════════════════════════════
589
+ // ── CMS / Content ──
590
+ // ═══════════════════════════════════════════════════════════════════════════
591
+ { key: 'strapi', aliases: ['strapi'], kind: K, parents: ['cms', 'headless-cms'] },
592
+ { key: 'contentful', aliases: ['contentful'], kind: K, parents: ['cms', 'headless-cms'] },
593
+ { key: 'sanity', aliases: ['sanity', 'sanity.io'], kind: K, parents: ['cms', 'headless-cms'] },
594
+ { key: 'payload-cms', aliases: ['payload', 'payload-cms'], kind: K, parents: ['cms', 'headless-cms'] },
595
+ { key: 'directus', aliases: ['directus'], kind: K, parents: ['cms', 'headless-cms'] },
596
+ { key: 'ghost', aliases: ['ghost'], kind: K, parents: ['cms'] },
597
+
598
+ // ═══════════════════════════════════════════════════════════════════════════
599
+ // ── BaaS / Firebase / Realtime ──
600
+ // ═══════════════════════════════════════════════════════════════════════════
601
+ { key: 'firebase', aliases: ['firebase', 'google-firebase'], kind: K, parents: ['baas', 'gcp'] },
602
+ { key: 'appwrite', aliases: ['appwrite'], kind: K, parents: ['baas'] },
603
+ { key: 'hasura', aliases: ['hasura'], kind: K, parents: ['graphql', 'baas'] },
604
+ { key: 'supabase-realtime', aliases: ['supabase-realtime'], kind: K, parents: ['real-time', 'supabase'] },
605
+
606
+ // ═══════════════════════════════════════════════════════════════════════════
607
+ // ── Feature Flags / Experimentation ──
608
+ // ═══════════════════════════════════════════════════════════════════════════
609
+ { key: 'launchdarkly', aliases: ['launchdarkly', 'launch-darkly'], kind: K, parents: ['feature-flags'] },
610
+ { key: 'unleash', aliases: ['unleash'], kind: K, parents: ['feature-flags'] },
611
+ { key: 'posthog', aliases: ['posthog'], kind: K, parents: ['analytics', 'feature-flags'] },
612
+ { key: 'flagsmith', aliases: ['flagsmith'], kind: K, parents: ['feature-flags'] },
613
+ { key: 'optimizely', aliases: ['optimizely'], kind: K, parents: ['experimentation', 'feature-flags'] },
614
+ { key: 'growthbook', aliases: ['growthbook'], kind: K, parents: ['experimentation', 'feature-flags'] },
615
+
616
+ // ═══════════════════════════════════════════════════════════════════════════
617
+ // ── Linting / Code Quality ──
618
+ // ═══════════════════════════════════════════════════════════════════════════
619
+ { key: 'eslint', aliases: ['eslint'], kind: K, parents: ['linting', 'javascript'] },
620
+ { key: 'prettier', aliases: ['prettier'], kind: K, parents: ['formatting'] },
621
+ { key: 'biome', aliases: ['biome', 'biomejs'], kind: K, parents: ['linting', 'formatting'] },
622
+ { key: 'oxlint', aliases: ['oxlint', 'oxc'], kind: K, parents: ['linting', 'javascript'] },
623
+ { key: 'ruff', aliases: ['ruff'], kind: K, parents: ['linting', 'python'] },
624
+ { key: 'black', aliases: ['black'], kind: K, parents: ['formatting', 'python'] },
625
+ { key: 'golangci-lint', aliases: ['golangci-lint', 'golint'], kind: K, parents: ['linting', 'golang'] },
626
+ { key: 'clippy', aliases: ['clippy', 'rust-clippy'], kind: K, parents: ['linting', 'rust'] },
627
+ { key: 'rubocop', aliases: ['rubocop'], kind: K, parents: ['linting', 'ruby'] },
628
+ { key: 'mypy', aliases: ['mypy'], kind: K, parents: ['type-checking', 'python'] },
629
+ { key: 'pyright', aliases: ['pyright'], kind: K, parents: ['type-checking', 'python'] },
630
+
631
+ // ═══════════════════════════════════════════════════════════════════════════
632
+ // ── Documentation ──
633
+ // ═══════════════════════════════════════════════════════════════════════════
634
+ { key: 'docusaurus', aliases: ['docusaurus'], kind: K, parents: ['documentation', 'reactjs'] },
635
+ { key: 'mkdocs', aliases: ['mkdocs', 'mkdocs-material'], kind: K, parents: ['documentation', 'python'] },
636
+ { key: 'typedoc', aliases: ['typedoc'], kind: K, parents: ['documentation', 'typescript'] },
637
+ { key: 'swagger-ui', aliases: ['swagger-ui'], kind: K, parents: ['documentation', 'api'] },
638
+ { key: 'redoc', aliases: ['redoc'], kind: K, parents: ['documentation', 'api'] },
639
+ { key: 'mdx', aliases: ['mdx', 'markdown-jsx'], kind: K, parents: ['documentation', 'reactjs'] },
640
+
641
+ // ═══════════════════════════════════════════════════════════════════════════
642
+ // ── Email / Notifications ──
643
+ // ═══════════════════════════════════════════════════════════════════════════
644
+ { key: 'sendgrid', aliases: ['sendgrid', 'twilio-sendgrid'], kind: K, parents: ['email'] },
645
+ { key: 'ses', aliases: ['ses', 'aws-ses', 'amazon-ses'], kind: K, parents: ['email', 'aws'] },
646
+ { key: 'resend', aliases: ['resend'], kind: K, parents: ['email'] },
647
+ { key: 'postmark', aliases: ['postmark'], kind: K, parents: ['email'] },
648
+ { key: 'mailgun', aliases: ['mailgun'], kind: K, parents: ['email'] },
649
+ { key: 'twilio', aliases: ['twilio'], kind: K, parents: ['sms', 'communications'] },
650
+
651
+ // ═══════════════════════════════════════════════════════════════════════════
652
+ // ── Payments ──
653
+ // ═══════════════════════════════════════════════════════════════════════════
654
+ { key: 'stripe', aliases: ['stripe', 'stripe-api'], kind: K, parents: ['payments'] },
655
+ { key: 'paypal', aliases: ['paypal', 'braintree'], kind: K, parents: ['payments'] },
656
+ { key: 'adyen', aliases: ['adyen'], kind: K, parents: ['payments'] },
657
+ { key: 'square', aliases: ['square', 'square-api'], kind: K, parents: ['payments'] },
658
+
659
+ // ═══════════════════════════════════════════════════════════════════════════
660
+ // ── Collaboration / Project Management ──
661
+ // ═══════════════════════════════════════════════════════════════════════════
662
+ { key: 'jira', aliases: ['jira', 'atlassian-jira'], kind: K, parents: ['project-management'] },
663
+ { key: 'linear', aliases: ['linear', 'linear-app'], kind: K, parents: ['project-management'] },
664
+ { key: 'slack', aliases: ['slack', 'slack-api'], kind: K, parents: ['communications'] },
665
+ { key: 'confluence', aliases: ['confluence'], kind: K, parents: ['documentation', 'knowledge-base'] },
666
+ { key: 'notion', aliases: ['notion', 'notion-api'], kind: K, parents: ['documentation', 'knowledge-base'] },
667
+ ];