@noodleseed/one 0.120.0 → 0.121.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 (416) hide show
  1. package/dist/commands/auth-ops.d.ts.map +1 -1
  2. package/dist/commands/auth-ops.js +1 -0
  3. package/dist/commands/auth-ops.js.map +1 -1
  4. package/dist/commands/catalog-data-bootstrap-authoring.d.ts.map +1 -1
  5. package/dist/commands/catalog-data-bootstrap-authoring.js +98 -189
  6. package/dist/commands/catalog-data-bootstrap-authoring.js.map +1 -1
  7. package/dist/commands/mcp-apps.d.ts.map +1 -1
  8. package/dist/commands/mcp-apps.js +1 -0
  9. package/dist/commands/mcp-apps.js.map +1 -1
  10. package/dist/commands/project-setup.d.ts.map +1 -1
  11. package/dist/commands/project-setup.js +25 -5
  12. package/dist/commands/project-setup.js.map +1 -1
  13. package/dist/delegated-token-exchange-preflight.d.ts.map +1 -1
  14. package/dist/delegated-token-exchange-preflight.js +1 -0
  15. package/dist/delegated-token-exchange-preflight.js.map +1 -1
  16. package/dist/deploy.d.ts.map +1 -1
  17. package/dist/deploy.js +8 -131
  18. package/dist/deploy.js.map +1 -1
  19. package/dist/index.d.ts +1 -3
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +1 -1
  22. package/dist/index.js.map +1 -1
  23. package/dist/local-compile.d.ts.map +1 -1
  24. package/dist/local-compile.js +1 -0
  25. package/dist/local-compile.js.map +1 -1
  26. package/node_modules/@noodle-borg/agent-kit/dist/curated/error-fixes.d.ts.map +1 -1
  27. package/node_modules/@noodle-borg/agent-kit/dist/curated/error-fixes.js +2 -0
  28. package/node_modules/@noodle-borg/agent-kit/dist/curated/error-fixes.js.map +1 -1
  29. package/node_modules/@noodle-borg/agent-kit/dist/generated/example-files.d.ts.map +1 -1
  30. package/node_modules/@noodle-borg/agent-kit/dist/generated/example-files.js +7 -5
  31. package/node_modules/@noodle-borg/agent-kit/dist/generated/example-files.js.map +1 -1
  32. package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.d.ts.map +1 -1
  33. package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.js +5 -0
  34. package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.js.map +1 -1
  35. package/node_modules/@noodle-borg/agent-kit/dist/plugin-submission.js +1 -1
  36. package/node_modules/@noodle-borg/agent-kit/dist/plugin-submission.js.map +1 -1
  37. package/node_modules/@noodle-borg/agent-kit/dist/product-skill-ownership.d.ts.map +1 -1
  38. package/node_modules/@noodle-borg/agent-kit/dist/product-skill-ownership.js +5 -3
  39. package/node_modules/@noodle-borg/agent-kit/dist/product-skill-ownership.js.map +1 -1
  40. package/node_modules/@noodle-borg/agent-kit/dist/skill-authoring-refs.d.ts.map +1 -1
  41. package/node_modules/@noodle-borg/agent-kit/dist/skill-authoring-refs.js +20 -0
  42. package/node_modules/@noodle-borg/agent-kit/dist/skill-authoring-refs.js.map +1 -1
  43. package/node_modules/@noodle-borg/agent-kit/dist/skill-operations-refs.d.ts.map +1 -1
  44. package/node_modules/@noodle-borg/agent-kit/dist/skill-operations-refs.js +5 -1
  45. package/node_modules/@noodle-borg/agent-kit/dist/skill-operations-refs.js.map +1 -1
  46. package/node_modules/@noodle-borg/agent-packaging/dist/host-package-assets.d.ts +2 -1
  47. package/node_modules/@noodle-borg/agent-packaging/dist/host-package-assets.d.ts.map +1 -1
  48. package/node_modules/@noodle-borg/agent-packaging/dist/host-package-assets.js +11 -1
  49. package/node_modules/@noodle-borg/agent-packaging/dist/host-package-assets.js.map +1 -1
  50. package/node_modules/@noodle-borg/agent-packaging/dist/host-packaging-types.d.ts +16 -3
  51. package/node_modules/@noodle-borg/agent-packaging/dist/host-packaging-types.d.ts.map +1 -1
  52. package/node_modules/@noodle-borg/agent-packaging/dist/host-packaging-validation.d.ts.map +1 -1
  53. package/node_modules/@noodle-borg/agent-packaging/dist/host-packaging-validation.js +13 -4
  54. package/node_modules/@noodle-borg/agent-packaging/dist/host-packaging-validation.js.map +1 -1
  55. package/node_modules/@noodle-borg/agent-packaging/dist/index.d.ts +1 -0
  56. package/node_modules/@noodle-borg/agent-packaging/dist/index.d.ts.map +1 -1
  57. package/node_modules/@noodle-borg/agent-packaging/dist/index.js +1 -0
  58. package/node_modules/@noodle-borg/agent-packaging/dist/index.js.map +1 -1
  59. package/node_modules/@noodle-borg/agent-packaging/dist/product-skill-validation.d.ts.map +1 -1
  60. package/node_modules/@noodle-borg/agent-packaging/dist/product-skill-validation.js +4 -3
  61. package/node_modules/@noodle-borg/agent-packaging/dist/product-skill-validation.js.map +1 -1
  62. package/node_modules/@noodle-borg/assistant-gateway/package.json +1 -1
  63. package/node_modules/@noodle-borg/authoring/dist/assistant.d.ts +4 -3
  64. package/node_modules/@noodle-borg/authoring/dist/assistant.d.ts.map +1 -1
  65. package/node_modules/@noodle-borg/authoring/dist/assistant.js.map +1 -1
  66. package/node_modules/@noodle-borg/authoring/dist/distribution.d.ts +17 -3
  67. package/node_modules/@noodle-borg/authoring/dist/distribution.d.ts.map +1 -1
  68. package/node_modules/@noodle-borg/authoring/dist/distribution.js.map +1 -1
  69. package/node_modules/@noodle-borg/authoring/dist/index.d.ts +2 -1
  70. package/node_modules/@noodle-borg/authoring/dist/index.d.ts.map +1 -1
  71. package/node_modules/@noodle-borg/authoring/dist/index.js +1 -0
  72. package/node_modules/@noodle-borg/authoring/dist/index.js.map +1 -1
  73. package/node_modules/@noodle-borg/authoring/dist/knowledge.d.ts +70 -0
  74. package/node_modules/@noodle-borg/authoring/dist/knowledge.d.ts.map +1 -0
  75. package/node_modules/@noodle-borg/authoring/dist/knowledge.js +50 -0
  76. package/node_modules/@noodle-borg/authoring/dist/knowledge.js.map +1 -0
  77. package/node_modules/@noodle-borg/authoring/dist/load-authored.d.ts +24 -0
  78. package/node_modules/@noodle-borg/authoring/dist/load-authored.d.ts.map +1 -0
  79. package/node_modules/@noodle-borg/authoring/dist/load-authored.js +141 -0
  80. package/node_modules/@noodle-borg/authoring/dist/load-authored.js.map +1 -0
  81. package/node_modules/@noodle-borg/authoring/dist/react/components.d.ts +3 -3
  82. package/node_modules/@noodle-borg/authoring/dist/react/native-components.d.ts +2 -2
  83. package/node_modules/@noodle-borg/authoring/dist/server.d.ts +3 -0
  84. package/node_modules/@noodle-borg/authoring/dist/server.d.ts.map +1 -1
  85. package/node_modules/@noodle-borg/authoring/dist/server.js +4 -0
  86. package/node_modules/@noodle-borg/authoring/dist/server.js.map +1 -1
  87. package/node_modules/@noodle-borg/authoring/package.json +5 -0
  88. package/node_modules/@noodle-borg/brand-kit/dist/index.d.ts +8 -0
  89. package/node_modules/@noodle-borg/brand-kit/dist/index.d.ts.map +1 -0
  90. package/node_modules/@noodle-borg/brand-kit/dist/index.js +8 -0
  91. package/node_modules/@noodle-borg/brand-kit/dist/index.js.map +1 -0
  92. package/node_modules/@noodle-borg/{compiler/dist/widget-palette.d.ts → brand-kit/dist/palette.d.ts} +1 -1
  93. package/node_modules/@noodle-borg/brand-kit/dist/palette.d.ts.map +1 -0
  94. package/node_modules/@noodle-borg/{compiler/dist/widget-palette.js → brand-kit/dist/palette.js} +1 -1
  95. package/node_modules/@noodle-borg/brand-kit/dist/palette.js.map +1 -0
  96. package/node_modules/@noodle-borg/{compiler/dist/widget-ui-style.d.ts → brand-kit/dist/ui-style.d.ts} +1 -1
  97. package/node_modules/@noodle-borg/brand-kit/dist/ui-style.d.ts.map +1 -0
  98. package/node_modules/@noodle-borg/{compiler/dist/widget-ui-style.js → brand-kit/dist/ui-style.js} +1 -1
  99. package/node_modules/@noodle-borg/brand-kit/dist/ui-style.js.map +1 -0
  100. package/node_modules/@noodle-borg/brand-kit/package.json +28 -0
  101. package/node_modules/@noodle-borg/compiler/dist/artifact/assemble.d.ts +2 -1
  102. package/node_modules/@noodle-borg/compiler/dist/artifact/assemble.d.ts.map +1 -1
  103. package/node_modules/@noodle-borg/compiler/dist/artifact/assemble.js +2 -1
  104. package/node_modules/@noodle-borg/compiler/dist/artifact/assemble.js.map +1 -1
  105. package/node_modules/@noodle-borg/compiler/dist/artifact/types.d.ts +3 -0
  106. package/node_modules/@noodle-borg/compiler/dist/artifact/types.d.ts.map +1 -1
  107. package/node_modules/@noodle-borg/compiler/dist/artifact/types.js.map +1 -1
  108. package/node_modules/@noodle-borg/compiler/dist/branding.d.ts.map +1 -1
  109. package/node_modules/@noodle-borg/compiler/dist/branding.js +1 -1
  110. package/node_modules/@noodle-borg/compiler/dist/branding.js.map +1 -1
  111. package/node_modules/@noodle-borg/compiler/dist/compile.d.ts +8 -0
  112. package/node_modules/@noodle-borg/compiler/dist/compile.d.ts.map +1 -1
  113. package/node_modules/@noodle-borg/compiler/dist/compile.js +8 -1
  114. package/node_modules/@noodle-borg/compiler/dist/compile.js.map +1 -1
  115. package/node_modules/@noodle-borg/compiler/dist/errors.d.ts +1 -1
  116. package/node_modules/@noodle-borg/compiler/dist/errors.d.ts.map +1 -1
  117. package/node_modules/@noodle-borg/compiler/dist/index.d.ts +1 -1
  118. package/node_modules/@noodle-borg/compiler/dist/index.d.ts.map +1 -1
  119. package/node_modules/@noodle-borg/compiler/dist/index.js +1 -1
  120. package/node_modules/@noodle-borg/compiler/dist/index.js.map +1 -1
  121. package/node_modules/@noodle-borg/compiler/dist/manifest/schema.d.ts +36 -0
  122. package/node_modules/@noodle-borg/compiler/dist/manifest/schema.d.ts.map +1 -1
  123. package/node_modules/@noodle-borg/compiler/dist/manifest/schema.js +7 -1
  124. package/node_modules/@noodle-borg/compiler/dist/manifest/schema.js.map +1 -1
  125. package/node_modules/@noodle-borg/compiler/dist/manifest/website-projection.d.ts +4 -0
  126. package/node_modules/@noodle-borg/compiler/dist/manifest/website-projection.d.ts.map +1 -1
  127. package/node_modules/@noodle-borg/compiler/dist/manifest/website-projection.js +1 -0
  128. package/node_modules/@noodle-borg/compiler/dist/manifest/website-projection.js.map +1 -1
  129. package/node_modules/@noodle-borg/compiler/dist/widget-emit.d.ts +1 -1
  130. package/node_modules/@noodle-borg/compiler/dist/widget-emit.d.ts.map +1 -1
  131. package/node_modules/@noodle-borg/compiler/dist/widget-emit.js +1 -1
  132. package/node_modules/@noodle-borg/compiler/dist/widget-emit.js.map +1 -1
  133. package/node_modules/@noodle-borg/compiler/dist/widget-size-validation.d.ts +1 -1
  134. package/node_modules/@noodle-borg/compiler/dist/widget-size-validation.d.ts.map +1 -1
  135. package/node_modules/@noodle-borg/compiler/dist/widget-size-validation.js.map +1 -1
  136. package/node_modules/@noodle-borg/compiler/package.json +3 -0
  137. package/node_modules/@noodle-borg/knowledge/dist/bm25.d.ts +14 -0
  138. package/node_modules/@noodle-borg/knowledge/dist/bm25.d.ts.map +1 -0
  139. package/node_modules/@noodle-borg/knowledge/dist/bm25.js +133 -0
  140. package/node_modules/@noodle-borg/knowledge/dist/bm25.js.map +1 -0
  141. package/node_modules/@noodle-borg/knowledge/dist/budget.d.ts +37 -0
  142. package/node_modules/@noodle-borg/knowledge/dist/budget.d.ts.map +1 -0
  143. package/node_modules/@noodle-borg/knowledge/dist/budget.js +52 -0
  144. package/node_modules/@noodle-borg/knowledge/dist/budget.js.map +1 -0
  145. package/node_modules/@noodle-borg/knowledge/dist/compile.d.ts +52 -0
  146. package/node_modules/@noodle-borg/knowledge/dist/compile.d.ts.map +1 -0
  147. package/node_modules/@noodle-borg/knowledge/dist/compile.js +250 -0
  148. package/node_modules/@noodle-borg/knowledge/dist/compile.js.map +1 -0
  149. package/node_modules/@noodle-borg/knowledge/dist/conformance.d.ts +21 -0
  150. package/node_modules/@noodle-borg/knowledge/dist/conformance.d.ts.map +1 -0
  151. package/node_modules/@noodle-borg/knowledge/dist/conformance.js +225 -0
  152. package/node_modules/@noodle-borg/knowledge/dist/conformance.js.map +1 -0
  153. package/node_modules/@noodle-borg/knowledge/dist/fakes.d.ts +23 -0
  154. package/node_modules/@noodle-borg/knowledge/dist/fakes.d.ts.map +1 -0
  155. package/node_modules/@noodle-borg/knowledge/dist/fakes.js +141 -0
  156. package/node_modules/@noodle-borg/knowledge/dist/fakes.js.map +1 -0
  157. package/node_modules/@noodle-borg/knowledge/dist/fusion.d.ts +27 -0
  158. package/node_modules/@noodle-borg/knowledge/dist/fusion.d.ts.map +1 -0
  159. package/node_modules/@noodle-borg/knowledge/dist/fusion.js +119 -0
  160. package/node_modules/@noodle-borg/knowledge/dist/fusion.js.map +1 -0
  161. package/node_modules/@noodle-borg/knowledge/dist/google-agent-search.d.ts +49 -0
  162. package/node_modules/@noodle-borg/knowledge/dist/google-agent-search.d.ts.map +1 -0
  163. package/node_modules/@noodle-borg/knowledge/dist/google-agent-search.js +235 -0
  164. package/node_modules/@noodle-borg/knowledge/dist/google-agent-search.js.map +1 -0
  165. package/node_modules/@noodle-borg/knowledge/dist/hits.d.ts +31 -0
  166. package/node_modules/@noodle-borg/knowledge/dist/hits.d.ts.map +1 -0
  167. package/node_modules/@noodle-borg/knowledge/dist/hits.js +75 -0
  168. package/node_modules/@noodle-borg/knowledge/dist/hits.js.map +1 -0
  169. package/node_modules/@noodle-borg/knowledge/dist/index.d.ts +25 -0
  170. package/node_modules/@noodle-borg/knowledge/dist/index.d.ts.map +1 -0
  171. package/node_modules/@noodle-borg/knowledge/dist/index.js +25 -0
  172. package/node_modules/@noodle-borg/knowledge/dist/index.js.map +1 -0
  173. package/node_modules/@noodle-borg/knowledge/dist/ir.d.ts +53 -0
  174. package/node_modules/@noodle-borg/knowledge/dist/ir.d.ts.map +1 -0
  175. package/node_modules/@noodle-borg/knowledge/dist/ir.js +87 -0
  176. package/node_modules/@noodle-borg/knowledge/dist/ir.js.map +1 -0
  177. package/node_modules/@noodle-borg/knowledge/dist/limits.d.ts +19 -0
  178. package/node_modules/@noodle-borg/knowledge/dist/limits.d.ts.map +1 -0
  179. package/node_modules/@noodle-borg/knowledge/dist/limits.js +19 -0
  180. package/node_modules/@noodle-borg/knowledge/dist/limits.js.map +1 -0
  181. package/node_modules/@noodle-borg/knowledge/dist/manifest-schema.d.ts +42 -0
  182. package/node_modules/@noodle-borg/knowledge/dist/manifest-schema.d.ts.map +1 -0
  183. package/node_modules/@noodle-borg/knowledge/dist/manifest-schema.js +45 -0
  184. package/node_modules/@noodle-borg/knowledge/dist/manifest-schema.js.map +1 -0
  185. package/node_modules/@noodle-borg/knowledge/dist/ports.d.ts +56 -0
  186. package/node_modules/@noodle-borg/knowledge/dist/ports.d.ts.map +1 -0
  187. package/node_modules/@noodle-borg/knowledge/dist/ports.js +13 -0
  188. package/node_modules/@noodle-borg/knowledge/dist/ports.js.map +1 -0
  189. package/node_modules/@noodle-borg/knowledge/dist/postgres-revision-store.d.ts +33 -0
  190. package/node_modules/@noodle-borg/knowledge/dist/postgres-revision-store.d.ts.map +1 -0
  191. package/node_modules/@noodle-borg/knowledge/dist/postgres-revision-store.js +200 -0
  192. package/node_modules/@noodle-borg/knowledge/dist/postgres-revision-store.js.map +1 -0
  193. package/node_modules/@noodle-borg/knowledge/dist/revision-store.d.ts +59 -0
  194. package/node_modules/@noodle-borg/knowledge/dist/revision-store.d.ts.map +1 -0
  195. package/node_modules/@noodle-borg/knowledge/dist/revision-store.js +128 -0
  196. package/node_modules/@noodle-borg/knowledge/dist/revision-store.js.map +1 -0
  197. package/node_modules/@noodle-borg/knowledge/package.json +36 -0
  198. package/node_modules/@noodle-borg/module/dist/contract.d.ts +2 -0
  199. package/node_modules/@noodle-borg/module/dist/contract.d.ts.map +1 -1
  200. package/node_modules/@noodle-borg/module/dist/contract.js.map +1 -1
  201. package/node_modules/@noodle-borg/plugin-distribution/dist/anthropic-connector-render.d.ts +4 -0
  202. package/node_modules/@noodle-borg/plugin-distribution/dist/anthropic-connector-render.d.ts.map +1 -0
  203. package/node_modules/@noodle-borg/plugin-distribution/dist/anthropic-connector-render.js +147 -0
  204. package/node_modules/@noodle-borg/plugin-distribution/dist/anthropic-connector-render.js.map +1 -0
  205. package/node_modules/@noodle-borg/plugin-distribution/dist/anthropic-connector-types.d.ts +14 -0
  206. package/node_modules/@noodle-borg/plugin-distribution/dist/anthropic-connector-types.d.ts.map +1 -0
  207. package/node_modules/@noodle-borg/plugin-distribution/dist/anthropic-connector-types.js +2 -0
  208. package/node_modules/@noodle-borg/plugin-distribution/dist/anthropic-connector-types.js.map +1 -0
  209. package/node_modules/@noodle-borg/plugin-distribution/dist/anthropic-connector-validation.d.ts +10 -0
  210. package/node_modules/@noodle-borg/plugin-distribution/dist/anthropic-connector-validation.d.ts.map +1 -0
  211. package/node_modules/@noodle-borg/plugin-distribution/dist/anthropic-connector-validation.js +152 -0
  212. package/node_modules/@noodle-borg/plugin-distribution/dist/anthropic-connector-validation.js.map +1 -0
  213. package/node_modules/@noodle-borg/plugin-distribution/dist/anthropic-connector.d.ts +7 -0
  214. package/node_modules/@noodle-borg/plugin-distribution/dist/anthropic-connector.d.ts.map +1 -0
  215. package/node_modules/@noodle-borg/plugin-distribution/dist/anthropic-connector.js +24 -0
  216. package/node_modules/@noodle-borg/plugin-distribution/dist/anthropic-connector.js.map +1 -0
  217. package/node_modules/@noodle-borg/plugin-distribution/dist/claude-distribution-command.d.ts +6 -0
  218. package/node_modules/@noodle-borg/plugin-distribution/dist/claude-distribution-command.d.ts.map +1 -0
  219. package/node_modules/@noodle-borg/plugin-distribution/dist/claude-distribution-command.js +260 -0
  220. package/node_modules/@noodle-borg/plugin-distribution/dist/claude-distribution-command.js.map +1 -0
  221. package/node_modules/@noodle-borg/plugin-distribution/dist/claude-plugin-render.d.ts +3 -0
  222. package/node_modules/@noodle-borg/plugin-distribution/dist/claude-plugin-render.d.ts.map +1 -0
  223. package/node_modules/@noodle-borg/plugin-distribution/dist/claude-plugin-render.js +89 -0
  224. package/node_modules/@noodle-borg/plugin-distribution/dist/claude-plugin-render.js.map +1 -0
  225. package/node_modules/@noodle-borg/plugin-distribution/dist/claude-plugin-validation.d.ts +3 -0
  226. package/node_modules/@noodle-borg/plugin-distribution/dist/claude-plugin-validation.d.ts.map +1 -0
  227. package/node_modules/@noodle-borg/plugin-distribution/dist/claude-plugin-validation.js +16 -0
  228. package/node_modules/@noodle-borg/plugin-distribution/dist/claude-plugin-validation.js.map +1 -0
  229. package/node_modules/@noodle-borg/plugin-distribution/dist/claude-plugin.d.ts +5 -0
  230. package/node_modules/@noodle-borg/plugin-distribution/dist/claude-plugin.d.ts.map +1 -0
  231. package/node_modules/@noodle-borg/plugin-distribution/dist/claude-plugin.js +15 -0
  232. package/node_modules/@noodle-borg/plugin-distribution/dist/claude-plugin.js.map +1 -0
  233. package/node_modules/@noodle-borg/plugin-distribution/dist/command.d.ts +3 -0
  234. package/node_modules/@noodle-borg/plugin-distribution/dist/command.d.ts.map +1 -0
  235. package/node_modules/@noodle-borg/plugin-distribution/dist/command.js +3 -0
  236. package/node_modules/@noodle-borg/plugin-distribution/dist/command.js.map +1 -0
  237. package/node_modules/@noodle-borg/plugin-distribution/dist/distribution-command-support.d.ts +37 -0
  238. package/node_modules/@noodle-borg/plugin-distribution/dist/distribution-command-support.d.ts.map +1 -0
  239. package/node_modules/@noodle-borg/plugin-distribution/dist/distribution-command-support.js +60 -0
  240. package/node_modules/@noodle-borg/plugin-distribution/dist/distribution-command-support.js.map +1 -0
  241. package/node_modules/@noodle-borg/plugin-distribution/dist/index.d.ts +2 -0
  242. package/node_modules/@noodle-borg/plugin-distribution/dist/index.d.ts.map +1 -1
  243. package/node_modules/@noodle-borg/plugin-distribution/dist/index.js +2 -0
  244. package/node_modules/@noodle-borg/plugin-distribution/dist/index.js.map +1 -1
  245. package/node_modules/@noodle-borg/plugin-distribution/dist/openai-plugin-command.d.ts +3 -28
  246. package/node_modules/@noodle-borg/plugin-distribution/dist/openai-plugin-command.d.ts.map +1 -1
  247. package/node_modules/@noodle-borg/plugin-distribution/dist/openai-plugin-command.js +23 -64
  248. package/node_modules/@noodle-borg/plugin-distribution/dist/openai-plugin-command.js.map +1 -1
  249. package/node_modules/@noodle-borg/plugin-distribution/dist/openai-plugin-render.d.ts.map +1 -1
  250. package/node_modules/@noodle-borg/plugin-distribution/dist/openai-plugin-render.js +3 -97
  251. package/node_modules/@noodle-borg/plugin-distribution/dist/openai-plugin-render.js.map +1 -1
  252. package/node_modules/@noodle-borg/plugin-distribution/dist/openai-plugin-validation.d.ts.map +1 -1
  253. package/node_modules/@noodle-borg/plugin-distribution/dist/openai-plugin-validation.js +19 -8
  254. package/node_modules/@noodle-borg/plugin-distribution/dist/openai-plugin-validation.js.map +1 -1
  255. package/node_modules/@noodle-borg/plugin-distribution/dist/openai-submission-render.d.ts +5 -0
  256. package/node_modules/@noodle-borg/plugin-distribution/dist/openai-submission-render.d.ts.map +1 -0
  257. package/node_modules/@noodle-borg/plugin-distribution/dist/openai-submission-render.js +147 -0
  258. package/node_modules/@noodle-borg/plugin-distribution/dist/openai-submission-render.js.map +1 -0
  259. package/node_modules/@noodle-borg/plugin-distribution/dist/public-url.d.ts +3 -0
  260. package/node_modules/@noodle-borg/plugin-distribution/dist/public-url.d.ts.map +1 -0
  261. package/node_modules/@noodle-borg/plugin-distribution/dist/public-url.js +22 -0
  262. package/node_modules/@noodle-borg/plugin-distribution/dist/public-url.js.map +1 -0
  263. package/node_modules/@noodle-borg/plugin-distribution/package.json +2 -2
  264. package/node_modules/@noodle-borg/protocol/dist/handlers/resources.d.ts +1 -1
  265. package/node_modules/@noodle-borg/protocol/dist/handlers/resources.d.ts.map +1 -1
  266. package/node_modules/@noodle-borg/protocol/dist/handlers/resources.js +1 -1
  267. package/node_modules/@noodle-borg/protocol/dist/handlers/resources.js.map +1 -1
  268. package/node_modules/@noodle-borg/protocol/dist/v2/response-observation.d.ts +1 -1
  269. package/node_modules/@noodle-borg/protocol/dist/v2/response-observation.d.ts.map +1 -1
  270. package/node_modules/@noodle-borg/protocol/dist/v2/response-observation.js +1 -1
  271. package/node_modules/@noodle-borg/protocol/dist/v2/response-observation.js.map +1 -1
  272. package/node_modules/@noodle-borg/protocol/dist/v2/server.d.ts.map +1 -1
  273. package/node_modules/@noodle-borg/protocol/dist/v2/server.js +1 -1
  274. package/node_modules/@noodle-borg/protocol/dist/v2/server.js.map +1 -1
  275. package/node_modules/@noodle-borg/protocol/package.json +1 -0
  276. package/node_modules/@noodle-borg/service/dist/index.d.ts +0 -1
  277. package/node_modules/@noodle-borg/service/dist/index.d.ts.map +1 -1
  278. package/node_modules/@noodle-borg/service/dist/index.js +0 -1
  279. package/node_modules/@noodle-borg/service/dist/index.js.map +1 -1
  280. package/node_modules/@noodle-borg/service/dist/main.js +0 -52
  281. package/node_modules/@noodle-borg/service/dist/main.js.map +1 -1
  282. package/node_modules/@noodle-borg/service/dist/modules/host.d.ts +2 -6
  283. package/node_modules/@noodle-borg/service/dist/modules/host.d.ts.map +1 -1
  284. package/node_modules/@noodle-borg/service/dist/modules/host.js.map +1 -1
  285. package/node_modules/@noodle-borg/service/dist/options.d.ts +1 -21
  286. package/node_modules/@noodle-borg/service/dist/options.d.ts.map +1 -1
  287. package/node_modules/@noodle-borg/service/dist/serve-options.d.ts +7 -1
  288. package/node_modules/@noodle-borg/service/dist/serve-options.d.ts.map +1 -1
  289. package/node_modules/@noodle-borg/service/dist/serve.d.ts +0 -1
  290. package/node_modules/@noodle-borg/service/dist/serve.d.ts.map +1 -1
  291. package/node_modules/@noodle-borg/service/dist/serve.js +22 -26
  292. package/node_modules/@noodle-borg/service/dist/serve.js.map +1 -1
  293. package/node_modules/@noodle-borg/service/dist/service-config.d.ts +1 -1
  294. package/node_modules/@noodle-borg/service/dist/service-config.d.ts.map +1 -1
  295. package/node_modules/@noodle-borg/service/dist/service-config.js.map +1 -1
  296. package/node_modules/@noodle-borg/service/dist/service.d.ts.map +1 -1
  297. package/node_modules/@noodle-borg/service/dist/service.js +1 -24
  298. package/node_modules/@noodle-borg/service/dist/service.js.map +1 -1
  299. package/node_modules/@noodle-borg/service/package.json +1 -0
  300. package/node_modules/@noodle-borg/service-modules/dist/index.d.ts +9 -0
  301. package/node_modules/@noodle-borg/service-modules/dist/index.d.ts.map +1 -0
  302. package/node_modules/@noodle-borg/service-modules/dist/index.js +9 -0
  303. package/node_modules/@noodle-borg/service-modules/dist/index.js.map +1 -0
  304. package/node_modules/@noodle-borg/service-modules/dist/loaded-module.d.ts +8 -0
  305. package/node_modules/@noodle-borg/service-modules/dist/loaded-module.d.ts.map +1 -0
  306. package/node_modules/@noodle-borg/service-modules/dist/loaded-module.js +2 -0
  307. package/node_modules/@noodle-borg/service-modules/dist/loaded-module.js.map +1 -0
  308. package/node_modules/@noodle-borg/{service/dist/modules → service-modules/dist}/loader.d.ts +1 -1
  309. package/node_modules/@noodle-borg/service-modules/dist/loader.d.ts.map +1 -0
  310. package/node_modules/@noodle-borg/service-modules/dist/loader.js.map +1 -0
  311. package/node_modules/@noodle-borg/service-modules/package.json +32 -0
  312. package/node_modules/@noodle-borg/uri-template/dist/index.d.ts +7 -0
  313. package/node_modules/@noodle-borg/uri-template/dist/index.d.ts.map +1 -0
  314. package/node_modules/@noodle-borg/uri-template/dist/index.js +7 -0
  315. package/node_modules/@noodle-borg/uri-template/dist/index.js.map +1 -0
  316. package/node_modules/@noodle-borg/uri-template/package.json +28 -0
  317. package/node_modules/@noodleseed/assistant/dist/{chunk-7L52WJ2E.js → chunk-MZNENVFY.js} +11 -3
  318. package/node_modules/@noodleseed/assistant/dist/{chunk-7L52WJ2E.js.map → chunk-MZNENVFY.js.map} +1 -1
  319. package/node_modules/@noodleseed/assistant/dist/{chunk-NPV64PUX.js → chunk-RIKRQFKS.js} +5 -1
  320. package/node_modules/@noodleseed/assistant/dist/{chunk-NPV64PUX.js.map → chunk-RIKRQFKS.js.map} +1 -1
  321. package/node_modules/@noodleseed/assistant/dist/{client-Ii_xTV09.d.ts → client-B6pnBmF8.d.ts} +1 -0
  322. package/node_modules/@noodleseed/assistant/dist/{client-401BAJqk.d.cts → client-BQ30Fq-c.d.cts} +1 -0
  323. package/node_modules/@noodleseed/assistant/dist/client.cjs +4 -0
  324. package/node_modules/@noodleseed/assistant/dist/client.cjs.map +1 -1
  325. package/node_modules/@noodleseed/assistant/dist/client.d.cts +1 -1
  326. package/node_modules/@noodleseed/assistant/dist/client.d.ts +1 -1
  327. package/node_modules/@noodleseed/assistant/dist/client.js +1 -1
  328. package/node_modules/@noodleseed/assistant/dist/embed.global.js +2 -2
  329. package/node_modules/@noodleseed/assistant/dist/index.cjs +13 -1
  330. package/node_modules/@noodleseed/assistant/dist/index.cjs.map +1 -1
  331. package/node_modules/@noodleseed/assistant/dist/index.d.cts +2 -2
  332. package/node_modules/@noodleseed/assistant/dist/index.d.ts +2 -2
  333. package/node_modules/@noodleseed/assistant/dist/index.js +2 -2
  334. package/node_modules/@noodleseed/assistant/dist/react/client.cjs +4 -0
  335. package/node_modules/@noodleseed/assistant/dist/react/client.cjs.map +1 -1
  336. package/node_modules/@noodleseed/assistant/dist/react/client.d.cts +1 -1
  337. package/node_modules/@noodleseed/assistant/dist/react/client.d.ts +1 -1
  338. package/node_modules/@noodleseed/assistant/dist/react/client.js +1 -1
  339. package/node_modules/@noodleseed/assistant/dist/react.cjs +13 -1
  340. package/node_modules/@noodleseed/assistant/dist/react.cjs.map +1 -1
  341. package/node_modules/@noodleseed/assistant/dist/react.d.cts +1 -1
  342. package/node_modules/@noodleseed/assistant/dist/react.d.ts +1 -1
  343. package/node_modules/@noodleseed/assistant/dist/react.js +2 -2
  344. package/node_modules/@noodleseed/assistant/package.json +2 -1
  345. package/package.json +5 -1
  346. package/node_modules/@noodle-borg/compiler/dist/widget-palette.d.ts.map +0 -1
  347. package/node_modules/@noodle-borg/compiler/dist/widget-palette.js.map +0 -1
  348. package/node_modules/@noodle-borg/compiler/dist/widget-ui-style.d.ts.map +0 -1
  349. package/node_modules/@noodle-borg/compiler/dist/widget-ui-style.js.map +0 -1
  350. package/node_modules/@noodle-borg/service/dist/feedback-operations/bootstrap.d.ts +0 -7
  351. package/node_modules/@noodle-borg/service/dist/feedback-operations/bootstrap.d.ts.map +0 -1
  352. package/node_modules/@noodle-borg/service/dist/feedback-operations/bootstrap.js +0 -23
  353. package/node_modules/@noodle-borg/service/dist/feedback-operations/bootstrap.js.map +0 -1
  354. package/node_modules/@noodle-borg/service/dist/feedback-operations/config.d.ts +0 -12
  355. package/node_modules/@noodle-borg/service/dist/feedback-operations/config.d.ts.map +0 -1
  356. package/node_modules/@noodle-borg/service/dist/feedback-operations/config.js +0 -47
  357. package/node_modules/@noodle-borg/service/dist/feedback-operations/config.js.map +0 -1
  358. package/node_modules/@noodle-borg/service/dist/feedback-operations/contracts.d.ts +0 -24
  359. package/node_modules/@noodle-borg/service/dist/feedback-operations/contracts.d.ts.map +0 -1
  360. package/node_modules/@noodle-borg/service/dist/feedback-operations/contracts.js +0 -2
  361. package/node_modules/@noodle-borg/service/dist/feedback-operations/contracts.js.map +0 -1
  362. package/node_modules/@noodle-borg/service/dist/feedback-operations/delivery-worker.d.ts +0 -29
  363. package/node_modules/@noodle-borg/service/dist/feedback-operations/delivery-worker.d.ts.map +0 -1
  364. package/node_modules/@noodle-borg/service/dist/feedback-operations/delivery-worker.js +0 -263
  365. package/node_modules/@noodle-borg/service/dist/feedback-operations/delivery-worker.js.map +0 -1
  366. package/node_modules/@noodle-borg/service/dist/feedback-operations/linear-client.d.ts +0 -39
  367. package/node_modules/@noodle-borg/service/dist/feedback-operations/linear-client.d.ts.map +0 -1
  368. package/node_modules/@noodle-borg/service/dist/feedback-operations/linear-client.js +0 -142
  369. package/node_modules/@noodle-borg/service/dist/feedback-operations/linear-client.js.map +0 -1
  370. package/node_modules/@noodle-borg/service/dist/feedback-operations/reporter-email.d.ts +0 -33
  371. package/node_modules/@noodle-borg/service/dist/feedback-operations/reporter-email.d.ts.map +0 -1
  372. package/node_modules/@noodle-borg/service/dist/feedback-operations/reporter-email.js +0 -142
  373. package/node_modules/@noodle-borg/service/dist/feedback-operations/reporter-email.js.map +0 -1
  374. package/node_modules/@noodle-borg/service/dist/feedback-operations/slack-card.d.ts +0 -138
  375. package/node_modules/@noodle-borg/service/dist/feedback-operations/slack-card.d.ts.map +0 -1
  376. package/node_modules/@noodle-borg/service/dist/feedback-operations/slack-card.js +0 -199
  377. package/node_modules/@noodle-borg/service/dist/feedback-operations/slack-card.js.map +0 -1
  378. package/node_modules/@noodle-borg/service/dist/feedback-operations/slack-client.d.ts +0 -52
  379. package/node_modules/@noodle-borg/service/dist/feedback-operations/slack-client.d.ts.map +0 -1
  380. package/node_modules/@noodle-borg/service/dist/feedback-operations/slack-client.js +0 -103
  381. package/node_modules/@noodle-borg/service/dist/feedback-operations/slack-client.js.map +0 -1
  382. package/node_modules/@noodle-borg/service/dist/github/feedback-issues.d.ts +0 -44
  383. package/node_modules/@noodle-borg/service/dist/github/feedback-issues.d.ts.map +0 -1
  384. package/node_modules/@noodle-borg/service/dist/github/feedback-issues.js +0 -117
  385. package/node_modules/@noodle-borg/service/dist/github/feedback-issues.js.map +0 -1
  386. package/node_modules/@noodle-borg/service/dist/modules/loader.d.ts.map +0 -1
  387. package/node_modules/@noodle-borg/service/dist/modules/loader.js.map +0 -1
  388. package/node_modules/@noodle-borg/service/dist/routes/feedback-operations-dispatch.d.ts +0 -10
  389. package/node_modules/@noodle-borg/service/dist/routes/feedback-operations-dispatch.d.ts.map +0 -1
  390. package/node_modules/@noodle-borg/service/dist/routes/feedback-operations-dispatch.js +0 -54
  391. package/node_modules/@noodle-borg/service/dist/routes/feedback-operations-dispatch.js.map +0 -1
  392. package/node_modules/@noodle-borg/service/dist/routes/feedback.d.ts +0 -30
  393. package/node_modules/@noodle-borg/service/dist/routes/feedback.d.ts.map +0 -1
  394. package/node_modules/@noodle-borg/service/dist/routes/feedback.js +0 -233
  395. package/node_modules/@noodle-borg/service/dist/routes/feedback.js.map +0 -1
  396. package/node_modules/@noodle-borg/service/dist/routes/linear-feedback-webhook.d.ts +0 -17
  397. package/node_modules/@noodle-borg/service/dist/routes/linear-feedback-webhook.d.ts.map +0 -1
  398. package/node_modules/@noodle-borg/service/dist/routes/linear-feedback-webhook.js +0 -141
  399. package/node_modules/@noodle-borg/service/dist/routes/linear-feedback-webhook.js.map +0 -1
  400. package/node_modules/@noodle-borg/service/dist/routes/slack-feedback-actions.d.ts +0 -15
  401. package/node_modules/@noodle-borg/service/dist/routes/slack-feedback-actions.d.ts.map +0 -1
  402. package/node_modules/@noodle-borg/service/dist/routes/slack-feedback-actions.js +0 -135
  403. package/node_modules/@noodle-borg/service/dist/routes/slack-feedback-actions.js.map +0 -1
  404. package/node_modules/@noodle-borg/service/dist/store/feedback-operations.d.ts +0 -188
  405. package/node_modules/@noodle-borg/service/dist/store/feedback-operations.d.ts.map +0 -1
  406. package/node_modules/@noodle-borg/service/dist/store/feedback-operations.js +0 -489
  407. package/node_modules/@noodle-borg/service/dist/store/feedback-operations.js.map +0 -1
  408. package/node_modules/@noodle-borg/service/dist/store/postgres-feedback-operations.d.ts +0 -35
  409. package/node_modules/@noodle-borg/service/dist/store/postgres-feedback-operations.d.ts.map +0 -1
  410. package/node_modules/@noodle-borg/service/dist/store/postgres-feedback-operations.js +0 -172
  411. package/node_modules/@noodle-borg/service/dist/store/postgres-feedback-operations.js.map +0 -1
  412. /package/node_modules/@noodle-borg/{service/dist/modules → service-modules/dist}/loader.js +0 -0
  413. /package/node_modules/@noodle-borg/{compiler → uri-template}/dist/uri-template.d.ts +0 -0
  414. /package/node_modules/@noodle-borg/{compiler → uri-template}/dist/uri-template.d.ts.map +0 -0
  415. /package/node_modules/@noodle-borg/{compiler → uri-template}/dist/uri-template.js +0 -0
  416. /package/node_modules/@noodle-borg/{compiler → uri-template}/dist/uri-template.js.map +0 -0
