@tai42/studio-sdk 30.0.1 → 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.
Files changed (215) hide show
  1. package/README.md +98 -10
  2. package/dist/components/agent-picker.d.ts +1 -1
  3. package/dist/components/agent-picker.d.ts.map +1 -1
  4. package/dist/components/agent-picker.js +1 -0
  5. package/dist/components/agent-picker.js.map +1 -1
  6. package/dist/components/channel-picker.d.ts +1 -1
  7. package/dist/components/channel-picker.d.ts.map +1 -1
  8. package/dist/components/channel-picker.js +1 -0
  9. package/dist/components/channel-picker.js.map +1 -1
  10. package/dist/components/components.css +53 -0
  11. package/dist/components/explorer-body.d.ts +1 -0
  12. package/dist/components/explorer-body.d.ts.map +1 -1
  13. package/dist/components/explorer-body.js +6 -4
  14. package/dist/components/explorer-body.js.map +1 -1
  15. package/dist/components/explorer-view.d.ts +16 -7
  16. package/dist/components/explorer-view.d.ts.map +1 -1
  17. package/dist/components/explorer-view.js +27 -13
  18. package/dist/components/explorer-view.js.map +1 -1
  19. package/dist/components/extension-config-editor.js.map +1 -1
  20. package/dist/components/field.d.ts +6 -0
  21. package/dist/components/field.d.ts.map +1 -1
  22. package/dist/components/field.js +15 -2
  23. package/dist/components/field.js.map +1 -1
  24. package/dist/components/folder-actions.d.ts +51 -0
  25. package/dist/components/folder-actions.d.ts.map +1 -0
  26. package/dist/components/folder-actions.js +173 -0
  27. package/dist/components/folder-actions.js.map +1 -0
  28. package/dist/components/folder-filing.d.ts +32 -0
  29. package/dist/components/folder-filing.d.ts.map +1 -0
  30. package/dist/components/folder-filing.js +51 -0
  31. package/dist/components/folder-filing.js.map +1 -0
  32. package/dist/components/folder-nav.d.ts +9 -4
  33. package/dist/components/folder-nav.d.ts.map +1 -1
  34. package/dist/components/folder-nav.js +18 -22
  35. package/dist/components/folder-nav.js.map +1 -1
  36. package/dist/components/folder-occupancy.d.ts +27 -0
  37. package/dist/components/folder-occupancy.d.ts.map +1 -0
  38. package/dist/components/folder-occupancy.js +54 -0
  39. package/dist/components/folder-occupancy.js.map +1 -0
  40. package/dist/components/named-list-picker.d.ts +5 -3
  41. package/dist/components/named-list-picker.d.ts.map +1 -1
  42. package/dist/components/named-list-picker.js +7 -7
  43. package/dist/components/named-list-picker.js.map +1 -1
  44. package/dist/components/primitives.d.ts +2 -1
  45. package/dist/components/primitives.d.ts.map +1 -1
  46. package/dist/components/primitives.js +2 -1
  47. package/dist/components/primitives.js.map +1 -1
  48. package/dist/components/searchable-select-model.d.ts +40 -0
  49. package/dist/components/searchable-select-model.d.ts.map +1 -0
  50. package/dist/components/searchable-select-model.js +69 -0
  51. package/dist/components/searchable-select-model.js.map +1 -0
  52. package/dist/components/searchable-select.d.ts +38 -0
  53. package/dist/components/searchable-select.d.ts.map +1 -0
  54. package/dist/components/searchable-select.js +200 -0
  55. package/dist/components/searchable-select.js.map +1 -0
  56. package/dist/components/subject-section.d.ts.map +1 -1
  57. package/dist/components/subject-section.js +2 -2
  58. package/dist/components/subject-section.js.map +1 -1
  59. package/dist/components/table.d.ts +7 -1
  60. package/dist/components/table.d.ts.map +1 -1
  61. package/dist/components/table.js +2 -2
  62. package/dist/components/table.js.map +1 -1
  63. package/dist/components/tool-meta-access.d.ts +28 -0
  64. package/dist/components/tool-meta-access.d.ts.map +1 -0
  65. package/dist/components/tool-meta-access.js +65 -0
  66. package/dist/components/tool-meta-access.js.map +1 -0
  67. package/dist/components/tool-name-entry.d.ts +26 -0
  68. package/dist/components/tool-name-entry.d.ts.map +1 -0
  69. package/dist/components/tool-name-entry.js +43 -0
  70. package/dist/components/tool-name-entry.js.map +1 -0
  71. package/dist/components/tool-picker.d.ts +23 -18
  72. package/dist/components/tool-picker.d.ts.map +1 -1
  73. package/dist/components/tool-picker.js +51 -33
  74. package/dist/components/tool-picker.js.map +1 -1
  75. package/dist/components/tool-select.d.ts +6 -5
  76. package/dist/components/tool-select.d.ts.map +1 -1
  77. package/dist/components/tool-select.js +31 -14
  78. package/dist/components/tool-select.js.map +1 -1
  79. package/dist/hooks/useApi.d.ts +1 -0
  80. package/dist/hooks/useApi.d.ts.map +1 -1
  81. package/dist/hooks/useSystemKinds.d.ts +27 -12
  82. package/dist/hooks/useSystemKinds.d.ts.map +1 -1
  83. package/dist/hooks/useSystemKinds.js +56 -16
  84. package/dist/hooks/useSystemKinds.js.map +1 -1
  85. package/dist/index.d.ts +51 -49
  86. package/dist/index.d.ts.map +1 -1
  87. package/dist/index.js +34 -26
  88. package/dist/index.js.map +1 -1
  89. package/dist/marketplace-install/use-mount-install.d.ts +6 -6
  90. package/dist/plugin/version.d.ts +1 -1
  91. package/dist/plugin/version.js +1 -1
  92. package/dist/schema-editor/SchemaEditor.d.ts +7 -2
  93. package/dist/schema-editor/SchemaEditor.d.ts.map +1 -1
  94. package/dist/schema-editor/SchemaEditor.js +1 -1
  95. package/dist/schema-editor/SchemaEditor.js.map +1 -1
  96. package/dist/schema-editor/index.d.ts +2 -2
  97. package/dist/schema-editor/index.d.ts.map +1 -1
  98. package/dist/schema-form/array-field.d.ts.map +1 -1
  99. package/dist/schema-form/array-field.js +6 -2
  100. package/dist/schema-form/array-field.js.map +1 -1
  101. package/dist/schema-form/classify.d.ts +4 -1
  102. package/dist/schema-form/classify.d.ts.map +1 -1
  103. package/dist/schema-form/classify.js +36 -15
  104. package/dist/schema-form/classify.js.map +1 -1
  105. package/dist/schema-form/collapsed-object-field.d.ts +20 -0
  106. package/dist/schema-form/collapsed-object-field.d.ts.map +1 -0
  107. package/dist/schema-form/collapsed-object-field.js +14 -0
  108. package/dist/schema-form/collapsed-object-field.js.map +1 -0
  109. package/dist/schema-form/context.d.ts +27 -1
  110. package/dist/schema-form/context.d.ts.map +1 -1
  111. package/dist/schema-form/context.js +14 -0
  112. package/dist/schema-form/context.js.map +1 -1
  113. package/dist/schema-form/default-value.d.ts +21 -6
  114. package/dist/schema-form/default-value.d.ts.map +1 -1
  115. package/dist/schema-form/default-value.js +74 -15
  116. package/dist/schema-form/default-value.js.map +1 -1
  117. package/dist/schema-form/expression-field.d.ts +48 -0
  118. package/dist/schema-form/expression-field.d.ts.map +1 -0
  119. package/dist/schema-form/expression-field.js +88 -0
  120. package/dist/schema-form/expression-field.js.map +1 -0
  121. package/dist/schema-form/field-model.d.ts +23 -4
  122. package/dist/schema-form/field-model.d.ts.map +1 -1
  123. package/dist/schema-form/field-node.d.ts.map +1 -1
  124. package/dist/schema-form/field-node.js +16 -3
  125. package/dist/schema-form/field-node.js.map +1 -1
  126. package/dist/schema-form/index.d.ts +3 -3
  127. package/dist/schema-form/index.d.ts.map +1 -1
  128. package/dist/schema-form/index.js +2 -2
  129. package/dist/schema-form/index.js.map +1 -1
  130. package/dist/schema-form/object-fields.d.ts +6 -3
  131. package/dist/schema-form/object-fields.d.ts.map +1 -1
  132. package/dist/schema-form/object-fields.js +14 -3
  133. package/dist/schema-form/object-fields.js.map +1 -1
  134. package/dist/schema-form/record-field.d.ts.map +1 -1
  135. package/dist/schema-form/record-field.js +6 -2
  136. package/dist/schema-form/record-field.js.map +1 -1
  137. package/dist/schema-form/seeding-action.d.ts +15 -0
  138. package/dist/schema-form/seeding-action.d.ts.map +1 -0
  139. package/dist/schema-form/seeding-action.js +35 -0
  140. package/dist/schema-form/seeding-action.js.map +1 -0
  141. package/dist/schema-form/string-annotations.d.ts +22 -8
  142. package/dist/schema-form/string-annotations.d.ts.map +1 -1
  143. package/dist/schema-form/string-annotations.js +39 -14
  144. package/dist/schema-form/string-annotations.js.map +1 -1
  145. package/dist/schema-form/string-field.js +2 -84
  146. package/dist/schema-form/string-field.js.map +1 -1
  147. package/dist/schema-form/templated-field.d.ts +13 -0
  148. package/dist/schema-form/templated-field.d.ts.map +1 -0
  149. package/dist/schema-form/templated-field.js +43 -0
  150. package/dist/schema-form/templated-field.js.map +1 -0
  151. package/dist/schema-form/union-field.d.ts.map +1 -1
  152. package/dist/schema-form/union-field.js +6 -2
  153. package/dist/schema-form/union-field.js.map +1 -1
  154. package/dist/schema-form/union.d.ts +4 -4
  155. package/dist/schema-form/union.d.ts.map +1 -1
  156. package/dist/schema-form/union.js +8 -1
  157. package/dist/schema-form/union.js.map +1 -1
  158. package/dist/schema-form/validate.d.ts.map +1 -1
  159. package/dist/schema-form/validate.js +28 -0
  160. package/dist/schema-form/validate.js.map +1 -1
  161. package/dist/search-match.d.ts +29 -0
  162. package/dist/search-match.d.ts.map +1 -0
  163. package/dist/search-match.js +38 -0
  164. package/dist/search-match.js.map +1 -0
  165. package/dist/tool-organization.d.ts +15 -0
  166. package/dist/tool-organization.d.ts.map +1 -0
  167. package/dist/tool-organization.js +6 -0
  168. package/dist/tool-organization.js.map +1 -0
  169. package/package.json +3 -2
  170. package/src/components/agent-picker.tsx +2 -1
  171. package/src/components/channel-picker.tsx +2 -1
  172. package/src/components/components.css +53 -0
  173. package/src/components/explorer-body.tsx +29 -5
  174. package/src/components/explorer-view.tsx +48 -17
  175. package/src/components/extension-config-editor.tsx +3 -3
  176. package/src/components/field.tsx +18 -2
  177. package/src/components/folder-actions.tsx +341 -0
  178. package/src/components/folder-filing.tsx +109 -0
  179. package/src/components/folder-nav.tsx +26 -10
  180. package/src/components/folder-occupancy.ts +83 -0
  181. package/src/components/named-list-picker.tsx +11 -7
  182. package/src/components/primitives.tsx +2 -1
  183. package/src/components/searchable-select-model.ts +105 -0
  184. package/src/components/searchable-select.tsx +432 -0
  185. package/src/components/subject-section.tsx +3 -2
  186. package/src/components/table.tsx +12 -2
  187. package/src/components/tool-meta-access.tsx +101 -0
  188. package/src/components/tool-name-entry.tsx +77 -0
  189. package/src/components/tool-picker.tsx +83 -50
  190. package/src/components/tool-select.tsx +49 -38
  191. package/src/hooks/useSystemKinds.tsx +77 -17
  192. package/src/index.ts +98 -94
  193. package/src/plugin/version.ts +1 -1
  194. package/src/schema-editor/SchemaEditor.tsx +9 -3
  195. package/src/schema-editor/index.ts +2 -2
  196. package/src/schema-form/array-field.tsx +10 -2
  197. package/src/schema-form/classify.ts +41 -15
  198. package/src/schema-form/collapsed-object-field.tsx +56 -0
  199. package/src/schema-form/context.ts +33 -1
  200. package/src/schema-form/default-value.ts +89 -15
  201. package/src/schema-form/expression-field.tsx +162 -0
  202. package/src/schema-form/field-model.ts +27 -4
  203. package/src/schema-form/field-node.tsx +41 -2
  204. package/src/schema-form/index.ts +3 -2
  205. package/src/schema-form/object-fields.tsx +11 -4
  206. package/src/schema-form/record-field.tsx +10 -2
  207. package/src/schema-form/seeding-action.ts +44 -0
  208. package/src/schema-form/string-annotations.ts +40 -14
  209. package/src/schema-form/string-field.tsx +2 -147
  210. package/src/schema-form/templated-field.tsx +124 -0
  211. package/src/schema-form/union-field.tsx +11 -2
  212. package/src/schema-form/union.ts +12 -5
  213. package/src/schema-form/validate.ts +28 -0
  214. package/src/search-match.ts +41 -0
  215. package/src/tool-organization.ts +34 -0
