@noodleseed/one 0.154.0 → 0.156.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 (154) hide show
  1. package/README.md +5 -1
  2. package/dist/assistant-embed-django-tests.d.ts +3 -0
  3. package/dist/assistant-embed-django-tests.d.ts.map +1 -0
  4. package/dist/assistant-embed-django-tests.js +140 -0
  5. package/dist/assistant-embed-django-tests.js.map +1 -0
  6. package/dist/assistant-embed-django.d.ts +4 -0
  7. package/dist/assistant-embed-django.d.ts.map +1 -0
  8. package/dist/assistant-embed-django.js +259 -0
  9. package/dist/assistant-embed-django.js.map +1 -0
  10. package/dist/assistant-embed-installation.d.ts +29 -0
  11. package/dist/assistant-embed-installation.d.ts.map +1 -0
  12. package/dist/assistant-embed-installation.js +124 -0
  13. package/dist/assistant-embed-installation.js.map +1 -0
  14. package/dist/assistant-embed-profile.d.ts +8 -0
  15. package/dist/assistant-embed-profile.d.ts.map +1 -0
  16. package/dist/assistant-embed-profile.js +150 -0
  17. package/dist/assistant-embed-profile.js.map +1 -0
  18. package/dist/assistant-embed-scaffold-template.d.ts +3 -2
  19. package/dist/assistant-embed-scaffold-template.d.ts.map +1 -1
  20. package/dist/assistant-embed-scaffold-template.js +39 -84
  21. package/dist/assistant-embed-scaffold-template.js.map +1 -1
  22. package/dist/assistant-embed-tests.d.ts +5 -0
  23. package/dist/assistant-embed-tests.d.ts.map +1 -0
  24. package/dist/assistant-embed-tests.js +106 -0
  25. package/dist/assistant-embed-tests.js.map +1 -0
  26. package/dist/assistant-embed-vue.d.ts +3 -0
  27. package/dist/assistant-embed-vue.d.ts.map +1 -0
  28. package/dist/assistant-embed-vue.js +77 -0
  29. package/dist/assistant-embed-vue.js.map +1 -0
  30. package/dist/commands/assistant-embed-ops.d.ts.map +1 -1
  31. package/dist/commands/assistant-embed-ops.js +112 -63
  32. package/dist/commands/assistant-embed-ops.js.map +1 -1
  33. package/dist/commands/author-loop.d.ts.map +1 -1
  34. package/dist/commands/author-loop.js +24 -28
  35. package/dist/commands/author-loop.js.map +1 -1
  36. package/dist/commands/deploy-first-flow.d.ts.map +1 -1
  37. package/dist/commands/deploy-first-flow.js +26 -15
  38. package/dist/commands/deploy-first-flow.js.map +1 -1
  39. package/dist/commands/deploy-preflight.d.ts +5 -0
  40. package/dist/commands/deploy-preflight.d.ts.map +1 -1
  41. package/dist/commands/deploy-preflight.js +44 -5
  42. package/dist/commands/deploy-preflight.js.map +1 -1
  43. package/dist/commands/local-readiness.d.ts +9 -1
  44. package/dist/commands/local-readiness.d.ts.map +1 -1
  45. package/dist/commands/local-readiness.js +74 -4
  46. package/dist/commands/local-readiness.js.map +1 -1
  47. package/dist/commands/project-setup.d.ts.map +1 -1
  48. package/dist/commands/project-setup.js +10 -15
  49. package/dist/commands/project-setup.js.map +1 -1
  50. package/dist/control-plane-request.d.ts +4 -0
  51. package/dist/control-plane-request.d.ts.map +1 -1
  52. package/dist/control-plane-request.js +40 -20
  53. package/dist/control-plane-request.js.map +1 -1
  54. package/dist/project-scaffold-model.d.ts +14 -0
  55. package/dist/project-scaffold-model.d.ts.map +1 -0
  56. package/dist/project-scaffold-model.js +36 -0
  57. package/dist/project-scaffold-model.js.map +1 -0
  58. package/dist/project-scaffold-templates.d.ts.map +1 -1
  59. package/dist/project-scaffold-templates.js +73 -39
  60. package/dist/project-scaffold-templates.js.map +1 -1
  61. package/dist/project-scaffold-test-template.d.ts +4 -0
  62. package/dist/project-scaffold-test-template.d.ts.map +1 -0
  63. package/dist/project-scaffold-test-template.js +89 -0
  64. package/dist/project-scaffold-test-template.js.map +1 -0
  65. package/dist/project.d.ts.map +1 -1
  66. package/dist/project.js +1 -2
  67. package/dist/project.js.map +1 -1
  68. package/dist/widget-focused-template.d.ts +1 -1
  69. package/dist/widget-focused-template.d.ts.map +1 -1
  70. package/dist/widget-focused-template.js +34 -12
  71. package/dist/widget-focused-template.js.map +1 -1
  72. package/dist/widget-scaffold-template.d.ts +1 -1
  73. package/dist/widget-scaffold-template.d.ts.map +1 -1
  74. package/dist/widget-scaffold-template.js +75 -43
  75. package/dist/widget-scaffold-template.js.map +1 -1
  76. package/node_modules/@noodle-borg/agent-kit/dist/generated/example-files.js +18 -4
  77. package/node_modules/@noodle-borg/agent-kit/dist/skill-app-playbook-ref.js +2 -2
  78. package/node_modules/@noodle-borg/agent-kit/dist/skill-authoring-refs.js +9 -12
  79. package/node_modules/@noodle-borg/agent-kit/dist/skill-connect-refs.js +2 -2
  80. package/node_modules/@noodle-borg/agent-kit/dist/skill-embedded-assistant-operations-ref.js +1 -1
  81. package/node_modules/@noodle-borg/agent-kit/dist/skill-embedded-assistant-ref.js +34 -26
  82. package/node_modules/@noodle-borg/agent-kit/dist/skill-server-playbook-ref.js +2 -2
  83. package/node_modules/@noodle-borg/agent-kit/dist/skill-verification-ref.js +2 -1
  84. package/node_modules/@noodle-borg/agent-kit/package.json +1 -1
  85. package/node_modules/@noodle-borg/assistant-gateway/dist/assistant-suggestions.js +5 -3
  86. package/node_modules/@noodle-borg/assistant-gateway/dist/continuity-bounds.d.ts +36 -0
  87. package/node_modules/@noodle-borg/assistant-gateway/dist/continuity-bounds.js +52 -0
  88. package/node_modules/@noodle-borg/assistant-gateway/dist/continuity-store.d.ts +115 -0
  89. package/node_modules/@noodle-borg/assistant-gateway/dist/continuity-store.js +51 -0
  90. package/node_modules/@noodle-borg/assistant-gateway/dist/in-memory-continuity-store.d.ts +26 -0
  91. package/node_modules/@noodle-borg/assistant-gateway/dist/in-memory-continuity-store.js +80 -0
  92. package/node_modules/@noodle-borg/assistant-gateway/dist/model-request.d.ts +1 -0
  93. package/node_modules/@noodle-borg/assistant-gateway/dist/model-request.js +2 -0
  94. package/node_modules/@noodle-borg/assistant-gateway/dist/model-response-values.js +11 -0
  95. package/node_modules/@noodle-borg/assistant-gateway/dist/model-responses.js +1 -10
  96. package/node_modules/@noodle-borg/assistant-gateway/dist/model-stream.js +1 -10
  97. package/node_modules/@noodle-borg/assistant-gateway/dist/portable.d.ts +3 -0
  98. package/node_modules/@noodle-borg/assistant-gateway/dist/portable.js +3 -0
  99. package/node_modules/@noodle-borg/assistant-gateway/package.json +1 -1
  100. package/node_modules/@noodle-borg/authoring/dist/assistant.d.ts +41 -0
  101. package/node_modules/@noodle-borg/authoring/dist/assistant.js +4 -0
  102. package/node_modules/@noodle-borg/authoring/dist/recording.d.ts +1 -1
  103. package/node_modules/@noodle-borg/cli-catalog/dist/catalog-data-assistant.js +10 -4
  104. package/node_modules/@noodle-borg/compiler/dist/manifest/branding-schema.js +86 -0
  105. package/node_modules/@noodle-borg/compiler/dist/manifest/schema.d.ts +44 -25
  106. package/node_modules/@noodle-borg/compiler/dist/manifest/schema.js +24 -76
  107. package/node_modules/@noodle-borg/compiler/package.json +0 -1
  108. package/node_modules/@noodle-borg/deploy-client/dist/deploy-payload-size.js +6 -2
  109. package/node_modules/@noodle-borg/service/dist/registry-helpers.d.ts +1 -1
  110. package/node_modules/@noodle-borg/service/dist/routes/deploy-preflight.js +193 -96
  111. package/node_modules/@noodle-borg/service/package.json +1 -1
  112. package/node_modules/@noodle-borg/wire-contracts/dist/index.d.ts +3 -0
  113. package/node_modules/@noodle-borg/wire-contracts/dist/index.js +3 -0
  114. package/node_modules/@noodleseed/assistant/README.md +21 -23
  115. package/node_modules/@noodleseed/assistant/package.json +1 -1
  116. package/package.json +5 -4
  117. package/dist/saas-scaffold-template.d.ts +0 -4
  118. package/dist/saas-scaffold-template.d.ts.map +0 -1
  119. package/dist/saas-scaffold-template.js +0 -56
  120. package/dist/saas-scaffold-template.js.map +0 -1
  121. package/node_modules/tailwindcss/LICENSE +0 -21
  122. package/node_modules/tailwindcss/README.md +0 -36
  123. package/node_modules/tailwindcss/dist/chunk-5JIJA4QV.mjs +0 -1
  124. package/node_modules/tailwindcss/dist/chunk-HMCCH6MG.mjs +0 -1
  125. package/node_modules/tailwindcss/dist/chunk-X4GG3EDV.mjs +0 -1
  126. package/node_modules/tailwindcss/dist/colors-C__qRT83.d.ts +0 -347
  127. package/node_modules/tailwindcss/dist/colors.d.mts +0 -347
  128. package/node_modules/tailwindcss/dist/colors.d.ts +0 -5
  129. package/node_modules/tailwindcss/dist/colors.js +0 -1
  130. package/node_modules/tailwindcss/dist/colors.mjs +0 -1
  131. package/node_modules/tailwindcss/dist/default-theme.d.mts +0 -1199
  132. package/node_modules/tailwindcss/dist/default-theme.d.ts +0 -1199
  133. package/node_modules/tailwindcss/dist/default-theme.js +0 -1
  134. package/node_modules/tailwindcss/dist/default-theme.mjs +0 -1
  135. package/node_modules/tailwindcss/dist/flatten-color-palette.d.mts +0 -6
  136. package/node_modules/tailwindcss/dist/flatten-color-palette.d.ts +0 -6
  137. package/node_modules/tailwindcss/dist/flatten-color-palette.js +0 -1
  138. package/node_modules/tailwindcss/dist/flatten-color-palette.mjs +0 -1
  139. package/node_modules/tailwindcss/dist/lib.d.mts +0 -379
  140. package/node_modules/tailwindcss/dist/lib.d.ts +0 -3
  141. package/node_modules/tailwindcss/dist/lib.js +0 -38
  142. package/node_modules/tailwindcss/dist/lib.mjs +0 -38
  143. package/node_modules/tailwindcss/dist/plugin.d.mts +0 -11
  144. package/node_modules/tailwindcss/dist/plugin.d.ts +0 -134
  145. package/node_modules/tailwindcss/dist/plugin.js +0 -1
  146. package/node_modules/tailwindcss/dist/plugin.mjs +0 -1
  147. package/node_modules/tailwindcss/dist/resolve-config-B4yBzhca.d.ts +0 -29
  148. package/node_modules/tailwindcss/dist/resolve-config-QUZ9b-Gn.d.mts +0 -190
  149. package/node_modules/tailwindcss/dist/types-DWdTiksJ.d.mts +0 -128
  150. package/node_modules/tailwindcss/index.css +0 -944
  151. package/node_modules/tailwindcss/package.json +0 -89
  152. package/node_modules/tailwindcss/preflight.css +0 -393
  153. package/node_modules/tailwindcss/theme.css +0 -510
  154. package/node_modules/tailwindcss/utilities.css +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"project.js","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  /** Focused production starter for `noodle init --template widget`. */
