@noodleseed/agent-kit 0.89.0 → 0.91.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 (34) hide show
  1. package/manifest.json +261 -261
  2. package/package.json +1 -1
  3. package/skills/claude-code/SKILL.md +1 -1
  4. package/skills/claude-code/authoring-mcp-servers/SKILL.md +1 -1
  5. package/skills/claude-code/building-mcp-apps/SKILL.md +1 -1
  6. package/skills/claude-code/connecting-apis-to-mcp/SKILL.md +1 -1
  7. package/skills/claude-code/creating-product-agent-guides/SKILL.md +1 -1
  8. package/skills/claude-code/debugging-mcp-delivery/SKILL.md +1 -1
  9. package/skills/claude-code/deploying-mcp-services/SKILL.md +1 -1
  10. package/skills/claude-code/designing-mcp-products/SKILL.md +1 -1
  11. package/skills/claude-code/embedding-mcp-assistants/SKILL.md +1 -1
  12. package/skills/claude-code/examples/acme-discovery/README.md +7 -5
  13. package/skills/claude-code/executing-noodle-plans/SKILL.md +1 -1
  14. package/skills/claude-code/publishing-mcp-integrations/SKILL.md +1 -1
  15. package/skills/claude-code/references/embedded-assistant.md +2 -2
  16. package/skills/claude-code/reporting-noodle-feedback/SKILL.md +1 -1
  17. package/skills/claude-code/verifying-mcp-delivery/SKILL.md +1 -1
  18. package/skills/claude-code/wrapping-existing-applications/SKILL.md +1 -1
  19. package/skills/codex/SKILL.md +1 -1
  20. package/skills/codex/authoring-mcp-servers/SKILL.md +1 -1
  21. package/skills/codex/building-mcp-apps/SKILL.md +1 -1
  22. package/skills/codex/connecting-apis-to-mcp/SKILL.md +1 -1
  23. package/skills/codex/creating-product-agent-guides/SKILL.md +1 -1
  24. package/skills/codex/debugging-mcp-delivery/SKILL.md +1 -1
  25. package/skills/codex/deploying-mcp-services/SKILL.md +1 -1
  26. package/skills/codex/designing-mcp-products/SKILL.md +1 -1
  27. package/skills/codex/embedding-mcp-assistants/SKILL.md +1 -1
  28. package/skills/codex/examples/acme-discovery/README.md +7 -5
  29. package/skills/codex/executing-noodle-plans/SKILL.md +1 -1
  30. package/skills/codex/publishing-mcp-integrations/SKILL.md +1 -1
  31. package/skills/codex/references/embedded-assistant.md +2 -2
  32. package/skills/codex/reporting-noodle-feedback/SKILL.md +1 -1
  33. package/skills/codex/verifying-mcp-delivery/SKILL.md +1 -1
  34. package/skills/codex/wrapping-existing-applications/SKILL.md +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@noodleseed/agent-kit",
3
- "version": "0.89.0",
3
+ "version": "0.91.0",
4
4
  "private": false,
5
5
  "description": "Self-checking, self-updating agent skills for the Noodle Seed CLI. Authored in this repo by @noodle-borg/agent-kit; this is the published, independently-versioned canonical skills artifact the CLI fetches and verifies.",
6
6
  "license": "Apache-2.0",
@@ -3,7 +3,7 @@ name: noodle-seed
3
3
  description: "Use when building, validating, testing, deploying, or operating a local or hosted Noodle Seed MCP server or app authored in TypeScript with the noodle CLI."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.89.0 hash:13ddce01769caae4 -->
6
+ <!-- noodle-skill version:0.91.0 hash:13ddce01769caae4 -->
7
7
 
8
8
  # Noodle Seed
9
9
 
@@ -3,7 +3,7 @@ name: authoring-mcp-servers
3
3
  description: "Use when creating or extending a headless Noodle Seed MCP server, tool, resource, prompt, or typed model-facing capability."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.89.0 hash:11523cb33b9473c0 -->
6
+ <!-- noodle-skill version:0.91.0 hash:11523cb33b9473c0 -->
7
7
 
8
8
  # authoring-mcp-servers
9
9
 
@@ -3,7 +3,7 @@ name: building-mcp-apps
3
3
  description: "Use when a Noodle Seed MCP App, widget, interactive card, visual interaction, or host-visible UI is the primary requested outcome."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.89.0 hash:9fd67d4d24328e15 -->