@@ -0,0 +1,43 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useContext, useState } from 'react';
3
+ import { TemplatedTextField, } from '../components/templated-text-field';
4
+ import { isRecord } from '../guards';
5
+ import { ExpressionFieldContext, TemplatedTextCatalogContext } from './context';
6
+ import { ExpressionField } from './expression-field';
7
+ /** The form value read as a templated text: its string source(s) and its kwargs. */
8
+ function templatedTextOf(value) {
9
+ if (!isRecord(value))
10
+ return null;
11
+ const { content, id, kwargs } = value;
12
+ return {
13
+ ...(typeof content === 'string' ? { content } : {}),
14
+ ...(typeof id === 'string' ? { id } : {}),
15
+ ...(isRecord(kwargs) ? { kwargs } : {}),
16
+ };
17
+ }
18
+ export function TemplatedField({ heading, description, error, expression, argName, required, value, onChange, }) {
19
+ const useCatalog = useContext(TemplatedTextCatalogContext);
20
+ const catalog = useCatalog();
21
+ const door = useContext(ExpressionFieldContext);
22
+ const [mount, setMount] = useState({ value, emitted: value, generation: 0 });
23
+ if (mount.value !== value) {
24
+ setMount({
25
+ value,
26
+ emitted: mount.emitted,
27
+ generation: value === mount.emitted ? mount.generation : mount.generation + 1,
28
+ });
29
+ }
30
+ // An emptied optional field drops its key; a required one keeps its empty source
31
+ // (the shared field emits it), so validation names the missing source and a union
32
+ // member stays the chosen one.
33
+ const emit = (next) => {
34
+ const formValue = next ?? undefined;
35
+ setMount((current) => ({ ...current, emitted: formValue }));
36
+ onChange(formValue);
37
+ };
38
+ const renderInline = expression !== undefined && door !== undefined
39
+ ? (inline) => (_jsx("div", { className: inline.hideLabel ? 'tai-templated-inline--grouped' : undefined, children: _jsx(ExpressionField, { component: door, heading: inline.label, description: undefined, error: inline.error, expression: expression, argName: argName, value: inline.value, onChange: inline.onChange }) }))
40
+ : undefined;
41
+ return (_jsx(TemplatedTextField, { label: heading, description: description, error: error, value: templatedTextOf(value), onChange: emit, required: required, templates: catalog?.templates, templatesLoading: catalog?.loading, templatesError: catalog?.error, onTemplatesRetry: catalog?.onRetry, storageAbsent: catalog?.storageAbsent, storagePresenceLoading: catalog?.storagePresenceLoading, renderInline: renderInline }, mount.generation));
42
+ }
43
+ //# sourceMappingURL=templated-field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templated-field.js","sourceRoot":"","sources":["../../src/schema-form/templated-field.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"union-field.d.ts","sourceRoot":"","sources":["../../src/schema-form/union-field.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAOvC,OAAO,KAAK,EAAE,UAAU,EAAgB,MAAM,eAAe,CAAC;AAK9D,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAqF5D,wBAAgB,UAAU,CAAC,EACzB,OAAO,EACP,WAAW,EACX,KAAK,EACL,KAAK,EACL,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,QAAQ,GACT,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,KAAK,EAAE,OAAO,CAAC,UAAU,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC9C,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,SAAS,CA2DZ"}
1
+ {"version":3,"file":"union-field.d.ts","sourceRoot":"","sources":["../../src/schema-form/union-field.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAOvC,OAAO,KAAK,EAAE,UAAU,EAAgB,MAAM,eAAe,CAAC;AAM9D,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAqF5D,wBAAgB,UAAU,CAAC,EACzB,OAAO,EACP,WAAW,EACX,KAAK,EACL,KAAK,EACL,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,QAAQ,GACT,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,KAAK,EAAE,OAAO,CAAC,UAAU,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC9C,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,SAAS,CAmEZ"}
@@ -7,6 +7,7 @@ import { FieldGroup } from './field-group';
7
7
  import { FieldNode } from './field-node';
8
8
  import { ObjectFields } from './object-fields';
9
9
  import { resolveRef } from './resolve';
10
+ import { useSeedingAction } from './seeding-action';
10
11
  import { groupClass } from './styles';
11
12
  import { activeVariantIndex } from './union';
12
13
  function isPlainObject(value) {
@@ -89,15 +90,18 @@ export function UnionField({ heading, description, error, model, root, value, on
89
90
  value: String(position),
90
91
  label: variant.label,
91
92
  }));
93
+ const switching = useSeedingAction(model.members);
92
94
  const selectVariant = (key) => {
93
95
  const position = Number(key);
94
96
  const variant = model.variants[position];
95
97
  if (variant === undefined)
96
98
  return;
97
- onChange(switchVariantValue(value, variant, model.discriminator, root));
99
+ const switched = switching.seed(() => switchVariantValue(value, variant, model.discriminator, root));
100
+ if (switched.ok)
101
+ onChange(switched.value);
98
102
  };
99
103
  const active = index === -1 ? undefined : model.variants[index];
100
104
  const activeClassified = active === undefined ? undefined : classifySchema(active.schema, root);
101
- return (_jsxs(FieldGroup, { heading: heading, description: description, error: error, atRoot: path === '', children: [_jsx(Field, { label: pickerLabel(model.discriminator, model.variants, root), children: _jsx(Select, { options: options, value: index === -1 ? '' : String(index), placeholder: "Select a variant\u2026", onValueChange: selectVariant }) }), activeClassified?.model.kind === 'object' ? (_jsx("div", { className: groupClass, children: _jsx(ObjectFields, { properties: activeClassified.model.properties, requiredKeys: activeClassified.model.required, root: root, value: value, onChange: onChange, path: path, errors: errors, idPrefix: idPrefix, skip: model.discriminator, markRequired: true }) })) : active !== undefined ? (_jsx(FieldNode, { schema: active.schema, root: root, value: value, onChange: onChange, path: path, label: active.label, required: true, errors: errors, idPrefix: idPrefix })) : null] }));
105
+ return (_jsxs(FieldGroup, { heading: heading, description: description, error: error, atRoot: path === '', children: [_jsx(Field, { label: pickerLabel(model.discriminator, model.variants, root), error: switching.failure, children: _jsx(Select, { options: options, value: index === -1 ? '' : String(index), placeholder: "Select a variant\u2026", onValueChange: selectVariant }) }), activeClassified?.model.kind === 'object' ? (_jsx("div", { className: groupClass, children: _jsx(ObjectFields, { properties: activeClassified.model.properties, shape: activeClassified.model.shape, requiredKeys: activeClassified.model.required, root: root, value: value, onChange: onChange, path: path, errors: errors, idPrefix: idPrefix, skip: model.discriminator, markRequired: true }) })) : active !== undefined ? (_jsx(FieldNode, { schema: active.schema, root: root, value: value, onChange: onChange, path: path, label: active.label, required: true, errors: errors, idPrefix: idPrefix })) : null] }));
102
106
  }
