@noodleseed/one 0.58.0 → 0.60.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 (530) hide show
  1. package/dist/cli.d.ts.map +1 -1
  2. package/dist/cli.js +72 -7
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/alerts-ops.d.ts +2 -1
  5. package/dist/commands/alerts-ops.d.ts.map +1 -1
  6. package/dist/commands/alerts-ops.js.map +1 -1
  7. package/dist/commands/analytics-ops.d.ts +4 -3
  8. package/dist/commands/analytics-ops.d.ts.map +1 -1
  9. package/dist/commands/analytics-ops.js.map +1 -1
  10. package/dist/commands/apps-ops.d.ts +5 -4
  11. package/dist/commands/apps-ops.d.ts.map +1 -1
  12. package/dist/commands/apps-ops.js.map +1 -1
  13. package/dist/commands/archive-ops.d.ts +3 -2
  14. package/dist/commands/archive-ops.d.ts.map +1 -1
  15. package/dist/commands/archive-ops.js.map +1 -1
  16. package/dist/commands/assistant-embed-ops.d.ts +9 -1
  17. package/dist/commands/assistant-embed-ops.d.ts.map +1 -1
  18. package/dist/commands/assistant-embed-ops.js.map +1 -1
  19. package/dist/commands/assistant-ops.d.ts +2 -1
  20. package/dist/commands/assistant-ops.d.ts.map +1 -1
  21. package/dist/commands/assistant-ops.js +3 -2
  22. package/dist/commands/assistant-ops.js.map +1 -1
  23. package/dist/commands/audit-ops.d.ts +2 -1
  24. package/dist/commands/audit-ops.d.ts.map +1 -1
  25. package/dist/commands/audit-ops.js.map +1 -1
  26. package/dist/commands/auth-ops.d.ts +2 -1
  27. package/dist/commands/auth-ops.d.ts.map +1 -1
  28. package/dist/commands/auth-ops.js.map +1 -1
  29. package/dist/commands/author-loop.d.ts +4 -3
  30. package/dist/commands/author-loop.d.ts.map +1 -1
  31. package/dist/commands/author-loop.js.map +1 -1
  32. package/dist/commands/billing-apply-ops.d.ts +2 -1
  33. package/dist/commands/billing-apply-ops.d.ts.map +1 -1
  34. package/dist/commands/billing-apply-ops.js.map +1 -1
  35. package/dist/commands/billing-enforcement-activation-ops.d.ts +2 -1
  36. package/dist/commands/billing-enforcement-activation-ops.d.ts.map +1 -1
  37. package/dist/commands/billing-enforcement-activation-ops.js.map +1 -1
  38. package/dist/commands/billing-enforcement-ops.d.ts +2 -1
  39. package/dist/commands/billing-enforcement-ops.d.ts.map +1 -1
  40. package/dist/commands/billing-enforcement-ops.js.map +1 -1
  41. package/dist/commands/billing-metering-ops.d.ts +2 -1
  42. package/dist/commands/billing-metering-ops.d.ts.map +1 -1
  43. package/dist/commands/billing-metering-ops.js.map +1 -1
  44. package/dist/commands/billing-metering-validation-ops.d.ts +2 -1
  45. package/dist/commands/billing-metering-validation-ops.d.ts.map +1 -1
  46. package/dist/commands/billing-metering-validation-ops.js.map +1 -1
  47. package/dist/commands/billing-ops.d.ts +2 -1
  48. package/dist/commands/billing-ops.d.ts.map +1 -1
  49. package/dist/commands/billing-ops.js.map +1 -1
  50. package/dist/commands/billing-read-ops.d.ts +3 -2
  51. package/dist/commands/billing-read-ops.d.ts.map +1 -1
  52. package/dist/commands/billing-read-ops.js.map +1 -1
  53. package/dist/commands/billing-stripe-ops.d.ts +2 -1
  54. package/dist/commands/billing-stripe-ops.d.ts.map +1 -1
  55. package/dist/commands/billing-stripe-ops.js +1 -0
  56. package/dist/commands/billing-stripe-ops.js.map +1 -1
  57. package/dist/commands/config-values.d.ts +2 -1
  58. package/dist/commands/config-values.d.ts.map +1 -1
  59. package/dist/commands/config-values.js.map +1 -1
  60. package/dist/commands/deploy-github-hint.d.ts +6 -0
  61. package/dist/commands/deploy-github-hint.d.ts.map +1 -0
  62. package/dist/commands/deploy-github-hint.js +53 -0
  63. package/dist/commands/deploy-github-hint.js.map +1 -0
  64. package/dist/commands/deploy-ops.d.ts +5 -7
  65. package/dist/commands/deploy-ops.d.ts.map +1 -1
  66. package/dist/commands/deploy-ops.js +14 -54
  67. package/dist/commands/deploy-ops.js.map +1 -1
  68. package/dist/commands/deploy-status-ops.d.ts +5 -3
  69. package/dist/commands/deploy-status-ops.d.ts.map +1 -1
  70. package/dist/commands/deploy-status-ops.js +9 -1
  71. package/dist/commands/deploy-status-ops.js.map +1 -1
  72. package/dist/commands/deploy-target.d.ts +2 -1
  73. package/dist/commands/deploy-target.d.ts.map +1 -1
  74. package/dist/commands/deploy-target.js.map +1 -1
  75. package/dist/commands/deployments-ops.d.ts +5 -4
  76. package/dist/commands/deployments-ops.d.ts.map +1 -1
  77. package/dist/commands/deployments-ops.js.map +1 -1
  78. package/dist/commands/devtools.d.ts +2 -1
  79. package/dist/commands/devtools.d.ts.map +1 -1
  80. package/dist/commands/devtools.js.map +1 -1
  81. package/dist/commands/diagnostics-ops.d.ts +3 -2
  82. package/dist/commands/diagnostics-ops.d.ts.map +1 -1
  83. package/dist/commands/diagnostics-ops.js.map +1 -1
  84. package/dist/commands/envs-ops.d.ts +4 -3
  85. package/dist/commands/envs-ops.d.ts.map +1 -1
  86. package/dist/commands/envs-ops.js.map +1 -1
  87. package/dist/commands/feedback-ops.d.ts +2 -1
  88. package/dist/commands/feedback-ops.d.ts.map +1 -1
  89. package/dist/commands/feedback-ops.js.map +1 -1
  90. package/dist/commands/github-ops.d.ts +5 -4
  91. package/dist/commands/github-ops.d.ts.map +1 -1
  92. package/dist/commands/github-ops.js.map +1 -1
  93. package/dist/commands/github-runs-ops.d.ts +2 -1
  94. package/dist/commands/github-runs-ops.d.ts.map +1 -1
  95. package/dist/commands/github-runs-ops.js.map +1 -1
  96. package/dist/commands/github-shared.d.ts +2 -1
  97. package/dist/commands/github-shared.d.ts.map +1 -1
  98. package/dist/commands/github-shared.js.map +1 -1
  99. package/dist/commands/logs-ops.d.ts +2 -1
  100. package/dist/commands/logs-ops.d.ts.map +1 -1
  101. package/dist/commands/logs-ops.js.map +1 -1
  102. package/dist/commands/org-admin.d.ts +3 -2
  103. package/dist/commands/org-admin.d.ts.map +1 -1
  104. package/dist/commands/org-admin.js.map +1 -1
  105. package/dist/commands/org-openai-challenge.d.ts +2 -1
  106. package/dist/commands/org-openai-challenge.d.ts.map +1 -1
  107. package/dist/commands/org-openai-challenge.js.map +1 -1
  108. package/dist/commands/policy-ops.d.ts +2 -1
  109. package/dist/commands/policy-ops.d.ts.map +1 -1
  110. package/dist/commands/policy-ops.js.map +1 -1
  111. package/dist/commands/resource-shared.d.ts +2 -1
  112. package/dist/commands/resource-shared.d.ts.map +1 -1
  113. package/dist/commands/resource-shared.js.map +1 -1
  114. package/dist/commands/service-ops.d.ts +2 -1
  115. package/dist/commands/service-ops.d.ts.map +1 -1
  116. package/dist/commands/service-ops.js.map +1 -1
  117. package/dist/commands/session.d.ts +12 -4
  118. package/dist/commands/session.d.ts.map +1 -1
  119. package/dist/commands/session.js +40 -9
  120. package/dist/commands/session.js.map +1 -1
  121. package/dist/commands/shared.d.ts +2 -1
  122. package/dist/commands/shared.d.ts.map +1 -1
  123. package/dist/commands/shared.js.map +1 -1
  124. package/dist/config.d.ts +17 -8
  125. package/dist/config.d.ts.map +1 -1
  126. package/dist/config.js +2 -2
  127. package/dist/config.js.map +1 -1
  128. package/dist/control-plane.d.ts +10 -3
  129. package/dist/control-plane.d.ts.map +1 -1
  130. package/dist/control-plane.js +38 -2
  131. package/dist/control-plane.js.map +1 -1
  132. package/dist/doctor.d.ts +2 -1
  133. package/dist/doctor.d.ts.map +1 -1
  134. package/dist/doctor.js.map +1 -1
  135. package/dist/first-run-entry.d.ts +2 -1
  136. package/dist/first-run-entry.d.ts.map +1 -1
  137. package/dist/first-run-entry.js.map +1 -1
  138. package/dist/first-run.d.ts +2 -1
  139. package/dist/first-run.d.ts.map +1 -1
  140. package/dist/first-run.js.map +1 -1
  141. package/dist/index.d.ts +4 -1
  142. package/dist/index.d.ts.map +1 -1
  143. package/dist/index.js +3 -0
  144. package/dist/index.js.map +1 -1
  145. package/dist/local-target.d.ts +2 -1
  146. package/dist/local-target.d.ts.map +1 -1
  147. package/dist/local-target.js.map +1 -1
  148. package/dist/plugin-mode/build-readiness-contract.d.ts +36 -0
  149. package/dist/plugin-mode/build-readiness-contract.d.ts.map +1 -0
  150. package/dist/plugin-mode/build-readiness-contract.js +107 -0
  151. package/dist/plugin-mode/build-readiness-contract.js.map +1 -0
  152. package/dist/plugin-mode/build-readiness-fingerprint.d.ts +7 -0
  153. package/dist/plugin-mode/build-readiness-fingerprint.d.ts.map +1 -0
  154. package/dist/plugin-mode/build-readiness-fingerprint.js +83 -0
  155. package/dist/plugin-mode/build-readiness-fingerprint.js.map +1 -0
  156. package/dist/plugin-mode/build-readiness-recorder.d.ts +15 -0
  157. package/dist/plugin-mode/build-readiness-recorder.d.ts.map +1 -0
  158. package/dist/plugin-mode/build-readiness-recorder.js +150 -0
  159. package/dist/plugin-mode/build-readiness-recorder.js.map +1 -0
  160. package/dist/plugin-mode/build-readiness-server.d.ts +22 -0
  161. package/dist/plugin-mode/build-readiness-server.d.ts.map +1 -0
  162. package/dist/plugin-mode/build-readiness-server.js +322 -0
  163. package/dist/plugin-mode/build-readiness-server.js.map +1 -0
  164. package/dist/plugin-mode/build-readiness-store.d.ts +16 -0
  165. package/dist/plugin-mode/build-readiness-store.d.ts.map +1 -0
  166. package/dist/plugin-mode/build-readiness-store.js +198 -0
  167. package/dist/plugin-mode/build-readiness-store.js.map +1 -0
  168. package/dist/plugin-mode/build-readiness-tools.d.ts +47 -0
  169. package/dist/plugin-mode/build-readiness-tools.d.ts.map +1 -0
  170. package/dist/plugin-mode/build-readiness-tools.js +159 -0
  171. package/dist/plugin-mode/build-readiness-tools.js.map +1 -0
  172. package/dist/plugin-mode/build-readiness-widget.css.d.ts +2 -0
  173. package/dist/plugin-mode/build-readiness-widget.css.d.ts.map +1 -0
  174. package/dist/plugin-mode/build-readiness-widget.css.js +217 -0
  175. package/dist/plugin-mode/build-readiness-widget.css.js.map +1 -0
  176. package/dist/plugin-mode/build-readiness-widget.d.ts +28 -0
  177. package/dist/plugin-mode/build-readiness-widget.d.ts.map +1 -0
  178. package/dist/plugin-mode/build-readiness-widget.js +60 -0
  179. package/dist/plugin-mode/build-readiness-widget.js.map +1 -0
  180. package/dist/plugin-mode/compatibility.d.ts +22 -0
  181. package/dist/plugin-mode/compatibility.d.ts.map +1 -0
  182. package/dist/plugin-mode/compatibility.js +59 -0
  183. package/dist/plugin-mode/compatibility.js.map +1 -0
  184. package/dist/plugin-mode/plugin-mcp-bootstrap.d.ts +13 -0
  185. package/dist/plugin-mode/plugin-mcp-bootstrap.d.ts.map +1 -0
  186. package/dist/plugin-mode/plugin-mcp-bootstrap.js +90 -0
  187. package/dist/plugin-mode/plugin-mcp-bootstrap.js.map +1 -0
  188. package/dist/plugin-mode/profile.d.ts +16 -0
  189. package/dist/plugin-mode/profile.d.ts.map +1 -0
  190. package/dist/plugin-mode/profile.js +66 -0
  191. package/dist/plugin-mode/profile.js.map +1 -0
  192. package/dist/plugin-mode/service-compatibility.d.ts +15 -0
  193. package/dist/plugin-mode/service-compatibility.d.ts.map +1 -0
  194. package/dist/plugin-mode/service-compatibility.js +57 -0
  195. package/dist/plugin-mode/service-compatibility.js.map +1 -0
  196. package/dist/update-check.d.ts +2 -16
  197. package/dist/update-check.d.ts.map +1 -1
  198. package/dist/update-check.js.map +1 -1
  199. package/node_modules/@noodle-borg/agent-kit/dist/generated/example-files.js +1 -1
  200. package/node_modules/@noodle-borg/agent-kit/dist/generated/example-files.js.map +1 -1
  201. package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.d.ts +1 -1
  202. package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.d.ts.map +1 -1
  203. package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.js +1 -1
  204. package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.js.map +1 -1
  205. package/node_modules/@noodle-borg/agent-kit/dist/index.d.ts +3 -0
  206. package/node_modules/@noodle-borg/agent-kit/dist/index.d.ts.map +1 -1
  207. package/node_modules/@noodle-borg/agent-kit/dist/index.js +3 -0
  208. package/node_modules/@noodle-borg/agent-kit/dist/index.js.map +1 -1
  209. package/node_modules/@noodle-borg/agent-kit/dist/plugin-bundle.d.ts +5 -0
  210. package/node_modules/@noodle-borg/agent-kit/dist/plugin-bundle.d.ts.map +1 -1
  211. package/node_modules/@noodle-borg/agent-kit/dist/plugin-bundle.js +106 -28
  212. package/node_modules/@noodle-borg/agent-kit/dist/plugin-bundle.js.map +1 -1
  213. package/node_modules/@noodle-borg/agent-kit/dist/plugin-compatibility.d.ts +22 -0
  214. package/node_modules/@noodle-borg/agent-kit/dist/plugin-compatibility.d.ts.map +1 -0
  215. package/node_modules/@noodle-borg/agent-kit/dist/plugin-compatibility.js +100 -0
  216. package/node_modules/@noodle-borg/agent-kit/dist/plugin-compatibility.js.map +1 -0
  217. package/node_modules/@noodle-borg/agent-kit/dist/plugin-launcher.d.ts +8 -0
  218. package/node_modules/@noodle-borg/agent-kit/dist/plugin-launcher.d.ts.map +1 -0
  219. package/node_modules/@noodle-borg/agent-kit/dist/plugin-launcher.js +55 -0
  220. package/node_modules/@noodle-borg/agent-kit/dist/plugin-launcher.js.map +1 -0
  221. package/node_modules/@noodle-borg/agent-kit/dist/plugin-manifests.d.ts +27 -0
  222. package/node_modules/@noodle-borg/agent-kit/dist/plugin-manifests.d.ts.map +1 -0
  223. package/node_modules/@noodle-borg/agent-kit/dist/plugin-manifests.js +108 -0
  224. package/node_modules/@noodle-borg/agent-kit/dist/plugin-manifests.js.map +1 -0
  225. package/node_modules/@noodle-borg/agent-kit/dist/plugin-marketplace-docs.d.ts +9 -0
  226. package/node_modules/@noodle-borg/agent-kit/dist/plugin-marketplace-docs.d.ts.map +1 -0
  227. package/node_modules/@noodle-borg/agent-kit/dist/plugin-marketplace-docs.js +121 -0
  228. package/node_modules/@noodle-borg/agent-kit/dist/plugin-marketplace-docs.js.map +1 -0
  229. package/node_modules/@noodle-borg/agent-kit/dist/plugin-submission.d.ts +130 -0
  230. package/node_modules/@noodle-borg/agent-kit/dist/plugin-submission.d.ts.map +1 -0
  231. package/node_modules/@noodle-borg/agent-kit/dist/plugin-submission.js +220 -0
  232. package/node_modules/@noodle-borg/agent-kit/dist/plugin-submission.js.map +1 -0
  233. package/node_modules/@noodle-borg/agent-kit/dist/skill-content.d.ts.map +1 -1
  234. package/node_modules/@noodle-borg/agent-kit/dist/skill-content.js +2 -0
  235. package/node_modules/@noodle-borg/agent-kit/dist/skill-content.js.map +1 -1
  236. package/node_modules/@noodle-borg/agent-kit/dist/skill-operations-refs.d.ts.map +1 -1
  237. package/node_modules/@noodle-borg/agent-kit/dist/skill-operations-refs.js +5 -0
  238. package/node_modules/@noodle-borg/agent-kit/dist/skill-operations-refs.js.map +1 -1
  239. package/node_modules/@noodle-borg/agent-kit/package.json +1 -1
  240. package/node_modules/@noodle-borg/auth/dist/jwt-issuer.d.ts +4 -0
  241. package/node_modules/@noodle-borg/auth/dist/jwt-issuer.d.ts.map +1 -1
  242. package/node_modules/@noodle-borg/auth/dist/jwt-issuer.js +2 -0
  243. package/node_modules/@noodle-borg/auth/dist/jwt-issuer.js.map +1 -1
  244. package/node_modules/@noodle-borg/auth/dist/verify.d.ts +4 -0
  245. package/node_modules/@noodle-borg/auth/dist/verify.d.ts.map +1 -1
  246. package/node_modules/@noodle-borg/auth/dist/verify.js +10 -0
  247. package/node_modules/@noodle-borg/auth/dist/verify.js.map +1 -1
  248. package/node_modules/@noodle-borg/developer-mcp/dist/capabilities.d.ts +9 -0
  249. package/node_modules/@noodle-borg/developer-mcp/dist/capabilities.d.ts.map +1 -0
  250. package/node_modules/@noodle-borg/developer-mcp/dist/capabilities.js +41 -0
  251. package/node_modules/@noodle-borg/developer-mcp/dist/capabilities.js.map +1 -0
  252. package/node_modules/@noodle-borg/developer-mcp/dist/contracts.d.ts +637 -0
  253. package/node_modules/@noodle-borg/developer-mcp/dist/contracts.d.ts.map +1 -0
  254. package/node_modules/@noodle-borg/developer-mcp/dist/contracts.js +364 -0
  255. package/node_modules/@noodle-borg/developer-mcp/dist/contracts.js.map +1 -0
  256. package/node_modules/@noodle-borg/developer-mcp/dist/diagnosis.d.ts +79 -0
  257. package/node_modules/@noodle-borg/developer-mcp/dist/diagnosis.d.ts.map +1 -0
  258. package/node_modules/@noodle-borg/developer-mcp/dist/diagnosis.js +138 -0
  259. package/node_modules/@noodle-borg/developer-mcp/dist/diagnosis.js.map +1 -0
  260. package/node_modules/@noodle-borg/developer-mcp/dist/index.d.ts +12 -0
  261. package/node_modules/@noodle-borg/developer-mcp/dist/index.d.ts.map +1 -0
  262. package/node_modules/@noodle-borg/developer-mcp/dist/index.js +12 -0
  263. package/node_modules/@noodle-borg/developer-mcp/dist/index.js.map +1 -0
  264. package/node_modules/@noodle-borg/developer-mcp/dist/port.d.ts +16 -0
  265. package/node_modules/@noodle-borg/developer-mcp/dist/port.d.ts.map +1 -0
  266. package/node_modules/@noodle-borg/developer-mcp/dist/port.js +9 -0
  267. package/node_modules/@noodle-borg/developer-mcp/dist/port.js.map +1 -0
  268. package/node_modules/@noodle-borg/developer-mcp/dist/prompts.d.ts +16 -0
  269. package/node_modules/@noodle-borg/developer-mcp/dist/prompts.d.ts.map +1 -0
  270. package/node_modules/@noodle-borg/developer-mcp/dist/prompts.js +51 -0
  271. package/node_modules/@noodle-borg/developer-mcp/dist/prompts.js.map +1 -0
  272. package/node_modules/@noodle-borg/developer-mcp/dist/resources.d.ts +13 -0
  273. package/node_modules/@noodle-borg/developer-mcp/dist/resources.d.ts.map +1 -0
  274. package/node_modules/@noodle-borg/developer-mcp/dist/resources.js +90 -0
  275. package/node_modules/@noodle-borg/developer-mcp/dist/resources.js.map +1 -0
  276. package/node_modules/@noodle-borg/developer-mcp/dist/results.d.ts +31 -0
  277. package/node_modules/@noodle-borg/developer-mcp/dist/results.d.ts.map +1 -0
  278. package/node_modules/@noodle-borg/developer-mcp/dist/results.js +80 -0
  279. package/node_modules/@noodle-borg/developer-mcp/dist/results.js.map +1 -0
  280. package/node_modules/@noodle-borg/developer-mcp/dist/server.d.ts +19 -0
  281. package/node_modules/@noodle-borg/developer-mcp/dist/server.d.ts.map +1 -0
  282. package/node_modules/@noodle-borg/developer-mcp/dist/server.js +79 -0
  283. package/node_modules/@noodle-borg/developer-mcp/dist/server.js.map +1 -0
  284. package/node_modules/@noodle-borg/developer-mcp/dist/tools/apps.d.ts +43 -0
  285. package/node_modules/@noodle-borg/developer-mcp/dist/tools/apps.d.ts.map +1 -0
  286. package/node_modules/@noodle-borg/developer-mcp/dist/tools/apps.js +77 -0
  287. package/node_modules/@noodle-borg/developer-mcp/dist/tools/apps.js.map +1 -0
  288. package/node_modules/@noodle-borg/developer-mcp/dist/tools/context.d.ts +4 -0
  289. package/node_modules/@noodle-borg/developer-mcp/dist/tools/context.d.ts.map +1 -0
  290. package/node_modules/@noodle-borg/developer-mcp/dist/tools/context.js +21 -0
  291. package/node_modules/@noodle-borg/developer-mcp/dist/tools/context.js.map +1 -0
  292. package/node_modules/@noodle-borg/developer-mcp/dist/tools/deployments.d.ts +61 -0
  293. package/node_modules/@noodle-borg/developer-mcp/dist/tools/deployments.d.ts.map +1 -0
  294. package/node_modules/@noodle-borg/developer-mcp/dist/tools/deployments.js +37 -0
  295. package/node_modules/@noodle-borg/developer-mcp/dist/tools/deployments.js.map +1 -0
  296. package/node_modules/@noodle-borg/developer-mcp/dist/tools/diagnose.d.ts +29 -0
  297. package/node_modules/@noodle-borg/developer-mcp/dist/tools/diagnose.d.ts.map +1 -0
  298. package/node_modules/@noodle-borg/developer-mcp/dist/tools/diagnose.js +83 -0
  299. package/node_modules/@noodle-borg/developer-mcp/dist/tools/diagnose.js.map +1 -0
  300. package/node_modules/@noodle-borg/developer-mcp/dist/tools/index.d.ts +7 -0
  301. package/node_modules/@noodle-borg/developer-mcp/dist/tools/index.d.ts.map +1 -0
  302. package/node_modules/@noodle-borg/developer-mcp/dist/tools/index.js +7 -0
  303. package/node_modules/@noodle-borg/developer-mcp/dist/tools/index.js.map +1 -0
  304. package/node_modules/@noodle-borg/developer-mcp/dist/tools/operations.d.ts +138 -0
  305. package/node_modules/@noodle-borg/developer-mcp/dist/tools/operations.d.ts.map +1 -0
  306. package/node_modules/@noodle-borg/developer-mcp/dist/tools/operations.js +99 -0
  307. package/node_modules/@noodle-borg/developer-mcp/dist/tools/operations.js.map +1 -0
  308. package/node_modules/@noodle-borg/developer-mcp/dist/tools/rollback.d.ts +24 -0
  309. package/node_modules/@noodle-borg/developer-mcp/dist/tools/rollback.d.ts.map +1 -0
  310. package/node_modules/@noodle-borg/developer-mcp/dist/tools/rollback.js +59 -0
  311. package/node_modules/@noodle-borg/developer-mcp/dist/tools/rollback.js.map +1 -0
  312. package/node_modules/@noodle-borg/developer-mcp/dist/widget-links.d.ts +16 -0
  313. package/node_modules/@noodle-borg/developer-mcp/dist/widget-links.d.ts.map +1 -0
  314. package/node_modules/@noodle-borg/developer-mcp/dist/widget-links.js +20 -0
  315. package/node_modules/@noodle-borg/developer-mcp/dist/widget-links.js.map +1 -0
  316. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/analytics.d.ts +2 -0
  317. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/analytics.d.ts.map +1 -0
  318. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/analytics.js +6 -0
  319. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/analytics.js.map +1 -0
  320. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/app-overview.d.ts +2 -0
  321. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/app-overview.d.ts.map +1 -0
  322. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/app-overview.js +6 -0
  323. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/app-overview.js.map +1 -0
  324. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/deployment-detail.d.ts +2 -0
  325. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/deployment-detail.d.ts.map +1 -0
  326. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/deployment-detail.js +7 -0
  327. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/deployment-detail.js.map +1 -0
  328. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/operations.d.ts +2 -0
  329. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/operations.d.ts.map +1 -0
  330. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/operations.js +6 -0
  331. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/operations.js.map +1 -0
  332. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/resources.d.ts +37 -0
  333. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/resources.d.ts.map +1 -0
  334. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/resources.js +76 -0
  335. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/resources.js.map +1 -0
  336. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/shared.d.ts +30 -0
  337. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/shared.d.ts.map +1 -0
  338. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/shared.js +23 -0
  339. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/shared.js.map +1 -0
  340. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/styles.d.ts +2 -0
  341. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/styles.d.ts.map +1 -0
  342. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/styles.js +153 -0
  343. package/node_modules/@noodle-borg/developer-mcp/dist/widgets/styles.js.map +1 -0
  344. package/node_modules/@noodle-borg/developer-mcp/package.json +37 -0
  345. package/node_modules/@noodle-borg/module/dist/contract.d.ts +4 -0
  346. package/node_modules/@noodle-borg/module/dist/contract.d.ts.map +1 -1
  347. package/node_modules/@noodle-borg/module/dist/contract.js.map +1 -1
  348. package/node_modules/@noodle-borg/service/dist/auth/deploy-gate.d.ts +7 -1
  349. package/node_modules/@noodle-borg/service/dist/auth/deploy-gate.d.ts.map +1 -1
  350. package/node_modules/@noodle-borg/service/dist/auth/deploy-gate.js +17 -5
  351. package/node_modules/@noodle-borg/service/dist/auth/deploy-gate.js.map +1 -1
  352. package/node_modules/@noodle-borg/service/dist/auth/developer-grant-guard.d.ts +16 -0
  353. package/node_modules/@noodle-borg/service/dist/auth/developer-grant-guard.d.ts.map +1 -0
  354. package/node_modules/@noodle-borg/service/dist/auth/developer-grant-guard.js +40 -0
  355. package/node_modules/@noodle-borg/service/dist/auth/developer-grant-guard.js.map +1 -0
  356. package/node_modules/@noodle-borg/service/dist/billing/postgres-stripe-checkouts.d.ts +7 -0
  357. package/node_modules/@noodle-borg/service/dist/billing/postgres-stripe-checkouts.d.ts.map +1 -0
  358. package/node_modules/@noodle-borg/service/dist/billing/postgres-stripe-checkouts.js +247 -0
  359. package/node_modules/@noodle-borg/service/dist/billing/postgres-stripe-checkouts.js.map +1 -0
  360. package/node_modules/@noodle-borg/service/dist/billing/postgres-stripe-schema.d.ts.map +1 -1
  361. package/node_modules/@noodle-borg/service/dist/billing/postgres-stripe-schema.js +14 -0
  362. package/node_modules/@noodle-borg/service/dist/billing/postgres-stripe-schema.js.map +1 -1
  363. package/node_modules/@noodle-borg/service/dist/billing/postgres-stripe-store.d.ts +4 -4
  364. package/node_modules/@noodle-borg/service/dist/billing/postgres-stripe-store.d.ts.map +1 -1
  365. package/node_modules/@noodle-borg/service/dist/billing/postgres-stripe-store.js +10 -99
  366. package/node_modules/@noodle-borg/service/dist/billing/postgres-stripe-store.js.map +1 -1
  367. package/node_modules/@noodle-borg/service/dist/billing/stripe-contract.d.ts +6 -0
  368. package/node_modules/@noodle-borg/service/dist/billing/stripe-contract.d.ts.map +1 -1
  369. package/node_modules/@noodle-borg/service/dist/billing/stripe-contract.js +1 -0
  370. package/node_modules/@noodle-borg/service/dist/billing/stripe-contract.js.map +1 -1
  371. package/node_modules/@noodle-borg/service/dist/billing/stripe-provider.d.ts +3 -0
  372. package/node_modules/@noodle-borg/service/dist/billing/stripe-provider.d.ts.map +1 -1
  373. package/node_modules/@noodle-borg/service/dist/billing/stripe-provider.js +27 -0
  374. package/node_modules/@noodle-borg/service/dist/billing/stripe-provider.js.map +1 -1
  375. package/node_modules/@noodle-borg/service/dist/billing/stripe-service.d.ts +5 -4
  376. package/node_modules/@noodle-borg/service/dist/billing/stripe-service.d.ts.map +1 -1
  377. package/node_modules/@noodle-borg/service/dist/billing/stripe-service.js +112 -43
  378. package/node_modules/@noodle-borg/service/dist/billing/stripe-service.js.map +1 -1
  379. package/node_modules/@noodle-borg/service/dist/billing/stripe-store.d.ts +35 -5
  380. package/node_modules/@noodle-borg/service/dist/billing/stripe-store.d.ts.map +1 -1
  381. package/node_modules/@noodle-borg/service/dist/billing/stripe-store.js +8 -1
  382. package/node_modules/@noodle-borg/service/dist/billing/stripe-store.js.map +1 -1
  383. package/node_modules/@noodle-borg/service/dist/build-info.d.ts +1 -0
  384. package/node_modules/@noodle-borg/service/dist/build-info.d.ts.map +1 -1
  385. package/node_modules/@noodle-borg/service/dist/build-info.js +11 -0
  386. package/node_modules/@noodle-borg/service/dist/build-info.js.map +1 -1
  387. package/node_modules/@noodle-borg/service/dist/developer-mcp/control-plane-adapter.d.ts +30 -0
  388. package/node_modules/@noodle-borg/service/dist/developer-mcp/control-plane-adapter.d.ts.map +1 -0
  389. package/node_modules/@noodle-borg/service/dist/developer-mcp/control-plane-adapter.js +311 -0
  390. package/node_modules/@noodle-borg/service/dist/developer-mcp/control-plane-adapter.js.map +1 -0
  391. package/node_modules/@noodle-borg/service/dist/developer-mcp/inspection.d.ts +69 -0
  392. package/node_modules/@noodle-borg/service/dist/developer-mcp/inspection.d.ts.map +1 -0
  393. package/node_modules/@noodle-borg/service/dist/developer-mcp/inspection.js +118 -0
  394. package/node_modules/@noodle-borg/service/dist/developer-mcp/inspection.js.map +1 -0
  395. package/node_modules/@noodle-borg/service/dist/developer-mcp/mount.d.ts +29 -0
  396. package/node_modules/@noodle-borg/service/dist/developer-mcp/mount.d.ts.map +1 -0
  397. package/node_modules/@noodle-borg/service/dist/developer-mcp/mount.js +223 -0
  398. package/node_modules/@noodle-borg/service/dist/developer-mcp/mount.js.map +1 -0
  399. package/node_modules/@noodle-borg/service/dist/developer-mcp/service-options.d.ts +18 -0
  400. package/node_modules/@noodle-borg/service/dist/developer-mcp/service-options.d.ts.map +1 -0
  401. package/node_modules/@noodle-borg/service/dist/developer-mcp/service-options.js +26 -0
  402. package/node_modules/@noodle-borg/service/dist/developer-mcp/service-options.js.map +1 -0
  403. package/node_modules/@noodle-borg/service/dist/index.d.ts +5 -0
  404. package/node_modules/@noodle-borg/service/dist/index.d.ts.map +1 -1
  405. package/node_modules/@noodle-borg/service/dist/index.js +5 -0
  406. package/node_modules/@noodle-borg/service/dist/index.js.map +1 -1
  407. package/node_modules/@noodle-borg/service/dist/main.js +1 -0
  408. package/node_modules/@noodle-borg/service/dist/main.js.map +1 -1
  409. package/node_modules/@noodle-borg/service/dist/oauth/app.d.ts.map +1 -1
  410. package/node_modules/@noodle-borg/service/dist/oauth/app.js +5 -0
  411. package/node_modules/@noodle-borg/service/dist/oauth/app.js.map +1 -1
  412. package/node_modules/@noodle-borg/service/dist/oauth/consent-claims.d.ts +6 -0
  413. package/node_modules/@noodle-borg/service/dist/oauth/consent-claims.d.ts.map +1 -1
  414. package/node_modules/@noodle-borg/service/dist/oauth/consent-claims.js +28 -0
  415. package/node_modules/@noodle-borg/service/dist/oauth/consent-claims.js.map +1 -1
  416. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-authorizer.d.ts +48 -0
  417. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-authorizer.d.ts.map +1 -0
  418. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-authorizer.js +90 -0
  419. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-authorizer.js.map +1 -0
  420. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-bootstrap.d.ts +18 -0
  421. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-bootstrap.d.ts.map +1 -0
  422. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-bootstrap.js +29 -0
  423. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-bootstrap.js.map +1 -0
  424. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-flow.d.ts +22 -0
  425. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-flow.d.ts.map +1 -0
  426. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-flow.js +144 -0
  427. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-flow.js.map +1 -0
  428. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-page.d.ts +12 -0
  429. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-page.d.ts.map +1 -0
  430. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-page.js +61 -0
  431. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-page.js.map +1 -0
  432. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-store-postgres.d.ts +11 -0
  433. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-store-postgres.d.ts.map +1 -0
  434. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-store-postgres.js +89 -0
  435. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-store-postgres.js.map +1 -0
  436. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant.d.ts +48 -0
  437. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant.d.ts.map +1 -0
  438. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant.js +123 -0
  439. package/node_modules/@noodle-borg/service/dist/oauth/developer-grant.js.map +1 -0
  440. package/node_modules/@noodle-borg/service/dist/oauth/paths.d.ts.map +1 -1
  441. package/node_modules/@noodle-borg/service/dist/oauth/paths.js +2 -0
  442. package/node_modules/@noodle-borg/service/dist/oauth/paths.js.map +1 -1
  443. package/node_modules/@noodle-borg/service/dist/oauth/provider.d.ts +6 -1
  444. package/node_modules/@noodle-borg/service/dist/oauth/provider.d.ts.map +1 -1
  445. package/node_modules/@noodle-borg/service/dist/oauth/provider.js +53 -0
  446. package/node_modules/@noodle-borg/service/dist/oauth/provider.js.map +1 -1
  447. package/node_modules/@noodle-borg/service/dist/oauth/store-postgres.d.ts.map +1 -1
  448. package/node_modules/@noodle-borg/service/dist/oauth/store-postgres.js +17 -6
  449. package/node_modules/@noodle-borg/service/dist/oauth/store-postgres.js.map +1 -1
  450. package/node_modules/@noodle-borg/service/dist/oauth/store.d.ts +3 -0
  451. package/node_modules/@noodle-borg/service/dist/oauth/store.d.ts.map +1 -1
  452. package/node_modules/@noodle-borg/service/dist/oauth/store.js +2 -0
  453. package/node_modules/@noodle-borg/service/dist/oauth/store.js.map +1 -1
  454. package/node_modules/@noodle-borg/service/dist/oauth/token-issuer.d.ts +2 -0
  455. package/node_modules/@noodle-borg/service/dist/oauth/token-issuer.d.ts.map +1 -1
  456. package/node_modules/@noodle-borg/service/dist/oauth/token-issuer.js +8 -0
  457. package/node_modules/@noodle-borg/service/dist/oauth/token-issuer.js.map +1 -1
  458. package/node_modules/@noodle-borg/service/dist/operations/rollback-deployment.d.ts +52 -0
  459. package/node_modules/@noodle-borg/service/dist/operations/rollback-deployment.d.ts.map +1 -0
  460. package/node_modules/@noodle-borg/service/dist/operations/rollback-deployment.js +120 -0
  461. package/node_modules/@noodle-borg/service/dist/operations/rollback-deployment.js.map +1 -0
  462. package/node_modules/@noodle-borg/service/dist/options.d.ts +7 -1
  463. package/node_modules/@noodle-borg/service/dist/options.d.ts.map +1 -1
  464. package/node_modules/@noodle-borg/service/dist/routes/analytics-dispatch.d.ts +2 -0
  465. package/node_modules/@noodle-borg/service/dist/routes/analytics-dispatch.d.ts.map +1 -1
  466. package/node_modules/@noodle-borg/service/dist/routes/analytics-dispatch.js +4 -4
  467. package/node_modules/@noodle-borg/service/dist/routes/analytics-dispatch.js.map +1 -1
  468. package/node_modules/@noodle-borg/service/dist/routes/analytics.d.ts +4 -3
  469. package/node_modules/@noodle-borg/service/dist/routes/analytics.d.ts.map +1 -1
  470. package/node_modules/@noodle-borg/service/dist/routes/analytics.js +7 -7
  471. package/node_modules/@noodle-borg/service/dist/routes/analytics.js.map +1 -1
  472. package/node_modules/@noodle-borg/service/dist/routes/apps.d.ts +3 -2
  473. package/node_modules/@noodle-borg/service/dist/routes/apps.d.ts.map +1 -1
  474. package/node_modules/@noodle-borg/service/dist/routes/apps.js +28 -7
  475. package/node_modules/@noodle-borg/service/dist/routes/apps.js.map +1 -1
  476. package/node_modules/@noodle-borg/service/dist/routes/billing-stripe.d.ts.map +1 -1
  477. package/node_modules/@noodle-borg/service/dist/routes/billing-stripe.js +4 -2
  478. package/node_modules/@noodle-borg/service/dist/routes/billing-stripe.js.map +1 -1
  479. package/node_modules/@noodle-borg/service/dist/routes/control-plane.d.ts +12 -1
  480. package/node_modules/@noodle-borg/service/dist/routes/control-plane.d.ts.map +1 -1
  481. package/node_modules/@noodle-borg/service/dist/routes/control-plane.js +36 -4
  482. package/node_modules/@noodle-borg/service/dist/routes/control-plane.js.map +1 -1
  483. package/node_modules/@noodle-borg/service/dist/routes/deployments.d.ts +4 -3
  484. package/node_modules/@noodle-borg/service/dist/routes/deployments.d.ts.map +1 -1
  485. package/node_modules/@noodle-borg/service/dist/routes/deployments.js +26 -18
  486. package/node_modules/@noodle-borg/service/dist/routes/deployments.js.map +1 -1
  487. package/node_modules/@noodle-borg/service/dist/routes/diagnostics.d.ts.map +1 -1
  488. package/node_modules/@noodle-borg/service/dist/routes/diagnostics.js +8 -105
  489. package/node_modules/@noodle-borg/service/dist/routes/diagnostics.js.map +1 -1
  490. package/node_modules/@noodle-borg/service/dist/routes/envs.d.ts +3 -2
  491. package/node_modules/@noodle-borg/service/dist/routes/envs.d.ts.map +1 -1
  492. package/node_modules/@noodle-borg/service/dist/routes/envs.js +9 -5
  493. package/node_modules/@noodle-borg/service/dist/routes/envs.js.map +1 -1
  494. package/node_modules/@noodle-borg/service/dist/routes/logs.d.ts +2 -1
  495. package/node_modules/@noodle-borg/service/dist/routes/logs.d.ts.map +1 -1
  496. package/node_modules/@noodle-borg/service/dist/routes/logs.js +3 -3
  497. package/node_modules/@noodle-borg/service/dist/routes/logs.js.map +1 -1
  498. package/node_modules/@noodle-borg/service/dist/routes/plans.d.ts.map +1 -1
  499. package/node_modules/@noodle-borg/service/dist/routes/plans.js +3 -14
  500. package/node_modules/@noodle-borg/service/dist/routes/plans.js.map +1 -1
  501. package/node_modules/@noodle-borg/service/dist/routes/policies.d.ts.map +1 -1
  502. package/node_modules/@noodle-borg/service/dist/routes/policies.js +3 -14
  503. package/node_modules/@noodle-borg/service/dist/routes/policies.js.map +1 -1
  504. package/node_modules/@noodle-borg/service/dist/routes/protected-resource-metadata.d.ts +8 -0
  505. package/node_modules/@noodle-borg/service/dist/routes/protected-resource-metadata.d.ts.map +1 -0
  506. package/node_modules/@noodle-borg/service/dist/routes/protected-resource-metadata.js +51 -0
  507. package/node_modules/@noodle-borg/service/dist/routes/protected-resource-metadata.js.map +1 -0
  508. package/node_modules/@noodle-borg/service/dist/routes/resource-read-dispatch.d.ts +2 -0
  509. package/node_modules/@noodle-borg/service/dist/routes/resource-read-dispatch.d.ts.map +1 -1
  510. package/node_modules/@noodle-borg/service/dist/routes/resource-read-dispatch.js +6 -6
  511. package/node_modules/@noodle-borg/service/dist/routes/resource-read-dispatch.js.map +1 -1
  512. package/node_modules/@noodle-borg/service/dist/routes/rollback.d.ts.map +1 -1
  513. package/node_modules/@noodle-borg/service/dist/routes/rollback.js +25 -86
  514. package/node_modules/@noodle-borg/service/dist/routes/rollback.js.map +1 -1
  515. package/node_modules/@noodle-borg/service/dist/serve-resource-auth.d.ts +11 -0
  516. package/node_modules/@noodle-borg/service/dist/serve-resource-auth.d.ts.map +1 -0
  517. package/node_modules/@noodle-borg/service/dist/serve-resource-auth.js +62 -0
  518. package/node_modules/@noodle-borg/service/dist/serve-resource-auth.js.map +1 -0
  519. package/node_modules/@noodle-borg/service/dist/serve.d.ts.map +1 -1
  520. package/node_modules/@noodle-borg/service/dist/serve.js +19 -62
  521. package/node_modules/@noodle-borg/service/dist/serve.js.map +1 -1
  522. package/node_modules/@noodle-borg/service/dist/service.d.ts.map +1 -1
  523. package/node_modules/@noodle-borg/service/dist/service.js +25 -45
  524. package/node_modules/@noodle-borg/service/dist/service.js.map +1 -1
  525. package/node_modules/@noodle-borg/service/dist/store/postgres-schema.d.ts +2 -0
  526. package/node_modules/@noodle-borg/service/dist/store/postgres-schema.d.ts.map +1 -1
  527. package/node_modules/@noodle-borg/service/dist/store/postgres-schema.js +35 -0
  528. package/node_modules/@noodle-borg/service/dist/store/postgres-schema.js.map +1 -1
  529. package/node_modules/@noodle-borg/service/package.json +1 -0
  530. package/package.json +2 -1