2
2
  export declare const widgetFocusedHelpers = "import type { ServerDefinition } from '@noodleseed/one';\nimport { generateHelpers } from '@noodleseed/one/react';\n\nexport { Action, ActionBar, AsyncBoundary, Feedback, Field, Flow, Frame, Region, Select } from '@noodleseed/one/react';\nexport const { useCallTool, useLayout, useToolInfo, useViewState, useWidgetReady } = generateHelpers<ServerDefinition>();\n";
3
- export declare const widgetFocusedView = "import '@noodleseed/one/react/styles.css';\nimport {\n Action,\n ActionBar,\n AsyncBoundary,\n Feedback,\n Field,\n Flow,\n Frame,\n Region,\n Select,\n useCallTool,\n useLayout,\n useToolInfo,\n useViewState,\n useWidgetReady,\n} from '../helpers.js';\n\ntype Preferences = { readonly channel: 'email' | 'sms'; readonly summary: string };\n\nfunction isPreferences(value: unknown): value is Preferences {\n if (value === null || typeof value !== 'object') return false;\n const candidate = value as Partial<Preferences>;\n return (\n (candidate.channel === 'email' || candidate.channel === 'sms') &&\n typeof candidate.summary === 'string' &&\n candidate.summary.trim().length > 0\n );\n}\n\nfunction preferenceStatus(status: 'loading' | 'error', message: string) {\n return (\n <Frame displayMode=\"auto\" title=\"Notification preferences\">\n <Feedback status={status}>{message}</Feedback>\n </Frame>\n );\n}\n\nexport default function PreferencesCard() {\n const ready = useWidgetReady();\n const layout = useLayout();\n const toolInfo = useToolInfo('show_preferences');\n const isPending = !ready || Object.keys(toolInfo).length === 0;\n const shown = isPreferences(toolInfo.structuredContent)\n ? toolInfo.structuredContent\n : undefined;\n const save = useCallTool('save_preferences');\n const [channel, setChannel] = useViewState('channel', shown?.channel ?? 'email');\n const saved = save.data?.structuredContent as Preferences | undefined;\n\n if (isPending) return preferenceStatus('loading', 'Loading preferences\u2026');\n if (toolInfo.isError) return preferenceStatus('error', 'Could not load preferences.');\n if (!shown) return preferenceStatus('error', 'The preference result was incomplete.');\n\n return (\n <Frame\n className={layout.theme === 'dark' ? 'dark' : ''}\n displayMode=\"auto\"\n title=\"Notification preferences\"\n subtitle=\"Choose where concise updates should arrive.\"\n data-llm={saved?.summary ?? `Notification channel: ${channel}`}\n >\n <Flow variant=\"stack\" density={layout.displayMode === 'inline' ? 'compact' : 'comfortable'}>\n <AsyncBoundary\n state={save}\n loading=\"Saving your preference\u2026\"\n error={(error) => `Could not save: ${error.message}`}\n >\n {saved?.summary ? <Feedback status=\"success\">{saved.summary}</Feedback> : null}\n <Region title=\"Delivery channel\" description=\"You can change this later.\">\n <Field label=\"Channel\" detail=\"Email is the safe default for this starter.\">\n <Select\n value={channel}\n onChange={(event) => setChannel(event.currentTarget.value as 'email' | 'sms')}\n options={[{ value: 'email', label: 'Email' }, { value: 'sms', label: 'SMS' }]}\n />\n </Field>\n </Region>\n <ActionBar>\n <Action\n type=\"button\"\n variant=\"primary\"\n disabled={!ready}\n pending={save.isPending}\n pendingLabel=\"Saving\u2026\"\n onClick={() => save.callTool({ channel })}\n >\n Save preference\n </Action>\n {save.status === 'error' ? <Action type=\"button\" onClick={save.reset}>Try again</Action> : null}\n </ActionBar>\n </AsyncBoundary>\n </Flow>\n </Frame>\n );\n}\n";
3
+ export declare const widgetFocusedView = "import '@noodleseed/one/react/styles.css';\nimport { useRef, useState } from 'react';\nimport {\n Action,\n ActionBar,\n AsyncBoundary,\n Feedback,\n Field,\n Flow,\n Frame,\n Region,\n Select,\n useCallTool,\n useLayout,\n useToolInfo,\n useViewState,\n useWidgetReady,\n} from '../helpers.js';\n\ntype Preferences = { readonly channel: 'email' | 'sms'; readonly summary: string; readonly demo: true };\n\nfunction isPreferences(value: unknown): value is Preferences {\n if (value === null || typeof value !== 'object') return false;\n const candidate = value as Partial<Preferences>;\n return (\n (candidate.channel === 'email' || candidate.channel === 'sms') &&\n typeof candidate.summary === 'string' &&\n candidate.summary.trim().length > 0 && candidate.demo === true\n );\n}\n\nfunction preferenceStatus(status: 'loading' | 'error', message: string) {\n return (\n <Frame displayMode=\"auto\" title=\"Notification preferences\">\n <Feedback status={status}>{message}</Feedback>\n </Frame>\n );\n}\n\nexport default function PreferencesCard() {\n const ready = useWidgetReady();\n const layout = useLayout();\n const toolInfo = useToolInfo('show_preferences');\n const isPending = !ready || Object.keys(toolInfo).length === 0;\n const shown = isPreferences(toolInfo.structuredContent)\n ? toolInfo.structuredContent\n : undefined;\n const save = useCallTool('save_preferences');\n const [channel, setChannel] = useViewState('channel', shown?.channel ?? 'email');\n const [saved, setSaved] = useState<Preferences>();\n const [issue, setIssue] = useState<string>();\n const inFlight = useRef(false);\n\n async function previewPreference() {\n if (!ready || inFlight.current) return;\n inFlight.current = true;\n setSaved(undefined);\n setIssue(undefined);\n try {\n const result = await save.callTool({ channel });\n if (result.isError || !isPreferences(result.structuredContent) || result.structuredContent.channel !== channel) {\n throw new Error('Unverified preview');\n }\n setSaved(result.structuredContent);\n } catch {\n setIssue('Could not verify the preview. Inspect the local result before retrying.');\n } finally { inFlight.current = false; }\n }\n\n if (isPending) return preferenceStatus('loading', 'Loading preferences\u2026');\n if (toolInfo.isError) return preferenceStatus('error', 'Could not load preferences.');\n if (!shown) return preferenceStatus('error', 'The preference result was incomplete.');\n\n return (\n <Frame\n className={layout.theme === 'dark' ? 'dark' : ''}\n displayMode=\"auto\"\n title=\"Notification preferences\"\n subtitle=\"Synthetic preview only. No customer preference is saved.\"\n data-llm={saved?.summary ?? `Notification channel: ${channel}`}\n >\n <Flow variant=\"stack\" density={layout.displayMode === 'inline' ? 'compact' : 'comfortable'}>\n <AsyncBoundary\n state={save}\n loading=\"Previewing your preference\u2026\"\n error={() => <Flow variant=\"stack\">\n <p>Could not preview. Inspect the local tool result before retrying.</p>\n <Action type=\"button\" onClick={save.reset}>Try again</Action>\n </Flow>}\n >\n {issue ? <Feedback status=\"error\">{issue}</Feedback> : null}\n {saved?.summary ? <Feedback status=\"partial\">{saved.summary}</Feedback> : null}\n <Region title=\"Delivery channel\" description=\"You can change this later.\">\n <Field label=\"Channel\" detail=\"Email is the safe default for this starter.\">\n <Select\n value={channel}\n onChange={(event) => setChannel(event.currentTarget.value as 'email' | 'sms')}\n options={[{ value: 'email', label: 'Email' }, { value: 'sms', label: 'SMS' }]}\n />\n </Field>\n </Region>\n <ActionBar>\n <Action\n type=\"button\"\n variant=\"primary\"\n disabled={!ready || save.isPending}\n pending={save.isPending}\n pendingLabel=\"Previewing\u2026\"\n onClick={previewPreference}\n >\n Preview preference\n </Action>\n </ActionBar>\n </AsyncBoundary>\n </Flow>\n </Frame>\n );\n}\n";
4
4
  //# sourceMappingURL=widget-focused-template.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"widget-focused-template.d.ts","sourceRoot":"","sources":["../src/widget-focused-template.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,eAAO,MAAM,oBAAoB,+WAKhC,CAAC;AAEF,eAAO,MAAM,iBAAiB,i6GAgG7B,CAAC"}
