@noodleseed/one 0.111.0 → 0.113.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 (300) hide show
  1. package/dist/commands/catalog-data-tenant-resources.d.ts.map +1 -1
  2. package/dist/commands/catalog-data-tenant-resources.js +10 -1
  3. package/dist/commands/catalog-data-tenant-resources.js.map +1 -1
  4. package/dist/commands/deployment-package.d.ts +3 -0
  5. package/dist/commands/deployment-package.d.ts.map +1 -0
  6. package/dist/commands/deployment-package.js +126 -0
  7. package/dist/commands/deployment-package.js.map +1 -0
  8. package/dist/commands/deployments-ops.d.ts.map +1 -1
  9. package/dist/commands/deployments-ops.js +3 -0
  10. package/dist/commands/deployments-ops.js.map +1 -1
  11. package/dist/commands/github-runs-ops.d.ts +2 -21
  12. package/dist/commands/github-runs-ops.d.ts.map +1 -1
  13. package/dist/commands/github-runs-ops.js.map +1 -1
  14. package/dist/commands/github-shared.d.ts +2 -14
  15. package/dist/commands/github-shared.d.ts.map +1 -1
  16. package/dist/commands/github-shared.js +1 -1
  17. package/dist/commands/github-shared.js.map +1 -1
  18. package/dist/commands/resource-shared.d.ts +2 -82
  19. package/dist/commands/resource-shared.d.ts.map +1 -1
  20. package/dist/commands/resource-shared.js.map +1 -1
  21. package/dist/devtools-harness.js +1 -1
  22. package/dist/devtools-harness.js.map +1 -1
  23. package/node_modules/@noodle-borg/agent-kit/dist/curated/error-fixes.d.ts.map +1 -1
  24. package/node_modules/@noodle-borg/agent-kit/dist/curated/error-fixes.js +7 -0
  25. package/node_modules/@noodle-borg/agent-kit/dist/curated/error-fixes.js.map +1 -1
  26. package/node_modules/@noodle-borg/agent-kit/dist/generated/example-files.d.ts.map +1 -1
  27. package/node_modules/@noodle-borg/agent-kit/dist/generated/example-files.js +3 -2
  28. package/node_modules/@noodle-borg/agent-kit/dist/generated/example-files.js.map +1 -1
  29. package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.d.ts.map +1 -1
  30. package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.js +7 -0
  31. package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.js.map +1 -1
  32. package/node_modules/@noodle-borg/agent-kit/dist/index.d.ts +4 -1
  33. package/node_modules/@noodle-borg/agent-kit/dist/index.d.ts.map +1 -1
  34. package/node_modules/@noodle-borg/agent-kit/dist/index.js +5 -2
  35. package/node_modules/@noodle-borg/agent-kit/dist/index.js.map +1 -1
  36. package/node_modules/@noodle-borg/agent-kit/dist/product-skill-markdown.d.ts +4 -0
  37. package/node_modules/@noodle-borg/agent-kit/dist/product-skill-markdown.d.ts.map +1 -0
  38. package/node_modules/@noodle-borg/agent-kit/dist/product-skill-markdown.js +138 -0
  39. package/node_modules/@noodle-borg/agent-kit/dist/product-skill-markdown.js.map +1 -0
  40. package/node_modules/@noodle-borg/agent-kit/dist/product-skill-renderer.d.ts +8 -0
  41. package/node_modules/@noodle-borg/agent-kit/dist/product-skill-renderer.d.ts.map +1 -0
  42. package/node_modules/@noodle-borg/agent-kit/dist/product-skill-renderer.js +135 -0
  43. package/node_modules/@noodle-borg/agent-kit/dist/product-skill-renderer.js.map +1 -0
  44. package/node_modules/@noodle-borg/agent-kit/dist/product-skill-types.d.ts +126 -0
  45. package/node_modules/@noodle-borg/agent-kit/dist/product-skill-types.d.ts.map +1 -0
  46. package/node_modules/@noodle-borg/agent-kit/dist/product-skill-types.js +2 -0
  47. package/node_modules/@noodle-borg/agent-kit/dist/product-skill-types.js.map +1 -0
  48. package/node_modules/@noodle-borg/agent-kit/dist/product-skill-validation.d.ts +27 -0
  49. package/node_modules/@noodle-borg/agent-kit/dist/product-skill-validation.d.ts.map +1 -0
  50. package/node_modules/@noodle-borg/agent-kit/dist/product-skill-validation.js +262 -0
  51. package/node_modules/@noodle-borg/agent-kit/dist/product-skill-validation.js.map +1 -0
  52. package/node_modules/@noodle-borg/agent-kit/dist/skill-agent-guide-ref.d.ts +2 -0
  53. package/node_modules/@noodle-borg/agent-kit/dist/skill-agent-guide-ref.d.ts.map +1 -0
  54. package/node_modules/@noodle-borg/agent-kit/dist/skill-agent-guide-ref.js +16 -0
  55. package/node_modules/@noodle-borg/agent-kit/dist/skill-agent-guide-ref.js.map +1 -0
  56. package/node_modules/@noodle-borg/agent-kit/dist/skill-content.d.ts.map +1 -1
  57. package/node_modules/@noodle-borg/agent-kit/dist/skill-content.js +2 -0
  58. package/node_modules/@noodle-borg/agent-kit/dist/skill-content.js.map +1 -1
  59. package/node_modules/@noodle-borg/agent-kit/dist/skill-router.d.ts.map +1 -1
  60. package/node_modules/@noodle-borg/agent-kit/dist/skill-router.js +1 -0
  61. package/node_modules/@noodle-borg/agent-kit/dist/skill-router.js.map +1 -1
  62. package/node_modules/@noodle-borg/agent-kit/dist/version.d.ts +2 -0
  63. package/node_modules/@noodle-borg/agent-kit/dist/version.d.ts.map +1 -0
  64. package/node_modules/@noodle-borg/agent-kit/dist/version.js +3 -0
  65. package/node_modules/@noodle-borg/agent-kit/dist/version.js.map +1 -0
  66. package/node_modules/@noodle-borg/agent-kit/package.json +1 -1
  67. package/node_modules/@noodle-borg/app-package/dist/agent-guide-schema.d.ts +34 -0
  68. package/node_modules/@noodle-borg/app-package/dist/agent-guide-schema.d.ts.map +1 -0
  69. package/node_modules/@noodle-borg/app-package/dist/agent-guide-schema.js +50 -0
  70. package/node_modules/@noodle-borg/app-package/dist/agent-guide-schema.js.map +1 -0
  71. package/node_modules/@noodle-borg/app-package/dist/canonical.d.ts +5 -0
  72. package/node_modules/@noodle-borg/app-package/dist/canonical.d.ts.map +1 -0
  73. package/node_modules/@noodle-borg/app-package/dist/canonical.js +44 -0
  74. package/node_modules/@noodle-borg/app-package/dist/canonical.js.map +1 -0
  75. package/node_modules/@noodle-borg/app-package/dist/index.d.ts +8 -0
  76. package/node_modules/@noodle-borg/app-package/dist/index.d.ts.map +1 -0
  77. package/node_modules/@noodle-borg/app-package/dist/index.js +8 -0
  78. package/node_modules/@noodle-borg/app-package/dist/index.js.map +1 -0
  79. package/node_modules/@noodle-borg/app-package/dist/limits.d.ts +29 -0
  80. package/node_modules/@noodle-borg/app-package/dist/limits.d.ts.map +1 -0
  81. package/node_modules/@noodle-borg/app-package/dist/limits.js +29 -0
  82. package/node_modules/@noodle-borg/app-package/dist/limits.js.map +1 -0
  83. package/node_modules/@noodle-borg/app-package/dist/schema.d.ts +5 -0
  84. package/node_modules/@noodle-borg/app-package/dist/schema.d.ts.map +1 -0
  85. package/node_modules/@noodle-borg/app-package/dist/schema.js +188 -0
  86. package/node_modules/@noodle-borg/app-package/dist/schema.js.map +1 -0
  87. package/node_modules/@noodle-borg/app-package/dist/sensitive-content.d.ts +6 -0
  88. package/node_modules/@noodle-borg/app-package/dist/sensitive-content.d.ts.map +1 -0
  89. package/node_modules/@noodle-borg/app-package/dist/sensitive-content.js +39 -0
  90. package/node_modules/@noodle-borg/app-package/dist/sensitive-content.js.map +1 -0
  91. package/node_modules/@noodle-borg/app-package/dist/snapshot.d.ts +51 -0
  92. package/node_modules/@noodle-borg/app-package/dist/snapshot.d.ts.map +1 -0
  93. package/node_modules/@noodle-borg/app-package/dist/snapshot.js +160 -0
  94. package/node_modules/@noodle-borg/app-package/dist/snapshot.js.map +1 -0
  95. package/node_modules/@noodle-borg/app-package/dist/types.d.ts +126 -0
  96. package/node_modules/@noodle-borg/app-package/dist/types.d.ts.map +1 -0
  97. package/node_modules/@noodle-borg/app-package/dist/types.js +2 -0
  98. package/node_modules/@noodle-borg/app-package/dist/types.js.map +1 -0
  99. package/node_modules/@noodle-borg/app-package/package.json +31 -0
  100. package/node_modules/@noodle-borg/authoring/dist/agent-guide.d.ts +30 -0
  101. package/node_modules/@noodle-borg/authoring/dist/agent-guide.d.ts.map +1 -0
  102. package/node_modules/@noodle-borg/authoring/dist/agent-guide.js +21 -0
  103. package/node_modules/@noodle-borg/authoring/dist/agent-guide.js.map +1 -0
  104. package/node_modules/@noodle-borg/authoring/dist/index.d.ts +1 -0
  105. package/node_modules/@noodle-borg/authoring/dist/index.d.ts.map +1 -1
  106. package/node_modules/@noodle-borg/authoring/dist/index.js.map +1 -1
  107. package/node_modules/@noodle-borg/authoring/dist/react/components.d.ts +3 -3
  108. package/node_modules/@noodle-borg/authoring/dist/react/native-components.d.ts +2 -2
  109. package/node_modules/@noodle-borg/authoring/dist/server.d.ts +3 -0
  110. package/node_modules/@noodle-borg/authoring/dist/server.d.ts.map +1 -1
  111. package/node_modules/@noodle-borg/authoring/dist/server.js +4 -0
  112. package/node_modules/@noodle-borg/authoring/dist/server.js.map +1 -1
  113. package/node_modules/@noodle-borg/compiler/dist/app-package/compile.d.ts +24 -0
  114. package/node_modules/@noodle-borg/compiler/dist/app-package/compile.d.ts.map +1 -0
  115. package/node_modules/@noodle-borg/compiler/dist/app-package/compile.js +341 -0
  116. package/node_modules/@noodle-borg/compiler/dist/app-package/compile.js.map +1 -0
  117. package/node_modules/@noodle-borg/compiler/dist/compile.d.ts.map +1 -1
  118. package/node_modules/@noodle-borg/compiler/dist/compile.js +35 -0
  119. package/node_modules/@noodle-borg/compiler/dist/compile.js.map +1 -1
  120. package/node_modules/@noodle-borg/compiler/dist/errors.d.ts +3 -1
  121. package/node_modules/@noodle-borg/compiler/dist/errors.d.ts.map +1 -1
  122. package/node_modules/@noodle-borg/compiler/dist/index.d.ts +3 -0
  123. package/node_modules/@noodle-borg/compiler/dist/index.d.ts.map +1 -1
  124. package/node_modules/@noodle-borg/compiler/dist/index.js +2 -0
  125. package/node_modules/@noodle-borg/compiler/dist/index.js.map +1 -1
  126. package/node_modules/@noodle-borg/compiler/dist/manifest/agent-guide-schema.d.ts +3 -0
  127. package/node_modules/@noodle-borg/compiler/dist/manifest/agent-guide-schema.d.ts.map +1 -0
  128. package/node_modules/@noodle-borg/compiler/dist/manifest/agent-guide-schema.js +3 -0
  129. package/node_modules/@noodle-borg/compiler/dist/manifest/agent-guide-schema.js.map +1 -0
  130. package/node_modules/@noodle-borg/compiler/dist/manifest/schema.d.ts +50 -0
  131. package/node_modules/@noodle-borg/compiler/dist/manifest/schema.d.ts.map +1 -1
  132. package/node_modules/@noodle-borg/compiler/dist/manifest/schema.js +5 -1
  133. package/node_modules/@noodle-borg/compiler/dist/manifest/schema.js.map +1 -1
  134. package/node_modules/@noodle-borg/compiler/dist/suggest.d.ts +2 -0
  135. package/node_modules/@noodle-borg/compiler/dist/suggest.d.ts.map +1 -1
  136. package/node_modules/@noodle-borg/compiler/dist/suggest.js +13 -1
  137. package/node_modules/@noodle-borg/compiler/dist/suggest.js.map +1 -1
  138. package/node_modules/@noodle-borg/compiler/dist/zod-issue.d.ts.map +1 -1
  139. package/node_modules/@noodle-borg/compiler/dist/zod-issue.js +2 -0
  140. package/node_modules/@noodle-borg/compiler/dist/zod-issue.js.map +1 -1
  141. package/node_modules/@noodle-borg/compiler/package.json +1 -0
  142. package/node_modules/@noodle-borg/devtools-ui/dist/index.d.ts +2 -0
  143. package/node_modules/@noodle-borg/devtools-ui/dist/index.d.ts.map +1 -0
  144. package/node_modules/@noodle-borg/devtools-ui/dist/index.js +2 -0
  145. package/node_modules/@noodle-borg/devtools-ui/dist/index.js.map +1 -0
  146. package/node_modules/@noodle-borg/devtools-ui/package.json +28 -0
  147. package/node_modules/@noodle-borg/service/dist/app-package-snapshot.d.ts +20 -0
  148. package/node_modules/@noodle-borg/service/dist/app-package-snapshot.d.ts.map +1 -0
  149. package/node_modules/@noodle-borg/service/dist/app-package-snapshot.js +47 -0
  150. package/node_modules/@noodle-borg/service/dist/app-package-snapshot.js.map +1 -0
  151. package/node_modules/@noodle-borg/service/dist/index.d.ts +2 -2
  152. package/node_modules/@noodle-borg/service/dist/index.d.ts.map +1 -1
  153. package/node_modules/@noodle-borg/service/dist/index.js +1 -1
  154. package/node_modules/@noodle-borg/service/dist/index.js.map +1 -1
  155. package/node_modules/@noodle-borg/service/dist/platform-auth-configuration.d.ts +2 -2
  156. package/node_modules/@noodle-borg/service/dist/platform-auth-rollout-support.d.ts +2 -2
  157. package/node_modules/@noodle-borg/service/dist/product-skill-type-compatibility.d.ts +7 -0
  158. package/node_modules/@noodle-borg/service/dist/product-skill-type-compatibility.d.ts.map +1 -0
  159. package/node_modules/@noodle-borg/service/dist/product-skill-type-compatibility.js +2 -0
  160. package/node_modules/@noodle-borg/service/dist/product-skill-type-compatibility.js.map +1 -0
  161. package/node_modules/@noodle-borg/service/dist/registry-compile.d.ts +7 -1
  162. package/node_modules/@noodle-borg/service/dist/registry-compile.d.ts.map +1 -1
  163. package/node_modules/@noodle-borg/service/dist/registry-compile.js +20 -1
  164. package/node_modules/@noodle-borg/service/dist/registry-compile.js.map +1 -1
  165. package/node_modules/@noodle-borg/service/dist/registry-deploy-transaction.d.ts +6 -0
  166. package/node_modules/@noodle-borg/service/dist/registry-deploy-transaction.d.ts.map +1 -1
  167. package/node_modules/@noodle-borg/service/dist/registry-deploy-transaction.js +6 -0
  168. package/node_modules/@noodle-borg/service/dist/registry-deploy-transaction.js.map +1 -1
  169. package/node_modules/@noodle-borg/service/dist/registry-package.d.ts +23 -0
  170. package/node_modules/@noodle-borg/service/dist/registry-package.d.ts.map +1 -0
  171. package/node_modules/@noodle-borg/service/dist/registry-package.js +35 -0
  172. package/node_modules/@noodle-borg/service/dist/registry-package.js.map +1 -0
  173. package/node_modules/@noodle-borg/service/dist/registry-types.d.ts +3 -0
  174. package/node_modules/@noodle-borg/service/dist/registry-types.d.ts.map +1 -1
  175. package/node_modules/@noodle-borg/service/dist/registry.d.ts +3 -0
  176. package/node_modules/@noodle-borg/service/dist/registry.d.ts.map +1 -1
  177. package/node_modules/@noodle-borg/service/dist/registry.js +21 -5
  178. package/node_modules/@noodle-borg/service/dist/registry.js.map +1 -1
  179. package/node_modules/@noodle-borg/service/dist/routes/access.d.ts.map +1 -1
  180. package/node_modules/@noodle-borg/service/dist/routes/access.js +1 -1
  181. package/node_modules/@noodle-borg/service/dist/routes/access.js.map +1 -1
  182. package/node_modules/@noodle-borg/service/dist/routes/alerts.d.ts.map +1 -1
  183. package/node_modules/@noodle-borg/service/dist/routes/alerts.js +1 -1
  184. package/node_modules/@noodle-borg/service/dist/routes/alerts.js.map +1 -1
  185. package/node_modules/@noodle-borg/service/dist/routes/apps.d.ts +1 -1
  186. package/node_modules/@noodle-borg/service/dist/routes/apps.d.ts.map +1 -1
  187. package/node_modules/@noodle-borg/service/dist/routes/apps.js +1 -1
  188. package/node_modules/@noodle-borg/service/dist/routes/apps.js.map +1 -1
  189. package/node_modules/@noodle-borg/service/dist/routes/config-values.d.ts.map +1 -1
  190. package/node_modules/@noodle-borg/service/dist/routes/config-values.js +1 -2
  191. package/node_modules/@noodle-borg/service/dist/routes/config-values.js.map +1 -1
  192. package/node_modules/@noodle-borg/service/dist/routes/deployment-lock.d.ts.map +1 -1
  193. package/node_modules/@noodle-borg/service/dist/routes/deployment-lock.js +1 -1
  194. package/node_modules/@noodle-borg/service/dist/routes/deployment-lock.js.map +1 -1
  195. package/node_modules/@noodle-borg/service/dist/routes/deployment-package.d.ts +12 -0
  196. package/node_modules/@noodle-borg/service/dist/routes/deployment-package.d.ts.map +1 -0
  197. package/node_modules/@noodle-borg/service/dist/routes/deployment-package.js +52 -0
  198. package/node_modules/@noodle-borg/service/dist/routes/deployment-package.js.map +1 -0
  199. package/node_modules/@noodle-borg/service/dist/routes/deployments.d.ts.map +1 -1
  200. package/node_modules/@noodle-borg/service/dist/routes/deployments.js +1 -1
  201. package/node_modules/@noodle-borg/service/dist/routes/deployments.js.map +1 -1
  202. package/node_modules/@noodle-borg/service/dist/routes/environment-production.d.ts.map +1 -1
  203. package/node_modules/@noodle-borg/service/dist/routes/environment-production.js +1 -1
  204. package/node_modules/@noodle-borg/service/dist/routes/environment-production.js.map +1 -1
  205. package/node_modules/@noodle-borg/service/dist/routes/envs.d.ts +2 -2
  206. package/node_modules/@noodle-borg/service/dist/routes/envs.d.ts.map +1 -1
  207. package/node_modules/@noodle-borg/service/dist/routes/envs.js +1 -1
  208. package/node_modules/@noodle-borg/service/dist/routes/envs.js.map +1 -1
  209. package/node_modules/@noodle-borg/service/dist/routes/feedback.d.ts.map +1 -1
  210. package/node_modules/@noodle-borg/service/dist/routes/feedback.js +1 -1
  211. package/node_modules/@noodle-borg/service/dist/routes/feedback.js.map +1 -1
  212. package/node_modules/@noodle-borg/service/dist/routes/github-connection.d.ts.map +1 -1
  213. package/node_modules/@noodle-borg/service/dist/routes/github-connection.js +1 -1
  214. package/node_modules/@noodle-borg/service/dist/routes/github-connection.js.map +1 -1
  215. package/node_modules/@noodle-borg/service/dist/routes/github-runs.d.ts.map +1 -1
  216. package/node_modules/@noodle-borg/service/dist/routes/github-runs.js +1 -1
  217. package/node_modules/@noodle-borg/service/dist/routes/github-runs.js.map +1 -1
  218. package/node_modules/@noodle-borg/service/dist/routes/org-admin.d.ts.map +1 -1
  219. package/node_modules/@noodle-borg/service/dist/routes/org-admin.js +1 -1
  220. package/node_modules/@noodle-borg/service/dist/routes/org-admin.js.map +1 -1
  221. package/node_modules/@noodle-borg/service/dist/routes/org-mcp-subdomain.d.ts.map +1 -1
  222. package/node_modules/@noodle-borg/service/dist/routes/org-mcp-subdomain.js +1 -1
  223. package/node_modules/@noodle-borg/service/dist/routes/org-mcp-subdomain.js.map +1 -1
  224. package/node_modules/@noodle-borg/service/dist/routes/paths.d.ts +5 -0
  225. package/node_modules/@noodle-borg/service/dist/routes/paths.d.ts.map +1 -1
  226. package/node_modules/@noodle-borg/service/dist/routes/paths.js +16 -0
  227. package/node_modules/@noodle-borg/service/dist/routes/paths.js.map +1 -1
  228. package/node_modules/@noodle-borg/service/dist/routes/resource-read-dispatch.d.ts +2 -1
  229. package/node_modules/@noodle-borg/service/dist/routes/resource-read-dispatch.d.ts.map +1 -1
  230. package/node_modules/@noodle-borg/service/dist/routes/resource-read-dispatch.js +14 -2
  231. package/node_modules/@noodle-borg/service/dist/routes/resource-read-dispatch.js.map +1 -1
  232. package/node_modules/@noodle-borg/service/dist/service.d.ts.map +1 -1
  233. package/node_modules/@noodle-borg/service/dist/service.js +1 -0
  234. package/node_modules/@noodle-borg/service/dist/service.js.map +1 -1
  235. package/node_modules/@noodle-borg/service/dist/store/in-memory.d.ts.map +1 -1
  236. package/node_modules/@noodle-borg/service/dist/store/in-memory.js +8 -2
  237. package/node_modules/@noodle-borg/service/dist/store/in-memory.js.map +1 -1
  238. package/node_modules/@noodle-borg/service/dist/store/json-file.d.ts.map +1 -1
  239. package/node_modules/@noodle-borg/service/dist/store/json-file.js +7 -2
  240. package/node_modules/@noodle-borg/service/dist/store/json-file.js.map +1 -1
  241. package/node_modules/@noodle-borg/service/dist/store/postgres-deploy-records.d.ts.map +1 -1
  242. package/node_modules/@noodle-borg/service/dist/store/postgres-deploy-records.js +11 -6
  243. package/node_modules/@noodle-borg/service/dist/store/postgres-deploy-records.js.map +1 -1
  244. package/node_modules/@noodle-borg/service/dist/store/postgres-rows.d.ts +1 -0
  245. package/node_modules/@noodle-borg/service/dist/store/postgres-rows.d.ts.map +1 -1
  246. package/node_modules/@noodle-borg/service/dist/store/postgres-rows.js +5 -0
  247. package/node_modules/@noodle-borg/service/dist/store/postgres-rows.js.map +1 -1
  248. package/node_modules/@noodle-borg/service/dist/store/postgres-schema.d.ts.map +1 -1
  249. package/node_modules/@noodle-borg/service/dist/store/postgres-schema.js +2 -0
  250. package/node_modules/@noodle-borg/service/dist/store/postgres-schema.js.map +1 -1
  251. package/node_modules/@noodle-borg/service/dist/store.d.ts +3 -0
  252. package/node_modules/@noodle-borg/service/dist/store.d.ts.map +1 -1
  253. package/node_modules/@noodle-borg/service/dist/store.js.map +1 -1
  254. package/node_modules/@noodle-borg/service/package.json +2 -0
  255. package/node_modules/@noodle-borg/wire-contracts/dist/access-mode.d.ts +13 -0
  256. package/node_modules/@noodle-borg/wire-contracts/dist/access-mode.d.ts.map +1 -0
  257. package/node_modules/@noodle-borg/wire-contracts/dist/access-mode.js +12 -0
  258. package/node_modules/@noodle-borg/wire-contracts/dist/access-mode.js.map +1 -0
  259. package/node_modules/@noodle-borg/{service/dist/routes/config-contracts.d.ts → wire-contracts/dist/config.d.ts} +3 -2
  260. package/node_modules/@noodle-borg/wire-contracts/dist/config.d.ts.map +1 -0
  261. package/node_modules/@noodle-borg/{service/dist/routes/config-contracts.js → wire-contracts/dist/config.js} +1 -1
  262. package/node_modules/@noodle-borg/wire-contracts/dist/config.js.map +1 -0
  263. package/node_modules/@noodle-borg/{service/dist/routes/contracts.d.ts → wire-contracts/dist/control-plane.d.ts} +31 -30
  264. package/node_modules/@noodle-borg/wire-contracts/dist/control-plane.d.ts.map +1 -0
  265. package/node_modules/@noodle-borg/{service/dist/routes/contracts.js → wire-contracts/dist/control-plane.js} +11 -31
  266. package/node_modules/@noodle-borg/wire-contracts/dist/control-plane.js.map +1 -0
  267. package/node_modules/@noodle-borg/wire-contracts/dist/deployment-package.d.ts +56 -0
  268. package/node_modules/@noodle-borg/wire-contracts/dist/deployment-package.d.ts.map +1 -0
  269. package/node_modules/@noodle-borg/wire-contracts/dist/deployment-package.js +21 -0
  270. package/node_modules/@noodle-borg/wire-contracts/dist/deployment-package.js.map +1 -0
  271. package/node_modules/@noodle-borg/wire-contracts/dist/index.d.ts +5 -17
  272. package/node_modules/@noodle-borg/wire-contracts/dist/index.d.ts.map +1 -1
  273. package/node_modules/@noodle-borg/wire-contracts/dist/index.js +6 -17
  274. package/node_modules/@noodle-borg/wire-contracts/dist/index.js.map +1 -1
  275. package/node_modules/@noodle-borg/wire-contracts/package.json +1 -0
  276. package/package.json +4 -1
  277. package/node_modules/@noodle-borg/service/dist/routes/config-contracts.d.ts.map +0 -1
  278. package/node_modules/@noodle-borg/service/dist/routes/config-contracts.js.map +0 -1
  279. package/node_modules/@noodle-borg/service/dist/routes/contracts.d.ts.map +0 -1
  280. package/node_modules/@noodle-borg/service/dist/routes/contracts.js.map +0 -1
  281. /package/{dist → node_modules/@noodle-borg/devtools-ui/dist}/devtools-copy-styles.d.ts +0 -0
  282. /package/{dist → node_modules/@noodle-borg/devtools-ui/dist}/devtools-copy-styles.d.ts.map +0 -0
  283. /package/{dist → node_modules/@noodle-borg/devtools-ui/dist}/devtools-copy-styles.js +0 -0
  284. /package/{dist → node_modules/@noodle-borg/devtools-ui/dist}/devtools-copy-styles.js.map +0 -0
  285. /package/{dist → node_modules/@noodle-borg/devtools-ui/dist}/devtools-design-styles.d.ts +0 -0
  286. /package/{dist → node_modules/@noodle-borg/devtools-ui/dist}/devtools-design-styles.d.ts.map +0 -0
  287. /package/{dist → node_modules/@noodle-borg/devtools-ui/dist}/devtools-design-styles.js +0 -0
  288. /package/{dist → node_modules/@noodle-borg/devtools-ui/dist}/devtools-design-styles.js.map +0 -0
  289. /package/{dist → node_modules/@noodle-borg/devtools-ui/dist}/devtools-preview-control-styles.d.ts +0 -0
  290. /package/{dist → node_modules/@noodle-borg/devtools-ui/dist}/devtools-preview-control-styles.d.ts.map +0 -0
  291. /package/{dist → node_modules/@noodle-borg/devtools-ui/dist}/devtools-preview-control-styles.js +0 -0
  292. /package/{dist → node_modules/@noodle-borg/devtools-ui/dist}/devtools-preview-control-styles.js.map +0 -0
  293. /package/{dist → node_modules/@noodle-borg/devtools-ui/dist}/devtools-responsive-styles.d.ts +0 -0
  294. /package/{dist → node_modules/@noodle-borg/devtools-ui/dist}/devtools-responsive-styles.d.ts.map +0 -0
  295. /package/{dist → node_modules/@noodle-borg/devtools-ui/dist}/devtools-responsive-styles.js +0 -0
  296. /package/{dist → node_modules/@noodle-borg/devtools-ui/dist}/devtools-responsive-styles.js.map +0 -0
  297. /package/{dist → node_modules/@noodle-borg/devtools-ui/dist}/devtools-styles.d.ts +0 -0
  298. /package/{dist → node_modules/@noodle-borg/devtools-ui/dist}/devtools-styles.d.ts.map +0 -0
  299. /package/{dist → node_modules/@noodle-borg/devtools-ui/dist}/devtools-styles.js +0 -0
  300. /package/{dist → node_modules/@noodle-borg/devtools-ui/dist}/devtools-styles.js.map +0 -0