103
107
  //# sourceMappingURL=union-field.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"union-field.js","sourceRoot":"","sources":["../../src/schema-form/union-field.tsx"],"names":[],"mappings":";AAWA,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7C,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,MAAkB,EAAE,IAAgB;IAC5D,MAAM,MAAM,GAAG,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACpD,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACxC,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC1C,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC,KAAK,CAAC;IACxD,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrF,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,kBAAkB,CACzB,OAAgB,EAChB,MAAoB,EACpB,aAAiC,EACjC,IAAgB;IAEhB,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACrD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IACrE,MAAM,EAAE,KAAK,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACtD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC;IAC3C,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAC5C,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,aAAa,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAC5D,CAAC;IACF,wFAAwF;IACxF,OAAO,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,oFAAoF;AACpF,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,IAAI;SACR,KAAK,CAAC,UAAU,CAAC;SACjB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;SACjC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC3D,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,SAAS,WAAW,CAClB,aAAiC,EACjC,QAAiC,EACjC,IAAgB;IAEhB,IAAI,aAAa,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAClD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,aAAa,CAAC,CAAC;QAC9E,IAAI,QAAQ,KAAK,SAAS;YAAE,SAAS;QACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC;QACjE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;IAClE,CAAC;IACD,MAAM,KAAK,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;IAC3C,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,EACzB,OAAO,EACP,WAAW,EACX,KAAK,EACL,KAAK,EACL,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,QAAQ,GAYT;IACC,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IACnF,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QACzD,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC;QACvB,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,CAAC,CAAC;IACJ,MAAM,aAAa,GAAG,CAAC,GAAW,EAAQ,EAAE;QAC1C,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO;QAClC,QAAQ,CAAC,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC;IAC1E,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChE,MAAM,gBAAgB,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAEhG,OAAO,CAIL,MAAC,UAAU,IAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,KAAK,EAAE,aACvF,KAAC,KAAK,IAAC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,YAClE,KAAC,MAAM,IACL,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACxC,WAAW,EAAC,wBAAmB,EAC/B,aAAa,EAAE,aAAa,GAC5B,GACI,EACP,gBAAgB,EAAE,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAC3C,cAAK,SAAS,EAAE,UAAU,YACxB,KAAC,YAAY,IACX,UAAU,EAAE,gBAAgB,CAAC,KAAK,CAAC,UAAU,EAC7C,YAAY,EAAE,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAC7C,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,KAAK,CAAC,aAAa,EACzB,YAAY,SACZ,GACE,CACP,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CACzB,KAAC,SAAS,IACR,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,QAAQ,QACR,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,GAClB,CACH,CAAC,CAAC,CAAC,IAAI,IACG,CACd,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"union-field.js","sourceRoot":"","sources":["../../src/schema-form/union-field.tsx"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * Which variant of a union a given value currently inhabits. Discriminated
