@noodleseed/one 0.20.0 → 0.21.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 +12 -0
- package/dist/agents.d.ts.map +1 -1
- package/dist/agents.js +36 -3
- package/dist/agents.js.map +1 -1
- package/dist/commands/analytics-ops.d.ts.map +1 -1
- package/dist/commands/analytics-ops.js +5 -3
- package/dist/commands/analytics-ops.js.map +1 -1
- package/dist/commands/author-loop.d.ts.map +1 -1
- package/dist/commands/author-loop.js +58 -21
- package/dist/commands/author-loop.js.map +1 -1
- package/dist/commands/catalog-data-core.d.ts.map +1 -1
- package/dist/commands/catalog-data-core.js +15 -3
- package/dist/commands/catalog-data-core.js.map +1 -1
- package/dist/commands/deploy-ops.d.ts +6 -0
- package/dist/commands/deploy-ops.d.ts.map +1 -1
- package/dist/commands/deploy-ops.js +108 -38
- 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 +31 -7
- package/dist/commands/mcp-apps.js.map +1 -1
- package/dist/commands/output.d.ts +52 -0
- package/dist/commands/output.d.ts.map +1 -1
- package/dist/commands/output.js +12 -0
- package/dist/commands/output.js.map +1 -1
- package/dist/commands/project-setup.d.ts.map +1 -1
- package/dist/commands/project-setup.js +35 -4
- package/dist/commands/project-setup.js.map +1 -1
- package/dist/commands/update-ops.d.ts.map +1 -1
- package/dist/commands/update-ops.js +11 -1
- package/dist/commands/update-ops.js.map +1 -1
- package/dist/first-run.d.ts.map +1 -1
- package/dist/first-run.js +57 -29
- package/dist/first-run.js.map +1 -1
- package/dist/project.js +17 -1
- package/dist/project.js.map +1 -1
- package/dist/react.d.ts +2 -2
- package/dist/react.d.ts.map +1 -1
- package/dist/react.js +1 -1
- package/dist/react.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/curated/hook-notes.d.ts.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/curated/hook-notes.js +3 -1
- package/node_modules/@noodle-borg/agent-kit/dist/curated/hook-notes.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.d.ts +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 +3 -1
- package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/index.d.ts.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/index.js +17 -11
- package/node_modules/@noodle-borg/agent-kit/dist/index.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 +225 -26
- 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 +1 -0
- 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 +217 -52
- 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.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/skill-operations-refs.js +20 -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 +1 -1
- package/node_modules/@noodle-borg/authoring/dist/index.d.ts +2 -2
- package/node_modules/@noodle-borg/authoring/dist/index.d.ts.map +1 -1
- package/node_modules/@noodle-borg/authoring/dist/index.js +1 -1
- package/node_modules/@noodle-borg/authoring/dist/index.js.map +1 -1
- package/node_modules/@noodle-borg/authoring/dist/react/app-flow.d.ts +33 -0
- package/node_modules/@noodle-borg/authoring/dist/react/app-flow.d.ts.map +1 -0
- package/node_modules/@noodle-borg/authoring/dist/react/app-flow.js +93 -0
- package/node_modules/@noodle-borg/authoring/dist/react/app-flow.js.map +1 -0
- package/node_modules/@noodle-borg/authoring/dist/react/bridge.d.ts +33 -0
- package/node_modules/@noodle-borg/authoring/dist/react/bridge.d.ts.map +1 -0
- package/node_modules/@noodle-borg/authoring/dist/react/bridge.js +75 -0
- package/node_modules/@noodle-borg/authoring/dist/react/bridge.js.map +1 -0
- package/node_modules/@noodle-borg/authoring/dist/react/components.d.ts +5165 -0
- package/node_modules/@noodle-borg/authoring/dist/react/components.d.ts.map +1 -0
- package/node_modules/@noodle-borg/authoring/dist/react/components.js +129 -0
- package/node_modules/@noodle-borg/authoring/dist/react/components.js.map +1 -0
- package/node_modules/@noodle-borg/authoring/dist/react/handoff.d.ts +12 -0
- package/node_modules/@noodle-borg/authoring/dist/react/handoff.d.ts.map +1 -0
- package/node_modules/@noodle-borg/authoring/dist/react/handoff.js +54 -0
- package/node_modules/@noodle-borg/authoring/dist/react/handoff.js.map +1 -0
- package/node_modules/@noodle-borg/authoring/dist/react/hooks.d.ts +45 -0
- package/node_modules/@noodle-borg/authoring/dist/react/hooks.d.ts.map +1 -0
- package/node_modules/@noodle-borg/authoring/dist/react/hooks.js +114 -0
- package/node_modules/@noodle-borg/authoring/dist/react/hooks.js.map +1 -0
- package/node_modules/@noodle-borg/authoring/dist/react/index.d.ts +11 -0
- package/node_modules/@noodle-borg/authoring/dist/react/index.d.ts.map +1 -0
- package/node_modules/@noodle-borg/authoring/dist/react/index.js +6 -0
- package/node_modules/@noodle-borg/authoring/dist/react/index.js.map +1 -0
- package/node_modules/@noodle-borg/authoring/dist/react/store.d.ts +9 -0
- package/node_modules/@noodle-borg/authoring/dist/react/store.d.ts.map +1 -0
- package/node_modules/@noodle-borg/authoring/dist/react/store.js +25 -0
- package/node_modules/@noodle-borg/authoring/dist/react/store.js.map +1 -0
- package/node_modules/@noodle-borg/authoring/dist/react.d.ts +2 -28
- package/node_modules/@noodle-borg/authoring/dist/react.d.ts.map +1 -1
- package/node_modules/@noodle-borg/authoring/dist/react.js +1 -152
- package/node_modules/@noodle-borg/authoring/dist/react.js.map +1 -1
- package/node_modules/@noodle-borg/connector-defs/dist/compile.d.ts.map +1 -1
- package/node_modules/@noodle-borg/connector-defs/dist/compile.js +23 -8
- package/node_modules/@noodle-borg/connector-defs/dist/compile.js.map +1 -1
- package/node_modules/@noodle-borg/connector-defs/dist/schema.d.ts +8 -4
- package/node_modules/@noodle-borg/connector-defs/dist/schema.d.ts.map +1 -1
- package/node_modules/@noodle-borg/connector-defs/dist/schema.js +3 -3
- package/node_modules/@noodle-borg/connector-defs/dist/schema.js.map +1 -1
- package/node_modules/@noodle-borg/connector-defs/dist/variables.d.ts +1 -0
- package/node_modules/@noodle-borg/connector-defs/dist/variables.d.ts.map +1 -1
- package/node_modules/@noodle-borg/connector-defs/dist/variables.js +1 -1
- package/node_modules/@noodle-borg/connector-defs/dist/variables.js.map +1 -1
- package/node_modules/@noodle-borg/connector-http/dist/http-connector.d.ts +3 -2
- package/node_modules/@noodle-borg/connector-http/dist/http-connector.d.ts.map +1 -1
- package/node_modules/@noodle-borg/connector-http/dist/http-connector.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { useCallback, useMemo } from 'react';
|
|
2
|
+
import { useViewState } from './hooks.js';
|
|
3
|
+
export function useAppFlow(config) {
|
|
4
|
+
const stateKey = config.key ?? 'app_flow';
|
|
5
|
+
const [state, setState] = useViewState(stateKey, {
|
|
6
|
+
activeView: config.initialView,
|
|
7
|
+
paramsByView: {},
|
|
8
|
+
viewStack: [],
|
|
9
|
+
overlayStack: [],
|
|
10
|
+
refreshToken: 0,
|
|
11
|
+
});
|
|
12
|
+
const assertView = useCallback((view) => {
|
|
13
|
+
if (config.views !== undefined && !config.views.includes(view)) {
|
|
14
|
+
throw new Error(`Unknown app view "${view}"`);
|
|
15
|
+
}
|
|
16
|
+
}, [config.views]);
|
|
17
|
+
const navigate = useCallback((view, params = {}) => {
|
|
18
|
+
assertView(view);
|
|
19
|
+
setState((current) => ({
|
|
20
|
+
...current,
|
|
21
|
+
activeView: view,
|
|
22
|
+
paramsByView: { ...current.paramsByView, [view]: params },
|
|
23
|
+
viewStack: current.activeView === view
|
|
24
|
+
? current.viewStack
|
|
25
|
+
: [...current.viewStack, current.activeView],
|
|
26
|
+
}));
|
|
27
|
+
}, [assertView, setState]);
|
|
28
|
+
const replace = useCallback((view, params = {}) => {
|
|
29
|
+
assertView(view);
|
|
30
|
+
setState((current) => ({
|
|
31
|
+
...current,
|
|
32
|
+
activeView: view,
|
|
33
|
+
paramsByView: { ...current.paramsByView, [view]: params },
|
|
34
|
+
}));
|
|
35
|
+
}, [assertView, setState]);
|
|
36
|
+
const back = useCallback(() => {
|
|
37
|
+
setState((current) => {
|
|
38
|
+
if (current.overlayStack.length > 0) {
|
|
39
|
+
return { ...current, overlayStack: current.overlayStack.slice(0, -1) };
|
|
40
|
+
}
|
|
41
|
+
const next = current.viewStack.at(-1);
|
|
42
|
+
if (next === undefined)
|
|
43
|
+
return current;
|
|
44
|
+
return {
|
|
45
|
+
...current,
|
|
46
|
+
activeView: next,
|
|
47
|
+
viewStack: current.viewStack.slice(0, -1),
|
|
48
|
+
};
|
|
49
|
+
});
|
|
50
|
+
}, [setState]);
|
|
51
|
+
const reset = useCallback((view = config.initialView, params = {}) => {
|
|
52
|
+
assertView(view);
|
|
53
|
+
setState({
|
|
54
|
+
activeView: view,
|
|
55
|
+
paramsByView: { [view]: params },
|
|
56
|
+
viewStack: [],
|
|
57
|
+
overlayStack: [],
|
|
58
|
+
refreshToken: 0,
|
|
59
|
+
});
|
|
60
|
+
}, [assertView, config.initialView, setState]);
|
|
61
|
+
const refresh = useCallback(() => {
|
|
62
|
+
setState((current) => ({ ...current, refreshToken: current.refreshToken + 1 }));
|
|
63
|
+
}, [setState]);
|
|
64
|
+
const openOverlay = useCallback((view, options = {}) => {
|
|
65
|
+
assertView(view);
|
|
66
|
+
setState((current) => ({
|
|
67
|
+
...current,
|
|
68
|
+
overlayStack: [
|
|
69
|
+
...current.overlayStack,
|
|
70
|
+
{ view, mode: options.mode ?? 'modal', params: options.params ?? {} },
|
|
71
|
+
],
|
|
72
|
+
}));
|
|
73
|
+
}, [assertView, setState]);
|
|
74
|
+
const closeOverlay = useCallback(() => {
|
|
75
|
+
setState((current) => ({ ...current, overlayStack: current.overlayStack.slice(0, -1) }));
|
|
76
|
+
}, [setState]);
|
|
77
|
+
return useMemo(() => ({
|
|
78
|
+
activeView: state.activeView,
|
|
79
|
+
params: state.paramsByView[state.activeView] ?? {},
|
|
80
|
+
viewStack: state.viewStack,
|
|
81
|
+
overlayStack: state.overlayStack,
|
|
82
|
+
refreshToken: state.refreshToken,
|
|
83
|
+
canGoBack: state.viewStack.length > 0 || state.overlayStack.length > 0,
|
|
84
|
+
navigate,
|
|
85
|
+
replace,
|
|
86
|
+
back,
|
|
87
|
+
reset,
|
|
88
|
+
refresh,
|
|
89
|
+
openOverlay,
|
|
90
|
+
closeOverlay,
|
|
91
|
+
}), [back, closeOverlay, navigate, openOverlay, refresh, replace, reset, state]);
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=app-flow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-flow.js","sourceRoot":"","sources":["../../src/react/app-flow.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export type ToolResult = {
|
|
2
|
+
readonly content?: unknown;
|
|
3
|
+
readonly structuredContent?: unknown;
|
|
4
|
+
readonly _meta?: unknown;
|
|
5
|
+
readonly isError?: boolean;
|
|
6
|
+
};
|
|
7
|
+
export type LayoutState = {
|
|
8
|
+
readonly theme: 'light' | 'dark';
|
|
9
|
+
readonly displayMode: 'inline' | 'fullscreen';
|
|
10
|
+
readonly locale?: string;
|
|
11
|
+
};
|
|
12
|
+
export interface NoodleReactBridge {
|
|
13
|
+
readonly getToolResult?: (toolName?: string) => ToolResult | undefined;
|
|
14
|
+
readonly getViewState?: () => Record<string, unknown>;
|
|
15
|
+
readonly setWidgetState?: (patch: Record<string, unknown>) => void;
|
|
16
|
+
readonly getLayout?: () => LayoutState;
|
|
17
|
+
readonly callServerTool?: (request: {
|
|
18
|
+
readonly name: string;
|
|
19
|
+
readonly arguments?: unknown;
|
|
20
|
+
}) => Promise<ToolResult>;
|
|
21
|
+
readonly openExternal?: (url: string) => Promise<void>;
|
|
22
|
+
readonly sendFollowUpMessage?: (message: {
|
|
23
|
+
readonly prompt: string;
|
|
24
|
+
}) => Promise<void>;
|
|
25
|
+
}
|
|
26
|
+
export declare function useBridgeVersion(): number;
|
|
27
|
+
export declare function bridge(): NoodleReactBridge | undefined;
|
|
28
|
+
export declare function requireBridge(): NoodleReactBridge;
|
|
29
|
+
export declare function globalToolResult(): ToolResult;
|
|
30
|
+
export declare function globalViewState(): Record<string, unknown>;
|
|
31
|
+
export declare function setGlobalViewState(value: Record<string, unknown>): void;
|
|
32
|
+
export declare function globalLayout(): LayoutState;
|
|
33
|
+
//# sourceMappingURL=bridge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/react/bridge.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,QAAQ,GAAG,YAAY,CAAC;IAC9C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,UAAU,GAAG,SAAS,CAAC;IACvE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtD,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACnE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,WAAW,CAAC;IACvC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE;QAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;KAC9B,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACxF;AAiBD,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,wBAAgB,MAAM,IAAI,iBAAiB,GAAG,SAAS,CAEtD;AAED,wBAAgB,aAAa,IAAI,iBAAiB,CAIjD;AAED,wBAAgB,gBAAgB,IAAI,UAAU,CAG7C;AAED,wBAAgB,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAKzD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAGvE;AAED,wBAAgB,YAAY,IAAI,WAAW,CAO1C"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { useSyncExternalStore } from 'react';
|
|
2
|
+
const EVENTS = [
|
|
3
|
+
'noodle:data',
|
|
4
|
+
'noodle:state',
|
|
5
|
+
'noodle:input',
|
|
6
|
+
'noodle:layout',
|
|
7
|
+
'noodle:bridge',
|
|
8
|
+
];
|
|
9
|
+
export function useBridgeVersion() {
|
|
10
|
+
return useSyncExternalStore(subscribe, snapshot, () => 0);
|
|
11
|
+
}
|
|
12
|
+
export function bridge() {
|
|
13
|
+
return globalThis.__noodleReactBridge;
|
|
14
|
+
}
|
|
15
|
+
export function requireBridge() {
|
|
16
|
+
const current = bridge();
|
|
17
|
+
if (current === undefined)
|
|
18
|
+
throw new Error('Noodle widget bridge is not connected yet');
|
|
19
|
+
return current;
|
|
20
|
+
}
|
|
21
|
+
export function globalToolResult() {
|
|
22
|
+
const structuredContent = globalThis.__noodleData;
|
|
23
|
+
return structuredContent === undefined ? {} : { structuredContent };
|
|
24
|
+
}
|
|
25
|
+
export function globalViewState() {
|
|
26
|
+
const value = globalThis.__noodleState;
|
|
27
|
+
return value !== null && typeof value === 'object'
|
|
28
|
+
? { ...value }
|
|
29
|
+
: {};
|
|
30
|
+
}
|
|
31
|
+
export function setGlobalViewState(value) {
|
|
32
|
+
globalThis.__noodleState = value;
|
|
33
|
+
bumpBridgeVersion('noodle:state');
|
|
34
|
+
}
|
|
35
|
+
export function globalLayout() {
|
|
36
|
+
const value = globalThis.__noodleLayout ?? {};
|
|
37
|
+
return {
|
|
38
|
+
theme: value.theme === 'dark' ? 'dark' : 'light',
|
|
39
|
+
displayMode: value.displayMode === 'fullscreen' ? 'fullscreen' : 'inline',
|
|
40
|
+
...(value.locale !== undefined ? { locale: value.locale } : {}),
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
function subscribe(onChange) {
|
|
44
|
+
const target = eventfulGlobal();
|
|
45
|
+
if (typeof target.addEventListener !== 'function')
|
|
46
|
+
return () => undefined;
|
|
47
|
+
for (const event of EVENTS)
|
|
48
|
+
target.addEventListener(event, onChange);
|
|
49
|
+
return () => {
|
|
50
|
+
if (typeof target.removeEventListener !== 'function')
|
|
51
|
+
return;
|
|
52
|
+
for (const event of EVENTS)
|
|
53
|
+
target.removeEventListener(event, onChange);
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
function snapshot() {
|
|
57
|
+
return Number(globalThis.__noodleReactVersion ?? 0);
|
|
58
|
+
}
|
|
59
|
+
function bumpBridgeVersion(eventName) {
|
|
60
|
+
const target = globalThis;
|
|
61
|
+
target.__noodleReactVersion = (target.__noodleReactVersion ?? 0) + 1;
|
|
62
|
+
const events = eventfulGlobal();
|
|
63
|
+
try {
|
|
64
|
+
if (typeof events.dispatchEvent === 'function' && events.CustomEvent) {
|
|
65
|
+
events.dispatchEvent(new events.CustomEvent(eventName));
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
// Non-browser test runtimes may not provide CustomEvent.
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
function eventfulGlobal() {
|
|
73
|
+
return globalThis;
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=bridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/react/bridge.ts"],"names":[],"mappings":"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"}
|