@tai42/studio-sdk 30.0.0 → 31.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/README.md +98 -10
- package/dist/components/agent-picker.d.ts +1 -1
- package/dist/components/agent-picker.d.ts.map +1 -1
- package/dist/components/agent-picker.js +1 -0
- package/dist/components/agent-picker.js.map +1 -1
- package/dist/components/channel-picker.d.ts +1 -1
- package/dist/components/channel-picker.d.ts.map +1 -1
- package/dist/components/channel-picker.js +1 -0
- package/dist/components/channel-picker.js.map +1 -1
- package/dist/components/combo-draft-editor.d.ts +31 -0
- package/dist/components/combo-draft-editor.d.ts.map +1 -0
- package/dist/components/combo-draft-editor.js +16 -0
- package/dist/components/combo-draft-editor.js.map +1 -0
- package/dist/components/committed-combo-list.d.ts +17 -0
- package/dist/components/committed-combo-list.d.ts.map +1 -0
- package/dist/components/{extension-combo-parts.js → committed-combo-list.js} +2 -22
- package/dist/components/committed-combo-list.js.map +1 -0
- package/dist/components/components.css +53 -0
- package/dist/components/explorer-body.d.ts +1 -0
- package/dist/components/explorer-body.d.ts.map +1 -1
- package/dist/components/explorer-body.js +6 -4
- package/dist/components/explorer-body.js.map +1 -1
- package/dist/components/explorer-view.d.ts +16 -7
- package/dist/components/explorer-view.d.ts.map +1 -1
- package/dist/components/explorer-view.js +27 -13
- package/dist/components/explorer-view.js.map +1 -1
- package/dist/components/extension-combo-builder.d.ts +4 -4
- package/dist/components/extension-combo-builder.js +3 -2
- package/dist/components/extension-combo-builder.js.map +1 -1
- package/dist/components/extension-config-editor.js.map +1 -1
- package/dist/components/field.d.ts +6 -0
- package/dist/components/field.d.ts.map +1 -1
- package/dist/components/field.js +15 -2
- package/dist/components/field.js.map +1 -1
- package/dist/components/folder-actions.d.ts +51 -0
- package/dist/components/folder-actions.d.ts.map +1 -0
- package/dist/components/folder-actions.js +173 -0
- package/dist/components/folder-actions.js.map +1 -0
- package/dist/components/folder-filing.d.ts +32 -0
- package/dist/components/folder-filing.d.ts.map +1 -0
- package/dist/components/folder-filing.js +51 -0
- package/dist/components/folder-filing.js.map +1 -0
- package/dist/components/folder-nav.d.ts +9 -4
- package/dist/components/folder-nav.d.ts.map +1 -1
- package/dist/components/folder-nav.js +18 -22
- package/dist/components/folder-nav.js.map +1 -1
- package/dist/components/folder-occupancy.d.ts +27 -0
- package/dist/components/folder-occupancy.d.ts.map +1 -0
- package/dist/components/folder-occupancy.js +54 -0
- package/dist/components/folder-occupancy.js.map +1 -0
- package/dist/components/named-list-picker.d.ts +5 -3
- package/dist/components/named-list-picker.d.ts.map +1 -1
- package/dist/components/named-list-picker.js +7 -7
- package/dist/components/named-list-picker.js.map +1 -1
- package/dist/components/primitives.d.ts +2 -1
- package/dist/components/primitives.d.ts.map +1 -1
- package/dist/components/primitives.js +2 -1
- package/dist/components/primitives.js.map +1 -1
- package/dist/components/searchable-select-model.d.ts +40 -0
- package/dist/components/searchable-select-model.d.ts.map +1 -0
- package/dist/components/searchable-select-model.js +69 -0
- package/dist/components/searchable-select-model.js.map +1 -0
- package/dist/components/searchable-select.d.ts +38 -0
- package/dist/components/searchable-select.d.ts.map +1 -0
- package/dist/components/searchable-select.js +200 -0
- package/dist/components/searchable-select.js.map +1 -0
- package/dist/components/selected-tool-badges.d.ts +13 -0
- package/dist/components/selected-tool-badges.d.ts.map +1 -0
- package/dist/components/selected-tool-badges.js +14 -0
- package/dist/components/selected-tool-badges.js.map +1 -0
- package/dist/components/subject-section.d.ts.map +1 -1
- package/dist/components/subject-section.js +2 -2
- package/dist/components/subject-section.js.map +1 -1
- package/dist/components/table.d.ts +7 -1
- package/dist/components/table.d.ts.map +1 -1
- package/dist/components/table.js +2 -2
- package/dist/components/table.js.map +1 -1
- package/dist/components/tag-filter-field.d.ts +11 -0
- package/dist/components/tag-filter-field.d.ts.map +1 -0
- package/dist/components/tag-filter-field.js +15 -0
- package/dist/components/tag-filter-field.js.map +1 -0
- package/dist/components/tool-meta-access.d.ts +28 -0
- package/dist/components/tool-meta-access.d.ts.map +1 -0
- package/dist/components/tool-meta-access.js +65 -0
- package/dist/components/tool-meta-access.js.map +1 -0
- package/dist/components/tool-name-entry.d.ts +26 -0
- package/dist/components/tool-name-entry.d.ts.map +1 -0
- package/dist/components/tool-name-entry.js +43 -0
- package/dist/components/tool-name-entry.js.map +1 -0
- package/dist/components/tool-picker.d.ts +24 -19
- package/dist/components/tool-picker.d.ts.map +1 -1
- package/dist/components/tool-picker.js +55 -35
- package/dist/components/tool-picker.js.map +1 -1
- package/dist/components/tool-select.d.ts +26 -0
- package/dist/components/tool-select.d.ts.map +1 -0
- package/dist/components/tool-select.js +82 -0
- package/dist/components/tool-select.js.map +1 -0
- package/dist/extension-combos.d.ts +6 -1
- package/dist/extension-combos.d.ts.map +1 -1
- package/dist/extension-combos.js +8 -0
- package/dist/extension-combos.js.map +1 -1
- package/dist/hooks/useApi.d.ts +1 -0
- package/dist/hooks/useApi.d.ts.map +1 -1
- package/dist/hooks/useSystemKinds.d.ts +27 -12
- package/dist/hooks/useSystemKinds.d.ts.map +1 -1
- package/dist/hooks/useSystemKinds.js +56 -16
- package/dist/hooks/useSystemKinds.js.map +1 -1
- package/dist/index.d.ts +51 -49
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +34 -26
- package/dist/index.js.map +1 -1
- package/dist/marketplace-install/use-mount-install.d.ts +6 -6
- package/dist/plugin/version.d.ts +1 -1
- package/dist/plugin/version.js +1 -1
- package/dist/schema-editor/SchemaEditor.d.ts +7 -2
- package/dist/schema-editor/SchemaEditor.d.ts.map +1 -1
- package/dist/schema-editor/SchemaEditor.js +1 -1
- package/dist/schema-editor/SchemaEditor.js.map +1 -1
- package/dist/schema-editor/index.d.ts +2 -2
- package/dist/schema-editor/index.d.ts.map +1 -1
- package/dist/schema-form/array-field.d.ts.map +1 -1
- package/dist/schema-form/array-field.js +6 -2
- package/dist/schema-form/array-field.js.map +1 -1
- package/dist/schema-form/classify.d.ts +4 -1
- package/dist/schema-form/classify.d.ts.map +1 -1
- package/dist/schema-form/classify.js +36 -15
- package/dist/schema-form/classify.js.map +1 -1
- package/dist/schema-form/collapsed-object-field.d.ts +20 -0
- package/dist/schema-form/collapsed-object-field.d.ts.map +1 -0
- package/dist/schema-form/collapsed-object-field.js +14 -0
- package/dist/schema-form/collapsed-object-field.js.map +1 -0
- package/dist/schema-form/context.d.ts +27 -1
- package/dist/schema-form/context.d.ts.map +1 -1
- package/dist/schema-form/context.js +14 -0
- package/dist/schema-form/context.js.map +1 -1
- package/dist/schema-form/default-value.d.ts +21 -6
- package/dist/schema-form/default-value.d.ts.map +1 -1
- package/dist/schema-form/default-value.js +74 -15
- package/dist/schema-form/default-value.js.map +1 -1
- package/dist/schema-form/expression-field.d.ts +48 -0
- package/dist/schema-form/expression-field.d.ts.map +1 -0
- package/dist/schema-form/expression-field.js +88 -0
- package/dist/schema-form/expression-field.js.map +1 -0
- package/dist/schema-form/field-model.d.ts +23 -4
- package/dist/schema-form/field-model.d.ts.map +1 -1
- package/dist/schema-form/field-node.d.ts.map +1 -1
- package/dist/schema-form/field-node.js +16 -3
- package/dist/schema-form/field-node.js.map +1 -1
- package/dist/schema-form/index.d.ts +3 -3
- package/dist/schema-form/index.d.ts.map +1 -1
- package/dist/schema-form/index.js +2 -2
- package/dist/schema-form/index.js.map +1 -1
- package/dist/schema-form/object-fields.d.ts +6 -3
- package/dist/schema-form/object-fields.d.ts.map +1 -1
- package/dist/schema-form/object-fields.js +14 -3
- package/dist/schema-form/object-fields.js.map +1 -1
- package/dist/schema-form/record-field.d.ts.map +1 -1
- package/dist/schema-form/record-field.js +6 -2
- package/dist/schema-form/record-field.js.map +1 -1
- package/dist/schema-form/seeding-action.d.ts +15 -0
- package/dist/schema-form/seeding-action.d.ts.map +1 -0
- package/dist/schema-form/seeding-action.js +35 -0
- package/dist/schema-form/seeding-action.js.map +1 -0
- package/dist/schema-form/string-annotations.d.ts +22 -8
- package/dist/schema-form/string-annotations.d.ts.map +1 -1
- package/dist/schema-form/string-annotations.js +39 -14
- package/dist/schema-form/string-annotations.js.map +1 -1
- package/dist/schema-form/string-field.js +2 -84
- package/dist/schema-form/string-field.js.map +1 -1
- package/dist/schema-form/templated-field.d.ts +13 -0
- package/dist/schema-form/templated-field.d.ts.map +1 -0
- package/dist/schema-form/templated-field.js +43 -0
- package/dist/schema-form/templated-field.js.map +1 -0
- package/dist/schema-form/union-field.d.ts.map +1 -1
- package/dist/schema-form/union-field.js +6 -2
- package/dist/schema-form/union-field.js.map +1 -1
- package/dist/schema-form/union.d.ts +4 -4
- package/dist/schema-form/union.d.ts.map +1 -1
- package/dist/schema-form/union.js +8 -1
- package/dist/schema-form/union.js.map +1 -1
- package/dist/schema-form/validate.d.ts.map +1 -1
- package/dist/schema-form/validate.js +28 -0
- package/dist/schema-form/validate.js.map +1 -1
- package/dist/search-match.d.ts +29 -0
- package/dist/search-match.d.ts.map +1 -0
- package/dist/search-match.js +38 -0
- package/dist/search-match.js.map +1 -0
- package/dist/tool-organization.d.ts +15 -0
- package/dist/tool-organization.d.ts.map +1 -0
- package/dist/tool-organization.js +6 -0
- package/dist/tool-organization.js.map +1 -0
- package/package.json +3 -2
- package/src/components/agent-picker.tsx +2 -1
- package/src/components/channel-picker.tsx +2 -1
- package/src/components/combo-draft-editor.tsx +96 -0
- package/src/components/{extension-combo-parts.tsx → committed-combo-list.tsx} +4 -105
- package/src/components/components.css +53 -0
- package/src/components/explorer-body.tsx +29 -5
- package/src/components/explorer-view.tsx +48 -17
- package/src/components/extension-combo-builder.tsx +10 -10
- package/src/components/extension-config-editor.tsx +3 -3
- package/src/components/field.tsx +18 -2
- package/src/components/folder-actions.tsx +341 -0
- package/src/components/folder-filing.tsx +109 -0
- package/src/components/folder-nav.tsx +26 -10
- package/src/components/folder-occupancy.ts +83 -0
- package/src/components/named-list-picker.tsx +11 -7
- package/src/components/primitives.tsx +2 -1
- package/src/components/searchable-select-model.ts +105 -0
- package/src/components/searchable-select.tsx +432 -0
- package/src/components/selected-tool-badges.tsx +41 -0
- package/src/components/subject-section.tsx +3 -2
- package/src/components/table.tsx +12 -2
- package/src/components/tag-filter-field.tsx +37 -0
- package/src/components/tool-meta-access.tsx +101 -0
- package/src/components/tool-name-entry.tsx +77 -0
- package/src/components/tool-picker.tsx +87 -52
- package/src/components/tool-select.tsx +136 -0
- package/src/extension-combos.ts +15 -1
- package/src/hooks/useSystemKinds.tsx +77 -17
- package/src/index.ts +98 -94
- package/src/plugin/version.ts +1 -1
- package/src/schema-editor/SchemaEditor.tsx +9 -3
- package/src/schema-editor/index.ts +2 -2
- package/src/schema-form/array-field.tsx +10 -2
- package/src/schema-form/classify.ts +41 -15
- package/src/schema-form/collapsed-object-field.tsx +56 -0
- package/src/schema-form/context.ts +33 -1
- package/src/schema-form/default-value.ts +89 -15
- package/src/schema-form/expression-field.tsx +162 -0
- package/src/schema-form/field-model.ts +27 -4
- package/src/schema-form/field-node.tsx +41 -2
- package/src/schema-form/index.ts +3 -2
- package/src/schema-form/object-fields.tsx +11 -4
- package/src/schema-form/record-field.tsx +10 -2
- package/src/schema-form/seeding-action.ts +44 -0
- package/src/schema-form/string-annotations.ts +40 -14
- package/src/schema-form/string-field.tsx +2 -147
- package/src/schema-form/templated-field.tsx +124 -0
- package/src/schema-form/union-field.tsx +11 -2
- package/src/schema-form/union.ts +12 -5
- package/src/schema-form/validate.ts +28 -0
- package/src/search-match.ts +41 -0
- package/src/tool-organization.ts +34 -0
- package/dist/components/extension-combo-parts.d.ts +0 -46
- package/dist/components/extension-combo-parts.d.ts.map +0 -1
- package/dist/components/extension-combo-parts.js.map +0 -1
- package/dist/components/tool-picker-parts.d.ts +0 -43
- package/dist/components/tool-picker-parts.d.ts.map +0 -1
- package/dist/components/tool-picker-parts.js +0 -89
- package/dist/components/tool-picker-parts.js.map +0 -1
- package/src/components/tool-picker-parts.tsx +0 -195
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* `ToolPicker`'s typed entry: the control it draws when the session may not list tools
|
|
4
|
+
* (the read answered 403). The server checks a named tool on save, so a reader who
|
|
5
|
+
* knows the name can still fill the field; the note under the input says why there is
|
|
6
|
+
* no list.
|
|
7
|
+
*
|
|
8
|
+
* The input holds a draft while the reader types and hands the trimmed name to
|
|
9
|
+
* `onChange` on blur or Enter, so a host that acts on every change (an "add" control
|
|
10
|
+
* that appends each emitted name) receives one whole name, never each keystroke. Enter
|
|
11
|
+
* commits instead of submitting the enclosing form, since the form would otherwise read
|
|
12
|
+
* the value from before the commit. A blank draft emits nothing: the input shows the
|
|
13
|
+
* stored value again.
|
|
14
|
+
*/
|
|
15
|
+
import { useId, useState } from 'react';
|
|
16
|
+
import { useFieldControl } from './field';
|
|
17
|
+
import { TextInput } from './inputs';
|
|
18
|
+
/** The sentence under the typed entry, naming why there is no list and what saving does. */
|
|
19
|
+
export const TOOL_LIST_REFUSED_NOTE = "This session cannot list tools, so type the tool's exact name. Saving checks that the deployment serves it.";
|
|
20
|
+
const NOTE_STYLE = { margin: 0, color: 'var(--tai-color-text-muted)' };
|
|
21
|
+
export function ToolNameEntry({ value, onChange, disabled, ariaLabel, }) {
|
|
22
|
+
const noteId = useId();
|
|
23
|
+
const labelled = useFieldControl().id !== undefined;
|
|
24
|
+
const [draft, setDraft] = useState(undefined);
|
|
25
|
+
const commit = () => {
|
|
26
|
+
if (draft === undefined)
|
|
27
|
+
return;
|
|
28
|
+
const name = draft.trim();
|
|
29
|
+
setDraft(undefined);
|
|
30
|
+
if (name !== '' && name !== value)
|
|
31
|
+
onChange(name);
|
|
32
|
+
};
|
|
33
|
+
const onKeyDown = (event) => {
|
|
34
|
+
if (event.key !== 'Enter')
|
|
35
|
+
return;
|
|
36
|
+
event.preventDefault();
|
|
37
|
+
commit();
|
|
38
|
+
};
|
|
39
|
+
return (_jsxs(_Fragment, { children: [_jsx(TextInput, { value: draft ?? value ?? '', onChange: (event) => {
|
|
40
|
+
setDraft(event.target.value);
|
|
41
|
+
}, onBlur: commit, onKeyDown: onKeyDown, disabled: disabled, "aria-label": labelled ? undefined : ariaLabel, "aria-describedby": noteId, autoComplete: "off", spellCheck: false }), _jsx("p", { id: noteId, role: "status", style: NOTE_STYLE, children: TOOL_LIST_REFUSED_NOTE })] }));
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=tool-name-entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-name-entry.js","sourceRoot":"","sources":["../../src/components/tool-name-entry.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAsC,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5E,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,4FAA4F;AAC5F,MAAM,CAAC,MAAM,sBAAsB,GACjC,6GAA6G,CAAC;AAEhH,MAAM,UAAU,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,6BAA6B,EAAW,CAAC;AAWhF,MAAM,UAAU,aAAa,CAAC,EAC5B,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,SAAS,GACU;IACnB,MAAM,MAAM,GAAG,KAAK,EAAE,CAAC;IACvB,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC;IACpD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAqB,SAAS,CAAC,CAAC;IAElE,MAAM,MAAM,GAAG,GAAS,EAAE;QACxB,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO;QAChC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC1B,QAAQ,CAAC,SAAS,CAAC,CAAC;QACpB,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,KAAK;YAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,CAAC,KAAsC,EAAQ,EAAE;QACjE,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO;YAAE,OAAO;QAClC,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,MAAM,EAAE,CAAC;IACX,CAAC,CAAC;IAEF,OAAO,CACL,8BACE,KAAC,SAAS,IACR,KAAK,EAAE,KAAK,IAAI,KAAK,IAAI,EAAE,EAC3B,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;oBAClB,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC/B,CAAC,EACD,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,gBACN,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,sBAC1B,MAAM,EACxB,YAAY,EAAC,KAAK,EAClB,UAAU,EAAE,KAAK,GACjB,EACF,YAAG,EAAE,EAAE,MAAM,EAAE,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAE,UAAU,YAC3C,sBAAsB,GACrB,IACH,CACJ,CAAC;AACJ,CAAC"}
|
|
@@ -1,16 +1,23 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `ToolPicker` — a controlled single-select over the tool names a host offers, built
|
|
3
|
-
* on the DS `
|
|
4
|
-
* a listbox (the same reason `SchemaForm` lives in the SDK). It is
|
|
3
|
+
* on the DS `SearchableSelect` so features share one picker instead of each
|
|
4
|
+
* re-implementing a listbox (the same reason `SchemaForm` lives in the SDK). It is
|
|
5
5
|
* PRESENTATIONAL: the host owns the tool list read and hands it in as `query`, and
|
|
6
6
|
* owns the selected value; this component fetches nothing.
|
|
7
7
|
*
|
|
8
|
+
* Opening the picker opens a search box: typing narrows the options to the tools whose
|
|
9
|
+
* label contains the text, ignoring case. The label carries the display name and the
|
|
10
|
+
* raw name, so either finds the tool.
|
|
11
|
+
*
|
|
8
12
|
* The picker owns its `Field` (with `label`) and draws the read's states in it: pending
|
|
9
|
-
* (a disabled
|
|
13
|
+
* (a disabled select reading "Loading tools…"), error (`ErrorState` with Retry, or the
|
|
10
14
|
* host's `errorNote` line where the same failure is drawn with Retry elsewhere), refused
|
|
11
|
-
* (a 403
|
|
12
|
-
*
|
|
13
|
-
*
|
|
15
|
+
* (a 403 where the host sets no `errorNote`: the session may not list tools, so a text
|
|
16
|
+
* input takes the tool's name, with a note saying why there is no list; the server
|
|
17
|
+
* checks the name on save), and loaded with
|
|
18
|
+
* nothing to offer (the host's `emptyNote`, then its `emptyAction`). The host's `error`
|
|
19
|
+
* shows, and the `Field` claims its control id, exactly while a select or the typed
|
|
20
|
+
* entry renders.
|
|
14
21
|
*
|
|
15
22
|
* Optional extensions, each inert unless supplied:
|
|
16
23
|
* - `excludeNames` removes names from the options (e.g. a preset cannot be
|
|
@@ -30,8 +37,8 @@
|
|
|
30
37
|
* - `displayNames` (from the tool-meta overlay) overlays a human name onto the
|
|
31
38
|
* LABEL: a mapped option reads `Display Name (raw_name)`, an unmapped name (or a
|
|
32
39
|
* mapping equal to the raw name) reads the bare raw name. The value stays the raw
|
|
33
|
-
* name and grouping/filtering/exclusion key off raw names alone
|
|
34
|
-
* name is
|
|
40
|
+
* name and grouping/tag filtering/exclusion key off raw names alone; the display
|
|
41
|
+
* name only labels the option, and so is what the search reads with the raw name.
|
|
35
42
|
* - `badgesByTool` (native ∪ overlay, from the tool-meta merge) surfaces the
|
|
36
43
|
* SELECTED tool's DECLARED capability badges as read-only chips beneath the
|
|
37
44
|
* select. Badges are INFORMATIONAL — the tooltip says so — never a gate, so they
|
|
@@ -41,7 +48,7 @@
|
|
|
41
48
|
* every one renders as TEXT (React escapes it) — never an HTML sink. Pinned by a test.
|
|
42
49
|
*/
|
|
43
50
|
import { type ReactNode } from 'react';
|
|
44
|
-
export { BADGES_NOTE } from './tool-
|
|
51
|
+
export { BADGES_NOTE } from './selected-tool-badges';
|
|
45
52
|
/**
|
|
46
53
|
* The subset of a tool list read this picker reads: `data` is the names the host
|
|
47
54
|
* offers. A caller's TanStack `UseQueryResult<readonly string[]>` satisfies it
|
|
@@ -65,12 +72,11 @@ export interface ToolPickerProps {
|
|
|
65
72
|
/** Drawn after `emptyNote` in the empty state (e.g. a link to where tools come from). */
|
|
66
73
|
readonly emptyAction?: ReactNode;
|
|
67
74
|
/**
|
|
68
|
-
* Drawn in place of the `ErrorState` and the control when the read fails,
|
|
69
|
-
* Retry: for a host that already draws the same read's failure
|
|
75
|
+
* Drawn in place of the `ErrorState` and the control when the read fails, a 403
|
|
76
|
+
* included, with no Retry: for a host that already draws the same read's failure
|
|
77
|
+
* elsewhere. Such a host draws no typed entry on a 403.
|
|
70
78
|
*/
|
|
71
79
|
readonly errorNote?: string;
|
|
72
|
-
/** Drawn on a 403 of the read in place of the error state (the no-grant state). */
|
|
73
|
-
readonly forbiddenNote?: string;
|
|
74
80
|
/** Flags a stored value the loaded list does not carry (see the module docs). */
|
|
75
81
|
readonly unlistedLabel?: string;
|
|
76
82
|
readonly disabled?: boolean;
|
|
@@ -80,13 +86,12 @@ export interface ToolPickerProps {
|
|
|
80
86
|
readonly label?: string;
|
|
81
87
|
/** Handed to the picker's `Field` (with `label`). */
|
|
82
88
|
readonly description?: string;
|
|
83
|
-
/** The host's field error, shown under the control while
|
|
89
|
+
/** The host's field error, shown under the control while one renders (with `label`). */
|
|
84
90
|
readonly error?: string;
|
|
85
91
|
/**
|
|
86
|
-
* Accessible name for the
|
|
87
|
-
*
|
|
88
|
-
*
|
|
89
|
-
* otherwise override.
|
|
92
|
+
* Accessible name for the control when `label` renders none and no enclosing
|
|
93
|
+
* `Field` names it. `label` wins where both are given: it names the control from
|
|
94
|
+
* visible text, and the control drops a caller name it would otherwise override.
|
|
90
95
|
*/
|
|
91
96
|
readonly 'aria-label'?: string;
|
|
92
97
|
/** Names removed from the options (the server remains the authority). */
|
|
@@ -109,5 +114,5 @@ export interface ToolPickerProps {
|
|
|
109
114
|
*/
|
|
110
115
|
readonly badgesByTool?: Readonly<Record<string, readonly string[]>>;
|
|
111
116
|
}
|
|
112
|
-
export declare function ToolPicker({ query, value, onChange, emptyNote, emptyAction, errorNote,
|
|
117
|
+
export declare function ToolPicker({ query, value, onChange, emptyNote, emptyAction, errorNote, unlistedLabel, disabled, placeholder, idPrefix, label, description, error, 'aria-label': ariaLabel, excludeNames, tagsByTool, agentToolNames, displayNames, badgesByTool, }: ToolPickerProps): import("react").JSX.Element;
|
|
113
118
|
//# 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":"AAAA
|
|
1
|
+
{"version":3,"file":"tool-picker.d.ts","sourceRoot":"","sources":["../../src/components/tool-picker.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,OAAO,EAAE,KAAK,SAAS,EAA4B,MAAM,OAAO,CAAC;AAYjE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAIrD;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,iFAAiF;IACjF,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,sGAAsG;IACtG,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,yFAAyF;IACzF,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC;IACjC;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,iFAAiF;IACjF,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,4EAA4E;IAC5E,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,qDAAqD;IACrD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,wFAAwF;IACxF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;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;AA8GD,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,KAAK,EACL,QAAQ,EACR,SAAS,EACT,WAAW,EACX,SAAS,EACT,aAAa,EACb,QAAQ,EACR,WAA8B,EAC9B,QAAwB,EACxB,KAAK,EACL,WAAW,EACX,KAAK,EACL,YAAY,EAAE,SAAS,EACvB,YAAY,EACZ,UAAU,EACV,cAAc,EACd,YAAY,EACZ,YAAY,GACb,EAAE,eAAe,+BAkGjB"}
|
|
@@ -1,17 +1,24 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
/**
|
|
3
3
|
* `ToolPicker` — a controlled single-select over the tool names a host offers, built
|
|
4
|
-
* on the DS `
|
|
5
|
-
* a listbox (the same reason `SchemaForm` lives in the SDK). It is
|
|
4
|
+
* on the DS `SearchableSelect` so features share one picker instead of each
|
|
5
|
+
* re-implementing a listbox (the same reason `SchemaForm` lives in the SDK). It is
|
|
6
6
|
* PRESENTATIONAL: the host owns the tool list read and hands it in as `query`, and
|
|
7
7
|
* owns the selected value; this component fetches nothing.
|
|
8
8
|
*
|
|
9
|
+
* Opening the picker opens a search box: typing narrows the options to the tools whose
|
|
10
|
+
* label contains the text, ignoring case. The label carries the display name and the
|
|
11
|
+
* raw name, so either finds the tool.
|
|
12
|
+
*
|
|
9
13
|
* The picker owns its `Field` (with `label`) and draws the read's states in it: pending
|
|
10
|
-
* (a disabled
|
|
14
|
+
* (a disabled select reading "Loading tools…"), error (`ErrorState` with Retry, or the
|
|
11
15
|
* host's `errorNote` line where the same failure is drawn with Retry elsewhere), refused
|
|
12
|
-
* (a 403
|
|
13
|
-
*
|
|
14
|
-
*
|
|
16
|
+
* (a 403 where the host sets no `errorNote`: the session may not list tools, so a text
|
|
17
|
+
* input takes the tool's name, with a note saying why there is no list; the server
|
|
18
|
+
* checks the name on save), and loaded with
|
|
19
|
+
* nothing to offer (the host's `emptyNote`, then its `emptyAction`). The host's `error`
|
|
20
|
+
* shows, and the `Field` claims its control id, exactly while a select or the typed
|
|
21
|
+
* entry renders.
|
|
15
22
|
*
|
|
16
23
|
* Optional extensions, each inert unless supplied:
|
|
17
24
|
* - `excludeNames` removes names from the options (e.g. a preset cannot be
|
|
@@ -31,8 +38,8 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
|
|
|
31
38
|
* - `displayNames` (from the tool-meta overlay) overlays a human name onto the
|
|
32
39
|
* LABEL: a mapped option reads `Display Name (raw_name)`, an unmapped name (or a
|
|
33
40
|
* mapping equal to the raw name) reads the bare raw name. The value stays the raw
|
|
34
|
-
* name and grouping/filtering/exclusion key off raw names alone
|
|
35
|
-
* name is
|
|
41
|
+
* name and grouping/tag filtering/exclusion key off raw names alone; the display
|
|
42
|
+
* name only labels the option, and so is what the search reads with the raw name.
|
|
36
43
|
* - `badgesByTool` (native ∪ overlay, from the tool-meta merge) surfaces the
|
|
37
44
|
* SELECTED tool's DECLARED capability badges as read-only chips beneath the
|
|
38
45
|
* select. Badges are INFORMATIONAL — the tooltip says so — never a gate, so they
|
|
@@ -41,13 +48,16 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
|
|
|
41
48
|
* SAFETY: a tool name, a tag, a display name, AND a badge are server-supplied, so
|
|
42
49
|
* every one renders as TEXT (React escapes it) — never an HTML sink. Pinned by a test.
|
|
43
50
|
*/
|
|
44
|
-
import { useId, useState } from 'react';
|
|
51
|
+
import { useId, useMemo, useState } from 'react';
|
|
45
52
|
import { errorMessage, isForbiddenError } from '../errors';
|
|
46
53
|
import { Badge } from './badge';
|
|
47
54
|
import { Field } from './field';
|
|
48
55
|
import { ErrorState } from './primitives';
|
|
49
|
-
import {
|
|
50
|
-
|
|
56
|
+
import { SelectedToolBadges } from './selected-tool-badges';
|
|
57
|
+
import { ALL_TAGS, TagFilterField } from './tag-filter-field';
|
|
58
|
+
import { ToolNameEntry } from './tool-name-entry';
|
|
59
|
+
import { ToolSelect } from './tool-select';
|
|
60
|
+
export { BADGES_NOTE } from './selected-tool-badges';
|
|
51
61
|
const MUTED_LINE = { margin: 0, color: 'var(--tai-color-text-muted)' };
|
|
52
62
|
function phaseOf(refused, failed, unlisted, empty) {
|
|
53
63
|
if (refused)
|
|
@@ -58,33 +68,42 @@ function phaseOf(refused, failed, unlisted, empty) {
|
|
|
58
68
|
return 'unlisted';
|
|
59
69
|
return empty ? 'empty' : 'select';
|
|
60
70
|
}
|
|
61
|
-
|
|
71
|
+
/** The loaded names the picker offers: the read's data without `excludeNames`. */
|
|
72
|
+
function availableNames(data, excludeNames) {
|
|
62
73
|
const excluded = new Set(excludeNames ?? []);
|
|
63
|
-
|
|
74
|
+
return (data ?? []).filter((name) => !excluded.has(name));
|
|
75
|
+
}
|
|
76
|
+
function pickerState(query, available, value, unlistedLabel, errorNote) {
|
|
64
77
|
const stored = value !== null && value !== '' ? value : null;
|
|
65
78
|
const loaded = query.isSuccess && !query.isError;
|
|
66
79
|
const unlisted = unlistedLabel !== undefined && loaded && stored !== null && !available.includes(stored);
|
|
67
80
|
const empty = loaded && available.length === 0;
|
|
68
|
-
|
|
81
|
+
// A host with `errorNote` draws the read's failure itself, a 403 included.
|
|
82
|
+
const refused = errorNote === undefined && query.isError && isForbiddenError(query.error);
|
|
69
83
|
const phase = phaseOf(refused, query.isError, unlisted, empty);
|
|
70
|
-
return { phase,
|
|
84
|
+
return { phase, stored, pending: !loaded && !query.isError, unlisted, empty };
|
|
71
85
|
}
|
|
72
86
|
/** The distinct tags across `names`, sorted, feeding the filter control. */
|
|
73
87
|
function tagsAcross(names, tagsByTool) {
|
|
74
88
|
return [...new Set(names.flatMap((name) => tagsByTool[name] ?? []))].sort((a, b) => a.localeCompare(b));
|
|
75
89
|
}
|
|
76
90
|
/** The tag filter's choices, and the available names the chosen tag keeps. */
|
|
77
|
-
function tagView(
|
|
91
|
+
function tagView(available, listed, tagsByTool, tagFilter) {
|
|
78
92
|
if (tagsByTool === undefined)
|
|
79
|
-
return { allTags: [], filtered:
|
|
80
|
-
const listed = !state.pending && state.phase !== 'error' && state.phase !== 'refused';
|
|
93
|
+
return { allTags: [], filtered: available };
|
|
81
94
|
return {
|
|
82
|
-
allTags: listed ? tagsAcross(
|
|
95
|
+
allTags: listed ? tagsAcross(available, tagsByTool) : [],
|
|
83
96
|
filtered: tagFilter === ALL_TAGS
|
|
84
|
-
?
|
|
85
|
-
:
|
|
97
|
+
? available
|
|
98
|
+
: available.filter((name) => (tagsByTool[name] ?? []).includes(tagFilter)),
|
|
86
99
|
};
|
|
87
100
|
}
|
|
101
|
+
/** The option drawn ahead of the list's own: an unlisted value, flagged with `unlistedLabel`. */
|
|
102
|
+
function leadingOption(phase, stored, unlistedLabel) {
|
|
103
|
+
if (stored === null || phase !== 'unlisted')
|
|
104
|
+
return undefined;
|
|
105
|
+
return { value: stored, label: `${stored} (${unlistedLabel ?? ''})` };
|
|
106
|
+
}
|
|
88
107
|
function MutedLine({ text }) {
|
|
89
108
|
return (_jsx("p", { role: "status", style: MUTED_LINE, children: text }));
|
|
90
109
|
}
|
|
@@ -93,29 +112,30 @@ function ReadError({ query }) {
|
|
|
93
112
|
query.refetch();
|
|
94
113
|
} }));
|
|
95
114
|
}
|
|
96
|
-
export function ToolPicker({ query, value, onChange, emptyNote, emptyAction, errorNote,
|
|
115
|
+
export function ToolPicker({ query, value, onChange, emptyNote, emptyAction, errorNote, unlistedLabel, disabled, placeholder = 'Select a tool…', idPrefix = 'tool-picker', label, description, error, 'aria-label': ariaLabel, excludeNames, tagsByTool, agentToolNames, displayNames, badgesByTool, }) {
|
|
97
116
|
const [tagFilter, setTagFilter] = useState(ALL_TAGS);
|
|
98
117
|
const unlistedId = useId();
|
|
99
|
-
|
|
118
|
+
// Memoised so a host re-render hands the select the same options, and an open
|
|
119
|
+
// list keeps its rows instead of re-indexing every tool.
|
|
120
|
+
const available = useMemo(() => availableNames(query.data, excludeNames), [query.data, excludeNames]);
|
|
121
|
+
const state = pickerState(query, available, value, unlistedLabel, errorNote);
|
|
100
122
|
const { phase, stored } = state;
|
|
101
|
-
const
|
|
102
|
-
const
|
|
123
|
+
const listed = !state.pending && phase !== 'error' && phase !== 'refused';
|
|
124
|
+
const { allTags, filtered } = useMemo(() => tagView(available, listed, tagsByTool, tagFilter), [available, listed, tagsByTool, tagFilter]);
|
|
125
|
+
const leading = useMemo(() => leadingOption(phase, stored, unlistedLabel), [phase, stored, unlistedLabel]);
|
|
126
|
+
const select = (options) => (_jsx(ToolSelect, { tagsByTool: tagsByTool, filtered: options, value: value, onChange: onChange, placeholder: state.pending ? 'Loading tools…' : placeholder, ariaLabel: ariaLabel, ariaDescribedBy: state.unlisted ? unlistedId : undefined, disabled: disabled === true || state.pending, displayNames: displayNames, agentToolNames: agentToolNames, leading: leading }));
|
|
103
127
|
const emptyState = (_jsxs(_Fragment, { children: [_jsx(MutedLine, { text: emptyNote }), emptyAction] }));
|
|
104
|
-
// Only a rendered
|
|
128
|
+
// Only a rendered control claims the field's control id; with none the host's
|
|
105
129
|
// error is hidden and the note in its place says why the field is empty.
|
|
106
|
-
const
|
|
130
|
+
const controlRenders = phase === 'unlisted' || phase === 'select' || phase === 'refused';
|
|
107
131
|
const contentByPhase = {
|
|
108
|
-
|
|
109
|
-
refused: () => (_jsxs(_Fragment, { children: [stored !== null ? select([], { value: stored, label: stored }) : null, _jsx(MutedLine, { text: forbiddenNote ?? '' })] })),
|
|
132
|
+
refused: () => (_jsx(ToolNameEntry, { value: stored, onChange: onChange, disabled: disabled === true, ariaLabel: ariaLabel })),
|
|
110
133
|
error: () => errorNote !== undefined ? _jsx(MutedLine, { text: errorNote }) : _jsx(ReadError, { query: query }),
|
|
111
|
-
unlisted: () => (_jsxs(_Fragment, { children: [select(filtered, {
|
|
112
|
-
value: stored ?? '',
|
|
113
|
-
label: `${stored ?? ''} (${unlistedLabel ?? ''})`,
|
|
114
|
-
}), state.empty ? emptyState : null, _jsxs("p", { id: unlistedId, className: "tai-field-hint", style: { margin: 0 }, children: [_jsx(Badge, { variant: "warning", children: unlistedLabel }), " ", stored, " is ", unlistedLabel, ". Pick another, or saving is refused."] })] })),
|
|
134
|
+
unlisted: () => (_jsxs(_Fragment, { children: [select(filtered), state.empty ? emptyState : null, _jsxs("p", { id: unlistedId, className: "tai-field-hint", style: { margin: 0 }, children: [_jsx(Badge, { variant: "warning", children: unlistedLabel }), " ", stored, " is ", unlistedLabel, ". Pick another, or saving is refused."] })] })),
|
|
115
135
|
empty: () => emptyState,
|
|
116
|
-
select: () => select(filtered
|
|
136
|
+
select: () => select(filtered),
|
|
117
137
|
};
|
|
118
138
|
const content = contentByPhase[phase]();
|
|
119
|
-
return (_jsxs("div", { "data-testid": idPrefix, className: "tai-stack tai-stack-2", children: [allTags.length > 0 ? (_jsx(TagFilterField, { allTags: allTags, tagFilter: tagFilter, onTagFilterChange: setTagFilter, disabled: disabled })) : null, label !== undefined ? (_jsx(Field, { label: label, description: description, error:
|
|
139
|
+
return (_jsxs("div", { "data-testid": idPrefix, className: "tai-stack tai-stack-2", children: [allTags.length > 0 ? (_jsx(TagFilterField, { allTags: allTags, tagFilter: tagFilter, onTagFilterChange: setTagFilter, disabled: disabled })) : null, label !== undefined ? (_jsx(Field, { label: label, description: description, error: controlRenders ? error : undefined, group: !controlRenders, children: content })) : (content), _jsx(SelectedToolBadges, { value: value, badgesByTool: badgesByTool, idPrefix: idPrefix })] }));
|
|
120
140
|
}
|
|
121
141
|
//# 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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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `ToolPicker`'s tool select: a `SearchableSelect`, grouped by tag or flat, with the
|
|
3
|
+
* option-label and grouping helpers it renders from. Its search matches the option
|
|
4
|
+
* label, which carries both the display name and the raw name (`toolDisplayLabel`).
|
|
5
|
+
*/
|
|
6
|
+
import { type ReactNode } from 'react';
|
|
7
|
+
import type { SelectOption } from './select';
|
|
8
|
+
interface ToolSelectProps {
|
|
9
|
+
readonly tagsByTool: Readonly<Record<string, readonly string[]>> | undefined;
|
|
10
|
+
readonly filtered: readonly string[];
|
|
11
|
+
readonly value: string | null;
|
|
12
|
+
readonly onChange: (toolName: string) => void;
|
|
13
|
+
readonly placeholder: string;
|
|
14
|
+
readonly ariaLabel: string | undefined;
|
|
15
|
+
readonly disabled: boolean | undefined;
|
|
16
|
+
readonly displayNames: Readonly<Record<string, string>> | undefined;
|
|
17
|
+
readonly agentToolNames: ReadonlySet<string> | undefined;
|
|
18
|
+
/** An option drawn ahead of the list's own (a stored value the list does not carry). */
|
|
19
|
+
readonly leading: SelectOption | undefined;
|
|
20
|
+
readonly ariaDescribedBy: string | undefined;
|
|
21
|
+
}
|
|
22
|
+
/** The tool select: grouped by tag when `tagsByTool` is present, else a flat list.
|
|
23
|
+
* Either branch is a `SearchableSelect`, which claims the enclosing `Field`'s control id. */
|
|
24
|
+
export declare function ToolSelect({ tagsByTool, filtered, value, onChange, placeholder, ariaLabel, disabled, displayNames, agentToolNames, leading, ariaDescribedBy, }: ToolSelectProps): ReactNode;
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=tool-select.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-select.d.ts","sourceRoot":"","sources":["../../src/components/tool-select.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,KAAK,SAAS,EAAW,MAAM,OAAO,CAAC;AAIhD,OAAO,KAAK,EAAe,YAAY,EAAE,MAAM,UAAU,CAAC;AAsD1D,UAAU,eAAe;IACvB,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC;IAC7E,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;IACpE,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IACzD,wFAAwF;IACxF,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9C;AAyBD;8FAC8F;AAC9F,wBAAgB,UAAU,CAAC,EACzB,UAAU,EACV,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,WAAW,EACX,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,OAAO,EACP,eAAe,GAChB,EAAE,eAAe,GAAG,SAAS,CAoB7B"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* `ToolPicker`'s tool select: a `SearchableSelect`, grouped by tag or flat, with the
|
|
4
|
+
* option-label and grouping helpers it renders from. Its search matches the option
|
|
5
|
+
* label, which carries both the display name and the raw name (`toolDisplayLabel`).
|
|
6
|
+
*/
|
|
7
|
+
import { useMemo } from 'react';
|
|
8
|
+
import { toolDisplayLabel } from '../hooks/useToolDisplayNames';
|
|
9
|
+
import { SearchableSelect } from './searchable-select';
|
|
10
|
+
const NO_DISPLAY_NAMES = {};
|
|
11
|
+
const UNTAGGED = 'Untagged';
|
|
12
|
+
const SEARCH_LABEL = 'Search tools';
|
|
13
|
+
/** The group a tool sorts into: its alphabetically-first tag, else "Untagged". */
|
|
14
|
+
function groupFor(name, tagsByTool) {
|
|
15
|
+
const tags = [...(tagsByTool[name] ?? [])].sort((a, b) => a.localeCompare(b));
|
|
16
|
+
return tags[0] ?? UNTAGGED;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* The option label: `Display Name (raw)` when a distinct non-empty display name maps
|
|
20
|
+
* the name, else the bare name; either way suffixed " (agent)" for an agent run tool.
|
|
21
|
+
*/
|
|
22
|
+
function optionLabel(name, displayNames, agentToolNames) {
|
|
23
|
+
const base = toolDisplayLabel(displayNames ?? NO_DISPLAY_NAMES, name);
|
|
24
|
+
return agentToolNames?.has(name) === true ? `${base} (agent)` : base;
|
|
25
|
+
}
|
|
26
|
+
/** Build the grouped option clusters (sorted group labels, "Untagged" last). */
|
|
27
|
+
function buildGroups(names, tagsByTool, displayNames, agentToolNames) {
|
|
28
|
+
const byGroup = new Map();
|
|
29
|
+
for (const name of names) {
|
|
30
|
+
const group = groupFor(name, tagsByTool);
|
|
31
|
+
const bucket = byGroup.get(group) ?? [];
|
|
32
|
+
bucket.push(name);
|
|
33
|
+
byGroup.set(group, bucket);
|
|
34
|
+
}
|
|
35
|
+
return [...byGroup.entries()]
|
|
36
|
+
.sort(([a], [b]) => {
|
|
37
|
+
if (a === UNTAGGED)
|
|
38
|
+
return 1;
|
|
39
|
+
if (b === UNTAGGED)
|
|
40
|
+
return -1;
|
|
41
|
+
return a.localeCompare(b);
|
|
42
|
+
})
|
|
43
|
+
.map(([label, groupNames]) => ({
|
|
44
|
+
label,
|
|
45
|
+
options: groupNames.map((name) => ({
|
|
46
|
+
value: name,
|
|
47
|
+
label: optionLabel(name, displayNames, agentToolNames),
|
|
48
|
+
})),
|
|
49
|
+
}));
|
|
50
|
+
}
|
|
51
|
+
/** The select's options: tag groups when `tagsByTool` is present, else one flat run,
|
|
52
|
+
* with `leading` ahead of either. */
|
|
53
|
+
function toolListing(filtered, tagsByTool, displayNames, agentToolNames, leading) {
|
|
54
|
+
if (tagsByTool !== undefined) {
|
|
55
|
+
const groups = buildGroups(filtered, tagsByTool, displayNames, agentToolNames);
|
|
56
|
+
return {
|
|
57
|
+
groups: leading === undefined ? groups : [{ label: leading.label, options: [leading] }, ...groups],
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
const options = filtered.map((name) => ({
|
|
61
|
+
value: name,
|
|
62
|
+
label: optionLabel(name, displayNames, agentToolNames),
|
|
63
|
+
}));
|
|
64
|
+
return { options: leading === undefined ? options : [leading, ...options] };
|
|
65
|
+
}
|
|
66
|
+
/** The tool select: grouped by tag when `tagsByTool` is present, else a flat list.
|
|
67
|
+
* Either branch is a `SearchableSelect`, which claims the enclosing `Field`'s control id. */
|
|
68
|
+
export function ToolSelect({ tagsByTool, filtered, value, onChange, placeholder, ariaLabel, disabled, displayNames, agentToolNames, leading, ariaDescribedBy, }) {
|
|
69
|
+
// Memoised so a host re-render keeps the indexed options of an open list.
|
|
70
|
+
const listing = useMemo(() => toolListing(filtered, tagsByTool, displayNames, agentToolNames, leading), [filtered, tagsByTool, displayNames, agentToolNames, leading]);
|
|
71
|
+
const shared = {
|
|
72
|
+
value: value ?? '',
|
|
73
|
+
onValueChange: onChange,
|
|
74
|
+
placeholder,
|
|
75
|
+
'aria-label': ariaLabel,
|
|
76
|
+
'aria-describedby': ariaDescribedBy,
|
|
77
|
+
disabled,
|
|
78
|
+
searchLabel: SEARCH_LABEL,
|
|
79
|
+
};
|
|
80
|
+
return 'groups' in listing ? (_jsx(SearchableSelect, { ...shared, groups: listing.groups })) : (_jsx(SearchableSelect, { ...shared, options: listing.options }));
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=tool-select.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-select.js","sourceRoot":"","sources":["../../src/components/tool-select.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,11 +3,16 @@
|
|
|
3
3
|
* author `config` (`{ name, config }`) alongside bare-name elements. The editors
|
|
4
4
|
* hold the full config-bearing elements as their value, so config rides through an
|
|
5
5
|
* edit directly; these helpers project a combo to its bare extension names where a
|
|
6
|
-
* name-only view is needed (a picker's selection, a branch-tool name, a badge row)
|
|
6
|
+
* name-only view is needed (a picker's selection, a branch-tool name, a badge row)
|
|
7
|
+
* and compare or check combos by those names.
|
|
7
8
|
*/
|
|
8
9
|
import type { PresetExtensionElement } from '@tai42/api-client';
|
|
9
10
|
/** The bare extension name of one combo element (drops any `config`). */
|
|
10
11
|
export declare function extensionElementName(element: PresetExtensionElement): string;
|
|
11
12
|
/** Project a combo's elements to their bare extension names (drops any `config`). */
|
|
12
13
|
export declare function comboElementNames(combo: readonly PresetExtensionElement[]): string[];
|
|
14
|
+
/** Two combos are equal when their NAME sequences match (config is not part of identity). */
|
|
15
|
+
export declare function sameNames(a: readonly string[], b: readonly string[]): boolean;
|
|
16
|
+
/** The element names in a combo that are absent from the known catalog. */
|
|
17
|
+
export declare function unknownNames(combo: readonly PresetExtensionElement[], availableNames: ReadonlySet<string>): string[];
|
|
13
18
|
//# sourceMappingURL=extension-combos.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension-combos.d.ts","sourceRoot":"","sources":["../src/extension-combos.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"extension-combos.d.ts","sourceRoot":"","sources":["../src/extension-combos.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAEhE,yEAAyE;AACzE,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,CAE5E;AAED,qFAAqF;AACrF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,sBAAsB,EAAE,GAAG,MAAM,EAAE,CAEpF;AAED,6FAA6F;AAC7F,wBAAgB,SAAS,CAAC,CAAC,EAAE,SAAS,MAAM,EAAE,EAAE,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAE7E;AAED,2EAA2E;AAC3E,wBAAgB,YAAY,CAC1B,KAAK,EAAE,SAAS,sBAAsB,EAAE,EACxC,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,GAClC,MAAM,EAAE,CAEV"}
|
package/dist/extension-combos.js
CHANGED
|
@@ -6,4 +6,12 @@ export function extensionElementName(element) {
|
|
|
6
6
|
export function comboElementNames(combo) {
|
|
7
7
|
return combo.map(extensionElementName);
|
|
8
8
|
}
|
|
9
|
+
/** Two combos are equal when their NAME sequences match (config is not part of identity). */
|
|
10
|
+
export function sameNames(a, b) {
|
|
11
|
+
return a.length === b.length && a.every((name, index) => name === b[index]);
|
|
12
|
+
}
|
|
13
|
+
/** The element names in a combo that are absent from the known catalog. */
|
|
14
|
+
export function unknownNames(combo, availableNames) {
|
|
15
|
+
return comboElementNames(combo).filter((name) => !availableNames.has(name));
|
|
16
|
+
}
|
|
9
17
|
//# sourceMappingURL=extension-combos.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension-combos.js","sourceRoot":"","sources":["../src/extension-combos.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"extension-combos.js","sourceRoot":"","sources":["../src/extension-combos.ts"],"names":[],"mappings":"AAUA,yEAAyE;AACzE,MAAM,UAAU,oBAAoB,CAAC,OAA+B;IAClE,OAAO,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;AAC9D,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,iBAAiB,CAAC,KAAwC;IACxE,OAAO,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;AACzC,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,SAAS,CAAC,CAAoB,EAAE,CAAoB;IAClE,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,YAAY,CAC1B,KAAwC,EACxC,cAAmC;IAEnC,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9E,CAAC"}
|
package/dist/hooks/useApi.d.ts
CHANGED
|
@@ -655,6 +655,7 @@ export declare const ApiProvider: import("react").Provider<{
|
|
|
655
655
|
user_id: string;
|
|
656
656
|
}>;
|
|
657
657
|
readonly logout: () => Promise<{
|
|
658
|
+
end_session_url: string | null;
|
|
658
659
|
revoked: boolean;
|
|
659
660
|
}>;
|
|
660
661
|
readonly getAuthCapabilities: (signal?: AbortSignal) => Promise<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useApi.d.ts","sourceRoot":"","sources":["../../src/hooks/useApi.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useApi.d.ts","sourceRoot":"","sources":["../../src/hooks/useApi.ts"],"names":[],"mappings":"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"}
|