1
+ {"version":3,"file":"widget-focused-template.d.ts","sourceRoot":"","sources":["../src/widget-focused-template.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,eAAO,MAAM,oBAAoB,+WAKhC,CAAC;AAEF,eAAO,MAAM,iBAAiB,8zIAsH7B,CAAC"}
@@ -6,6 +6,7 @@ export { Action, ActionBar, AsyncBoundary, Feedback, Field, Flow, Frame, Region,
6
6
  export const { useCallTool, useLayout, useToolInfo, useViewState, useWidgetReady } = generateHelpers<ServerDefinition>();
7
7
  `;
8
8
  export const widgetFocusedView = `import '@noodleseed/one/react/styles.css';
9
+ import { useRef, useState } from 'react';
9
10
  import {
10
11
  Action,
11
12
  ActionBar,
@@ -23,7 +24,7 @@ import {
23
24
  useWidgetReady,
24
25
  } from '../helpers.js';
25
26
 
26
- type Preferences = { readonly channel: 'email' | 'sms'; readonly summary: string };
27
+ type Preferences = { readonly channel: 'email' | 'sms'; readonly summary: string; readonly demo: true };
27
28
 
28
29
  function isPreferences(value: unknown): value is Preferences {
29
30
  if (value === null || typeof value !== 'object') return false;
@@ -31,7 +32,7 @@ function isPreferences(value: unknown): value is Preferences {
31
32
  return (
32
33
  (candidate.channel === 'email' || candidate.channel === 'sms') &&
33
34
  typeof candidate.summary === 'string' &&
34
- candidate.summary.trim().length > 0
35
+ candidate.summary.trim().length > 0 && candidate.demo === true
35
36
  );
36
37
  }
37
38
 
@@ -53,7 +54,25 @@ export default function PreferencesCard() {
53
54
  : undefined;
54
55
  const save = useCallTool('save_preferences');
55
56
  const [channel, setChannel] = useViewState('channel', shown?.channel ?? 'email');
56
- const saved = save.data?.structuredContent as Preferences | undefined;
57
+ const [saved, setSaved] = useState<Preferences>();
58
+ const [issue, setIssue] = useState<string>();
59
+ const inFlight = useRef(false);
60
+
61
+ async function previewPreference() {
62
+ if (!ready || inFlight.current) return;
63
+ inFlight.current = true;
64
+ setSaved(undefined);
65
+ setIssue(undefined);
66
+ try {
67
+ const result = await save.callTool({ channel });
68
+ if (result.isError || !isPreferences(result.structuredContent) || result.structuredContent.channel !== channel) {
69
+ throw new Error('Unverified preview');
70
+ }
71
+ setSaved(result.structuredContent);
72
+ } catch {
73
+ setIssue('Could not verify the preview. Inspect the local result before retrying.');
74
+ } finally { inFlight.current = false; }
75
+ }
57
76
 
58
77
  if (isPending) return preferenceStatus('loading', 'Loading preferences…');
59
78
  if (toolInfo.isError) return preferenceStatus('error', 'Could not load preferences.');
@@ -64,16 +83,20 @@ export default function PreferencesCard() {
64
83
  className={layout.theme === 'dark' ? 'dark' : ''}
65
84
  displayMode="auto"
66
85
  title="Notification preferences"
67
- subtitle="Choose where concise updates should arrive."
86
+ subtitle="Synthetic preview only. No customer preference is saved."
68
87
  data-llm={saved?.summary ?? \`Notification channel: \${channel}\`}
69
88
  >
70
89
  <Flow variant="stack" density={layout.displayMode === 'inline' ? 'compact' : 'comfortable'}>
71
90
  <AsyncBoundary
72
91
  state={save}
73
- loading="Saving your preference…"
74
- error={(error) => \`Could not save: \${error.message}\`}
92
+ loading="Previewing your preference…"
93
+ error={() => <Flow variant="stack">
94
+ <p>Could not preview. Inspect the local tool result before retrying.</p>
95
+ <Action type="button" onClick={save.reset}>Try again</Action>
96
+ </Flow>}
75
97
  >
76
- {saved?.summary ? <Feedback status="success">{saved.summary}</Feedback> : null}
98
+ {issue ? <Feedback status="error">{issue}</Feedback> : null}
99
+ {saved?.summary ? <Feedback status="partial">{saved.summary}</Feedback> : null}
77
100
  <Region title="Delivery channel" description="You can change this later.">
78
101
  <Field label="Channel" detail="Email is the safe default for this starter.">
79
102
  <Select
@@ -87,14 +110,13 @@ export default function PreferencesCard() {
87
110
  <Action
88
111
  type="button"
89
112
  variant="primary"
90
- disabled={!ready}
113
+ disabled={!ready || save.isPending}
91
114
  pending={save.isPending}
92
- pendingLabel="Saving…"
93
- onClick={() => save.callTool({ channel })}
115
+ pendingLabel="Previewing…"
116
+ onClick={previewPreference}
94
117
  >
95
- Save preference
118
+ Preview preference
96
119
  </Action>
97
- {save.status === 'error' ? <Action type="button" onClick={save.reset}>Try again</Action> : null}
98
120
  </ActionBar>
99
121
  </AsyncBoundary>
100
122
  </Flow>
@@ -1 +1 @@
1
- {"version":3,"file":"widget-focused-template.js","sourceRoot":"","sources":["../src/widget-focused-template.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;CAKnC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgGhC,CAAC"}
1
+ {"version":3,"file":"widget-focused-template.js","sourceRoot":"","sources":["../src/widget-focused-template.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;CAKnC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsHhC,CAAC"}
@@ -1,4 +1,4 @@
1
1
  /** The widget starter is a focused production baseline; the full gallery stays an internal fixture. */
2
2
  import type { ProjectAgentTarget } from './project.js';
3
- export declare function widgetFiles(name: string, agentTargets: readonly ProjectAgentTarget[]): Record<string, string>;
3
+ export declare function widgetFiles(name: string, agentTargets: readonly ProjectAgentTarget[], profile?: 'widget' | 'saas'): Record<string, string>;
4
4
  //# sourceMappingURL=widget-scaffold-template.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"widget-scaffold-template.d.ts","sourceRoot":"","sources":["../src/widget-scaffold-template.ts"],"names":[],"mappings":"AAAA,uGAAuG;AACvG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAIvD,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,SAAS,kBAAkB,EAAE,GAC1C,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAqMxB"}
1
+ {"version":3,"file":"widget-scaffold-template.d.ts","sourceRoot":"","sources":["../src/widget-scaffold-template.ts"],"names":[],"mappings":"AAAA,uGAAuG;AACvG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAIvD,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,SAAS,kBAAkB,EAAE,EAC3C,OAAO,GAAE,QAAQ,GAAG,MAAiB,GACpC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAyOxB"}
@@ -1,9 +1,11 @@
1
1
  import { commonFiles, manifestName, title } from './project-scaffold-templates.js';
2
2
  import { widgetFocusedHelpers, widgetFocusedView } from './widget-focused-template.js';
3
- export function widgetFiles(name, agentTargets) {
3
+ export function widgetFiles(name, agentTargets, profile = 'widget') {
4
+ const embedded = profile === 'saas';
4
5
  const serverName = manifestName(name);
5
- const files = commonFiles(name, 'widget', agentTargets, `import {
6
+ const files = commonFiles(name, profile, agentTargets, `import {
6
7
  annotations,
8
+ ${embedded ? ' authenticatedWebsite,\n embeddedAssistant,\n noodleManaged,\n variable,\n' : ''}
7
9
  prompt,
8
10
  resource,
9
11
  server,
@@ -14,19 +16,30 @@ export function widgetFiles(name, agentTargets) {
14
16
  const preferences = z.object({
15
17
  channel: z.enum(['email', 'sms']),
16
18
  summary: z.string(),
19
+ demo: z.literal(true),
17
20
  });
18
21
 
19
22
  export default server('${serverName}', {
20
23
  title: '${title(name)}',
21
24
  version: '1.0.0',
22
- instructions: 'Help users understand their workspace, update preferences, and plan a safe next step.',
25
+ instructions: 'Demonstrate workspace reads and preference previews. All data is synthetic; no customer changes are saved.',
26
+ ${embedded
27
+ ? ` // IDENTITY SEAM: the existing application backend verifies the user before session exchange.
28
+ // No fabricated issuer and no caller-controlled identity. Keep direct MCP access owner-only until
29
+ // you explicitly add a reviewed customerAuth recipe for direct clients.
30
+ assistant: embeddedAssistant({
31
+ model: noodleManaged(),
32
+ access: [authenticatedWebsite({ origins: [variable('ASSISTANT_ORIGIN')] })],
33
+ }),
34
+ `
35
+ : ''}
23
36
  branding: {
24
37
  name: '${title(name)}',
25
38
  accent: '#1D9E75',
26
39
  radius: 'md',
27
40
  density: 'comfortable',
28
41
  },
29
- handoff: { allowedDomains: ['https://your-app.example.com'] },
42
+ // No handoff tool or external destination is enabled in this synthetic baseline.
30
43
  state: {
31
44
  handles: {
32
45
  workspace_draft: {
@@ -42,11 +55,12 @@ export default server('${serverName}', {
42
55
  tool('list_workspace_items', {
43
56
  title: 'List workspace items',
44
57
  description: 'List the current workspace items with concise status summaries.',
58
+ ${embedded ? ' contextProvider: true,\n' : ''}
45
59
  annotations: annotations.readOnly(),
46
- input: z.object({ status: z.enum(['all', 'active', 'done']).default('all').meta({ title: 'Status' }) }),
60
+ input: z.object({}).strict(),
47
61
  output: z.object({ items: z.array(z.object({ id: z.string(), title: z.string(), status: z.string() })) }),
48
62
  fulfil: () => ({ items: [
49
- { id: 'item-1', title: 'Review the production starter', status: 'active' },
63
+ { id: 'item-1', title: 'Review the synthetic starter', status: 'active' },
50
64
  { id: 'item-2', title: 'Connect a real customer API', status: 'active' },
51
65
  ] }),
52
66
  }),
@@ -54,18 +68,18 @@ export default server('${serverName}', {
54
68
  title: 'Show notification preferences',
55
69
  description: 'Show the current notification preference in a focused widget.',
56
70
  annotations: annotations.readOnly(),
57
- input: z.object({}),
71
+ input: z.object({}).strict(),
58
72
  output: preferences,
59
73
  fulfil: () => ({
60
74
  channel: 'email',
61
- summary: 'Updates currently arrive by email.',
75
+ summary: 'Demo preference: email. No customer data is loaded.',
76
+ demo: true,
62
77
  }),
63
78
  viewTitle: 'Notification preferences',
64
- viewDescription: 'Review and update one notification preference.',
79
+ viewDescription: 'Preview one synthetic notification preference; nothing is saved.',
65
80
  invoking: 'Loading preferences…',
66
81
  invoked: 'Preferences ready',
67
- // Optional host compatibility metadata. Replace this placeholder before public distribution.
68
- domain: 'https://your-app.example.com',
82
+ ${embedded ? '' : " // Optional host compatibility metadata. Replace before public host distribution.\n domain: 'https://your-app.example.com',\n"}
69
83
  csp: {
70
84
  connectDomains: [],
71
85
  resourceDomains: [],
@@ -77,19 +91,17 @@ export default server('${serverName}', {
77
91
  },
78
92
  }),
79
93
  tool('save_preferences', {
80
- description: 'Save a notification preference selected explicitly in the widget.',
94
+ description: 'Preview a synthetic preference selected in the widget. This does not save customer data.',
81
95
  annotations: annotations.localAction({ destructive: false, confirm: false }),
82
96
  visibility: ['app'],
83
97
  input: z.object({
84
98
  channel: z.enum(['email', 'sms']),
85
- }),
86
- output: z.object({
87
- channel: z.enum(['email', 'sms']),
88
- summary: z.string(),
89
- }),
99
+ }).strict(),
100
+ output: preferences,
90
101
  fulfil: ({ input }) => ({
91
102
  channel: input.channel,
92
- summary: \`Updates will arrive by \${input.channel}.\`,
103
+ summary: \`Preview: \${input.channel}; not saved. Connect your authorized backend before enabling real writes.\`,
104
+ demo: true,
93
105
  }),
94
106
  }),
95
107
  resource('workspace_guide', {
@@ -103,7 +115,7 @@ export default server('${serverName}', {
103
115
  title: 'Plan the next workspace step',
104
116
  description: 'Prepare a grounded, human-reviewable next-step plan.',
105
117
  arguments: z.object({ goal: z.string().default('Ship the first customer integration') }),
106
- fulfil: (ctx) => ({ messages: [{ role: 'user', content: { type: 'text', text: \`Plan the safest next step for: \${ctx.params?.goal ?? 'Ship the first customer integration'}\` } }] }),
118
+ fulfil: ({ input }) => ({ messages: [{ role: 'user', content: { type: 'text', text: \`Plan the safest next step for: \${input.goal}\` } }] }),
107
119
  }),
108
120
  ]);
109
121
  `, {
@@ -116,21 +128,6 @@ export default server('${serverName}', {
116
128
  });
117
129
  return {
118
130
  ...files,
119
- 'tsconfig.json': `{
120
- "compilerOptions": {
121
- "target": "ESNext",
122
- "module": "ESNext",
123
- "moduleResolution": "bundler",
124
- "lib": ["ESNext", "DOM", "DOM.Iterable"],
125
- "jsx": "react-jsx",
126
- "strict": true,
127
- "skipLibCheck": true,
128
- "esModuleInterop": true,
129
- "noEmit": true
130
- },
131
- "include": ["src"]
132
- }
133
- `,
134
131
  'src/vite-env.d.ts': '/// <reference types="vite/client" />\n',
135
132
  'src/helpers.ts': widgetFocusedHelpers,
136
133
  'src/views/preferences-card.tsx': widgetFocusedView,
@@ -146,20 +143,23 @@ export default defineConfig({
146
143
  ## Run locally (no account or login)
147
144
 
148
145
  \`\`\`sh
149
- noodle dev
146
+ npm install
147
+ npm test
150
148
  \`\`\`
151
149
 
152
- \`noodle dev\` starts the local MCP server and hot-reloads on save. Use \`noodle devtools\` for a
153
- local widget preview and \`noodle check\` for readiness findings.
150
+ \`npm test\` compiles the actual source and widget, lists tools, checks a synthetic read and rejects invalid
151
+ input. It uses temporary source/configuration and never copies your credentials. Use your existing package
152
+ manager consistently. Bind the declared names for your application, then use \`npm run dev\` for hot reload,
153
+ \`noodle devtools\` for a widget preview and \`npm run agent:check\` for local readiness findings.
154
154
 
155
155
  ## Widget authoring
156
156
 
157
- This is a comprehensive production starter rather than a minimal demo. It ships model-visible and app-only
158
- tools, a resource, prompt, caller-scoped state contract, branded widget, and handoff policy. The widget itself
157
+ This is a tested integration baseline with explicitly synthetic data. It ships model-visible and app-only
158
+ tools, a resource, prompt, caller-scoped state contract, and branded widget. The widget itself
159
159
  keeps one purpose and one primary action, with safe prefilling and explicit loading, empty, error, retry, and success states.
160
160
 
161
161
  - \`tool(..., { view })\` links the model-visible tool to the React view.
162
- - \`tool(..., { visibility: ['app'] })\` powers the widget's explicit save action.
162
+ - \`tool(..., { visibility: ['app'] })\` powers the widget's explicit synthetic preview action.
163
163
  - \`view.component\` links the tool to a React view in \`src/views/\`.
164
164
  - \`useLayout()\` adapts to MCP Apps host context without requiring a host-specific global.
165
165
  - Keep inline widgets to one primary action and at most one subordinate action; use progressive disclosure
@@ -173,9 +173,40 @@ noodle login
173
173
  noodle deploy --org <org> --app ${name}
174
174
  \`\`\`
175
175
 
176
- The generated project is fully usable locally before login. Authentication is only required when you
177
- choose to deploy it. Replace the placeholder domain before public distribution.
178
-
176
+ The generated tests run locally without login, using isolated configuration and synthetic data. They do not
177
+ prove a customer integration. Keep the default owner-only direct MCP access. Do not enable public access
178
+ to private business capabilities; add the reviewed customer-auth recipe first. No handoff destinations are
179
+ allowed until you declare the approved destinations. Replace any optional host domain before distribution.
180
+
181
+ ## Your edit seams
182
+
183
+ Change business input/output schemas and fulfillment in \`src/server.ts\`, layout in
184
+ \`src/views/preferences-card.tsx\`, and representative assertions in \`test/server.test.ts\`. The preview
185
+ returns \`demo: true\` and never saves; when connecting real writes, replace the synthetic mapping with the
186
+ authorized backend connector and require confirmation. Prove the backend change before displaying success.
187
+ Operator bindings use \`noodle variables\` / \`noodle secrets\`, not source edits. Preserve the generated
188
+ guard and test infrastructure; rerunning init preserves modified files and creates missing files.
189
+
190
+ ${embedded
191
+ ? `## Embedded customer application
192
+
193
+ The SaaS default declares an authenticated website assistant with a managed model. It does not require a
194
+ new customer identity provider or a model-provider key. Bind \`ASSISTANT_ORIGIN\` to the exact website
195
+ origin using \`noodle variables set\` for the intended target; the local test binds only its isolated fixture.
196
+ For local use, export the reviewed origin and run
197
+ \`noodle variables set ASSISTANT_ORIGIN --runtime local --scope env --org local --app ${name} --env dev --from-env ASSISTANT_ORIGIN\`.
198
+ Hosted model execution and session exchange still require a configured, authorized deployment.
199
+
200
+ In your existing application, run \`noodle assistant embed --framework nextjs --surface authenticated\`
201
+ (or \`--framework django-vue\`). This installs the maintained session handler, browser mount, tests and
202
+ \`NOODLE-INTEGRATION.md\`; it does not create a second website or login system. Implement only
203
+ \`authenticateAssistantRequest\` using verified backend login and membership. Keep exchange credentials
204
+ server-only. Follow the installed guide for origin, tenant, browser and real-backend verification.
205
+
206
+ Direct customer MCP access is a separate explicit \`customerAuth\` recipe on this same server; the shipped
207
+ Agent Kit owns issuer discovery and delegatedTokenExchange guidance. Local demo tests are not auth proof.
208
+ `
209
+ : `
179
210
  ## Optional embedded assistant
180
211
 
181
212
  The default scaffold is credential-free. Add \`assistant: embeddedAssistant(...)\` to \`server.ts\` only
@@ -183,6 +214,7 @@ when the product deliberately includes a customer-hosted assistant. This explici
183
214
  ordinary ChatGPT, Claude, and other MCP-hosted widgets independent of model-provider settings. The installed
184
215
  Noodle Agent Kit's \`references/embedded-assistant.md\` owns the complete configuration and verification
185
216
  workflow.
217
+ `}
186
218
 
187
219
  ## Agent setup
188
220
 
@@ -1 +1 @@
1
- {"version":3,"file":"widget-scaffold-template.js","sourceRoot":"","sources":["../src/widget-scaffold-template.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEvF,MAAM,UAAU,WAAW,CACzB,IAAY,EACZ,YAA2C;IAE3C,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,WAAW,CACvB,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ;;;;;;;;;;;;;;yBAcqB,UAAU;YACvB,KAAK,CAAC,IAAI,CAAC;;;;aAIV,KAAK,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqFvB,EACG;QACE,cAAc,EAAE,QAAQ;QACxB,kBAAkB,EAAE,QAAQ;QAC5B,sBAAsB,EAAE,QAAQ;QAChC,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,QAAQ;QACrB,IAAI,EAAE,QAAQ;KACf,CACF,CAAC;IAEF,OAAO;QACL,GAAG,KAAK;QACR,eAAe,EAAE;;;;;;;;;;;;;;CAcpB;QACG,mBAAmB,EAAE,yCAAyC;QAC9D,gBAAgB,EAAE,oBAAoB;QACtC,gCAAgC,EAAE,iBAAiB;QACnD,gBAAgB,EAAE;;;;;;CAMrB;QACG,WAAW,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCA6BC,IAAI;;;;;;;;;;;;;;;;;;CAkBrC;KACE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"widget-scaffold-template.js","sourceRoot":"","sources":["../src/widget-scaffold-template.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEvF,MAAM,UAAU,WAAW,CACzB,IAAY,EACZ,YAA2C,EAC3C,UAA6B,QAAQ;IAErC,MAAM,QAAQ,GAAG,OAAO,KAAK,MAAM,CAAC;IACpC,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,WAAW,CACvB,IAAI,EACJ,OAAO,EACP,YAAY,EACZ;;EAEF,QAAQ,CAAC,CAAC,CAAC,gFAAgF,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;yBAczE,UAAU;YACvB,KAAK,CAAC,IAAI,CAAC;;;EAIrB,QAAQ;QACN,CAAC,CAAC;;;;;;;CAOL;QACG,CAAC,CAAC,EACN;;aAEa,KAAK,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;EAqBtB,QAAQ,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;EAwB9C,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,sIAAsI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCvJ,EACG;QACE,cAAc,EAAE,QAAQ;QACxB,kBAAkB,EAAE,QAAQ;QAC5B,sBAAsB,EAAE,QAAQ;QAChC,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,QAAQ;QACrB,IAAI,EAAE,QAAQ;KACf,CACF,CAAC;IAEF,OAAO;QACL,GAAG,KAAK;QACR,mBAAmB,EAAE,yCAAyC;QAC9D,gBAAgB,EAAE,oBAAoB;QACtC,gCAAgC,EAAE,iBAAiB;QACnD,gBAAgB,EAAE;;;;;;CAMrB;QACG,WAAW,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAgCC,IAAI;;;;;;;;;;;;;;;;;EAkBpC,QAAQ;YACN,CAAC,CAAC;;;;;;wFAMkF,IAAI;;;;;;;;;;;CAW3F;YACG,CAAC,CAAC;;;;;;;;CASN;;;;;;CAMC;KACE,CAAC;AACJ,CAAC"}