@@ -0,0 +1,260 @@
1
+ import { skillSlug, } from '@noodle-borg/agent-packaging';
2
+ import { packageAnthropicConnector } from './anthropic-connector.js';
3
+ import { packageClaudePlugin } from './claude-plugin.js';
4
+ import { readDistributionAssets, writeDistributionArchiveAtomically, } from './distribution-command-support.js';
5
+ const EXIT = { OK: 0, FAILURE: 1, USAGE: 2 };
6
+ export async function runExportClaudePlugin(rest, compileLocalInput, resolveLocalEntrypoint, writeArchive = (outputPath, bytes) => writeDistributionArchiveAtomically(outputPath, bytes, 'claude-plugin')) {
7
+ const parsed = parseFlags(rest, 'plugin');
8
+ const json = parsed.json;
9
+ if (parsed.parseError !== undefined) {
10
+ return usageFailure(parsed.parseError, 'plugin', json);
11
+ }
12
+ if (parsed.positional.length > 1) {
13
+ return usageFailure('export plugin claude accepts at most one server.ts entrypoint', 'plugin', json);
14
+ }
15
+ if (parsed.mcpUrl === undefined) {
16
+ return usageFailure('export plugin claude requires --mcp-url', 'plugin', json);
17
+ }
18
+ if (parsed.output === undefined) {
19
+ return usageFailure('export plugin claude requires --output', 'plugin', json);
20
+ }
21
+ const prepared = await preparePackage(parsed, compileLocalInput, resolveLocalEntrypoint, 'plugin', json);
22
+ if (typeof prepared === 'number')
23
+ return prepared;
24
+ const result = packageClaudePlugin({
25
+ appPackage: prepared.appPackage,
26
+ distribution: prepared.distribution,
27
+ mcpServer: { url: parsed.mcpUrl, transport: 'streamable-http' },
28
+ assets: prepared.assets,
29
+ });
30
+ return finishPackage(result, parsed.output, prepared.appPackage.app.name, prepared.appPackage.app.version, writeArchive, {
31
+ commandKind: 'plugin',
32
+ label: 'Claude plugin',
33
+ invalidCode: 'claude_plugin_invalid',
34
+ writeCode: 'claude_plugin_write_failed',
35
+ json,
36
+ });
37
+ }
38
+ export async function runExportAnthropicConnector(rest, compileLocalInput, resolveLocalEntrypoint, writeArchive = (outputPath, bytes) => writeDistributionArchiveAtomically(outputPath, bytes, 'anthropic-connector')) {
39
+ const parsed = parseFlags(rest, 'connector');
40
+ const json = parsed.json;
41
+ if (parsed.parseError !== undefined) {
42
+ return usageFailure(parsed.parseError, 'connector', json);
43
+ }
44
+ if (parsed.positional.length > 1) {
45
+ return usageFailure('export connector claude accepts at most one server.ts entrypoint', 'connector', json);
46
+ }
47
+ if (parsed.mcpUrl === undefined) {
48
+ return usageFailure('export connector claude requires --mcp-url', 'connector', json);
49
+ }
50
+ if (parsed.auth !== 'none' && parsed.auth !== 'oauth-dcr') {
51
+ return usageFailure('export connector claude requires --auth none or oauth-dcr', 'connector', json);
52
+ }
53
+ if (parsed.categories.length === 0) {
54
+ return usageFailure('export connector claude requires at least one --category', 'connector', json);
55
+ }
56
+ if (parsed.output === undefined) {
57
+ return usageFailure('export connector claude requires --output', 'connector', json);
58
+ }
59
+ const prepared = await preparePackage(parsed, compileLocalInput, resolveLocalEntrypoint, 'connector', json);
60
+ if (typeof prepared === 'number')
61
+ return prepared;
62
+ const allowedLinks = prepared.allowedLinks;
63
+ const result = packageAnthropicConnector({
64
+ appPackage: prepared.appPackage,
65
+ distribution: prepared.distribution,
66
+ mcpServer: { url: parsed.mcpUrl, transport: 'streamable-http' },
67
+ assets: prepared.assets,
68
+ }, { auth: parsed.auth, categories: parsed.categories, allowedLinks });
69
+ return finishPackage(result, parsed.output, prepared.appPackage.app.name, prepared.appPackage.app.version, writeArchive, {
70
+ commandKind: 'connector',
71
+ label: 'Anthropic connector dossier',
72
+ invalidCode: 'anthropic_connector_invalid',
73
+ writeCode: 'anthropic_connector_write_failed',
74
+ json,
75
+ });
76
+ }
77
+ async function preparePackage(parsed, compileLocalInput, resolveLocalEntrypoint, kind, json) {
78
+ const command = `export ${kind} claude`;
79
+ const entrypoint = parsed.positional[0] ?? resolveLocalEntrypoint();
80
+ if (entrypoint === undefined)
81
+ return missingProjectEntrypoint(command, json);
82
+ const compiled = await compileLocalInput({
83
+ manifestPath: entrypoint,
84
+ ...(parsed.connectorsPath === undefined ? {} : { connectorsPath: parsed.connectorsPath }),
85
+ });
86
+ if (!compiled.ok) {
87
+ return failure({
88
+ code: `claude_${kind}_compile_failed`,
89
+ message: `The Claude ${kind} could not be exported because local compilation failed.`,
90
+ fix: 'Fix the structured compiler errors, then export again.',
91
+ next: 'noodle validate --json',
92
+ errors: compiled.errors,
93
+ }, json);
94
+ }
95
+ if (compiled.compiled.appPackage === undefined || compiled.distribution === undefined) {
96
+ return failure({
97
+ code: `claude_${kind}_unavailable`,
98
+ message: `Claude ${kind} export requires both agentGuide and distribution in server.ts.`,
99
+ fix: 'Add a product agent guide and host-neutral distribution metadata, then validate.',
100
+ next: 'noodle validate --json',
101
+ }, json);
102
+ }
103
+ let assets;
104
+ try {
105
+ assets = readDistributionAssets(compiled.distribution, compiled.rootDir);
106
+ }
107
+ catch {
108
+ return failure({
109
+ code: `claude_${kind}_assets_invalid`,
110
+ message: `The Claude ${kind} assets could not be read safely.`,
111
+ fix: 'Use existing project-relative image files declared through asset(...), then retry.',
112
+ next: 'noodle validate --json',
113
+ }, json);
114
+ }
115
+ return {
116
+ appPackage: compiled.compiled.appPackage,
117
+ distribution: compiled.distribution,
118
+ assets,
119
+ allowedLinks: [...(compiled.compiled.artifact?.server.handoff?.allowedDomains ?? [])].sort(compare),
120
+ };
121
+ }
122
+ function finishPackage(result, output, appName, version, writeArchive, options) {
123
+ const command = `noodle export ${options.commandKind} claude --help`;
124
+ if (!result.ok) {
125
+ return failure({
126
+ code: options.invalidCode,
127
+ message: `The ${options.label} target rejected this package.`,
128
+ fix: 'Resolve each target issue in server.ts or the export options, then retry.',
129
+ next: command,
130
+ errors: result.issues.map(({ code, path, message }) => ({ code, path, message })),
131
+ }, options.json);
132
+ }
133
+ try {
134
+ writeArchive(output, result.archive.bytes);
135
+ }
136
+ catch {
137
+ return failure({
138
+ code: options.writeCode,
139
+ message: `The ${options.label} archive could not be written.`,
140
+ fix: 'Choose a writable output path and try again.',
141
+ next: command,
142
+ }, options.json);
143
+ }
144
+ const data = {
145
+ target: result.target,
146
+ app: {
147
+ name: skillSlug(appName),
148
+ version,
149
+ },
150
+ output,
151
+ treeSha256: result.treeSha256,
152
+ archiveSha256: result.archive.sha256,
153
+ byteLength: result.archive.byteLength,
154
+ files: result.files.map(({ path, sha256, byteLength }) => ({ path, sha256, byteLength })),
155
+ };
156
+ if (options.json)
157
+ printJsonOk(data);
158
+ else {
159
+ console.log(`Wrote ${options.label} to ${output}`);
160
+ console.log(`Archive SHA-256: ${result.archive.sha256}`);
161
+ }
162
+ return EXIT.OK;
163
+ }
164
+ function parseFlags(rest, kind) {
165
+ const parsed = { positional: [], categories: [], json: false };
166
+ const setters = {
167
+ '--mcp-url': (value) => {
168
+ parsed.mcpUrl = value;
169
+ },
170
+ '--output': (value) => {
171
+ parsed.output = value;
172
+ },
173
+ '--connectors': (value) => {
174
+ parsed.connectorsPath = value;
175
+ },
176
+ ...(kind === 'connector'
177
+ ? {
178
+ '--auth': (value) => {
179
+ parsed.auth = value;
180
+ },
181
+ '--category': (value) => {
182
+ parsed.categories.push(value);
183
+ },
184
+ }
185
+ : {}),
186
+ };
187
+ for (let index = 0; index < rest.length; index++) {
188
+ const arg = rest[index];
189
+ if (arg === undefined)
190
+ continue;
191
+ if (arg === '--json') {
192
+ parsed.json = true;
193
+ continue;
194
+ }
195
+ const setValue = setters[arg];
196
+ if (setValue !== undefined) {
197
+ const value = rest[index + 1];
198
+ if (value === undefined || value.startsWith('--')) {
199
+ parsed.parseError ??= `${arg} requires a value`;
200
+ }
201
+ else {
202
+ setValue(value);
203
+ index++;
204
+ }
205
+ continue;
206
+ }
207
+ if (arg.startsWith('-'))
208
+ parsed.parseError ??= `unknown option: ${arg}`;
209
+ else
210
+ parsed.positional.push(arg);
211
+ }
212
+ return parsed;
213
+ }
214
+ function usageFailure(message, kind, json) {
215
+ const error = {
216
+ code: 'usage_error',
217
+ message,
218
+ fix: `Pass the required Claude ${kind} options.`,
219
+ next: `noodle export ${kind} claude --help`,
220
+ };
221
+ if (json)
222
+ return printJsonFailure(error, EXIT.USAGE);
223
+ console.error(message);
224
+ return EXIT.USAGE;
225
+ }
226
+ function missingProjectEntrypoint(command, json) {
227
+ const error = {
228
+ code: 'project_entrypoint_required',
229
+ message: 'No project entrypoint found.',
230
+ cause: 'No project entrypoint found.',
231
+ fix: 'Create a project or bind this directory to an existing project entrypoint.',
232
+ next: 'noodle init or noodle link --entrypoint <path>',
233
+ };
234
+ if (json)
235
+ return printJsonFailure(error, EXIT.USAGE);
236
+ console.error(`${command}: ${error.message}`);
237
+ console.error(`Cause: ${error.cause}`);
238
+ console.error(`Fix: ${error.fix}`);
239
+ console.error(`Next: ${error.next}`);
240
+ return EXIT.USAGE;
241
+ }
242
+ function failure(error, json) {
243
+ if (json)
244
+ return printJsonFailure(error, EXIT.FAILURE);
245
+ console.error(error.message);
246
+ if (error.fix !== undefined)
247
+ console.error(`Fix: ${error.fix}`);
248
+ return EXIT.FAILURE;
249
+ }
250
+ function printJsonOk(data) {
251
+ console.log(JSON.stringify({ ok: true, data }));
252
+ }
253
+ function printJsonFailure(error, exitCode) {
254
+ console.log(JSON.stringify({ ok: false, error }));
255
+ return exitCode;
256
+ }
257
+ function compare(left, right) {
258
+ return left < right ? -1 : left > right ? 1 : 0;
259
+ }
260
+ //# sourceMappingURL=claude-distribution-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-distribution-command.js","sourceRoot":"","sources":["../src/claude-distribution-command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { type HostPackageAdapterInput, type HostPackageFile } from '@noodle-borg/agent-packaging';
2
+ export declare function renderClaudePlugin(input: HostPackageAdapterInput): readonly HostPackageFile[];
3
+ //# sourceMappingURL=claude-plugin-render.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-plugin-render.d.ts","sourceRoot":"","sources":["../src/claude-plugin-render.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EAGrB,MAAM,8BAA8B,CAAC;AAGtC,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,SAAS,eAAe,EAAE,CA8C7F"}
@@ -0,0 +1,89 @@
1
+ import { skillSlug, } from '@noodle-borg/agent-packaging';
2
+ import { renderProductSkillMarkdown } from './product-skill-markdown.js';
3
+ export function renderClaudePlugin(input) {
4
+ const slug = skillSlug(input.appPackage.app.name);
5
+ const iconPath = `assets/icon.${extension(input.assets.icon)}`;
6
+ const markdown = renderProductSkillMarkdown(input.appPackage);
7
+ return [
8
+ {
9
+ role: 'manifest',
10
+ path: '.claude-plugin/plugin.json',
11
+ content: json({
12
+ $schema: 'https://json.schemastore.org/claude-code-plugin-manifest.json',
13
+ name: slug,
14
+ displayName: input.appPackage.app.title,
15
+ version: input.appPackage.app.version,
16
+ description: input.distribution.listing.summary,
17
+ author: { name: input.distribution.publisher.name },
18
+ homepage: input.distribution.support.documentationUrl,
19
+ ...(input.distribution.listing.keywords === undefined
20
+ ? {}
21
+ : { keywords: input.distribution.listing.keywords }),
22
+ defaultEnabled: false,
23
+ skills: './skills/',
24
+ mcpServers: './.mcp.json',
25
+ }),
26
+ },
27
+ {
28
+ role: 'mcp',
29
+ path: '.mcp.json',
30
+ content: json({
31
+ mcpServers: {
32
+ [slug]: { type: 'http', url: input.mcpServer.url },
33
+ },
34
+ }),
35
+ },
36
+ {
37
+ role: 'documentation',
38
+ path: 'README.md',
39
+ content: readme(input, slug, iconPath),
40
+ },
41
+ { role: 'branding', path: iconPath, content: input.assets.icon.content },
42
+ { role: 'skill', path: `skills/${slug}/SKILL.md`, content: markdown.skill },
43
+ {
44
+ role: 'skill',
45
+ path: `skills/${slug}/references/mcp-surface.md`,
46
+ content: markdown.reference,
47
+ },
48
+ ];
49
+ }
50
+ function readme(input, slug, iconPath) {
51
+ return `# ${input.appPackage.app.title}
52
+
53
+ ${input.distribution.listing.description}
54
+
55
+ This repository is an installable Claude Code plugin generated from the app's canonical Noodle Seed \`server.ts\`.
56
+
57
+ ## Validate and test
58
+
59
+ \`\`\`bash
60
+ claude plugin validate . --strict
61
+ claude --plugin-dir .
62
+ \`\`\`
63
+
64
+ The plugin connects \`${slug}\` to \`${input.mcpServer.url}\`. Because the remote MCP server is opt-in, the manifest sets \`defaultEnabled\` to \`false\`; authenticate from Claude's MCP flow when the server requires it.
65
+
66
+ The bundled product skill lives at \`skills/${slug}/SKILL.md\`, its MCP reference is generated from the same App Package, and the repository icon is \`${iconPath}\`.
67
+
68
+ ## Support and policies
69
+
70
+ - Documentation: ${input.distribution.support.documentationUrl}
71
+ - Support: ${input.distribution.support.supportUrl}
72
+ - Privacy: ${input.distribution.legal.privacyPolicyUrl}
73
+ ${input.distribution.legal.termsOfServiceUrl === undefined
74
+ ? ''
75
+ : `- Terms: ${input.distribution.legal.termsOfServiceUrl}\n`}
76
+ Publish this directory through a public Git repository only after the strict validator and live MCP connection both pass. Connector Directory submission evidence is intentionally generated as a different archive.
77
+ `;
78
+ }
79
+ function extension(image) {
80
+ if (image.mimeType === 'image/jpeg')
81
+ return 'jpg';
82
+ if (image.mimeType === 'image/webp')
83
+ return 'webp';
84
+ return 'png';
85
+ }
86
+ function json(value) {
87
+ return `${JSON.stringify(value, null, 2)}\n`;
88
+ }
89
+ //# sourceMappingURL=claude-plugin-render.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-plugin-render.js","sourceRoot":"","sources":["../src/claude-plugin-render.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { HostPackageAdapterInput, HostPackageTargetIssue } from '@noodle-borg/agent-packaging';
2
+ export declare function validateClaudePluginInput(input: HostPackageAdapterInput): readonly HostPackageTargetIssue[];
3
+ //# sourceMappingURL=claude-plugin-validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-plugin-validation.d.ts","sourceRoot":"","sources":["../src/claude-plugin-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAMpG,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,uBAAuB,GAC7B,SAAS,sBAAsB,EAAE,CAqBnC"}
@@ -0,0 +1,16 @@
1
+ import { isPublicHttpsUrl } from './public-url.js';
2
+ const STRICT_SEMVER = /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-(?:0|[1-9]\d*|\d*[A-Za-z-][0-9A-Za-z-]*)(?:\.(?:0|[1-9]\d*|\d*[A-Za-z-][0-9A-Za-z-]*))*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/;
3
+ export function validateClaudePluginInput(input) {
4
+ const issues = [];
5
+ if (!STRICT_SEMVER.test(input.appPackage.app.version)) {
6
+ issues.push(issue('claude_plugin_version_invalid', 'appPackage.app.version', 'The Claude plugin version must use strict semantic versioning.'));
7
+ }
8
+ if (!isPublicHttpsUrl(input.mcpServer.url)) {
9
+ issues.push(issue('claude_plugin_public_url_required', 'mcpServer.url', 'A distributable Claude plugin requires a public production HTTPS MCP URL.'));
10
+ }
11
+ return issues;
12
+ }
13
+ function issue(code, path, message) {
14
+ return { severity: 'error', code, path, message };
15
+ }
16
+ //# sourceMappingURL=claude-plugin-validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-plugin-validation.js","sourceRoot":"","sources":["../src/claude-plugin-validation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,MAAM,aAAa,GACjB,iLAAiL,CAAC;AAEpL,MAAM,UAAU,yBAAyB,CACvC,KAA8B;IAE9B,MAAM,MAAM,GAA6B,EAAE,CAAC;IAC5C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACtD,MAAM,CAAC,IAAI,CACT,KAAK,CACH,+BAA+B,EAC/B,wBAAwB,EACxB,gEAAgE,CACjE,CACF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3C,MAAM,CAAC,IAAI,CACT,KAAK,CACH,mCAAmC,EACnC,eAAe,EACf,2EAA2E,CAC5E,CACF,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,KAAK,CAAC,IAAY,EAAE,IAAY,EAAE,OAAe;IACxD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AACpD,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { type HostPackageRequest, type HostPackageResult } from '@noodle-borg/agent-packaging';
2
+ export declare const CLAUDE_PLUGIN_ADAPTER_VERSION = "1.0.0";
3
+ /** Render one installable Claude Code plugin repository from the canonical App Package. */
4
+ export declare function packageClaudePlugin(request: HostPackageRequest): HostPackageResult;
5
+ //# sourceMappingURL=claude-plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-plugin.d.ts","sourceRoot":"","sources":["../src/claude-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EAEvB,MAAM,8BAA8B,CAAC;AAItC,eAAO,MAAM,6BAA6B,UAAU,CAAC;AAErD,2FAA2F;AAC3F,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,kBAAkB,GAAG,iBAAiB,CAQlF"}
@@ -0,0 +1,15 @@
1
+ import { packageHostTarget, } from '@noodle-borg/agent-packaging';
2
+ import { renderClaudePlugin } from './claude-plugin-render.js';
3
+ import { validateClaudePluginInput } from './claude-plugin-validation.js';
4
+ export const CLAUDE_PLUGIN_ADAPTER_VERSION = '1.0.0';
5
+ /** Render one installable Claude Code plugin repository from the canonical App Package. */
6
+ export function packageClaudePlugin(request) {
7
+ const adapter = {
8
+ target: 'claude',
9
+ version: CLAUDE_PLUGIN_ADAPTER_VERSION,
10
+ validate: validateClaudePluginInput,
11
+ render: renderClaudePlugin,
12
+ };
13
+ return packageHostTarget(request, adapter);
14
+ }
15
+ //# sourceMappingURL=claude-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-plugin.js","sourceRoot":"","sources":["../src/claude-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAE1E,MAAM,CAAC,MAAM,6BAA6B,GAAG,OAAO,CAAC;AAErD,2FAA2F;AAC3F,MAAM,UAAU,mBAAmB,CAAC,OAA2B;IAC7D,MAAM,OAAO,GAAuB;QAClC,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,6BAA6B;QACtC,QAAQ,EAAE,yBAAyB;QACnC,MAAM,EAAE,kBAAkB;KAC3B,CAAC;IACF,OAAO,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC7C,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './claude-distribution-command.js';
2
+ export * from './openai-plugin-command.js';
3
+ //# sourceMappingURL=command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './claude-distribution-command.js';
2
+ export * from './openai-plugin-command.js';
3
+ //# sourceMappingURL=command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC"}
@@ -0,0 +1,37 @@
1
+ import type { HostDistributionMetadataV1, HostPackageAssetInput, HostPackageRequest } from '@noodle-borg/agent-packaging';
2
+ export interface DistributionCompileIssue {
3
+ readonly code: string;
4
+ readonly path: string;
5
+ readonly message: string;
6
+ readonly didYouMean?: string;
7
+ readonly suggestions?: readonly string[];
8
+ readonly expected?: string;
9
+ readonly got?: string;
10
+ readonly docAnchor?: string;
11
+ }
12
+ export type DistributionCompileOutcome = {
13
+ readonly ok: true;
14
+ readonly rootDir: string;
15
+ readonly distribution?: HostDistributionMetadataV1;
16
+ readonly compiled: {
17
+ readonly appPackage?: HostPackageRequest['appPackage'];
18
+ readonly artifact?: {
19
+ readonly server: {
20
+ readonly handoff?: {
21
+ readonly allowedDomains: readonly string[];
22
+ };
23
+ };
24
+ };
25
+ };
26
+ } | {
27
+ readonly ok: false;
28
+ readonly errors: readonly DistributionCompileIssue[];
29
+ };
30
+ export type DistributionCompiler = (options: {
31
+ readonly manifestPath: string;
32
+ readonly connectorsPath?: string;
33
+ }) => Promise<DistributionCompileOutcome>;
34
+ export type DistributionArchiveWriter = (outputPath: string, bytes: Uint8Array) => void;
35
+ export declare function writeDistributionArchiveAtomically(outputPath: string, bytes: Uint8Array, target: string): void;
36
+ export declare function readDistributionAssets(distribution: HostDistributionMetadataV1, rootDir: string): readonly HostPackageAssetInput[];
37
+ //# sourceMappingURL=distribution-command-support.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"distribution-command-support.d.ts","sourceRoot":"","sources":["../src/distribution-command-support.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,0BAA0B,EAC1B,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,8BAA8B,CAAC;AAEtC,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,0BAA0B,GAClC;IACE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,CAAC,EAAE,0BAA0B,CAAC;IACnD,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,UAAU,CAAC,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC;QACvD,QAAQ,CAAC,QAAQ,CAAC,EAAE;YAClB,QAAQ,CAAC,MAAM,EAAE;gBACf,QAAQ,CAAC,OAAO,CAAC,EAAE;oBAAE,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAA;iBAAE,CAAC;aACnE,CAAC;SACH,CAAC;KACH,CAAC;CACH,GACD;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,wBAAwB,EAAE,CAAA;CAAE,CAAC;AAEjF,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,EAAE;IAC3C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC,KAAK,OAAO,CAAC,0BAA0B,CAAC,CAAC;AAE1C,MAAM,MAAM,yBAAyB,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;AAExF,wBAAgB,kCAAkC,CAChD,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,MAAM,GACb,IAAI,CAcN;AAED,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,0BAA0B,EACxC,OAAO,EAAE,MAAM,GACd,SAAS,qBAAqB,EAAE,CAyBlC"}
@@ -0,0 +1,60 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ import { lstatSync, readFileSync, realpathSync, renameSync, unlinkSync, writeFileSync, } from 'node:fs';
3
+ import { dirname, isAbsolute, relative, resolve, sep } from 'node:path';
4
+ export function writeDistributionArchiveAtomically(outputPath, bytes, target) {
5
+ const absoluteOutput = resolve(outputPath);
6
+ const temporaryPath = resolve(dirname(absoluteOutput), `.noodle-${target}-${randomUUID()}.tmp`);
7
+ try {
8
+ writeFileSync(temporaryPath, bytes, { flag: 'wx' });
9
+ renameSync(temporaryPath, absoluteOutput);
10
+ }
11
+ catch (error) {
12
+ try {
13
+ unlinkSync(temporaryPath);
14
+ }
15
+ catch {
16
+ // The temporary file may not have been created; cleanup is best-effort.
17
+ }
18
+ throw error;
19
+ }
20
+ }
21
+ export function readDistributionAssets(distribution, rootDir) {
22
+ const images = [
23
+ distribution.assets.icon,
24
+ ...(distribution.assets.logo === undefined ? [] : [distribution.assets.logo]),
25
+ ...(distribution.assets.screenshots ?? []),
26
+ ];
27
+ const root = realpathSync(resolve(rootDir));
28
+ const byKey = new Map();
29
+ for (const image of images) {
30
+ const sourcePath = normalizeAssetPath(image.source.sourcePath);
31
+ if (sourcePath === undefined)
32
+ throw new Error('unsafe distribution asset path');
33
+ const absolutePath = realpathSync(resolve(root, sourcePath));
34
+ const fromRoot = relative(root, absolutePath);
35
+ if (fromRoot === '..' || fromRoot.startsWith(`..${sep}`) || isAbsolute(fromRoot)) {
36
+ throw new Error('distribution asset escaped the project root');
37
+ }
38
+ if (!lstatSync(absolutePath).isFile())
39
+ throw new Error('distribution asset is not a file');
40
+ const key = `${image.source.logicalId}\0${sourcePath}`;
41
+ byKey.set(key, {
42
+ logicalId: image.source.logicalId,
43
+ sourcePath,
44
+ content: readFileSync(absolutePath),
45
+ });
46
+ }
47
+ return [...byKey.values()];
48
+ }
49
+ function normalizeAssetPath(value) {
50
+ const normalized = value.replace(/\\/g, '/').replace(/^\.\/+/, '');
51
+ if (normalized.length === 0 ||
52
+ normalized.startsWith('/') ||
53
+ /^[A-Za-z]:/.test(normalized) ||
54
+ normalized.includes('\0') ||
55
+ normalized.split('/').some((part) => part === '' || part === '.' || part === '..')) {
56
+ return undefined;
57
+ }
58
+ return normalized;
59
+ }
60
+ //# sourceMappingURL=distribution-command-support.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"distribution-command-support.js","sourceRoot":"","sources":["../src/distribution-command-support.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ export * from './anthropic-connector.js';
2
+ export * from './claude-plugin.js';
1
3
  export * from './openai-plugin.js';
