@noodleseed/one 0.33.0 → 0.34.1
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.
- package/LICENSE +27 -1
- package/NOTICE +4 -0
- package/dist/assistant-embed-scaffold-template.d.ts +10 -0
- package/dist/assistant-embed-scaffold-template.d.ts.map +1 -0
- package/dist/assistant-embed-scaffold-template.js +74 -0
- package/dist/assistant-embed-scaffold-template.js.map +1 -0
- package/dist/bin.js +0 -0
- package/dist/commands/assistant-embed-ops.d.ts +2 -0
- package/dist/commands/assistant-embed-ops.d.ts.map +1 -0
- package/dist/commands/assistant-embed-ops.js +87 -0
- package/dist/commands/assistant-embed-ops.js.map +1 -0
- package/dist/commands/assistant-ops.d.ts.map +1 -1
- package/dist/commands/assistant-ops.js +36 -2
- package/dist/commands/assistant-ops.js.map +1 -1
- package/dist/commands/catalog-data-resources.d.ts.map +1 -1
- package/dist/commands/catalog-data-resources.js +11 -0
- package/dist/commands/catalog-data-resources.js.map +1 -1
- package/dist/commands/deploy-ops.d.ts +2 -0
- package/dist/commands/deploy-ops.d.ts.map +1 -1
- package/dist/commands/deploy-ops.js +18 -0
- package/dist/commands/deploy-ops.js.map +1 -1
- package/dist/commands/mcp-apps.d.ts.map +1 -1
- package/dist/commands/mcp-apps.js +40 -8
- package/dist/commands/mcp-apps.js.map +1 -1
- package/dist/commands/project-setup.d.ts +2 -2
- package/dist/commands/project-setup.d.ts.map +1 -1
- package/dist/commands/project-setup.js +5 -4
- package/dist/commands/project-setup.js.map +1 -1
- package/dist/control-plane.d.ts.map +1 -1
- package/dist/control-plane.js +2 -0
- package/dist/control-plane.js.map +1 -1
- package/dist/deploy.d.ts +2 -1
- package/dist/deploy.d.ts.map +1 -1
- package/dist/deploy.js +56 -39
- package/dist/deploy.js.map +1 -1
- package/dist/first-run.js +1 -1
- package/dist/first-run.js.map +1 -1
- package/dist/openapi-import.d.ts.map +1 -1
- package/dist/openapi-import.js +6 -1
- package/dist/openapi-import.js.map +1 -1
- package/dist/project-scaffold-templates.d.ts.map +1 -1
- package/dist/project-scaffold-templates.js +10 -3
- package/dist/project-scaffold-templates.js.map +1 -1
- package/dist/project.d.ts.map +1 -1
- package/dist/project.js +3 -1
- package/dist/project.js.map +1 -1
- package/dist/widget-focused-template.d.ts +4 -0
- package/dist/widget-focused-template.d.ts.map +1 -0
- package/dist/widget-focused-template.js +75 -0
- package/dist/widget-focused-template.js.map +1 -0
- package/dist/widget-scaffold-template.d.ts +1 -1
- package/dist/widget-scaffold-template.d.ts.map +1 -1
- package/dist/widget-scaffold-template.js +129 -41
- package/dist/widget-scaffold-template.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/curated/error-fixes.d.ts.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/curated/error-fixes.js +1 -0
- package/node_modules/@noodle-borg/agent-kit/dist/curated/error-fixes.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/generated/example-files.js +7 -7
- package/node_modules/@noodle-borg/agent-kit/dist/generated/example-files.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.d.ts.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.js +1 -0
- package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/skill-authoring-refs.d.ts.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/skill-authoring-refs.js +32 -22
- package/node_modules/@noodle-borg/agent-kit/dist/skill-authoring-refs.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/skill-content.d.ts.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/skill-content.js +6 -3
- package/node_modules/@noodle-borg/agent-kit/dist/skill-content.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/skill-embedded-assistant-ref.d.ts +3 -0
- package/node_modules/@noodle-borg/agent-kit/dist/skill-embedded-assistant-ref.d.ts.map +1 -0
- package/node_modules/@noodle-borg/agent-kit/dist/skill-embedded-assistant-ref.js +214 -0
- package/node_modules/@noodle-borg/agent-kit/dist/skill-embedded-assistant-ref.js.map +1 -0
- package/node_modules/@noodle-borg/agent-kit/dist/skill-operations-refs.d.ts.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/skill-operations-refs.js +5 -0
- package/node_modules/@noodle-borg/agent-kit/dist/skill-operations-refs.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/package.json +2 -1
- package/node_modules/@noodle-borg/auth/package.json +1 -0
- package/node_modules/@noodle-borg/authoring/dist/assistant.d.ts +11 -0
- package/node_modules/@noodle-borg/authoring/dist/assistant.d.ts.map +1 -1
- package/node_modules/@noodle-borg/authoring/dist/assistant.js +2 -1
- package/node_modules/@noodle-borg/authoring/dist/assistant.js.map +1 -1
- package/node_modules/@noodle-borg/authoring/dist/customer-auth.d.ts +5 -5
- package/node_modules/@noodle-borg/authoring/dist/customer-auth.d.ts.map +1 -1
- package/node_modules/@noodle-borg/authoring/dist/customer-auth.js +11 -5
- package/node_modules/@noodle-borg/authoring/dist/customer-auth.js.map +1 -1
- package/node_modules/@noodle-borg/authoring/dist/react/components.d.ts +1 -1
- package/node_modules/@noodle-borg/authoring/dist/react/components.d.ts.map +1 -1
- package/node_modules/@noodle-borg/authoring/dist/react/components.js +1 -1
- package/node_modules/@noodle-borg/authoring/dist/react/components.js.map +1 -1
- package/node_modules/@noodle-borg/authoring/dist/server.d.ts +0 -1
- package/node_modules/@noodle-borg/authoring/dist/server.d.ts.map +1 -1
- package/node_modules/@noodle-borg/authoring/dist/server.js +4 -2
- package/node_modules/@noodle-borg/authoring/dist/server.js.map +1 -1
- package/node_modules/@noodle-borg/authoring/package.json +1 -0
- package/node_modules/@noodle-borg/capabilities/package.json +1 -0
- package/node_modules/@noodle-borg/compiler/dist/artifact/consent.d.ts +8 -0
- package/node_modules/@noodle-borg/compiler/dist/artifact/consent.d.ts.map +1 -0
- package/node_modules/@noodle-borg/compiler/dist/artifact/consent.js +12 -0
- package/node_modules/@noodle-borg/compiler/dist/artifact/consent.js.map +1 -0
- package/node_modules/@noodle-borg/compiler/dist/artifact/types.d.ts +3 -1
- package/node_modules/@noodle-borg/compiler/dist/artifact/types.d.ts.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/compile.d.ts.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/compile.js +48 -3
- package/node_modules/@noodle-borg/compiler/dist/compile.js.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/errors.d.ts +1 -1
- package/node_modules/@noodle-borg/compiler/dist/errors.d.ts.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/fulfilment-emit.d.ts.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/fulfilment-emit.js +1 -4
- package/node_modules/@noodle-borg/compiler/dist/fulfilment-emit.js.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/fulfilment-structural.d.ts +7 -9
- package/node_modules/@noodle-borg/compiler/dist/fulfilment-structural.d.ts.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/fulfilment-structural.js +8 -18
- package/node_modules/@noodle-borg/compiler/dist/fulfilment-structural.js.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/index.d.ts +2 -1
- package/node_modules/@noodle-borg/compiler/dist/index.d.ts.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/index.js +2 -1
- package/node_modules/@noodle-borg/compiler/dist/index.js.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/manifest/csp-origins.js +2 -2
- package/node_modules/@noodle-borg/compiler/dist/manifest/schema.d.ts +4 -5
- package/node_modules/@noodle-borg/compiler/dist/manifest/schema.d.ts.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/manifest/schema.js +25 -8
- package/node_modules/@noodle-borg/compiler/dist/manifest/schema.js.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/schema-validation.d.ts +9 -0
- package/node_modules/@noodle-borg/compiler/dist/schema-validation.d.ts.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/schema-validation.js +42 -0
- package/node_modules/@noodle-borg/compiler/dist/schema-validation.js.map +1 -1
- package/node_modules/@noodle-borg/compiler/package.json +1 -0
- package/node_modules/@noodle-borg/compute/package.json +1 -0
- package/node_modules/@noodle-borg/connector-defs/package.json +1 -0
- package/node_modules/@noodle-borg/connector-http/package.json +1 -0
- package/node_modules/@noodle-borg/module/package.json +1 -0
- package/node_modules/@noodle-borg/module-audit/package.json +1 -0
- package/node_modules/@noodle-borg/openapi-import/dist/index.js +1 -1
- package/node_modules/@noodle-borg/openapi-import/dist/index.js.map +1 -1
- package/node_modules/@noodle-borg/openapi-import/package.json +1 -0
- package/node_modules/@noodle-borg/protocol/dist/input-validation.d.ts +9 -0
- package/node_modules/@noodle-borg/protocol/dist/input-validation.d.ts.map +1 -1
- package/node_modules/@noodle-borg/protocol/dist/input-validation.js +13 -1
- package/node_modules/@noodle-borg/protocol/dist/input-validation.js.map +1 -1
- package/node_modules/@noodle-borg/protocol/dist/sdk-server.js +8 -5
- package/node_modules/@noodle-borg/protocol/dist/sdk-server.js.map +1 -1
- package/node_modules/@noodle-borg/protocol/package.json +1 -0
- package/node_modules/@noodle-borg/runtime/dist/connector/types.d.ts +7 -0
- package/node_modules/@noodle-borg/runtime/dist/connector/types.d.ts.map +1 -1
- package/node_modules/@noodle-borg/runtime/dist/connector/types.js.map +1 -1
- package/node_modules/@noodle-borg/runtime/package.json +1 -0
- package/node_modules/@noodle-borg/service/dist/assistant-model-stream.d.ts +19 -0
- package/node_modules/@noodle-borg/service/dist/assistant-model-stream.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/assistant-model-stream.js +84 -0
- package/node_modules/@noodle-borg/service/dist/assistant-model-stream.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/assistant-store.d.ts +2 -0
- package/node_modules/@noodle-borg/service/dist/assistant-store.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/assistant-store.js +11 -0
- package/node_modules/@noodle-borg/service/dist/assistant-store.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/auth/deploy-gate.d.ts +4 -0
- package/node_modules/@noodle-borg/service/dist/auth/deploy-gate.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/auth/deploy-gate.js +10 -1
- package/node_modules/@noodle-borg/service/dist/auth/deploy-gate.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/build-info.d.ts +9 -0
- package/node_modules/@noodle-borg/service/dist/build-info.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/build-info.js +50 -0
- package/node_modules/@noodle-borg/service/dist/build-info.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/client-compatibility.d.ts +5 -0
- package/node_modules/@noodle-borg/service/dist/client-compatibility.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/client-compatibility.js +12 -0
- package/node_modules/@noodle-borg/service/dist/client-compatibility.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/index.d.ts +3 -1
- package/node_modules/@noodle-borg/service/dist/index.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/index.js +2 -0
- package/node_modules/@noodle-borg/service/dist/index.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/main.js +8 -0
- package/node_modules/@noodle-borg/service/dist/main.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/manifest-normalize.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/manifest-normalize.js +13 -0
- package/node_modules/@noodle-borg/service/dist/manifest-normalize.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/options.d.ts +7 -0
- package/node_modules/@noodle-borg/service/dist/options.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/personal-workspace.d.ts +1 -0
- package/node_modules/@noodle-borg/service/dist/personal-workspace.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/personal-workspace.js +4 -5
- package/node_modules/@noodle-borg/service/dist/personal-workspace.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/access-mode.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/access-mode.js +2 -6
- package/node_modules/@noodle-borg/service/dist/routes/access-mode.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/assets.d.ts +6 -2
- package/node_modules/@noodle-borg/service/dist/routes/assets.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/assets.js +12 -52
- package/node_modules/@noodle-borg/service/dist/routes/assets.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/assistant-dispatch.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/assistant-dispatch.js +7 -2
- package/node_modules/@noodle-borg/service/dist/routes/assistant-dispatch.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/assistant.d.ts +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/assistant.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/assistant.js +224 -46
- package/node_modules/@noodle-borg/service/dist/routes/assistant.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/control-plane.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/control-plane.js +22 -27
- package/node_modules/@noodle-borg/service/dist/routes/control-plane.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/org-admin-dispatch.d.ts +3 -0
- package/node_modules/@noodle-borg/service/dist/routes/org-admin-dispatch.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/org-admin-dispatch.js +6 -1
- package/node_modules/@noodle-borg/service/dist/routes/org-admin-dispatch.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/org-admin.d.ts +5 -1
- package/node_modules/@noodle-borg/service/dist/routes/org-admin.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/org-admin.js +31 -3
- package/node_modules/@noodle-borg/service/dist/routes/org-admin.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/serve.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/serve.js +12 -0
- package/node_modules/@noodle-borg/service/dist/serve.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/service.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/service.js +6 -3
- package/node_modules/@noodle-borg/service/dist/service.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/control-plane.d.ts +15 -1
- package/node_modules/@noodle-borg/service/dist/store/control-plane.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/control-plane.js +81 -0
- package/node_modules/@noodle-borg/service/dist/store/control-plane.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/postgres-assistant.d.ts +1 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-assistant.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/postgres-assistant.js +18 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-assistant.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/postgres-control-plane.d.ts +15 -1
- package/node_modules/@noodle-borg/service/dist/store/postgres-control-plane.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/postgres-control-plane.js +83 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-control-plane.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/postgres-schema.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/postgres-schema.js +21 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-schema.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/postgres-signup.d.ts +22 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-signup.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-signup.js +26 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-signup.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres.d.ts +2 -1
- package/node_modules/@noodle-borg/service/dist/store/postgres.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/postgres.js +10 -9
- package/node_modules/@noodle-borg/service/dist/store/postgres.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store.d.ts +40 -0
- package/node_modules/@noodle-borg/service/dist/store.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/welcome-email.d.ts +65 -0
- package/node_modules/@noodle-borg/service/dist/welcome-email.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/welcome-email.js +243 -0
- package/node_modules/@noodle-borg/service/dist/welcome-email.js.map +1 -0
- package/node_modules/@noodle-borg/service/package.json +2 -0
- package/node_modules/@noodle-borg/transport-http/dist/examples/serve-demo.js +1 -1
- package/node_modules/@noodle-borg/transport-http/package.json +1 -0
- package/node_modules/@noodle-borg/wire-contracts/dist/assistant.d.ts +26 -0
- package/node_modules/@noodle-borg/wire-contracts/dist/assistant.d.ts.map +1 -0
- package/node_modules/@noodle-borg/wire-contracts/dist/assistant.js +31 -0
- package/node_modules/@noodle-borg/wire-contracts/dist/assistant.js.map +1 -0
- package/node_modules/@noodle-borg/wire-contracts/dist/index.d.ts +261 -0
- package/node_modules/@noodle-borg/wire-contracts/dist/index.d.ts.map +1 -0
- package/node_modules/@noodle-borg/wire-contracts/dist/index.js +150 -0
- package/node_modules/@noodle-borg/wire-contracts/dist/index.js.map +1 -0
- package/node_modules/@noodle-borg/wire-contracts/package.json +31 -0
- package/package.json +7 -5
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/** Focused production starter for `noodle init --template widget`. */
|
|
2
|
+
export const widgetFocusedHelpers = `import type { ServerDefinition } from '@noodleseed/one';
|
|
3
|
+
import { generateHelpers } from '@noodleseed/one/react';
|
|
4
|
+
|
|
5
|
+
export { Action, ActionBar, AsyncBoundary, Feedback, Field, Flow, Frame, Region, Select } from '@noodleseed/one/react';
|
|
6
|
+
export const { useCallTool, useLayout, useToolInfo, useViewState } = generateHelpers<ServerDefinition>();
|
|
7
|
+
`;
|
|
8
|
+
export const widgetFocusedView = `import '@noodleseed/one/react/styles.css';
|
|
9
|
+
import {
|
|
10
|
+
Action,
|
|
11
|
+
ActionBar,
|
|
12
|
+
AsyncBoundary,
|
|
13
|
+
Feedback,
|
|
14
|
+
Field,
|
|
15
|
+
Flow,
|
|
16
|
+
Frame,
|
|
17
|
+
Region,
|
|
18
|
+
Select,
|
|
19
|
+
useCallTool,
|
|
20
|
+
useLayout,
|
|
21
|
+
useToolInfo,
|
|
22
|
+
useViewState,
|
|
23
|
+
} from '../helpers.js';
|
|
24
|
+
|
|
25
|
+
type Preferences = { readonly channel?: 'email' | 'sms'; readonly summary?: string };
|
|
26
|
+
|
|
27
|
+
export default function PreferencesCard() {
|
|
28
|
+
const layout = useLayout();
|
|
29
|
+
const shown = (useToolInfo('show_preferences').structuredContent ?? {}) as Preferences;
|
|
30
|
+
const save = useCallTool('save_preferences');
|
|
31
|
+
const [channel, setChannel] = useViewState('channel', shown.channel ?? 'email');
|
|
32
|
+
const saved = save.data?.structuredContent as Preferences | undefined;
|
|
33
|
+
|
|
34
|
+
return (
|
|
35
|
+
<Frame
|
|
36
|
+
className={layout.theme === 'dark' ? 'dark' : ''}
|
|
37
|
+
displayMode="auto"
|
|
38
|
+
title="Notification preferences"
|
|
39
|
+
subtitle="Choose where concise updates should arrive."
|
|
40
|
+
data-llm={saved?.summary ?? \`Notification channel: \${channel}\`}
|
|
41
|
+
>
|
|
42
|
+
<Flow variant="stack" density={layout.displayMode === 'inline' ? 'compact' : 'comfortable'}>
|
|
43
|
+
<AsyncBoundary
|
|
44
|
+
state={save}
|
|
45
|
+
loading="Saving your preference…"
|
|
46
|
+
error={(error) => \`Could not save: \${error.message}\`}
|
|
47
|
+
>
|
|
48
|
+
{saved?.summary ? <Feedback status="success">{saved.summary}</Feedback> : null}
|
|
49
|
+
<Region title="Delivery channel" description="You can change this later.">
|
|
50
|
+
<Field label="Channel" detail="Email is the safe default for this starter.">
|
|
51
|
+
<Select
|
|
52
|
+
value={channel}
|
|
53
|
+
onChange={(event) => setChannel(event.currentTarget.value as 'email' | 'sms')}
|
|
54
|
+
options={[{ value: 'email', label: 'Email' }, { value: 'sms', label: 'SMS' }]}
|
|
55
|
+
/>
|
|
56
|
+
</Field>
|
|
57
|
+
</Region>
|
|
58
|
+
<ActionBar>
|
|
59
|
+
<Action
|
|
60
|
+
variant="primary"
|
|
61
|
+
pending={save.isPending}
|
|
62
|
+
pendingLabel="Saving…"
|
|
63
|
+
onClick={() => save.callTool({ channel })}
|
|
64
|
+
>
|
|
65
|
+
Save preference
|
|
66
|
+
</Action>
|
|
67
|
+
{save.status === 'error' ? <Action onClick={save.reset}>Try again</Action> : null}
|
|
68
|
+
</ActionBar>
|
|
69
|
+
</AsyncBoundary>
|
|
70
|
+
</Flow>
|
|
71
|
+
</Frame>
|
|
72
|
+
);
|
|
73
|
+
}
|
|
74
|
+
`;
|
|
75
|
+
//# sourceMappingURL=widget-focused-template.js.map
|
|
@@ -0,0 +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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkEhC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** The widget starter is a
|
|
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
3
|
export declare function widgetFiles(name: string, agentTargets: readonly ProjectAgentTarget[]): 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,
|
|
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,CAuOxB"}
|
|
@@ -1,32 +1,85 @@
|
|
|
1
1
|
import { commonFiles, manifestName, title } from './project-scaffold-templates.js';
|
|
2
|
-
import {
|
|
2
|
+
import { widgetFocusedHelpers, widgetFocusedView } from './widget-focused-template.js';
|
|
3
3
|
export function widgetFiles(name, agentTargets) {
|
|
4
4
|
const serverName = manifestName(name);
|
|
5
|
-
const files = commonFiles(name, 'widget', agentTargets, `import {
|
|
5
|
+
const files = commonFiles(name, 'widget', agentTargets, `import {
|
|
6
|
+
annotations,
|
|
7
|
+
embeddedAssistant,
|
|
8
|
+
openAICompatible,
|
|
9
|
+
prompt,
|
|
10
|
+
resource,
|
|
11
|
+
secret,
|
|
12
|
+
server,
|
|
13
|
+
tool,
|
|
14
|
+
variable,
|
|
15
|
+
z,
|
|
16
|
+
} from '@noodleseed/one';
|
|
6
17
|
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
description: z.string(),
|
|
11
|
-
sections: z.array(z.string()),
|
|
18
|
+
const preferences = z.object({
|
|
19
|
+
channel: z.enum(['email', 'sms']),
|
|
20
|
+
summary: z.string(),
|
|
12
21
|
});
|
|
13
22
|
|
|
14
|
-
export default server('${serverName}', {
|
|
15
|
-
|
|
16
|
-
|
|
23
|
+
export default server('${serverName}', {
|
|
24
|
+
title: '${title(name)}',
|
|
25
|
+
version: '1.0.0',
|
|
26
|
+
instructions: 'Help users understand their workspace, update preferences, and plan a safe next step.',
|
|
27
|
+
branding: {
|
|
28
|
+
name: '${title(name)}',
|
|
29
|
+
accent: '#1D9E75',
|
|
30
|
+
radius: 'md',
|
|
31
|
+
density: 'comfortable',
|
|
32
|
+
},
|
|
33
|
+
handoff: { allowedDomains: ['https://your-app.example.com'] },
|
|
34
|
+
state: {
|
|
35
|
+
handles: {
|
|
36
|
+
workspace_draft: {
|
|
37
|
+
kind: 'draft',
|
|
38
|
+
scope: 'caller',
|
|
39
|
+
version: '1',
|
|
40
|
+
ttlSeconds: 86400,
|
|
41
|
+
schema: z.object({ note: z.string(), updatedAt: z.string() }),
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
assistant: embeddedAssistant({
|
|
46
|
+
model: openAICompatible({
|
|
47
|
+
baseUrl: variable('ASSISTANT_MODEL_BASE_URL'),
|
|
48
|
+
model: variable('ASSISTANT_MODEL'),
|
|
49
|
+
apiKey: secret('ASSISTANT_MODEL_API_KEY'),
|
|
50
|
+
}),
|
|
51
|
+
allowedOrigins: ['https://your-app.example.com'],
|
|
52
|
+
layout: { mode: 'floating', position: 'bottom-right', density: 'comfortable', mobileFullscreen: true },
|
|
53
|
+
labels: {
|
|
54
|
+
welcomeHeading: 'How can I help?',
|
|
55
|
+
composerPlaceholder: 'Ask about your workspace…',
|
|
56
|
+
},
|
|
57
|
+
suggestedPrompts: ['Show my workspace', 'Help me choose a next step'],
|
|
58
|
+
}),
|
|
59
|
+
}, [
|
|
60
|
+
tool('list_workspace_items', {
|
|
61
|
+
description: 'List the current workspace items with concise status summaries.',
|
|
62
|
+
annotations: annotations.readOnly(),
|
|
63
|
+
input: z.object({ status: z.enum(['all', 'active', 'done']).default('all') }),
|
|
64
|
+
output: z.object({ items: z.array(z.object({ id: z.string(), title: z.string(), status: z.string() })) }),
|
|
65
|
+
fulfil: () => ({ items: [
|
|
66
|
+
{ id: 'item-1', title: 'Review the production starter', status: 'active' },
|
|
67
|
+
{ id: 'item-2', title: 'Connect a real customer API', status: 'active' },
|
|
68
|
+
] }),
|
|
69
|
+
}),
|
|
70
|
+
tool('show_preferences', {
|
|
71
|
+
description: 'Show the current notification preference in a focused widget.',
|
|
17
72
|
annotations: annotations.readOnly(),
|
|
18
|
-
input: z.object({
|
|
19
|
-
output:
|
|
73
|
+
input: z.object({}),
|
|
74
|
+
output: preferences,
|
|
20
75
|
fulfil: () => ({
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
description: 'Interactive reference for host-neutral MCP Apps components.',
|
|
24
|
-
sections: ['foundations', 'forms', 'data', 'feedback', 'overlays', 'layouts'],
|
|
76
|
+
channel: 'email',
|
|
77
|
+
summary: 'Updates currently arrive by email.',
|
|
25
78
|
}),
|
|
26
|
-
viewTitle: '
|
|
27
|
-
viewDescription: '
|
|
28
|
-
invoking: 'Loading
|
|
29
|
-
invoked: '
|
|
79
|
+
viewTitle: 'Notification preferences',
|
|
80
|
+
viewDescription: 'Review and update one notification preference.',
|
|
81
|
+
invoking: 'Loading preferences…',
|
|
82
|
+
invoked: 'Preferences ready',
|
|
30
83
|
// Optional host compatibility metadata. Replace this placeholder before public distribution.
|
|
31
84
|
domain: 'https://your-app.example.com',
|
|
32
85
|
csp: {
|
|
@@ -35,27 +88,39 @@ export default server('${serverName}', { title: '${title(name)}', version: '1.0.
|
|
|
35
88
|
frameDomains: [],
|
|
36
89
|
},
|
|
37
90
|
view: {
|
|
38
|
-
component: '
|
|
39
|
-
entry: './views/
|
|
91
|
+
component: 'preferences-card',
|
|
92
|
+
entry: './views/preferences-card.tsx',
|
|
40
93
|
},
|
|
41
94
|
}),
|
|
42
|
-
tool('
|
|
43
|
-
description: '
|
|
95
|
+
tool('save_preferences', {
|
|
96
|
+
description: 'Save a notification preference selected explicitly in the widget.',
|
|
44
97
|
annotations: annotations.localAction({ destructive: false }),
|
|
45
98
|
visibility: ['app'],
|
|
46
99
|
input: z.object({
|
|
47
|
-
|
|
48
|
-
value: z.string().default('example'),
|
|
100
|
+
channel: z.enum(['email', 'sms']),
|
|
49
101
|
}),
|
|
50
102
|
output: z.object({
|
|
51
|
-
|
|
103
|
+
channel: z.enum(['email', 'sms']),
|
|
52
104
|
summary: z.string(),
|
|
53
105
|
}),
|
|
54
106
|
fulfil: ({ input }) => ({
|
|
55
|
-
|
|
56
|
-
summary: \`
|
|
107
|
+
channel: input.channel,
|
|
108
|
+
summary: \`Updates will arrive by \${input.channel}.\`,
|
|
57
109
|
}),
|
|
58
110
|
}),
|
|
111
|
+
resource('workspace_guide', {
|
|
112
|
+
uri: 'docs://workspace/guide',
|
|
113
|
+
title: 'Workspace guide',
|
|
114
|
+
description: 'Grounding information for the generated production starter.',
|
|
115
|
+
mimeType: 'text/markdown',
|
|
116
|
+
fulfil: () => '# Workspace guide\\n\\nThis starter demonstrates tools, resources, prompts, a widget, state, handoff, and an embedded assistant.',
|
|
117
|
+
}),
|
|
118
|
+
prompt('plan_next_step', {
|
|
119
|
+
title: 'Plan the next workspace step',
|
|
120
|
+
description: 'Prepare a grounded, human-reviewable next-step plan.',
|
|
121
|
+
arguments: z.object({ goal: z.string().default('Ship the first customer integration') }),
|
|
122
|
+
fulfil: (ctx) => ({ messages: [{ role: 'user', content: { type: 'text', text: \`Plan the safest next step for: \${ctx.params?.goal ?? 'Ship the first customer integration'}\` } }] }),
|
|
123
|
+
}),
|
|
59
124
|
]);
|
|
60
125
|
`, {
|
|
61
126
|
'@types/react': 'latest',
|
|
@@ -83,9 +148,8 @@ export default server('${serverName}', { title: '${title(name)}', version: '1.0.
|
|
|
83
148
|
}
|
|
84
149
|
`,
|
|
85
150
|
'src/vite-env.d.ts': '/// <reference types="vite/client" />\n',
|
|
86
|
-
'src/helpers.ts':
|
|
87
|
-
'src/views/
|
|
88
|
-
'src/views/showcase-sections.tsx': widgetShowcaseSections,
|
|
151
|
+
'src/helpers.ts': widgetFocusedHelpers,
|
|
152
|
+
'src/views/preferences-card.tsx': widgetFocusedView,
|
|
89
153
|
'vite.config.ts': `import { defineConfig } from 'vite';
|
|
90
154
|
import react from '@vitejs/plugin-react';
|
|
91
155
|
|
|
@@ -106,19 +170,20 @@ local widget preview and \`noodle check\` for readiness findings.
|
|
|
106
170
|
|
|
107
171
|
## Widget authoring
|
|
108
172
|
|
|
109
|
-
This
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
user task. Ordinary React, CSS, and third-party components remain supported alongside the optional,
|
|
114
|
-
host-neutral \`@noodleseed/one/react\` kit.
|
|
173
|
+
This is a comprehensive production starter rather than a minimal demo. It ships model-visible and app-only
|
|
174
|
+
tools, a resource, prompt, caller-scoped state contract, branded widget, handoff policy, and an embedded
|
|
175
|
+
assistant configured through managed variables and a managed secret reference. The widget itself keeps one
|
|
176
|
+
purpose and one primary action, with safe prefilling and explicit loading, empty, error, retry, and success states.
|
|
115
177
|
|
|
116
178
|
- \`tool(..., { view })\` links the model-visible tool to the React view.
|
|
117
|
-
- \`tool(..., { visibility: ['app'] })\` powers the
|
|
179
|
+
- \`tool(..., { visibility: ['app'] })\` powers the widget's explicit save action.
|
|
118
180
|
- \`view.component\` links the tool to a React view in \`src/views/\`.
|
|
119
181
|
- \`useLayout()\` adapts to MCP Apps host context without requiring a host-specific global.
|
|
120
|
-
-
|
|
182
|
+
- Keep inline widgets to one primary action and at most one subordinate action; use progressive disclosure
|
|
183
|
+
instead of nested navigation or scrolling.
|
|
121
184
|
- Optional host extensions should always be feature-detected and must not be required for baseline use.
|
|
185
|
+
- \`agent:check:assistant\` validates the embedded assistant metadata; configure its managed model values
|
|
186
|
+
before deployment instead of putting credentials in source.
|
|
122
187
|
|
|
123
188
|
## Deploy (requires a Noodle Seed account)
|
|
124
189
|
|
|
@@ -128,7 +193,30 @@ noodle deploy --org <org> --app ${name}
|
|
|
128
193
|
\`\`\`
|
|
129
194
|
|
|
130
195
|
The generated project is fully usable locally before login. Authentication is only required when you
|
|
131
|
-
choose to deploy it. Replace the placeholder domain before public distribution.
|
|
196
|
+
choose to deploy it. Replace the placeholder domain before public distribution. Configure
|
|
197
|
+
\`ASSISTANT_MODEL_BASE_URL\` and \`ASSISTANT_MODEL\` with \`noodle variables set\`, and
|
|
198
|
+
\`ASSISTANT_MODEL_API_KEY\` with \`noodle secrets set\`; those values belong to the Noodle deployment,
|
|
199
|
+
not the embedding SaaS environment.
|
|
200
|
+
|
|
201
|
+
## Embedded assistant
|
|
202
|
+
|
|
203
|
+
The local MCP author loop above needs no account. A browser embed additionally needs an active deployment
|
|
204
|
+
before it can create a deployment-bound backend client:
|
|
205
|
+
|
|
206
|
+
1. Replace \`assistant.allowedOrigins\` with exact HTTPS origins. For local browser testing, serve the
|
|
207
|
+
embedding SaaS over framework-supported HTTPS and use an origin such as \`https://localhost:3000\`;
|
|
208
|
+
\`http://localhost\`, paths, trailing slashes, and wildcards are invalid.
|
|
209
|
+
2. Run \`noodle validate --json\` and \`noodle check --target embedded-assistant --json\`, then deploy
|
|
210
|
+
with \`noodle deploy\`.
|
|
211
|
+
3. Run \`noodle assistant clients create --name web --org <org> --app ${name} --env prod\`.
|
|
212
|
+
4. Install \`@noodleseed/assistant\` in the customer web application with its existing package manager.
|
|
213
|
+
5. Keep only \`NOODLE_SERVICE_URL\`, \`NOODLE_ASSISTANT_CLIENT_ID\`, and
|
|
214
|
+
\`NOODLE_ASSISTANT_CLIENT_SECRET\` in the authenticated SaaS backend. Never use public/browser-prefixed
|
|
215
|
+
variables for the secret. The backend exchanges its verified user through
|
|
216
|
+
\`@noodleseed/assistant/server\`; the browser mounts the package root or \`/react\` export.
|
|
217
|
+
|
|
218
|
+
Run \`noodle commands --json\` before scripting flags. The installed Noodle Agent Kit contains the complete
|
|
219
|
+
\`references/embedded-assistant.md\` workflow.
|
|
132
220
|
|
|
133
221
|
## Agent setup
|
|
134
222
|
|
|
@@ -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,
|
|
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;;;;;;;;;;;;;;;;;;yBAkBqB,UAAU;YACvB,KAAK,CAAC,IAAI,CAAC;;;;aAIV,KAAK,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiGvB,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAgCC,IAAI;;;;;;;;;;;;;;;;;;;wEAmBkC,IAAI;;;;;;;;;;;;;;CAc3E;KACE,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-fixes.d.ts","sourceRoot":"","sources":["../../src/curated/error-fixes.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"error-fixes.d.ts","sourceRoot":"","sources":["../../src/curated/error-fixes.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA2E9C,CAAC"}
|
|
@@ -11,6 +11,7 @@ export const ERROR_FIXES = {
|
|
|
11
11
|
invalid_name: 'Rename the identifier to match the allowed pattern (lowercase, no spaces/reserved characters) cited at `path`.',
|
|
12
12
|
duplicate_name: 'Two tools/components share a name; give each a unique name at the cited `path`.',
|
|
13
13
|
unsupported_manifest_version: 'Update the SDK/CLI so the emitted manifest version is supported; do not pin an old manifest shape.',
|
|
14
|
+
reserved_for_future_version: 'The verb at `path` (e.g. `compute`, `elicit`) is reserved for a future core version; express the step with `use` (a connector operation) or `map` (a pure mapping) instead.',
|
|
14
15
|
invalid_operation_ref: 'Fix the connector operation reference to `alias.operation` for an operation that exists on that connector.',
|
|
15
16
|
external_ref: 'Remove the external/remote `$ref`; schemas must be self-contained — inline the definition instead of dereferencing a URL.',
|
|
16
17
|
invalid_schema_ref: 'Correct the `$use` schema reference syntax at `path`; it does not name a resolvable local schema.',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-fixes.js","sourceRoot":"","sources":["../../src/curated/error-fixes.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,EAAE;AACF,uFAAuF;AACvF,yFAAyF;AACzF,0DAA0D;AAC1D,0FAA0F;AAC1F,6FAA6F;AAE7F,MAAM,CAAC,MAAM,WAAW,GAA2B;IACjD,gBAAgB,EACd,+HAA+H;IACjI,aAAa,EACX,8HAA8H;IAChI,YAAY,EACV,gHAAgH;IAClH,cAAc,EAAE,iFAAiF;IACjG,4BAA4B,EAC1B,oGAAoG;IACtG,qBAAqB,EACnB,4GAA4G;IAC9G,YAAY,EACV,2HAA2H;IAC7H,kBAAkB,EAChB,mGAAmG;IACrG,kBAAkB,EAChB,kHAAkH;IACpH,mBAAmB,EACjB,6FAA6F;IAC/F,kBAAkB,EAAE,kEAAkE;IACtF,iBAAiB,EACf,0GAA0G;IAC5G,qBAAqB,EACnB,4GAA4G;IAC9G,yBAAyB,EACvB,kHAAkH;IACpH,mBAAmB,EACjB,+FAA+F;IACjG,gBAAgB,EACd,0FAA0F;IAC5F,gBAAgB,EACd,gGAAgG;IAClG,aAAa,EAAE,8DAA8D;IAC7E,iBAAiB,EACf,uHAAuH;IACzH,kBAAkB,EAChB,oLAAoL;IACtL,iBAAiB,EACf,4GAA4G;IAC9G,kBAAkB,EAAE,2EAA2E;IAC/F,gBAAgB,EAAE,qDAAqD;IACvE,sBAAsB,EAAE,uEAAuE;IAC/F,wBAAwB,EACtB,wEAAwE;IAC1E,gBAAgB,EACd,2FAA2F;IAC7F,mBAAmB,EACjB,8GAA8G;IAChH,0BAA0B,EACxB,8FAA8F;IAChG,qBAAqB,EACnB,6EAA6E;IAC/E,sBAAsB,EACpB,oGAAoG;IACtG,2BAA2B,EACzB,mIAAmI;IACrI,aAAa,EACX,yFAAyF;IAC3F,8BAA8B,EAC5B,8EAA8E;IAChF,kBAAkB,EAChB,oHAAoH;IACtH,uBAAuB,EACrB,iHAAiH;IACnH,wBAAwB,EACtB,qHAAqH;IACvH,iBAAiB,EACf,oHAAoH;IACtH,sBAAsB,EACpB,mGAAmG;IACrG,YAAY,EACV,sGAAsG;CACzG,CAAC"}
|
|
1
|
+
{"version":3,"file":"error-fixes.js","sourceRoot":"","sources":["../../src/curated/error-fixes.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,EAAE;AACF,uFAAuF;AACvF,yFAAyF;AACzF,0DAA0D;AAC1D,0FAA0F;AAC1F,6FAA6F;AAE7F,MAAM,CAAC,MAAM,WAAW,GAA2B;IACjD,gBAAgB,EACd,+HAA+H;IACjI,aAAa,EACX,8HAA8H;IAChI,YAAY,EACV,gHAAgH;IAClH,cAAc,EAAE,iFAAiF;IACjG,4BAA4B,EAC1B,oGAAoG;IACtG,2BAA2B,EACzB,6KAA6K;IAC/K,qBAAqB,EACnB,4GAA4G;IAC9G,YAAY,EACV,2HAA2H;IAC7H,kBAAkB,EAChB,mGAAmG;IACrG,kBAAkB,EAChB,kHAAkH;IACpH,mBAAmB,EACjB,6FAA6F;IAC/F,kBAAkB,EAAE,kEAAkE;IACtF,iBAAiB,EACf,0GAA0G;IAC5G,qBAAqB,EACnB,4GAA4G;IAC9G,yBAAyB,EACvB,kHAAkH;IACpH,mBAAmB,EACjB,+FAA+F;IACjG,gBAAgB,EACd,0FAA0F;IAC5F,gBAAgB,EACd,gGAAgG;IAClG,aAAa,EAAE,8DAA8D;IAC7E,iBAAiB,EACf,uHAAuH;IACzH,kBAAkB,EAChB,oLAAoL;IACtL,iBAAiB,EACf,4GAA4G;IAC9G,kBAAkB,EAAE,2EAA2E;IAC/F,gBAAgB,EAAE,qDAAqD;IACvE,sBAAsB,EAAE,uEAAuE;IAC/F,wBAAwB,EACtB,wEAAwE;IAC1E,gBAAgB,EACd,2FAA2F;IAC7F,mBAAmB,EACjB,8GAA8G;IAChH,0BAA0B,EACxB,8FAA8F;IAChG,qBAAqB,EACnB,6EAA6E;IAC/E,sBAAsB,EACpB,oGAAoG;IACtG,2BAA2B,EACzB,mIAAmI;IACrI,aAAa,EACX,yFAAyF;IAC3F,8BAA8B,EAC5B,8EAA8E;IAChF,kBAAkB,EAChB,oHAAoH;IACtH,uBAAuB,EACrB,iHAAiH;IACnH,wBAAwB,EACtB,qHAAqH;IACvH,iBAAiB,EACf,oHAAoH;IACtH,sBAAsB,EACpB,mGAAmG;IACrG,YAAY,EACV,sGAAsG;CACzG,CAAC"}
|