@@ -0,0 +1,16 @@
1
+ export declare const TOOL_WIDGET_LINKS: {
2
+ readonly inspect_app: "ui://noodle-developer/app-overview/v1";
3
+ readonly inspect_deployment: "ui://noodle-developer/deployment-detail/v1";
4
+ readonly get_logs: "ui://noodle-developer/operations/v1";
5
+ readonly diagnose_app: "ui://noodle-developer/operations/v1";
6
+ readonly get_metrics: "ui://noodle-developer/analytics/v1";
7
+ readonly rollback_deployment: "ui://noodle-developer/deployment-detail/v1";
8
+ };
9
+ export type WidgetLinkedTool = keyof typeof TOOL_WIDGET_LINKS;
10
+ export declare function developerToolWidgetMeta(tool: string, enabled: boolean): {
11
+ readonly ui: {
12
+ readonly resourceUri: "ui://noodle-developer/app-overview/v1" | "ui://noodle-developer/deployment-detail/v1" | "ui://noodle-developer/operations/v1" | "ui://noodle-developer/analytics/v1";
13
+ };
14
+ readonly 'openai/outputTemplate': "ui://noodle-developer/app-overview/v1" | "ui://noodle-developer/deployment-detail/v1" | "ui://noodle-developer/operations/v1" | "ui://noodle-developer/analytics/v1";
15
+ } | undefined;
16
+ //# sourceMappingURL=widget-links.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widget-links.d.ts","sourceRoot":"","sources":["../src/widget-links.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,iBAAiB;;;;;;;CAOpB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,iBAAiB,CAAC;AAE9D,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;;;;;cAQrE"}
@@ -0,0 +1,20 @@
1
+ import { ANALYTICS_WIDGET_URI, APP_OVERVIEW_WIDGET_URI, DEPLOYMENT_DETAIL_WIDGET_URI, OPERATIONS_WIDGET_URI, } from './widgets/resources.js';
2
+ export const TOOL_WIDGET_LINKS = {
3
+ inspect_app: APP_OVERVIEW_WIDGET_URI,
4
+ inspect_deployment: DEPLOYMENT_DETAIL_WIDGET_URI,
5
+ get_logs: OPERATIONS_WIDGET_URI,
6
+ diagnose_app: OPERATIONS_WIDGET_URI,
7
+ get_metrics: ANALYTICS_WIDGET_URI,
8
+ rollback_deployment: DEPLOYMENT_DETAIL_WIDGET_URI,
9
+ };
10
+ export function developerToolWidgetMeta(tool, enabled) {
11
+ if (!enabled || !(tool in TOOL_WIDGET_LINKS))
12
+ return undefined;
13
+ const uri = TOOL_WIDGET_LINKS[tool];
14
+ return {
15
+ ui: { resourceUri: uri },
16
+ // ChatGPT compatibility projection; `ui.resourceUri` remains the host-neutral MCP Apps source.
17
+ 'openai/outputTemplate': uri,
18
+ };
19
+ }
20
+ //# sourceMappingURL=widget-links.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widget-links.js","sourceRoot":"","sources":["../src/widget-links.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,4BAA4B,EAC5B,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,WAAW,EAAE,uBAAuB;IACpC,kBAAkB,EAAE,4BAA4B;IAChD,QAAQ,EAAE,qBAAqB;IAC/B,YAAY,EAAE,qBAAqB;IACnC,WAAW,EAAE,oBAAoB;IACjC,mBAAmB,EAAE,4BAA4B;CACzC,CAAC;AAIX,MAAM,UAAU,uBAAuB,CAAC,IAAY,EAAE,OAAgB;IACpE,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,IAAI,iBAAiB,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/D,MAAM,GAAG,GAAG,iBAAiB,CAAC,IAAwB,CAAC,CAAC;IACxD,OAAO;QACL,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE;QACxB,+FAA+F;QAC/F,uBAAuB,EAAE,GAAG;KACpB,CAAC;AACb,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function AnalyticsWidget(): import("react").JSX.Element;
2
+ //# sourceMappingURL=analytics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../src/widgets/analytics.tsx"],"names":[],"mappings":"AAEA,wBAAgB,eAAe,gCAmD9B"}
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { ActionStatus, EmptyState, Metric, Panel, WidgetHeader } from './shared.js';
3
+ export function AnalyticsWidget() {
4
+ return (_jsxs("main", { children: [_jsx(WidgetHeader, { eyebrow: "Noodle Cloud", title: "Analytics", description: "A bounded request window from the selected app environment.", statusPath: "ok" }), _jsx(Panel, { title: "Request health", children: _jsxs("dl", { className: "metrics", children: [_jsx(Metric, { label: "Requests", path: "data.metrics.totals.requests" }), _jsx(Metric, { label: "Sessions", path: "data.metrics.totals.sessions" }), _jsx(Metric, { label: "Error rate", path: "data.metrics.errors.errorRate" }), _jsx(Metric, { label: "P95 latency", path: "data.metrics.latency.p95Ms", hint: "Milliseconds" })] }) }), _jsxs(Panel, { title: "Observation window", children: [_jsxs("dl", { className: "facts", children: [_jsx(Metric, { label: "Since", path: "data.window.since" }), _jsx(Metric, { label: "Until", path: "data.window.until" }), _jsx(Metric, { label: "Partial", path: "data.truncated" })] }), _jsx("p", { className: "notice", "data-tone": "warn", "data-bind-if": "data.truncated", children: "Partial data: the bounded analytics scan reached its limit. Narrow the time window for a complete view." })] }), _jsx(Panel, { title: "Tools", children: _jsxs("div", { className: "collection", "data-collection": "data.metrics.byTool", "data-collection-item": "tool", children: [_jsx("template", { "data-collection-template": "", children: _jsxs("article", { className: "collection-card", children: [_jsx("h3", { "data-bind": "tool.tool", children: "Tool" }), _jsxs("p", { children: ["Calls: ", _jsx("strong", { "data-bind": "tool.calls", children: "\u2014" })] }), _jsxs("p", { children: ["Errors: ", _jsx("strong", { "data-bind": "tool.errors", children: "\u2014" })] })] }) }), _jsx(EmptyState, { children: "No tool calls were observed in this window." })] }) }), _jsx(ActionStatus, {})] }));
5
+ }
6
+ //# sourceMappingURL=analytics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../src/widgets/analytics.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEpF,MAAM,UAAU,eAAe;IAC7B,OAAO,CACL,2BACE,KAAC,YAAY,IACX,OAAO,EAAC,cAAc,EACtB,KAAK,EAAC,WAAW,EACjB,WAAW,EAAC,6DAA6D,EACzE,UAAU,EAAC,IAAI,GACf,EACF,KAAC,KAAK,IAAC,KAAK,EAAC,gBAAgB,YAC3B,cAAI,SAAS,EAAC,SAAS,aACrB,KAAC,MAAM,IAAC,KAAK,EAAC,UAAU,EAAC,IAAI,EAAC,8BAA8B,GAAG,EAC/D,KAAC,MAAM,IAAC,KAAK,EAAC,UAAU,EAAC,IAAI,EAAC,8BAA8B,GAAG,EAC/D,KAAC,MAAM,IAAC,KAAK,EAAC,YAAY,EAAC,IAAI,EAAC,+BAA+B,GAAG,EAClE,KAAC,MAAM,IAAC,KAAK,EAAC,aAAa,EAAC,IAAI,EAAC,4BAA4B,EAAC,IAAI,EAAC,cAAc,GAAG,IACjF,GACC,EACR,MAAC,KAAK,IAAC,KAAK,EAAC,oBAAoB,aAC/B,cAAI,SAAS,EAAC,OAAO,aACnB,KAAC,MAAM,IAAC,KAAK,EAAC,OAAO,EAAC,IAAI,EAAC,mBAAmB,GAAG,EACjD,KAAC,MAAM,IAAC,KAAK,EAAC,OAAO,EAAC,IAAI,EAAC,mBAAmB,GAAG,EACjD,KAAC,MAAM,IAAC,KAAK,EAAC,SAAS,EAAC,IAAI,EAAC,gBAAgB,GAAG,IAC7C,EACL,YAAG,SAAS,EAAC,QAAQ,eAAW,MAAM,kBAAc,gBAAgB,wHAGhE,IACE,EACR,KAAC,KAAK,IAAC,KAAK,EAAC,OAAO,YAClB,eACE,SAAS,EAAC,YAAY,qBACN,qBAAqB,0BAChB,MAAM,aAE3B,+CAAmC,EAAE,YACnC,mBAAS,SAAS,EAAC,iBAAiB,aAClC,0BAAc,WAAW,qBAAU,EACnC,mCACS,8BAAkB,YAAY,uBAAW,IAC9C,EACJ,oCACU,8BAAkB,aAAa,uBAAW,IAChD,IACI,GACD,EACX,KAAC,UAAU,8DAAyD,IAChE,GACA,EACR,KAAC,YAAY,KAAG,IACX,CACR,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function AppOverviewWidget(): import("react").JSX.Element;
2
+ //# sourceMappingURL=app-overview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-overview.d.ts","sourceRoot":"","sources":["../../src/widgets/app-overview.tsx"],"names":[],"mappings":"AAEA,wBAAgB,iBAAiB,gCA6ChC"}
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { ActionStatus, BoundValue, EmptyState, Panel, WidgetHeader } from './shared.js';
3
+ export function AppOverviewWidget() {
4
+ return (_jsxs("main", { children: [_jsx(WidgetHeader, { eyebrow: "Noodle Cloud", title: "App overview", description: "Deployment state for the organization and environments selected at connection time.", statusPath: "data.active" }), _jsx(Panel, { title: "Selected app", description: "This view is limited to the active developer grant.", children: _jsxs("dl", { className: "facts", children: [_jsx(BoundValue, { label: "App", path: "data.app" }), _jsx(BoundValue, { label: "Environment", path: "data.selectedEnvironment" }), _jsx(BoundValue, { label: "Active", path: "data.active" }), _jsx(BoundValue, { label: "Last activity", path: "data.lastActivityAt" })] }) }), _jsx(Panel, { title: "Granted environments", children: _jsxs("div", { className: "tag-list", "data-collection": "data.environments", "data-collection-item": "environment", children: [_jsx("template", { "data-collection-template": "", children: _jsx("span", { className: "tag", "data-bind": "environment", children: "Loading" }) }), _jsx(EmptyState, { children: "No environment is available in this result." })] }) }), _jsxs(Panel, { title: "Active deployment", children: [_jsxs("dl", { className: "facts", children: [_jsx(BoundValue, { label: "Deployment", path: "data.latest.deploymentId" }), _jsx(BoundValue, { label: "Created", path: "data.latest.createdAt" }), _jsx(BoundValue, { label: "Access", path: "data.latest.accessMode" }), _jsx(BoundValue, { label: "Endpoint", path: "data.latest.endpointUrl" })] }), _jsx("p", { className: "notice", "data-bind-if": "data.active", children: "An active deployment is serving this environment." })] }), _jsx(ActionStatus, {})] }));
5
+ }
6
+ //# sourceMappingURL=app-overview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-overview.js","sourceRoot":"","sources":["../../src/widgets/app-overview.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAExF,MAAM,UAAU,iBAAiB;IAC/B,OAAO,CACL,2BACE,KAAC,YAAY,IACX,OAAO,EAAC,cAAc,EACtB,KAAK,EAAC,cAAc,EACpB,WAAW,EAAC,qFAAqF,EACjG,UAAU,EAAC,aAAa,GACxB,EACF,KAAC,KAAK,IAAC,KAAK,EAAC,cAAc,EAAC,WAAW,EAAC,qDAAqD,YAC3F,cAAI,SAAS,EAAC,OAAO,aACnB,KAAC,UAAU,IAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,UAAU,GAAG,EAC1C,KAAC,UAAU,IAAC,KAAK,EAAC,aAAa,EAAC,IAAI,EAAC,0BAA0B,GAAG,EAClE,KAAC,UAAU,IAAC,KAAK,EAAC,QAAQ,EAAC,IAAI,EAAC,aAAa,GAAG,EAChD,KAAC,UAAU,IAAC,KAAK,EAAC,eAAe,EAAC,IAAI,EAAC,qBAAqB,GAAG,IAC5D,GACC,EACR,KAAC,KAAK,IAAC,KAAK,EAAC,sBAAsB,YACjC,eACE,SAAS,EAAC,UAAU,qBACJ,mBAAmB,0BACd,aAAa,aAElC,+CAAmC,EAAE,YACnC,eAAM,SAAS,EAAC,KAAK,eAAW,aAAa,wBAEtC,GACE,EACX,KAAC,UAAU,8DAAyD,IAChE,GACA,EACR,MAAC,KAAK,IAAC,KAAK,EAAC,mBAAmB,aAC9B,cAAI,SAAS,EAAC,OAAO,aACnB,KAAC,UAAU,IAAC,KAAK,EAAC,YAAY,EAAC,IAAI,EAAC,0BAA0B,GAAG,EACjE,KAAC,UAAU,IAAC,KAAK,EAAC,SAAS,EAAC,IAAI,EAAC,uBAAuB,GAAG,EAC3D,KAAC,UAAU,IAAC,KAAK,EAAC,QAAQ,EAAC,IAAI,EAAC,wBAAwB,GAAG,EAC3D,KAAC,UAAU,IAAC,KAAK,EAAC,UAAU,EAAC,IAAI,EAAC,yBAAyB,GAAG,IAC3D,EACL,YAAG,SAAS,EAAC,QAAQ,kBAAc,aAAa,kEAE5C,IACE,EACR,KAAC,YAAY,KAAG,IACX,CACR,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function DeploymentDetailWidget(): import("react").JSX.Element;
2
+ //# sourceMappingURL=deployment-detail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deployment-detail.d.ts","sourceRoot":"","sources":["../../src/widgets/deployment-detail.tsx"],"names":[],"mappings":"AAKA,wBAAgB,sBAAsB,gCA4ErC"}
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { ActionStatus, BoundValue, EmptyState, Panel, WidgetHeader } from './shared.js';
3
+ const ROLLBACK_ARGUMENTS = '{"app":"{{data.target.app}}","env":"{{data.target.env}}","deploymentId":"{{data.rollbackCandidate.deploymentId}}"}';
4
+ export function DeploymentDetailWidget() {
5
+ return (_jsxs("main", { children: [_jsx(WidgetHeader, { eyebrow: "Noodle Cloud", title: "Deployment detail", description: "Runtime health, surface compatibility, and governed rollback state.", statusPath: "data.health.state" }), _jsx(Panel, { title: "Deployment identity", children: _jsxs("dl", { className: "facts", children: [_jsx(BoundValue, { label: "App", path: "data.target.app" }), _jsx(BoundValue, { label: "Environment", path: "data.target.env" }), _jsx(BoundValue, { label: "Deployment", path: "data.deployment.deploymentId" }), _jsx(BoundValue, { label: "Created", path: "data.deployment.createdAt" }), _jsx(BoundValue, { label: "Access", path: "data.deployment.accessMode" }), _jsx(BoundValue, { label: "Endpoint", path: "data.deployment.endpointUrl" })] }) }), _jsxs(Panel, { title: "Runtime health", children: [_jsxs("dl", { className: "facts", children: [_jsx(BoundValue, { label: "State", path: "data.health.state" }), _jsx(BoundValue, { label: "MCP Apps", path: "data.surface.compatibility.mcpApps" }), _jsx(BoundValue, { label: "ChatGPT", path: "data.surface.compatibility.chatgpt" }), _jsx(BoundValue, { label: "Claude", path: "data.surface.compatibility.claude" })] }), _jsxs("div", { className: "collection", "data-collection": "data.health.missingSecrets", "data-collection-item": "missing", children: [_jsx("template", { "data-collection-template": "", children: _jsx("p", { className: "collection-card", "data-bind": "missing", children: "Loading" }) }), _jsx(EmptyState, { children: "No missing managed configuration was reported." })] })] }), _jsxs(Panel, { title: "Rollback", description: "Noodle Cloud rechecks ownership, selected environment, compatibility, and admission before activation.", children: [_jsxs("div", { className: "action-row", children: [_jsxs("dl", { className: "facts", children: [_jsx(BoundValue, { label: "Candidate", path: "data.rollbackCandidate.deploymentId" }), _jsx(BoundValue, { label: "Created", path: "data.rollbackCandidate.createdAt" })] }), _jsx("button", { type: "button", className: "primary-action danger-action", "data-action": "call", "data-action-tool": "rollback_deployment", "data-action-args": ROLLBACK_ARGUMENTS, "data-bind-if": "data.rollbackCandidate.deploymentId", hidden: true, children: "Roll back to candidate" })] }), _jsx("p", { className: "notice", children: "If no candidate is shown, use the headless deployment workflow to inspect an explicit deployment ID." })] }), _jsx(Panel, { title: "Rollback outcome", children: _jsxs("dl", { className: "facts", "data-bind-if": "data.rollback.deploymentId", children: [_jsx(BoundValue, { label: "Activated deployment", path: "data.rollback.deploymentId" }), _jsx(BoundValue, { label: "Previously active", path: "data.rollback.previousDeploymentId" }), _jsx(BoundValue, { label: "Already active", path: "data.rollback.alreadyActive" }), _jsx(BoundValue, { label: "Endpoint", path: "data.rollback.endpointUrl" })] }) }), _jsx(ActionStatus, {})] }));
6
+ }
7
+ //# sourceMappingURL=deployment-detail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deployment-detail.js","sourceRoot":"","sources":["../../src/widgets/deployment-detail.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAExF,MAAM,kBAAkB,GACtB,oHAAoH,CAAC;AAEvH,MAAM,UAAU,sBAAsB;IACpC,OAAO,CACL,2BACE,KAAC,YAAY,IACX,OAAO,EAAC,cAAc,EACtB,KAAK,EAAC,mBAAmB,EACzB,WAAW,EAAC,qEAAqE,EACjF,UAAU,EAAC,mBAAmB,GAC9B,EACF,KAAC,KAAK,IAAC,KAAK,EAAC,qBAAqB,YAChC,cAAI,SAAS,EAAC,OAAO,aACnB,KAAC,UAAU,IAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,iBAAiB,GAAG,EACjD,KAAC,UAAU,IAAC,KAAK,EAAC,aAAa,EAAC,IAAI,EAAC,iBAAiB,GAAG,EACzD,KAAC,UAAU,IAAC,KAAK,EAAC,YAAY,EAAC,IAAI,EAAC,8BAA8B,GAAG,EACrE,KAAC,UAAU,IAAC,KAAK,EAAC,SAAS,EAAC,IAAI,EAAC,2BAA2B,GAAG,EAC/D,KAAC,UAAU,IAAC,KAAK,EAAC,QAAQ,EAAC,IAAI,EAAC,4BAA4B,GAAG,EAC/D,KAAC,UAAU,IAAC,KAAK,EAAC,UAAU,EAAC,IAAI,EAAC,6BAA6B,GAAG,IAC/D,GACC,EACR,MAAC,KAAK,IAAC,KAAK,EAAC,gBAAgB,aAC3B,cAAI,SAAS,EAAC,OAAO,aACnB,KAAC,UAAU,IAAC,KAAK,EAAC,OAAO,EAAC,IAAI,EAAC,mBAAmB,GAAG,EACrD,KAAC,UAAU,IAAC,KAAK,EAAC,UAAU,EAAC,IAAI,EAAC,oCAAoC,GAAG,EACzE,KAAC,UAAU,IAAC,KAAK,EAAC,SAAS,EAAC,IAAI,EAAC,oCAAoC,GAAG,EACxE,KAAC,UAAU,IAAC,KAAK,EAAC,QAAQ,EAAC,IAAI,EAAC,mCAAmC,GAAG,IACnE,EACL,eACE,SAAS,EAAC,YAAY,qBACN,4BAA4B,0BACvB,SAAS,aAE9B,+CAAmC,EAAE,YACnC,YAAG,SAAS,EAAC,iBAAiB,eAAW,SAAS,wBAE9C,GACK,EACX,KAAC,UAAU,iEAA4D,IACnE,IACA,EACR,MAAC,KAAK,IACJ,KAAK,EAAC,UAAU,EAChB,WAAW,EAAC,wGAAwG,aAEpH,eAAK,SAAS,EAAC,YAAY,aACzB,cAAI,SAAS,EAAC,OAAO,aACnB,KAAC,UAAU,IAAC,KAAK,EAAC,WAAW,EAAC,IAAI,EAAC,qCAAqC,GAAG,EAC3E,KAAC,UAAU,IAAC,KAAK,EAAC,SAAS,EAAC,IAAI,EAAC,kCAAkC,GAAG,IACnE,EACL,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,8BAA8B,iBAC5B,MAAM,sBACD,qBAAqB,sBACpB,kBAAkB,kBACvB,qCAAqC,EAClD,MAAM,6CAGC,IACL,EACN,YAAG,SAAS,EAAC,QAAQ,qHAGjB,IACE,EACR,KAAC,KAAK,IAAC,KAAK,EAAC,kBAAkB,YAC7B,cAAI,SAAS,EAAC,OAAO,kBAAc,4BAA4B,aAC7D,KAAC,UAAU,IAAC,KAAK,EAAC,sBAAsB,EAAC,IAAI,EAAC,4BAA4B,GAAG,EAC7E,KAAC,UAAU,IAAC,KAAK,EAAC,mBAAmB,EAAC,IAAI,EAAC,oCAAoC,GAAG,EAClF,KAAC,UAAU,IAAC,KAAK,EAAC,gBAAgB,EAAC,IAAI,EAAC,6BAA6B,GAAG,EACxE,KAAC,UAAU,IAAC,KAAK,EAAC,UAAU,EAAC,IAAI,EAAC,2BAA2B,GAAG,IAC7D,GACC,EACR,KAAC,YAAY,KAAG,IACX,CACR,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function OperationsWidget(): import("react").JSX.Element;
2
+ //# sourceMappingURL=operations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/widgets/operations.tsx"],"names":[],"mappings":"AAEA,wBAAgB,gBAAgB,gCA2C/B"}
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { ActionStatus, EmptyState, Panel, WidgetHeader } from './shared.js';
3
+ export function OperationsWidget() {
4
+ return (_jsxs("main", { children: [_jsx(WidgetHeader, { eyebrow: "Noodle Cloud", title: "Operations", description: "Bounded diagnostic findings and recent application logs.", statusPath: "ok" }), _jsx(Panel, { title: "Diagnostic findings", description: "Evidence is ordered by severity.", children: _jsxs("div", { className: "collection", "data-collection": "data.findings", "data-collection-item": "finding", children: [_jsx("template", { "data-collection-template": "", children: _jsxs("article", { className: "collection-card", children: [_jsx("h3", { "data-bind": "finding.title", children: "Finding" }), _jsx("p", { "data-bind": "finding.message", children: "Loading" }), _jsxs("p", { children: ["Severity: ", _jsx("strong", { "data-bind": "finding.severity", children: "\u2014" })] })] }) }), _jsx(EmptyState, { children: "No diagnostic findings were returned." })] }) }), _jsx(Panel, { title: "Recent logs", description: "The tool result controls the time window and item limit.", children: _jsxs("div", { className: "collection", "data-collection": "data.events", "data-collection-item": "event", children: [_jsx("template", { "data-collection-template": "", children: _jsxs("article", { className: "collection-card", children: [_jsx("h3", { "data-bind": "event.message", children: "Log event" }), _jsxs("p", { children: ["Level: ", _jsx("strong", { "data-bind": "event.level", children: "\u2014" })] }), _jsx("p", { "data-bind": "event.createdAt", children: "Loading" })] }) }), _jsx(EmptyState, { children: "No log events were returned for this bounded query." })] }) }), _jsx(ActionStatus, {})] }));
5
+ }
6
+ //# sourceMappingURL=operations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/widgets/operations.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE5E,MAAM,UAAU,gBAAgB;IAC9B,OAAO,CACL,2BACE,KAAC,YAAY,IACX,OAAO,EAAC,cAAc,EACtB,KAAK,EAAC,YAAY,EAClB,WAAW,EAAC,0DAA0D,EACtE,UAAU,EAAC,IAAI,GACf,EACF,KAAC,KAAK,IAAC,KAAK,EAAC,qBAAqB,EAAC,WAAW,EAAC,kCAAkC,YAC/E,eAAK,SAAS,EAAC,YAAY,qBAAiB,eAAe,0BAAsB,SAAS,aACxF,+CAAmC,EAAE,YACnC,mBAAS,SAAS,EAAC,iBAAiB,aAClC,0BAAc,eAAe,wBAAa,EAC1C,yBAAa,iBAAiB,wBAAY,EAC1C,sCACY,8BAAkB,kBAAkB,uBAAW,IACvD,IACI,GACD,EACX,KAAC,UAAU,wDAAmD,IAC1D,GACA,EACR,KAAC,KAAK,IACJ,KAAK,EAAC,aAAa,EACnB,WAAW,EAAC,0DAA0D,YAEtE,eAAK,SAAS,EAAC,YAAY,qBAAiB,aAAa,0BAAsB,OAAO,aACpF,+CAAmC,EAAE,YACnC,mBAAS,SAAS,EAAC,iBAAiB,aAClC,0BAAc,eAAe,0BAAe,EAC5C,mCACS,8BAAkB,aAAa,uBAAW,IAC/C,EACJ,yBAAa,iBAAiB,wBAAY,IAClC,GACD,EACX,KAAC,UAAU,sEAAiE,IACxE,GACA,EACR,KAAC,YAAY,KAAG,IACX,CACR,CAAC;AACJ,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { type ComponentType } from 'react';
2
+ export { AnalyticsWidget } from './analytics.js';
3
+ export { AppOverviewWidget } from './app-overview.js';
4
+ export { DeploymentDetailWidget } from './deployment-detail.js';
5
+ export { OperationsWidget } from './operations.js';
6
+ export declare const APP_OVERVIEW_WIDGET_URI: "ui://noodle-developer/app-overview/v1";
7
+ export declare const DEPLOYMENT_DETAIL_WIDGET_URI: "ui://noodle-developer/deployment-detail/v1";
8
+ export declare const OPERATIONS_WIDGET_URI: "ui://noodle-developer/operations/v1";
9
+ export declare const ANALYTICS_WIDGET_URI: "ui://noodle-developer/analytics/v1";
10
+ export declare const DEVELOPER_WIDGET_MIME_TYPE: "text/html;profile=mcp-app";
11
+ interface DeveloperWidgetDefinition {
12
+ readonly uri: string;
13
+ readonly name: string;
14
+ readonly title: string;
15
+ readonly description: string;
16
+ readonly mimeType: typeof DEVELOPER_WIDGET_MIME_TYPE;
17
+ readonly component: ComponentType;
18
+ readonly _meta: {
19
+ readonly ui: {
20
+ readonly csp: {
21
+ readonly connectDomains: readonly string[];
22
+ readonly resourceDomains: readonly string[];
23
+ };
24
+ readonly prefersBorder: true;
25
+ };
26
+ readonly 'openai/widgetDescription': string;
27
+ };
28
+ }
29
+ export declare const DEVELOPER_WIDGETS: readonly DeveloperWidgetDefinition[];
30
+ export interface RenderedDeveloperWidget {
31
+ readonly uri: string;
32
+ readonly mimeType: typeof DEVELOPER_WIDGET_MIME_TYPE;
33
+ readonly text: string;
34
+ readonly _meta: DeveloperWidgetDefinition['_meta'];
35
+ }
36
+ export declare function renderDeveloperWidget(uri: string): RenderedDeveloperWidget | undefined;
37
+ //# sourceMappingURL=resources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../src/widgets/resources.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,aAAa,EAAiB,MAAM,OAAO,CAAC;AAS1D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,eAAO,MAAM,uBAAuB,EAAG,uCAAgD,CAAC;AACxF,eAAO,MAAM,4BAA4B,EAAG,4CAAqD,CAAC;AAClG,eAAO,MAAM,qBAAqB,EAAG,qCAA8C,CAAC;AACpF,eAAO,MAAM,oBAAoB,EAAG,oCAA6C,CAAC;AAClF,eAAO,MAAM,0BAA0B,EAAG,2BAAoC,CAAC;AAE/E,UAAU,yBAAyB;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,OAAO,0BAA0B,CAAC;IACrD,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,EAAE,EAAE;YACX,QAAQ,CAAC,GAAG,EAAE;gBACZ,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;gBAC3C,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;aAC7C,CAAC;YACF,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC;SAC9B,CAAC;QACF,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;KAC7C,CAAC;CACH;AAUD,eAAO,MAAM,iBAAiB,EAAE,SAAS,yBAAyB,EAqCjE,CAAC;AAEF,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,OAAO,0BAA0B,CAAC;IACrD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC;CACpD;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,uBAAuB,GAAG,SAAS,CAWtF"}
@@ -0,0 +1,76 @@
1
+ import { injectWidgetBridge } from '@noodle-borg/protocol';
2
+ import { createElement } from 'react';
3
+ import { renderToStaticMarkup } from 'react-dom/server';
4
+ import { AnalyticsWidget } from './analytics.js';
5
+ import { AppOverviewWidget } from './app-overview.js';
6
+ import { DeploymentDetailWidget } from './deployment-detail.js';
7
+ import { OperationsWidget } from './operations.js';
8
+ import { DEVELOPER_WIDGET_STYLES } from './styles.js';
9
+ export { AnalyticsWidget } from './analytics.js';
10
+ export { AppOverviewWidget } from './app-overview.js';
11
+ export { DeploymentDetailWidget } from './deployment-detail.js';
12
+ export { OperationsWidget } from './operations.js';
13
+ export const APP_OVERVIEW_WIDGET_URI = 'ui://noodle-developer/app-overview/v1';
14
+ export const DEPLOYMENT_DETAIL_WIDGET_URI = 'ui://noodle-developer/deployment-detail/v1';
15
+ export const OPERATIONS_WIDGET_URI = 'ui://noodle-developer/operations/v1';
16
+ export const ANALYTICS_WIDGET_URI = 'ui://noodle-developer/analytics/v1';
17
+ export const DEVELOPER_WIDGET_MIME_TYPE = 'text/html;profile=mcp-app';
18
+ const CLOSED_WIDGET_META = (description) => ({
19
+ ui: {
20
+ csp: { connectDomains: [], resourceDomains: [] },
21
+ prefersBorder: true,
22
+ },
23
+ 'openai/widgetDescription': description,
24
+ });
25
+ export const DEVELOPER_WIDGETS = [
26
+ {
27
+ uri: APP_OVERVIEW_WIDGET_URI,
28
+ name: 'noodle-developer-app-overview',
29
+ title: 'Noodle app overview',
30
+ description: 'Shows the selected Noodle Cloud app and deployment state.',
31
+ mimeType: DEVELOPER_WIDGET_MIME_TYPE,
32
+ component: AppOverviewWidget,
33
+ _meta: CLOSED_WIDGET_META('A concise Noodle Cloud app and deployment overview.'),
34
+ },
35
+ {
36
+ uri: DEPLOYMENT_DETAIL_WIDGET_URI,
37
+ name: 'noodle-developer-deployment-detail',
38
+ title: 'Noodle deployment detail',
39
+ description: 'Shows deployment health, compatibility, and governed rollback state.',
40
+ mimeType: DEVELOPER_WIDGET_MIME_TYPE,
41
+ component: DeploymentDetailWidget,
42
+ _meta: CLOSED_WIDGET_META('Noodle Cloud deployment health and governed rollback state.'),
43
+ },
44
+ {
45
+ uri: OPERATIONS_WIDGET_URI,
46
+ name: 'noodle-developer-operations',
47
+ title: 'Noodle operations',
48
+ description: 'Shows bounded diagnostic findings and recent logs.',
49
+ mimeType: DEVELOPER_WIDGET_MIME_TYPE,
50
+ component: OperationsWidget,
51
+ _meta: CLOSED_WIDGET_META('Bounded Noodle Cloud diagnostic findings and recent logs.'),
52
+ },
53
+ {
54
+ uri: ANALYTICS_WIDGET_URI,
55
+ name: 'noodle-developer-analytics',
56
+ title: 'Noodle analytics',
57
+ description: 'Shows bounded request, error, latency, and tool metrics.',
58
+ mimeType: DEVELOPER_WIDGET_MIME_TYPE,
59
+ component: AnalyticsWidget,
60
+ _meta: CLOSED_WIDGET_META('A bounded Noodle Cloud request analytics window.'),
61
+ },
62
+ ];
63
+ export function renderDeveloperWidget(uri) {
64
+ const widget = DEVELOPER_WIDGETS.find((candidate) => candidate.uri === uri);
65
+ if (widget === undefined)
66
+ return undefined;
67
+ const body = renderToStaticMarkup(createElement(widget.component));
68
+ const document = `<!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>${widget.title}</title><style>${DEVELOPER_WIDGET_STYLES}</style></head><body>${body}</body></html>`;
69
+ return {
70
+ uri: widget.uri,
71
+ mimeType: widget.mimeType,
72
+ text: injectWidgetBridge(widget.mimeType, document),
73
+ _meta: widget._meta,
74
+ };
75
+ }
76
+ //# sourceMappingURL=resources.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resources.js","sourceRoot":"","sources":["../../src/widgets/resources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAsB,aAAa,EAAE,MAAM,OAAO,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,MAAM,CAAC,MAAM,uBAAuB,GAAG,uCAAgD,CAAC;AACxF,MAAM,CAAC,MAAM,4BAA4B,GAAG,4CAAqD,CAAC;AAClG,MAAM,CAAC,MAAM,qBAAqB,GAAG,qCAA8C,CAAC;AACpF,MAAM,CAAC,MAAM,oBAAoB,GAAG,oCAA6C,CAAC;AAClF,MAAM,CAAC,MAAM,0BAA0B,GAAG,2BAAoC,CAAC;AAqB/E,MAAM,kBAAkB,GAAG,CAAC,WAAmB,EAAE,EAAE,CAAC,CAAC;IACnD,EAAE,EAAE;QACF,GAAG,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE;QAChD,aAAa,EAAE,IAAa;KAC7B;IACD,0BAA0B,EAAE,WAAW;CACxC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAyC;IACrE;QACE,GAAG,EAAE,uBAAuB;QAC5B,IAAI,EAAE,+BAA+B;QACrC,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EAAE,2DAA2D;QACxE,QAAQ,EAAE,0BAA0B;QACpC,SAAS,EAAE,iBAAiB;QAC5B,KAAK,EAAE,kBAAkB,CAAC,qDAAqD,CAAC;KACjF;IACD;QACE,GAAG,EAAE,4BAA4B;QACjC,IAAI,EAAE,oCAAoC;QAC1C,KAAK,EAAE,0BAA0B;QACjC,WAAW,EAAE,sEAAsE;QACnF,QAAQ,EAAE,0BAA0B;QACpC,SAAS,EAAE,sBAAsB;QACjC,KAAK,EAAE,kBAAkB,CAAC,6DAA6D,CAAC;KACzF;IACD;QACE,GAAG,EAAE,qBAAqB;QAC1B,IAAI,EAAE,6BAA6B;QACnC,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EAAE,oDAAoD;QACjE,QAAQ,EAAE,0BAA0B;QACpC,SAAS,EAAE,gBAAgB;QAC3B,KAAK,EAAE,kBAAkB,CAAC,2DAA2D,CAAC;KACvF;IACD;QACE,GAAG,EAAE,oBAAoB;QACzB,IAAI,EAAE,4BAA4B;QAClC,KAAK,EAAE,kBAAkB;QACzB,WAAW,EAAE,0DAA0D;QACvE,QAAQ,EAAE,0BAA0B;QACpC,SAAS,EAAE,eAAe;QAC1B,KAAK,EAAE,kBAAkB,CAAC,kDAAkD,CAAC;KAC9E;CACF,CAAC;AASF,MAAM,UAAU,qBAAqB,CAAC,GAAW;IAC/C,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;IAC5E,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3C,MAAM,IAAI,GAAG,oBAAoB,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IACnE,MAAM,QAAQ,GAAG,wIAAwI,MAAM,CAAC,KAAK,kBAAkB,uBAAuB,wBAAwB,IAAI,gBAAgB,CAAC;IAC3P,OAAO;QACL,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC;QACnD,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,30 @@
1
+ import type { ReactNode } from 'react';
2
+ export declare function WidgetHeader(props: {
3
+ readonly eyebrow: string;
4
+ readonly title: string;
5
+ readonly description: string;
6
+ readonly statusPath: string;
7
+ }): import("react").JSX.Element;
8
+ export declare function Panel(props: {
9
+ readonly title: string;
10
+ readonly description?: string;
11
+ readonly children: ReactNode;
12
+ }): import("react").JSX.Element;
13
+ export declare function StatusBadge(props: {
14
+ readonly path: string;
15
+ }): import("react").JSX.Element;
16
+ export declare function BoundValue(props: {
17
+ readonly label: string;
18
+ readonly path: string;
19
+ readonly className?: string;
20
+ }): import("react").JSX.Element;
21
+ export declare function Metric(props: {
22
+ readonly label: string;
23
+ readonly path: string;
24
+ readonly hint?: string;
25
+ }): import("react").JSX.Element;
26
+ export declare function ActionStatus(): import("react").JSX.Element;
27
+ export declare function EmptyState(props: {
28
+ readonly children: ReactNode;
29
+ }): import("react").JSX.Element;
30
+ //# sourceMappingURL=shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/widgets/shared.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B,+BAWA;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;CAC9B,+BAUA;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,+BAS3D;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B,+BAOA;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB,+BAQA;AAED,wBAAgB,YAAY,gCAM3B;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE;IAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,+BAMjE"}
@@ -0,0 +1,23 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ export function WidgetHeader(props) {
3
+ return (_jsxs("header", { className: "widget-header", children: [_jsxs("div", { children: [_jsx("p", { className: "eyebrow", children: props.eyebrow }), _jsx("h1", { children: props.title }), _jsx("p", { className: "lede", children: props.description })] }), _jsx(StatusBadge, { path: props.statusPath })] }));
4
+ }
5
+ export function Panel(props) {
6
+ return (_jsxs("section", { className: "panel", children: [_jsxs("header", { className: "panel-header", children: [_jsx("h2", { children: props.title }), props.description === undefined ? null : _jsx("p", { children: props.description })] }), props.children] }));
7
+ }
8
+ export function StatusBadge(props) {
9
+ return (_jsxs("p", { className: "status-badge", role: "status", children: [_jsx("span", { className: "visually-hidden", "data-status-label": "", children: "Status:" }), ' ', _jsx("span", { "data-bind": props.path, children: "Loading" })] }));
10
+ }
11
+ export function BoundValue(props) {
12
+ return (_jsxs("div", { className: props.className ?? 'fact', children: [_jsx("dt", { children: props.label }), _jsx("dd", { "data-bind": props.path, children: "Loading" })] }));
13
+ }
14
+ export function Metric(props) {
15
+ return (_jsxs("div", { className: "metric", children: [_jsx("dt", { children: props.label }), _jsx("dd", { "data-bind": props.path, children: "\u2014" }), props.hint === undefined ? null : _jsx("p", { children: props.hint })] }));
16
+ }
17
+ export function ActionStatus() {
18
+ return (_jsx("output", { className: "action-status", "aria-live": "polite", "data-noodle-action-status": "", children: "Ready." }));
19
+ }
20
+ export function EmptyState(props) {
21
+ return (_jsx("p", { className: "empty-state", "data-collection-empty": "", children: props.children }));
22
+ }
23
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/widgets/shared.tsx"],"names":[],"mappings":";AAEA,MAAM,UAAU,YAAY,CAAC,KAK5B;IACC,OAAO,CACL,kBAAQ,SAAS,EAAC,eAAe,aAC/B,0BACE,YAAG,SAAS,EAAC,SAAS,YAAE,KAAK,CAAC,OAAO,GAAK,EAC1C,uBAAK,KAAK,CAAC,KAAK,GAAM,EACtB,YAAG,SAAS,EAAC,MAAM,YAAE,KAAK,CAAC,WAAW,GAAK,IACvC,EACN,KAAC,WAAW,IAAC,IAAI,EAAE,KAAK,CAAC,UAAU,GAAI,IAChC,CACV,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,KAIrB;IACC,OAAO,CACL,mBAAS,SAAS,EAAC,OAAO,aACxB,kBAAQ,SAAS,EAAC,cAAc,aAC9B,uBAAK,KAAK,CAAC,KAAK,GAAM,EACrB,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAI,KAAK,CAAC,WAAW,GAAK,IAC7D,EACR,KAAK,CAAC,QAAQ,IACP,CACX,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAgC;IAC1D,OAAO,CACL,aAAG,SAAS,EAAC,cAAc,EAAC,IAAI,EAAC,QAAQ,aACvC,eAAM,SAAS,EAAC,iBAAiB,uBAAmB,EAAE,wBAE/C,EAAC,GAAG,EACX,4BAAiB,KAAK,CAAC,IAAI,wBAAgB,IACzC,CACL,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAI1B;IACC,OAAO,CACL,eAAK,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,MAAM,aACvC,uBAAK,KAAK,CAAC,KAAK,GAAM,EACtB,0BAAe,KAAK,CAAC,IAAI,wBAAc,IACnC,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,KAItB;IACC,OAAO,CACL,eAAK,SAAS,EAAC,QAAQ,aACrB,uBAAK,KAAK,CAAC,KAAK,GAAM,EACtB,0BAAe,KAAK,CAAC,IAAI,uBAAQ,EAChC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAI,KAAK,CAAC,IAAI,GAAK,IAClD,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,CACL,iBAAQ,SAAS,EAAC,eAAe,eAAW,QAAQ,+BAA2B,EAAE,uBAExE,CACV,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAuC;IAChE,OAAO,CACL,YAAG,SAAS,EAAC,aAAa,2BAAuB,EAAE,YAChD,KAAK,CAAC,QAAQ,GACb,CACL,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const DEVELOPER_WIDGET_STYLES = "\n@layer reset, tokens, base, components, utilities;\n\n@layer reset {\n *, *::before, *::after { box-sizing: border-box; }\n html, body { margin: 0; padding: 0; }\n button, input, select, textarea { font: inherit; }\n}\n\n@layer tokens {\n :root {\n color-scheme: light dark;\n --ns-bg: var(--color-background-primary, Canvas);\n --ns-bg-subtle: var(--color-background-secondary, color-mix(in srgb, Canvas 94%, CanvasText));\n --ns-text: var(--color-text-primary, CanvasText);\n --ns-muted: var(--color-text-secondary, #667085);\n --ns-border: var(--color-border-secondary, #d8dee8);\n --ns-accent: var(--color-background-accent, #2563eb);\n --ns-on-accent: var(--color-text-on-accent, #ffffff);\n --ns-danger: var(--color-text-danger, #b42318);\n --ns-success: var(--color-text-success, #067647);\n --ns-warning: var(--color-text-warning, #b54708);\n --ns-font: var(--font-sans, ui-sans-serif, system-ui, sans-serif);\n --ns-space-1: var(--space-1, 0.25rem);\n --ns-space-2: var(--space-2, 0.5rem);\n --ns-space-3: var(--space-3, 0.75rem);\n --ns-space-4: var(--space-4, 1rem);\n --ns-space-5: var(--space-5, 1.25rem);\n --ns-space-6: var(--space-6, 1.5rem);\n --ns-radius: var(--radius-lg, 0.875rem);\n --ns-radius-sm: var(--radius-md, 0.625rem);\n }\n}\n\n@layer base {\n body {\n background: var(--ns-bg);\n color: var(--ns-text);\n font-family: var(--ns-font);\n font-size: 0.9375rem;\n line-height: 1.5;\n }\n main { display: grid; gap: var(--ns-space-4); padding: var(--ns-space-4); }\n h1, h2, h3, p, dl, dd { margin: 0; }\n h1 { font-size: clamp(1.25rem, 4vw, 1.6rem); line-height: 1.2; }\n h2 { font-size: 1rem; line-height: 1.3; }\n h3 { font-size: 0.9375rem; line-height: 1.35; }\n a { color: inherit; }\n button:focus-visible { outline: 3px solid color-mix(in srgb, var(--ns-accent) 55%, transparent); outline-offset: 2px; }\n}\n\n@layer components {\n .widget-header, .panel-header, .action-row {\n align-items: flex-start;\n display: flex;\n gap: var(--ns-space-3);\n justify-content: space-between;\n }\n .eyebrow {\n color: var(--ns-muted);\n font-size: 0.72rem;\n font-weight: 700;\n letter-spacing: 0.08em;\n margin-bottom: var(--ns-space-1);\n text-transform: uppercase;\n }\n .lede, .panel-header p, .metric p { color: var(--ns-muted); margin-top: var(--ns-space-1); }\n .status-badge {\n background: var(--ns-bg-subtle);\n border: 1px solid var(--ns-border);\n border-radius: 999px;\n flex: none;\n font-size: 0.78rem;\n font-weight: 650;\n padding: var(--ns-space-1) var(--ns-space-3);\n }\n .panel {\n background: var(--ns-bg-subtle);\n border: 1px solid var(--ns-border);\n border-radius: var(--ns-radius);\n display: grid;\n gap: var(--ns-space-4);\n padding: var(--ns-space-4);\n }\n .facts, .metrics { display: grid; gap: var(--ns-space-2); grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); }\n .fact, .metric {\n background: var(--ns-bg);\n border: 1px solid var(--ns-border);\n border-radius: var(--ns-radius-sm);\n min-width: 0;\n padding: var(--ns-space-3);\n }\n dt { color: var(--ns-muted); font-size: 0.76rem; font-weight: 650; }\n dd { font-size: 0.9rem; font-weight: 650; margin-top: var(--ns-space-1); overflow-wrap: anywhere; }\n .metric dd { font-size: 1.35rem; }\n .collection { display: grid; gap: var(--ns-space-2); }\n .collection-card {\n background: var(--ns-bg);\n border: 1px solid var(--ns-border);\n border-radius: var(--ns-radius-sm);\n display: grid;\n gap: var(--ns-space-1);\n padding: var(--ns-space-3);\n }\n .collection-card p { color: var(--ns-muted); }\n .empty-state, .notice, .action-status {\n border: 1px dashed var(--ns-border);\n border-radius: var(--ns-radius-sm);\n color: var(--ns-muted);\n display: block;\n padding: var(--ns-space-3);\n }\n .notice[data-tone=\"warn\"] { border-style: solid; color: var(--ns-warning); }\n .primary-action {\n background: var(--ns-accent);\n border: 0;\n border-radius: var(--ns-radius-sm);\n color: var(--ns-on-accent);\n cursor: pointer;\n font-weight: 700;\n min-height: 2.65rem;\n padding: var(--ns-space-2) var(--ns-space-4);\n }\n .primary-action[aria-busy=\"true\"] { cursor: wait; opacity: 0.7; }\n .danger-action { background: var(--ns-danger); }\n .tag-list { display: flex; flex-wrap: wrap; gap: var(--ns-space-2); }\n .tag {\n background: var(--ns-bg);\n border: 1px solid var(--ns-border);\n border-radius: 999px;\n padding: var(--ns-space-1) var(--ns-space-2);\n }\n}\n\n@layer utilities {\n .visually-hidden {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n }\n [hidden] { display: none !important; }\n [data-missing=\"true\"] { color: var(--ns-muted); font-weight: 500; }\n @media (max-width: 32rem) {\n .widget-header, .panel-header, .action-row { align-items: stretch; flex-direction: column; }\n }\n @media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; } }\n}\n";
2
+ //# sourceMappingURL=styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/widgets/styles.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,4nKAuJnC,CAAC"}
@@ -0,0 +1,153 @@
1
+ export const DEVELOPER_WIDGET_STYLES = `
2
+ @layer reset, tokens, base, components, utilities;
3
+
4
+ @layer reset {
5
+ *, *::before, *::after { box-sizing: border-box; }
6
+ html, body { margin: 0; padding: 0; }
7
+ button, input, select, textarea { font: inherit; }
8
+ }
9
+
10
+ @layer tokens {
11
+ :root {
12
+ color-scheme: light dark;
13
+ --ns-bg: var(--color-background-primary, Canvas);
14
+ --ns-bg-subtle: var(--color-background-secondary, color-mix(in srgb, Canvas 94%, CanvasText));
15
+ --ns-text: var(--color-text-primary, CanvasText);
16
+ --ns-muted: var(--color-text-secondary, #667085);
17
+ --ns-border: var(--color-border-secondary, #d8dee8);
18
+ --ns-accent: var(--color-background-accent, #2563eb);
19
+ --ns-on-accent: var(--color-text-on-accent, #ffffff);
20
+ --ns-danger: var(--color-text-danger, #b42318);
21
+ --ns-success: var(--color-text-success, #067647);
22
+ --ns-warning: var(--color-text-warning, #b54708);
23
+ --ns-font: var(--font-sans, ui-sans-serif, system-ui, sans-serif);
24
+ --ns-space-1: var(--space-1, 0.25rem);
25
+ --ns-space-2: var(--space-2, 0.5rem);
26
+ --ns-space-3: var(--space-3, 0.75rem);
27
+ --ns-space-4: var(--space-4, 1rem);
28
+ --ns-space-5: var(--space-5, 1.25rem);
29
+ --ns-space-6: var(--space-6, 1.5rem);
30
+ --ns-radius: var(--radius-lg, 0.875rem);
31
+ --ns-radius-sm: var(--radius-md, 0.625rem);
32
+ }
33
+ }
34
+
35
+ @layer base {
36
+ body {
37
+ background: var(--ns-bg);
38
+ color: var(--ns-text);
39
+ font-family: var(--ns-font);
40
+ font-size: 0.9375rem;
41
+ line-height: 1.5;
42
+ }
43
+ main { display: grid; gap: var(--ns-space-4); padding: var(--ns-space-4); }
44
+ h1, h2, h3, p, dl, dd { margin: 0; }
45
+ h1 { font-size: clamp(1.25rem, 4vw, 1.6rem); line-height: 1.2; }
46
+ h2 { font-size: 1rem; line-height: 1.3; }
47
+ h3 { font-size: 0.9375rem; line-height: 1.35; }
48
+ a { color: inherit; }
49
+ button:focus-visible { outline: 3px solid color-mix(in srgb, var(--ns-accent) 55%, transparent); outline-offset: 2px; }
50
+ }
51
+
52
+ @layer components {
53
+ .widget-header, .panel-header, .action-row {
54
+ align-items: flex-start;
55
+ display: flex;
56
+ gap: var(--ns-space-3);
57
+ justify-content: space-between;
58
+ }
59
+ .eyebrow {
60
+ color: var(--ns-muted);
61
+ font-size: 0.72rem;
62
+ font-weight: 700;
63
+ letter-spacing: 0.08em;
64
+ margin-bottom: var(--ns-space-1);
65
+ text-transform: uppercase;
66
+ }
67
+ .lede, .panel-header p, .metric p { color: var(--ns-muted); margin-top: var(--ns-space-1); }
68
+ .status-badge {
69
+ background: var(--ns-bg-subtle);
70
+ border: 1px solid var(--ns-border);
71
+ border-radius: 999px;
72
+ flex: none;
73
+ font-size: 0.78rem;
74
+ font-weight: 650;
75
+ padding: var(--ns-space-1) var(--ns-space-3);
76
+ }
77
+ .panel {
78
+ background: var(--ns-bg-subtle);
79
+ border: 1px solid var(--ns-border);
80
+ border-radius: var(--ns-radius);
81
+ display: grid;
82
+ gap: var(--ns-space-4);
83
+ padding: var(--ns-space-4);
84
+ }
85
+ .facts, .metrics { display: grid; gap: var(--ns-space-2); grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); }
86
+ .fact, .metric {
87
+ background: var(--ns-bg);
88
+ border: 1px solid var(--ns-border);
89
+ border-radius: var(--ns-radius-sm);
90
+ min-width: 0;
91
+ padding: var(--ns-space-3);
92
+ }
93
+ dt { color: var(--ns-muted); font-size: 0.76rem; font-weight: 650; }
94
+ dd { font-size: 0.9rem; font-weight: 650; margin-top: var(--ns-space-1); overflow-wrap: anywhere; }
95
+ .metric dd { font-size: 1.35rem; }
96
+ .collection { display: grid; gap: var(--ns-space-2); }
97
+ .collection-card {
98
+ background: var(--ns-bg);
99
+ border: 1px solid var(--ns-border);
100
+ border-radius: var(--ns-radius-sm);
101
+ display: grid;
102
+ gap: var(--ns-space-1);
103
+ padding: var(--ns-space-3);
104
+ }
105
+ .collection-card p { color: var(--ns-muted); }
106
+ .empty-state, .notice, .action-status {
107
+ border: 1px dashed var(--ns-border);
108
+ border-radius: var(--ns-radius-sm);
109
+ color: var(--ns-muted);
110
+ display: block;
111
+ padding: var(--ns-space-3);
112
+ }
113
+ .notice[data-tone="warn"] { border-style: solid; color: var(--ns-warning); }
114
+ .primary-action {
115
+ background: var(--ns-accent);
116
+ border: 0;
117
+ border-radius: var(--ns-radius-sm);
118
+ color: var(--ns-on-accent);
119
+ cursor: pointer;
120
+ font-weight: 700;
121
+ min-height: 2.65rem;
122
+ padding: var(--ns-space-2) var(--ns-space-4);
123
+ }
124
+ .primary-action[aria-busy="true"] { cursor: wait; opacity: 0.7; }
125
+ .danger-action { background: var(--ns-danger); }
126
+ .tag-list { display: flex; flex-wrap: wrap; gap: var(--ns-space-2); }
127
+ .tag {
128
+ background: var(--ns-bg);
129
+ border: 1px solid var(--ns-border);
130
+ border-radius: 999px;
131
+ padding: var(--ns-space-1) var(--ns-space-2);
132
+ }
133
+ }
134
+
135
+ @layer utilities {
136
+ .visually-hidden {
137
+ clip: rect(0 0 0 0);
138
+ clip-path: inset(50%);
139
+ height: 1px;
140
+ overflow: hidden;
141
+ position: absolute;
142
+ white-space: nowrap;
143
+ width: 1px;
144
+ }
145
+ [hidden] { display: none !important; }
146
+ [data-missing="true"] { color: var(--ns-muted); font-weight: 500; }
147
+ @media (max-width: 32rem) {
148
+ .widget-header, .panel-header, .action-row { align-items: stretch; flex-direction: column; }
149
+ }
150
+ @media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; } }
151
+ }
152
+ `;
153
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/widgets/styles.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuJtC,CAAC"}
@@ -0,0 +1,37 @@
1
+ {
2
+ "name": "@noodle-borg/developer-mcp",
3
+ "version": "0.0.0",
4
+ "private": true,
5
+ "license": "Apache-2.0",
6
+ "type": "module",
7
+ "engines": {
8
+ "node": ">=24"
9
+ },
10
+ "main": "./dist/index.js",
11
+ "types": "./dist/index.d.ts",
12
+ "exports": {
13
+ ".": {
14
+ "types": "./dist/index.d.ts",
15
+ "import": "./dist/index.js"
16
+ }
17
+ },
18
+ "files": [
19
+ "dist"
20
+ ],
21
+ "scripts": {
22
+ "build": "tsc -p tsconfig.json",
23
+ "typecheck": "tsc -p tsconfig.json --noEmit"
24
+ },
25
+ "dependencies": {
26
+ "@modelcontextprotocol/sdk": "^1.29.0",
27
+ "@noodle-borg/protocol": "0.0.0",
28
+ "react": "^19.2.7",
29
+ "react-dom": "^19.2.7",
30
+ "zod": "^4.4.3"
31
+ },
32
+ "devDependencies": {
33
+ "@types/node": "^24.13.1",
34
+ "@types/react": "^19.2.17",
35
+ "@types/react-dom": "^19.2.3"
36
+ }
37
+ }
@@ -88,6 +88,10 @@ export type OwnerTokenVerifier = (token: string, resource: string) => Promise<{
88
88
  readonly scopes?: readonly string[];
89
89
  readonly identityKind?: 'platform' | 'customer';
90
90
  readonly identityProvider?: string;
91
+ /** Opaque server-side Developer Access Grant binding carried by a plugin/managed-CLI token. */
92
+ readonly developerGrantId?: string;
93
+ /** OAuth client bound to the Developer Access Grant. */
94
+ readonly oauthClientId?: string;
91
95
  } | null>;
92
96
  export type DataPlaneIdentityAuthorizer = (input: {
93
97
  readonly accessMode: AccessMode;