6
+ <!-- noodle-skill version:0.91.0 hash:9fd67d4d24328e15 -->
7
7
 
8
8
  # building-mcp-apps
9
9
 
@@ -3,7 +3,7 @@ name: connecting-apis-to-mcp
3
3
  description: "Use when all four API-evidence inputs exist—and only then: API base URL, authentication scheme, representative safe read, and observed response."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.89.0 hash:21bbd3ec441ffd30 -->
6
+ <!-- noodle-skill version:0.91.0 hash:21bbd3ec441ffd30 -->
7
7
 
8
8
  # connecting-apis-to-mcp
9
9
 
@@ -3,7 +3,7 @@ name: creating-product-agent-guides
3
3
  description: "Use when a Noodle Seed MCP server needs a new or revised product agent guide, App Package skill, or explicit product-skill regeneration."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.89.0 hash:0fa48a82fe836cf0 -->
6
+ <!-- noodle-skill version:0.91.0 hash:0fa48a82fe836cf0 -->
7
7
 
8
8
  # creating-product-agent-guides
9
9
 
@@ -3,7 +3,7 @@ name: debugging-mcp-delivery
3
3
  description: "Use when an existing Noodle Seed MCP project has a concrete validation, runtime, connector, App, host, deployment, or production failure."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.89.0 hash:aa715bae12041d7c -->
6
+ <!-- noodle-skill version:0.91.0 hash:aa715bae12041d7c -->
7
7
 
8
8
  # debugging-mcp-delivery
9
9
 
@@ -3,7 +3,7 @@ name: deploying-mcp-services
3
3
  description: "Use when the user explicitly requests a Noodle Seed hosted link, configuration write, deployment, access change, rollback, or connection write."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.89.0 hash:93e735b7ffb45df1 -->
6
+ <!-- noodle-skill version:0.91.0 hash:93e735b7ffb45df1 -->
7
7
 
8
8
  # deploying-mcp-services
9
9
 
@@ -3,7 +3,7 @@ name: designing-mcp-products
3
3
  description: "Use when a Noodle Seed MCP product idea needs conversational fit, user benefit, scope, interaction, or evidence design before implementation."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.89.0 hash:78a6f181b61f92f1 -->
6
+ <!-- noodle-skill version:0.91.0 hash:78a6f181b61f92f1 -->
7
7
 
8
8
  # designing-mcp-products
9
9
 
@@ -3,7 +3,7 @@ name: embedding-mcp-assistants
3
3
  description: "Use when embedding a Noodle assistant into an existing SaaS or web application with browser, identity, session, and credential boundaries."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.89.0 hash:cc54a67f21c0ecdb -->
6
+ <!-- noodle-skill version:0.91.0 hash:cc54a67f21c0ecdb -->
7
7
 
8
8
  # embedding-mcp-assistants
9
9
 
