@noodleseed/one 0.18.2 → 0.19.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.
- package/dist/agents.d.ts.map +1 -1
- package/dist/agents.js +21 -5
- package/dist/agents.js.map +1 -1
- package/dist/checklist.d.ts +33 -0
- package/dist/checklist.d.ts.map +1 -0
- package/dist/checklist.js +37 -0
- package/dist/checklist.js.map +1 -0
- package/dist/commands/audit-ops.d.ts +11 -0
- package/dist/commands/audit-ops.d.ts.map +1 -1
- package/dist/commands/audit-ops.js +27 -11
- package/dist/commands/audit-ops.js.map +1 -1
- package/dist/commands/author-loop.d.ts +8 -0
- package/dist/commands/author-loop.d.ts.map +1 -1
- package/dist/commands/author-loop.js +14 -0
- package/dist/commands/author-loop.js.map +1 -1
- package/dist/commands/catalog-data-config.d.ts.map +1 -1
- package/dist/commands/catalog-data-config.js +6 -0
- package/dist/commands/catalog-data-config.js.map +1 -1
- package/dist/commands/catalog-data-core.d.ts.map +1 -1
- package/dist/commands/catalog-data-core.js +43 -0
- package/dist/commands/catalog-data-core.js.map +1 -1
- package/dist/commands/catalog-data-resources.d.ts.map +1 -1
- package/dist/commands/catalog-data-resources.js +47 -0
- package/dist/commands/catalog-data-resources.js.map +1 -1
- package/dist/commands/catalog-render.d.ts +18 -6
- package/dist/commands/catalog-render.d.ts.map +1 -1
- package/dist/commands/catalog-render.js +155 -57
- package/dist/commands/catalog-render.js.map +1 -1
- package/dist/commands/catalog-types.d.ts +10 -0
- package/dist/commands/catalog-types.d.ts.map +1 -1
- package/dist/commands/catalog.d.ts +1 -1
- package/dist/commands/catalog.d.ts.map +1 -1
- package/dist/commands/catalog.js.map +1 -1
- package/dist/commands/config-values.d.ts +12 -3
- package/dist/commands/config-values.d.ts.map +1 -1
- package/dist/commands/config-values.js +40 -6
- package/dist/commands/config-values.js.map +1 -1
- package/dist/commands/deploy-status-ops.d.ts +35 -0
- package/dist/commands/deploy-status-ops.d.ts.map +1 -1
- package/dist/commands/deploy-status-ops.js +68 -13
- package/dist/commands/deploy-status-ops.js.map +1 -1
- package/dist/commands/deployments-ops.d.ts.map +1 -1
- package/dist/commands/deployments-ops.js +1 -0
- package/dist/commands/deployments-ops.js.map +1 -1
- package/dist/commands/diagnostics-ops.d.ts +58 -0
- package/dist/commands/diagnostics-ops.d.ts.map +1 -1
- package/dist/commands/diagnostics-ops.js +56 -20
- package/dist/commands/diagnostics-ops.js.map +1 -1
- package/dist/commands/github-ops.d.ts +15 -0
- package/dist/commands/github-ops.d.ts.map +1 -1
- package/dist/commands/github-ops.js +49 -12
- package/dist/commands/github-ops.js.map +1 -1
- package/dist/commands/mcp-apps.d.ts.map +1 -1
- package/dist/commands/mcp-apps.js +18 -8
- package/dist/commands/mcp-apps.js.map +1 -1
- package/dist/commands/org-admin.d.ts +28 -0
- package/dist/commands/org-admin.d.ts.map +1 -1
- package/dist/commands/org-admin.js +84 -7
- package/dist/commands/org-admin.js.map +1 -1
- package/dist/commands/policy-ops.d.ts +3 -0
- package/dist/commands/policy-ops.d.ts.map +1 -1
- package/dist/commands/policy-ops.js +45 -3
- package/dist/commands/policy-ops.js.map +1 -1
- package/dist/commands/session.d.ts +32 -0
- package/dist/commands/session.d.ts.map +1 -1
- package/dist/commands/session.js +64 -17
- package/dist/commands/session.js.map +1 -1
- package/dist/detail-card.d.ts +32 -0
- package/dist/detail-card.d.ts.map +1 -0
- package/dist/detail-card.js +53 -0
- package/dist/detail-card.js.map +1 -0
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js +18 -11
- package/dist/doctor.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/relative-time.d.ts +4 -1
- package/dist/relative-time.d.ts.map +1 -1
- package/dist/relative-time.js +18 -1
- package/dist/relative-time.js.map +1 -1
- package/dist/table.d.ts +3 -0
- package/dist/table.d.ts.map +1 -1
- package/dist/table.js +4 -1
- package/dist/table.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/curated/hook-notes.d.ts +2 -0
- package/node_modules/@noodle-borg/agent-kit/dist/curated/hook-notes.d.ts.map +1 -0
- package/node_modules/@noodle-borg/agent-kit/dist/curated/hook-notes.js +15 -0
- package/node_modules/@noodle-borg/agent-kit/dist/curated/hook-notes.js.map +1 -0
- package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.d.ts +2 -0
- 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 +10 -0
- package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/index.js +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/index.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/md.d.ts +3 -0
- package/node_modules/@noodle-borg/agent-kit/dist/md.d.ts.map +1 -0
- package/node_modules/@noodle-borg/agent-kit/dist/md.js +13 -0
- package/node_modules/@noodle-borg/agent-kit/dist/md.js.map +1 -0
- package/node_modules/@noodle-borg/agent-kit/dist/skill-authoring-refs.d.ts +4 -0
- package/node_modules/@noodle-borg/agent-kit/dist/skill-authoring-refs.d.ts.map +1 -0
- package/node_modules/@noodle-borg/agent-kit/dist/skill-authoring-refs.js +240 -0
- package/node_modules/@noodle-borg/agent-kit/dist/skill-authoring-refs.js.map +1 -0
- package/node_modules/@noodle-borg/agent-kit/dist/skill-content.d.ts +0 -4
- 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 +61 -193
- package/node_modules/@noodle-borg/agent-kit/dist/skill-content.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/skill-operations-refs.d.ts +5 -0
- package/node_modules/@noodle-borg/agent-kit/dist/skill-operations-refs.d.ts.map +1 -0
- package/node_modules/@noodle-borg/agent-kit/dist/skill-operations-refs.js +240 -0
- package/node_modules/@noodle-borg/agent-kit/dist/skill-operations-refs.js.map +1 -0
- package/node_modules/@noodle-borg/agent-kit/package.json +1 -1
- package/node_modules/@noodle-borg/service/dist/request-event-metrics.d.ts +2 -2
- package/package.json +2 -2
package/dist/table.js
CHANGED
|
@@ -111,10 +111,13 @@ function rule(kind, widths, g, opts) {
|
|
|
111
111
|
});
|
|
112
112
|
return chars.map((ch, x) => tint(ch, x, totalWidth, opts)).join('');
|
|
113
113
|
}
|
|
114
|
-
/** Tint a border glyph
|
|
114
|
+
/** Tint a border glyph: a flat `borderTint` colour when set, else by its horizontal position
|
|
115
|
+
* along the warm cyclic gradient. */
|
|
115
116
|
function tint(ch, x, totalWidth, opts) {
|
|
116
117
|
if (opts.color === 'none' || opts.gradient === false)
|
|
117
118
|
return ch;
|
|
119
|
+
if (opts.borderTint !== undefined)
|
|
120
|
+
return paint(opts.borderTint, ch, opts.color);
|
|
118
121
|
return paint(cyclic(x / totalWidth), ch, opts.color);
|
|
119
122
|
}
|
|
120
123
|
/** Pad a (possibly coloured) cell to `width`, aligning content; padding stays outside the colour. */
|
package/dist/table.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.js","sourceRoot":"","sources":["../src/table.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,KAAK,EAAkB,MAAM,EAAkB,KAAK,EAAY,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"table.js","sourceRoot":"","sources":["../src/table.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hook-notes.d.ts","sourceRoot":"","sources":["../../src/curated/hook-notes.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAa7C,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// Curated one-line note for each widget React hook from `generateHelpers<AppType>()`.
|
|
2
|
+
//
|
|
3
|
+
// The hook NAMES are generated from packages/authoring/src/react.ts (see ../generated/surface.ts);
|
|
4
|
+
// this file is the human-authored prose the widgets-and-apps skill reference renders. The drift
|
|
5
|
+
// gate (../../test/skill-drift-gate.test.ts) fails when a hook has no note, so a new hook cannot
|
|
6
|
+
// ship without skill guidance. Keep each note one line and third-person.
|
|
7
|
+
export const HOOK_NOTES = {
|
|
8
|
+
useToolInfo: 'Read the invoking tool result; `structuredContent` is the widget’s typed data payload.',
|
|
9
|
+
useCallTool: 'Call a tool from the widget — returns `{ callTool, data, error, isPending }`; target a model-visible tool or a hidden `toolForWidget` helper.',
|
|
10
|
+
useViewState: 'Persist per-widget UI state across re-renders and restores: `const [value, setValue] = useViewState("key", initial)`.',
|
|
11
|
+
useLayout: 'Read host layout: `{ theme, displayMode, locale? }` (`theme` is `"light"`/`"dark"`, `displayMode` is `"inline"`/`"fullscreen"`) — adapt styling to the host theme and mode.',
|
|
12
|
+
useOpenExternal: 'Open an external link through the host (never `window.open`); the target origin must be listed in the server-level `handoff.allowedDomains`.',
|
|
13
|
+
useSendFollowUpMessage: 'Send a follow-up prompt to the model from a user interaction: `send({ prompt })` — trigger only from an explicit user action.',
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=hook-notes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hook-notes.js","sourceRoot":"","sources":["../../src/curated/hook-notes.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,EAAE;AACF,mGAAmG;AACnG,gGAAgG;AAChG,iGAAiG;AACjG,yEAAyE;AAEzE,MAAM,CAAC,MAAM,UAAU,GAA2B;IAChD,WAAW,EACT,wFAAwF;IAC1F,WAAW,EACT,+IAA+I;IACjJ,YAAY,EACV,uHAAuH;IACzH,SAAS,EACP,6KAA6K;IAC/K,eAAe,EACb,8IAA8I;IAChJ,sBAAsB,EACpB,+HAA+H;CAClI,CAAC"}
|
|
@@ -4,4 +4,6 @@ export declare const CLI_COMMANDS: readonly string[];
|
|
|
4
4
|
export declare const SDK_EXPORTS: readonly string[];
|
|
5
5
|
/** Every compiler `CompileErrorCode`, in source order (from packages/compiler/src/errors.ts). */
|
|
6
6
|
export declare const COMPILE_ERROR_CODES: readonly string[];
|
|
7
|
+
/** Widget React hooks from `generateHelpers<AppType>()` (packages/authoring/src/react.ts). */
|
|
8
|
+
export declare const REACT_HOOKS: readonly string[];
|
|
7
9
|
//# sourceMappingURL=surface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"surface.d.ts","sourceRoot":"","sources":["../../src/generated/surface.ts"],"names":[],"mappings":"AAIA,8FAA8F;AAC9F,eAAO,MAAM,YAAY,EAAE,SAAS,MAAM,EAsDzC,CAAC;AAEF,8FAA8F;AAC9F,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,
|
|
1
|
+
{"version":3,"file":"surface.d.ts","sourceRoot":"","sources":["../../src/generated/surface.ts"],"names":[],"mappings":"AAIA,8FAA8F;AAC9F,eAAO,MAAM,YAAY,EAAE,SAAS,MAAM,EAsDzC,CAAC;AAEF,8FAA8F;AAC9F,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EAiBxC,CAAC;AAEF,iGAAiG;AACjG,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EAwChD,CAAC;AAEF,8FAA8F;AAC9F,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EAOxC,CAAC"}
|
|
@@ -62,6 +62,7 @@ export const SDK_EXPORTS = [
|
|
|
62
62
|
'annotations',
|
|
63
63
|
'asset',
|
|
64
64
|
'connector',
|
|
65
|
+
'customerAuth',
|
|
65
66
|
'handoffSession',
|
|
66
67
|
'prompt',
|
|
67
68
|
'resource',
|
|
@@ -117,4 +118,13 @@ export const COMPILE_ERROR_CODES = [
|
|
|
117
118
|
'unused_connector_alias',
|
|
118
119
|
'arg_mismatch',
|
|
119
120
|
];
|
|
121
|
+
/** Widget React hooks from `generateHelpers<AppType>()` (packages/authoring/src/react.ts). */
|
|
122
|
+
export const REACT_HOOKS = [
|
|
123
|
+
'useToolInfo',
|
|
124
|
+
'useCallTool',
|
|
125
|
+
'useViewState',
|
|
126
|
+
'useLayout',
|
|
127
|
+
'useOpenExternal',
|
|
128
|
+
'useSendFollowUpMessage',
|
|
129
|
+
];
|
|
120
130
|
//# sourceMappingURL=surface.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"surface.js","sourceRoot":"","sources":["../../src/generated/surface.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,6EAA6E;AAC7E,iGAAiG;AAEjG,8FAA8F;AAC9F,MAAM,CAAC,MAAM,YAAY,GAAsB;IAC7C,MAAM;IACN,SAAS;IACT,UAAU;IACV,OAAO;IACP,QAAQ;IACR,MAAM;IACN,OAAO;IACP,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,MAAM;IACN,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,OAAO;IACP,MAAM;IACN,OAAO;IACP,WAAW;IACX,SAAS;IACT,KAAK;IACL,UAAU;IACV,OAAO;IACP,MAAM;IACN,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,SAAS;IACT,OAAO;IACP,UAAU;IACV,SAAS;IACT,SAAS;IACT,QAAQ;IACR,MAAM;IACN,MAAM;IACN,aAAa;IACb,SAAS;IACT,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,MAAM;IACN,SAAS;IACT,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,SAAS;IACT,WAAW;CACZ,CAAC;AAEF,8FAA8F;AAC9F,MAAM,CAAC,MAAM,WAAW,GAAsB;IAC5C,aAAa;IACb,OAAO;IACP,WAAW;IACX,gBAAgB;IAChB,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,eAAe;IACf,gBAAgB;IAChB,UAAU;IACV,MAAM;IACN,QAAQ;IACR,GAAG;CACJ,CAAC;AAEF,iGAAiG;AACjG,MAAM,CAAC,MAAM,mBAAmB,GAAsB;IACpD,kBAAkB;IAClB,eAAe;IACf,cAAc;IACd,gBAAgB;IAChB,8BAA8B;IAC9B,uBAAuB;IACvB,cAAc;IACd,oBAAoB;IACpB,oBAAoB;IACpB,qBAAqB;IACrB,oBAAoB;IACpB,mBAAmB;IACnB,uBAAuB;IACvB,2BAA2B;IAC3B,qBAAqB;IACrB,kBAAkB;IAClB,kBAAkB;IAClB,eAAe;IACf,mBAAmB;IACnB,oBAAoB;IACpB,mBAAmB;IACnB,oBAAoB;IACpB,kBAAkB;IAClB,wBAAwB;IACxB,0BAA0B;IAC1B,kBAAkB;IAClB,qBAAqB;IACrB,4BAA4B;IAC5B,uBAAuB;IACvB,wBAAwB;IACxB,6BAA6B;IAC7B,eAAe;IACf,gCAAgC;IAChC,oBAAoB;IACpB,yBAAyB;IACzB,0BAA0B;IAC1B,mBAAmB;IACnB,wBAAwB;IACxB,cAAc;CACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"surface.js","sourceRoot":"","sources":["../../src/generated/surface.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,6EAA6E;AAC7E,iGAAiG;AAEjG,8FAA8F;AAC9F,MAAM,CAAC,MAAM,YAAY,GAAsB;IAC7C,MAAM;IACN,SAAS;IACT,UAAU;IACV,OAAO;IACP,QAAQ;IACR,MAAM;IACN,OAAO;IACP,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,MAAM;IACN,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,OAAO;IACP,MAAM;IACN,OAAO;IACP,WAAW;IACX,SAAS;IACT,KAAK;IACL,UAAU;IACV,OAAO;IACP,MAAM;IACN,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,SAAS;IACT,OAAO;IACP,UAAU;IACV,SAAS;IACT,SAAS;IACT,QAAQ;IACR,MAAM;IACN,MAAM;IACN,aAAa;IACb,SAAS;IACT,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,MAAM;IACN,SAAS;IACT,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,SAAS;IACT,WAAW;CACZ,CAAC;AAEF,8FAA8F;AAC9F,MAAM,CAAC,MAAM,WAAW,GAAsB;IAC5C,aAAa;IACb,OAAO;IACP,WAAW;IACX,cAAc;IACd,gBAAgB;IAChB,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,eAAe;IACf,gBAAgB;IAChB,UAAU;IACV,MAAM;IACN,QAAQ;IACR,GAAG;CACJ,CAAC;AAEF,iGAAiG;AACjG,MAAM,CAAC,MAAM,mBAAmB,GAAsB;IACpD,kBAAkB;IAClB,eAAe;IACf,cAAc;IACd,gBAAgB;IAChB,8BAA8B;IAC9B,uBAAuB;IACvB,cAAc;IACd,oBAAoB;IACpB,oBAAoB;IACpB,qBAAqB;IACrB,oBAAoB;IACpB,mBAAmB;IACnB,uBAAuB;IACvB,2BAA2B;IAC3B,qBAAqB;IACrB,kBAAkB;IAClB,kBAAkB;IAClB,eAAe;IACf,mBAAmB;IACnB,oBAAoB;IACpB,mBAAmB;IACnB,oBAAoB;IACpB,kBAAkB;IAClB,wBAAwB;IACxB,0BAA0B;IAC1B,kBAAkB;IAClB,qBAAqB;IACrB,4BAA4B;IAC5B,uBAAuB;IACvB,wBAAwB;IACxB,6BAA6B;IAC7B,eAAe;IACf,gCAAgC;IAChC,oBAAoB;IACpB,yBAAyB;IACzB,0BAA0B;IAC1B,mBAAmB;IACnB,wBAAwB;IACxB,cAAc;CACf,CAAC;AAEF,8FAA8F;AAC9F,MAAM,CAAC,MAAM,WAAW,GAAsB;IAC5C,aAAa;IACb,aAAa;IACb,cAAc;IACd,WAAW;IACX,iBAAiB;IACjB,wBAAwB;CACzB,CAAC"}
|
|
@@ -72,7 +72,7 @@ export function renderManagedBlock(input) {
|
|
|
72
72
|
'## Authoring Rules',
|
|
73
73
|
'',
|
|
74
74
|
'- Edit `server.ts` or another configured TypeScript entrypoint.',
|
|
75
|
-
'- Use `server`, `tool`, `toolWithWidget`, `toolForWidget`, `resource`, `prompt`, `widget`, `connector`, `annotations`, `asset`, `handoffSession`, `when`, and `z` from `@noodleseed/one` (see the `noodle-seed` skill for the full surface).',
|
|
75
|
+
'- Use `server`, `tool`, `toolWithWidget`, `toolForWidget`, `resource`, `prompt`, `widget`, `connector`, `customerAuth`, `secret`, `variable`, `annotations`, `asset`, `handoffSession`, `when`, and `z` from `@noodleseed/one` (see the `noodle-seed` skill for the full surface).',
|
|
76
76
|
'- Write or update focused tests before behavior changes.',
|
|
77
77
|
'- Run `noodle validate` for compile/schema checks and `noodle test` for a local MCP smoke.',
|
|
78
78
|
'- Run `noodle dev` for the local loopback server, `noodle check` for widget readiness, and `noodle devtools` for widget preview.',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"md.d.ts","sourceRoot":"","sources":["../src/md.ts"],"names":[],"mappings":"AAAA,iEAAiE;AAOjE,wBAAgB,OAAO,CACrB,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,IAAI,EAAE,aAAa,CAAC,SAAS,MAAM,EAAE,CAAC,GACrC,MAAM,CAMR"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** Shared markdown helpers for the skill reference renderers. */
|
|
2
|
+
/** A raw `|` inside a cell splits the GFM column grid; escape so cells stay rectangular. */
|
|
3
|
+
function escapeCell(text) {
|
|
4
|
+
return text.replaceAll('|', '\\|');
|
|
5
|
+
}
|
|
6
|
+
export function mdTable(headers, rows) {
|
|
7
|
+
return [
|
|
8
|
+
`| ${headers.map(escapeCell).join(' | ')} |`,
|
|
9
|
+
`| ${headers.map(() => ':--').join(' | ')} |`,
|
|
10
|
+
...rows.map((row) => `| ${row.map(escapeCell).join(' | ')} |`),
|
|
11
|
+
].join('\n');
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=md.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"md.js","sourceRoot":"","sources":["../src/md.ts"],"names":[],"mappings":"AAAA,iEAAiE;AAEjE,4FAA4F;AAC5F,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,OAAO,CACrB,OAA0B,EAC1B,IAAsC;IAEtC,OAAO;QACL,KAAK,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;QAC5C,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;QAC7C,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;KAC/D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-authoring-refs.d.ts","sourceRoot":"","sources":["../src/skill-authoring-refs.ts"],"names":[],"mappings":"AAWA,wBAAgB,gCAAgC,IAAI,MAAM,CAqHzD;AAMD,wBAAgB,6BAA6B,IAAI,MAAM,CA4DtD;AAyBD,wBAAgB,uBAAuB,IAAI,MAAM,CA0BhD"}
|
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
// Curated authoring-side skill references: authoring-workflow, widgets-and-apps, examples.
|
|
2
|
+
// The widgets-and-apps hook table is rendered from the generated REACT_HOOKS surface plus the
|
|
3
|
+
// curated HOOK_NOTES map, so the documented hook list can never drift from the shipped SDK.
|
|
4
|
+
import { HOOK_NOTES } from './curated/hook-notes.js';
|
|
5
|
+
import { REACT_HOOKS } from './generated/surface.js';
|
|
6
|
+
import { mdTable } from './md.js';
|
|
7
|
+
// ----------------------------------------------------------------------------
|
|
8
|
+
// references/authoring-workflow.md (CURATED)
|
|
9
|
+
// ----------------------------------------------------------------------------
|
|
10
|
+
export function renderAuthoringWorkflowReference() {
|
|
11
|
+
return [
|
|
12
|
+
'# Authoring workflow',
|
|
13
|
+
'',
|
|
14
|
+
'## Contents',
|
|
15
|
+
'',
|
|
16
|
+
'- Input paths',
|
|
17
|
+
'- Fit check',
|
|
18
|
+
'- Repair loop',
|
|
19
|
+
'- Connectors',
|
|
20
|
+
'- HTTP connector example',
|
|
21
|
+
'- Compute connector example',
|
|
22
|
+
'- Tests',
|
|
23
|
+
'- Secrets and variables',
|
|
24
|
+
'- Boundaries',
|
|
25
|
+
'',
|
|
26
|
+
'## Input paths',
|
|
27
|
+
'',
|
|
28
|
+
'1. **Website scrape** — if the user gives a URL, scrape it for surface hints (products, services, hours, contact, pricing). Stop there: the URL does not reveal CRM, booking systems, custom APIs, auth model, eligibility rules, quoting logic, or approval flows. Those live in the business systems and the owner’s head — ask.',
|
|
29
|
+
'2. **OpenAPI import** — `noodle import openapi <file>` emits a starter `server.ts` from a spec. Use it when the user provides an OpenAPI document.',
|
|
30
|
+
'3. **User interview** — Noodle does not interview; you do. Cover custom APIs/integrations, eligibility rules, quoting/approval logic, and private schemas (SQL DDL or JSON samples for custom `connector` declarations). Ask for concrete examples and sample payloads; do not guess a schema from a URL or invent endpoints.',
|
|
31
|
+
'',
|
|
32
|
+
'## Fit check',
|
|
33
|
+
'',
|
|
34
|
+
'Before building, confirm the idea fits a conversational surface: 1–3 focused actions where saying it beats clicking, plus data or actions the model lacks on its own. Poor fits — long-form or static content, dashboards, deep multi-step navigation, or a full app port. When an idea does not fit, narrow the scope to the actions that do.',
|
|
35
|
+
'',
|
|
36
|
+
'## Repair loop',
|
|
37
|
+
'',
|
|
38
|
+
'Author in `server.ts`, then `noodle validate` → fix cited errors (see `compile-errors.md`) → re-validate → `noodle test` → `noodle dev`. Keep the loop tight and error-driven.',
|
|
39
|
+
'',
|
|
40
|
+
'## Connectors',
|
|
41
|
+
'',
|
|
42
|
+
'Declare connectors as data, not imperative code:',
|
|
43
|
+
'',
|
|
44
|
+
'- **HTTP**: `connector("id").version("1.0.0").http({ baseUrl, allowedOrigins, auth, operations })` with per-operation `request`/`response` mapping using `${args...}` / `${response...}` expressions.',
|
|
45
|
+
'- **Compute**: `connector("id").version("1.0.0").compute(name, { input, output, calls?, run })` — a self-contained, sandboxed function (no imports/closure capture) that may call allowlisted operations via `callOperation`.',
|
|
46
|
+
'',
|
|
47
|
+
'Tools record connector calls into a flow; recording is not execution. Do not branch on runtime outputs with native `if` — use declarative `when(...)` conditions.',
|
|
48
|
+
'',
|
|
49
|
+
'HTTP connector auth variants: `bearer` (`{ kind: "bearer", secret: secret("API_TOKEN") }`), `apiKey` (`{ kind: "apiKey", header: "X-API-Key", secret: secret("API_KEY") }`), `oauth2ClientCredentials`, `delegatedOAuth`, and `delegatedSessionCookie`. Use managed `secret(...)` / `variable(...)` refs for all values that differ by org/app/env.',
|
|
50
|
+
'',
|
|
51
|
+
'## HTTP connector example',
|
|
52
|
+
'',
|
|
53
|
+
'```ts',
|
|
54
|
+
"import { connector, secret, variable } from '@noodleseed/one';",
|
|
55
|
+
'',
|
|
56
|
+
"const crm = connector('crm').version('1.0.0').http({",
|
|
57
|
+
" baseUrl: variable('CRM_BASE_URL'),",
|
|
58
|
+
" allowedOrigins: [variable('CRM_BASE_URL')],",
|
|
59
|
+
" auth: { kind: 'bearer', secret: secret('CRM_TOKEN') },",
|
|
60
|
+
' operations: {',
|
|
61
|
+
' findCustomer: {',
|
|
62
|
+
" type: 'read',",
|
|
63
|
+
' input: { email: { type: "string", required: true } },',
|
|
64
|
+
' output: { id: { type: "string", required: true }, name: { type: "string" } },',
|
|
65
|
+
' method: "GET",',
|
|
66
|
+
' path: "/customers",',
|
|
67
|
+
' request: { query: { email: "${args.email}" } },',
|
|
68
|
+
' response: { id: "${response.body.data.0.id}", name: "${response.body.data.0.name}" },',
|
|
69
|
+
' },',
|
|
70
|
+
' createTicket: {',
|
|
71
|
+
" type: 'action',",
|
|
72
|
+
' input: { customerId: { type: "string", required: true }, body: { type: "string", required: true } },',
|
|
73
|
+
' output: { ticketId: { type: "string", required: true } },',
|
|
74
|
+
' method: "POST",',
|
|
75
|
+
' path: "/tickets",',
|
|
76
|
+
' request: { body: { customer_id: "${args.customerId}", body: "${args.body}" } },',
|
|
77
|
+
' response: { ticketId: "${response.body.id}" },',
|
|
78
|
+
' },',
|
|
79
|
+
' },',
|
|
80
|
+
'});',
|
|
81
|
+
'```',
|
|
82
|
+
'',
|
|
83
|
+
'Use `${args.field}` for tool/operation inputs and `${response.body.path}` for response mapping. Prefer explicit `allowedOrigins`; OAuth token/session URLs must also be on an allowed origin. For client credentials use `{ kind: "oauth2ClientCredentials", tokenUrl, clientId, clientSecret, scopes? }`; for per-customer downstream calls use `delegatedOAuth` or `delegatedSessionCookie` with a matching `customerAuth` server option.',
|
|
84
|
+
'',
|
|
85
|
+
'## Compute connector example',
|
|
86
|
+
'',
|
|
87
|
+
'```ts',
|
|
88
|
+
"const scoring = connector('scoring').version('1.0.0').compute('normalize', {",
|
|
89
|
+
' input: { email: { type: "string", required: true }, priority: { type: "string" } },',
|
|
90
|
+
' output: { score: { type: "number", required: true } },',
|
|
91
|
+
" calls: { findCustomer: 'crm.findCustomer' },",
|
|
92
|
+
' limits: { timeoutMs: 1000, maxHostCalls: 2 },',
|
|
93
|
+
' run(input, { callOperation }) {',
|
|
94
|
+
' const customer = callOperation("findCustomer", { email: input.email }) as { id?: string };',
|
|
95
|
+
' return { score: customer.id && input.priority === "high" ? 100 : 50 };',
|
|
96
|
+
' },',
|
|
97
|
+
'});',
|
|
98
|
+
'```',
|
|
99
|
+
'',
|
|
100
|
+
'Compute `run` functions are serialized and sandboxed: no imports, no closure capture, no `fetch`, no `process`. Any backing-system call must be declared in `calls` and invoked through `callOperation`. For conditional flow edges, use `when(...)` in recorded fulfilment instead of native branching on connector outputs.',
|
|
101
|
+
'',
|
|
102
|
+
'## Tests',
|
|
103
|
+
'',
|
|
104
|
+
'Use Vitest for app-local tests. Keep fixtures project-local; do not import from `examples/`. A minimum test suite imports the default server, checks the intended definitions compile, then lets `noodle test --json` perform the loopback MCP smoke.',
|
|
105
|
+
'',
|
|
106
|
+
'```ts',
|
|
107
|
+
"import { describe, expect, it } from 'vitest';",
|
|
108
|
+
"import app from '../src/server.js';",
|
|
109
|
+
'',
|
|
110
|
+
"describe('server', () => {",
|
|
111
|
+
" it('declares the expected tool surface', () => {",
|
|
112
|
+
" expect(app.name).toBe('support_assistant');",
|
|
113
|
+
' });',
|
|
114
|
+
'});',
|
|
115
|
+
'```',
|
|
116
|
+
'',
|
|
117
|
+
'After focused tests pass, run `noodle validate --json`, `noodle test --json`, and then `noodle dev` for interactive local verification.',
|
|
118
|
+
'',
|
|
119
|
+
'## Secrets and variables',
|
|
120
|
+
'',
|
|
121
|
+
'Author managed config as `secret("NAME")` / `variable("NAME")` and operate it with `noodle secrets set` / `noodle variables set` (scoped org/app/env). Never inline secret values in `server.ts`, tests, or generated files.',
|
|
122
|
+
'',
|
|
123
|
+
'## Boundaries',
|
|
124
|
+
'',
|
|
125
|
+
'Do not hand-author manifest JSON/YAML, runtime artifacts, connector IR, or hosted asset metadata. Do not read or copy secrets, bearer tokens, refresh tokens, static access keys, `.env.noodle`, or `~/.noodle/config.json`. Hosted access is identity-based — do not add static data-plane credential paths.',
|
|
126
|
+
].join('\n');
|
|
127
|
+
}
|
|
128
|
+
// ----------------------------------------------------------------------------
|
|
129
|
+
// references/widgets-and-apps.md (CURATED prose + GENERATED hook table)
|
|
130
|
+
// ----------------------------------------------------------------------------
|
|
131
|
+
export function renderWidgetsAndAppsReference() {
|
|
132
|
+
const hookRows = REACT_HOOKS.map((hook) => [`\`${hook}\``, HOOK_NOTES[hook] ?? '—']);
|
|
133
|
+
return [
|
|
134
|
+
'# MCP Apps and widgets',
|
|
135
|
+
'',
|
|
136
|
+
'## Contents',
|
|
137
|
+
'',
|
|
138
|
+
'- Tools and views',
|
|
139
|
+
'- React authoring',
|
|
140
|
+
'- React hook surface',
|
|
141
|
+
'- Shaping tool output for widgets',
|
|
142
|
+
'- Widget state and model context',
|
|
143
|
+
'- CSP, domain, and permissions',
|
|
144
|
+
'- Host bridge',
|
|
145
|
+
'- Readiness and boundaries',
|
|
146
|
+
'',
|
|
147
|
+
'## Tools and views',
|
|
148
|
+
'',
|
|
149
|
+
'Use `toolWithWidget(name, { description, input, output, fulfil, view })` for a model-visible tool that renders a widget, and `toolForWidget(name, { ... })` for a widget-only helper hidden from the model. A `view` is `{ component: "name", entry: "./views/name.tsx" }`.',
|
|
150
|
+
'',
|
|
151
|
+
'## React authoring',
|
|
152
|
+
'',
|
|
153
|
+
'Author views as React components. Get typed helpers from `@noodleseed/one/react`:',
|
|
154
|
+
'',
|
|
155
|
+
'```ts',
|
|
156
|
+
"import { generateHelpers } from '@noodleseed/one/react';",
|
|
157
|
+
'const { useToolInfo, useCallTool, useViewState, useLayout, useOpenExternal, useSendFollowUpMessage } =',
|
|
158
|
+
' generateHelpers<AppType>();',
|
|
159
|
+
'```',
|
|
160
|
+
'',
|
|
161
|
+
'Bind interactive elements to tools (`useCallTool("place_order")`) and annotate model-facing context with `data-llm`. A raw `html` escape hatch exists for self-contained widgets (declarative `data-bind`/`data-action`; no inline `<script>`).',
|
|
162
|
+
'',
|
|
163
|
+
'## React hook surface',
|
|
164
|
+
'',
|
|
165
|
+
mdTable(['Hook', 'Use for'], hookRows),
|
|
166
|
+
'',
|
|
167
|
+
'Adapt to the host with `useLayout()` — style for both `theme` values, and keep the inline `displayMode` compact (content fits the space; no internal scrolling). Trigger `useOpenExternal()` and `useSendFollowUpMessage()` only from explicit user actions.',
|
|
168
|
+
'',
|
|
169
|
+
'## Shaping tool output for widgets',
|
|
170
|
+
'',
|
|
171
|
+
'The widget reads the tool result’s `structuredContent`, typed by the tool’s `output` schema — arrays and nested objects are fully supported, so model the data naturally (`z.array(z.object({ ... }))`) instead of flattening. Keep the result’s `content` useful on its own: hosts without MCP Apps support show only the text/structured result, so the tool must degrade gracefully.',
|
|
172
|
+
'',
|
|
173
|
+
'## Widget state and model context',
|
|
174
|
+
'',
|
|
175
|
+
'Persist UI state (selections, drafts, pagination) with `useViewState("key", initial)` — it survives re-renders and conversation restores. For durable, caller-scoped state handles with optimistic revisions, follow the `stateful-draft` example. Mark the DOM the model should see with `data-llm` attributes; everything else stays widget-only.',
|
|
176
|
+
'',
|
|
177
|
+
'## CSP, domain, and permissions',
|
|
178
|
+
'',
|
|
179
|
+
'Declare network/host needs explicitly: `csp: { connectDomains, resourceDomains, frameDomains }` and `permissions` (e.g. `clipboardWrite`). Secrets are never injected into widgets; tool output is redacted before widget delivery.',
|
|
180
|
+
'',
|
|
181
|
+
'For ChatGPT: set `domain` on each widget (one https origin per app; required for app-store submission, optional for dev-mode testing), and declare external-link targets in the server-level `handoff.allowedDomains` — the compiler derives ChatGPT’s `redirect_domains` from it so `useOpenExternal()` links open without the safe-link warning. `noodle check --target chatgpt` verifies all of this.',
|
|
182
|
+
'',
|
|
183
|
+
'## Host bridge',
|
|
184
|
+
'',
|
|
185
|
+
'One runtime targets both Claude’s ext-apps bridge and ChatGPT’s `window.openai`, detected at startup. Tool results still carry useful `content`/`structuredContent` so non-Apps hosts degrade gracefully.',
|
|
186
|
+
'',
|
|
187
|
+
'## Readiness and boundaries',
|
|
188
|
+
'',
|
|
189
|
+
'Run `noodle check` for widget/Apps readiness and `noodle devtools` to preview metadata and rendering. Brand via the `server` `branding` tokens (the compiler derives the palette); do not inject raw global CSS.',
|
|
190
|
+
].join('\n');
|
|
191
|
+
}
|
|
192
|
+
// ----------------------------------------------------------------------------
|
|
193
|
+
// references/examples.md (CURATED index + one canonical server.ts)
|
|
194
|
+
// ----------------------------------------------------------------------------
|
|
195
|
+
const FLAGSHIP_EXAMPLES = [
|
|
196
|
+
['hello', 'Minimal TypeScript quickstart — a single tool, no connectors/widgets.'],
|
|
197
|
+
['weather', 'HTTP connectors, multi-step flows, and the sandboxed compute connector.'],
|
|
198
|
+
['restaurant-pickup', 'MCP Apps widgets, React `view` authoring, assets, branding, and handoff.'],
|
|
199
|
+
[
|
|
200
|
+
'customer-auth',
|
|
201
|
+
'End-user (customer) auth via OIDC/Firebase bridge with delegated credentials.',
|
|
202
|
+
],
|
|
203
|
+
['stateful-draft', 'Durable, caller-scoped widget state handles with optimistic revisions.'],
|
|
204
|
+
['perplexity', 'A real SaaS API with bearer auth and a managed `secret`.'],
|
|
205
|
+
['bitcoin', 'API-key HTTP connector, custom auth header, and compute normalization.'],
|
|
206
|
+
['sharepoint', 'Microsoft SharePoint delegated Microsoft Entra auth and Graph tools.'],
|
|
207
|
+
[
|
|
208
|
+
'internal-ops-demo',
|
|
209
|
+
'Governed internal connectivity — tools/resources/prompts, role-shaped output.',
|
|
210
|
+
],
|
|
211
|
+
['docs-assistant', 'Docs/knowledge assistant grounding coding agents in the live docs export.'],
|
|
212
|
+
];
|
|
213
|
+
export function renderExamplesReference() {
|
|
214
|
+
const rows = FLAGSHIP_EXAMPLES.map(([name, useWhen]) => [`\`${name}\``, useWhen]);
|
|
215
|
+
return [
|
|
216
|
+
'# Examples',
|
|
217
|
+
'',
|
|
218
|
+
'Flagship examples (one per capability). Read the matching example for the pattern you need; extend an existing flagship rather than inventing a new shape.',
|
|
219
|
+
'',
|
|
220
|
+
mdTable(['Example', 'Use when'], rows),
|
|
221
|
+
'',
|
|
222
|
+
'## Canonical server.ts',
|
|
223
|
+
'',
|
|
224
|
+
'Author with `server(name, options, definitions)` and top-level helpers:',
|
|
225
|
+
'',
|
|
226
|
+
'```ts',
|
|
227
|
+
"import { server, tool, z } from '@noodleseed/one';",
|
|
228
|
+
'',
|
|
229
|
+
"export default server('hello', { title: 'Hello', version: '1.0.0' }, [",
|
|
230
|
+
" tool('greet', {",
|
|
231
|
+
" description: 'Greet someone by name.',",
|
|
232
|
+
' input: z.object({ name: z.string() }),',
|
|
233
|
+
' output: z.object({ greeting: z.string() }),',
|
|
234
|
+
' fulfil: ({ input }) => ({ greeting: `Hello, ${input.name}!` }),',
|
|
235
|
+
' }),',
|
|
236
|
+
']);',
|
|
237
|
+
'```',
|
|
238
|
+
].join('\n');
|
|
239
|
+
}
|
|
240
|
+
//# sourceMappingURL=skill-authoring-refs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-authoring-refs.js","sourceRoot":"","sources":["../src/skill-authoring-refs.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,9 +9,5 @@ export declare function skillRouterBody(target: AgentTarget): string;
|
|
|
9
9
|
export declare function renderSdkSurfaceReference(): string;
|
|
10
10
|
export declare function renderCliCommandsReference(): string;
|
|
11
11
|
export declare function renderCompileErrorsReference(): string;
|
|
12
|
-
export declare function renderAuthoringWorkflowReference(): string;
|
|
13
|
-
export declare function renderWidgetsAndAppsReference(): string;
|
|
14
|
-
export declare function renderDeployAndOpsReference(): string;
|
|
15
|
-
export declare function renderExamplesReference(): string;
|
|
16
12
|
export declare const SKILL_REFERENCES: readonly SkillReference[];
|
|
17
13
|
//# sourceMappingURL=skill-content.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-content.d.ts","sourceRoot":"","sources":["../src/skill-content.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"skill-content.d.ts","sourceRoot":"","sources":["../src/skill-content.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAc9C,eAAO,MAAM,iBAAiB,QAEmC,CAAC;AAElE,0EAA0E;AAC1E,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,MAAM,CAAC;CAC/B;AAMD,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CA8C3D;AAwCD,wBAAgB,yBAAyB,IAAI,MAAM,CA2ClD;AAMD,wBAAgB,0BAA0B,IAAI,MAAM,CA+BnD;AAMD,wBAAgB,4BAA4B,IAAI,MAAM,CAgDrD;AAMD,eAAO,MAAM,gBAAgB,EAAE,SAAS,cAAc,EAWrD,CAAC"}
|