@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
|
@@ -14,6 +14,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
14
14
|
* shares one vocabulary/untagged-sentinel/OR-match rule rather than copying it.
|
|
15
15
|
*/
|
|
16
16
|
import { useEffect, useState } from 'react';
|
|
17
|
+
import { matchesSearch } from '../search-match';
|
|
17
18
|
import { ExplorerBody } from './explorer-body';
|
|
18
19
|
import { usePageSize } from './explorer-page-size';
|
|
19
20
|
import { TagFilterRow } from './explorer-tag-filter';
|
|
@@ -49,42 +50,55 @@ function itemOpenProps(item, onOpenItem) {
|
|
|
49
50
|
});
|
|
50
51
|
}
|
|
51
52
|
/** The current folder's filtered items and the tag vocabulary over the folder. */
|
|
52
|
-
function filterInFolder(inFolder, tags, selectedSet, search
|
|
53
|
+
function filterInFolder(inFolder, tags, selectedSet, search) {
|
|
53
54
|
return inFolder.filter((item) => {
|
|
54
55
|
if (tags !== undefined && selectedSet !== undefined && selectedSet.size > 0) {
|
|
55
56
|
if (!matchesSelectedTags(tags.getTags(item), selectedSet))
|
|
56
57
|
return false;
|
|
57
58
|
}
|
|
58
|
-
if (search !== undefined &&
|
|
59
|
-
|
|
60
|
-
return false;
|
|
61
|
-
}
|
|
59
|
+
if (search !== undefined && !matchesSearch(search.value, ...search.texts(item)))
|
|
60
|
+
return false;
|
|
62
61
|
return true;
|
|
63
62
|
});
|
|
64
63
|
}
|
|
65
|
-
|
|
64
|
+
/**
|
|
65
|
+
* The folder the explorer shows. The open folder can stop being drawn while the user
|
|
66
|
+
* is inside it (deleted, or its last item on this screen filed elsewhere); the
|
|
67
|
+
* explorer then shows the root, so the breadcrumb and the body agree, and hands the
|
|
68
|
+
* root back to the screen's navigation state. One linear pass over the drawn folders.
|
|
69
|
+
*/
|
|
70
|
+
function useShownFolderId(currentFolderId, folders, onNavigate) {
|
|
71
|
+
const currentDrawn = currentFolderId === null || folders.some((folder) => folder.id === currentFolderId);
|
|
72
|
+
useEffect(() => {
|
|
73
|
+
if (!currentDrawn)
|
|
74
|
+
onNavigate(null);
|
|
75
|
+
}, [currentDrawn, onNavigate]);
|
|
76
|
+
return currentDrawn ? currentFolderId : null;
|
|
77
|
+
}
|
|
78
|
+
export function ExplorerView({ items, getItemKey, getFolderId, folders, currentFolderId, onNavigate, rootLabel, viewSurface, label, columns, renderRow, renderCard, onOpenItem, selectedItemKey, tags, search, renderFolderActions, emptyStates, }) {
|
|
66
79
|
const [viewMode, setViewMode] = useViewMode(viewSurface);
|
|
67
80
|
const [pageSize, setPageSize] = usePageSize(viewSurface);
|
|
68
81
|
const [page, setPage] = useState(1);
|
|
69
82
|
const query = search ? search.value.trim() : '';
|
|
70
83
|
const tagKey = tags !== undefined ? tags.selected.join('\0') : '';
|
|
84
|
+
const folderId = useShownFolderId(currentFolderId, folders, onNavigate);
|
|
71
85
|
// A new filter view starts on its first page; the clamp below then handles a
|
|
72
86
|
// set that shrinks under the current page without a reset.
|
|
73
87
|
useEffect(() => {
|
|
74
88
|
setPage(1);
|
|
75
|
-
}, [
|
|
89
|
+
}, [folderId, query, tagKey, pageSize]);
|
|
76
90
|
if (viewSurface === '')
|
|
77
91
|
throw new Error('ExplorerView requires a non-empty viewSurface key.');
|
|
78
92
|
if (columns.length === 0)
|
|
79
93
|
throw new Error('ExplorerView requires at least one column.');
|
|
80
|
-
//
|
|
81
|
-
if (items.length === 0
|
|
94
|
+
// No item anywhere: a bare empty state, no controls — whatever folders exist.
|
|
95
|
+
if (items.length === 0) {
|
|
82
96
|
return _jsx(EmptyState, { ...emptyStates.empty });
|
|
83
97
|
}
|
|
84
|
-
const subfolders = childFolders(folders,
|
|
85
|
-
const inFolder = items.filter((item) => getFolderId(item) ===
|
|
98
|
+
const subfolders = childFolders(folders, folderId);
|
|
99
|
+
const inFolder = items.filter((item) => getFolderId(item) === folderId);
|
|
86
100
|
const selectedSet = tags !== undefined ? new Set(tags.selected) : undefined;
|
|
87
|
-
const filtered = filterInFolder(inFolder, tags, selectedSet, search
|
|
101
|
+
const filtered = filterInFolder(inFolder, tags, selectedSet, search);
|
|
88
102
|
const vocabulary = tags !== undefined
|
|
89
103
|
? buildTagVocabulary(inFolder, tags.getTags, tags.selected, tags.untaggedLabel)
|
|
90
104
|
: [];
|
|
@@ -116,7 +130,7 @@ export function ExplorerView({ items, getItemKey, getFolderId, folders, currentF
|
|
|
116
130
|
// Every surface label is a regular English plural (Tools/Templates/Resources),
|
|
117
131
|
// so a count of one drops the trailing "s".
|
|
118
132
|
const countLabel = items.length === 1 ? label.toLowerCase().replace(/s$/, '') : label.toLowerCase();
|
|
119
|
-
return (_jsxs("div", { className: "tai-explorer", children: [_jsx(ExplorerControls, { itemCount: items.length, countLabel: countLabel, label: label, search: search, viewMode: viewMode, onViewModeChange: setViewMode }), _jsx(FolderBreadcrumb, { folders: folders, currentFolderId:
|
|
133
|
+
return (_jsxs("div", { className: "tai-explorer", children: [_jsx(ExplorerControls, { itemCount: items.length, countLabel: countLabel, label: label, search: search, viewMode: viewMode, onViewModeChange: setViewMode }), _jsx(FolderBreadcrumb, { folders: folders, currentFolderId: folderId, onNavigate: onNavigate, rootLabel: rootLabel }), tags !== undefined && selectedSet !== undefined && vocabulary.length > 0 ? (_jsx(TagFilterRow, { vocabulary: vocabulary, selectedSet: selectedSet, onToggle: toggleTag, filterLabel: tags.filterLabel, maxVisibleTags: tags.maxVisibleTags })) : null, _jsx(ExplorerBody, { hasEntries: hasEntries, inFolderCount: inFolder.length, emptyStates: emptyStates, viewMode: viewMode, label: label, columns: columns, pageEntries: pageEntries, getItemKey: getItemKey, selectedItemKey: selectedItemKey, renderRow: renderRow, renderCard: renderCard, openProps: openProps, onNavigate: onNavigate, renderFolderActions: renderFolderActions, pager: {
|
|
120
134
|
label,
|
|
121
135
|
pageStart,
|
|
122
136
|
pageSize,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"explorer-view.js","sourceRoot":"","sources":["../../src/components/explorer-view.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAkB,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5D,OAAO,EAAE,YAAY,EAAsB,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAe,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAwB,eAAe,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAiB,UAAU,EAAE,MAAM,eAAe,CAAC;AAGvE,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"explorer-view.js","sourceRoot":"","sources":["../../src/components/explorer-view.tsx"],"names":[],"mappings":"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"}
|
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
* preset/tool extensions wire carries. It is PRESENTATIONAL: the caller fetches the
|
|
7
7
|
* extension catalog (`available`) and owns the `value`; this component fetches nothing.
|
|
8
8
|
*
|
|
9
|
-
* The surface has two
|
|
10
|
-
* - the current combos, each an ordered row of name `Badge`s
|
|
11
|
-
* (pull it back into the draft) and Remove;
|
|
12
|
-
* - a combo UNDER CONSTRUCTION, authored with the shared `ExtensionPicker` (grouped
|
|
9
|
+
* The surface has two sections:
|
|
10
|
+
* - the current combos (`CommittedComboList`), each an ordered row of name `Badge`s
|
|
11
|
+
* with a per-combo Edit (pull it back into the draft) and Remove;
|
|
12
|
+
* - a combo UNDER CONSTRUCTION (`ComboDraftEditor`), authored with the shared `ExtensionPicker` (grouped
|
|
13
13
|
* by kind, single-select for the non-stackable `backend` kind). An extension whose
|
|
14
14
|
* catalog entry declares a `config_schema` is authored as `{ name, config }` through
|
|
15
15
|
* its settings form; any other name stays a bare element, or the edited combo's own
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useEffect, useState } from 'react';
|
|
3
|
-
import { comboElementNames, extensionElementName } from '../extension-combos';
|
|
4
|
-
import { ComboDraftEditor
|
|
3
|
+
import { comboElementNames, extensionElementName, sameNames, unknownNames, } from '../extension-combos';
|
|
4
|
+
import { ComboDraftEditor } from './combo-draft-editor';
|
|
5
|
+
import { CommittedComboList } from './committed-combo-list';
|
|
5
6
|
export function ExtensionComboBuilder({ available, value, onChange, disabled, idPrefix = 'extension-combo-builder', onValidityChange, availableReady = true, }) {
|
|
6
7
|
const [draft, setDraft] = useState([]);
|
|
7
8
|
// The settings each drafted configurable extension's form last reported.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension-combo-builder.js","sourceRoot":"","sources":["../../src/components/extension-combo-builder.tsx"],"names":[],"mappings":";AAsCA,OAAO,EAAkB,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5D,OAAO,
|
|
1
|
+
{"version":3,"file":"extension-combo-builder.js","sourceRoot":"","sources":["../../src/components/extension-combo-builder.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension-config-editor.js","sourceRoot":"","sources":["../../src/components/extension-config-editor.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAkB,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"extension-config-editor.js","sourceRoot":"","sources":["../../src/components/extension-config-editor.tsx"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,12 @@ export interface FieldControlProps {
|
|
|
24
24
|
* expose its invalid state.
|
|
25
25
|
*/
|
|
26
26
|
export declare function useFieldControl(): FieldControlProps;
|
|
27
|
+
/**
|
|
28
|
+
* The id of the enclosing Field's label while it names one control, else `undefined`.
|
|
29
|
+
* A control whose popup holds a second labelled surface (a listbox, a dialog) points
|
|
30
|
+
* that surface's `aria-labelledby` at it, so the popup carries the field's name.
|
|
31
|
+
*/
|
|
32
|
+
export declare function useFieldLabelId(): string | undefined;
|
|
27
33
|
export interface FieldProps {
|
|
28
34
|
readonly label: string;
|
|
29
35
|
readonly description?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../src/components/field.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../src/components/field.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAetD,+DAA+D;AAC/D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;IAChD,QAAQ,CAAC,cAAc,EAAE,IAAI,GAAG,SAAS,CAAC;CAC3C;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,IAAI,iBAAiB,CAUnD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,MAAM,GAAG,SAAS,CAEpD;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC;IAC/B,sFAAsF;IACtF,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,wBAAgB,KAAK,CAAC,EACpB,KAAK,EACL,WAAW,EACX,KAAK,EACL,QAAQ,EACR,KAAK,EACL,SAAS,EACT,KAAa,EACb,SAAiB,GAClB,EAAE,UAAU,+BA+EZ"}
|
package/dist/components/field.js
CHANGED
|
@@ -23,6 +23,14 @@ export function useFieldControl() {
|
|
|
23
23
|
'aria-invalid': ctx.invalid ? true : undefined,
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* The id of the enclosing Field's label while it names one control, else `undefined`.
|
|
28
|
+
* A control whose popup holds a second labelled surface (a listbox, a dialog) points
|
|
29
|
+
* that surface's `aria-labelledby` at it, so the popup carries the field's name.
|
|
30
|
+
*/
|
|
31
|
+
export function useFieldLabelId() {
|
|
32
|
+
return useContext(FieldContext)?.labelId;
|
|
33
|
+
}
|
|
26
34
|
export function Field({ label, description, error, children, style, className, group = false, hideLabel = false, }) {
|
|
27
35
|
const controlId = useId();
|
|
28
36
|
const labelId = `${controlId}-label`;
|
|
@@ -41,8 +49,13 @@ export function Field({ label, description, error, children, style, className, g
|
|
|
41
49
|
// if the group Field withheld it too, a group Field carrying an `error` would
|
|
42
50
|
// expose its invalid state NOWHERE in the accessibility tree.
|
|
43
51
|
const value = group
|
|
44
|
-
? {
|
|
45
|
-
|
|
52
|
+
? {
|
|
53
|
+
controlId: undefined,
|
|
54
|
+
labelId: undefined,
|
|
55
|
+
describedBy: undefined,
|
|
56
|
+
invalid: error !== undefined,
|
|
57
|
+
}
|
|
58
|
+
: { controlId, labelId, describedBy, invalid: error !== undefined };
|
|
46
59
|
// The label keeps its `htmlFor`/`id` wiring either way — `hideLabel` only drops
|
|
47
60
|
// its PAINT, so the accessible name it gives the control is unchanged.
|
|
48
61
|
const labelClassName = hideLabel ? 'tai-field-label tai-visually-hidden' : 'tai-field-label';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field.js","sourceRoot":"","sources":["../../src/components/field.tsx"],"names":[],"mappings":";AASA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"field.js","sourceRoot":"","sources":["../../src/components/field.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The folder WRITES of the tool-organization tree — create, rename, move and delete —
|
|
3
|
+
* shared by every screen that shows the tree, so each offers the same actions over
|
|
4
|
+
* the same client doors (`createFolder` / `renameFolder` / `moveFolder` /
|
|
5
|
+
* `deleteFolder`).
|
|
6
|
+
*
|
|
7
|
+
* The SDK owns no query cache, so every write takes the screen's
|
|
8
|
+
* `onFoldersChanged`: the screen re-reads the overlay under its own key, and the
|
|
9
|
+
* write resolves only after that refresh, so the tree on screen is never stale when
|
|
10
|
+
* a dialog closes. Each dialog owns its own pending and error state, so a failure on
|
|
11
|
+
* one folder never bleeds onto another, and every failure is shown in its dialog.
|
|
12
|
+
*
|
|
13
|
+
* Move offers every folder EXCEPT the folder itself and its descendants (a folder
|
|
14
|
+
* cannot become its own ancestor), with inline create. Delete asks first and lets the
|
|
15
|
+
* server enforce that only an empty folder can go; a refusal is shown in the dialog.
|
|
16
|
+
*
|
|
17
|
+
* Each action is offered only where the caller may make that write
|
|
18
|
+
* ({@link useToolMetaWriteAccess}): its own route, and the tool_meta store not known
|
|
19
|
+
* off. A not-configured refusal is reported, so every screen withdraws its overlay
|
|
20
|
+
* writes; the open dialog stays to show the server's off note.
|
|
21
|
+
*/
|
|
22
|
+
import { type ReactNode } from 'react';
|
|
23
|
+
import { type Folder } from './folder-nav';
|
|
24
|
+
/** Re-read the folder tree after a write; the write resolves once this settles. */
|
|
25
|
+
export type FoldersChanged = () => Promise<void>;
|
|
26
|
+
/** Create a folder under `parentId` and resolve with its id. */
|
|
27
|
+
export type CreateFolder = (name: string, parentId: string | null) => Promise<string>;
|
|
28
|
+
/**
|
|
29
|
+
* Create a folder through the folder door and refresh the screen's tree, resolving
|
|
30
|
+
* with the new folder's id — the shape {@link FolderPicker}'s `onCreateFolder`
|
|
31
|
+
* takes. `undefined` when the caller may not create a folder, so the picker offers
|
|
32
|
+
* no create. A rejection propagates to the picker, which shows it; a not-configured
|
|
33
|
+
* refusal is also reported, withdrawing every overlay write.
|
|
34
|
+
*/
|
|
35
|
+
export declare function useCreateFolder(onFoldersChanged: FoldersChanged): CreateFolder | undefined;
|
|
36
|
+
/** Props of {@link FolderActionsMenu}. */
|
|
37
|
+
export interface FolderActionsMenuProps {
|
|
38
|
+
/** The folder the actions act on. */
|
|
39
|
+
readonly folder: Folder;
|
|
40
|
+
/** The FULL folder tree, offered as move destinations. */
|
|
41
|
+
readonly folders: readonly Folder[];
|
|
42
|
+
/** The screen's refresh of its overlay read, awaited after every write. */
|
|
43
|
+
readonly onFoldersChanged: FoldersChanged;
|
|
44
|
+
}
|
|
45
|
+
/** The Rename, Move and Delete buttons for one folder row/card, each owning its
|
|
46
|
+
* dialog — for an explorer's `renderFolderActions` slot. Each button shows only
|
|
47
|
+
* where the caller may make that write; a dialog already open stays open after its
|
|
48
|
+
* button is withdrawn, so its outcome is still shown. Renders nothing for a caller
|
|
49
|
+
* who may make none of the three writes. */
|
|
50
|
+
export declare function FolderActionsMenu({ folder, folders, onFoldersChanged, }: FolderActionsMenuProps): ReactNode;
|
|
51
|
+
//# sourceMappingURL=folder-actions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"folder-actions.d.ts","sourceRoot":"","sources":["../../src/components/folder-actions.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,KAAK,SAAS,EAAyB,MAAM,OAAO,CAAC;AAQ9D,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,cAAc,CAAC;AASzD,mFAAmF;AACnF,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AAEjD,gEAAgE;AAChE,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAEtF;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,gBAAgB,EAAE,cAAc,GAAG,YAAY,GAAG,SAAS,CAmB1F;AA+LD,0CAA0C;AAC1C,MAAM,WAAW,sBAAsB;IACrC,qCAAqC;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,0DAA0D;IAC1D,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,2EAA2E;IAC3E,QAAQ,CAAC,gBAAgB,EAAE,cAAc,CAAC;CAC3C;AAED;;;;6CAI6C;AAC7C,wBAAgB,iBAAiB,CAAC,EAChC,MAAM,EACN,OAAO,EACP,gBAAgB,GACjB,EAAE,sBAAsB,GAAG,SAAS,CA4DpC"}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* The folder WRITES of the tool-organization tree — create, rename, move and delete —
|
|
4
|
+
* shared by every screen that shows the tree, so each offers the same actions over
|
|
5
|
+
* the same client doors (`createFolder` / `renameFolder` / `moveFolder` /
|
|
6
|
+
* `deleteFolder`).
|
|
7
|
+
*
|
|
8
|
+
* The SDK owns no query cache, so every write takes the screen's
|
|
9
|
+
* `onFoldersChanged`: the screen re-reads the overlay under its own key, and the
|
|
10
|
+
* write resolves only after that refresh, so the tree on screen is never stale when
|
|
11
|
+
* a dialog closes. Each dialog owns its own pending and error state, so a failure on
|
|
12
|
+
* one folder never bleeds onto another, and every failure is shown in its dialog.
|
|
13
|
+
*
|
|
14
|
+
* Move offers every folder EXCEPT the folder itself and its descendants (a folder
|
|
15
|
+
* cannot become its own ancestor), with inline create. Delete asks first and lets the
|
|
16
|
+
* server enforce that only an empty folder can go; a refusal is shown in the dialog.
|
|
17
|
+
*
|
|
18
|
+
* Each action is offered only where the caller may make that write
|
|
19
|
+
* ({@link useToolMetaWriteAccess}): its own route, and the tool_meta store not known
|
|
20
|
+
* off. A not-configured refusal is reported, so every screen withdraws its overlay
|
|
21
|
+
* writes; the open dialog stays to show the server's off note.
|
|
22
|
+
*/
|
|
23
|
+
import { useCallback, useState } from 'react';
|
|
24
|
+
import { errorMessage } from '../errors';
|
|
25
|
+
import { FeatureDisabled, featureDisabledMessage, isFeatureDisabled } from '../feature-disabled';
|
|
26
|
+
import { useApi } from '../hooks/useApi';
|
|
27
|
+
import { ConfirmDialog } from './confirm-dialog';
|
|
28
|
+
import { Dialog } from './dialog';
|
|
29
|
+
import { Field } from './field';
|
|
30
|
+
import { FolderPicker } from './folder-nav';
|
|
31
|
+
import { TextInput } from './inputs';
|
|
32
|
+
import { Button, Spinner } from './primitives';
|
|
33
|
+
import { ToolMetaWriteError, useReportToolMetaRefusal, useToolMetaWriteAccess, } from './tool-meta-access';
|
|
34
|
+
/**
|
|
35
|
+
* Create a folder through the folder door and refresh the screen's tree, resolving
|
|
36
|
+
* with the new folder's id — the shape {@link FolderPicker}'s `onCreateFolder`
|
|
37
|
+
* takes. `undefined` when the caller may not create a folder, so the picker offers
|
|
38
|
+
* no create. A rejection propagates to the picker, which shows it; a not-configured
|
|
39
|
+
* refusal is also reported, withdrawing every overlay write.
|
|
40
|
+
*/
|
|
41
|
+
export function useCreateFolder(onFoldersChanged) {
|
|
42
|
+
const api = useApi();
|
|
43
|
+
const { createFolder: allowed } = useToolMetaWriteAccess();
|
|
44
|
+
const reportRefusal = useReportToolMetaRefusal();
|
|
45
|
+
const create = useCallback(async (name, parentId) => {
|
|
46
|
+
let created;
|
|
47
|
+
try {
|
|
48
|
+
created = await api.createFolder(name, parentId);
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
reportRefusal(error);
|
|
52
|
+
throw error;
|
|
53
|
+
}
|
|
54
|
+
await onFoldersChanged();
|
|
55
|
+
return created.id;
|
|
56
|
+
}, [api, onFoldersChanged, reportRefusal]);
|
|
57
|
+
return allowed ? create : undefined;
|
|
58
|
+
}
|
|
59
|
+
/** One write's pending + error state: `run` clears the last error, awaits the write
|
|
60
|
+
* and keeps a rejection for the dialog to show, reporting a not-configured one. */
|
|
61
|
+
function useFolderWrite(write) {
|
|
62
|
+
const reportRefusal = useReportToolMetaRefusal();
|
|
63
|
+
const [pending, setPending] = useState(false);
|
|
64
|
+
const [error, setError] = useState(null);
|
|
65
|
+
const run = () => {
|
|
66
|
+
if (pending)
|
|
67
|
+
return;
|
|
68
|
+
setPending(true);
|
|
69
|
+
setError(null);
|
|
70
|
+
write().then(() => {
|
|
71
|
+
setPending(false);
|
|
72
|
+
}, (failure) => {
|
|
73
|
+
setError(failure);
|
|
74
|
+
setPending(false);
|
|
75
|
+
reportRefusal(failure);
|
|
76
|
+
});
|
|
77
|
+
};
|
|
78
|
+
return { run, pending, error };
|
|
79
|
+
}
|
|
80
|
+
/** The ids of `folder` and every folder nested beneath it — linear in the folder
|
|
81
|
+
* count and safe on a cyclic parent chain. */
|
|
82
|
+
function subtreeIds(folder, folders) {
|
|
83
|
+
const childrenByParent = new Map();
|
|
84
|
+
for (const candidate of folders) {
|
|
85
|
+
if (candidate.parentId === null)
|
|
86
|
+
continue;
|
|
87
|
+
const siblings = childrenByParent.get(candidate.parentId) ?? [];
|
|
88
|
+
siblings.push(candidate.id);
|
|
89
|
+
childrenByParent.set(candidate.parentId, siblings);
|
|
90
|
+
}
|
|
91
|
+
const ids = new Set([folder.id]);
|
|
92
|
+
const queue = [folder.id];
|
|
93
|
+
for (let next = queue.pop(); next !== undefined; next = queue.pop()) {
|
|
94
|
+
for (const childId of childrenByParent.get(next) ?? []) {
|
|
95
|
+
if (ids.has(childId))
|
|
96
|
+
continue;
|
|
97
|
+
ids.add(childId);
|
|
98
|
+
queue.push(childId);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return ids;
|
|
102
|
+
}
|
|
103
|
+
function RenameFolderDialog({ folder, onFoldersChanged, onClose }) {
|
|
104
|
+
const api = useApi();
|
|
105
|
+
const [name, setName] = useState(folder.name);
|
|
106
|
+
const trimmed = name.trim();
|
|
107
|
+
const rename = useFolderWrite(async () => {
|
|
108
|
+
await api.renameFolder(folder.id, trimmed);
|
|
109
|
+
await onFoldersChanged();
|
|
110
|
+
onClose();
|
|
111
|
+
});
|
|
112
|
+
const blocked = trimmed === '' || trimmed === folder.name || rename.pending;
|
|
113
|
+
return (_jsxs(Dialog, { title: "Rename folder", open: true, onOpenChange: (next) => {
|
|
114
|
+
if (!next)
|
|
115
|
+
onClose();
|
|
116
|
+
}, children: [_jsx(Field, { label: "Folder name", children: _jsx(TextInput, { value: name, autoComplete: "off", onChange: (event) => {
|
|
117
|
+
setName(event.target.value);
|
|
118
|
+
}, onKeyDown: (event) => {
|
|
119
|
+
if (event.key === 'Enter' && !blocked) {
|
|
120
|
+
event.preventDefault();
|
|
121
|
+
rename.run();
|
|
122
|
+
}
|
|
123
|
+
} }) }), _jsx(ToolMetaWriteError, { error: rename.error }), _jsxs("div", { className: "tai-dialog-actions", children: [_jsx(Button, { type: "button", onClick: onClose, children: "Cancel" }), _jsxs(Button, { type: "button", variant: "primary", disabled: blocked, onClick: rename.run, children: [rename.pending ? _jsx(Spinner, { label: "Renaming folder" }) : null, "Rename"] })] })] }));
|
|
124
|
+
}
|
|
125
|
+
function MoveFolderDialog({ folder, folders, onFoldersChanged, onClose, }) {
|
|
126
|
+
const api = useApi();
|
|
127
|
+
const [parentId, setParentId] = useState(folder.parentId);
|
|
128
|
+
const createFolder = useCreateFolder(onFoldersChanged);
|
|
129
|
+
const move = useFolderWrite(async () => {
|
|
130
|
+
await api.moveFolder(folder.id, parentId);
|
|
131
|
+
await onFoldersChanged();
|
|
132
|
+
onClose();
|
|
133
|
+
});
|
|
134
|
+
const forbidden = subtreeIds(folder, folders);
|
|
135
|
+
const targets = folders.filter((candidate) => !forbidden.has(candidate.id));
|
|
136
|
+
return (_jsxs(Dialog, { title: `Move ${folder.name}`, open: true, onOpenChange: (next) => {
|
|
137
|
+
if (!next)
|
|
138
|
+
onClose();
|
|
139
|
+
}, children: [_jsx(Field, { label: "Destination folder", description: "Choose a new parent, or the root.", group: true, children: _jsx(FolderPicker, { value: parentId, onChange: setParentId, folders: targets, onCreateFolder: createFolder, unfiledLabel: "Root (no folder)" }) }), _jsx(ToolMetaWriteError, { error: move.error }), _jsxs("div", { className: "tai-dialog-actions", children: [_jsx(Button, { type: "button", onClick: onClose, children: "Cancel" }), _jsxs(Button, { type: "button", variant: "primary", disabled: parentId === folder.parentId || move.pending, onClick: move.run, children: [move.pending ? _jsx(Spinner, { label: "Moving folder" }) : null, "Move"] })] })] }));
|
|
140
|
+
}
|
|
141
|
+
function DeleteFolderDialog({ folder, onFoldersChanged, onClose }) {
|
|
142
|
+
const api = useApi();
|
|
143
|
+
const remove = useFolderWrite(async () => {
|
|
144
|
+
await api.deleteFolder(folder.id);
|
|
145
|
+
await onFoldersChanged();
|
|
146
|
+
onClose();
|
|
147
|
+
});
|
|
148
|
+
const off = isFeatureDisabled(remove.error);
|
|
149
|
+
return (_jsx(ConfirmDialog, { title: `Delete ${folder.name}?`, confirmLabel: "Delete folder", pendingLabel: "Deleting folder", onConfirm: remove.run, onClose: onClose, isPending: remove.pending, error: remove.error !== null && !off ? errorMessage(remove.error) : null, disabledNote: off ? (_jsx(FeatureDisabled, { feature: "Tool metadata", message: featureDisabledMessage(remove.error) })) : undefined, children: _jsx("p", { children: "Only an empty folder can be deleted \u2014 one that still holds tools (hidden ones count) or subfolders cannot be." }) }));
|
|
150
|
+
}
|
|
151
|
+
/** The Rename, Move and Delete buttons for one folder row/card, each owning its
|
|
152
|
+
* dialog — for an explorer's `renderFolderActions` slot. Each button shows only
|
|
153
|
+
* where the caller may make that write; a dialog already open stays open after its
|
|
154
|
+
* button is withdrawn, so its outcome is still shown. Renders nothing for a caller
|
|
155
|
+
* who may make none of the three writes. */
|
|
156
|
+
export function FolderActionsMenu({ folder, folders, onFoldersChanged, }) {
|
|
157
|
+
const access = useToolMetaWriteAccess();
|
|
158
|
+
const [action, setAction] = useState(null);
|
|
159
|
+
const close = () => {
|
|
160
|
+
setAction(null);
|
|
161
|
+
};
|
|
162
|
+
if (!access.renameFolder && !access.moveFolder && !access.deleteFolder && action === null) {
|
|
163
|
+
return null;
|
|
164
|
+
}
|
|
165
|
+
return (_jsxs("div", { className: "tai-row", children: [access.renameFolder ? (_jsx(Button, { variant: "ghost", "aria-label": `Rename folder ${folder.name}`, onClick: () => {
|
|
166
|
+
setAction('rename');
|
|
167
|
+
}, children: "Rename" })) : null, access.moveFolder ? (_jsx(Button, { variant: "ghost", "aria-label": `Move folder ${folder.name}`, onClick: () => {
|
|
168
|
+
setAction('move');
|
|
169
|
+
}, children: "Move" })) : null, access.deleteFolder ? (_jsx(Button, { variant: "ghost", "aria-label": `Delete folder ${folder.name}`, onClick: () => {
|
|
170
|
+
setAction('delete');
|
|
171
|
+
}, children: "Delete" })) : null, action === 'rename' ? (_jsx(RenameFolderDialog, { folder: folder, onFoldersChanged: onFoldersChanged, onClose: close })) : null, action === 'move' ? (_jsx(MoveFolderDialog, { folder: folder, folders: folders, onFoldersChanged: onFoldersChanged, onClose: close })) : null, action === 'delete' ? (_jsx(DeleteFolderDialog, { folder: folder, onFoldersChanged: onFoldersChanged, onClose: close })) : null] }));
|
|
172
|
+
}
|
|
173
|
+
//# sourceMappingURL=folder-actions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"folder-actions.js","sourceRoot":"","sources":["../../src/components/folder-actions.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Filing ONE tool into a folder of the tool-organization tree — for a screen whose
|
|
3
|
+
* rows have no edit dialog of their own to carry a folder field. The folder is part
|
|
4
|
+
* of the tool's overlay row, so the write is a single `upsertToolMeta` merge-patch of
|
|
5
|
+
* `folder_id`; the tool's display name, tags and visibility are left untouched.
|
|
6
|
+
*
|
|
7
|
+
* The picker offers the FULL tree with inline create. The write resolves only after
|
|
8
|
+
* the screen's `onFoldersChanged` refresh, and a failure is shown in the dialog — a
|
|
9
|
+
* not-configured refusal as the server's off note, reported so every screen withdraws
|
|
10
|
+
* its overlay writes.
|
|
11
|
+
*/
|
|
12
|
+
import { type ReactNode } from 'react';
|
|
13
|
+
import { type FoldersChanged } from './folder-actions';
|
|
14
|
+
import { type Folder } from './folder-nav';
|
|
15
|
+
/** Props of {@link MoveToFolderDialog}. */
|
|
16
|
+
export interface MoveToFolderDialogProps {
|
|
17
|
+
/** The tool whose overlay row is filed (its registered tool name). */
|
|
18
|
+
readonly toolName: string;
|
|
19
|
+
/** What the dialog title calls the item (e.g. the agent's name). */
|
|
20
|
+
readonly label: string;
|
|
21
|
+
/** The tool's current folder (`null` = unfiled). */
|
|
22
|
+
readonly currentFolderId: string | null;
|
|
23
|
+
/** The FULL folder tree, offered as destinations. */
|
|
24
|
+
readonly folders: readonly Folder[];
|
|
25
|
+
/** The screen's refresh of its overlay read, awaited after the write. */
|
|
26
|
+
readonly onFoldersChanged: FoldersChanged;
|
|
27
|
+
/** Close the dialog (Cancel, dismiss, or after a successful move). */
|
|
28
|
+
readonly onClose: () => void;
|
|
29
|
+
}
|
|
30
|
+
/** A dialog that files one tool into a folder (or unfiles it). Mount while open. */
|
|
31
|
+
export declare function MoveToFolderDialog({ toolName, label, currentFolderId, folders, onFoldersChanged, onClose, }: MoveToFolderDialogProps): ReactNode;
|
|
32
|
+
//# sourceMappingURL=folder-filing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"folder-filing.d.ts","sourceRoot":"","sources":["../../src/components/folder-filing.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,KAAK,SAAS,EAAY,MAAM,OAAO,CAAC;AAKjD,OAAO,EAAE,KAAK,cAAc,EAAmB,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,cAAc,CAAC;AAIzD,2CAA2C;AAC3C,MAAM,WAAW,uBAAuB;IACtC,sEAAsE;IACtE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,oEAAoE;IACpE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,oDAAoD;IACpD,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,qDAAqD;IACrD,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,yEAAyE;IACzE,QAAQ,CAAC,gBAAgB,EAAE,cAAc,CAAC;IAC1C,sEAAsE;IACtE,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED,oFAAoF;AACpF,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,KAAK,EACL,eAAe,EACf,OAAO,EACP,gBAAgB,EAChB,OAAO,GACR,EAAE,uBAAuB,GAAG,SAAS,CA+DrC"}
|