@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,3695 @@
1
+ // ═══════════════════════════════════════════════════════════════════════════
2
+ // ── Catalog Taxonomies — Shared Reference Data ──
3
+ //
4
+ // Controlled vocabularies for the entire platform. Used by:
5
+ // - catalog-api (REST + MCP discovery endpoints)
6
+ // - backlog-api (item creation/validation)
7
+ // - work-orchestrator-api (pipeline routing)
8
+ // - doc-template-api (template matching)
9
+ // - xema-host-web (dropdowns, filters)
10
+ // - agent prompts (auto-tagging, auto-priority)
11
+ //
12
+ // All values are lowercase. Original catalogs use kebab-case.
13
+ // Manifest vocabulary catalogs use snake_case (project manifest convention).
14
+ // Resource types use "group/name" notation (e.g. "database/postgresql").
15
+ // ═══════════════════════════════════════════════════════════════════════════
16
+
17
+ // ── Common Interfaces ──────────────────────────────────────────────────
18
+
19
+ /**
20
+ * A catalog entry — generic definition for any enumerated value.
21
+ */
22
+ export interface CatalogEntry {
23
+ /** The stored value (lowercase, kebab-case) */
24
+ value: string;
25
+ /** Human-readable label */
26
+ label: string;
27
+ /** Brief description / when to use */
28
+ hint: string;
29
+ /** Tailwind color class for UI badges */
30
+ color: string;
31
+ /** Numeric sort order (lower = higher priority) */
32
+ sortOrder: number;
33
+ /** Group key for hierarchical grouping (e.g., "database" within resource types) */
34
+ group?: string;
35
+ /** Soft-deprecate without removing */
36
+ deprecated?: boolean;
37
+ /** Alternative names for search (e.g., "Postgres" → "database/postgresql") */
38
+ aliases?: string[];
39
+ /** Cross-reference to manifest vocabulary value */
40
+ manifestRef?: string;
41
+ }
42
+
43
+ /**
44
+ * A catalog group containing related entries.
45
+ */
46
+ export interface CatalogGroup {
47
+ /** Unique key for this catalog */
48
+ key: string;
49
+ /** Human-readable label */
50
+ label: string;
51
+ /** Description of what this catalog represents */
52
+ description: string;
53
+ /** Entries in this catalog */
54
+ entries: CatalogEntry[];
55
+ }
56
+
57
+ // ── Priority Levels ────────────────────────────────────────────────────
58
+ // Used by: backlog items, work items, findings
59
+
60
+ export const PRIORITY_CATALOG: CatalogEntry[] = [
61
+ {
62
+ value: 'p0',
63
+ label: 'P0 — Critical',
64
+ hint: 'Production down, security breach, data loss. Must fix NOW.',
65
+ color: 'bg-red-100 text-red-800',
66
+ sortOrder: 0,
67
+ },
68
+ {
69
+ value: 'p1',
70
+ label: 'P1 — High',
71
+ hint: 'Major feature blocked, significant user impact. Fix this sprint.',
72
+ color: 'bg-orange-100 text-orange-800',
73
+ sortOrder: 1,
74
+ },
75
+ {
76
+ value: 'p2',
77
+ label: 'P2 — Medium',
78
+ hint: 'Default priority. Normal feature work, non-urgent improvements.',
79
+ color: 'bg-yellow-100 text-yellow-800',
80
+ sortOrder: 2,
81
+ },
82
+ {
83
+ value: 'p3',
84
+ label: 'P3 — Low',
85
+ hint: 'Nice-to-have, cosmetic, minor improvements. Schedule when convenient.',
86
+ color: 'bg-gray-100 text-gray-600',
87
+ sortOrder: 3,
88
+ },
89
+ ];
90
+
91
+ export const PRIORITY_VALUES = PRIORITY_CATALOG.map((p) => p.value);
92
+ export type PriorityLevel = (typeof PRIORITY_VALUES)[number];
93
+
94
+ // ── Item Types ─────────────────────────────────────────────────────────
95
+ // Used by: backlog items
96
+
97
+ export const ITEM_TYPE_CATALOG: CatalogEntry[] = [
98
+ {
99
+ value: 'epic',
100
+ label: 'Epic',
101
+ hint: 'Large body of work decomposed into stories/tasks. Spans multiple sprints.',
102
+ color: 'bg-purple-100 text-purple-800',
103
+ sortOrder: 0,
104
+ },
105
+ {
106
+ value: 'story',
107
+ label: 'Story',
108
+ hint: 'User-facing feature described from the user perspective. Deliverable in one sprint.',
109
+ color: 'bg-blue-100 text-blue-800',
110
+ sortOrder: 1,
111
+ },
112
+ {
113
+ value: 'task',
114
+ label: 'Task',
115
+ hint: 'Technical work item — implementation, config, setup. Not necessarily user-facing.',
116
+ color: 'bg-green-100 text-green-800',
117
+ sortOrder: 2,
118
+ },
119
+ {
120
+ value: 'bug',
121
+ label: 'Bug',
122
+ hint: 'Defect in existing functionality. Something that was working but broke or never worked correctly.',
123
+ color: 'bg-red-100 text-red-700',
124
+ sortOrder: 3,
125
+ },
126
+ ];
127
+
128
+ export const ITEM_TYPE_VALUES = ITEM_TYPE_CATALOG.map((t) => t.value);
129
+ export type ItemType = (typeof ITEM_TYPE_VALUES)[number];
130
+
131
+ // ── Complexity Tiers ───────────────────────────────────────────────────
132
+ // Used by: pipeline runs, doc-template matching, agent model selection
133
+ // NOTE: COMPLEXITY_TIERS and ComplexityTier are also in phase-report.ts
134
+ // for backward compat. This is the canonical rich definition.
135
+
136
+ export const COMPLEXITY_CATALOG: CatalogEntry[] = [
137
+ {
138
+ value: 'simple',
139
+ label: 'Simple',
140
+ hint: 'Single service, few files, straightforward logic. ~1-3 day effort.',
141
+ color: 'bg-green-100 text-green-700',
142
+ sortOrder: 0,
143
+ },
144
+ {
145
+ value: 'standard',
146
+ label: 'Standard',
147
+ hint: 'Multi-file changes within 1-2 services. Moderate complexity. ~3-7 day effort.',
148
+ color: 'bg-blue-100 text-blue-700',
149
+ sortOrder: 1,
150
+ },
151
+ {
152
+ value: 'complex',
153
+ label: 'Complex',
154
+ hint: 'Multi-service changes, new APIs, database migrations. ~1-3 week effort.',
155
+ color: 'bg-orange-100 text-orange-700',
156
+ sortOrder: 2,
157
+ },
158
+ {
159
+ value: 'enterprise',
160
+ label: 'Enterprise',
161
+ hint: 'Cross-system integration, new microservices, major architectural changes. ~1+ month effort.',
162
+ color: 'bg-red-100 text-red-700',
163
+ sortOrder: 3,
164
+ },
165
+ ];
166
+
167
+ export const COMPLEXITY_VALUES = COMPLEXITY_CATALOG.map((c) => c.value);
168
+
169
+ // ── Status Definitions ─────────────────────────────────────────────────
170
+ // Used by: backlog items
171
+
172
+ export const BACKLOG_STATUS_CATALOG: CatalogEntry[] = [
173
+ {
174
+ value: 'draft',
175
+ label: 'Draft',
176
+ hint: 'Item created but not yet reviewed or refined.',
177
+ color: 'bg-gray-100 text-gray-600',
178
+ sortOrder: 0,
179
+ },
180
+ {
181
+ value: 'ready',
182
+ label: 'Ready',
183
+ hint: 'Item refined, accepted, and ready for development.',
184
+ color: 'bg-blue-100 text-blue-700',
185
+ sortOrder: 1,
186
+ },
187
+ {
188
+ value: 'in-progress',
189
+ label: 'In Progress',
190
+ hint: 'Actively being worked on.',
191
+ color: 'bg-yellow-100 text-yellow-800',
192
+ sortOrder: 2,
193
+ },
194
+ {
195
+ value: 'review',
196
+ label: 'Review',
197
+ hint: 'Implementation complete, awaiting review.',
198
+ color: 'bg-purple-100 text-purple-700',
199
+ sortOrder: 3,
200
+ },
201
+ {
202
+ value: 'done',
203
+ label: 'Done',
204
+ hint: 'Completed and verified.',
205
+ color: 'bg-green-100 text-green-700',
206
+ sortOrder: 4,
207
+ },
208
+ {
209
+ value: 'cancelled',
210
+ label: 'Cancelled',
211
+ hint: 'Item will not be implemented.',
212
+ color: 'bg-red-100 text-red-600',
213
+ sortOrder: 5,
214
+ },
215
+ ];
216
+
217
+ export const BACKLOG_STATUS_VALUES = BACKLOG_STATUS_CATALOG.map((s) => s.value);
218
+ export type BacklogStatus = (typeof BACKLOG_STATUS_VALUES)[number];
219
+
220
+ // ═══════════════════════════════════════════════════════════════════════════
221
+ // ── Manifest Vocabulary Catalogs ──
222
+ //
223
+ // These catalogs power the Project Manifest typed fields. They are served
224
+ // by catalog-api endpoints at /catalogs/manifest-* and used by the
225
+ // manifest-reconciler agent to discover valid enum values.
226
+ //
227
+ // Note: The canonical TypeScript union types live in manifest/manifest.enums.ts.
228
+ // These catalog entries add labels, hints, groups, and sort orders for
229
+ // human-readable presentation (UI dropdowns, agent discovery queries).
230
+ // ═══════════════════════════════════════════════════════════════════════════
231
+
232
+ // ── Service Types ──────────────────────────────────────────────────────
233
+
234
+ export const MANIFEST_SERVICE_TYPE_CATALOG: CatalogEntry[] = [
235
+ // Web & API
236
+ {
237
+ value: 'backend_api',
238
+ label: 'Backend API',
239
+ hint: 'REST/GraphQL/gRPC server process',
240
+ color: 'bg-blue-100 text-blue-800',
241
+ sortOrder: 0,
242
+ group: 'web_api',
243
+ },
244
+ {
245
+ value: 'frontend_web',
246
+ label: 'Frontend Web',
247
+ hint: 'Browser-based SPA or SSR app',
248
+ color: 'bg-green-100 text-green-800',
249
+ sortOrder: 1,
250
+ group: 'web_api',
251
+ },
252
+ {
253
+ value: 'frontend_mobile',
254
+ label: 'Frontend Mobile',
255
+ hint: 'Mobile app (React Native, Flutter, native)',
256
+ color: 'bg-green-100 text-green-800',
257
+ sortOrder: 2,
258
+ group: 'web_api',
259
+ },
260
+ {
261
+ value: 'gateway',
262
+ label: 'API Gateway',
263
+ hint: 'Reverse proxy, routing, rate limiting',
264
+ color: 'bg-blue-100 text-blue-800',
265
+ sortOrder: 3,
266
+ group: 'web_api',
267
+ },
268
+ {
269
+ value: 'bff',
270
+ label: 'Backend for Frontend',
271
+ hint: 'API aggregation layer for a specific frontend',
272
+ color: 'bg-blue-100 text-blue-800',
273
+ sortOrder: 4,
274
+ group: 'web_api',
275
+ },
276
+ {
277
+ value: 'monolith',
278
+ label: 'Monolith',
279
+ hint: 'Single deployable containing all modules',
280
+ color: 'bg-blue-100 text-blue-800',
281
+ sortOrder: 5,
282
+ group: 'web_api',
283
+ },
284
+ {
285
+ value: 'static_site',
286
+ label: 'Static Site',
287
+ hint: 'Pre-built HTML/CSS/JS served from CDN',
288
+ color: 'bg-green-100 text-green-800',
289
+ sortOrder: 6,
290
+ group: 'web_api',
291
+ },
292
+ // Workers & Jobs
293
+ {
294
+ value: 'worker',
295
+ label: 'Worker',
296
+ hint: 'Background job processor',
297
+ color: 'bg-yellow-100 text-yellow-800',
298
+ sortOrder: 10,
299
+ group: 'workers',
300
+ },
301
+ {
302
+ value: 'scheduler',
303
+ label: 'Scheduler',
304
+ hint: 'Cron/timer-based task runner',
305
+ color: 'bg-yellow-100 text-yellow-800',
306
+ sortOrder: 11,
307
+ group: 'workers',
308
+ },
309
+ {
310
+ value: 'daemon',
311
+ label: 'Daemon',
312
+ hint: 'Long-running background service',
313
+ color: 'bg-yellow-100 text-yellow-800',
314
+ sortOrder: 12,
315
+ group: 'workers',
316
+ },
317
+ {
318
+ value: 'serverless_function',
319
+ label: 'Serverless Function',
320
+ hint: 'Lambda/Cloud Function triggered on events',
321
+ color: 'bg-yellow-100 text-yellow-800',
322
+ sortOrder: 13,
323
+ group: 'workers',
324
+ },
325
+ // CLI & Scripts
326
+ {
327
+ value: 'cli',
328
+ label: 'CLI Tool',
329
+ hint: 'Command-line program',
330
+ color: 'bg-gray-100 text-gray-800',
331
+ sortOrder: 20,
332
+ group: 'cli_scripts',
333
+ },
334
+ {
335
+ value: 'script',
336
+ label: 'Script',
337
+ hint: 'Standalone script or automation tool',
338
+ color: 'bg-gray-100 text-gray-800',
339
+ sortOrder: 21,
340
+ group: 'cli_scripts',
341
+ },
342
+ {
343
+ value: 'automation',
344
+ label: 'Automation',
345
+ hint: 'CI/CD pipeline, workflow automation',
346
+ color: 'bg-gray-100 text-gray-800',
347
+ sortOrder: 22,
348
+ group: 'cli_scripts',
349
+ },
350
+ // Libraries & SDKs
351
+ {
352
+ value: 'library',
353
+ label: 'Library',
354
+ hint: 'Reusable package imported by other services',
355
+ color: 'bg-purple-100 text-purple-800',
356
+ sortOrder: 30,
357
+ group: 'libraries',
358
+ },
359
+ {
360
+ value: 'sdk',
361
+ label: 'SDK',
362
+ hint: 'Client SDK for an API or platform',
363
+ color: 'bg-purple-100 text-purple-800',
364
+ sortOrder: 31,
365
+ group: 'libraries',
366
+ },
367
+ {
368
+ value: 'shared_module',
369
+ label: 'Shared Module',
370
+ hint: 'Internal shared code within monorepo',
371
+ color: 'bg-purple-100 text-purple-800',
372
+ sortOrder: 32,
373
+ group: 'libraries',
374
+ },
375
+ // Data & ML
376
+ {
377
+ value: 'ml_pipeline',
378
+ label: 'ML Pipeline',
379
+ hint: 'End-to-end ML workflow (data → train → deploy)',
380
+ color: 'bg-pink-100 text-pink-800',
381
+ sortOrder: 40,
382
+ group: 'data_ml',
383
+ },
384
+ {
385
+ value: 'data_pipeline',
386
+ label: 'Data Pipeline',
387
+ hint: 'ETL/ELT data processing workflow',
388
+ color: 'bg-pink-100 text-pink-800',
389
+ sortOrder: 41,
390
+ group: 'data_ml',
391
+ },
392
+ {
393
+ value: 'ml_model',
394
+ label: 'ML Model',
395
+ hint: 'Trained model artifact or serving endpoint',
396
+ color: 'bg-pink-100 text-pink-800',
397
+ sortOrder: 42,
398
+ group: 'data_ml',
399
+ },
400
+ {
401
+ value: 'ml_training',
402
+ label: 'ML Training',
403
+ hint: 'Model training job or fine-tuning pipeline',
404
+ color: 'bg-pink-100 text-pink-800',
405
+ sortOrder: 43,
406
+ group: 'data_ml',
407
+ },
408
+ {
409
+ value: 'ml_inference',
410
+ label: 'ML Inference',
411
+ hint: 'Real-time or batch inference service',
412
+ color: 'bg-pink-100 text-pink-800',
413
+ sortOrder: 44,
414
+ group: 'data_ml',
415
+ },
416
+ {
417
+ value: 'etl',
418
+ label: 'ETL Job',
419
+ hint: 'Extract-Transform-Load batch process',
420
+ color: 'bg-pink-100 text-pink-800',
421
+ sortOrder: 45,
422
+ group: 'data_ml',
423
+ },
424
+ {
425
+ value: 'data_warehouse',
426
+ label: 'Data Warehouse',
427
+ hint: 'Data warehouse schema/models (dbt, etc.)',
428
+ color: 'bg-pink-100 text-pink-800',
429
+ sortOrder: 46,
430
+ group: 'data_ml',
431
+ },
432
+ // Desktop & Native
433
+ {
434
+ value: 'desktop_app',
435
+ label: 'Desktop App',
436
+ hint: 'Native desktop application',
437
+ color: 'bg-indigo-100 text-indigo-800',
438
+ sortOrder: 50,
439
+ group: 'desktop',
440
+ },
441
+ {
442
+ value: 'browser_extension',
443
+ label: 'Browser Extension',
444
+ hint: 'Chrome/Firefox/Safari extension',
445
+ color: 'bg-indigo-100 text-indigo-800',
446
+ sortOrder: 51,
447
+ group: 'desktop',
448
+ },
449
+ {
450
+ value: 'electron_app',
451
+ label: 'Electron App',
452
+ hint: 'Cross-platform desktop app with Electron',
453
+ color: 'bg-indigo-100 text-indigo-800',
454
+ sortOrder: 52,
455
+ group: 'desktop',
456
+ },
457
+ // Mobile
458
+ {
459
+ value: 'mobile_ios',
460
+ label: 'iOS App',
461
+ hint: 'Native iOS application (Swift/ObjC)',
462
+ color: 'bg-green-100 text-green-800',
463
+ sortOrder: 55,
464
+ group: 'mobile',
465
+ },
466
+ {
467
+ value: 'mobile_android',
468
+ label: 'Android App',
469
+ hint: 'Native Android application (Kotlin/Java)',
470
+ color: 'bg-green-100 text-green-800',
471
+ sortOrder: 56,
472
+ group: 'mobile',
473
+ },
474
+ {
475
+ value: 'mobile_cross_platform',
476
+ label: 'Cross-Platform Mobile',
477
+ hint: 'React Native, Flutter, Capacitor',
478
+ color: 'bg-green-100 text-green-800',
479
+ sortOrder: 57,
480
+ group: 'mobile',
481
+ },
482
+ // Games & 3D
483
+ {
484
+ value: 'game',
485
+ label: 'Game',
486
+ hint: 'Game project (Unity, Unreal, Godot, etc.)',
487
+ color: 'bg-red-100 text-red-800',
488
+ sortOrder: 60,
489
+ group: 'games_3d',
490
+ },
491
+ {
492
+ value: 'game_server',
493
+ label: 'Game Server',
494
+ hint: 'Multiplayer game server',
495
+ color: 'bg-red-100 text-red-800',
496
+ sortOrder: 61,
497
+ group: 'games_3d',
498
+ },
499
+ {
500
+ value: 'game_mod',
501
+ label: 'Game Mod',
502
+ hint: 'Modification/plugin for an existing game',
503
+ color: 'bg-red-100 text-red-800',
504
+ sortOrder: 62,
505
+ group: 'games_3d',
506
+ },
507
+ {
508
+ value: '3d_project',
509
+ label: '3D Project',
510
+ hint: '3D modeling, rendering, or visualization',
511
+ color: 'bg-red-100 text-red-800',
512
+ sortOrder: 63,
513
+ group: 'games_3d',
514
+ },
515
+ {
516
+ value: 'vr_ar_app',
517
+ label: 'VR/AR App',
518
+ hint: 'Virtual or augmented reality application',
519
+ color: 'bg-red-100 text-red-800',
520
+ sortOrder: 64,
521
+ group: 'games_3d',
522
+ },
523
+ // Embedded & Hardware
524
+ {
525
+ value: 'firmware',
526
+ label: 'Firmware',
527
+ hint: 'Embedded system firmware (C/C++/Rust)',
528
+ color: 'bg-orange-100 text-orange-800',
529
+ sortOrder: 70,
530
+ group: 'embedded',
531
+ },
532
+ {
533
+ value: 'embedded',
534
+ label: 'Embedded System',
535
+ hint: 'Embedded application (RTOS, bare-metal)',
536
+ color: 'bg-orange-100 text-orange-800',
537
+ sortOrder: 71,
538
+ group: 'embedded',
539
+ },
540
+ {
541
+ value: 'rtos_app',
542
+ label: 'RTOS App',
543
+ hint: 'Real-time operating system application',
544
+ color: 'bg-orange-100 text-orange-800',
545
+ sortOrder: 72,
546
+ group: 'embedded',
547
+ },
548
+ {
549
+ value: 'hardware_design',
550
+ label: 'Hardware Design',
551
+ hint: 'FPGA/ASIC HDL design (VHDL, Verilog)',
552
+ color: 'bg-orange-100 text-orange-800',
553
+ sortOrder: 73,
554
+ group: 'embedded',
555
+ },
556
+ {
557
+ value: 'fpga',
558
+ label: 'FPGA',
559
+ hint: 'Field-Programmable Gate Array design',
560
+ color: 'bg-orange-100 text-orange-800',
561
+ sortOrder: 74,
562
+ group: 'embedded',
563
+ },
564
+ {
565
+ value: 'driver',
566
+ label: 'Device Driver',
567
+ hint: 'OS device driver (kernel module, etc.)',
568
+ color: 'bg-orange-100 text-orange-800',
569
+ sortOrder: 75,
570
+ group: 'embedded',
571
+ },
572
+ // Infrastructure & DevOps
573
+ {
574
+ value: 'infrastructure',
575
+ label: 'Infrastructure',
576
+ hint: 'IaC, platform tooling, DevOps automation',
577
+ color: 'bg-teal-100 text-teal-800',
578
+ sortOrder: 80,
579
+ group: 'infra',
580
+ },
581
+ {
582
+ value: 'helm_chart',
583
+ label: 'Helm Chart',
584
+ hint: 'Kubernetes Helm chart package',
585
+ color: 'bg-teal-100 text-teal-800',
586
+ sortOrder: 81,
587
+ group: 'infra',
588
+ },
589
+ {
590
+ value: 'terraform_module',
591
+ label: 'Terraform Module',
592
+ hint: 'Reusable Terraform/OpenTofu module',
593
+ color: 'bg-teal-100 text-teal-800',
594
+ sortOrder: 82,
595
+ group: 'infra',
596
+ },
597
+ {
598
+ value: 'ansible_playbook',
599
+ label: 'Ansible Playbook',
600
+ hint: 'Configuration management playbook',
601
+ color: 'bg-teal-100 text-teal-800',
602
+ sortOrder: 83,
603
+ group: 'infra',
604
+ },
605
+ {
606
+ value: 'container_image',
607
+ label: 'Container Image',
608
+ hint: 'Docker/OCI container image build',
609
+ color: 'bg-teal-100 text-teal-800',
610
+ sortOrder: 84,
611
+ group: 'infra',
612
+ },
613
+ // Content & CMS
614
+ {
615
+ value: 'wordpress_theme',
616
+ label: 'WordPress Theme',
617
+ hint: 'Custom WordPress theme',
618
+ color: 'bg-cyan-100 text-cyan-800',
619
+ sortOrder: 90,
620
+ group: 'cms',
621
+ },
622
+ {
623
+ value: 'wordpress_plugin',
624
+ label: 'WordPress Plugin',
625
+ hint: 'WordPress plugin',
626
+ color: 'bg-cyan-100 text-cyan-800',
627
+ sortOrder: 91,
628
+ group: 'cms',
629
+ },
630
+ {
631
+ value: 'cms_template',
632
+ label: 'CMS Template',
633
+ hint: 'Template for CMS platforms (Drupal, Ghost, etc.)',
634
+ color: 'bg-cyan-100 text-cyan-800',
635
+ sortOrder: 92,
636
+ group: 'cms',
637
+ },
638
+ {
639
+ value: 'documentation',
640
+ label: 'Documentation',
641
+ hint: 'Documentation site (Docusaurus, MkDocs, etc.)',
642
+ color: 'bg-cyan-100 text-cyan-800',
643
+ sortOrder: 93,
644
+ group: 'cms',
645
+ },
646
+ // Enterprise & Legacy
647
+ {
648
+ value: 'sap_abap',
649
+ label: 'SAP ABAP',
650
+ hint: 'SAP ABAP program or module',
651
+ color: 'bg-amber-100 text-amber-800',
652
+ sortOrder: 100,
653
+ group: 'enterprise',
654
+ },
655
+ {
656
+ value: 'cobol_program',
657
+ label: 'COBOL Program',
658
+ hint: 'COBOL mainframe program',
659
+ color: 'bg-amber-100 text-amber-800',
660
+ sortOrder: 101,
661
+ group: 'enterprise',
662
+ },
663
+ {
664
+ value: 'mainframe_batch',
665
+ label: 'Mainframe Batch',
666
+ hint: 'Mainframe batch job (JCL, COBOL, PL/I)',
667
+ color: 'bg-amber-100 text-amber-800',
668
+ sortOrder: 102,
669
+ group: 'enterprise',
670
+ },
671
+ {
672
+ value: 'erp_module',
673
+ label: 'ERP Module',
674
+ hint: 'ERP system module or extension',
675
+ color: 'bg-amber-100 text-amber-800',
676
+ sortOrder: 103,
677
+ group: 'enterprise',
678
+ },
679
+ {
680
+ value: 'erp_extension',
681
+ label: 'ERP Extension',
682
+ hint: 'Extension/add-on for ERP systems',
683
+ color: 'bg-amber-100 text-amber-800',
684
+ sortOrder: 104,
685
+ group: 'enterprise',
686
+ },
687
+ // Analysis & Research
688
+ {
689
+ value: 'reverse_engineering',
690
+ label: 'Reverse Engineering',
691
+ hint: 'Binary analysis, decompilation, RE tooling',
692
+ color: 'bg-rose-100 text-rose-800',
693
+ sortOrder: 110,
694
+ group: 'analysis',
695
+ },
696
+ {
697
+ value: 'security_tool',
698
+ label: 'Security Tool',
699
+ hint: 'Security analysis, scanning, or testing tool',
700
+ color: 'bg-rose-100 text-rose-800',
701
+ sortOrder: 111,
702
+ group: 'analysis',
703
+ },
704
+ {
705
+ value: 'pentest_toolkit',
706
+ label: 'Pentest Toolkit',
707
+ hint: 'Penetration testing framework or toolkit',
708
+ color: 'bg-rose-100 text-rose-800',
709
+ sortOrder: 112,
710
+ group: 'analysis',
711
+ },
712
+ {
713
+ value: 'forensics',
714
+ label: 'Digital Forensics',
715
+ hint: 'Digital forensics and incident response tooling',
716
+ color: 'bg-rose-100 text-rose-800',
717
+ sortOrder: 113,
718
+ group: 'analysis',
719
+ },
720
+ // Compiler & Language
721
+ {
722
+ value: 'compiler',
723
+ label: 'Compiler',
724
+ hint: 'Language compiler or transpiler',
725
+ color: 'bg-violet-100 text-violet-800',
726
+ sortOrder: 120,
727
+ group: 'compilers',
728
+ },
729
+ {
730
+ value: 'interpreter',
731
+ label: 'Interpreter',
732
+ hint: 'Language interpreter',
733
+ color: 'bg-violet-100 text-violet-800',
734
+ sortOrder: 121,
735
+ group: 'compilers',
736
+ },
737
+ {
738
+ value: 'language_runtime',
739
+ label: 'Language Runtime',
740
+ hint: 'Runtime environment for a language',
741
+ color: 'bg-violet-100 text-violet-800',
742
+ sortOrder: 122,
743
+ group: 'compilers',
744
+ },
745
+ {
746
+ value: 'code_generator',
747
+ label: 'Code Generator',
748
+ hint: 'Code generation tool or template engine',
749
+ color: 'bg-violet-100 text-violet-800',
750
+ sortOrder: 123,
751
+ group: 'compilers',
752
+ },
753
+ // Misc
754
+ {
755
+ value: 'smart_contract',
756
+ label: 'Smart Contract',
757
+ hint: 'Blockchain smart contract (Solidity, Move, etc.)',
758
+ color: 'bg-emerald-100 text-emerald-800',
759
+ sortOrder: 130,
760
+ group: 'blockchain',
761
+ },
762
+ {
763
+ value: 'blockchain_node',
764
+ label: 'Blockchain Node',
765
+ hint: 'Blockchain node or validator',
766
+ color: 'bg-emerald-100 text-emerald-800',
767
+ sortOrder: 131,
768
+ group: 'blockchain',
769
+ },
770
+ {
771
+ value: 'iot_gateway',
772
+ label: 'IoT Gateway',
773
+ hint: 'Internet of Things gateway or hub',
774
+ color: 'bg-emerald-100 text-emerald-800',
775
+ sortOrder: 132,
776
+ group: 'iot',
777
+ },
778
+ {
779
+ value: 'edge_computing',
780
+ label: 'Edge Computing',
781
+ hint: 'Edge/fog computing application',
782
+ color: 'bg-emerald-100 text-emerald-800',
783
+ sortOrder: 133,
784
+ group: 'iot',
785
+ },
786
+ {
787
+ value: 'notebook',
788
+ label: 'Notebook',
789
+ hint: 'Jupyter or similar computational notebook',
790
+ color: 'bg-emerald-100 text-emerald-800',
791
+ sortOrder: 134,
792
+ group: 'misc',
793
+ },
794
+ {
795
+ value: 'jupyter_project',
796
+ label: 'Jupyter Project',
797
+ hint: 'Multi-notebook data science project',
798
+ color: 'bg-emerald-100 text-emerald-800',
799
+ sortOrder: 135,
800
+ group: 'misc',
801
+ },
802
+ ];
803
+
804
+ // ── Cloud Providers ────────────────────────────────────────────────────
805
+
806
+ export const MANIFEST_CLOUD_PROVIDER_CATALOG: CatalogEntry[] = [
807
+ {
808
+ value: 'docker',
809
+ label: 'Docker (Local)',
810
+ hint: 'Docker containers for local development',
811
+ color: 'bg-blue-100 text-blue-800',
812
+ sortOrder: 0,
813
+ },
814
+ {
815
+ value: 'aws',
816
+ label: 'Amazon Web Services',
817
+ hint: 'AWS cloud platform',
818
+ color: 'bg-orange-100 text-orange-800',
819
+ sortOrder: 1,
820
+ aliases: ['amazon'],
821
+ },
822
+ {
823
+ value: 'azure',
824
+ label: 'Microsoft Azure',
825
+ hint: 'Azure cloud platform',
826
+ color: 'bg-blue-100 text-blue-800',
827
+ sortOrder: 2,
828
+ aliases: ['microsoft'],
829
+ },
830
+ {
831
+ value: 'gcp',
832
+ label: 'Google Cloud',
833
+ hint: 'Google Cloud Platform',
834
+ color: 'bg-red-100 text-red-800',
835
+ sortOrder: 3,
836
+ aliases: ['google'],
837
+ },
838
+ {
839
+ value: 'digitalocean',
840
+ label: 'DigitalOcean',
841
+ hint: 'Simple cloud hosting',
842
+ color: 'bg-blue-100 text-blue-800',
843
+ sortOrder: 4,
844
+ },
845
+ {
846
+ value: 'oci',
847
+ label: 'Oracle Cloud',
848
+ hint: 'Oracle Cloud Infrastructure',
849
+ color: 'bg-red-100 text-red-800',
850
+ sortOrder: 5,
851
+ aliases: ['oracle'],
852
+ },
853
+ {
854
+ value: 'alibaba',
855
+ label: 'Alibaba Cloud',
856
+ hint: 'Alibaba Cloud (Aliyun)',
857
+ color: 'bg-orange-100 text-orange-800',
858
+ sortOrder: 6,
859
+ aliases: ['aliyun'],
860
+ },
861
+ {
862
+ value: 'heroku',
863
+ label: 'Heroku',
864
+ hint: 'Salesforce PaaS',
865
+ color: 'bg-purple-100 text-purple-800',
866
+ sortOrder: 7,
867
+ },
868
+ {
869
+ value: 'vercel',
870
+ label: 'Vercel',
871
+ hint: 'Frontend hosting and serverless functions',
872
+ color: 'bg-gray-100 text-gray-800',
873
+ sortOrder: 8,
874
+ },
875
+ {
876
+ value: 'netlify',
877
+ label: 'Netlify',
878
+ hint: 'Jamstack hosting and serverless',
879
+ color: 'bg-teal-100 text-teal-800',
880
+ sortOrder: 9,
881
+ },
882
+ {
883
+ value: 'cloudflare',
884
+ label: 'Cloudflare',
885
+ hint: 'Edge compute and Workers',
886
+ color: 'bg-orange-100 text-orange-800',
887
+ sortOrder: 10,
888
+ },
889
+ {
890
+ value: 'fly_io',
891
+ label: 'Fly.io',
892
+ hint: 'Edge-first app hosting',
893
+ color: 'bg-purple-100 text-purple-800',
894
+ sortOrder: 11,
895
+ },
896
+ {
897
+ value: 'render',
898
+ label: 'Render',
899
+ hint: 'Modern PaaS for web services',
900
+ color: 'bg-green-100 text-green-800',
901
+ sortOrder: 12,
902
+ },
903
+ {
904
+ value: 'railway',
905
+ label: 'Railway',
906
+ hint: 'Simple cloud deployment',
907
+ color: 'bg-gray-100 text-gray-800',
908
+ sortOrder: 13,
909
+ },
910
+ {
911
+ value: 'hetzner',
912
+ label: 'Hetzner',
913
+ hint: 'European cloud hosting (bare metal + cloud)',
914
+ color: 'bg-red-100 text-red-800',
915
+ sortOrder: 14,
916
+ },
917
+ {
918
+ value: 'linode',
919
+ label: 'Linode (Akamai)',
920
+ hint: 'Linux cloud hosting',
921
+ color: 'bg-green-100 text-green-800',
922
+ sortOrder: 15,
923
+ },
924
+ {
925
+ value: 'vultr',
926
+ label: 'Vultr',
927
+ hint: 'Cloud compute and bare metal',
928
+ color: 'bg-blue-100 text-blue-800',
929
+ sortOrder: 16,
930
+ },
931
+ {
932
+ value: 'scaleway',
933
+ label: 'Scaleway',
934
+ hint: 'European cloud hosting',
935
+ color: 'bg-purple-100 text-purple-800',
936
+ sortOrder: 17,
937
+ },
938
+ {
939
+ value: 'self_hosted',
940
+ label: 'Self-Hosted',
941
+ hint: 'On-premises or custom infrastructure',
942
+ color: 'bg-gray-100 text-gray-800',
943
+ sortOrder: 18,
944
+ },
945
+ ];
946
+
947
+ // ── Resource Types ─────────────────────────────────────────────────────
948
+
949
+ export const MANIFEST_RESOURCE_TYPE_CATALOG: CatalogEntry[] = [
950
+ // Databases
951
+ {
952
+ value: 'database/postgresql',
953
+ label: 'PostgreSQL',
954
+ hint: 'Relational database',
955
+ color: 'bg-blue-100 text-blue-800',
956
+ sortOrder: 0,
957
+ group: 'database',
958
+ aliases: ['postgres'],
959
+ },
960
+ {
961
+ value: 'database/mysql',
962
+ label: 'MySQL',
963
+ hint: 'Relational database',
964
+ color: 'bg-blue-100 text-blue-800',
965
+ sortOrder: 1,
966
+ group: 'database',
967
+ },
968
+ {
969
+ value: 'database/mariadb',
970
+ label: 'MariaDB',
971
+ hint: 'MySQL fork',
972
+ color: 'bg-blue-100 text-blue-800',
973
+ sortOrder: 2,
974
+ group: 'database',
975
+ },
976
+ {
977
+ value: 'database/mongodb',
978
+ label: 'MongoDB',
979
+ hint: 'Document database',
980
+ color: 'bg-green-100 text-green-800',
981
+ sortOrder: 3,
982
+ group: 'database',
983
+ aliases: ['mongo'],
984
+ },
985
+ {
986
+ value: 'database/dynamodb',
987
+ label: 'DynamoDB',
988
+ hint: 'AWS NoSQL database',
989
+ color: 'bg-orange-100 text-orange-800',
990
+ sortOrder: 4,
991
+ group: 'database',
992
+ },
993
+ {
994
+ value: 'database/cosmosdb',
995
+ label: 'CosmosDB',
996
+ hint: 'Azure multi-model database',
997
+ color: 'bg-blue-100 text-blue-800',
998
+ sortOrder: 5,
999
+ group: 'database',
1000
+ },
1001
+ {
1002
+ value: 'database/cockroachdb',
1003
+ label: 'CockroachDB',
1004
+ hint: 'Distributed SQL database',
1005
+ color: 'bg-blue-100 text-blue-800',
1006
+ sortOrder: 6,
1007
+ group: 'database',
1008
+ },
1009
+ {
1010
+ value: 'database/sqlite',
1011
+ label: 'SQLite',
1012
+ hint: 'Embedded file-based database',
1013
+ color: 'bg-gray-100 text-gray-800',
1014
+ sortOrder: 7,
1015
+ group: 'database',
1016
+ },
1017
+ {
1018
+ value: 'database/neo4j',
1019
+ label: 'Neo4j',
1020
+ hint: 'Graph database',
1021
+ color: 'bg-blue-100 text-blue-800',
1022
+ sortOrder: 8,
1023
+ group: 'database',
1024
+ },
1025
+ {
1026
+ value: 'database/cassandra',
1027
+ label: 'Cassandra',
1028
+ hint: 'Wide-column distributed database',
1029
+ color: 'bg-blue-100 text-blue-800',
1030
+ sortOrder: 9,
1031
+ group: 'database',
1032
+ },
1033
+ {
1034
+ value: 'database/scylladb',
1035
+ label: 'ScyllaDB',
1036
+ hint: 'C++ Cassandra-compatible database',
1037
+ color: 'bg-blue-100 text-blue-800',
1038
+ sortOrder: 10,
1039
+ group: 'database',
1040
+ },
1041
+ {
1042
+ value: 'database/couchdb',
1043
+ label: 'CouchDB',
1044
+ hint: 'Apache document database',
1045
+ color: 'bg-red-100 text-red-800',
1046
+ sortOrder: 11,
1047
+ group: 'database',
1048
+ },
1049
+ {
1050
+ value: 'database/firestore',
1051
+ label: 'Firestore',
1052
+ hint: 'Google Cloud document database',
1053
+ color: 'bg-orange-100 text-orange-800',
1054
+ sortOrder: 12,
1055
+ group: 'database',
1056
+ },
1057
+ {
1058
+ value: 'database/supabase',
1059
+ label: 'Supabase',
1060
+ hint: 'PostgreSQL-based BaaS',
1061
+ color: 'bg-green-100 text-green-800',
1062
+ sortOrder: 13,
1063
+ group: 'database',
1064
+ },
1065
+ {
1066
+ value: 'database/planetscale',
1067
+ label: 'PlanetScale',
1068
+ hint: 'Serverless MySQL (Vitess)',
1069
+ color: 'bg-gray-100 text-gray-800',
1070
+ sortOrder: 14,
1071
+ group: 'database',
1072
+ },
1073
+ {
1074
+ value: 'database/neon',
1075
+ label: 'Neon',
1076
+ hint: 'Serverless PostgreSQL',
1077
+ color: 'bg-green-100 text-green-800',
1078
+ sortOrder: 15,
1079
+ group: 'database',
1080
+ },
1081
+ {
1082
+ value: 'database/timescaledb',
1083
+ label: 'TimescaleDB',
1084
+ hint: 'Time-series PostgreSQL extension',
1085
+ color: 'bg-blue-100 text-blue-800',
1086
+ sortOrder: 16,
1087
+ group: 'database',
1088
+ },
1089
+ {
1090
+ value: 'database/clickhouse',
1091
+ label: 'ClickHouse',
1092
+ hint: 'Column-oriented analytics database',
1093
+ color: 'bg-yellow-100 text-yellow-800',
1094
+ sortOrder: 17,
1095
+ group: 'database',
1096
+ },
1097
+ // Caches
1098
+ {
1099
+ value: 'cache/redis',
1100
+ label: 'Redis',
1101
+ hint: 'In-memory data store',
1102
+ color: 'bg-red-100 text-red-800',
1103
+ sortOrder: 20,
1104
+ group: 'cache',
1105
+ },
1106
+ {
1107
+ value: 'cache/memcached',
1108
+ label: 'Memcached',
1109
+ hint: 'Distributed memory cache',
1110
+ color: 'bg-gray-100 text-gray-800',
1111
+ sortOrder: 21,
1112
+ group: 'cache',
1113
+ },
1114
+ {
1115
+ value: 'cache/valkey',
1116
+ label: 'Valkey',
1117
+ hint: 'Redis OSS fork',
1118
+ color: 'bg-red-100 text-red-800',
1119
+ sortOrder: 22,
1120
+ group: 'cache',
1121
+ },
1122
+ {
1123
+ value: 'cache/dragonfly',
1124
+ label: 'Dragonfly',
1125
+ hint: 'Redis-compatible in-memory store',
1126
+ color: 'bg-blue-100 text-blue-800',
1127
+ sortOrder: 23,
1128
+ group: 'cache',
1129
+ },
1130
+ {
1131
+ value: 'cache/hazelcast',
1132
+ label: 'Hazelcast',
1133
+ hint: 'Distributed in-memory computing',
1134
+ color: 'bg-blue-100 text-blue-800',
1135
+ sortOrder: 24,
1136
+ group: 'cache',
1137
+ },
1138
+ // Queues & Messaging
1139
+ {
1140
+ value: 'queue/rabbitmq',
1141
+ label: 'RabbitMQ',
1142
+ hint: 'AMQP message broker',
1143
+ color: 'bg-orange-100 text-orange-800',
1144
+ sortOrder: 30,
1145
+ group: 'queue',
1146
+ },
1147
+ {
1148
+ value: 'queue/kafka',
1149
+ label: 'Apache Kafka',
1150
+ hint: 'Distributed event streaming',
1151
+ color: 'bg-gray-100 text-gray-800',
1152
+ sortOrder: 31,
1153
+ group: 'queue',
1154
+ },
1155
+ {
1156
+ value: 'queue/sqs',
1157
+ label: 'AWS SQS',
1158
+ hint: 'Managed message queue',
1159
+ color: 'bg-orange-100 text-orange-800',
1160
+ sortOrder: 32,
1161
+ group: 'queue',
1162
+ },
1163
+ {
1164
+ value: 'queue/pubsub',
1165
+ label: 'Google Pub/Sub',
1166
+ hint: 'GCP messaging service',
1167
+ color: 'bg-red-100 text-red-800',
1168
+ sortOrder: 33,
1169
+ group: 'queue',
1170
+ },
1171
+ {
1172
+ value: 'queue/nats',
1173
+ label: 'NATS',
1174
+ hint: 'Cloud-native messaging system',
1175
+ color: 'bg-green-100 text-green-800',
1176
+ sortOrder: 34,
1177
+ group: 'queue',
1178
+ },
1179
+ {
1180
+ value: 'queue/redis_streams',
1181
+ label: 'Redis Streams',
1182
+ hint: 'Redis-based message streaming',
1183
+ color: 'bg-red-100 text-red-800',
1184
+ sortOrder: 35,
1185
+ group: 'queue',
1186
+ },
1187
+ {
1188
+ value: 'queue/azure_service_bus',
1189
+ label: 'Azure Service Bus',
1190
+ hint: 'Azure enterprise message broker',
1191
+ color: 'bg-blue-100 text-blue-800',
1192
+ sortOrder: 36,
1193
+ group: 'queue',
1194
+ },
1195
+ {
1196
+ value: 'queue/eventbridge',
1197
+ label: 'AWS EventBridge',
1198
+ hint: 'Serverless event bus',
1199
+ color: 'bg-orange-100 text-orange-800',
1200
+ sortOrder: 37,
1201
+ group: 'queue',
1202
+ },
1203
+ {
1204
+ value: 'queue/zeromq',
1205
+ label: 'ZeroMQ',
1206
+ hint: 'Lightweight messaging library',
1207
+ color: 'bg-gray-100 text-gray-800',
1208
+ sortOrder: 38,
1209
+ group: 'queue',
1210
+ },
1211
+ {
1212
+ value: 'queue/pulsar',
1213
+ label: 'Apache Pulsar',
1214
+ hint: 'Multi-tenant messaging system',
1215
+ color: 'bg-blue-100 text-blue-800',
1216
+ sortOrder: 39,
1217
+ group: 'queue',
1218
+ },
1219
+ {
1220
+ value: 'queue/activemq',
1221
+ label: 'Apache ActiveMQ',
1222
+ hint: 'Java message broker',
1223
+ color: 'bg-red-100 text-red-800',
1224
+ sortOrder: 40,
1225
+ group: 'queue',
1226
+ },
1227
+ // Object Storage — abbreviated for key entries
1228
+ {
1229
+ value: 'storage/s3',
1230
+ label: 'AWS S3',
1231
+ hint: 'Object storage',
1232
+ color: 'bg-orange-100 text-orange-800',
1233
+ sortOrder: 50,
1234
+ group: 'storage',
1235
+ },
1236
+ {
1237
+ value: 'storage/gcs',
1238
+ label: 'Google Cloud Storage',
1239
+ hint: 'Object storage',
1240
+ color: 'bg-red-100 text-red-800',
1241
+ sortOrder: 51,
1242
+ group: 'storage',
1243
+ },
1244
+ {
1245
+ value: 'storage/azure_blob',
1246
+ label: 'Azure Blob Storage',
1247
+ hint: 'Object storage',
1248
+ color: 'bg-blue-100 text-blue-800',
1249
+ sortOrder: 52,
1250
+ group: 'storage',
1251
+ },
1252
+ {
1253
+ value: 'storage/minio',
1254
+ label: 'MinIO',
1255
+ hint: 'S3-compatible object storage',
1256
+ color: 'bg-red-100 text-red-800',
1257
+ sortOrder: 53,
1258
+ group: 'storage',
1259
+ },
1260
+ {
1261
+ value: 'storage/r2',
1262
+ label: 'Cloudflare R2',
1263
+ hint: 'S3-compatible object storage',
1264
+ color: 'bg-orange-100 text-orange-800',
1265
+ sortOrder: 54,
1266
+ group: 'storage',
1267
+ },
1268
+ {
1269
+ value: 'storage/backblaze',
1270
+ label: 'Backblaze B2',
1271
+ hint: 'S3-compatible object storage',
1272
+ color: 'bg-red-100 text-red-800',
1273
+ sortOrder: 55,
1274
+ group: 'storage',
1275
+ },
1276
+ // Identity & Auth
1277
+ {
1278
+ value: 'identity/keycloak',
1279
+ label: 'Keycloak',
1280
+ hint: 'Open-source IAM',
1281
+ color: 'bg-gray-100 text-gray-800',
1282
+ sortOrder: 60,
1283
+ group: 'identity',
1284
+ },
1285
+ {
1286
+ value: 'identity/auth0',
1287
+ label: 'Auth0',
1288
+ hint: 'Identity platform',
1289
+ color: 'bg-gray-100 text-gray-800',
1290
+ sortOrder: 61,
1291
+ group: 'identity',
1292
+ },
1293
+ {
1294
+ value: 'identity/cognito',
1295
+ label: 'AWS Cognito',
1296
+ hint: 'AWS identity service',
1297
+ color: 'bg-orange-100 text-orange-800',
1298
+ sortOrder: 62,
1299
+ group: 'identity',
1300
+ },
1301
+ // Search
1302
+ {
1303
+ value: 'search/elasticsearch',
1304
+ label: 'Elasticsearch',
1305
+ hint: 'Full-text search engine',
1306
+ color: 'bg-yellow-100 text-yellow-800',
1307
+ sortOrder: 70,
1308
+ group: 'search',
1309
+ },
1310
+ {
1311
+ value: 'search/opensearch',
1312
+ label: 'OpenSearch',
1313
+ hint: 'Elasticsearch fork',
1314
+ color: 'bg-blue-100 text-blue-800',
1315
+ sortOrder: 71,
1316
+ group: 'search',
1317
+ },
1318
+ {
1319
+ value: 'search/meilisearch',
1320
+ label: 'Meilisearch',
1321
+ hint: 'Lightweight search engine',
1322
+ color: 'bg-purple-100 text-purple-800',
1323
+ sortOrder: 72,
1324
+ group: 'search',
1325
+ },
1326
+ {
1327
+ value: 'search/algolia',
1328
+ label: 'Algolia',
1329
+ hint: 'Hosted search API',
1330
+ color: 'bg-blue-100 text-blue-800',
1331
+ sortOrder: 73,
1332
+ group: 'search',
1333
+ },
1334
+ {
1335
+ value: 'search/typesense',
1336
+ label: 'Typesense',
1337
+ hint: 'Open-source search engine',
1338
+ color: 'bg-blue-100 text-blue-800',
1339
+ sortOrder: 74,
1340
+ group: 'search',
1341
+ },
1342
+ {
1343
+ value: 'search/solr',
1344
+ label: 'Apache Solr',
1345
+ hint: 'Enterprise search platform',
1346
+ color: 'bg-orange-100 text-orange-800',
1347
+ sortOrder: 75,
1348
+ group: 'search',
1349
+ },
1350
+ // Identity & Auth (continued)
1351
+ {
1352
+ value: 'identity/firebase_auth',
1353
+ label: 'Firebase Auth',
1354
+ hint: 'Google Firebase authentication',
1355
+ color: 'bg-orange-100 text-orange-800',
1356
+ sortOrder: 63,
1357
+ group: 'identity',
1358
+ },
1359
+ {
1360
+ value: 'identity/okta',
1361
+ label: 'Okta',
1362
+ hint: 'Enterprise identity provider',
1363
+ color: 'bg-blue-100 text-blue-800',
1364
+ sortOrder: 64,
1365
+ group: 'identity',
1366
+ },
1367
+ {
1368
+ value: 'identity/supertokens',
1369
+ label: 'SuperTokens',
1370
+ hint: 'Open-source auth solution',
1371
+ color: 'bg-orange-100 text-orange-800',
1372
+ sortOrder: 65,
1373
+ group: 'identity',
1374
+ },
1375
+ {
1376
+ value: 'identity/clerk',
1377
+ label: 'Clerk',
1378
+ hint: 'Developer-first auth platform',
1379
+ color: 'bg-purple-100 text-purple-800',
1380
+ sortOrder: 66,
1381
+ group: 'identity',
1382
+ },
1383
+ {
1384
+ value: 'identity/zitadel',
1385
+ label: 'Zitadel',
1386
+ hint: 'Open-source identity management',
1387
+ color: 'bg-blue-100 text-blue-800',
1388
+ sortOrder: 67,
1389
+ group: 'identity',
1390
+ },
1391
+ // CDN
1392
+ {
1393
+ value: 'cdn/cloudfront',
1394
+ label: 'AWS CloudFront',
1395
+ hint: 'AWS content delivery network',
1396
+ color: 'bg-orange-100 text-orange-800',
1397
+ sortOrder: 80,
1398
+ group: 'cdn',
1399
+ },
1400
+ {
1401
+ value: 'cdn/cloudflare',
1402
+ label: 'Cloudflare CDN',
1403
+ hint: 'Global CDN & security',
1404
+ color: 'bg-orange-100 text-orange-800',
1405
+ sortOrder: 81,
1406
+ group: 'cdn',
1407
+ },
1408
+ {
1409
+ value: 'cdn/akamai',
1410
+ label: 'Akamai',
1411
+ hint: 'Enterprise CDN provider',
1412
+ color: 'bg-blue-100 text-blue-800',
1413
+ sortOrder: 82,
1414
+ group: 'cdn',
1415
+ },
1416
+ {
1417
+ value: 'cdn/fastly',
1418
+ label: 'Fastly',
1419
+ hint: 'Edge cloud CDN',
1420
+ color: 'bg-red-100 text-red-800',
1421
+ sortOrder: 83,
1422
+ group: 'cdn',
1423
+ },
1424
+ {
1425
+ value: 'cdn/azure_cdn',
1426
+ label: 'Azure CDN',
1427
+ hint: 'Microsoft CDN service',
1428
+ color: 'bg-blue-100 text-blue-800',
1429
+ sortOrder: 84,
1430
+ group: 'cdn',
1431
+ },
1432
+ // DNS
1433
+ {
1434
+ value: 'dns/route53',
1435
+ label: 'AWS Route 53',
1436
+ hint: 'AWS DNS service',
1437
+ color: 'bg-orange-100 text-orange-800',
1438
+ sortOrder: 90,
1439
+ group: 'dns',
1440
+ },
1441
+ {
1442
+ value: 'dns/cloudflare_dns',
1443
+ label: 'Cloudflare DNS',
1444
+ hint: 'Cloudflare DNS service',
1445
+ color: 'bg-orange-100 text-orange-800',
1446
+ sortOrder: 91,
1447
+ group: 'dns',
1448
+ },
1449
+ {
1450
+ value: 'dns/azure_dns',
1451
+ label: 'Azure DNS',
1452
+ hint: 'Microsoft DNS service',
1453
+ color: 'bg-blue-100 text-blue-800',
1454
+ sortOrder: 92,
1455
+ group: 'dns',
1456
+ },
1457
+ // Email
1458
+ {
1459
+ value: 'email/ses',
1460
+ label: 'AWS SES',
1461
+ hint: 'Amazon Simple Email Service',
1462
+ color: 'bg-orange-100 text-orange-800',
1463
+ sortOrder: 100,
1464
+ group: 'email',
1465
+ },
1466
+ {
1467
+ value: 'email/sendgrid',
1468
+ label: 'SendGrid',
1469
+ hint: 'Email delivery service',
1470
+ color: 'bg-blue-100 text-blue-800',
1471
+ sortOrder: 101,
1472
+ group: 'email',
1473
+ },
1474
+ {
1475
+ value: 'email/mailgun',
1476
+ label: 'Mailgun',
1477
+ hint: 'Email API service',
1478
+ color: 'bg-red-100 text-red-800',
1479
+ sortOrder: 102,
1480
+ group: 'email',
1481
+ },
1482
+ {
1483
+ value: 'email/postmark',
1484
+ label: 'Postmark',
1485
+ hint: 'Transactional email',
1486
+ color: 'bg-yellow-100 text-yellow-800',
1487
+ sortOrder: 103,
1488
+ group: 'email',
1489
+ },
1490
+ {
1491
+ value: 'email/resend',
1492
+ label: 'Resend',
1493
+ hint: 'Modern email API',
1494
+ color: 'bg-gray-100 text-gray-800',
1495
+ sortOrder: 104,
1496
+ group: 'email',
1497
+ },
1498
+ // Container Registries
1499
+ {
1500
+ value: 'container_registry/ecr',
1501
+ label: 'AWS ECR',
1502
+ hint: 'Amazon container registry',
1503
+ color: 'bg-orange-100 text-orange-800',
1504
+ sortOrder: 110,
1505
+ group: 'container_registry',
1506
+ },
1507
+ {
1508
+ value: 'container_registry/gcr',
1509
+ label: 'Google GCR',
1510
+ hint: 'Google container registry',
1511
+ color: 'bg-red-100 text-red-800',
1512
+ sortOrder: 111,
1513
+ group: 'container_registry',
1514
+ },
1515
+ {
1516
+ value: 'container_registry/acr',
1517
+ label: 'Azure ACR',
1518
+ hint: 'Azure container registry',
1519
+ color: 'bg-blue-100 text-blue-800',
1520
+ sortOrder: 112,
1521
+ group: 'container_registry',
1522
+ },
1523
+ {
1524
+ value: 'container_registry/ghcr',
1525
+ label: 'GitHub GHCR',
1526
+ hint: 'GitHub container registry',
1527
+ color: 'bg-gray-100 text-gray-800',
1528
+ sortOrder: 113,
1529
+ group: 'container_registry',
1530
+ },
1531
+ {
1532
+ value: 'container_registry/dockerhub',
1533
+ label: 'Docker Hub',
1534
+ hint: 'Docker container registry',
1535
+ color: 'bg-blue-100 text-blue-800',
1536
+ sortOrder: 114,
1537
+ group: 'container_registry',
1538
+ },
1539
+ // Secrets Management
1540
+ {
1541
+ value: 'secrets/vault',
1542
+ label: 'HashiCorp Vault',
1543
+ hint: 'Secrets management & encryption',
1544
+ color: 'bg-gray-100 text-gray-800',
1545
+ sortOrder: 120,
1546
+ group: 'secrets',
1547
+ },
1548
+ {
1549
+ value: 'secrets/aws_secrets_manager',
1550
+ label: 'AWS Secrets Manager',
1551
+ hint: 'AWS secrets storage',
1552
+ color: 'bg-orange-100 text-orange-800',
1553
+ sortOrder: 121,
1554
+ group: 'secrets',
1555
+ },
1556
+ {
1557
+ value: 'secrets/azure_key_vault',
1558
+ label: 'Azure Key Vault',
1559
+ hint: 'Azure secrets & keys',
1560
+ color: 'bg-blue-100 text-blue-800',
1561
+ sortOrder: 122,
1562
+ group: 'secrets',
1563
+ },
1564
+ {
1565
+ value: 'secrets/gcp_secret_manager',
1566
+ label: 'GCP Secret Manager',
1567
+ hint: 'Google Cloud secrets',
1568
+ color: 'bg-red-100 text-red-800',
1569
+ sortOrder: 123,
1570
+ group: 'secrets',
1571
+ },
1572
+ {
1573
+ value: 'secrets/doppler',
1574
+ label: 'Doppler',
1575
+ hint: 'Universal secrets manager',
1576
+ color: 'bg-purple-100 text-purple-800',
1577
+ sortOrder: 124,
1578
+ group: 'secrets',
1579
+ },
1580
+ {
1581
+ value: 'secrets/infisical',
1582
+ label: 'Infisical',
1583
+ hint: 'Open-source secrets management',
1584
+ color: 'bg-green-100 text-green-800',
1585
+ sortOrder: 125,
1586
+ group: 'secrets',
1587
+ },
1588
+ // Monitoring
1589
+ {
1590
+ value: 'monitoring/prometheus',
1591
+ label: 'Prometheus',
1592
+ hint: 'Metrics monitoring system',
1593
+ color: 'bg-orange-100 text-orange-800',
1594
+ sortOrder: 130,
1595
+ group: 'monitoring',
1596
+ },
1597
+ {
1598
+ value: 'monitoring/grafana',
1599
+ label: 'Grafana',
1600
+ hint: 'Observability dashboards',
1601
+ color: 'bg-orange-100 text-orange-800',
1602
+ sortOrder: 131,
1603
+ group: 'monitoring',
1604
+ },
1605
+ {
1606
+ value: 'monitoring/datadog',
1607
+ label: 'Datadog',
1608
+ hint: 'Cloud monitoring platform',
1609
+ color: 'bg-purple-100 text-purple-800',
1610
+ sortOrder: 132,
1611
+ group: 'monitoring',
1612
+ },
1613
+ {
1614
+ value: 'monitoring/newrelic',
1615
+ label: 'New Relic',
1616
+ hint: 'Observability platform',
1617
+ color: 'bg-green-100 text-green-800',
1618
+ sortOrder: 133,
1619
+ group: 'monitoring',
1620
+ },
1621
+ {
1622
+ value: 'monitoring/dynatrace',
1623
+ label: 'Dynatrace',
1624
+ hint: 'AIOps monitoring',
1625
+ color: 'bg-blue-100 text-blue-800',
1626
+ sortOrder: 134,
1627
+ group: 'monitoring',
1628
+ },
1629
+ {
1630
+ value: 'monitoring/elastic_apm',
1631
+ label: 'Elastic APM',
1632
+ hint: 'Elastic application performance',
1633
+ color: 'bg-yellow-100 text-yellow-800',
1634
+ sortOrder: 135,
1635
+ group: 'monitoring',
1636
+ },
1637
+ // Logging
1638
+ {
1639
+ value: 'logging/elasticsearch',
1640
+ label: 'Elasticsearch (Logging)',
1641
+ hint: 'Log storage & search',
1642
+ color: 'bg-yellow-100 text-yellow-800',
1643
+ sortOrder: 140,
1644
+ group: 'logging',
1645
+ },
1646
+ {
1647
+ value: 'logging/loki',
1648
+ label: 'Grafana Loki',
1649
+ hint: 'Log aggregation system',
1650
+ color: 'bg-orange-100 text-orange-800',
1651
+ sortOrder: 141,
1652
+ group: 'logging',
1653
+ },
1654
+ {
1655
+ value: 'logging/cloudwatch',
1656
+ label: 'AWS CloudWatch',
1657
+ hint: 'AWS logs & metrics',
1658
+ color: 'bg-orange-100 text-orange-800',
1659
+ sortOrder: 142,
1660
+ group: 'logging',
1661
+ },
1662
+ {
1663
+ value: 'logging/fluentd',
1664
+ label: 'Fluentd',
1665
+ hint: 'Log collector & forwarder',
1666
+ color: 'bg-blue-100 text-blue-800',
1667
+ sortOrder: 143,
1668
+ group: 'logging',
1669
+ },
1670
+ {
1671
+ value: 'logging/vector',
1672
+ label: 'Vector',
1673
+ hint: 'High-performance log pipeline',
1674
+ color: 'bg-purple-100 text-purple-800',
1675
+ sortOrder: 144,
1676
+ group: 'logging',
1677
+ },
1678
+ // Tracing
1679
+ {
1680
+ value: 'tracing/jaeger',
1681
+ label: 'Jaeger',
1682
+ hint: 'Distributed tracing system',
1683
+ color: 'bg-blue-100 text-blue-800',
1684
+ sortOrder: 150,
1685
+ group: 'tracing',
1686
+ },
1687
+ {
1688
+ value: 'tracing/zipkin',
1689
+ label: 'Zipkin',
1690
+ hint: 'Distributed tracing system',
1691
+ color: 'bg-orange-100 text-orange-800',
1692
+ sortOrder: 151,
1693
+ group: 'tracing',
1694
+ },
1695
+ {
1696
+ value: 'tracing/tempo',
1697
+ label: 'Grafana Tempo',
1698
+ hint: 'High-volume tracing backend',
1699
+ color: 'bg-orange-100 text-orange-800',
1700
+ sortOrder: 152,
1701
+ group: 'tracing',
1702
+ },
1703
+ // Compute
1704
+ {
1705
+ value: 'compute/kubernetes',
1706
+ label: 'Kubernetes',
1707
+ hint: 'Container orchestration',
1708
+ color: 'bg-blue-100 text-blue-800',
1709
+ sortOrder: 160,
1710
+ group: 'compute',
1711
+ },
1712
+ {
1713
+ value: 'compute/ecs',
1714
+ label: 'AWS ECS',
1715
+ hint: 'Amazon container service',
1716
+ color: 'bg-orange-100 text-orange-800',
1717
+ sortOrder: 161,
1718
+ group: 'compute',
1719
+ },
1720
+ {
1721
+ value: 'compute/cloud_run',
1722
+ label: 'Google Cloud Run',
1723
+ hint: 'Serverless containers',
1724
+ color: 'bg-red-100 text-red-800',
1725
+ sortOrder: 162,
1726
+ group: 'compute',
1727
+ },
1728
+ {
1729
+ value: 'compute/lambda',
1730
+ label: 'AWS Lambda',
1731
+ hint: 'Serverless functions',
1732
+ color: 'bg-orange-100 text-orange-800',
1733
+ sortOrder: 163,
1734
+ group: 'compute',
1735
+ },
1736
+ {
1737
+ value: 'compute/azure_functions',
1738
+ label: 'Azure Functions',
1739
+ hint: 'Serverless functions',
1740
+ color: 'bg-blue-100 text-blue-800',
1741
+ sortOrder: 164,
1742
+ group: 'compute',
1743
+ },
1744
+ {
1745
+ value: 'compute/gcp_functions',
1746
+ label: 'GCP Cloud Functions',
1747
+ hint: 'Google serverless functions',
1748
+ color: 'bg-red-100 text-red-800',
1749
+ sortOrder: 165,
1750
+ group: 'compute',
1751
+ },
1752
+ {
1753
+ value: 'compute/fargate',
1754
+ label: 'AWS Fargate',
1755
+ hint: 'Serverless container compute',
1756
+ color: 'bg-orange-100 text-orange-800',
1757
+ sortOrder: 166,
1758
+ group: 'compute',
1759
+ },
1760
+ {
1761
+ value: 'compute/app_runner',
1762
+ label: 'AWS App Runner',
1763
+ hint: 'Container app hosting',
1764
+ color: 'bg-orange-100 text-orange-800',
1765
+ sortOrder: 167,
1766
+ group: 'compute',
1767
+ },
1768
+ {
1769
+ value: 'compute/fly_io',
1770
+ label: 'Fly.io',
1771
+ hint: 'Edge application platform',
1772
+ color: 'bg-purple-100 text-purple-800',
1773
+ sortOrder: 168,
1774
+ group: 'compute',
1775
+ },
1776
+ // Network
1777
+ {
1778
+ value: 'network/vpc',
1779
+ label: 'VPC',
1780
+ hint: 'Virtual private cloud',
1781
+ color: 'bg-blue-100 text-blue-800',
1782
+ sortOrder: 170,
1783
+ group: 'network',
1784
+ },
1785
+ {
1786
+ value: 'network/vnet',
1787
+ label: 'Azure VNet',
1788
+ hint: 'Azure virtual network',
1789
+ color: 'bg-blue-100 text-blue-800',
1790
+ sortOrder: 171,
1791
+ group: 'network',
1792
+ },
1793
+ {
1794
+ value: 'network/load_balancer',
1795
+ label: 'Load Balancer',
1796
+ hint: 'Network load balancer',
1797
+ color: 'bg-blue-100 text-blue-800',
1798
+ sortOrder: 172,
1799
+ group: 'network',
1800
+ },
1801
+ {
1802
+ value: 'network/api_gateway',
1803
+ label: 'API Gateway',
1804
+ hint: 'API management gateway',
1805
+ color: 'bg-blue-100 text-blue-800',
1806
+ sortOrder: 173,
1807
+ group: 'network',
1808
+ },
1809
+ {
1810
+ value: 'network/service_mesh',
1811
+ label: 'Service Mesh',
1812
+ hint: 'Service-to-service networking (Istio, Linkerd)',
1813
+ color: 'bg-green-100 text-green-800',
1814
+ sortOrder: 174,
1815
+ group: 'network',
1816
+ },
1817
+ {
1818
+ value: 'network/waf',
1819
+ label: 'WAF',
1820
+ hint: 'Web application firewall',
1821
+ color: 'bg-red-100 text-red-800',
1822
+ sortOrder: 175,
1823
+ group: 'network',
1824
+ },
1825
+ // ML / AI
1826
+ {
1827
+ value: 'ml/sagemaker',
1828
+ label: 'AWS SageMaker',
1829
+ hint: 'ML model training & hosting',
1830
+ color: 'bg-orange-100 text-orange-800',
1831
+ sortOrder: 180,
1832
+ group: 'ml',
1833
+ },
1834
+ {
1835
+ value: 'ml/vertex_ai',
1836
+ label: 'Google Vertex AI',
1837
+ hint: 'GCP ML platform',
1838
+ color: 'bg-red-100 text-red-800',
1839
+ sortOrder: 181,
1840
+ group: 'ml',
1841
+ },
1842
+ {
1843
+ value: 'ml/azure_ml',
1844
+ label: 'Azure ML',
1845
+ hint: 'Microsoft ML service',
1846
+ color: 'bg-blue-100 text-blue-800',
1847
+ sortOrder: 182,
1848
+ group: 'ml',
1849
+ },
1850
+ {
1851
+ value: 'ml/bedrock',
1852
+ label: 'AWS Bedrock',
1853
+ hint: 'Foundation model service',
1854
+ color: 'bg-orange-100 text-orange-800',
1855
+ sortOrder: 183,
1856
+ group: 'ml',
1857
+ },
1858
+ {
1859
+ value: 'ml/gpu_cluster',
1860
+ label: 'GPU Cluster',
1861
+ hint: 'Dedicated GPU compute cluster',
1862
+ color: 'bg-gray-100 text-gray-800',
1863
+ sortOrder: 184,
1864
+ group: 'ml',
1865
+ },
1866
+ // Block Storage
1867
+ {
1868
+ value: 'block_storage/ebs',
1869
+ label: 'AWS EBS',
1870
+ hint: 'Amazon block storage',
1871
+ color: 'bg-orange-100 text-orange-800',
1872
+ sortOrder: 190,
1873
+ group: 'block_storage',
1874
+ },
1875
+ {
1876
+ value: 'block_storage/persistent_disk',
1877
+ label: 'GCP Persistent Disk',
1878
+ hint: 'Google block storage',
1879
+ color: 'bg-red-100 text-red-800',
1880
+ sortOrder: 191,
1881
+ group: 'block_storage',
1882
+ },
1883
+ {
1884
+ value: 'block_storage/azure_disk',
1885
+ label: 'Azure Disk',
1886
+ hint: 'Azure managed disk',
1887
+ color: 'bg-blue-100 text-blue-800',
1888
+ sortOrder: 192,
1889
+ group: 'block_storage',
1890
+ },
1891
+ // Filesystem
1892
+ {
1893
+ value: 'filesystem/efs',
1894
+ label: 'AWS EFS',
1895
+ hint: 'Amazon elastic file system',
1896
+ color: 'bg-orange-100 text-orange-800',
1897
+ sortOrder: 200,
1898
+ group: 'filesystem',
1899
+ },
1900
+ {
1901
+ value: 'filesystem/filestore',
1902
+ label: 'GCP Filestore',
1903
+ hint: 'Google managed NFS',
1904
+ color: 'bg-red-100 text-red-800',
1905
+ sortOrder: 201,
1906
+ group: 'filesystem',
1907
+ },
1908
+ {
1909
+ value: 'filesystem/azure_files',
1910
+ label: 'Azure Files',
1911
+ hint: 'Azure managed file shares',
1912
+ color: 'bg-blue-100 text-blue-800',
1913
+ sortOrder: 202,
1914
+ group: 'filesystem',
1915
+ },
1916
+ ];
1917
+
1918
+ // ── Languages ──────────────────────────────────────────────────────────
1919
+
1920
+ export const MANIFEST_LANGUAGE_CATALOG: CatalogEntry[] = [
1921
+ // Web / TypeScript / JavaScript
1922
+ {
1923
+ value: 'typescript',
1924
+ label: 'TypeScript',
1925
+ hint: 'Typed superset of JavaScript',
1926
+ color: 'bg-blue-100 text-blue-800',
1927
+ sortOrder: 0,
1928
+ group: 'web',
1929
+ },
1930
+ {
1931
+ value: 'javascript',
1932
+ label: 'JavaScript',
1933
+ hint: 'Dynamic web/server language',
1934
+ color: 'bg-yellow-100 text-yellow-800',
1935
+ sortOrder: 1,
1936
+ group: 'web',
1937
+ },
1938
+ // Python
1939
+ {
1940
+ value: 'python',
1941
+ label: 'Python',
1942
+ hint: 'General-purpose high-level language',
1943
+ color: 'bg-blue-100 text-blue-800',
1944
+ sortOrder: 2,
1945
+ group: 'python',
1946
+ },
1947
+ // JVM
1948
+ {
1949
+ value: 'java',
1950
+ label: 'Java',
1951
+ hint: 'Enterprise JVM language',
1952
+ color: 'bg-red-100 text-red-800',
1953
+ sortOrder: 3,
1954
+ group: 'jvm',
1955
+ },
1956
+ {
1957
+ value: 'kotlin',
1958
+ label: 'Kotlin',
1959
+ hint: 'Modern JVM/Android language',
1960
+ color: 'bg-purple-100 text-purple-800',
1961
+ sortOrder: 4,
1962
+ group: 'jvm',
1963
+ },
1964
+ {
1965
+ value: 'scala',
1966
+ label: 'Scala',
1967
+ hint: 'Functional JVM language',
1968
+ color: 'bg-red-100 text-red-800',
1969
+ sortOrder: 5,
1970
+ group: 'jvm',
1971
+ },
1972
+ {
1973
+ value: 'groovy',
1974
+ label: 'Groovy',
1975
+ hint: 'Scripting JVM language',
1976
+ color: 'bg-blue-100 text-blue-800',
1977
+ sortOrder: 6,
1978
+ group: 'jvm',
1979
+ },
1980
+ {
1981
+ value: 'clojure',
1982
+ label: 'Clojure',
1983
+ hint: 'Lisp dialect on JVM',
1984
+ color: 'bg-green-100 text-green-800',
1985
+ sortOrder: 7,
1986
+ group: 'jvm',
1987
+ },
1988
+ // .NET
1989
+ {
1990
+ value: 'csharp',
1991
+ label: 'C#',
1992
+ hint: '.NET general-purpose language',
1993
+ color: 'bg-purple-100 text-purple-800',
1994
+ sortOrder: 8,
1995
+ group: 'dotnet',
1996
+ aliases: ['c-sharp'],
1997
+ },
1998
+ {
1999
+ value: 'fsharp',
2000
+ label: 'F#',
2001
+ hint: '.NET functional language',
2002
+ color: 'bg-blue-100 text-blue-800',
2003
+ sortOrder: 9,
2004
+ group: 'dotnet',
2005
+ aliases: ['f-sharp'],
2006
+ },
2007
+ // Systems
2008
+ {
2009
+ value: 'go',
2010
+ label: 'Go',
2011
+ hint: 'Google systems language',
2012
+ color: 'bg-blue-100 text-blue-800',
2013
+ sortOrder: 10,
2014
+ group: 'systems',
2015
+ aliases: ['golang'],
2016
+ },
2017
+ {
2018
+ value: 'rust',
2019
+ label: 'Rust',
2020
+ hint: 'Memory-safe systems language',
2021
+ color: 'bg-orange-100 text-orange-800',
2022
+ sortOrder: 11,
2023
+ group: 'systems',
2024
+ },
2025
+ {
2026
+ value: 'cpp',
2027
+ label: 'C++',
2028
+ hint: 'Systems/game/embedded language',
2029
+ color: 'bg-blue-100 text-blue-800',
2030
+ sortOrder: 12,
2031
+ group: 'systems',
2032
+ aliases: ['c-plus-plus'],
2033
+ },
2034
+ {
2035
+ value: 'c',
2036
+ label: 'C',
2037
+ hint: 'Low-level systems language',
2038
+ color: 'bg-gray-100 text-gray-800',
2039
+ sortOrder: 13,
2040
+ group: 'systems',
2041
+ },
2042
+ {
2043
+ value: 'zig',
2044
+ label: 'Zig',
2045
+ hint: 'Modern low-level language',
2046
+ color: 'bg-orange-100 text-orange-800',
2047
+ sortOrder: 14,
2048
+ group: 'systems',
2049
+ },
2050
+ {
2051
+ value: 'nim',
2052
+ label: 'Nim',
2053
+ hint: 'Compiled systems language with Python-like syntax',
2054
+ color: 'bg-yellow-100 text-yellow-800',
2055
+ sortOrder: 15,
2056
+ group: 'systems',
2057
+ },
2058
+ {
2059
+ value: 'v',
2060
+ label: 'V',
2061
+ hint: 'Simple compiled language',
2062
+ color: 'bg-blue-100 text-blue-800',
2063
+ sortOrder: 16,
2064
+ group: 'systems',
2065
+ },
2066
+ {
2067
+ value: 'crystal',
2068
+ label: 'Crystal',
2069
+ hint: 'Ruby-like compiled language',
2070
+ color: 'bg-gray-100 text-gray-800',
2071
+ sortOrder: 17,
2072
+ group: 'systems',
2073
+ },
2074
+ // Apple
2075
+ {
2076
+ value: 'swift',
2077
+ label: 'Swift',
2078
+ hint: 'Apple platforms language',
2079
+ color: 'bg-orange-100 text-orange-800',
2080
+ sortOrder: 18,
2081
+ group: 'apple',
2082
+ },
2083
+ {
2084
+ value: 'objective_c',
2085
+ label: 'Objective-C',
2086
+ hint: 'Legacy Apple language',
2087
+ color: 'bg-gray-100 text-gray-800',
2088
+ sortOrder: 19,
2089
+ group: 'apple',
2090
+ },
2091
+ // Mobile
2092
+ {
2093
+ value: 'dart',
2094
+ label: 'Dart',
2095
+ hint: 'Flutter/cross-platform language',
2096
+ color: 'bg-blue-100 text-blue-800',
2097
+ sortOrder: 20,
2098
+ group: 'mobile',
2099
+ },
2100
+ // Ruby
2101
+ {
2102
+ value: 'ruby',
2103
+ label: 'Ruby',
2104
+ hint: 'Dynamic scripting language',
2105
+ color: 'bg-red-100 text-red-800',
2106
+ sortOrder: 21,
2107
+ group: 'ruby',
2108
+ },
2109
+ // PHP
2110
+ {
2111
+ value: 'php',
2112
+ label: 'PHP',
2113
+ hint: 'Server-side web language',
2114
+ color: 'bg-purple-100 text-purple-800',
2115
+ sortOrder: 22,
2116
+ group: 'php',
2117
+ },
2118
+ // Functional
2119
+ {
2120
+ value: 'elixir',
2121
+ label: 'Elixir',
2122
+ hint: 'BEAM VM functional language',
2123
+ color: 'bg-purple-100 text-purple-800',
2124
+ sortOrder: 23,
2125
+ group: 'functional',
2126
+ },
2127
+ {
2128
+ value: 'erlang',
2129
+ label: 'Erlang',
2130
+ hint: 'BEAM VM concurrent language',
2131
+ color: 'bg-red-100 text-red-800',
2132
+ sortOrder: 24,
2133
+ group: 'functional',
2134
+ },
2135
+ {
2136
+ value: 'haskell',
2137
+ label: 'Haskell',
2138
+ hint: 'Pure functional language',
2139
+ color: 'bg-purple-100 text-purple-800',
2140
+ sortOrder: 25,
2141
+ group: 'functional',
2142
+ },
2143
+ {
2144
+ value: 'ocaml',
2145
+ label: 'OCaml',
2146
+ hint: 'Functional language with type inference',
2147
+ color: 'bg-orange-100 text-orange-800',
2148
+ sortOrder: 26,
2149
+ group: 'functional',
2150
+ },
2151
+ // Scripting
2152
+ {
2153
+ value: 'lua',
2154
+ label: 'Lua',
2155
+ hint: 'Lightweight embedded scripting',
2156
+ color: 'bg-blue-100 text-blue-800',
2157
+ sortOrder: 27,
2158
+ group: 'scripting',
2159
+ },
2160
+ {
2161
+ value: 'r',
2162
+ label: 'R',
2163
+ hint: 'Statistical computing language',
2164
+ color: 'bg-blue-100 text-blue-800',
2165
+ sortOrder: 28,
2166
+ group: 'scripting',
2167
+ },
2168
+ {
2169
+ value: 'julia',
2170
+ label: 'Julia',
2171
+ hint: 'High-performance scientific computing',
2172
+ color: 'bg-purple-100 text-purple-800',
2173
+ sortOrder: 29,
2174
+ group: 'scripting',
2175
+ },
2176
+ {
2177
+ value: 'perl',
2178
+ label: 'Perl',
2179
+ hint: 'Text processing language',
2180
+ color: 'bg-gray-100 text-gray-800',
2181
+ sortOrder: 30,
2182
+ group: 'scripting',
2183
+ },
2184
+ {
2185
+ value: 'bash',
2186
+ label: 'Bash',
2187
+ hint: 'Unix shell scripting',
2188
+ color: 'bg-gray-100 text-gray-800',
2189
+ sortOrder: 31,
2190
+ group: 'scripting',
2191
+ },
2192
+ {
2193
+ value: 'powershell',
2194
+ label: 'PowerShell',
2195
+ hint: 'Windows/cross-platform shell',
2196
+ color: 'bg-blue-100 text-blue-800',
2197
+ sortOrder: 32,
2198
+ group: 'scripting',
2199
+ },
2200
+ // Data / Schema
2201
+ {
2202
+ value: 'sql',
2203
+ label: 'SQL',
2204
+ hint: 'Structured Query Language',
2205
+ color: 'bg-blue-100 text-blue-800',
2206
+ sortOrder: 33,
2207
+ group: 'data',
2208
+ },
2209
+ {
2210
+ value: 'plsql',
2211
+ label: 'PL/SQL',
2212
+ hint: 'Oracle procedural SQL',
2213
+ color: 'bg-red-100 text-red-800',
2214
+ sortOrder: 34,
2215
+ group: 'data',
2216
+ },
2217
+ {
2218
+ value: 'graphql',
2219
+ label: 'GraphQL',
2220
+ hint: 'API query language',
2221
+ color: 'bg-pink-100 text-pink-800',
2222
+ sortOrder: 35,
2223
+ group: 'data',
2224
+ },
2225
+ {
2226
+ value: 'protobuf',
2227
+ label: 'Protobuf',
2228
+ hint: 'Protocol Buffers schema language',
2229
+ color: 'bg-green-100 text-green-800',
2230
+ sortOrder: 36,
2231
+ group: 'data',
2232
+ },
2233
+ {
2234
+ value: 'thrift',
2235
+ label: 'Thrift',
2236
+ hint: 'Apache Thrift IDL',
2237
+ color: 'bg-gray-100 text-gray-800',
2238
+ sortOrder: 37,
2239
+ group: 'data',
2240
+ },
2241
+ // GPU / Shader
2242
+ {
2243
+ value: 'hlsl',
2244
+ label: 'HLSL',
2245
+ hint: 'DirectX shader language',
2246
+ color: 'bg-green-100 text-green-800',
2247
+ sortOrder: 38,
2248
+ group: 'gpu_shader',
2249
+ },
2250
+ {
2251
+ value: 'glsl',
2252
+ label: 'GLSL',
2253
+ hint: 'OpenGL shader language',
2254
+ color: 'bg-green-100 text-green-800',
2255
+ sortOrder: 39,
2256
+ group: 'gpu_shader',
2257
+ },
2258
+ {
2259
+ value: 'wgsl',
2260
+ label: 'WGSL',
2261
+ hint: 'WebGPU shader language',
2262
+ color: 'bg-green-100 text-green-800',
2263
+ sortOrder: 40,
2264
+ group: 'gpu_shader',
2265
+ },
2266
+ {
2267
+ value: 'cuda',
2268
+ label: 'CUDA',
2269
+ hint: 'NVIDIA GPU compute language',
2270
+ color: 'bg-green-100 text-green-800',
2271
+ sortOrder: 41,
2272
+ group: 'gpu_shader',
2273
+ },
2274
+ // Game
2275
+ {
2276
+ value: 'gdscript',
2277
+ label: 'GDScript',
2278
+ hint: 'Godot scripting language',
2279
+ color: 'bg-blue-100 text-blue-800',
2280
+ sortOrder: 42,
2281
+ group: 'game',
2282
+ },
2283
+ // Hardware / HDL
2284
+ {
2285
+ value: 'vhdl',
2286
+ label: 'VHDL',
2287
+ hint: 'Hardware description language',
2288
+ color: 'bg-gray-100 text-gray-800',
2289
+ sortOrder: 43,
2290
+ group: 'hardware',
2291
+ },
2292
+ {
2293
+ value: 'verilog',
2294
+ label: 'Verilog',
2295
+ hint: 'Hardware description language',
2296
+ color: 'bg-gray-100 text-gray-800',
2297
+ sortOrder: 44,
2298
+ group: 'hardware',
2299
+ },
2300
+ {
2301
+ value: 'systemverilog',
2302
+ label: 'SystemVerilog',
2303
+ hint: 'Extended Verilog for verification',
2304
+ color: 'bg-gray-100 text-gray-800',
2305
+ sortOrder: 45,
2306
+ group: 'hardware',
2307
+ },
2308
+ {
2309
+ value: 'assembly',
2310
+ label: 'Assembly',
2311
+ hint: 'Low-level machine code',
2312
+ color: 'bg-gray-100 text-gray-800',
2313
+ sortOrder: 46,
2314
+ group: 'hardware',
2315
+ },
2316
+ // Legacy / Enterprise
2317
+ {
2318
+ value: 'cobol',
2319
+ label: 'COBOL',
2320
+ hint: 'Mainframe business language',
2321
+ color: 'bg-amber-100 text-amber-800',
2322
+ sortOrder: 47,
2323
+ group: 'legacy',
2324
+ },
2325
+ {
2326
+ value: 'fortran',
2327
+ label: 'Fortran',
2328
+ hint: 'Scientific computing language',
2329
+ color: 'bg-amber-100 text-amber-800',
2330
+ sortOrder: 48,
2331
+ group: 'legacy',
2332
+ },
2333
+ {
2334
+ value: 'abap',
2335
+ label: 'ABAP',
2336
+ hint: 'SAP programming language',
2337
+ color: 'bg-amber-100 text-amber-800',
2338
+ sortOrder: 49,
2339
+ group: 'legacy',
2340
+ },
2341
+ // Blockchain
2342
+ {
2343
+ value: 'solidity',
2344
+ label: 'Solidity',
2345
+ hint: 'Ethereum smart contract language',
2346
+ color: 'bg-purple-100 text-purple-800',
2347
+ sortOrder: 50,
2348
+ group: 'blockchain',
2349
+ },
2350
+ {
2351
+ value: 'move',
2352
+ label: 'Move',
2353
+ hint: 'Aptos/Sui smart contract language',
2354
+ color: 'bg-purple-100 text-purple-800',
2355
+ sortOrder: 51,
2356
+ group: 'blockchain',
2357
+ },
2358
+ {
2359
+ value: 'vyper',
2360
+ label: 'Vyper',
2361
+ hint: 'Python-like Ethereum language',
2362
+ color: 'bg-purple-100 text-purple-800',
2363
+ sortOrder: 52,
2364
+ group: 'blockchain',
2365
+ },
2366
+ ];
2367
+
2368
+ // ── Frameworks ─────────────────────────────────────────────────────────
2369
+
2370
+ export const MANIFEST_FRAMEWORK_CATALOG: CatalogEntry[] = [
2371
+ // Node.js / TypeScript backend
2372
+ {
2373
+ value: 'nestjs',
2374
+ label: 'NestJS',
2375
+ hint: 'Progressive Node.js framework',
2376
+ color: 'bg-red-100 text-red-800',
2377
+ sortOrder: 0,
2378
+ group: 'node',
2379
+ },
2380
+ {
2381
+ value: 'express',
2382
+ label: 'Express',
2383
+ hint: 'Minimal Node.js web framework',
2384
+ color: 'bg-gray-100 text-gray-800',
2385
+ sortOrder: 1,
2386
+ group: 'node',
2387
+ },
2388
+ {
2389
+ value: 'fastify',
2390
+ label: 'Fastify',
2391
+ hint: 'Fast Node.js web framework',
2392
+ color: 'bg-gray-100 text-gray-800',
2393
+ sortOrder: 2,
2394
+ group: 'node',
2395
+ },
2396
+ {
2397
+ value: 'koa',
2398
+ label: 'Koa',
2399
+ hint: 'Expressive Node.js middleware framework',
2400
+ color: 'bg-gray-100 text-gray-800',
2401
+ sortOrder: 3,
2402
+ group: 'node',
2403
+ },
2404
+ {
2405
+ value: 'hono',
2406
+ label: 'Hono',
2407
+ hint: 'Ultra-fast edge web framework',
2408
+ color: 'bg-orange-100 text-orange-800',
2409
+ sortOrder: 4,
2410
+ group: 'node',
2411
+ },
2412
+ // React ecosystem
2413
+ {
2414
+ value: 'react',
2415
+ label: 'React',
2416
+ hint: 'UI component library',
2417
+ color: 'bg-blue-100 text-blue-800',
2418
+ sortOrder: 10,
2419
+ group: 'react_ecosystem',
2420
+ },
2421
+ {
2422
+ value: 'nextjs',
2423
+ label: 'Next.js',
2424
+ hint: 'React fullstack framework',
2425
+ color: 'bg-gray-100 text-gray-800',
2426
+ sortOrder: 11,
2427
+ group: 'react_ecosystem',
2428
+ },
2429
+ {
2430
+ value: 'remix',
2431
+ label: 'Remix',
2432
+ hint: 'React web framework',
2433
+ color: 'bg-blue-100 text-blue-800',
2434
+ sortOrder: 12,
2435
+ group: 'react_ecosystem',
2436
+ },
2437
+ {
2438
+ value: 'gatsby',
2439
+ label: 'Gatsby',
2440
+ hint: 'React static site generator',
2441
+ color: 'bg-purple-100 text-purple-800',
2442
+ sortOrder: 13,
2443
+ group: 'react_ecosystem',
2444
+ },
2445
+ // Vue ecosystem
2446
+ {
2447
+ value: 'vue',
2448
+ label: 'Vue',
2449
+ hint: 'Progressive JS framework',
2450
+ color: 'bg-green-100 text-green-800',
2451
+ sortOrder: 20,
2452
+ group: 'vue_ecosystem',
2453
+ },
2454
+ {
2455
+ value: 'nuxt',
2456
+ label: 'Nuxt',
2457
+ hint: 'Vue fullstack framework',
2458
+ color: 'bg-green-100 text-green-800',
2459
+ sortOrder: 21,
2460
+ group: 'vue_ecosystem',
2461
+ },
2462
+ // Other JS frontend
2463
+ {
2464
+ value: 'angular',
2465
+ label: 'Angular',
2466
+ hint: 'Google web framework',
2467
+ color: 'bg-red-100 text-red-800',
2468
+ sortOrder: 30,
2469
+ group: 'js_frontend',
2470
+ },
2471
+ {
2472
+ value: 'svelte',
2473
+ label: 'Svelte',
2474
+ hint: 'Compiled JS framework',
2475
+ color: 'bg-orange-100 text-orange-800',
2476
+ sortOrder: 31,
2477
+ group: 'js_frontend',
2478
+ },
2479
+ {
2480
+ value: 'sveltekit',
2481
+ label: 'SvelteKit',
2482
+ hint: 'Svelte fullstack framework',
2483
+ color: 'bg-orange-100 text-orange-800',
2484
+ sortOrder: 32,
2485
+ group: 'js_frontend',
2486
+ },
2487
+ {
2488
+ value: 'solid',
2489
+ label: 'Solid',
2490
+ hint: 'Fine-grained reactive JS framework',
2491
+ color: 'bg-blue-100 text-blue-800',
2492
+ sortOrder: 33,
2493
+ group: 'js_frontend',
2494
+ },
2495
+ {
2496
+ value: 'astro',
2497
+ label: 'Astro',
2498
+ hint: 'Content-focused web framework',
2499
+ color: 'bg-purple-100 text-purple-800',
2500
+ sortOrder: 34,
2501
+ group: 'js_frontend',
2502
+ },
2503
+ // Desktop (JS/Rust)
2504
+ {
2505
+ value: 'electron',
2506
+ label: 'Electron',
2507
+ hint: 'Cross-platform desktop with web tech',
2508
+ color: 'bg-blue-100 text-blue-800',
2509
+ sortOrder: 40,
2510
+ group: 'desktop',
2511
+ },
2512
+ {
2513
+ value: 'tauri',
2514
+ label: 'Tauri',
2515
+ hint: 'Lightweight Rust-based desktop framework',
2516
+ color: 'bg-orange-100 text-orange-800',
2517
+ sortOrder: 41,
2518
+ group: 'desktop',
2519
+ },
2520
+ // Mobile (JS)
2521
+ {
2522
+ value: 'react_native',
2523
+ label: 'React Native',
2524
+ hint: 'Cross-platform mobile with React',
2525
+ color: 'bg-blue-100 text-blue-800',
2526
+ sortOrder: 50,
2527
+ group: 'mobile_js',
2528
+ },
2529
+ {
2530
+ value: 'expo',
2531
+ label: 'Expo',
2532
+ hint: 'React Native development platform',
2533
+ color: 'bg-gray-100 text-gray-800',
2534
+ sortOrder: 51,
2535
+ group: 'mobile_js',
2536
+ },
2537
+ {
2538
+ value: 'ionic',
2539
+ label: 'Ionic',
2540
+ hint: 'Hybrid mobile framework',
2541
+ color: 'bg-blue-100 text-blue-800',
2542
+ sortOrder: 52,
2543
+ group: 'mobile_js',
2544
+ },
2545
+ // Python web
2546
+ {
2547
+ value: 'fastapi',
2548
+ label: 'FastAPI',
2549
+ hint: 'High-performance Python API framework',
2550
+ color: 'bg-green-100 text-green-800',
2551
+ sortOrder: 60,
2552
+ group: 'python_web',
2553
+ },
2554
+ {
2555
+ value: 'django',
2556
+ label: 'Django',
2557
+ hint: 'Full-featured Python web framework',
2558
+ color: 'bg-green-100 text-green-800',
2559
+ sortOrder: 61,
2560
+ group: 'python_web',
2561
+ },
2562
+ {
2563
+ value: 'flask',
2564
+ label: 'Flask',
2565
+ hint: 'Lightweight Python web framework',
2566
+ color: 'bg-gray-100 text-gray-800',
2567
+ sortOrder: 62,
2568
+ group: 'python_web',
2569
+ },
2570
+ {
2571
+ value: 'starlette',
2572
+ label: 'Starlette',
2573
+ hint: 'ASGI Python framework',
2574
+ color: 'bg-green-100 text-green-800',
2575
+ sortOrder: 63,
2576
+ group: 'python_web',
2577
+ },
2578
+ {
2579
+ value: 'litestar',
2580
+ label: 'Litestar',
2581
+ hint: 'High-performance Python API framework',
2582
+ color: 'bg-blue-100 text-blue-800',
2583
+ sortOrder: 64,
2584
+ group: 'python_web',
2585
+ },
2586
+ // Python data/ML
2587
+ {
2588
+ value: 'pytorch',
2589
+ label: 'PyTorch',
2590
+ hint: 'ML/deep learning framework',
2591
+ color: 'bg-orange-100 text-orange-800',
2592
+ sortOrder: 70,
2593
+ group: 'python_data',
2594
+ },
2595
+ {
2596
+ value: 'tensorflow',
2597
+ label: 'TensorFlow',
2598
+ hint: 'Google ML framework',
2599
+ color: 'bg-orange-100 text-orange-800',
2600
+ sortOrder: 71,
2601
+ group: 'python_data',
2602
+ },
2603
+ {
2604
+ value: 'langchain',
2605
+ label: 'LangChain',
2606
+ hint: 'LLM application framework',
2607
+ color: 'bg-green-100 text-green-800',
2608
+ sortOrder: 72,
2609
+ group: 'python_data',
2610
+ },
2611
+ {
2612
+ value: 'scrapy',
2613
+ label: 'Scrapy',
2614
+ hint: 'Web scraping framework',
2615
+ color: 'bg-green-100 text-green-800',
2616
+ sortOrder: 73,
2617
+ group: 'python_data',
2618
+ },
2619
+ {
2620
+ value: 'celery',
2621
+ label: 'Celery',
2622
+ hint: 'Distributed task queue',
2623
+ color: 'bg-green-100 text-green-800',
2624
+ sortOrder: 74,
2625
+ group: 'python_data',
2626
+ },
2627
+ {
2628
+ value: 'airflow',
2629
+ label: 'Apache Airflow',
2630
+ hint: 'Workflow orchestration',
2631
+ color: 'bg-blue-100 text-blue-800',
2632
+ sortOrder: 75,
2633
+ group: 'python_data',
2634
+ },
2635
+ {
2636
+ value: 'prefect',
2637
+ label: 'Prefect',
2638
+ hint: 'Modern workflow orchestration',
2639
+ color: 'bg-blue-100 text-blue-800',
2640
+ sortOrder: 76,
2641
+ group: 'python_data',
2642
+ },
2643
+ {
2644
+ value: 'dagster',
2645
+ label: 'Dagster',
2646
+ hint: 'Data pipeline orchestration',
2647
+ color: 'bg-blue-100 text-blue-800',
2648
+ sortOrder: 77,
2649
+ group: 'python_data',
2650
+ },
2651
+ // Python UI
2652
+ {
2653
+ value: 'streamlit',
2654
+ label: 'Streamlit',
2655
+ hint: 'Data app framework',
2656
+ color: 'bg-red-100 text-red-800',
2657
+ sortOrder: 80,
2658
+ group: 'python_ui',
2659
+ },
2660
+ {
2661
+ value: 'gradio',
2662
+ label: 'Gradio',
2663
+ hint: 'ML demo UI framework',
2664
+ color: 'bg-orange-100 text-orange-800',
2665
+ sortOrder: 81,
2666
+ group: 'python_ui',
2667
+ },
2668
+ // JVM
2669
+ {
2670
+ value: 'spring_boot',
2671
+ label: 'Spring Boot',
2672
+ hint: 'Java/Kotlin enterprise framework',
2673
+ color: 'bg-green-100 text-green-800',
2674
+ sortOrder: 90,
2675
+ group: 'jvm',
2676
+ },
2677
+ {
2678
+ value: 'quarkus',
2679
+ label: 'Quarkus',
2680
+ hint: 'Cloud-native Java framework',
2681
+ color: 'bg-blue-100 text-blue-800',
2682
+ sortOrder: 91,
2683
+ group: 'jvm',
2684
+ },
2685
+ {
2686
+ value: 'micronaut',
2687
+ label: 'Micronaut',
2688
+ hint: 'Lightweight JVM framework',
2689
+ color: 'bg-blue-100 text-blue-800',
2690
+ sortOrder: 92,
2691
+ group: 'jvm',
2692
+ },
2693
+ {
2694
+ value: 'ktor',
2695
+ label: 'Ktor',
2696
+ hint: 'Kotlin async web framework',
2697
+ color: 'bg-purple-100 text-purple-800',
2698
+ sortOrder: 93,
2699
+ group: 'jvm',
2700
+ },
2701
+ {
2702
+ value: 'dropwizard',
2703
+ label: 'Dropwizard',
2704
+ hint: 'Java ops-friendly framework',
2705
+ color: 'bg-blue-100 text-blue-800',
2706
+ sortOrder: 94,
2707
+ group: 'jvm',
2708
+ },
2709
+ {
2710
+ value: 'vertx',
2711
+ label: 'Vert.x',
2712
+ hint: 'Reactive JVM toolkit',
2713
+ color: 'bg-purple-100 text-purple-800',
2714
+ sortOrder: 95,
2715
+ group: 'jvm',
2716
+ },
2717
+ // Go
2718
+ {
2719
+ value: 'gin',
2720
+ label: 'Gin',
2721
+ hint: 'Fast Go HTTP framework',
2722
+ color: 'bg-blue-100 text-blue-800',
2723
+ sortOrder: 100,
2724
+ group: 'go',
2725
+ },
2726
+ {
2727
+ value: 'fiber',
2728
+ label: 'Fiber',
2729
+ hint: 'Express-inspired Go framework',
2730
+ color: 'bg-blue-100 text-blue-800',
2731
+ sortOrder: 101,
2732
+ group: 'go',
2733
+ },
2734
+ {
2735
+ value: 'echo',
2736
+ label: 'Echo',
2737
+ hint: 'Minimalist Go framework',
2738
+ color: 'bg-blue-100 text-blue-800',
2739
+ sortOrder: 102,
2740
+ group: 'go',
2741
+ },
2742
+ {
2743
+ value: 'chi',
2744
+ label: 'Chi',
2745
+ hint: 'Lightweight Go router',
2746
+ color: 'bg-blue-100 text-blue-800',
2747
+ sortOrder: 103,
2748
+ group: 'go',
2749
+ },
2750
+ // Rust
2751
+ {
2752
+ value: 'actix_web',
2753
+ label: 'Actix Web',
2754
+ hint: 'High-performance Rust web framework',
2755
+ color: 'bg-orange-100 text-orange-800',
2756
+ sortOrder: 110,
2757
+ group: 'rust',
2758
+ },
2759
+ {
2760
+ value: 'axum',
2761
+ label: 'Axum',
2762
+ hint: 'Tokio-based Rust web framework',
2763
+ color: 'bg-orange-100 text-orange-800',
2764
+ sortOrder: 111,
2765
+ group: 'rust',
2766
+ },
2767
+ {
2768
+ value: 'rocket',
2769
+ label: 'Rocket',
2770
+ hint: 'Ergonomic Rust web framework',
2771
+ color: 'bg-red-100 text-red-800',
2772
+ sortOrder: 112,
2773
+ group: 'rust',
2774
+ },
2775
+ {
2776
+ value: 'warp',
2777
+ label: 'Warp',
2778
+ hint: 'Composable Rust web framework',
2779
+ color: 'bg-orange-100 text-orange-800',
2780
+ sortOrder: 113,
2781
+ group: 'rust',
2782
+ },
2783
+ {
2784
+ value: 'bevy',
2785
+ label: 'Bevy',
2786
+ hint: 'Rust ECS game engine',
2787
+ color: 'bg-orange-100 text-orange-800',
2788
+ sortOrder: 114,
2789
+ group: 'rust',
2790
+ },
2791
+ // C# / .NET
2792
+ {
2793
+ value: 'aspnet_core',
2794
+ label: 'ASP.NET Core',
2795
+ hint: 'Microsoft web framework',
2796
+ color: 'bg-purple-100 text-purple-800',
2797
+ sortOrder: 120,
2798
+ group: 'dotnet',
2799
+ },
2800
+ {
2801
+ value: 'minimal_api',
2802
+ label: 'Minimal APIs',
2803
+ hint: 'ASP.NET Core lightweight endpoint model',
2804
+ color: 'bg-purple-100 text-purple-800',
2805
+ sortOrder: 121,
2806
+ group: 'dotnet',
2807
+ },
2808
+ {
2809
+ value: 'blazor',
2810
+ label: 'Blazor',
2811
+ hint: '.NET client-side web framework',
2812
+ color: 'bg-purple-100 text-purple-800',
2813
+ sortOrder: 122,
2814
+ group: 'dotnet',
2815
+ },
2816
+ {
2817
+ value: 'maui',
2818
+ label: '.NET MAUI',
2819
+ hint: 'Cross-platform .NET UI',
2820
+ color: 'bg-purple-100 text-purple-800',
2821
+ sortOrder: 123,
2822
+ group: 'dotnet',
2823
+ },
2824
+ {
2825
+ value: 'ef_core',
2826
+ label: 'EF Core',
2827
+ hint: 'Entity Framework Core ORM',
2828
+ color: 'bg-purple-100 text-purple-800',
2829
+ sortOrder: 124,
2830
+ group: 'dotnet',
2831
+ },
2832
+ {
2833
+ value: 'unity_framework',
2834
+ label: 'Unity Framework',
2835
+ hint: 'Unity game engine C# framework',
2836
+ color: 'bg-gray-100 text-gray-800',
2837
+ sortOrder: 125,
2838
+ group: 'dotnet',
2839
+ },
2840
+ // Ruby
2841
+ {
2842
+ value: 'rails',
2843
+ label: 'Ruby on Rails',
2844
+ hint: 'Full-stack Ruby framework',
2845
+ color: 'bg-red-100 text-red-800',
2846
+ sortOrder: 130,
2847
+ group: 'ruby',
2848
+ },
2849
+ {
2850
+ value: 'sinatra',
2851
+ label: 'Sinatra',
2852
+ hint: 'Lightweight Ruby framework',
2853
+ color: 'bg-red-100 text-red-800',
2854
+ sortOrder: 131,
2855
+ group: 'ruby',
2856
+ },
2857
+ {
2858
+ value: 'hanami',
2859
+ label: 'Hanami',
2860
+ hint: 'Modular Ruby framework',
2861
+ color: 'bg-red-100 text-red-800',
2862
+ sortOrder: 132,
2863
+ group: 'ruby',
2864
+ },
2865
+ // PHP
2866
+ {
2867
+ value: 'laravel',
2868
+ label: 'Laravel',
2869
+ hint: 'PHP web framework',
2870
+ color: 'bg-red-100 text-red-800',
2871
+ sortOrder: 140,
2872
+ group: 'php',
2873
+ },
2874
+ {
2875
+ value: 'symfony',
2876
+ label: 'Symfony',
2877
+ hint: 'PHP enterprise framework',
2878
+ color: 'bg-gray-100 text-gray-800',
2879
+ sortOrder: 141,
2880
+ group: 'php',
2881
+ },
2882
+ {
2883
+ value: 'wordpress',
2884
+ label: 'WordPress',
2885
+ hint: 'PHP CMS platform',
2886
+ color: 'bg-blue-100 text-blue-800',
2887
+ sortOrder: 142,
2888
+ group: 'php',
2889
+ },
2890
+ {
2891
+ value: 'drupal',
2892
+ label: 'Drupal',
2893
+ hint: 'PHP enterprise CMS',
2894
+ color: 'bg-blue-100 text-blue-800',
2895
+ sortOrder: 143,
2896
+ group: 'php',
2897
+ },
2898
+ // Elixir
2899
+ {
2900
+ value: 'phoenix',
2901
+ label: 'Phoenix',
2902
+ hint: 'Elixir web framework',
2903
+ color: 'bg-purple-100 text-purple-800',
2904
+ sortOrder: 150,
2905
+ group: 'elixir',
2906
+ },
2907
+ {
2908
+ value: 'ecto',
2909
+ label: 'Ecto',
2910
+ hint: 'Elixir database toolkit',
2911
+ color: 'bg-purple-100 text-purple-800',
2912
+ sortOrder: 151,
2913
+ group: 'elixir',
2914
+ },
2915
+ // Swift
2916
+ {
2917
+ value: 'swiftui',
2918
+ label: 'SwiftUI',
2919
+ hint: 'Apple declarative UI framework',
2920
+ color: 'bg-orange-100 text-orange-800',
2921
+ sortOrder: 160,
2922
+ group: 'swift',
2923
+ },
2924
+ {
2925
+ value: 'vapor',
2926
+ label: 'Vapor',
2927
+ hint: 'Swift server framework',
2928
+ color: 'bg-blue-100 text-blue-800',
2929
+ sortOrder: 161,
2930
+ group: 'swift',
2931
+ },
2932
+ // Dart
2933
+ {
2934
+ value: 'flutter_framework',
2935
+ label: 'Flutter',
2936
+ hint: 'Cross-platform UI framework',
2937
+ color: 'bg-blue-100 text-blue-800',
2938
+ sortOrder: 170,
2939
+ group: 'dart',
2940
+ },
2941
+ // DevOps / IaC
2942
+ {
2943
+ value: 'terraform',
2944
+ label: 'Terraform',
2945
+ hint: 'Infrastructure as Code',
2946
+ color: 'bg-purple-100 text-purple-800',
2947
+ sortOrder: 180,
2948
+ group: 'iac',
2949
+ },
2950
+ {
2951
+ value: 'pulumi',
2952
+ label: 'Pulumi',
2953
+ hint: 'IaC with general-purpose languages',
2954
+ color: 'bg-purple-100 text-purple-800',
2955
+ sortOrder: 181,
2956
+ group: 'iac',
2957
+ },
2958
+ {
2959
+ value: 'ansible',
2960
+ label: 'Ansible',
2961
+ hint: 'Configuration management/automation',
2962
+ color: 'bg-red-100 text-red-800',
2963
+ sortOrder: 182,
2964
+ group: 'iac',
2965
+ },
2966
+ {
2967
+ value: 'helm',
2968
+ label: 'Helm',
2969
+ hint: 'Kubernetes package manager',
2970
+ color: 'bg-blue-100 text-blue-800',
2971
+ sortOrder: 183,
2972
+ group: 'iac',
2973
+ },
2974
+ // Game Engines
2975
+ {
2976
+ value: 'godot_engine',
2977
+ label: 'Godot Engine',
2978
+ hint: 'Open-source game engine',
2979
+ color: 'bg-blue-100 text-blue-800',
2980
+ sortOrder: 190,
2981
+ group: 'game_engine',
2982
+ },
2983
+ {
2984
+ value: 'unreal_engine',
2985
+ label: 'Unreal Engine',
2986
+ hint: 'AAA game engine (C++/Blueprints)',
2987
+ color: 'bg-gray-100 text-gray-800',
2988
+ sortOrder: 191,
2989
+ group: 'game_engine',
2990
+ },
2991
+ {
2992
+ value: 'unity_engine',
2993
+ label: 'Unity Engine',
2994
+ hint: 'Multi-platform game engine (C#)',
2995
+ color: 'bg-gray-100 text-gray-800',
2996
+ sortOrder: 192,
2997
+ group: 'game_engine',
2998
+ },
2999
+ {
3000
+ value: 'pygame',
3001
+ label: 'Pygame',
3002
+ hint: 'Python game development library',
3003
+ color: 'bg-green-100 text-green-800',
3004
+ sortOrder: 193,
3005
+ group: 'game_engine',
3006
+ },
3007
+ {
3008
+ value: 'love2d',
3009
+ label: 'LÖVE',
3010
+ hint: 'Lua 2D game framework',
3011
+ color: 'bg-blue-100 text-blue-800',
3012
+ sortOrder: 194,
3013
+ group: 'game_engine',
3014
+ },
3015
+ // CLI
3016
+ {
3017
+ value: 'clap',
3018
+ label: 'Clap',
3019
+ hint: 'Rust CLI argument parser',
3020
+ color: 'bg-orange-100 text-orange-800',
3021
+ sortOrder: 200,
3022
+ group: 'cli',
3023
+ },
3024
+ {
3025
+ value: 'cobra',
3026
+ label: 'Cobra',
3027
+ hint: 'Go CLI framework',
3028
+ color: 'bg-blue-100 text-blue-800',
3029
+ sortOrder: 201,
3030
+ group: 'cli',
3031
+ },
3032
+ {
3033
+ value: 'click',
3034
+ label: 'Click',
3035
+ hint: 'Python CLI framework',
3036
+ color: 'bg-green-100 text-green-800',
3037
+ sortOrder: 202,
3038
+ group: 'cli',
3039
+ },
3040
+ {
3041
+ value: 'commander',
3042
+ label: 'Commander.js',
3043
+ hint: 'Node.js CLI framework',
3044
+ color: 'bg-gray-100 text-gray-800',
3045
+ sortOrder: 203,
3046
+ group: 'cli',
3047
+ },
3048
+ {
3049
+ value: 'yargs',
3050
+ label: 'Yargs',
3051
+ hint: 'Node.js CLI argument parser',
3052
+ color: 'bg-gray-100 text-gray-800',
3053
+ sortOrder: 204,
3054
+ group: 'cli',
3055
+ },
3056
+ // Embedded
3057
+ {
3058
+ value: 'zephyr',
3059
+ label: 'Zephyr RTOS',
3060
+ hint: 'Scalable RTOS for IoT',
3061
+ color: 'bg-blue-100 text-blue-800',
3062
+ sortOrder: 210,
3063
+ group: 'embedded',
3064
+ },
3065
+ {
3066
+ value: 'freertos',
3067
+ label: 'FreeRTOS',
3068
+ hint: 'Real-time operating system',
3069
+ color: 'bg-green-100 text-green-800',
3070
+ sortOrder: 211,
3071
+ group: 'embedded',
3072
+ },
3073
+ {
3074
+ value: 'esp_idf_framework',
3075
+ label: 'ESP-IDF',
3076
+ hint: 'Espressif IoT development framework',
3077
+ color: 'bg-red-100 text-red-800',
3078
+ sortOrder: 212,
3079
+ group: 'embedded',
3080
+ },
3081
+ {
3082
+ value: 'arduino_framework',
3083
+ label: 'Arduino',
3084
+ hint: 'Arduino development framework',
3085
+ color: 'bg-teal-100 text-teal-800',
3086
+ sortOrder: 213,
3087
+ group: 'embedded',
3088
+ },
3089
+ {
3090
+ value: 'mbed',
3091
+ label: 'Mbed OS',
3092
+ hint: 'ARM embedded OS',
3093
+ color: 'bg-blue-100 text-blue-800',
3094
+ sortOrder: 214,
3095
+ group: 'embedded',
3096
+ },
3097
+ // Meta
3098
+ {
3099
+ value: 'none',
3100
+ label: 'None',
3101
+ hint: 'No framework — vanilla language',
3102
+ color: 'bg-gray-100 text-gray-600',
3103
+ sortOrder: 999,
3104
+ group: 'meta',
3105
+ },
3106
+ ];
3107
+
3108
+ // ── Workspace Managers ─────────────────────────────────────────────────
3109
+
3110
+ export const MANIFEST_WORKSPACE_MANAGER_CATALOG: CatalogEntry[] = [
3111
+ {
3112
+ value: 'npm_workspaces',
3113
+ label: 'npm Workspaces',
3114
+ hint: 'Built-in npm workspace support',
3115
+ color: 'bg-red-100 text-red-800',
3116
+ sortOrder: 0,
3117
+ },
3118
+ {
3119
+ value: 'pnpm_workspaces',
3120
+ label: 'pnpm Workspaces',
3121
+ hint: 'pnpm native workspace support',
3122
+ color: 'bg-orange-100 text-orange-800',
3123
+ sortOrder: 1,
3124
+ },
3125
+ {
3126
+ value: 'yarn_workspaces',
3127
+ label: 'Yarn Workspaces',
3128
+ hint: 'Yarn Berry workspace support',
3129
+ color: 'bg-blue-100 text-blue-800',
3130
+ sortOrder: 2,
3131
+ },
3132
+ {
3133
+ value: 'nx',
3134
+ label: 'Nx',
3135
+ hint: 'Smart monorepo build system',
3136
+ color: 'bg-blue-100 text-blue-800',
3137
+ sortOrder: 3,
3138
+ },
3139
+ {
3140
+ value: 'turborepo',
3141
+ label: 'Turborepo',
3142
+ hint: 'Vercel high-performance build system',
3143
+ color: 'bg-gray-100 text-gray-800',
3144
+ sortOrder: 4,
3145
+ },
3146
+ {
3147
+ value: 'lerna',
3148
+ label: 'Lerna',
3149
+ hint: 'JavaScript monorepo tool',
3150
+ color: 'bg-purple-100 text-purple-800',
3151
+ sortOrder: 5,
3152
+ },
3153
+ {
3154
+ value: 'cargo_workspaces',
3155
+ label: 'Cargo Workspaces',
3156
+ hint: 'Rust Cargo workspace',
3157
+ color: 'bg-orange-100 text-orange-800',
3158
+ sortOrder: 6,
3159
+ },
3160
+ {
3161
+ value: 'go_modules',
3162
+ label: 'Go Modules',
3163
+ hint: 'Go multi-module workspace',
3164
+ color: 'bg-blue-100 text-blue-800',
3165
+ sortOrder: 7,
3166
+ },
3167
+ {
3168
+ value: 'gradle_multi',
3169
+ label: 'Gradle Multi-Project',
3170
+ hint: 'Gradle multi-project build',
3171
+ color: 'bg-green-100 text-green-800',
3172
+ sortOrder: 8,
3173
+ },
3174
+ {
3175
+ value: 'maven_multi',
3176
+ label: 'Maven Multi-Module',
3177
+ hint: 'Maven multi-module project',
3178
+ color: 'bg-red-100 text-red-800',
3179
+ sortOrder: 9,
3180
+ },
3181
+ {
3182
+ value: 'bazel',
3183
+ label: 'Bazel',
3184
+ hint: 'Google scalable build system',
3185
+ color: 'bg-green-100 text-green-800',
3186
+ sortOrder: 10,
3187
+ },
3188
+ {
3189
+ value: 'pants',
3190
+ label: 'Pants',
3191
+ hint: 'Python-focused monorepo build system',
3192
+ color: 'bg-blue-100 text-blue-800',
3193
+ sortOrder: 11,
3194
+ },
3195
+ {
3196
+ value: 'none',
3197
+ label: 'None',
3198
+ hint: 'No workspace manager (single project)',
3199
+ color: 'bg-gray-100 text-gray-600',
3200
+ sortOrder: 99,
3201
+ },
3202
+ ];
3203
+
3204
+ // ── Repository Layouts ─────────────────────────────────────────────────
3205
+
3206
+ export const MANIFEST_REPOSITORY_LAYOUT_CATALOG: CatalogEntry[] = [
3207
+ {
3208
+ value: 'single_root',
3209
+ label: 'Single Root',
3210
+ hint: 'All code at repository root — CLIs, single services, libraries',
3211
+ color: 'bg-gray-100 text-gray-800',
3212
+ sortOrder: 0,
3213
+ },
3214
+ {
3215
+ value: 'multi_service',
3216
+ label: 'Multi-Service',
3217
+ hint: 'Each service in its own directory',
3218
+ color: 'bg-blue-100 text-blue-800',
3219
+ sortOrder: 1,
3220
+ },
3221
+ {
3222
+ value: 'fullstack',
3223
+ label: 'Fullstack',
3224
+ hint: 'Frontend + backend in separate directories',
3225
+ color: 'bg-green-100 text-green-800',
3226
+ sortOrder: 2,
3227
+ },
3228
+ {
3229
+ value: 'monorepo',
3230
+ label: 'Monorepo',
3231
+ hint: 'Multiple packages/services with workspace manager',
3232
+ color: 'bg-purple-100 text-purple-800',
3233
+ sortOrder: 3,
3234
+ },
3235
+ {
3236
+ value: 'polyrepo',
3237
+ label: 'Polyrepo',
3238
+ hint: 'Multiple repositories (code split across repos)',
3239
+ color: 'bg-orange-100 text-orange-800',
3240
+ sortOrder: 4,
3241
+ },
3242
+ ];
3243
+
3244
+ // ── Runtime Environments ───────────────────────────────────────────────
3245
+
3246
+ export const MANIFEST_RUNTIME_CATALOG: CatalogEntry[] = [
3247
+ {
3248
+ value: 'node',
3249
+ label: 'Node.js',
3250
+ hint: 'Server-side JavaScript runtime',
3251
+ color: 'bg-green-100 text-green-800',
3252
+ sortOrder: 0,
3253
+ group: 'javascript',
3254
+ },
3255
+ {
3256
+ value: 'deno',
3257
+ label: 'Deno',
3258
+ hint: 'Secure TypeScript runtime',
3259
+ color: 'bg-gray-100 text-gray-800',
3260
+ sortOrder: 1,
3261
+ group: 'javascript',
3262
+ },
3263
+ {
3264
+ value: 'bun',
3265
+ label: 'Bun',
3266
+ hint: 'Fast all-in-one JS runtime',
3267
+ color: 'bg-orange-100 text-orange-800',
3268
+ sortOrder: 2,
3269
+ group: 'javascript',
3270
+ },
3271
+ {
3272
+ value: 'python3',
3273
+ label: 'Python 3',
3274
+ hint: 'CPython runtime',
3275
+ color: 'bg-blue-100 text-blue-800',
3276
+ sortOrder: 3,
3277
+ group: 'python',
3278
+ },
3279
+ {
3280
+ value: 'pypy',
3281
+ label: 'PyPy',
3282
+ hint: 'JIT-compiled Python',
3283
+ color: 'bg-blue-100 text-blue-800',
3284
+ sortOrder: 4,
3285
+ group: 'python',
3286
+ },
3287
+ {
3288
+ value: 'micropython',
3289
+ label: 'MicroPython',
3290
+ hint: 'Python for microcontrollers',
3291
+ color: 'bg-blue-100 text-blue-800',
3292
+ sortOrder: 5,
3293
+ group: 'python',
3294
+ },
3295
+ {
3296
+ value: 'jvm',
3297
+ label: 'JVM',
3298
+ hint: 'Java Virtual Machine (Java, Kotlin, Scala)',
3299
+ color: 'bg-red-100 text-red-800',
3300
+ sortOrder: 6,
3301
+ group: 'jvm',
3302
+ },
3303
+ {
3304
+ value: 'graalvm',
3305
+ label: 'GraalVM',
3306
+ hint: 'Polyglot VM with AOT compilation',
3307
+ color: 'bg-red-100 text-red-800',
3308
+ sortOrder: 7,
3309
+ group: 'jvm',
3310
+ },
3311
+ {
3312
+ value: 'dotnet',
3313
+ label: '.NET',
3314
+ hint: 'Microsoft .NET runtime (C#, F#)',
3315
+ color: 'bg-purple-100 text-purple-800',
3316
+ sortOrder: 8,
3317
+ group: 'dotnet',
3318
+ },
3319
+ {
3320
+ value: 'mono',
3321
+ label: 'Mono',
3322
+ hint: 'Open-source .NET implementation',
3323
+ color: 'bg-purple-100 text-purple-800',
3324
+ sortOrder: 9,
3325
+ group: 'dotnet',
3326
+ },
3327
+ {
3328
+ value: 'native',
3329
+ label: 'Native',
3330
+ hint: 'Compiled to native binary (C, C++, Rust, Go, Zig)',
3331
+ color: 'bg-gray-100 text-gray-800',
3332
+ sortOrder: 10,
3333
+ group: 'native',
3334
+ },
3335
+ {
3336
+ value: 'wasm',
3337
+ label: 'WebAssembly',
3338
+ hint: 'WASM in browser or edge',
3339
+ color: 'bg-purple-100 text-purple-800',
3340
+ sortOrder: 11,
3341
+ group: 'native',
3342
+ },
3343
+ {
3344
+ value: 'wasi',
3345
+ label: 'WASI',
3346
+ hint: 'WebAssembly System Interface',
3347
+ color: 'bg-purple-100 text-purple-800',
3348
+ sortOrder: 12,
3349
+ group: 'native',
3350
+ },
3351
+ {
3352
+ value: 'browser',
3353
+ label: 'Browser',
3354
+ hint: 'Runs in web browser',
3355
+ color: 'bg-yellow-100 text-yellow-800',
3356
+ sortOrder: 13,
3357
+ group: 'browser_mobile',
3358
+ },
3359
+ {
3360
+ value: 'mobile_native',
3361
+ label: 'Mobile Native',
3362
+ hint: 'Native iOS/Android runtime',
3363
+ color: 'bg-green-100 text-green-800',
3364
+ sortOrder: 14,
3365
+ group: 'browser_mobile',
3366
+ },
3367
+ {
3368
+ value: 'react_native',
3369
+ label: 'React Native',
3370
+ hint: 'React Native runtime (Hermes/JSC)',
3371
+ color: 'bg-blue-100 text-blue-800',
3372
+ sortOrder: 15,
3373
+ group: 'browser_mobile',
3374
+ },
3375
+ {
3376
+ value: 'flutter',
3377
+ label: 'Flutter',
3378
+ hint: 'Dart/Flutter runtime',
3379
+ color: 'bg-blue-100 text-blue-800',
3380
+ sortOrder: 16,
3381
+ group: 'browser_mobile',
3382
+ },
3383
+ {
3384
+ value: 'bare_metal',
3385
+ label: 'Bare Metal',
3386
+ hint: 'No OS — direct hardware execution',
3387
+ color: 'bg-orange-100 text-orange-800',
3388
+ sortOrder: 17,
3389
+ group: 'embedded',
3390
+ },
3391
+ {
3392
+ value: 'rtos',
3393
+ label: 'RTOS',
3394
+ hint: 'Real-time operating system',
3395
+ color: 'bg-orange-100 text-orange-800',
3396
+ sortOrder: 18,
3397
+ group: 'embedded',
3398
+ },
3399
+ {
3400
+ value: 'arduino',
3401
+ label: 'Arduino',
3402
+ hint: 'Arduino runtime environment',
3403
+ color: 'bg-teal-100 text-teal-800',
3404
+ sortOrder: 19,
3405
+ group: 'embedded',
3406
+ },
3407
+ {
3408
+ value: 'esp_idf',
3409
+ label: 'ESP-IDF',
3410
+ hint: 'Espressif IoT Development Framework',
3411
+ color: 'bg-red-100 text-red-800',
3412
+ sortOrder: 20,
3413
+ group: 'embedded',
3414
+ },
3415
+ {
3416
+ value: 'bash',
3417
+ label: 'Bash',
3418
+ hint: 'Unix shell scripting',
3419
+ color: 'bg-gray-100 text-gray-800',
3420
+ sortOrder: 21,
3421
+ group: 'scripting',
3422
+ },
3423
+ {
3424
+ value: 'powershell',
3425
+ label: 'PowerShell',
3426
+ hint: 'Windows/cross-platform shell',
3427
+ color: 'bg-blue-100 text-blue-800',
3428
+ sortOrder: 22,
3429
+ group: 'scripting',
3430
+ },
3431
+ {
3432
+ value: 'lua_runtime',
3433
+ label: 'Lua',
3434
+ hint: 'Lightweight scripting runtime',
3435
+ color: 'bg-blue-100 text-blue-800',
3436
+ sortOrder: 23,
3437
+ group: 'scripting',
3438
+ },
3439
+ {
3440
+ value: 'unity',
3441
+ label: 'Unity',
3442
+ hint: 'Unity game engine runtime (Mono/.NET)',
3443
+ color: 'bg-gray-100 text-gray-800',
3444
+ sortOrder: 30,
3445
+ group: 'game_engine',
3446
+ },
3447
+ {
3448
+ value: 'unreal',
3449
+ label: 'Unreal Engine',
3450
+ hint: 'Unreal Engine runtime (C++)',
3451
+ color: 'bg-gray-100 text-gray-800',
3452
+ sortOrder: 31,
3453
+ group: 'game_engine',
3454
+ },
3455
+ {
3456
+ value: 'godot',
3457
+ label: 'Godot',
3458
+ hint: 'Godot game engine runtime',
3459
+ color: 'bg-blue-100 text-blue-800',
3460
+ sortOrder: 32,
3461
+ group: 'game_engine',
3462
+ },
3463
+ {
3464
+ value: 'docker',
3465
+ label: 'Docker',
3466
+ hint: 'Containerized runtime',
3467
+ color: 'bg-blue-100 text-blue-800',
3468
+ sortOrder: 40,
3469
+ group: 'container',
3470
+ },
3471
+ {
3472
+ value: 'containerd',
3473
+ label: 'containerd',
3474
+ hint: 'Container runtime',
3475
+ color: 'bg-gray-100 text-gray-800',
3476
+ sortOrder: 41,
3477
+ group: 'container',
3478
+ },
3479
+ {
3480
+ value: 'evm',
3481
+ label: 'EVM',
3482
+ hint: 'Ethereum Virtual Machine',
3483
+ color: 'bg-purple-100 text-purple-800',
3484
+ sortOrder: 50,
3485
+ group: 'blockchain',
3486
+ },
3487
+ {
3488
+ value: 'solana_runtime',
3489
+ label: 'Solana Runtime',
3490
+ hint: 'Solana blockchain runtime (BPF)',
3491
+ color: 'bg-purple-100 text-purple-800',
3492
+ sortOrder: 51,
3493
+ group: 'blockchain',
3494
+ },
3495
+ {
3496
+ value: 'mainframe_cics',
3497
+ label: 'CICS',
3498
+ hint: 'IBM mainframe transaction server',
3499
+ color: 'bg-amber-100 text-amber-800',
3500
+ sortOrder: 60,
3501
+ group: 'mainframe',
3502
+ },
3503
+ {
3504
+ value: 'mainframe_ims',
3505
+ label: 'IMS',
3506
+ hint: 'IBM Information Management System',
3507
+ color: 'bg-amber-100 text-amber-800',
3508
+ sortOrder: 61,
3509
+ group: 'mainframe',
3510
+ },
3511
+ {
3512
+ value: 'cobol_runtime',
3513
+ label: 'COBOL Runtime',
3514
+ hint: 'COBOL runtime (GnuCOBOL, Micro Focus)',
3515
+ color: 'bg-amber-100 text-amber-800',
3516
+ sortOrder: 62,
3517
+ group: 'mainframe',
3518
+ },
3519
+ {
3520
+ value: 'abap_runtime',
3521
+ label: 'ABAP Runtime',
3522
+ hint: 'SAP ABAP runtime environment',
3523
+ color: 'bg-amber-100 text-amber-800',
3524
+ sortOrder: 63,
3525
+ group: 'mainframe',
3526
+ },
3527
+ ];
3528
+
3529
+ // ── Domain Tags (clarification decomposition) ────────────────────────
3530
+
3531
+ export const MANIFEST_DOMAIN_TAG_CATALOG: CatalogEntry[] = [
3532
+ // Web
3533
+ { value: 'frontend', label: 'Frontend', hint: 'Browser-based UI, SPA, SSR', color: 'bg-green-100 text-green-800', sortOrder: 0, group: 'web' },
3534
+ { value: 'backend', label: 'Backend', hint: 'Server-side logic, APIs, business rules', color: 'bg-blue-100 text-blue-800', sortOrder: 1, group: 'web' },
3535
+ { value: 'api', label: 'API', hint: 'REST/GraphQL/gRPC interface layer', color: 'bg-indigo-100 text-indigo-800', sortOrder: 2, group: 'web' },
3536
+ // Data
3537
+ { value: 'database', label: 'Database', hint: 'Schema, queries, migrations, storage', color: 'bg-cyan-100 text-cyan-800', sortOrder: 3, group: 'data' },
3538
+ { value: 'data_pipeline', label: 'Data Pipeline', hint: 'ETL, streaming, data transformation', color: 'bg-cyan-100 text-cyan-800', sortOrder: 4, group: 'data' },
3539
+ // Infrastructure / DevOps
3540
+ { value: 'infrastructure', label: 'Infrastructure', hint: 'IaC, cloud resources, networking', color: 'bg-slate-100 text-slate-800', sortOrder: 5, group: 'infra' },
3541
+ { value: 'ci_cd', label: 'CI/CD', hint: 'Build pipelines, deployment automation', color: 'bg-slate-100 text-slate-800', sortOrder: 6, group: 'infra' },
3542
+ { value: 'deployment', label: 'Deployment', hint: 'Release process, rollout, Helm charts', color: 'bg-slate-100 text-slate-800', sortOrder: 7, group: 'infra' },
3543
+ { value: 'cloud', label: 'Cloud', hint: 'Cloud provider services, serverless, managed resources', color: 'bg-slate-100 text-slate-800', sortOrder: 8, group: 'infra' },
3544
+ // Security / Identity
3545
+ { value: 'auth', label: 'Auth', hint: 'Authentication, authorization, identity management', color: 'bg-red-100 text-red-800', sortOrder: 9, group: 'security' },
3546
+ { value: 'security', label: 'Security', hint: 'Encryption, compliance, vulnerability management', color: 'bg-red-100 text-red-800', sortOrder: 10, group: 'security' },
3547
+ // Integration / Communication
3548
+ { value: 'integration', label: 'Integration', hint: 'Third-party APIs, connectors, adapters', color: 'bg-violet-100 text-violet-800', sortOrder: 11, group: 'integration' },
3549
+ { value: 'messaging', label: 'Messaging', hint: 'Queues, pub/sub, async communication', color: 'bg-violet-100 text-violet-800', sortOrder: 12, group: 'integration' },
3550
+ { value: 'event_streaming', label: 'Event Streaming', hint: 'Kafka, event sourcing, CQRS', color: 'bg-violet-100 text-violet-800', sortOrder: 13, group: 'integration' },
3551
+ // Observability
3552
+ { value: 'observability', label: 'Observability', hint: 'Tracing, metrics, alerting', color: 'bg-amber-100 text-amber-800', sortOrder: 14, group: 'observability' },
3553
+ { value: 'logging', label: 'Logging', hint: 'Structured logging, log aggregation', color: 'bg-amber-100 text-amber-800', sortOrder: 15, group: 'observability' },
3554
+ { value: 'monitoring', label: 'Monitoring', hint: 'Health checks, dashboards, SLOs', color: 'bg-amber-100 text-amber-800', sortOrder: 16, group: 'observability' },
3555
+ // Embedded / IoT / Hardware
3556
+ { value: 'firmware', label: 'Firmware', hint: 'Embedded firmware, RTOS, bare-metal', color: 'bg-orange-100 text-orange-800', sortOrder: 17, group: 'embedded' },
3557
+ { value: 'embedded', label: 'Embedded', hint: 'Embedded systems, microcontrollers', color: 'bg-orange-100 text-orange-800', sortOrder: 18, group: 'embedded' },
3558
+ { value: 'iot', label: 'IoT', hint: 'IoT devices, gateways, edge computing', color: 'bg-orange-100 text-orange-800', sortOrder: 19, group: 'embedded' },
3559
+ { value: 'hardware_interface', label: 'Hardware Interface', hint: 'Drivers, HAL, peripheral communication', color: 'bg-orange-100 text-orange-800', sortOrder: 20, group: 'embedded' },
3560
+ // Mobile
3561
+ { value: 'mobile_ios', label: 'iOS', hint: 'iOS native or hybrid development', color: 'bg-sky-100 text-sky-800', sortOrder: 21, group: 'mobile' },
3562
+ { value: 'mobile_android', label: 'Android', hint: 'Android native or hybrid development', color: 'bg-lime-100 text-lime-800', sortOrder: 22, group: 'mobile' },
3563
+ { value: 'mobile_cross_platform', label: 'Cross-Platform Mobile', hint: 'React Native, Flutter, Ionic', color: 'bg-teal-100 text-teal-800', sortOrder: 23, group: 'mobile' },
3564
+ // AI / ML
3565
+ { value: 'ml_model', label: 'ML Model', hint: 'Model training, evaluation, serving', color: 'bg-purple-100 text-purple-800', sortOrder: 24, group: 'ai' },
3566
+ { value: 'ai_agent', label: 'AI Agent', hint: 'LLM agents, tool use, orchestration', color: 'bg-purple-100 text-purple-800', sortOrder: 25, group: 'ai' },
3567
+ // Documentation / Content
3568
+ { value: 'documentation', label: 'Documentation', hint: 'Docs, READMEs, API docs, architecture docs', color: 'bg-gray-100 text-gray-800', sortOrder: 26, group: 'content' },
3569
+ { value: 'content', label: 'Content', hint: 'CMS, templates, static content', color: 'bg-gray-100 text-gray-800', sortOrder: 27, group: 'content' },
3570
+ // Cross-cutting
3571
+ { value: 'cross_cutting', label: 'Cross-Cutting', hint: 'Spans multiple domains, shared concerns', color: 'bg-fuchsia-100 text-fuchsia-800', sortOrder: 28, group: 'cross_cutting' },
3572
+ ];
3573
+
3574
+ // ── Change Surfaces (clarification decomposition) ────────────────────
3575
+
3576
+ export const MANIFEST_CHANGE_SURFACE_CATALOG: CatalogEntry[] = [
3577
+ { value: 'ui_component', label: 'UI Component', hint: 'Visual component, page, widget', color: 'bg-green-100 text-green-800', sortOrder: 0 },
3578
+ { value: 'api_endpoint', label: 'API Endpoint', hint: 'REST/GraphQL/gRPC endpoint', color: 'bg-blue-100 text-blue-800', sortOrder: 1 },
3579
+ { value: 'data_model', label: 'Data Model', hint: 'Database schema, entity, migration', color: 'bg-cyan-100 text-cyan-800', sortOrder: 2 },
3580
+ { value: 'service_logic', label: 'Service Logic', hint: 'Business logic, service methods', color: 'bg-indigo-100 text-indigo-800', sortOrder: 3 },
3581
+ { value: 'configuration', label: 'Configuration', hint: 'Config files, env vars, feature flags', color: 'bg-slate-100 text-slate-800', sortOrder: 4 },
3582
+ { value: 'deployment', label: 'Deployment', hint: 'Helm, Dockerfile, CI/CD pipeline', color: 'bg-slate-100 text-slate-800', sortOrder: 5 },
3583
+ { value: 'testing', label: 'Testing', hint: 'Unit tests, integration tests, e2e tests', color: 'bg-amber-100 text-amber-800', sortOrder: 6 },
3584
+ { value: 'documentation', label: 'Documentation', hint: 'Docs, README, architecture decisions', color: 'bg-gray-100 text-gray-800', sortOrder: 7 },
3585
+ { value: 'firmware_module', label: 'Firmware Module', hint: 'Embedded firmware component, BSP', color: 'bg-orange-100 text-orange-800', sortOrder: 8 },
3586
+ { value: 'driver', label: 'Driver', hint: 'Device driver, kernel module, HAL', color: 'bg-orange-100 text-orange-800', sortOrder: 9 },
3587
+ { value: 'protocol_handler', label: 'Protocol Handler', hint: 'MQTT, Modbus, CAN, serial protocol', color: 'bg-violet-100 text-violet-800', sortOrder: 10 },
3588
+ { value: 'build_system', label: 'Build System', hint: 'Makefile, CMake, Bazel, build scripts', color: 'bg-slate-100 text-slate-800', sortOrder: 11 },
3589
+ { value: 'pipeline_definition', label: 'Pipeline Definition', hint: 'CI/CD workflow, GitHub Actions, Jenkins', color: 'bg-slate-100 text-slate-800', sortOrder: 12 },
3590
+ { value: 'schema_migration', label: 'Schema Migration', hint: 'Database migration, Prisma, Flyway', color: 'bg-cyan-100 text-cyan-800', sortOrder: 13 },
3591
+ { value: 'event_contract', label: 'Event Contract', hint: 'Event schema, AsyncAPI, protobuf', color: 'bg-violet-100 text-violet-800', sortOrder: 14 },
3592
+ ];
3593
+
3594
+ // ═══════════════════════════════════════════════════════════════════════════
3595
+ // ── End of Manifest Vocabulary Catalogs ──
3596
+ // ═══════════════════════════════════════════════════════════════════════════
3597
+
3598
+ // ── All Catalogs (aggregated for the catalog-api) ──────────────────────
3599
+
3600
+ export const ALL_CATALOGS: CatalogGroup[] = [
3601
+ {
3602
+ key: 'priorities',
3603
+ label: 'Priority Levels',
3604
+ description: 'Work item priority classification (P0–P3)',
3605
+ entries: PRIORITY_CATALOG,
3606
+ },
3607
+ {
3608
+ key: 'item-types',
3609
+ label: 'Item Types',
3610
+ description: 'Backlog item types (epic, story, task, bug)',
3611
+ entries: ITEM_TYPE_CATALOG,
3612
+ },
3613
+ {
3614
+ key: 'complexity-tiers',
3615
+ label: 'Complexity Tiers',
3616
+ description: 'Pipeline run complexity classification',
3617
+ entries: COMPLEXITY_CATALOG,
3618
+ },
3619
+ {
3620
+ key: 'backlog-statuses',
3621
+ label: 'Backlog Statuses',
3622
+ description: 'Valid status values for backlog items',
3623
+ entries: BACKLOG_STATUS_CATALOG,
3624
+ },
3625
+ // ── Manifest Vocabulary Catalogs ─────────────────────────────────────
3626
+ {
3627
+ key: 'manifest-service-types',
3628
+ label: 'Service Types',
3629
+ description: 'Project manifest: service type classification',
3630
+ entries: MANIFEST_SERVICE_TYPE_CATALOG,
3631
+ },
3632
+ {
3633
+ key: 'manifest-cloud-providers',
3634
+ label: 'Cloud Providers',
3635
+ description: 'Project manifest: cloud and hosting providers',
3636
+ entries: MANIFEST_CLOUD_PROVIDER_CATALOG,
3637
+ },
3638
+ {
3639
+ key: 'manifest-languages',
3640
+ label: 'Languages',
3641
+ description: 'Project manifest: programming and data languages',
3642
+ entries: MANIFEST_LANGUAGE_CATALOG,
3643
+ },
3644
+ {
3645
+ key: 'manifest-frameworks',
3646
+ label: 'Frameworks',
3647
+ description: 'Project manifest: frameworks, libraries, and engines',
3648
+ entries: MANIFEST_FRAMEWORK_CATALOG,
3649
+ },
3650
+ {
3651
+ key: 'manifest-resource-types',
3652
+ label: 'Resource Types',
3653
+ description:
3654
+ 'Project manifest: infrastructure resource types (database, cache, queue, storage, etc.)',
3655
+ entries: MANIFEST_RESOURCE_TYPE_CATALOG,
3656
+ },
3657
+ {
3658
+ key: 'manifest-workspace-managers',
3659
+ label: 'Workspace Managers',
3660
+ description: 'Project manifest: monorepo/workspace build tools',
3661
+ entries: MANIFEST_WORKSPACE_MANAGER_CATALOG,
3662
+ },
3663
+ {
3664
+ key: 'manifest-repository-layouts',
3665
+ label: 'Repository Layouts',
3666
+ description: 'Project manifest: repository directory structure patterns',
3667
+ entries: MANIFEST_REPOSITORY_LAYOUT_CATALOG,
3668
+ },
3669
+ {
3670
+ key: 'manifest-runtimes',
3671
+ label: 'Runtime Environments',
3672
+ description: 'Project manifest: execution runtime environments',
3673
+ entries: MANIFEST_RUNTIME_CATALOG,
3674
+ },
3675
+ // ── Clarification Decomposition Catalogs ──────────────────────────────
3676
+ {
3677
+ key: 'domain-tags',
3678
+ label: 'Domain Tags',
3679
+ description: 'Clarification decomposition: domain classification for change units',
3680
+ entries: MANIFEST_DOMAIN_TAG_CATALOG,
3681
+ },
3682
+ {
3683
+ key: 'change-surfaces',
3684
+ label: 'Change Surfaces',
3685
+ description: 'Clarification decomposition: where changes manifest in the codebase',
3686
+ entries: MANIFEST_CHANGE_SURFACE_CATALOG,
3687
+ },
3688
+ ];
3689
+
3690
+ /**
3691
+ * Lookup: catalog key → CatalogGroup
3692
+ */
3693
+ export const CATALOG_LOOKUP: Record<string, CatalogGroup> = Object.fromEntries(
3694
+ ALL_CATALOGS.map((g) => [g.key, g]),
3695
+ );