@@ -0,0 +1,138 @@
1
+ import { skillSlug, validateProductSkillPackageInput } from './product-skill-validation.js';
2
+ /** Render host-neutral, bounded product-skill Markdown from the safe App Package projection. */
3
+ export function renderProductSkillMarkdown(input) {
4
+ validateProductSkillPackageInput(input);
5
+ const title = heading(input.app.title);
6
+ return {
7
+ skill: renderSkill(input, title),
8
+ reference: renderReference(input, title),
9
+ };
10
+ }
11
+ function renderSkill(input, title) {
12
+ const lines = [
13
+ '---',
14
+ `name: ${skillSlug(input.app.name)}`,
15
+ `description: ${yamlScalar(input.skill.description)}`,
16
+ '---',
17
+ '',
18
+ `# ${title}`,
19
+ '',
20
+ `<!-- noodle-app-package source:${input.provenance.sourceManifestSha256} surface:${input.provenance.mcpSurfaceSha256} -->`,
21
+ '',
22
+ '## When to use this product',
23
+ ...input.skill.useWhen.map((useWhen) => `- ${prose(useWhen)}`),
24
+ '',
25
+ '## Workflows',
26
+ ...input.skill.workflows.flatMap((workflow) => [
27
+ '',
28
+ `### ${heading(workflow.title)}`,
29
+ ...(workflow.intent === undefined ? [] : ['', prose(workflow.intent)]),
30
+ '',
31
+ ...workflow.steps.map((step, index) => {
32
+ const guidance = step.guidance === undefined ? '' : ` — ${prose(step.guidance)}`;
33
+ const behavior = step.behavior === undefined ? '' : ` (${behaviorLabels(step.behavior).join('; ')})`;
34
+ return `${index + 1}. ${inlineCode(`${step.capability.kind}:${step.capability.name}`)}${guidance}${behavior}`;
35
+ }),
36
+ ]),
37
+ '',
38
+ '## Boundaries',
39
+ ...input.skill.boundaries.map((boundary) => `- ${prose(boundary)}`),
40
+ '',
41
+ '## Examples',
42
+ ...input.skill.examples.map((example) => `- “${prose(example.prompt)}” — use \`${example.workflow}\`.`),
43
+ '',
44
+ '## MCP surface',
45
+ '',
46
+ '[Read the MCP surface reference.](references/mcp-surface.md)',
47
+ '',
48
+ ];
49
+ return lines.join('\n');
50
+ }
51
+ function renderReference(input, title) {
52
+ const lines = [
53
+ `# ${title} MCP surface`,
54
+ '',
55
+ input.surface.auth.required
56
+ ? `Authentication: required (${input.surface.auth.kind === 'federatedOidc' ? 'federated OIDC' : 'OIDC'}).`
57
+ : 'Authentication: not required.',
58
+ '',
59
+ '## Tools',
60
+ '',
61
+ '| Tool | Description | Behavior | Visibility |',
62
+ '| --- | --- | --- | --- |',
63
+ ...sorted(input.surface.tools).map((tool) => `| ${tableCode(tool.name)} | ${tableText(tool.description)} | ${behaviorLabels(tool.behavior).join('; ')} | ${visibilityLabel(tool.visibility)} |`),
64
+ '',
65
+ '## Resources',
66
+ '',
67
+ '| Resource | Description |',
68
+ '| --- | --- |',
69
+ ...sorted(input.surface.resources).map((resource) => `| ${tableCode(resource.name)} | ${tableText(resource.description ?? resource.title ?? 'No description.')} |`),
70
+ '',
71
+ '## Prompts',
72
+ '',
73
+ '| Prompt | Description | Arguments |',
74
+ '| --- | --- | --- |',
75
+ ...sorted(input.surface.prompts).map((prompt) => `| ${tableCode(prompt.name)} | ${tableText(prompt.description ?? prompt.title ?? 'No description.')} | ${promptArguments(prompt)} |`),
76
+ '',
77
+ '## Widgets',
78
+ '',
79
+ '| Widget | Description | Opening tool |',
80
+ '| --- | --- | --- |',
81
+ ...sorted(input.surface.widgets).map((widget) => `| ${tableCode(widget.name)} | ${tableText(widget.title ?? widget.description ?? 'Widget.')} | Open with ${tableCode(widget.tool)}. |`),
82
+ '',
83
+ ];
84
+ return lines.join('\n');
85
+ }
86
+ function behaviorLabels(behavior) {
87
+ return [
88
+ behavior.readOnly ? 'read-only' : 'write',
89
+ ...(behavior.destructive ? ['destructive'] : []),
90
+ ...(behavior.idempotent ? ['idempotent'] : []),
91
+ ...(behavior.openWorld ? ['open-world'] : []),
92
+ ...(behavior.confirmationRequired ? ['confirmation required'] : []),
93
+ ];
94
+ }
95
+ function sorted(items) {
96
+ return [...items].sort((left, right) => asciiCompare(left.name, right.name));
97
+ }
98
+ function asciiCompare(left, right) {
99
+ if (left < right)
100
+ return -1;
101
+ if (left > right)
102
+ return 1;
103
+ return 0;
104
+ }
105
+ function visibilityLabel(visibility) {
106
+ if (visibility.length === 1 && visibility[0] === 'app')
107
+ return 'app only';
108
+ if (visibility.includes('model') && visibility.includes('app'))
109
+ return 'model and app';
110
+ return 'model';
111
+ }
112
+ function promptArguments(input) {
113
+ if (input.arguments.length === 0)
114
+ return 'None.';
115
+ return input.arguments
116
+ .map((argument) => `${tableCode(argument.name)} (${argument.required ? 'required' : 'optional'})`)
117
+ .join(', ');
118
+ }
119
+ function heading(value) {
120
+ return prose(value).replaceAll('#', '\\#').slice(0, 200);
121
+ }
122
+ function prose(value) {
123
+ return value.replace(/\s+/g, ' ').trim();
124
+ }
125
+ function tableText(value) {
126
+ return prose(value).replace(/([\\|`*_[\]()<>#!])/g, '\\$1');
127
+ }
128
+ function tableCode(value) {
129
+ return `\`${value.replace(/([\\`|])/g, '\\$1')}\``;
130
+ }
131
+ function inlineCode(value) {
132
+ return `\`${value.replace(/([\\`])/g, '\\$1')}\``;
133
+ }
134
+ function yamlScalar(value) {
135
+ const text = prose(value);
136
+ return /^[A-Za-z0-9][A-Za-z0-9 .,'!?()/-]*$/.test(text) ? text : JSON.stringify(text);
137
+ }
138
+ //# sourceMappingURL=product-skill-markdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"product-skill-markdown.js","sourceRoot":"","sources":["../src/product-skill-markdown.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { ProductSkillPackageInput, RenderedProductSkillBundleV1, RenderedProductSkillFileV1 } from './product-skill-types.js';
2
+ export type { ProductSkillRenderErrorCode } from './product-skill-validation.js';
3
+ export { PRODUCT_SKILL_VALIDATION_LIMITS, ProductSkillRenderError, } from './product-skill-validation.js';
4
+ /** Render both project-local host projections without filesystem, network, auth, or compiler dependencies. */
5
+ export declare function renderProductSkillBundle(input: ProductSkillPackageInput): RenderedProductSkillBundleV1;
6
+ /** Verify persisted or injected files against the same canonical host contract used during rendering. */
7
+ export declare function validateRenderedProductSkillFiles(input: ProductSkillPackageInput, files: readonly RenderedProductSkillFileV1[]): void;
8
+ //# sourceMappingURL=product-skill-renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"product-skill-renderer.d.ts","sourceRoot":"","sources":["../src/product-skill-renderer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,wBAAwB,EAExB,4BAA4B,EAC5B,0BAA0B,EAC3B,MAAM,0BAA0B,CAAC;AASlC,YAAY,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,EACL,+BAA+B,EAC/B,uBAAuB,GACxB,MAAM,+BAA+B,CAAC;AAMvC,8GAA8G;AAC9G,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,wBAAwB,GAC9B,4BAA4B,CAsB9B;AAED,yGAAyG;AACzG,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,wBAAwB,EAC/B,KAAK,EAAE,SAAS,0BAA0B,EAAE,GAC3C,IAAI,CAGN"}
@@ -0,0 +1,135 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { renderProductSkillMarkdown } from './product-skill-markdown.js';
3
+ import { ProductSkillRenderError, skillSlug, validateProductSkillPackageInput, } from './product-skill-validation.js';
4
+ import { AGENT_KIT_VERSION } from './version.js';
5
+ export { PRODUCT_SKILL_VALIDATION_LIMITS, ProductSkillRenderError, } from './product-skill-validation.js';
6
+ const MAX_FILE_BYTES = 64 * 1024;
7
+ const MAX_TOTAL_BYTES = 256 * 1024;
8
+ const MAX_SKILL_MD_LINES = 500;
9
+ /** Render both project-local host projections without filesystem, network, auth, or compiler dependencies. */
10
+ export function renderProductSkillBundle(input) {
11
+ validateProductSkillPackageInput(input);
12
+ const slug = skillSlug(input.app.name);
13
+ const markdown = renderProductSkillMarkdown(input);
14
+ const unverified = [
15
+ renderFile('codex', `.agents/skills/${slug}/SKILL.md`, markdown.skill),
16
+ renderFile('codex', `.agents/skills/${slug}/references/mcp-surface.md`, markdown.reference),
17
+ renderFile('claude-code', `.claude/skills/${slug}/SKILL.md`, markdown.skill),
18
+ renderFile('claude-code', `.claude/skills/${slug}/references/mcp-surface.md`, markdown.reference),
19
+ ];
20
+ validateFiles(unverified, slug);
21
+ const files = unverified.map((file) => deepFreeze(file));
22
+ return deepFreeze({
23
+ schemaVersion: 1,
24
+ rendererVersion: AGENT_KIT_VERSION,
25
+ files: deepFreeze(files),
26
+ bundleSha256: bundleSha256(input, files),
27
+ });
28
+ }
29
+ /** Verify persisted or injected files against the same canonical host contract used during rendering. */
30
+ export function validateRenderedProductSkillFiles(input, files) {
31
+ validateProductSkillPackageInput(input);
32
+ validateFiles(files, skillSlug(input.app.name));
33
+ }
34
+ function renderFile(target, path, content) {
35
+ return {
36
+ target,
37
+ path,
38
+ content,
39
+ sha256: sha256(content),
40
+ byteLength: Buffer.byteLength(content, 'utf8'),
41
+ };
42
+ }
43
+ function validateFiles(files, slug) {
44
+ const expected = new Set([
45
+ `codex\u0000.agents/skills/${slug}/SKILL.md`,
46
+ `codex\u0000.agents/skills/${slug}/references/mcp-surface.md`,
47
+ `claude-code\u0000.claude/skills/${slug}/SKILL.md`,
48
+ `claude-code\u0000.claude/skills/${slug}/references/mcp-surface.md`,
49
+ ]);
50
+ const pairs = new Set();
51
+ let totalBytes = 0;
52
+ let fileTooLarge = false;
53
+ for (const file of files) {
54
+ const pair = `${file.target}\u0000${file.path}`;
55
+ if (!isSafeRelativePath(file.path) || !expected.has(pair))
56
+ fail('app_package_unsafe_path');
57
+ if (!hasOneLevelReferenceDepth(file.path, slug))
58
+ fail('app_package_unsafe_path');
59
+ if (pairs.has(pair))
60
+ fail('app_package_unsafe_path');
61
+ pairs.add(pair);
62
+ if (!nonBlank(file.content))
63
+ fail('app_package_invalid');
64
+ const byteLength = Buffer.byteLength(file.content, 'utf8');
65
+ if (file.byteLength !== byteLength || file.sha256 !== sha256(file.content))
66
+ fail('app_package_invalid');
67
+ if (file.path.endsWith('/SKILL.md') && markdownLineCount(file.content) > MAX_SKILL_MD_LINES)
68
+ fail('app_package_file_too_large');
69
+ if (byteLength > MAX_FILE_BYTES)
70
+ fileTooLarge = true;
71
+ totalBytes += byteLength;
72
+ }
73
+ if (pairs.size !== expected.size || expected.size !== files.length)
74
+ fail('app_package_unsafe_path');
75
+ if (totalBytes > MAX_TOTAL_BYTES)
76
+ fail('app_package_total_too_large');
77
+ if (fileTooLarge)
78
+ fail('app_package_file_too_large');
79
+ }
80
+ function markdownLineCount(content) {
81
+ return (content.match(/\n/g) ?? []).length + (content.endsWith('\n') ? 0 : 1);
82
+ }
83
+ function hasOneLevelReferenceDepth(path, slug) {
84
+ const roots = [`.agents/skills/${slug}`, `.claude/skills/${slug}`];
85
+ return roots.some((root) => path === `${root}/SKILL.md` || path === `${root}/references/mcp-surface.md`);
86
+ }
87
+ function isSafeRelativePath(path) {
88
+ return (path.length > 0 &&
89
+ !path.startsWith('/') &&
90
+ !path.includes('\\') &&
91
+ !path.includes('\0') &&
92
+ path.split('/').every((part) => part !== '' && part !== '.' && part !== '..'));
93
+ }
94
+ function bundleSha256(input, files) {
95
+ return sha256(canonicalJson({
96
+ sourceManifestSha256: input.provenance.sourceManifestSha256,
97
+ mcpSurfaceSha256: input.provenance.mcpSurfaceSha256,
98
+ files: files.map((file) => ({ target: file.target, path: file.path, sha256: file.sha256 })),
99
+ }));
100
+ }
101
+ function canonicalJson(value) {
102
+ if (value === null ||
103
+ typeof value === 'boolean' ||
104
+ typeof value === 'string' ||
105
+ (typeof value === 'number' && Number.isFinite(value)))
106
+ return JSON.stringify(value);
107
+ if (Array.isArray(value))
108
+ return `[${value.map(canonicalJson).join(',')}]`;
109
+ if (!isRecord(value))
110
+ throw new TypeError('canonical JSON accepts only objects, arrays, and primitives');
111
+ return `{${Object.keys(value)
112
+ .sort()
113
+ .map((key) => `${JSON.stringify(key)}:${canonicalJson(value[key])}`)
114
+ .join(',')}}`;
115
+ }
116
+ function deepFreeze(value) {
117
+ if (Array.isArray(value))
118
+ value.forEach(deepFreeze);
119
+ else if (isRecord(value))
120
+ Object.values(value).forEach(deepFreeze);
121
+ return Object.freeze(value);
122
+ }
123
+ function sha256(value) {
124
+ return createHash('sha256').update(value).digest('hex');
125
+ }
126
+ function nonBlank(value) {
127
+ return typeof value === 'string' && value.trim().length > 0;
128
+ }
129
+ function isRecord(value) {
130
+ return value !== null && typeof value === 'object' && !Array.isArray(value);
131
+ }
132
+ function fail(code) {
133
+ throw new ProductSkillRenderError(code);
134
+ }
135
+ //# sourceMappingURL=product-skill-renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"product-skill-renderer.js","sourceRoot":"","sources":["../src/product-skill-renderer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,126 @@
1
+ /** Public, compiler-assignable input consumed by the dependency-free product-skill renderer. */
2
+ export interface ProductSkillPackageInput {
3
+ readonly schemaVersion: '1';
4
+ readonly app: {
5
+ readonly name: string;
6
+ readonly title: string;
7
+ readonly version: string;
8
+ };
9
+ readonly skill: {
10
+ readonly description: string;
11
+ readonly useWhen: readonly string[];
12
+ readonly workflows: readonly ProductSkillWorkflow[];
13
+ readonly boundaries: readonly string[];
14
+ readonly examples: readonly {
15
+ readonly prompt: string;
16
+ readonly workflow: string;
17
+ }[];
18
+ };
19
+ readonly surface: ProductSkillSurface;
20
+ readonly provenance: {
21
+ readonly sourceManifestSha256: string;
22
+ readonly mcpSurfaceSha256: string;
23
+ readonly compilerVersion: '1';
24
+ };
25
+ }
26
+ export interface ProductSkillWorkflow {
27
+ readonly id: string;
28
+ readonly title: string;
29
+ readonly intent?: string | undefined;
30
+ readonly steps: readonly ProductSkillWorkflowStep[];
31
+ }
32
+ export interface ProductSkillWorkflowStep {
33
+ readonly capability: {
34
+ readonly kind: ProductSkillCapabilityKind;
35
+ readonly name: string;
36
+ };
37
+ readonly guidance?: string | undefined;
38
+ readonly behavior?: ProductSkillToolBehavior | undefined;
39
+ }
40
+ export type ProductSkillCapabilityKind = 'tool' | 'resource' | 'prompt';
41
+ export interface ProductSkillToolBehavior {
42
+ readonly readOnly: boolean;
43
+ readonly destructive: boolean;
44
+ readonly idempotent: boolean;
45
+ readonly openWorld: boolean;
46
+ readonly confirmationRequired: boolean;
47
+ }
48
+ export interface ProductSkillSurface {
49
+ readonly auth: {
50
+ readonly required: boolean;
51
+ readonly kind?: 'oidc' | 'federatedOidc' | undefined;
52
+ };
53
+ readonly tools: readonly ProductSkillTool[];
54
+ readonly resources: readonly ProductSkillResource[];
55
+ readonly prompts: readonly ProductSkillPrompt[];
56
+ readonly widgets: readonly ProductSkillWidget[];
57
+ }
58
+ export interface ProductSkillTool {
59
+ readonly kind: 'tool';
60
+ readonly name: string;
61
+ readonly title?: string | undefined;
62
+ readonly description: string;
63
+ readonly input: ProductSkillSchemaSummary;
64
+ readonly output?: ProductSkillSchemaSummary | undefined;
65
+ readonly behavior: ProductSkillToolBehavior;
66
+ readonly visibility: readonly ('model' | 'app')[];
67
+ readonly authorization?: {
68
+ readonly requiredScopes?: readonly string[] | undefined;
69
+ readonly allowedRoles?: readonly string[] | undefined;
70
+ } | undefined;
71
+ readonly widget?: string | undefined;
72
+ }
73
+ export interface ProductSkillSchemaSummary {
74
+ readonly type: string;
75
+ readonly fields?: readonly {
76
+ readonly name: string;
77
+ readonly type: string;
78
+ readonly required: boolean;
79
+ readonly description?: string | undefined;
80
+ }[] | undefined;
81
+ }
82
+ export interface ProductSkillResource {
83
+ readonly kind: 'resource';
84
+ readonly name: string;
85
+ readonly uri: string;
86
+ readonly title?: string | undefined;
87
+ readonly description?: string | undefined;
88
+ readonly mimeType?: string | undefined;
89
+ }
90
+ export interface ProductSkillPrompt {
91
+ readonly kind: 'prompt';
92
+ readonly name: string;
93
+ readonly title?: string | undefined;
94
+ readonly description?: string | undefined;
95
+ readonly arguments: readonly {
96
+ readonly name: string;
97
+ readonly description?: string | undefined;
98
+ readonly required: boolean;
99
+ }[];
100
+ }
101
+ export interface ProductSkillWidget {
102
+ readonly kind: 'widget';
103
+ readonly name: string;
104
+ readonly title?: string | undefined;
105
+ readonly description?: string | undefined;
106
+ readonly tool: string;
107
+ }
108
+ export interface ProductSkillMarkdown {
109
+ readonly skill: string;
110
+ readonly reference: string;
111
+ }
112
+ export type ProductSkillRenderTarget = 'codex' | 'claude-code';
113
+ export interface RenderedProductSkillFileV1 {
114
+ readonly target: ProductSkillRenderTarget;
115
+ readonly path: string;
116
+ readonly content: string;
117
+ readonly sha256: string;
118
+ readonly byteLength: number;
119
+ }
120
+ export interface RenderedProductSkillBundleV1 {
121
+ readonly schemaVersion: 1;
122
+ readonly rendererVersion: string;
123
+ readonly files: readonly RenderedProductSkillFileV1[];
124
+ readonly bundleSha256: string;
125
+ }
126
+ //# sourceMappingURL=product-skill-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"product-skill-types.d.ts","sourceRoot":"","sources":["../src/product-skill-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=product-skill-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"product-skill-types.js","sourceRoot":"","sources":["../src/product-skill-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,27 @@
1
+ import type { ProductSkillPackageInput } from './product-skill-types.js';
2
+ /** Drift-testable validation bounds; Agent Kit stays runtime-dependency-free. */
3
+ export declare const PRODUCT_SKILL_VALIDATION_LIMITS: Readonly<{
4
+ identifierChars: 200;
5
+ proseChars: 4000;
6
+ useWhen: 32;
7
+ workflows: 32;
8
+ workflowSteps: 64;
9
+ boundaries: 64;
10
+ examples: 64;
11
+ surfaceItems: 256;
12
+ schemaFields: 64;
13
+ promptArguments: 64;
14
+ authorizationValues: 128;
15
+ artifactBytes: number;
16
+ }>;
17
+ export type ProductSkillRenderErrorCode = 'app_package_invalid' | 'app_package_unsafe_path' | 'app_package_file_too_large' | 'app_package_total_too_large' | 'app_package_sensitive_content';
18
+ /** A stable, non-echoing failure for invalid generated product-skill packages. */
19
+ export declare class ProductSkillRenderError extends Error {
20
+ readonly code: ProductSkillRenderErrorCode;
21
+ constructor(code: ProductSkillRenderErrorCode);
22
+ }
23
+ /** Validate the compiler-compatible public input before either Markdown or bundle rendering. */
24
+ export declare function validateProductSkillPackageInput(input: ProductSkillPackageInput): void;
25
+ /** Total Core-name to host-name mapping; the fallback namespace cannot collide with a simple slug. */
26
+ export declare function skillSlug(name: string): string;
27
+ //# sourceMappingURL=product-skill-validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"product-skill-validation.d.ts","sourceRoot":"","sources":["../src/product-skill-validation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAqBzE,iFAAiF;AACjF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;EAa1C,CAAC;AAEH,MAAM,MAAM,2BAA2B,GACnC,qBAAqB,GACrB,yBAAyB,GACzB,4BAA4B,GAC5B,6BAA6B,GAC7B,+BAA+B,CAAC;AAEpC,kFAAkF;AAClF,qBAAa,uBAAwB,SAAQ,KAAK;IACpC,QAAQ,CAAC,IAAI,EAAE,2BAA2B;gBAAjC,IAAI,EAAE,2BAA2B;CAIvD;AAED,gGAAgG;AAChG,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,wBAAwB,GAAG,IAAI,CAmBtF;AAED,sGAAsG;AACtG,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAW9C"}