@@ -35,9 +35,10 @@ access: [
35
35
  ```
36
36
 
37
37
  There is no second tool set and no second app — one `server.ts`, projected onto its front doors.
38
- The flagship selects `model: noodleManaged()`, so an enrolled hosted deployment needs no customer model
39
- endpoint, name, or key and its artifact remains provider-neutral. Sponsored beta enrollment is exact to the
40
- org/app/environment and fails closed outside that cohort; `openAICompatible(...)` remains the BYO alternative.
38
+ The flagship selects `model: noodleManaged()`, so a billing-attributed hosted deployment needs no customer
39
+ model endpoint, name, or key and its artifact remains provider-neutral. The sponsored beta is available by
40
+ default with pooled billing-account and platform-wide daily limits; `openAICompatible(...)` remains the BYO
41
+ alternative.
41
42
  The surface `instructions` add only the website-specific voice and goal; shared product truth stays in
42
43
  `server.instructions`. This public guidance is injected into that surface's assistant turns, never MCP
43
44
  `initialize` or another assistant surface.
@@ -152,5 +153,6 @@ noodle open
152
153
  ```
153
154
 
154
155
  This example has no connector or model secrets and does not include tokens, caller-key mechanisms, or
155
- `.env.noodle` values. Hosted `noodleManaged()` inference requires Noodle to enroll the exact target before
156
- serving; local validation and tool calls do not. All destinations, prices, and URLs are fictional.
156
+ `.env.noodle` values. Hosted `noodleManaged()` inference is available by default to billing-attributed
157
+ deployments and remains subject to sponsored daily limits; local validation and tool calls do not use the
158
+ hosted model. All destinations, prices, and URLs are fictional.
@@ -3,7 +3,7 @@ name: executing-noodle-plans
3
3
  description: "Use when the user asks to execute an approved, decision-complete implementation plan for a Noodle Seed project task by task with test-first changes, review, recovery, and final verification."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.89.0 hash:6a9f132ddb79352e -->
6
+ <!-- noodle-skill version:0.91.0 hash:6a9f132ddb79352e -->
7
7
 
8
8
  # Execute a Noodle Seed implementation plan
9
9
 
@@ -3,7 +3,7 @@ name: publishing-mcp-integrations
3
3
  description: "Use when preparing, reviewing, or submitting a Noodle Seed MCP integration to a host or app directory."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.89.0 hash:efffbf82007f935d -->
6
+ <!-- noodle-skill version:0.91.0 hash:efffbf82007f935d -->
7
7
 
8
8
  # publishing-mcp-integrations
9
9
 
@@ -165,7 +165,7 @@ The Atlas-style product treatment above is the maximum deployment-configurable p
165
165
 
166
166
  Omitted UI fields retain the complete managed baseline: a bottom-center frosted prompt pill, 970px outer desktop shell with 20px side padding, 85vh/1025px height bounds, 24px panel with built-in `#F8F8F8` light and `#0C0A09` dark surfaces, bottom prompt chips and pill composer, plain assistant messages, 85%-wide user bubbles, Noodle Seed attribution, and mobile fullscreen. The pill morphs into an input before opening; `launcher.style: "bubble"` opens directly, while `panel.surface: "glass"` remains an explicit translucent alternative. `theme: "auto"` follows the host page and `"invert"` selects its opposite. `suggestedPrompts` is the exact initial set only: pass `[]` for no initial chips, or omit it so the active model generates context-aware initial prompts. After the first message, follow-up prompts are always regenerated from the complete authorized conversation context and are never copied into transcript history. The only attribution is the Noodle Seed row, removed by `behavior.showPoweredBy: false`; the baseline carries no third-party promotion. For exact application-owned color roles, pass the typed React `appearance={{ light: { panel: { surface, text, border }, composer: {...}, confirmation: {...}, primaryButton: {...} }, dark: {...} }}` prop or assign the same object to `element.appearance`. CSS custom properties inherit through the assistant host, so those values may reuse existing application tokens such as `surface: "var(--app-surface)"` without copying literals. The appearance surface covers canvas, panel, header, messages, composer, suggestions, confirmation, buttons, launcher, code, and the MCP App frame; the package README publishes the complete role-to-`--ns-assistant-*` map. Exact parseable literal colors are preserved and low contrast emits `assistant-appearance-warning`; contrast for unresolved CSS references remains host-owned. Precedence is host appearance object, host slots/public variables, saved environment operator override, deployed semantic presentation, then defaults. Prefer reusable `server.ts` defaults; use the Console Assistant tab or `noodle assistant appearance show|apply|reset` for environment-owned changes that should reach existing embeds without a redeploy.
167
167
 
168
- Set `webmcp: { enabled: true }` on the assistant, not on an access surface, because it grants deployment-wide browser-agent access. Off unless set, and inert in browsers without `document.modelContext`. The embed registers exactly the tools this session already projects, narrowed to those that are both app-callable and model-visible, and executes each over the same apps-bridge path the assistant's own calls take so a browser agent gets the session's authority and nothing more, and a `confirm: true` tool still stops for a human in the panel rather than being accepted on the agent's behalf. Bridge calls spend their own per-session and per-day budgets instead of model turns, and the surface's daily kill switch stops them too. Prefer this over hand-registering page-local tools that borrow the visitor's session: those carry no scoped authority, policy, or audit trail.
168
+ Set `webmcp: { enabled: true }` on the assistant to let a browser agent reach this session's tools through the page's WebMCP API, and set it on an individual access surface to override that default in either direction — a marketing surface can opt in while a signed-in one opts out, or the reverse. Off unless set, and inert in browsers without `document.modelContext`. It governs discovery: whether the embed registers the tools this session already projects, narrowed to those that are both app-callable and model-visible. Every call executes over the same apps-bridge path the assistant's own calls take, so a browser agent gets the session's authority and nothing more, and a `confirm: true` tool still stops for a human in the panel rather than being accepted on the agent's behalf. It is not a second authorization boundary — the session is the only one. Bridge calls spend their own per-session and per-day budgets instead of model turns, and the surface's daily kill switch stops them too. Prefer this over hand-registering page-local tools that borrow the visitor's session: those carry no scoped authority, policy, or audit trail.
169
169
 
170
170
  Give every business action a portable `tool(..., { title: "Complete task", description: "This will mark the task complete for everyone.", input: z.object({ task: z.string().meta({ title: "Task" }) }) })` title. The standard confirmation uses the tool title/description plus schema field `title`, `description`, and `format`; it shows Confirm and Don't proceed and keeps technical action details secondary. `behavior.showConfirmationDetails` defaults to `true`; set it to `false` to remove only the built-in card's Additional details disclosure and connector mechanics. The business review and decisions remain, `confirm: true` still suspends until acceptance, and headless/BYO `data-confirmation` stays unchanged. Do not put JSON or implementation names in business-facing copy.
171
171
 
@@ -177,7 +177,7 @@ Local MCP authoring and tests need no account, but an external browser embed nee
177
177
  noodle deploy --org <org> --app <app> --env <env>
178
178
  ```
179
179
 
180
- Deploy preflights the complete target before upload. `noodleManaged()` has no customer model variables or secrets; enrollment is hosted operator state and an unenrolled target fails closed at serving time. `openAICompatible()` preflight collects or reports every missing model variable and secret with safe `noodle variables set ... --from-env` / `noodle secrets set ... --from-env` actions. Values never appear in the preflight report or resume state. Do not put BYO model values in the embedding SaaS environment. A production deployment may omit a local origin; include a loopback origin only when local browser integration is required.
180
+ Deploy preflights the complete target before upload. `noodleManaged()` has no customer model variables or secrets; every billing-attributed managed-cloud deployment is eligible for the bounded sponsored beta without organization enrollment. Missing billing attribution or hosted protection fails closed before provider egress. `openAICompatible()` preflight collects or reports every missing model variable and secret with safe `noodle variables set ... --from-env` / `noodle secrets set ... --from-env` actions. Values never appear in the preflight report or resume state. Do not put BYO model values in the embedding SaaS environment. A production deployment may omit a local origin; include a loopback origin only when local browser integration is required.
181
181
 
182
182
  ## Access modes and customer auth
183
183
 
@@ -3,7 +3,7 @@ name: reporting-noodle-feedback
3
3
  description: "Use when a Noodle Seed bug, misleading instruction, missing capability, or concrete product improvement should be proposed to the user."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.89.0 hash:0f404109f4845683 -->
6
+ <!-- noodle-skill version:0.91.0 hash:0f404109f4845683 -->
7
7
 
8
8
  # reporting-noodle-feedback
9
9
 
@@ -3,7 +3,7 @@ name: verifying-mcp-delivery
3
3
  description: "Use when proving a Noodle Seed MCP project works at a named compile, local, connector, App, host, deployment, or production evidence level."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.89.0 hash:6ef6ef551e26b78e -->
6
+ <!-- noodle-skill version:0.91.0 hash:6ef6ef551e26b78e -->
7
7
 
8
8
  # verifying-mcp-delivery
9
9
 
@@ -3,7 +3,7 @@ name: wrapping-existing-applications
3
3
  description: "Use when an existing application has no stable usable API and needs a read-only, identity-first Noodle Seed integration plan before implementation."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.89.0 hash:eccc3c158dcafba8 -->
6
+ <!-- noodle-skill version:0.91.0 hash:eccc3c158dcafba8 -->
7
7
 
8
8
  # wrapping-existing-applications
9
9
 
@@ -3,7 +3,7 @@ name: noodle-seed
3
3
  description: "Use when building, validating, testing, deploying, or operating a local or hosted Noodle Seed MCP server or app authored in TypeScript with the noodle CLI."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.89.0 hash:13ddce01769caae4 -->
6
+ <!-- noodle-skill version:0.91.0 hash:13ddce01769caae4 -->
7
7
 
8
8
  # Noodle Seed
9
9
 
@@ -3,7 +3,7 @@ name: authoring-mcp-servers
3
3
  description: "Use when creating or extending a headless Noodle Seed MCP server, tool, resource, prompt, or typed model-facing capability."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.89.0 hash:11523cb33b9473c0 -->
6
+ <!-- noodle-skill version:0.91.0 hash:11523cb33b9473c0 -->
7
7
 
8
8
  # authoring-mcp-servers
9
9
 
@@ -3,7 +3,7 @@ name: building-mcp-apps
3
3
  description: "Use when a Noodle Seed MCP App, widget, interactive card, visual interaction, or host-visible UI is the primary requested outcome."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.89.0 hash:9fd67d4d24328e15 -->
6
+ <!-- noodle-skill version:0.91.0 hash:9fd67d4d24328e15 -->
7
7
 
8
8
  # building-mcp-apps
9
9
 
@@ -3,7 +3,7 @@ name: connecting-apis-to-mcp
3
3
  description: "Use when all four API-evidence inputs exist—and only then: API base URL, authentication scheme, representative safe read, and observed response."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.89.0 hash:21bbd3ec441ffd30 -->
6
+ <!-- noodle-skill version:0.91.0 hash:21bbd3ec441ffd30 -->
7
7
 
8
8
  # connecting-apis-to-mcp
9
9
 
@@ -3,7 +3,7 @@ name: creating-product-agent-guides
3
3
  description: "Use when a Noodle Seed MCP server needs a new or revised product agent guide, App Package skill, or explicit product-skill regeneration."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.89.0 hash:0fa48a82fe836cf0 -->
6
+ <!-- noodle-skill version:0.91.0 hash:0fa48a82fe836cf0 -->
7
7
 
8
8
  # creating-product-agent-guides
9
9
 
@@ -3,7 +3,7 @@ name: debugging-mcp-delivery
3
3
  description: "Use when an existing Noodle Seed MCP project has a concrete validation, runtime, connector, App, host, deployment, or production failure."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.89.0 hash:aa715bae12041d7c -->
6
+ <!-- noodle-skill version:0.91.0 hash:aa715bae12041d7c -->
7
7
 
8
8
  # debugging-mcp-delivery
9
9
 
@@ -3,7 +3,7 @@ name: deploying-mcp-services
3
3
  description: "Use when the user explicitly requests a Noodle Seed hosted link, configuration write, deployment, access change, rollback, or connection write."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.89.0 hash:93e735b7ffb45df1 -->
6
+ <!-- noodle-skill version:0.91.0 hash:93e735b7ffb45df1 -->
7
7
 
8
8
  # deploying-mcp-services
9
9
 
@@ -3,7 +3,7 @@ name: designing-mcp-products
3
3
  description: "Use when a Noodle Seed MCP product idea needs conversational fit, user benefit, scope, interaction, or evidence design before implementation."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.89.0 hash:78a6f181b61f92f1 -->
6
+ <!-- noodle-skill version:0.91.0 hash:78a6f181b61f92f1 -->
7
7
 
8
8
  # designing-mcp-products
9
9
 
@@ -3,7 +3,7 @@ name: embedding-mcp-assistants
3
3
  description: "Use when embedding a Noodle assistant into an existing SaaS or web application with browser, identity, session, and credential boundaries."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.89.0 hash:cc54a67f21c0ecdb -->
6
+ <!-- noodle-skill version:0.91.0 hash:cc54a67f21c0ecdb -->
7
7
 
8
8
  # embedding-mcp-assistants
9
9
 
@@ -35,9 +35,10 @@ access: [
35
35
  ```
36
36
 
37
37
  There is no second tool set and no second app — one `server.ts`, projected onto its front doors.
38
- The flagship selects `model: noodleManaged()`, so an enrolled hosted deployment needs no customer model
39
- endpoint, name, or key and its artifact remains provider-neutral. Sponsored beta enrollment is exact to the
40
- org/app/environment and fails closed outside that cohort; `openAICompatible(...)` remains the BYO alternative.
38
+ The flagship selects `model: noodleManaged()`, so a billing-attributed hosted deployment needs no customer
39
+ model endpoint, name, or key and its artifact remains provider-neutral. The sponsored beta is available by
40
+ default with pooled billing-account and platform-wide daily limits; `openAICompatible(...)` remains the BYO
41
+ alternative.
41
42
  The surface `instructions` add only the website-specific voice and goal; shared product truth stays in
42
43
  `server.instructions`. This public guidance is injected into that surface's assistant turns, never MCP
43
44
  `initialize` or another assistant surface.
@@ -152,5 +153,6 @@ noodle open
152
153
  ```
153
154
 
154
155
  This example has no connector or model secrets and does not include tokens, caller-key mechanisms, or
155
- `.env.noodle` values. Hosted `noodleManaged()` inference requires Noodle to enroll the exact target before
156
- serving; local validation and tool calls do not. All destinations, prices, and URLs are fictional.
156
+ `.env.noodle` values. Hosted `noodleManaged()` inference is available by default to billing-attributed
157
+ deployments and remains subject to sponsored daily limits; local validation and tool calls do not use the
158
+ hosted model. All destinations, prices, and URLs are fictional.
@@ -3,7 +3,7 @@ name: executing-noodle-plans
3
3
  description: "Use when the user asks to execute an approved, decision-complete implementation plan for a Noodle Seed project task by task with test-first changes, review, recovery, and final verification."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.89.0 hash:6a9f132ddb79352e -->
6
+ <!-- noodle-skill version:0.91.0 hash:6a9f132ddb79352e -->
7
7
 
8
8
  # Execute a Noodle Seed implementation plan
9
9
 
@@ -3,7 +3,7 @@ name: publishing-mcp-integrations
3
3
  description: "Use when preparing, reviewing, or submitting a Noodle Seed MCP integration to a host or app directory."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.89.0 hash:efffbf82007f935d -->
6
+ <!-- noodle-skill version:0.91.0 hash:efffbf82007f935d -->
7
7
 
8
8
  # publishing-mcp-integrations
9
9
 
@@ -165,7 +165,7 @@ The Atlas-style product treatment above is the maximum deployment-configurable p
165
165
 
166
166
  Omitted UI fields retain the complete managed baseline: a bottom-center frosted prompt pill, 970px outer desktop shell with 20px side padding, 85vh/1025px height bounds, 24px panel with built-in `#F8F8F8` light and `#0C0A09` dark surfaces, bottom prompt chips and pill composer, plain assistant messages, 85%-wide user bubbles, Noodle Seed attribution, and mobile fullscreen. The pill morphs into an input before opening; `launcher.style: "bubble"` opens directly, while `panel.surface: "glass"` remains an explicit translucent alternative. `theme: "auto"` follows the host page and `"invert"` selects its opposite. `suggestedPrompts` is the exact initial set only: pass `[]` for no initial chips, or omit it so the active model generates context-aware initial prompts. After the first message, follow-up prompts are always regenerated from the complete authorized conversation context and are never copied into transcript history. The only attribution is the Noodle Seed row, removed by `behavior.showPoweredBy: false`; the baseline carries no third-party promotion. For exact application-owned color roles, pass the typed React `appearance={{ light: { panel: { surface, text, border }, composer: {...}, confirmation: {...}, primaryButton: {...} }, dark: {...} }}` prop or assign the same object to `element.appearance`. CSS custom properties inherit through the assistant host, so those values may reuse existing application tokens such as `surface: "var(--app-surface)"` without copying literals. The appearance surface covers canvas, panel, header, messages, composer, suggestions, confirmation, buttons, launcher, code, and the MCP App frame; the package README publishes the complete role-to-`--ns-assistant-*` map. Exact parseable literal colors are preserved and low contrast emits `assistant-appearance-warning`; contrast for unresolved CSS references remains host-owned. Precedence is host appearance object, host slots/public variables, saved environment operator override, deployed semantic presentation, then defaults. Prefer reusable `server.ts` defaults; use the Console Assistant tab or `noodle assistant appearance show|apply|reset` for environment-owned changes that should reach existing embeds without a redeploy.
167
167
 
168
- Set `webmcp: { enabled: true }` on the assistant, not on an access surface, because it grants deployment-wide browser-agent access. Off unless set, and inert in browsers without `document.modelContext`. The embed registers exactly the tools this session already projects, narrowed to those that are both app-callable and model-visible, and executes each over the same apps-bridge path the assistant's own calls take so a browser agent gets the session's authority and nothing more, and a `confirm: true` tool still stops for a human in the panel rather than being accepted on the agent's behalf. Bridge calls spend their own per-session and per-day budgets instead of model turns, and the surface's daily kill switch stops them too. Prefer this over hand-registering page-local tools that borrow the visitor's session: those carry no scoped authority, policy, or audit trail.
168
+ Set `webmcp: { enabled: true }` on the assistant to let a browser agent reach this session's tools through the page's WebMCP API, and set it on an individual access surface to override that default in either direction — a marketing surface can opt in while a signed-in one opts out, or the reverse. Off unless set, and inert in browsers without `document.modelContext`. It governs discovery: whether the embed registers the tools this session already projects, narrowed to those that are both app-callable and model-visible. Every call executes over the same apps-bridge path the assistant's own calls take, so a browser agent gets the session's authority and nothing more, and a `confirm: true` tool still stops for a human in the panel rather than being accepted on the agent's behalf. It is not a second authorization boundary — the session is the only one. Bridge calls spend their own per-session and per-day budgets instead of model turns, and the surface's daily kill switch stops them too. Prefer this over hand-registering page-local tools that borrow the visitor's session: those carry no scoped authority, policy, or audit trail.
169
169
 
170
170
  Give every business action a portable `tool(..., { title: "Complete task", description: "This will mark the task complete for everyone.", input: z.object({ task: z.string().meta({ title: "Task" }) }) })` title. The standard confirmation uses the tool title/description plus schema field `title`, `description`, and `format`; it shows Confirm and Don't proceed and keeps technical action details secondary. `behavior.showConfirmationDetails` defaults to `true`; set it to `false` to remove only the built-in card's Additional details disclosure and connector mechanics. The business review and decisions remain, `confirm: true` still suspends until acceptance, and headless/BYO `data-confirmation` stays unchanged. Do not put JSON or implementation names in business-facing copy.
171
171
 
@@ -177,7 +177,7 @@ Local MCP authoring and tests need no account, but an external browser embed nee
177
177
  noodle deploy --org <org> --app <app> --env <env>
178
178
  ```
179
179
 
180
- Deploy preflights the complete target before upload. `noodleManaged()` has no customer model variables or secrets; enrollment is hosted operator state and an unenrolled target fails closed at serving time. `openAICompatible()` preflight collects or reports every missing model variable and secret with safe `noodle variables set ... --from-env` / `noodle secrets set ... --from-env` actions. Values never appear in the preflight report or resume state. Do not put BYO model values in the embedding SaaS environment. A production deployment may omit a local origin; include a loopback origin only when local browser integration is required.
180
+ Deploy preflights the complete target before upload. `noodleManaged()` has no customer model variables or secrets; every billing-attributed managed-cloud deployment is eligible for the bounded sponsored beta without organization enrollment. Missing billing attribution or hosted protection fails closed before provider egress. `openAICompatible()` preflight collects or reports every missing model variable and secret with safe `noodle variables set ... --from-env` / `noodle secrets set ... --from-env` actions. Values never appear in the preflight report or resume state. Do not put BYO model values in the embedding SaaS environment. A production deployment may omit a local origin; include a loopback origin only when local browser integration is required.
181
181
 
182
182
  ## Access modes and customer auth
183
183
 
@@ -3,7 +3,7 @@ name: reporting-noodle-feedback
3
3
  description: "Use when a Noodle Seed bug, misleading instruction, missing capability, or concrete product improvement should be proposed to the user."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.89.0 hash:0f404109f4845683 -->
6
+ <!-- noodle-skill version:0.91.0 hash:0f404109f4845683 -->
7
7
 
8
8
  # reporting-noodle-feedback
9
9
 
@@ -3,7 +3,7 @@ name: verifying-mcp-delivery
3
3
  description: "Use when proving a Noodle Seed MCP project works at a named compile, local, connector, App, host, deployment, or production evidence level."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.89.0 hash:6ef6ef551e26b78e -->
6
+ <!-- noodle-skill version:0.91.0 hash:6ef6ef551e26b78e -->
7
7
 
8
8
  # verifying-mcp-delivery
9
9
 
@@ -3,7 +3,7 @@ name: wrapping-existing-applications
3
3
  description: "Use when an existing application has no stable usable API and needs a read-only, identity-first Noodle Seed integration plan before implementation."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.89.0 hash:eccc3c158dcafba8 -->
6
+ <!-- noodle-skill version:0.91.0 hash:eccc3c158dcafba8 -->
7
7
 
8
8
  # wrapping-existing-applications
9
9