2
4
  export * from './product-skill-markdown.js';
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC"}
@@ -1,3 +1,5 @@
1
+ export * from './anthropic-connector.js';
2
+ export * from './claude-plugin.js';
1
3
  export * from './openai-plugin.js';
2
4
  export * from './product-skill-markdown.js';
3
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC"}
@@ -1,30 +1,5 @@
1
- import type { HostDistributionMetadataV1, HostPackageRequest } from '@noodle-borg/agent-packaging';
2
- interface CompileIssue {
3
- readonly code: string;
4
- readonly path: string;
5
- readonly message: string;
6
- readonly didYouMean?: string;
7
- readonly suggestions?: readonly string[];
8
- readonly expected?: string;
9
- readonly got?: string;
10
- readonly docAnchor?: string;
11
- }
12
- type CompileOutcome = {
13
- readonly ok: true;
14
- readonly rootDir: string;
15
- readonly distribution?: HostDistributionMetadataV1;
16
- readonly compiled: {
17
- readonly appPackage?: HostPackageRequest['appPackage'];
18
- };
19
- } | {
20
- readonly ok: false;
21
- readonly errors: readonly CompileIssue[];
22
- };
23
- export type OpenAiPluginCompiler = (options: {
24
- readonly manifestPath: string;
25
- readonly connectorsPath?: string;
26
- }) => Promise<CompileOutcome>;
27
- export type OpenAiPluginArchiveWriter = (outputPath: string, bytes: Uint8Array) => void;
1
+ import { type DistributionArchiveWriter, type DistributionCompiler } from './distribution-command-support.js';
2
+ export type OpenAiPluginCompiler = DistributionCompiler;
3
+ export type OpenAiPluginArchiveWriter = DistributionArchiveWriter;
28
4
  export declare function runExportOpenAiPlugin(rest: readonly string[], compileLocalInput: OpenAiPluginCompiler, resolveLocalEntrypoint: () => string | undefined, writeArchive?: OpenAiPluginArchiveWriter): Promise<number>;
29
- export {};
30
5
  //# sourceMappingURL=openai-plugin-command.d.ts.map