@tai42/studio-sdk 3.0.0 → 5.0.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/components/extension-combo-builder.js +1 -5
- package/dist/components/extension-combo-builder.js.map +1 -1
- package/dist/components/primitives.d.ts +5 -0
- package/dist/components/primitives.d.ts.map +1 -1
- package/dist/components/primitives.js +12 -1
- package/dist/components/primitives.js.map +1 -1
- package/dist/components/tags.d.ts +8 -1
- package/dist/components/tags.d.ts.map +1 -1
- package/dist/components/tags.js +2 -2
- package/dist/components/tags.js.map +1 -1
- package/dist/components/tool-picker.d.ts +9 -1
- package/dist/components/tool-picker.d.ts.map +1 -1
- package/dist/components/tool-picker.js +12 -5
- package/dist/components/tool-picker.js.map +1 -1
- package/dist/hooks/useApi.d.ts +51 -38
- package/dist/hooks/useApi.d.ts.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/navigation/types.d.ts +4 -0
- package/dist/navigation/types.d.ts.map +1 -1
- package/dist/navigation/types.js +0 -14
- package/dist/navigation/types.js.map +1 -1
- package/dist/structured-output/StructuredOutput.js +1 -4
- package/dist/structured-output/StructuredOutput.js.map +1 -1
- package/dist/tool-badges.d.ts +27 -0
- package/dist/tool-badges.d.ts.map +1 -0
- package/dist/tool-badges.js +29 -0
- package/dist/tool-badges.js.map +1 -0
- package/package.json +2 -2
- package/src/components/components.css.d.ts +5 -0
- package/src/components/fonts.css.d.ts +5 -0
- package/src/components/primitives.tsx +11 -1
- package/src/components/tags.tsx +11 -3
- package/src/components/tokens.css.d.ts +5 -0
- package/src/components/tool-picker.tsx +34 -3
- package/src/index.ts +4 -1
- package/src/navigation/types.ts +13 -4
- package/src/tool-badges.ts +47 -0
- package/src/css.d.ts +0 -2
|
@@ -140,11 +140,7 @@ export function ExtensionComboBuilder({ available, value, onChange, disabled, id
|
|
|
140
140
|
return (_jsxs("div", { "data-testid": idPrefix, className: "tai-stack", children: [value.length > 0 ? (_jsx("ul", { className: "tai-stack tai-stack-2", children: value.map((combo, index) => {
|
|
141
141
|
const names = comboElementNames(combo);
|
|
142
142
|
const unknown = availableReady ? unknownNames(combo, availableNames) : [];
|
|
143
|
-
return (
|
|
144
|
-
// The index IS the identity here: the list mutates by append, in-place
|
|
145
|
-
// update, and remove-by-index (no reorder), and a combo has no stable id
|
|
146
|
-
// of its own — so an index key is stable and cannot collide.
|
|
147
|
-
_jsxs("li", { className: "tai-card tai-stack tai-stack-2", children: [_jsxs("div", { className: "tai-row", children: [_jsx("span", { className: "tai-row", style: { flex: 1 }, children: names.map((name, position) => (_jsxs(Fragment, { children: [position > 0 ? (_jsx("span", { "aria-hidden": true, className: "tai-muted", children: "+" })) : null, _jsx(Badge, { variant: unknown.includes(name) ? 'danger' : 'primary', children: name })] }, `${name}-${String(position)}`))) }), _jsx(Button, { type: "button", "aria-label": `${editing === index ? 'Editing' : 'Edit'} combo ${names.join('+')}`, disabled: disabled === true || editing === index, onClick: () => {
|
|
143
|
+
return (_jsxs("li", { className: "tai-card tai-stack tai-stack-2", children: [_jsxs("div", { className: "tai-row", children: [_jsx("span", { className: "tai-row", style: { flex: 1 }, children: names.map((name, position) => (_jsxs(Fragment, { children: [position > 0 ? (_jsx("span", { "aria-hidden": true, className: "tai-muted", children: "+" })) : null, _jsx(Badge, { variant: unknown.includes(name) ? 'danger' : 'primary', children: name })] }, `${name}-${String(position)}`))) }), _jsx(Button, { type: "button", "aria-label": `${editing === index ? 'Editing' : 'Edit'} combo ${names.join('+')}`, disabled: disabled === true || editing === index, onClick: () => {
|
|
148
144
|
startEdit(index);
|
|
149
145
|
}, children: editing === index ? 'Editing' : 'Edit' }), _jsxs(Button, { type: "button", "aria-label": `Remove combo ${names.join('+')}`, disabled: disabled, onClick: () => {
|
|
150
146
|
removeCombo(index);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension-combo-builder.js","sourceRoot":"","sources":["../../src/components/extension-combo-builder.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"extension-combo-builder.js","sourceRoot":"","sources":["../../src/components/extension-combo-builder.tsx"],"names":[],"mappings":"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"}
|
|
@@ -30,6 +30,11 @@ import type { AnchorHTMLAttributes, ButtonHTMLAttributes, CSSProperties, ReactNo
|
|
|
30
30
|
* reads the same string as the host `settings`. Only the `//` form means the same
|
|
31
31
|
* thing to both.
|
|
32
32
|
*
|
|
33
|
+
* An absolute http(s) URL carrying `user:pass@` userinfo is rejected too: `.href`
|
|
34
|
+
* re-serialization preserves the userinfo (unlike host tricks), so
|
|
35
|
+
* `https://trusted.com@evil.com` would render as trusted.com yet navigate to
|
|
36
|
+
* evil.com.
|
|
37
|
+
*
|
|
33
38
|
* Callers render the returned string rather than their input, so the URL that was
|
|
34
39
|
* judged is always the URL that is navigated.
|
|
35
40
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../src/components/primitives.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,SAAS,EACT,GAAG,EACJ,MAAM,OAAO,CAAC;AA2Bf
|
|
1
|
+
{"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../src/components/primitives.tsx"],"names":[],"mappings":"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"}
|
|
@@ -33,6 +33,11 @@ function normalizeHref(href) {
|
|
|
33
33
|
* reads the same string as the host `settings`. Only the `//` form means the same
|
|
34
34
|
* thing to both.
|
|
35
35
|
*
|
|
36
|
+
* An absolute http(s) URL carrying `user:pass@` userinfo is rejected too: `.href`
|
|
37
|
+
* re-serialization preserves the userinfo (unlike host tricks), so
|
|
38
|
+
* `https://trusted.com@evil.com` would render as trusted.com yet navigate to
|
|
39
|
+
* evil.com.
|
|
40
|
+
*
|
|
36
41
|
* Callers render the returned string rather than their input, so the URL that was
|
|
37
42
|
* judged is always the URL that is navigated.
|
|
38
43
|
*/
|
|
@@ -41,7 +46,13 @@ export function safeHttpUrl(href) {
|
|
|
41
46
|
if (!/^https?:\/\//i.test(normalized))
|
|
42
47
|
return undefined;
|
|
43
48
|
try {
|
|
44
|
-
|
|
49
|
+
const url = new URL(normalized);
|
|
50
|
+
// Userinfo is rejected because `.href` re-serialization preserves
|
|
51
|
+
// `user:pass@` (unlike host tricks), so `https://trusted.com@evil.com`
|
|
52
|
+
// would render as trusted.com yet navigate to evil.com.
|
|
53
|
+
if (url.username !== '' || url.password !== '')
|
|
54
|
+
return undefined;
|
|
55
|
+
return url.href;
|
|
45
56
|
}
|
|
46
57
|
catch {
|
|
47
58
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primitives.js","sourceRoot":"","sources":["../../src/components/primitives.tsx"],"names":[],"mappings":";AA6BA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,gFAAgF;AAEhF;;;;;;;;;GASG;AACH,SAAS,aAAa,CAAC,IAAY;IACjC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC/C,6EAA6E;IAC7E,0EAA0E;IAC1E,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;IACvB,OAAO,KAAK,GAAG,GAAG,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI;QAAE,KAAK,EAAE,CAAC;IAC/D,OAAO,GAAG,GAAG,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,IAAI;QAAE,GAAG,EAAE,CAAC;IAC/D,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACjC,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"primitives.js","sourceRoot":"","sources":["../../src/components/primitives.tsx"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,13 @@ export interface TagsInputProps {
|
|
|
26
26
|
* Forwarded to the input as a native attribute — see the docblock below.
|
|
27
27
|
*/
|
|
28
28
|
readonly 'aria-label'?: string;
|
|
29
|
+
/**
|
|
30
|
+
* The noun for the placeholder + the Add/Remove control names ("tag" by default).
|
|
31
|
+
* Set it (e.g. "badge") so a second editor on the same surface reads and, above
|
|
32
|
+
* all, has DISTINCT accessible control names — two "Add tag" buttons would be
|
|
33
|
+
* ambiguous to a name-based query and a screen reader alike.
|
|
34
|
+
*/
|
|
35
|
+
readonly itemNoun?: string;
|
|
29
36
|
}
|
|
30
37
|
/**
|
|
31
38
|
* Controlled tag editor. The caller owns the `value` list; `onChange` receives the
|
|
@@ -42,5 +49,5 @@ export interface TagsInputProps {
|
|
|
42
49
|
* `aria-label` still has to CONTAIN that visible label (WCAG 2.5.3, Label in
|
|
43
50
|
* Name); `components/field-group.test.ts` enforces that at every call site.
|
|
44
51
|
*/
|
|
45
|
-
export declare function TagsInput({ value, onChange, disabled, 'aria-label': ariaLabel, }: TagsInputProps): ReactNode;
|
|
52
|
+
export declare function TagsInput({ value, onChange, disabled, 'aria-label': ariaLabel, itemNoun, }: TagsInputProps): ReactNode;
|
|
46
53
|
//# sourceMappingURL=tags.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../src/components/tags.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAgC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AASrE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;CAClC;AAED,+EAA+E;AAC/E,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,aAAa,GAAG,SAAS,CAW3D;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../src/components/tags.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAgC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AASrE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;CAClC;AAED,+EAA+E;AAC/E,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,aAAa,GAAG,SAAS,CAW3D;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,YAAY,EAAE,SAAS,EACvB,QAAgB,GACjB,EAAE,cAAc,GAAG,SAAS,CAiE5B"}
|
package/dist/components/tags.js
CHANGED
|
@@ -39,7 +39,7 @@ export function TagChips({ tags }) {
|
|
|
39
39
|
* `aria-label` still has to CONTAIN that visible label (WCAG 2.5.3, Label in
|
|
40
40
|
* Name); `components/field-group.test.ts` enforces that at every call site.
|
|
41
41
|
*/
|
|
42
|
-
export function TagsInput({ value, onChange, disabled, 'aria-label': ariaLabel, }) {
|
|
42
|
+
export function TagsInput({ value, onChange, disabled, 'aria-label': ariaLabel, itemNoun = 'tag', }) {
|
|
43
43
|
const [draft, setDraft] = useState('');
|
|
44
44
|
const add = () => {
|
|
45
45
|
const tag = draft.trim();
|
|
@@ -61,7 +61,7 @@ export function TagsInput({ value, onChange, disabled, 'aria-label': ariaLabel,
|
|
|
61
61
|
event.preventDefault();
|
|
62
62
|
add();
|
|
63
63
|
}
|
|
64
|
-
}, placeholder:
|
|
64
|
+
}, placeholder: `Add a ${itemNoun}…`, "aria-label": ariaLabel, disabled: disabled }) }), _jsxs(Button, { type: "button", onClick: add, disabled: disabled, children: ["Add ", itemNoun] })] }), value.length > 0 ? (_jsx("div", { className: "tai-row", children: value.map((tag) => (_jsxs("span", { className: "tai-row", style: tagGroupStyle, children: [_jsx("span", { className: "tai-chip tai-chip-static", children: tag }), _jsx("button", { type: "button", className: "tai-icon-btn", "aria-label": `Remove ${itemNoun} ${tag}`, onClick: () => {
|
|
65
65
|
remove(tag);
|
|
66
66
|
}, disabled: disabled, children: _jsx(CloseIcon, {}) })] }, tag))) })) : null] }));
|
|
67
67
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tags.js","sourceRoot":"","sources":["../../src/components/tags.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,QAAQ,EAAsC,MAAM,OAAO,CAAC;AAErE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,mFAAmF;AACnF,MAAM,aAAa,GAAkB,EAAE,GAAG,EAAE,oBAAoB,EAAE,CAAC;AAMnE,+EAA+E;AAC/E,MAAM,UAAU,QAAQ,CAAC,EAAE,IAAI,EAAiB;IAC9C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,OAAO,CACL,eAAM,SAAS,EAAC,SAAS,EAAC,KAAK,EAAE,aAAa,YAC3C,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACjB,eAAgB,SAAS,EAAC,0BAA0B,YACjD,GAAG,IADK,GAAG,CAEP,CACR,CAAC,GACG,CACR,CAAC;AACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"tags.js","sourceRoot":"","sources":["../../src/components/tags.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/** The shared informational note every badge surface carries: declared, never enforced. */
|
|
2
|
+
export declare const BADGES_NOTE = "Declared capability labels \u2014 informational only. They describe what the tool touches; the server never enforces them.";
|
|
1
3
|
export interface ToolPickerProps {
|
|
2
4
|
readonly toolNames: readonly string[];
|
|
3
5
|
readonly value: string | null;
|
|
@@ -26,6 +28,12 @@ export interface ToolPickerProps {
|
|
|
26
28
|
* emits stays the raw name in every case.
|
|
27
29
|
*/
|
|
28
30
|
readonly displayNames?: Readonly<Record<string, string>>;
|
|
31
|
+
/**
|
|
32
|
+
* Per-tool DECLARED capability badges (native ∪ overlay). When present, the
|
|
33
|
+
* selected tool's badges render as read-only chips beneath the select — purely
|
|
34
|
+
* informational, never affecting which options show or how they group.
|
|
35
|
+
*/
|
|
36
|
+
readonly badgesByTool?: Readonly<Record<string, readonly string[]>>;
|
|
29
37
|
}
|
|
30
|
-
export declare function ToolPicker({ toolNames, value, onChange, disabled, placeholder, idPrefix, label, 'aria-label': ariaLabel, excludeNames, tagsByTool, agentToolNames, displayNames, }: ToolPickerProps): import("react").JSX.Element;
|
|
38
|
+
export declare function ToolPicker({ toolNames, value, onChange, disabled, placeholder, idPrefix, label, 'aria-label': ariaLabel, excludeNames, tagsByTool, agentToolNames, displayNames, badgesByTool, }: ToolPickerProps): import("react").JSX.Element;
|
|
31
39
|
//# sourceMappingURL=tool-picker.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-picker.d.ts","sourceRoot":"","sources":["../../src/components/tool-picker.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tool-picker.d.ts","sourceRoot":"","sources":["../../src/components/tool-picker.tsx"],"names":[],"mappings":"AAyCA,2FAA2F;AAC3F,eAAO,MAAM,WAAW,+HACiG,CAAC;AAE1H,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,yEAAyE;IACzE,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,sFAAsF;IACtF,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;IAClE,wFAAwF;IACxF,QAAQ,CAAC,cAAc,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9C;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACzD;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;CACrE;AAyDD,wBAAgB,UAAU,CAAC,EACzB,SAAS,EACT,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,WAA8B,EAC9B,QAAwB,EACxB,KAAK,EACL,YAAY,EAAE,SAAS,EACvB,YAAY,EACZ,UAAU,EACV,cAAc,EACd,YAAY,EACZ,YAAY,GACb,EAAE,eAAe,+BA+EjB"}
|
|
@@ -24,15 +24,22 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
24
24
|
* mapping equal to the raw name) reads the bare raw name. The value stays the raw
|
|
25
25
|
* name and grouping/filtering/exclusion key off raw names alone, so a display
|
|
26
26
|
* name is purely cosmetic.
|
|
27
|
+
* - `badgesByTool` (native ∪ overlay, from the tool-meta merge) surfaces the
|
|
28
|
+
* SELECTED tool's DECLARED capability badges as read-only chips beneath the
|
|
29
|
+
* select. Badges are INFORMATIONAL — the tooltip says so — never a gate, so they
|
|
30
|
+
* change nothing about which options select or how they group.
|
|
27
31
|
*
|
|
28
|
-
* SAFETY: a tool name, a tag,
|
|
29
|
-
* renders as TEXT
|
|
30
|
-
* Pinned by a test.
|
|
32
|
+
* SAFETY: a tool name, a tag, a display name, AND a badge are server-supplied, so
|
|
33
|
+
* every one renders as TEXT (React escapes it) — never an HTML sink. Pinned by a test.
|
|
31
34
|
*/
|
|
32
35
|
import { useState } from 'react';
|
|
33
36
|
import { toolDisplayLabel } from '../hooks/useToolDisplayNames';
|
|
37
|
+
import { Badge } from './badge';
|
|
34
38
|
import { Field } from './field';
|
|
35
39
|
import { Select } from './select';
|
|
40
|
+
import { Tooltip } from './tooltip';
|
|
41
|
+
/** The shared informational note every badge surface carries: declared, never enforced. */
|
|
42
|
+
export const BADGES_NOTE = 'Declared capability labels — informational only. They describe what the tool touches; the server never enforces them.';
|
|
36
43
|
const NO_DISPLAY_NAMES = {};
|
|
37
44
|
const UNTAGGED = 'Untagged';
|
|
38
45
|
// Radix `Select.Item` forbids an empty-string value, so the "no filter" choice
|
|
@@ -77,7 +84,7 @@ function buildGroups(names, tagsByTool, displayNames, agentToolNames) {
|
|
|
77
84
|
})),
|
|
78
85
|
}));
|
|
79
86
|
}
|
|
80
|
-
export function ToolPicker({ toolNames, value, onChange, disabled, placeholder = 'Select a tool…', idPrefix = 'tool-picker', label, 'aria-label': ariaLabel, excludeNames, tagsByTool, agentToolNames, displayNames, }) {
|
|
87
|
+
export function ToolPicker({ toolNames, value, onChange, disabled, placeholder = 'Select a tool…', idPrefix = 'tool-picker', label, 'aria-label': ariaLabel, excludeNames, tagsByTool, agentToolNames, displayNames, badgesByTool, }) {
|
|
81
88
|
const [tagFilter, setTagFilter] = useState(ALL_TAGS);
|
|
82
89
|
const excluded = new Set(excludeNames ?? []);
|
|
83
90
|
const available = toolNames.filter((name) => !excluded.has(name));
|
|
@@ -103,6 +110,6 @@ export function ToolPicker({ toolNames, value, onChange, disabled, placeholder =
|
|
|
103
110
|
return (_jsxs("div", { "data-testid": idPrefix, className: "tai-stack tai-stack-2", children: [tagsByTool !== undefined && allTags.length > 0 ? (_jsx(Field, { label: "Filter by tag", children: _jsx(Select, { options: [
|
|
104
111
|
{ value: ALL_TAGS, label: 'All tags' },
|
|
105
112
|
...allTags.map((tag) => ({ value: tag, label: tag })),
|
|
106
|
-
], value: tagFilter, onValueChange: setTagFilter, disabled: disabled }) })) : null, label !== undefined ? _jsx(Field, { label: label, children: toolSelect }) : toolSelect] }));
|
|
113
|
+
], value: tagFilter, onValueChange: setTagFilter, disabled: disabled }) })) : null, label !== undefined ? _jsx(Field, { label: label, children: toolSelect }) : toolSelect, value !== null && badgesByTool !== undefined && (badgesByTool[value]?.length ?? 0) > 0 ? (_jsx(Tooltip, { content: BADGES_NOTE, children: _jsx("span", { className: "tai-row", "data-testid": `${idPrefix}-badges`, style: { gap: 'var(--tai-space-1)' }, children: (badgesByTool[value] ?? []).map((badge) => (_jsx(Badge, { variant: "neutral", children: badge }, badge))) }) })) : null] }));
|
|
107
114
|
}
|
|
108
115
|
//# sourceMappingURL=tool-picker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-picker.js","sourceRoot":"","sources":["../../src/components/tool-picker.tsx"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"tool-picker.js","sourceRoot":"","sources":["../../src/components/tool-picker.tsx"],"names":[],"mappings":"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"}
|
package/dist/hooks/useApi.d.ts
CHANGED
|
@@ -35,6 +35,7 @@ export declare const ApiProvider: import("react").Provider<{
|
|
|
35
35
|
readonly listToolTags: (signal?: AbortSignal) => Promise<{
|
|
36
36
|
name: string;
|
|
37
37
|
tags: string[];
|
|
38
|
+
badges: string[];
|
|
38
39
|
hidden: boolean;
|
|
39
40
|
}[]>;
|
|
40
41
|
readonly listPresets: (signal?: AbortSignal) => Promise<{
|
|
@@ -166,6 +167,7 @@ export declare const ApiProvider: import("react").Provider<{
|
|
|
166
167
|
meta: {
|
|
167
168
|
tool_name: string;
|
|
168
169
|
tags: string[];
|
|
170
|
+
badges: string[];
|
|
169
171
|
hidden: boolean | null;
|
|
170
172
|
display_name: string | null;
|
|
171
173
|
folder_id: string | null;
|
|
@@ -174,6 +176,7 @@ export declare const ApiProvider: import("react").Provider<{
|
|
|
174
176
|
readonly upsertToolMeta: (toolName: string, patch: import("@tai42/api-client").ToolMetaPatch) => Promise<{
|
|
175
177
|
tool_name: string;
|
|
176
178
|
tags: string[];
|
|
179
|
+
badges: string[];
|
|
177
180
|
hidden: boolean | null;
|
|
178
181
|
display_name: string | null;
|
|
179
182
|
folder_id: string | null;
|
|
@@ -468,7 +471,7 @@ export declare const ApiProvider: import("react").Provider<{
|
|
|
468
471
|
env: Record<string, string>;
|
|
469
472
|
secret_keys: string[];
|
|
470
473
|
}>;
|
|
471
|
-
readonly putSettingsProfile: (name: string, body: import("
|
|
474
|
+
readonly putSettingsProfile: (name: string, body: import("../../../api-client/dist/schemas").SettingsProfileBody) => Promise<{
|
|
472
475
|
ok: true;
|
|
473
476
|
version?: number | undefined;
|
|
474
477
|
}>;
|
|
@@ -555,7 +558,7 @@ export declare const ApiProvider: import("react").Provider<{
|
|
|
555
558
|
version: number;
|
|
556
559
|
ok: true;
|
|
557
560
|
}>;
|
|
558
|
-
readonly setMcpSecretEnv: (body: import("
|
|
561
|
+
readonly setMcpSecretEnv: (body: import("../../../api-client/dist/client").SetMcpSecretEnvBody) => Promise<{
|
|
559
562
|
status: string;
|
|
560
563
|
env_keys: number;
|
|
561
564
|
fanout: {
|
|
@@ -863,7 +866,7 @@ export declare const ApiProvider: import("react").Provider<{
|
|
|
863
866
|
}[];
|
|
864
867
|
total: number;
|
|
865
868
|
}>;
|
|
866
|
-
readonly listConversationThreads: (routeName: string, page: number, pageSize: number, signal?: AbortSignal) => Promise<{
|
|
869
|
+
readonly listConversationThreads: (routeName: string, page: number, pageSize: number, filters?: import("@tai42/api-client").ConversationThreadFilters, signal?: AbortSignal) => Promise<{
|
|
867
870
|
items: {
|
|
868
871
|
thread_id: string;
|
|
869
872
|
client_address: string;
|
|
@@ -875,6 +878,7 @@ export declare const ApiProvider: import("react").Provider<{
|
|
|
875
878
|
page: number;
|
|
876
879
|
page_size: number;
|
|
877
880
|
next_page: number | null;
|
|
881
|
+
truncated: boolean;
|
|
878
882
|
}>;
|
|
879
883
|
readonly readConversationTranscript: (query: import("@tai42/api-client").ConversationTranscriptQuery, signal?: AbortSignal) => Promise<{
|
|
880
884
|
items: {
|
|
@@ -903,8 +907,38 @@ export declare const ApiProvider: import("react").Provider<{
|
|
|
903
907
|
page: number;
|
|
904
908
|
page_size: number;
|
|
905
909
|
next_page: number | null;
|
|
910
|
+
truncated: boolean;
|
|
906
911
|
order: "asc" | "desc";
|
|
907
912
|
}>;
|
|
913
|
+
readonly searchConversationMessages: (query: import("@tai42/api-client").ConversationMessageSearchQuery, signal?: AbortSignal) => Promise<{
|
|
914
|
+
items: {
|
|
915
|
+
created_at: number;
|
|
916
|
+
origin: "client" | "operator";
|
|
917
|
+
route_name: string;
|
|
918
|
+
door: "channel" | "api";
|
|
919
|
+
thread_id: string;
|
|
920
|
+
client_address: string;
|
|
921
|
+
message_id: string;
|
|
922
|
+
caller_principal: string | null;
|
|
923
|
+
inbound_text: string;
|
|
924
|
+
answer_status: "error" | "silent" | "answered" | null;
|
|
925
|
+
answer: string | null;
|
|
926
|
+
delivery_status: "failed" | "accepted" | "pending_delivery" | "provisional" | "delivered" | "shed" | "silent";
|
|
927
|
+
updated_at: number;
|
|
928
|
+
error?: string | null | undefined;
|
|
929
|
+
channel?: string | null | undefined;
|
|
930
|
+
our_identity?: string | null | undefined;
|
|
931
|
+
callback_url?: string | null | undefined;
|
|
932
|
+
provider_message_id?: string | null | undefined;
|
|
933
|
+
outbound_message_ids?: string[] | undefined;
|
|
934
|
+
attempts?: number | undefined;
|
|
935
|
+
}[];
|
|
936
|
+
total: number;
|
|
937
|
+
page: number;
|
|
938
|
+
page_size: number;
|
|
939
|
+
next_page: number | null;
|
|
940
|
+
truncated: boolean;
|
|
941
|
+
}>;
|
|
908
942
|
readonly sendConversationThreadMessage: (routeName: string, body: import("@tai42/api-client").ConversationThreadMessageBody) => Promise<{
|
|
909
943
|
thread_id: string;
|
|
910
944
|
message_id: string;
|
|
@@ -1435,9 +1469,9 @@ export declare const ApiProvider: import("react").Provider<{
|
|
|
1435
1469
|
name: string;
|
|
1436
1470
|
count: number;
|
|
1437
1471
|
}[];
|
|
1472
|
+
package: string | null;
|
|
1438
1473
|
ref: string;
|
|
1439
1474
|
namespace: string;
|
|
1440
|
-
package: string;
|
|
1441
1475
|
trust_tier: string;
|
|
1442
1476
|
pricing: string;
|
|
1443
1477
|
latest_version: string | null;
|
|
@@ -1463,8 +1497,8 @@ export declare const ApiProvider: import("react").Provider<{
|
|
|
1463
1497
|
contract_range: string | null;
|
|
1464
1498
|
published_at: string | null;
|
|
1465
1499
|
}[];
|
|
1500
|
+
package: string | null;
|
|
1466
1501
|
namespace: string;
|
|
1467
|
-
package: string;
|
|
1468
1502
|
trust_tier: string;
|
|
1469
1503
|
pricing: string;
|
|
1470
1504
|
downloads: number;
|
|
@@ -1488,44 +1522,16 @@ export declare const ApiProvider: import("react").Provider<{
|
|
|
1488
1522
|
methods: ("GET" | "POST" | "PUT" | "PATCH" | "DELETE")[];
|
|
1489
1523
|
}[];
|
|
1490
1524
|
} | null | undefined;
|
|
1525
|
+
required_env?: {
|
|
1526
|
+
name: string;
|
|
1527
|
+
secret: boolean;
|
|
1528
|
+
}[] | undefined;
|
|
1491
1529
|
}[];
|
|
1492
1530
|
version: string;
|
|
1493
1531
|
contract_range: string | null;
|
|
1494
1532
|
published_at: string | null;
|
|
1495
|
-
spec?: import("zod").objectOutputType<{
|
|
1496
|
-
provides: import("zod").ZodArray<import("zod").ZodObject<{
|
|
1497
|
-
kind: import("zod").ZodString;
|
|
1498
|
-
name: import("zod").ZodString;
|
|
1499
|
-
mcp: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodObject<{
|
|
1500
|
-
env: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>>;
|
|
1501
|
-
}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
|
|
1502
|
-
env: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>>;
|
|
1503
|
-
}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
|
|
1504
|
-
env: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>>;
|
|
1505
|
-
}, import("zod").ZodTypeAny, "passthrough">>>>;
|
|
1506
|
-
}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
|
|
1507
|
-
kind: import("zod").ZodString;
|
|
1508
|
-
name: import("zod").ZodString;
|
|
1509
|
-
mcp: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodObject<{
|
|
1510
|
-
env: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>>;
|
|
1511
|
-
}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
|
|
1512
|
-
env: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>>;
|
|
1513
|
-
}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
|
|
1514
|
-
env: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>>;
|
|
1515
|
-
}, import("zod").ZodTypeAny, "passthrough">>>>;
|
|
1516
|
-
}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
|
|
1517
|
-
kind: import("zod").ZodString;
|
|
1518
|
-
name: import("zod").ZodString;
|
|
1519
|
-
mcp: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodObject<{
|
|
1520
|
-
env: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>>;
|
|
1521
|
-
}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
|
|
1522
|
-
env: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>>;
|
|
1523
|
-
}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
|
|
1524
|
-
env: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>>;
|
|
1525
|
-
}, import("zod").ZodTypeAny, "passthrough">>>>;
|
|
1526
|
-
}, import("zod").ZodTypeAny, "passthrough">>, "many">;
|
|
1527
|
-
}, import("zod").ZodTypeAny, "passthrough"> | null | undefined;
|
|
1528
1533
|
} | null;
|
|
1534
|
+
source?: "pypi" | "github" | "spec" | null | undefined;
|
|
1529
1535
|
premium?: boolean | null | undefined;
|
|
1530
1536
|
docs_url?: string | null | undefined;
|
|
1531
1537
|
}>;
|
|
@@ -1541,6 +1547,7 @@ export declare const ApiProvider: import("react").Provider<{
|
|
|
1541
1547
|
source: string;
|
|
1542
1548
|
ref: string;
|
|
1543
1549
|
latest: string | null;
|
|
1550
|
+
delivery: "package" | "descriptor";
|
|
1544
1551
|
installed_at: string;
|
|
1545
1552
|
update_available: boolean;
|
|
1546
1553
|
incompatible_newer: string | null;
|
|
@@ -1570,7 +1577,12 @@ export declare const ApiProvider: import("react").Provider<{
|
|
|
1570
1577
|
default_base: string;
|
|
1571
1578
|
}[];
|
|
1572
1579
|
version: string;
|
|
1580
|
+
required_env: {
|
|
1581
|
+
name: string;
|
|
1582
|
+
secret: boolean;
|
|
1583
|
+
}[];
|
|
1573
1584
|
ref: string;
|
|
1585
|
+
delivery: "package" | "descriptor";
|
|
1574
1586
|
collisions: {
|
|
1575
1587
|
methods: ("GET" | "POST" | "PUT" | "PATCH" | "DELETE")[];
|
|
1576
1588
|
item: string;
|
|
@@ -1589,6 +1601,7 @@ export declare const ApiProvider: import("react").Provider<{
|
|
|
1589
1601
|
full_path: string;
|
|
1590
1602
|
}[];
|
|
1591
1603
|
requires_public_acceptance: boolean;
|
|
1604
|
+
missing_env: string[];
|
|
1592
1605
|
}>;
|
|
1593
1606
|
readonly installMarketplacePlugin: (body: import("@tai42/api-client").MarketplaceInstallBody) => Promise<{
|
|
1594
1607
|
version: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useApi.d.ts","sourceRoot":"","sources":["../../src/hooks/useApi.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAInD,eAAO,MAAM,WAAW;;+
|
|
1
|
+
{"version":3,"file":"useApi.d.ts","sourceRoot":"","sources":["../../src/hooks/useApi.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -47,6 +47,7 @@ export type { FeatureDisabledProps } from './feature-disabled';
|
|
|
47
47
|
export { toolsListKey, extensionsQueryKey, subMcpKey, tokensPayloadKey } from './query-keys';
|
|
48
48
|
export { comboElementNames, extensionElementName } from './extension-combos';
|
|
49
49
|
export { effectiveHidden, hiddenToolNames } from './tool-visibility';
|
|
50
|
+
export { mergeToolBadges, toolBadgesByName } from './tool-badges';
|
|
50
51
|
export { Button, Card, Skeleton, EmptyState, ErrorState, Spinner } from './components/primitives';
|
|
51
52
|
export type { ButtonProps, LinkButtonProps, ButtonVariant, CardProps, SkeletonProps, EmptyStateProps, ErrorStateProps, SpinnerProps, } from './components/primitives';
|
|
52
53
|
export { PageHeader, Page, Stack } from './components/page-header';
|
|
@@ -110,7 +111,7 @@ export type { FleetReportProps } from './components/fleet-report';
|
|
|
110
111
|
export { ExternalLinkButton, isSafeHttpUrl } from './components/external-link';
|
|
111
112
|
export { safeHttpUrl } from './components/primitives';
|
|
112
113
|
export type { ExternalLinkButtonProps } from './components/external-link';
|
|
113
|
-
export { ToolPicker } from './components/tool-picker';
|
|
114
|
+
export { ToolPicker, BADGES_NOTE } from './components/tool-picker';
|
|
114
115
|
export type { ToolPickerProps } from './components/tool-picker';
|
|
115
116
|
export { ExtensionPicker } from './components/extension-picker';
|
|
116
117
|
export type { ExtensionPickerProps } from './components/extension-picker';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -49,6 +49,8 @@ export { toolsListKey, extensionsQueryKey, subMcpKey, tokensPayloadKey } from '.
|
|
|
49
49
|
export { comboElementNames, extensionElementName } from './extension-combos';
|
|
50
50
|
// -- Tool-visibility tri-state -----------------------------------------------
|
|
51
51
|
export { effectiveHidden, hiddenToolNames } from './tool-visibility';
|
|
52
|
+
// -- Tool declared-badge merge (native ∪ overlay) ----------------------------
|
|
53
|
+
export { mergeToolBadges, toolBadgesByName } from './tool-badges';
|
|
52
54
|
// -- Design system -----------------------------------------------------------
|
|
53
55
|
export { Button, Card, Skeleton, EmptyState, ErrorState, Spinner } from './components/primitives';
|
|
54
56
|
export { PageHeader, Page, Stack } from './components/page-header';
|
|
@@ -85,7 +87,7 @@ export { ExternalLinkButton, isSafeHttpUrl } from './components/external-link';
|
|
|
85
87
|
// The URL half of the link-safety pair: `isSafeHttpUrl` answers yes/no, this one
|
|
86
88
|
// hands back the parsed URL, so a caller that needs the URL does not re-parse it.
|
|
87
89
|
export { safeHttpUrl } from './components/primitives';
|
|
88
|
-
export { ToolPicker } from './components/tool-picker';
|
|
90
|
+
export { ToolPicker, BADGES_NOTE } from './components/tool-picker';
|
|
89
91
|
export { ExtensionPicker } from './components/extension-picker';
|
|
90
92
|
export { ExtensionComboBuilder } from './components/extension-combo-builder';
|
|
91
93
|
export { baseNameOf, groupIntoFamilies, groupByKind, kindVariant, NON_STACKABLE_KIND, } from './components/extension-grouping';
|
package/dist/index.js.map
CHANGED
|
@@ -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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"}
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
* supplies the runtime resolution via {@link NavigationContextValue}; features
|
|
13
13
|
* consume it type-safely.
|
|
14
14
|
*/
|
|
15
|
+
import type { ConversationDeliveryStatus } from '@tai42/api-client';
|
|
15
16
|
/**
|
|
16
17
|
* Every top-level route the shell owns, mapped to its typed search parameters.
|
|
17
18
|
* A route with no parameters maps to the empty object. Detail views are driven
|
|
@@ -35,6 +36,9 @@ export interface RouteSearchByToken {
|
|
|
35
36
|
conversations: {
|
|
36
37
|
route?: string;
|
|
37
38
|
thread?: string;
|
|
39
|
+
status?: ConversationDeliveryStatus;
|
|
40
|
+
address?: string;
|
|
41
|
+
q?: string;
|
|
38
42
|
};
|
|
39
43
|
connectors: {
|
|
40
44
|
connection?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/navigation/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/navigation/types.ts"],"names":[],"mappings":"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"}
|
package/dist/navigation/types.js
CHANGED
|
@@ -1,16 +1,2 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The shell ⇄ feature navigation contract.
|
|
3
|
-
*
|
|
4
|
-
* Routing is SHELL-owned: feature packages never see path strings and never
|
|
5
|
-
* define routes. They navigate through named ROUTE TOKENS — the keys of
|
|
6
|
-
* {@link RouteSearchByToken} — which the shell resolves to real paths. A token
|
|
7
|
-
* is an opaque, compile-time handle: renaming or removing one here is a type
|
|
8
|
-
* error at every call site, exactly the property free-form path strings lack.
|
|
9
|
-
*
|
|
10
|
-
* This contract lives in the SDK because it is the ONLY internal module a feature
|
|
11
|
-
* may import (a feature importing the shell is a boundary violation). The shell
|
|
12
|
-
* supplies the runtime resolution via {@link NavigationContextValue}; features
|
|
13
|
-
* consume it type-safely.
|
|
14
|
-
*/
|
|
15
1
|
export {};
|
|
16
2
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/navigation/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/navigation/types.ts"],"names":[],"mappings":""}
|
|
@@ -22,10 +22,7 @@ function isObjectSchema(schema, root) {
|
|
|
22
22
|
*/
|
|
23
23
|
export function StructuredOutput({ schema, content }) {
|
|
24
24
|
if (!isObjectSchema(schema, schema) || !isRecord(content)) {
|
|
25
|
-
return (
|
|
26
|
-
// A deeply nested payload outruns its column; the tree's own pane scrolls
|
|
27
|
-
// it and is a keyboard target only while it actually does.
|
|
28
|
-
_jsx("div", { "data-testid": "structured-output-raw", children: _jsx(JsonTree, { data: content, defaultExpanded: true, label: RAW_OUTPUT_LABEL }) }));
|
|
25
|
+
return (_jsx("div", { "data-testid": "structured-output-raw", children: _jsx(JsonTree, { data: content, defaultExpanded: true, label: RAW_OUTPUT_LABEL }) }));
|
|
29
26
|
}
|
|
30
27
|
// `schema` is narrowed to a defined object schema here.
|
|
31
28
|
const resolved = schema.$ref ? resolveRef(schema, schema) : schema;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StructuredOutput.js","sourceRoot":"","sources":["../../src/structured-output/StructuredOutput.tsx"],"names":[],"mappings":";AAaA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAUpD,oEAAoE;AACpE,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAE7C,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,cAAc,CACrB,MAA8B,EAC9B,IAA4B;IAE5B,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACjE,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC3B,MAAM,QAAQ,GAAG,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvF,OAAO,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AACnD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAyB;IACzE,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1D,OAAO
|
|
1
|
+
{"version":3,"file":"StructuredOutput.js","sourceRoot":"","sources":["../../src/structured-output/StructuredOutput.tsx"],"names":[],"mappings":";AAaA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAUpD,oEAAoE;AACpE,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAE7C,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,cAAc,CACrB,MAA8B,EAC9B,IAA4B;IAE5B,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACjE,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC3B,MAAM,QAAQ,GAAG,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvF,OAAO,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AACnD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAyB;IACzE,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1D,OAAO,CAGL,6BAAiB,uBAAuB,YACtC,KAAC,QAAQ,IAAC,IAAI,EAAE,OAAO,EAAE,eAAe,QAAC,KAAK,EAAE,gBAAgB,GAAI,GAChE,CACP,CAAC;IACJ,CAAC;IAED,wDAAwD;IACxD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACnE,0EAA0E;IAC1E,+BAA+B;IAC/B,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC;IAE7C,OAAO,CACL,cAAK,SAAS,EAAC,uBAAuB,iBAAa,mBAAmB,YACnE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,EAAE;YACpD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;YAC5E,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,IAAI,GAAG,CAAC;YAChC,OAAO,CACL,eAAe,SAAS,EAAC,WAAW,aAClC,eAAM,SAAS,EAAC,iBAAiB,YAAE,IAAI,GAAQ,EAE/C,KAAC,QAAQ,IAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,eAAe,QAAC,KAAK,EAAE,IAAI,GAAI,KAHrD,GAAG,CAIP,CACP,CAAC;QACJ,CAAC,CAAC,GACE,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The per-tool DECLARED capability badges, shared by every surface that shows them:
|
|
3
|
+
* the tools screen's list rows and every single-select tool picker that carries a
|
|
4
|
+
* SELECTED value. A badge is INFORMATIONAL — it names what a tool touches (e.g.
|
|
5
|
+
* `network`, `filesystem`) — never a gate the server enforces.
|
|
6
|
+
*
|
|
7
|
+
* The merge is the platform contract, held here ONCE so the list and the pickers can
|
|
8
|
+
* never drift: a tool's badges are its plugin-DECLARED badges (`listToolTags`) UNIONED
|
|
9
|
+
* with the operator's tool_meta overlay badges (`listToolMeta`), deduped and sorted.
|
|
10
|
+
*/
|
|
11
|
+
import type { ToolMetaRecord, ToolTagEntry } from '@tai42/api-client';
|
|
12
|
+
/**
|
|
13
|
+
* A tool's effective badges: native ∪ overlay, deduped and case-insensitively sorted.
|
|
14
|
+
* The atomic rule every badge surface merges by, so the tools list and the pickers
|
|
15
|
+
* show one and the same set.
|
|
16
|
+
*/
|
|
17
|
+
export declare function mergeToolBadges(nativeBadges: readonly string[], overlayBadges: readonly string[]): readonly string[];
|
|
18
|
+
/**
|
|
19
|
+
* The raw-name → merged-badges map a tool picker reads to render the SELECTED tool's
|
|
20
|
+
* badges, from the native declarations (`listToolTags`) merged with the tool_meta
|
|
21
|
+
* overlay (`listToolMeta`) — the SAME union the tools list shows. Only tools with at
|
|
22
|
+
* least one badge appear; a name with none is simply absent (the picker shows no
|
|
23
|
+
* chips). Both sources' names are walked, so an overlay row that badges a tool
|
|
24
|
+
* carrying no native tag entry is still surfaced.
|
|
25
|
+
*/
|
|
26
|
+
export declare function toolBadgesByName(tagEntries: readonly ToolTagEntry[], overlayRows: readonly ToolMetaRecord[]): Readonly<Record<string, readonly string[]>>;
|
|
27
|
+
//# sourceMappingURL=tool-badges.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-badges.d.ts","sourceRoot":"","sources":["../src/tool-badges.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtE;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,YAAY,EAAE,SAAS,MAAM,EAAE,EAC/B,aAAa,EAAE,SAAS,MAAM,EAAE,GAC/B,SAAS,MAAM,EAAE,CAEnB;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,SAAS,YAAY,EAAE,EACnC,WAAW,EAAE,SAAS,cAAc,EAAE,GACrC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAW7C"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A tool's effective badges: native ∪ overlay, deduped and case-insensitively sorted.
|
|
3
|
+
* The atomic rule every badge surface merges by, so the tools list and the pickers
|
|
4
|
+
* show one and the same set.
|
|
5
|
+
*/
|
|
6
|
+
export function mergeToolBadges(nativeBadges, overlayBadges) {
|
|
7
|
+
return [...new Set([...nativeBadges, ...overlayBadges])].sort((a, b) => a.localeCompare(b));
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* The raw-name → merged-badges map a tool picker reads to render the SELECTED tool's
|
|
11
|
+
* badges, from the native declarations (`listToolTags`) merged with the tool_meta
|
|
12
|
+
* overlay (`listToolMeta`) — the SAME union the tools list shows. Only tools with at
|
|
13
|
+
* least one badge appear; a name with none is simply absent (the picker shows no
|
|
14
|
+
* chips). Both sources' names are walked, so an overlay row that badges a tool
|
|
15
|
+
* carrying no native tag entry is still surfaced.
|
|
16
|
+
*/
|
|
17
|
+
export function toolBadgesByName(tagEntries, overlayRows) {
|
|
18
|
+
const nativeByName = new Map(tagEntries.map((entry) => [entry.name, entry.badges]));
|
|
19
|
+
const overlayByName = new Map(overlayRows.map((row) => [row.tool_name, row.badges]));
|
|
20
|
+
const names = new Set([...nativeByName.keys(), ...overlayByName.keys()]);
|
|
21
|
+
const map = {};
|
|
22
|
+
for (const name of names) {
|
|
23
|
+
const merged = mergeToolBadges(nativeByName.get(name) ?? [], overlayByName.get(name) ?? []);
|
|
24
|
+
if (merged.length > 0)
|
|
25
|
+
map[name] = merged;
|
|
26
|
+
}
|
|
27
|
+
return map;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=tool-badges.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-badges.js","sourceRoot":"","sources":["../src/tool-badges.ts"],"names":[],"mappings":"AAYA;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAC7B,YAA+B,EAC/B,aAAgC;IAEhC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,YAAY,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9F,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAC9B,UAAmC,EACnC,WAAsC;IAEtC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACpF,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrF,MAAM,KAAK,GAAG,IAAI,GAAG,CAAS,CAAC,GAAG,YAAY,CAAC,IAAI,EAAE,EAAE,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEjF,MAAM,GAAG,GAAsC,EAAE,CAAC;IAClD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5F,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;IAC5C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tai42/studio-sdk",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.0.0",
|
|
4
4
|
"description": "The Studio plugin contract, shared UI components, and hooks that every feature builds on.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "tai42 <oss@tai42.ai>",
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
"@radix-ui/react-select": "^2.3.2",
|
|
91
91
|
"@radix-ui/react-tabs": "^1.1.16",
|
|
92
92
|
"@radix-ui/react-tooltip": "^1.2.11",
|
|
93
|
-
"@tai42/api-client": "
|
|
93
|
+
"@tai42/api-client": "5.0.0"
|
|
94
94
|
},
|
|
95
95
|
"scripts": {
|
|
96
96
|
"build": "tsc -b tsconfig.build.json && node scripts/copy-assets.mjs",
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
// Declares the bare side-effect CSS import in the barrel, so `./components.css`
|
|
2
|
+
// resolves in every program that compiles index.ts — including feature tooling
|
|
3
|
+
// programs that resolve the SDK to source, where TS6 hard-errors (TS2882) on an
|
|
4
|
+
// unresolved side-effect import. Side-effect only: no JS bindings.
|
|
5
|
+
export {};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
// Declares the bare side-effect CSS import in the barrel, so `./fonts.css`
|
|
2
|
+
// resolves in every program that compiles index.ts — including feature tooling
|
|
3
|
+
// programs that resolve the SDK to source, where TS6 hard-errors (TS2882) on an
|
|
4
|
+
// unresolved side-effect import. Side-effect only: no JS bindings.
|
|
5
|
+
export {};
|
|
@@ -62,6 +62,11 @@ function normalizeHref(href: string): string {
|
|
|
62
62
|
* reads the same string as the host `settings`. Only the `//` form means the same
|
|
63
63
|
* thing to both.
|
|
64
64
|
*
|
|
65
|
+
* An absolute http(s) URL carrying `user:pass@` userinfo is rejected too: `.href`
|
|
66
|
+
* re-serialization preserves the userinfo (unlike host tricks), so
|
|
67
|
+
* `https://trusted.com@evil.com` would render as trusted.com yet navigate to
|
|
68
|
+
* evil.com.
|
|
69
|
+
*
|
|
65
70
|
* Callers render the returned string rather than their input, so the URL that was
|
|
66
71
|
* judged is always the URL that is navigated.
|
|
67
72
|
*/
|
|
@@ -69,7 +74,12 @@ export function safeHttpUrl(href: string): string | undefined {
|
|
|
69
74
|
const normalized = normalizeHref(href);
|
|
70
75
|
if (!/^https?:\/\//i.test(normalized)) return undefined;
|
|
71
76
|
try {
|
|
72
|
-
|
|
77
|
+
const url = new URL(normalized);
|
|
78
|
+
// Userinfo is rejected because `.href` re-serialization preserves
|
|
79
|
+
// `user:pass@` (unlike host tricks), so `https://trusted.com@evil.com`
|
|
80
|
+
// would render as trusted.com yet navigate to evil.com.
|
|
81
|
+
if (url.username !== '' || url.password !== '') return undefined;
|
|
82
|
+
return url.href;
|
|
73
83
|
} catch {
|
|
74
84
|
return undefined;
|
|
75
85
|
}
|
package/src/components/tags.tsx
CHANGED
|
@@ -47,6 +47,13 @@ export interface TagsInputProps {
|
|
|
47
47
|
* Forwarded to the input as a native attribute — see the docblock below.
|
|
48
48
|
*/
|
|
49
49
|
readonly 'aria-label'?: string;
|
|
50
|
+
/**
|
|
51
|
+
* The noun for the placeholder + the Add/Remove control names ("tag" by default).
|
|
52
|
+
* Set it (e.g. "badge") so a second editor on the same surface reads and, above
|
|
53
|
+
* all, has DISTINCT accessible control names — two "Add tag" buttons would be
|
|
54
|
+
* ambiguous to a name-based query and a screen reader alike.
|
|
55
|
+
*/
|
|
56
|
+
readonly itemNoun?: string;
|
|
50
57
|
}
|
|
51
58
|
|
|
52
59
|
/**
|
|
@@ -69,6 +76,7 @@ export function TagsInput({
|
|
|
69
76
|
onChange,
|
|
70
77
|
disabled,
|
|
71
78
|
'aria-label': ariaLabel,
|
|
79
|
+
itemNoun = 'tag',
|
|
72
80
|
}: TagsInputProps): ReactNode {
|
|
73
81
|
const [draft, setDraft] = useState('');
|
|
74
82
|
|
|
@@ -103,13 +111,13 @@ export function TagsInput({
|
|
|
103
111
|
add();
|
|
104
112
|
}
|
|
105
113
|
}}
|
|
106
|
-
placeholder=
|
|
114
|
+
placeholder={`Add a ${itemNoun}…`}
|
|
107
115
|
aria-label={ariaLabel}
|
|
108
116
|
disabled={disabled}
|
|
109
117
|
/>
|
|
110
118
|
</div>
|
|
111
119
|
<Button type="button" onClick={add} disabled={disabled}>
|
|
112
|
-
Add
|
|
120
|
+
Add {itemNoun}
|
|
113
121
|
</Button>
|
|
114
122
|
</div>
|
|
115
123
|
{value.length > 0 ? (
|
|
@@ -120,7 +128,7 @@ export function TagsInput({
|
|
|
120
128
|
<button
|
|
121
129
|
type="button"
|
|
122
130
|
className="tai-icon-btn"
|
|
123
|
-
aria-label={`Remove
|
|
131
|
+
aria-label={`Remove ${itemNoun} ${tag}`}
|
|
124
132
|
onClick={() => {
|
|
125
133
|
remove(tag);
|
|
126
134
|
}}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
// Declares the bare side-effect CSS import in the barrel, so `./tokens.css`
|
|
2
|
+
// resolves in every program that compiles index.ts — including feature tooling
|
|
3
|
+
// programs that resolve the SDK to source, where TS6 hard-errors (TS2882) on an
|
|
4
|
+
// unresolved side-effect import. Side-effect only: no JS bindings.
|
|
5
|
+
export {};
|
|
@@ -23,16 +23,25 @@
|
|
|
23
23
|
* mapping equal to the raw name) reads the bare raw name. The value stays the raw
|
|
24
24
|
* name and grouping/filtering/exclusion key off raw names alone, so a display
|
|
25
25
|
* name is purely cosmetic.
|
|
26
|
+
* - `badgesByTool` (native ∪ overlay, from the tool-meta merge) surfaces the
|
|
27
|
+
* SELECTED tool's DECLARED capability badges as read-only chips beneath the
|
|
28
|
+
* select. Badges are INFORMATIONAL — the tooltip says so — never a gate, so they
|
|
29
|
+
* change nothing about which options select or how they group.
|
|
26
30
|
*
|
|
27
|
-
* SAFETY: a tool name, a tag,
|
|
28
|
-
* renders as TEXT
|
|
29
|
-
* Pinned by a test.
|
|
31
|
+
* SAFETY: a tool name, a tag, a display name, AND a badge are server-supplied, so
|
|
32
|
+
* every one renders as TEXT (React escapes it) — never an HTML sink. Pinned by a test.
|
|
30
33
|
*/
|
|
31
34
|
import { useState } from 'react';
|
|
32
35
|
|
|
33
36
|
import { toolDisplayLabel } from '../hooks/useToolDisplayNames';
|
|
37
|
+
import { Badge } from './badge';
|
|
34
38
|
import { Field } from './field';
|
|
35
39
|
import { Select, type SelectGroup } from './select';
|
|
40
|
+
import { Tooltip } from './tooltip';
|
|
41
|
+
|
|
42
|
+
/** The shared informational note every badge surface carries: declared, never enforced. */
|
|
43
|
+
export const BADGES_NOTE =
|
|
44
|
+
'Declared capability labels — informational only. They describe what the tool touches; the server never enforces them.';
|
|
36
45
|
|
|
37
46
|
export interface ToolPickerProps {
|
|
38
47
|
readonly toolNames: readonly string[];
|
|
@@ -62,6 +71,12 @@ export interface ToolPickerProps {
|
|
|
62
71
|
* emits stays the raw name in every case.
|
|
63
72
|
*/
|
|
64
73
|
readonly displayNames?: Readonly<Record<string, string>>;
|
|
74
|
+
/**
|
|
75
|
+
* Per-tool DECLARED capability badges (native ∪ overlay). When present, the
|
|
76
|
+
* selected tool's badges render as read-only chips beneath the select — purely
|
|
77
|
+
* informational, never affecting which options show or how they group.
|
|
78
|
+
*/
|
|
79
|
+
readonly badgesByTool?: Readonly<Record<string, readonly string[]>>;
|
|
65
80
|
}
|
|
66
81
|
|
|
67
82
|
const NO_DISPLAY_NAMES: Readonly<Record<string, string>> = {};
|
|
@@ -132,6 +147,7 @@ export function ToolPicker({
|
|
|
132
147
|
tagsByTool,
|
|
133
148
|
agentToolNames,
|
|
134
149
|
displayNames,
|
|
150
|
+
badgesByTool,
|
|
135
151
|
}: ToolPickerProps) {
|
|
136
152
|
const [tagFilter, setTagFilter] = useState<string>(ALL_TAGS);
|
|
137
153
|
|
|
@@ -194,6 +210,21 @@ export function ToolPicker({
|
|
|
194
210
|
</Field>
|
|
195
211
|
) : null}
|
|
196
212
|
{label !== undefined ? <Field label={label}>{toolSelect}</Field> : toolSelect}
|
|
213
|
+
{value !== null && badgesByTool !== undefined && (badgesByTool[value]?.length ?? 0) > 0 ? (
|
|
214
|
+
<Tooltip content={BADGES_NOTE}>
|
|
215
|
+
<span
|
|
216
|
+
className="tai-row"
|
|
217
|
+
data-testid={`${idPrefix}-badges`}
|
|
218
|
+
style={{ gap: 'var(--tai-space-1)' }}
|
|
219
|
+
>
|
|
220
|
+
{(badgesByTool[value] ?? []).map((badge) => (
|
|
221
|
+
<Badge key={badge} variant="neutral">
|
|
222
|
+
{badge}
|
|
223
|
+
</Badge>
|
|
224
|
+
))}
|
|
225
|
+
</span>
|
|
226
|
+
</Tooltip>
|
|
227
|
+
) : null}
|
|
197
228
|
</div>
|
|
198
229
|
);
|
|
199
230
|
}
|
package/src/index.ts
CHANGED
|
@@ -129,6 +129,9 @@ export { comboElementNames, extensionElementName } from './extension-combos';
|
|
|
129
129
|
// -- Tool-visibility tri-state -----------------------------------------------
|
|
130
130
|
export { effectiveHidden, hiddenToolNames } from './tool-visibility';
|
|
131
131
|
|
|
132
|
+
// -- Tool declared-badge merge (native ∪ overlay) ----------------------------
|
|
133
|
+
export { mergeToolBadges, toolBadgesByName } from './tool-badges';
|
|
134
|
+
|
|
132
135
|
// -- Design system -----------------------------------------------------------
|
|
133
136
|
export { Button, Card, Skeleton, EmptyState, ErrorState, Spinner } from './components/primitives';
|
|
134
137
|
export type {
|
|
@@ -256,7 +259,7 @@ export { ExternalLinkButton, isSafeHttpUrl } from './components/external-link';
|
|
|
256
259
|
// hands back the parsed URL, so a caller that needs the URL does not re-parse it.
|
|
257
260
|
export { safeHttpUrl } from './components/primitives';
|
|
258
261
|
export type { ExternalLinkButtonProps } from './components/external-link';
|
|
259
|
-
export { ToolPicker } from './components/tool-picker';
|
|
262
|
+
export { ToolPicker, BADGES_NOTE } from './components/tool-picker';
|
|
260
263
|
export type { ToolPickerProps } from './components/tool-picker';
|
|
261
264
|
export { ExtensionPicker } from './components/extension-picker';
|
|
262
265
|
export type { ExtensionPickerProps } from './components/extension-picker';
|
package/src/navigation/types.ts
CHANGED
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
* supplies the runtime resolution via {@link NavigationContextValue}; features
|
|
13
13
|
* consume it type-safely.
|
|
14
14
|
*/
|
|
15
|
+
import type { ConversationDeliveryStatus } from '@tai42/api-client';
|
|
15
16
|
|
|
16
17
|
/**
|
|
17
18
|
* Every top-level route the shell owns, mapped to its typed search parameters.
|
|
@@ -27,10 +28,18 @@ export interface RouteSearchByToken {
|
|
|
27
28
|
extensions: Record<string, never>;
|
|
28
29
|
interactions: Record<string, never>;
|
|
29
30
|
notifications: Record<string, never>;
|
|
30
|
-
// The conversation monitor's drill state: `route` picks a
|
|
31
|
-
// `thread` opens one of its transcripts.
|
|
32
|
-
//
|
|
33
|
-
|
|
31
|
+
// The conversation monitor's drill state + thread-list filters: `route` picks a
|
|
32
|
+
// conversation route, `thread` opens one of its transcripts. `status`/`address`
|
|
33
|
+
// narrow the thread list; `q` searches record text (the open thread's transcript,
|
|
34
|
+
// else the route's messages). A `thread` or a filter with no `route` names nothing
|
|
35
|
+
// readable, and the page repairs it away.
|
|
36
|
+
conversations: {
|
|
37
|
+
route?: string;
|
|
38
|
+
thread?: string;
|
|
39
|
+
status?: ConversationDeliveryStatus;
|
|
40
|
+
address?: string;
|
|
41
|
+
q?: string;
|
|
42
|
+
};
|
|
34
43
|
connectors: { connection?: string };
|
|
35
44
|
hooks: Record<string, never>;
|
|
36
45
|
templates: { template?: string; q?: string };
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The per-tool DECLARED capability badges, shared by every surface that shows them:
|
|
3
|
+
* the tools screen's list rows and every single-select tool picker that carries a
|
|
4
|
+
* SELECTED value. A badge is INFORMATIONAL — it names what a tool touches (e.g.
|
|
5
|
+
* `network`, `filesystem`) — never a gate the server enforces.
|
|
6
|
+
*
|
|
7
|
+
* The merge is the platform contract, held here ONCE so the list and the pickers can
|
|
8
|
+
* never drift: a tool's badges are its plugin-DECLARED badges (`listToolTags`) UNIONED
|
|
9
|
+
* with the operator's tool_meta overlay badges (`listToolMeta`), deduped and sorted.
|
|
10
|
+
*/
|
|
11
|
+
import type { ToolMetaRecord, ToolTagEntry } from '@tai42/api-client';
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* A tool's effective badges: native ∪ overlay, deduped and case-insensitively sorted.
|
|
15
|
+
* The atomic rule every badge surface merges by, so the tools list and the pickers
|
|
16
|
+
* show one and the same set.
|
|
17
|
+
*/
|
|
18
|
+
export function mergeToolBadges(
|
|
19
|
+
nativeBadges: readonly string[],
|
|
20
|
+
overlayBadges: readonly string[],
|
|
21
|
+
): readonly string[] {
|
|
22
|
+
return [...new Set([...nativeBadges, ...overlayBadges])].sort((a, b) => a.localeCompare(b));
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* The raw-name → merged-badges map a tool picker reads to render the SELECTED tool's
|
|
27
|
+
* badges, from the native declarations (`listToolTags`) merged with the tool_meta
|
|
28
|
+
* overlay (`listToolMeta`) — the SAME union the tools list shows. Only tools with at
|
|
29
|
+
* least one badge appear; a name with none is simply absent (the picker shows no
|
|
30
|
+
* chips). Both sources' names are walked, so an overlay row that badges a tool
|
|
31
|
+
* carrying no native tag entry is still surfaced.
|
|
32
|
+
*/
|
|
33
|
+
export function toolBadgesByName(
|
|
34
|
+
tagEntries: readonly ToolTagEntry[],
|
|
35
|
+
overlayRows: readonly ToolMetaRecord[],
|
|
36
|
+
): Readonly<Record<string, readonly string[]>> {
|
|
37
|
+
const nativeByName = new Map(tagEntries.map((entry) => [entry.name, entry.badges]));
|
|
38
|
+
const overlayByName = new Map(overlayRows.map((row) => [row.tool_name, row.badges]));
|
|
39
|
+
const names = new Set<string>([...nativeByName.keys(), ...overlayByName.keys()]);
|
|
40
|
+
|
|
41
|
+
const map: Record<string, readonly string[]> = {};
|
|
42
|
+
for (const name of names) {
|
|
43
|
+
const merged = mergeToolBadges(nativeByName.get(name) ?? [], overlayByName.get(name) ?? []);
|
|
44
|
+
if (merged.length > 0) map[name] = merged;
|
|
45
|
+
}
|
|
46
|
+
return map;
|
|
47
|
+
}
|
package/src/css.d.ts
DELETED