3
- * unions read the tag property directly; plain unions score each object variant
4
- * by how many of its required properties the value carries (a best-effort match
5
- * when Pydantic emitted no discriminator). Returns `-1` when no variant is
6
- * active (an unset/`null` value, or nothing matches).
3
+ * unions read the tag property directly; plain unions score each variant that can
4
+ * hold an object by how many of its required properties the value carries (a
5
+ * best-effort match when Pydantic emitted no discriminator). Returns `-1` when no
6
+ * variant is active (an unset/`null` value, or nothing matches).
7
7
  */
8
8
  import type { UnionVariant } from './field-model';
9
9
  import type { JsonSchema } from './types';
@@ -1 +1 @@
1
- {"version":3,"file":"union.d.ts","sourceRoot":"","sources":["../../src/schema-form/union.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AA8B1C,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,SAAS,YAAY,EAAE,EACjC,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,IAAI,EAAE,UAAU,GACf,MAAM,CAiCR"}
1
+ {"version":3,"file":"union.d.ts","sourceRoot":"","sources":["../../src/schema-form/union.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAoC1C,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,SAAS,YAAY,EAAE,EACjC,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,IAAI,EAAE,UAAU,GACf,MAAM,CAkCR"}
@@ -1,7 +1,12 @@
1
- import { resolveRef } from './resolve';
1
+ import { resolveRef, typeList } from './resolve';
2
2
  function isPlainObject(value) {
3
3
  return typeof value === 'object' && value !== null && !Array.isArray(value);
4
4
  }
5
+ /** Whether a resolved schema can hold an object: it is typed `object`, or untyped. */
6
+ function holdsObject(schema) {
7
+ const types = typeList(schema);
8
+ return types.length === 0 || types.includes('object');
9
+ }
5
10
  /** Whether a resolved scalar schema accepts the runtime type of `value`. */
6
11
  function scalarSchemaAccepts(schema, value) {
7
12
  if (schema.const !== undefined)
@@ -45,6 +50,8 @@ export function activeVariantIndex(value, variants, discriminator, root) {
45
50
  let bestScore = -1;
46
51
  variants.forEach((variant, index) => {
47
52
  const resolved = resolveRef(variant.schema, root);
53
+ if (!holdsObject(resolved))
54
+ return;
48
55
  const required = resolved.required ?? [];
49
56
  let score = 0;
50
57
  for (const key of required) {
@@ -1 +1 @@
1
- {"version":3,"file":"union.js","sourceRoot":"","sources":["../../src/schema-form/union.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"union.js","sourceRoot":"","sources":["../../src/schema-form/union.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/schema-form/validate.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAIxE,iDAAiD;AACjD,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC;;;;;;;;;OASG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;CAC9D;AAojBD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,eAAe,GACxB,gBAAgB,CAkBlB"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/schema-form/validate.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAIxE,iDAAiD;AACjD,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC;;;;;;;;;OASG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;CAC9D;AAglBD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,eAAe,GACxB,gBAAgB,CAkBlB"}
@@ -384,6 +384,31 @@ function validateRecord(model, value, path, ctx) {
384
384
  walk(model.values, entryValue, joinPath(path, key), childCtx(ctx, path, key));
385
385
  }
386
386
  }
387
+ /**
388
+ * A templated-text value: an object carrying exactly one non-empty source — inline
389
+ * `content` or a stored template `id` — and, when present, a `kwargs` object.
390
+ */
391
+ function validateTemplatedText(value, path, ctx) {
392
+ if (!isRecord(value)) {
393
+ shapeError(ctx, path, 'must be an object');
394
+ return;
395
+ }
396
+ const content = ownValue(value, 'content');
397
+ const id = ownValue(value, 'id');
398
+ const hasContent = typeof content === 'string';
399
+ const hasId = typeof id === 'string';
400
+ if (hasContent === hasId) {
401
+ shapeError(ctx, path, 'must set exactly one of inline content or a stored template id');
402
+ return;
403
+ }
404
+ if ((hasContent ? content : id) === '') {
405
+ shapeError(ctx, path, 'needs inline content or a stored template');
406
+ return;
407
+ }
408
+ const kwargs = ownValue(value, 'kwargs');
409
+ if (kwargs !== undefined && !isRecord(kwargs))
410
+ shapeError(ctx, path, 'kwargs must be an object');
411
+ }
387
412
  function validateUnion(model, value, path, ctx) {
388
413
  const index = activeVariantIndex(value, model.variants, model.discriminator, ctx.root);
389
414
  const variant = index === -1 ? undefined : model.variants[index];
@@ -438,6 +463,9 @@ function dispatchKind(model, value, path, ctx) {
438
463
  case 'record':
439
464
  validateRecord(model, value, path, ctx);
440
465
  return;
466
+ case 'templated-text':
467
+ validateTemplatedText(value, path, ctx);
468
+ return;
441
469
  case 'union':
442
470
  validateUnion(model, value, path, ctx);
443
471
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/schema-form/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/schema-form/validate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * The one text-search rule every Studio list applies: a case-insensitive substring
3
+ * match of the trimmed query against the texts the reader sees. A blank query matches
4
+ * everything.
5
+ */
6
+ /**
7
+ * The query in the form a match compares: trimmed and lower-cased. A list that tests
8
+ * many texts against one query computes this once and hands it to {@link textHasNeedle}.
9
+ */
10
+ export declare function searchNeedle(query: string): string;
11
+ /** True when `needle` (from {@link searchNeedle}) is blank or `loweredText` contains it. */
12
+ export declare function textHasNeedle(loweredText: string, needle: string): boolean;
13
+ /**
14
+ * True when `query` holds nothing but blanks, so it matches every text: a list that
15
+ * draws itself differently while no search is active asks this.
16
+ */
17
+ export declare function isBlankSearch(query: string): boolean;
18
+ /**
19
+ * True when any one of `texts` contains `query`, ignoring case and the query's
20
+ * surrounding blanks; a blank query matches every row. Each text is tested on its own,
21
+ * so a row searched by several fields (a name and a display name) never matches across
22
+ * the seam between two of them.
23
+ *
24
+ * @param query - what the reader typed.
25
+ * @param texts - the texts the row is searched by (for a row of the connector's tool
26
+ * list, its `toolDisplayLabel`, which carries both the display name and the raw name).
27
+ */
28
+ export declare function matchesSearch(query: string, ...texts: readonly string[]): boolean;
29
+ //# sourceMappingURL=search-match.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-match.d.ts","sourceRoot":"","sources":["../src/search-match.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,4FAA4F;AAC5F,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAE1E;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAGjF"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * The one text-search rule every Studio list applies: a case-insensitive substring
3
+ * match of the trimmed query against the texts the reader sees. A blank query matches
4
+ * everything.
5
+ */
6
+ /**
7
+ * The query in the form a match compares: trimmed and lower-cased. A list that tests
8
+ * many texts against one query computes this once and hands it to {@link textHasNeedle}.
9
+ */
10
+ export function searchNeedle(query) {
11
+ return query.trim().toLowerCase();
12
+ }
13
+ /** True when `needle` (from {@link searchNeedle}) is blank or `loweredText` contains it. */
14
+ export function textHasNeedle(loweredText, needle) {
15
+ return needle === '' || loweredText.includes(needle);
16
+ }
17
+ /**
18
+ * True when `query` holds nothing but blanks, so it matches every text: a list that
19
+ * draws itself differently while no search is active asks this.
20
+ */
21
+ export function isBlankSearch(query) {
22
+ return searchNeedle(query) === '';
23
+ }
24
+ /**
25
+ * True when any one of `texts` contains `query`, ignoring case and the query's
26
+ * surrounding blanks; a blank query matches every row. Each text is tested on its own,
27
+ * so a row searched by several fields (a name and a display name) never matches across
28
+ * the seam between two of them.
29
+ *
30
+ * @param query - what the reader typed.
31
+ * @param texts - the texts the row is searched by (for a row of the connector's tool
32
+ * list, its `toolDisplayLabel`, which carries both the display name and the raw name).
33
+ */
34
+ export function matchesSearch(query, ...texts) {
35
+ const needle = searchNeedle(query);
36
+ return needle === '' || texts.some((text) => textHasNeedle(text.toLowerCase(), needle));
37
+ }
38
+ //# sourceMappingURL=search-match.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-match.js","sourceRoot":"","sources":["../src/search-match.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACpC,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,aAAa,CAAC,WAAmB,EAAE,MAAc;IAC/D,OAAO,MAAM,KAAK,EAAE,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACvD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,OAAO,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;AACpC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa,EAAE,GAAG,KAAwB;IACtE,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACnC,OAAO,MAAM,KAAK,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;AAC1F,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * The tool-organization folder tree the package publishes: the folder model and its
3
+ * navigation, which folders a screen draws, the folder writes, filing one tool, and
4
+ * who may make each overlay write. Every screen that shows the tree composes these.
5
+ */
6
+ export type { CreateFolder, FolderActionsMenuProps, FoldersChanged, } from './components/folder-actions';
7
+ export { FolderActionsMenu, useCreateFolder } from './components/folder-actions';
8
+ export type { MoveToFolderDialogProps } from './components/folder-filing';
9
+ export { MoveToFolderDialog } from './components/folder-filing';
10
+ export type { Folder, FolderBreadcrumbProps, FolderPickerProps, FolderRowProps, } from './components/folder-nav';
11
+ export { childFolders, FolderBreadcrumb, folderPathTo, FolderPicker, FolderRow, toFolders, } from './components/folder-nav';
12
+ export { foldersForView } from './components/folder-occupancy';
13
+ export type { ToolMetaWriteAccess } from './components/tool-meta-access';
14
+ export { ToolMetaWriteError, useReportToolMetaRefusal, useToolMetaWriteAccess, } from './components/tool-meta-access';
15
+ //# sourceMappingURL=tool-organization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-organization.d.ts","sourceRoot":"","sources":["../src/tool-organization.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,YAAY,EACV,YAAY,EACZ,sBAAsB,EACtB,cAAc,GACf,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACjF,YAAY,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,YAAY,EACV,MAAM,EACN,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,GACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,SAAS,GACV,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,YAAY,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,+BAA+B,CAAC"}
@@ -0,0 +1,6 @@
1
+ export { FolderActionsMenu, useCreateFolder } from './components/folder-actions';
2
+ export { MoveToFolderDialog } from './components/folder-filing';
3
+ export { childFolders, FolderBreadcrumb, folderPathTo, FolderPicker, FolderRow, toFolders, } from './components/folder-nav';
4
+ export { foldersForView } from './components/folder-occupancy';
5
+ export { ToolMetaWriteError, useReportToolMetaRefusal, useToolMetaWriteAccess, } from './components/tool-meta-access';
6
+ //# sourceMappingURL=tool-organization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-organization.js","sourceRoot":"","sources":["../src/tool-organization.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAEjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAOhE,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,SAAS,GACV,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,+BAA+B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tai42/studio-sdk",
3
- "version": "30.0.1",
3
+ "version": "31.0.0",
4
4
  "description": "The Studio plugin contract, shared UI components, and hooks that every feature builds on.",
5
5
  "license": "Apache-2.0",
6
6
  "author": "tai42 <oss@tai42.ai>",
@@ -92,11 +92,12 @@
92
92
  "@fontsource-variable/inter": "^5.2.8",
93
93
  "@radix-ui/react-checkbox": "^1.4.1",
94
94
  "@radix-ui/react-dialog": "^1.2.0",
95
+ "@radix-ui/react-popover": "^1.2.0",
95
96
  "@radix-ui/react-radio-group": "^1.4.8",
96
97
  "@radix-ui/react-select": "^2.3.8",
97
98
  "@radix-ui/react-tabs": "^1.1.22",
98
99
  "@radix-ui/react-tooltip": "^1.3.0",
99
- "@tai42/api-client": "30.0.1"
100
+ "@tai42/api-client": "31.0.0"
100
101
  },
101
102
  "scripts": {
102
103
  "build": "tsc -b tsconfig.build.json && node scripts/copy-assets.mjs",
@@ -19,7 +19,7 @@ export interface AgentPickerProps {
19
19
  readonly query: AgentListQuery;
20
20
  readonly value: string;
21
21
  readonly onValueChange: (value: string) => void;
22
- /** The host form's field error, shown under the control while a `Select` renders. */
22
+ /** The host form's field error, shown under the control while the select renders. */
23
23
  readonly error?: string | undefined;
24
24
  }
25
25
 
@@ -36,6 +36,7 @@ const COPY: NamedListCopy = {
36
36
  </AppLink>
37
37
  ),
38
38
  unlistedLabel: 'not registered',
39
+ searchLabel: 'Search agents',
39
40
  };
40
41
 
41
42
  export function AgentPicker({ query, value, onValueChange, error }: AgentPickerProps): ReactNode {
@@ -19,7 +19,7 @@ export interface ChannelPickerProps {
19
19
  readonly query: ChannelListQuery;
20
20
  readonly value: string;
21
21
  readonly onValueChange: (value: string) => void;
22
- /** The host form's field error, shown under the control while a `Select` renders. */
22
+ /** The host form's field error, shown under the control while the select renders. */
23
23
  readonly error?: string | undefined;
24
24
  }
25
25
 
@@ -46,6 +46,7 @@ const COPY: NamedListCopy = {
46
46
  </AppLink>
47
47
  ),
48
48
  unlistedLabel: 'not installed',
49
+ searchLabel: 'Search channels',
49
50
  };
50
51
 
51
52
  export function ChannelPicker({
@@ -677,6 +677,39 @@
677
677
  cursor: not-allowed;
678
678
  }
679
679
 
680
+ /* The searchable select's popup is the select popup with a search box on top.
681
+ It is a column whose LIST alone scrolls, so the search box stays in view
682
+ however far the reader scrolls; the cap follows the space the Radix popover
683
+ publishes, as the select's follows its own. It is at least as wide as its
684
+ trigger, so the options line up under the field they fill. */
685
+ .tai-search-select-content {
686
+ display: flex;
687
+ flex-direction: column;
688
+ min-width: var(--radix-popover-trigger-width);
689
+ /* The fallback is the live viewport (`dvh`) after its `vh` line for browsers
690
+ below the `dvh` floor; Radix supplies the measured value either way. */
691
+ max-height: min(22rem, var(--radix-popover-content-available-height, 60vh));
692
+ max-height: min(22rem, var(--radix-popover-content-available-height, 60dvh));
693
+ overflow: hidden;
694
+ }
695
+
696
+ /* The search box's side and top inset is the option viewport's, which leaves the
697
+ shared focus ring the room it needs inside the popup's clipped box. */
698
+ .tai-search-select-search {
699
+ padding: var(--tai-space-2) var(--tai-space-2) 0;
700
+ }
701
+
702
+ .tai-search-select-list {
703
+ flex: 1 1 auto;
704
+ min-height: 0;
705
+ overflow-y: auto;
706
+ }
707
+
708
+ .tai-search-select-empty {
709
+ margin: 0;
710
+ padding: var(--tai-space-2) var(--tai-space-3);
711
+ }
712
+
680
713
  /* -- Checkbox + radio ------------------------------------------------------ */
681
714
  .tai-checkbox,
682
715
  .tai-radio {
@@ -1330,6 +1363,19 @@
1330
1363
  background: var(--tai-color-accent-tint);
1331
1364
  }
1332
1365
 
1366
+ /* The selected row (`TR selected`) takes the look the nav gives its current item:
1367
+ the accent tint with an accent bar on the leading edge. The tint sits on the
1368
+ cells, over the row's own ground, so a hovered selected row shows the hover
1369
+ tint under it — the doubled tint the current nav item shows on hover — and a
1370
+ diff row keeps its meaning beneath. */
1371
+ .tai-table tbody tr[data-selected='true'] > td {
1372
+ background-image: linear-gradient(var(--tai-color-accent-tint), var(--tai-color-accent-tint));
1373
+ }
1374
+
1375
+ .tai-table tbody tr[data-selected='true'] > td:first-child {
1376
+ box-shadow: inset 3px 0 0 0 var(--tai-color-accent);
1377
+ }
1378
+
1333
1379
  .tai-table td[data-numeric='true'],
1334
1380
  .tai-table th[data-numeric='true'] {
1335
1381
  text-align: right;
@@ -2237,6 +2283,13 @@
2237
2283
  flex-direction: column;
2238
2284
  }
2239
2285
 
2286
+ /* The selected card: the same accent tint the selected table row takes, edged by
2287
+ the accent border. */
2288
+ .tai-grid-cards > [role='listitem'][data-selected='true'] > .tai-card {
2289
+ border-color: var(--tai-color-accent);
2290
+ background-image: linear-gradient(var(--tai-color-accent-tint), var(--tai-color-accent-tint));
2291
+ }
2292
+
2240
2293
  /* Card description clamp so grid rows stay uniform: two lines, then ellipsis. */
2241
2294
  .tai-clamp-2 {
2242
2295
  display: -webkit-box;
@@ -122,6 +122,7 @@ export interface ExplorerBodyProps<T> {
122
122
  readonly columns: readonly ExplorerColumn[];
123
123
  readonly pageEntries: readonly ExplorerEntry<T>[];
124
124
  readonly getItemKey: (item: T) => string;
125
+ readonly selectedItemKey: string | undefined;
125
126
  readonly renderRow: (item: T) => ReactNode;
126
127
  readonly renderCard: (item: T) => ReactNode;
127
128
  readonly openProps: (item: T) => OpenTargetProps;
@@ -134,7 +135,15 @@ export interface ExplorerBodyProps<T> {
134
135
  function CardEntry<T>(
135
136
  props: ExplorerBodyProps<T> & { readonly entry: ExplorerEntry<T> },
136
137
  ): ReactNode {
137
- const { entry, onNavigate, renderFolderActions, getItemKey, renderCard, openProps } = props;
138
+ const {
139
+ entry,
140
+ onNavigate,
141
+ renderFolderActions,
142
+ getItemKey,
143
+ selectedItemKey,
144
+ renderCard,
145
+ openProps,
146
+ } = props;
138
147
  if (entry.kind === 'folder') {
139
148
  return (
140
149
  <div role="listitem" key={`folder:${entry.folder.id}`}>
@@ -148,8 +157,14 @@ function CardEntry<T>(
148
157
  </div>
149
158
  );
150
159
  }
160
+ const key = getItemKey(entry.item);
151
161
  return (
152
- <div role="listitem" key={`item:${getItemKey(entry.item)}`} {...openProps(entry.item)}>
162
+ <div
163
+ role="listitem"
164
+ key={`item:${key}`}
165
+ data-selected={key === selectedItemKey ? 'true' : undefined}
166
+ {...openProps(entry.item)}
167
+ >
153
168
  {renderCard(entry.item)}
154
169
  </div>
155
170
  );
@@ -159,8 +174,16 @@ function CardEntry<T>(
159
174
  function RowEntry<T>(
160
175
  props: ExplorerBodyProps<T> & { readonly entry: ExplorerEntry<T> },
161
176
  ): ReactNode {
162
- const { entry, columns, onNavigate, renderFolderActions, getItemKey, renderRow, openProps } =
163
- props;
177
+ const {
178
+ entry,
179
+ columns,
180
+ onNavigate,
181
+ renderFolderActions,
182
+ getItemKey,
183
+ selectedItemKey,
184
+ renderRow,
185
+ openProps,
186
+ } = props;
164
187
  if (entry.kind === 'folder') {
165
188
  return (
166
189
  <TR key={`folder:${entry.folder.id}`}>
@@ -174,8 +197,9 @@ function RowEntry<T>(
174
197
  </TR>
175
198
  );
176
199
  }
200
+ const key = getItemKey(entry.item);
177
201
  return (
178
- <TR key={`item:${getItemKey(entry.item)}`} {...openProps(entry.item)}>
202
+ <TR key={`item:${key}`} selected={key === selectedItemKey} {...openProps(entry.item)}>
179
203
  {renderRow(entry.item)}
180
204
  </TR>
181
205
  );