@tianshu-ai/tianshu 0.3.21 → 0.3.23
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/node_modules/@tianshu-ai/plugin-sdk/dist/client.d.ts +85 -0
- package/node_modules/@tianshu-ai/plugin-sdk/dist/client.d.ts.map +1 -1
- package/node_modules/@tianshu-ai/plugin-sdk/dist/client.js +24 -0
- package/node_modules/@tianshu-ai/plugin-sdk/dist/client.js.map +1 -1
- package/node_modules/@tianshu-ai/plugin-sdk/src/client.ts +135 -0
- package/package.json +1 -1
- package/packages/plugin-sdk/dist/client.d.ts +85 -0
- package/packages/plugin-sdk/dist/client.d.ts.map +1 -1
- package/packages/plugin-sdk/dist/client.js +24 -0
- package/packages/plugin-sdk/dist/client.js.map +1 -1
- package/packages/server/dist/chat/host-tools/tool-catalog-refresh.d.ts +19 -0
- package/packages/server/dist/chat/host-tools/tool-catalog-refresh.d.ts.map +1 -0
- package/packages/server/dist/chat/host-tools/tool-catalog-refresh.js +205 -0
- package/packages/server/dist/chat/host-tools/tool-catalog-refresh.js.map +1 -0
- package/packages/server/dist/core/plugins/registry.d.ts +32 -0
- package/packages/server/dist/core/plugins/registry.d.ts.map +1 -1
- package/packages/server/dist/core/plugins/registry.js +19 -0
- package/packages/server/dist/core/plugins/registry.js.map +1 -1
- package/packages/server/dist/index.js +20 -0
- package/packages/server/dist/index.js.map +1 -1
- package/packages/web/dist/assets/index-CMpVqJxn.js +60 -0
- package/packages/web/dist/assets/index-CknO5ZMD.css +2 -0
- package/packages/web/dist/index.html +2 -2
- package/plugins/files/dist/client.d.ts.map +1 -1
- package/plugins/files/dist/client.js +15 -13
- package/plugins/files/dist/client.js.map +1 -1
- package/plugins/workboard/dist/client.d.ts.map +1 -1
- package/plugins/workboard/dist/client.js +14 -13
- package/plugins/workboard/dist/client.js.map +1 -1
- package/plugins/workboard/dist/worker/tool-policy.d.ts.map +1 -1
- package/plugins/workboard/dist/worker/tool-policy.js +4 -0
- package/plugins/workboard/dist/worker/tool-policy.js.map +1 -1
- package/packages/web/dist/assets/index-Cs0x5xVe.css +0 -2
- package/packages/web/dist/assets/index-DIiIMU7-.js +0 -60
|
@@ -168,4 +168,89 @@ export declare function __resetPluginConfigFormForTest(): void;
|
|
|
168
168
|
* (so the calling component can drop it in unconditionally). */
|
|
169
169
|
export declare const PluginConfigForm: React.ComponentType<PluginConfigFormProps>;
|
|
170
170
|
export declare function useOpenFile(): OpenFileApi["open"];
|
|
171
|
+
export interface ModalProps {
|
|
172
|
+
/** Whether the modal is rendered. Caller controls visibility;
|
|
173
|
+
* the modal does not animate or remember anything when this
|
|
174
|
+
* flips. */
|
|
175
|
+
isOpen: boolean;
|
|
176
|
+
/** Fired when the user dismisses the modal (ESC, backdrop
|
|
177
|
+
* click, or the X button). The host does NOT auto-close on
|
|
178
|
+
* this — the caller must flip `isOpen` to false themselves. */
|
|
179
|
+
onClose: () => void;
|
|
180
|
+
/** Optional title rendered in the header. When omitted the
|
|
181
|
+
* modal still renders a close button in the top-right. */
|
|
182
|
+
title?: string;
|
|
183
|
+
/** Size preset. Defaults to "md".
|
|
184
|
+
* sm : narrow, content-driven (e.g. confirmations)
|
|
185
|
+
* md : comfortable reading width (default)
|
|
186
|
+
* lg : wide content (file previews, code)
|
|
187
|
+
* xl : near full-screen (transcripts, long history) */
|
|
188
|
+
size?: "sm" | "md" | "lg" | "xl";
|
|
189
|
+
/** Modal body. Caller fully controls layout inside. */
|
|
190
|
+
children: React.ReactNode;
|
|
191
|
+
/** Optional className merged onto the inner content panel
|
|
192
|
+
* (NOT the backdrop). Lets callers tune background, padding,
|
|
193
|
+
* or override the default min-height. */
|
|
194
|
+
className?: string;
|
|
195
|
+
/** Hide the default header (title + X). Use when the caller
|
|
196
|
+
* renders its own header / chrome inside `children` and doesn't
|
|
197
|
+
* want a doubled-up close affordance. The Modal still closes
|
|
198
|
+
* on ESC and backdrop click. */
|
|
199
|
+
hideHeader?: boolean;
|
|
200
|
+
}
|
|
201
|
+
export interface DocumentViewerProps {
|
|
202
|
+
/** The file content. String for text/markdown/code; null while
|
|
203
|
+
* loading or for binary files the host already determined are
|
|
204
|
+
* unviewable. */
|
|
205
|
+
content: string | null;
|
|
206
|
+
/** Optional MIME type hint. When absent the viewer falls back
|
|
207
|
+
* to extension sniffing via `filename`. */
|
|
208
|
+
mimeType?: string;
|
|
209
|
+
/** Optional filename hint, used for extension sniffing when
|
|
210
|
+
* `mimeType` is absent and for the markdown vs. plain-text
|
|
211
|
+
* dispatch (only `.md` / `.markdown` get rendered as
|
|
212
|
+
* Markdown; everything else falls through to plain text). */
|
|
213
|
+
filename?: string;
|
|
214
|
+
/** Set to true when the host already knows the content is
|
|
215
|
+
* binary and unrenderable (e.g. images served through a
|
|
216
|
+
* different surface). The viewer shows a placeholder. */
|
|
217
|
+
binary?: boolean;
|
|
218
|
+
/** Set to true while the host is fetching content. Viewer
|
|
219
|
+
* shows a spinner. */
|
|
220
|
+
loading?: boolean;
|
|
221
|
+
/** Error message from the loader, if any. Viewer renders it
|
|
222
|
+
* in place of the content. */
|
|
223
|
+
error?: string | null;
|
|
224
|
+
/** Optional total bytes; surfaced in the binary placeholder
|
|
225
|
+
* and the "too large" error path. */
|
|
226
|
+
sizeBytes?: number;
|
|
227
|
+
/** Optional className merged onto the viewer root. */
|
|
228
|
+
className?: string;
|
|
229
|
+
}
|
|
230
|
+
export interface MarkdownBlockProps {
|
|
231
|
+
/** Markdown source. */
|
|
232
|
+
children: string;
|
|
233
|
+
/** Optional className merged onto the prose container. */
|
|
234
|
+
className?: string;
|
|
235
|
+
/** Skip the default prose typography classes. Useful when the
|
|
236
|
+
* caller wraps MarkdownBlock in its own prose container
|
|
237
|
+
* (chat-bubble style) and a double-wrap would compound the
|
|
238
|
+
* styles. Default false — standalone use gets prose for free. */
|
|
239
|
+
noProse?: boolean;
|
|
240
|
+
}
|
|
241
|
+
export interface UiPrimitives {
|
|
242
|
+
Modal: React.ComponentType<ModalProps>;
|
|
243
|
+
DocumentViewer: React.ComponentType<DocumentViewerProps>;
|
|
244
|
+
MarkdownBlock: React.ComponentType<MarkdownBlockProps>;
|
|
245
|
+
}
|
|
246
|
+
/** Host-only: install the canonical UiPrimitives. Called by the
|
|
247
|
+
* web bundle at boot. Last writer wins. */
|
|
248
|
+
export declare function __installUiPrimitives(api: UiPrimitives): void;
|
|
249
|
+
/** Test helper. */
|
|
250
|
+
export declare function __resetUiPrimitivesForTest(): void;
|
|
251
|
+
/** Hook returning the live primitives. Throws if the host has
|
|
252
|
+
* not installed any — in production this is impossible because
|
|
253
|
+
* the web bundle installs them at bootstrap; in tests, callers
|
|
254
|
+
* install a stub via `__installUiPrimitives`. */
|
|
255
|
+
export declare function useUiPrimitives(): UiPrimitives;
|
|
171
256
|
//# sourceMappingURL=client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -93,4 +93,28 @@ export function useOpenFile() {
|
|
|
93
93
|
api.open(path);
|
|
94
94
|
};
|
|
95
95
|
}
|
|
96
|
+
function uiPrimitivesSlot() {
|
|
97
|
+
return globalThis;
|
|
98
|
+
}
|
|
99
|
+
/** Host-only: install the canonical UiPrimitives. Called by the
|
|
100
|
+
* web bundle at boot. Last writer wins. */
|
|
101
|
+
export function __installUiPrimitives(api) {
|
|
102
|
+
uiPrimitivesSlot().__tianshuPluginSdkUiPrimitives__ = api;
|
|
103
|
+
}
|
|
104
|
+
/** Test helper. */
|
|
105
|
+
export function __resetUiPrimitivesForTest() {
|
|
106
|
+
delete uiPrimitivesSlot().__tianshuPluginSdkUiPrimitives__;
|
|
107
|
+
}
|
|
108
|
+
/** Hook returning the live primitives. Throws if the host has
|
|
109
|
+
* not installed any — in production this is impossible because
|
|
110
|
+
* the web bundle installs them at bootstrap; in tests, callers
|
|
111
|
+
* install a stub via `__installUiPrimitives`. */
|
|
112
|
+
export function useUiPrimitives() {
|
|
113
|
+
const api = uiPrimitivesSlot().__tianshuPluginSdkUiPrimitives__;
|
|
114
|
+
if (!api) {
|
|
115
|
+
throw new Error("useUiPrimitives() called without a host: plugin SDK has no live UiPrimitives. " +
|
|
116
|
+
"If you are seeing this in a test, install a stub with __installUiPrimitives({ Modal, DocumentViewer, MarkdownBlock }).");
|
|
117
|
+
}
|
|
118
|
+
return api;
|
|
119
|
+
}
|
|
96
120
|
//# sourceMappingURL=client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,mCAAmC;AACnC,EAAE;AACF,sEAAsE;AACtE,wEAAwE;AACxE,yEAAyE;AA4KzE,SAAS,UAAU;IACjB,kEAAkE;IAClE,OAAO,UAA2C,CAAC;AACrD,CAAC;AAED;;qBAEqB;AACrB,MAAM,UAAU,oBAAoB,CAAC,EAAqB;IACxD,UAAU,EAAE,CAAC,4BAA4B,GAAG,EAAE,CAAC;AACjD,CAAC;AAED;;iBAEiB;AACjB,MAAM,UAAU,yBAAyB;IACvC,OAAO,UAAU,EAAE,CAAC,4BAA4B,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC,4BAA4B,CAAC;IACrD,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CACb,2EAA2E;YACzE,4EAA4E,CAC/E,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,EAAE,CAAC;AACd,CAAC;AA2BD,SAAS,YAAY;IACnB,OAAO,UAA2C,CAAC;AACrD,CAAC;AAED;;;YAGY;AACZ,MAAM,UAAU,oBAAoB,CAAC,GAAgB;IACnD,YAAY,EAAE,CAAC,4BAA4B,GAAG,GAAG,CAAC;AACpD,CAAC;AAED,mBAAmB;AACnB,MAAM,UAAU,yBAAyB;IACvC,OAAO,YAAY,EAAE,CAAC,4BAA4B,CAAC;AACrD,CAAC;AAED;;;;;gBAKgB;AAChB,gEAAgE;AAChE,gEAAgE;AAChE,+DAA+D;AAC/D,kEAAkE;AAClE,EAAE;AACF,0DAA0D;AAC1D,gEAAgE;AAChE,gEAAgE;AAChE,4DAA4D;AAC5D,yDAAyD;AAEzD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAe/B,SAAS,oBAAoB;IAC3B,OAAO,UAAmD,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,CAA6C;IAE7C,oBAAoB,EAAE,CAAC,oCAAoC,GAAG,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,8BAA8B;IAC5C,OAAO,oBAAoB,EAAE,CAAC,oCAAoC,CAAC;AACrE,CAAC;AAED;;iEAEiE;AACjE,MAAM,CAAC,MAAM,gBAAgB,GAC3B,CAAC,KAAK,EAAE,EAAE;IACR,MAAM,CAAC,GAAG,oBAAoB,EAAE,CAAC,oCAAoC,CAAC;IACtE,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,OAAO,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACvC,CAAC,CAAC;AAEJ,MAAM,UAAU,WAAW;IACzB,OAAO,CAAC,IAAY,EAAQ,EAAE;QAC5B,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC,4BAA4B,CAAC;QACxD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,2DAA2D;YAC3D,4DAA4D;YAC5D,4DAA4D;YAC5D,6CAA6C;YAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;YACtD,MAAM,GAAG,GAAG,yBAAyB,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;YACnE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;YACvC,OAAO;QACT,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -319,3 +319,138 @@ export function useOpenFile(): OpenFileApi["open"] {
|
|
|
319
319
|
api.open(path);
|
|
320
320
|
};
|
|
321
321
|
}
|
|
322
|
+
|
|
323
|
+
// ─── UiPrimitives — host-provided React components plugins reuse
|
|
324
|
+
//
|
|
325
|
+
// Every plugin that needs a modal / a document viewer / a markdown
|
|
326
|
+
// rendering surface used to roll its own copy. The result was
|
|
327
|
+
// five subtly-different `fixed inset-0 z-50 bg-black/...` modals,
|
|
328
|
+
// two different markdown renderers, and zero consistency between
|
|
329
|
+
// what the user sees in chat vs. the files preview vs. the
|
|
330
|
+
// workboard task history.
|
|
331
|
+
//
|
|
332
|
+
// This module exposes a single hook — `useUiPrimitives()` — that
|
|
333
|
+
// returns the host's canonical React components. The host
|
|
334
|
+
// installs them once at bootstrap via __installUiPrimitives. The
|
|
335
|
+
// hook is safe to call from any plugin's React tree and stable
|
|
336
|
+
// across re-renders.
|
|
337
|
+
//
|
|
338
|
+
// Why a hook rather than a direct import:
|
|
339
|
+
// plugins are loaded as separate ESM modules at runtime. They
|
|
340
|
+
// share the *types* in @tianshu-ai/plugin-sdk but not the
|
|
341
|
+
// compiled React component bundle — the host's bundle owns
|
|
342
|
+
// that. Same install-once + globalSlot pattern as useComposer
|
|
343
|
+
// and PluginConfigForm.
|
|
344
|
+
|
|
345
|
+
export interface ModalProps {
|
|
346
|
+
/** Whether the modal is rendered. Caller controls visibility;
|
|
347
|
+
* the modal does not animate or remember anything when this
|
|
348
|
+
* flips. */
|
|
349
|
+
isOpen: boolean;
|
|
350
|
+
/** Fired when the user dismisses the modal (ESC, backdrop
|
|
351
|
+
* click, or the X button). The host does NOT auto-close on
|
|
352
|
+
* this — the caller must flip `isOpen` to false themselves. */
|
|
353
|
+
onClose: () => void;
|
|
354
|
+
/** Optional title rendered in the header. When omitted the
|
|
355
|
+
* modal still renders a close button in the top-right. */
|
|
356
|
+
title?: string;
|
|
357
|
+
/** Size preset. Defaults to "md".
|
|
358
|
+
* sm : narrow, content-driven (e.g. confirmations)
|
|
359
|
+
* md : comfortable reading width (default)
|
|
360
|
+
* lg : wide content (file previews, code)
|
|
361
|
+
* xl : near full-screen (transcripts, long history) */
|
|
362
|
+
size?: "sm" | "md" | "lg" | "xl";
|
|
363
|
+
/** Modal body. Caller fully controls layout inside. */
|
|
364
|
+
children: React.ReactNode;
|
|
365
|
+
/** Optional className merged onto the inner content panel
|
|
366
|
+
* (NOT the backdrop). Lets callers tune background, padding,
|
|
367
|
+
* or override the default min-height. */
|
|
368
|
+
className?: string;
|
|
369
|
+
/** Hide the default header (title + X). Use when the caller
|
|
370
|
+
* renders its own header / chrome inside `children` and doesn't
|
|
371
|
+
* want a doubled-up close affordance. The Modal still closes
|
|
372
|
+
* on ESC and backdrop click. */
|
|
373
|
+
hideHeader?: boolean;
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
export interface DocumentViewerProps {
|
|
377
|
+
/** The file content. String for text/markdown/code; null while
|
|
378
|
+
* loading or for binary files the host already determined are
|
|
379
|
+
* unviewable. */
|
|
380
|
+
content: string | null;
|
|
381
|
+
/** Optional MIME type hint. When absent the viewer falls back
|
|
382
|
+
* to extension sniffing via `filename`. */
|
|
383
|
+
mimeType?: string;
|
|
384
|
+
/** Optional filename hint, used for extension sniffing when
|
|
385
|
+
* `mimeType` is absent and for the markdown vs. plain-text
|
|
386
|
+
* dispatch (only `.md` / `.markdown` get rendered as
|
|
387
|
+
* Markdown; everything else falls through to plain text). */
|
|
388
|
+
filename?: string;
|
|
389
|
+
/** Set to true when the host already knows the content is
|
|
390
|
+
* binary and unrenderable (e.g. images served through a
|
|
391
|
+
* different surface). The viewer shows a placeholder. */
|
|
392
|
+
binary?: boolean;
|
|
393
|
+
/** Set to true while the host is fetching content. Viewer
|
|
394
|
+
* shows a spinner. */
|
|
395
|
+
loading?: boolean;
|
|
396
|
+
/** Error message from the loader, if any. Viewer renders it
|
|
397
|
+
* in place of the content. */
|
|
398
|
+
error?: string | null;
|
|
399
|
+
/** Optional total bytes; surfaced in the binary placeholder
|
|
400
|
+
* and the "too large" error path. */
|
|
401
|
+
sizeBytes?: number;
|
|
402
|
+
/** Optional className merged onto the viewer root. */
|
|
403
|
+
className?: string;
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
export interface MarkdownBlockProps {
|
|
407
|
+
/** Markdown source. */
|
|
408
|
+
children: string;
|
|
409
|
+
/** Optional className merged onto the prose container. */
|
|
410
|
+
className?: string;
|
|
411
|
+
/** Skip the default prose typography classes. Useful when the
|
|
412
|
+
* caller wraps MarkdownBlock in its own prose container
|
|
413
|
+
* (chat-bubble style) and a double-wrap would compound the
|
|
414
|
+
* styles. Default false — standalone use gets prose for free. */
|
|
415
|
+
noProse?: boolean;
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
export interface UiPrimitives {
|
|
419
|
+
Modal: React.ComponentType<ModalProps>;
|
|
420
|
+
DocumentViewer: React.ComponentType<DocumentViewerProps>;
|
|
421
|
+
MarkdownBlock: React.ComponentType<MarkdownBlockProps>;
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
interface UiPrimitivesGlobalSlot {
|
|
425
|
+
__tianshuPluginSdkUiPrimitives__?: UiPrimitives;
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
function uiPrimitivesSlot(): UiPrimitivesGlobalSlot {
|
|
429
|
+
return globalThis as unknown as UiPrimitivesGlobalSlot;
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
/** Host-only: install the canonical UiPrimitives. Called by the
|
|
433
|
+
* web bundle at boot. Last writer wins. */
|
|
434
|
+
export function __installUiPrimitives(api: UiPrimitives): void {
|
|
435
|
+
uiPrimitivesSlot().__tianshuPluginSdkUiPrimitives__ = api;
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
/** Test helper. */
|
|
439
|
+
export function __resetUiPrimitivesForTest(): void {
|
|
440
|
+
delete uiPrimitivesSlot().__tianshuPluginSdkUiPrimitives__;
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
/** Hook returning the live primitives. Throws if the host has
|
|
444
|
+
* not installed any — in production this is impossible because
|
|
445
|
+
* the web bundle installs them at bootstrap; in tests, callers
|
|
446
|
+
* install a stub via `__installUiPrimitives`. */
|
|
447
|
+
export function useUiPrimitives(): UiPrimitives {
|
|
448
|
+
const api = uiPrimitivesSlot().__tianshuPluginSdkUiPrimitives__;
|
|
449
|
+
if (!api) {
|
|
450
|
+
throw new Error(
|
|
451
|
+
"useUiPrimitives() called without a host: plugin SDK has no live UiPrimitives. " +
|
|
452
|
+
"If you are seeing this in a test, install a stub with __installUiPrimitives({ Modal, DocumentViewer, MarkdownBlock }).",
|
|
453
|
+
);
|
|
454
|
+
}
|
|
455
|
+
return api;
|
|
456
|
+
}
|
package/package.json
CHANGED
|
@@ -168,4 +168,89 @@ export declare function __resetPluginConfigFormForTest(): void;
|
|
|
168
168
|
* (so the calling component can drop it in unconditionally). */
|
|
169
169
|
export declare const PluginConfigForm: React.ComponentType<PluginConfigFormProps>;
|
|
170
170
|
export declare function useOpenFile(): OpenFileApi["open"];
|
|
171
|
+
export interface ModalProps {
|
|
172
|
+
/** Whether the modal is rendered. Caller controls visibility;
|
|
173
|
+
* the modal does not animate or remember anything when this
|
|
174
|
+
* flips. */
|
|
175
|
+
isOpen: boolean;
|
|
176
|
+
/** Fired when the user dismisses the modal (ESC, backdrop
|
|
177
|
+
* click, or the X button). The host does NOT auto-close on
|
|
178
|
+
* this — the caller must flip `isOpen` to false themselves. */
|
|
179
|
+
onClose: () => void;
|
|
180
|
+
/** Optional title rendered in the header. When omitted the
|
|
181
|
+
* modal still renders a close button in the top-right. */
|
|
182
|
+
title?: string;
|
|
183
|
+
/** Size preset. Defaults to "md".
|
|
184
|
+
* sm : narrow, content-driven (e.g. confirmations)
|
|
185
|
+
* md : comfortable reading width (default)
|
|
186
|
+
* lg : wide content (file previews, code)
|
|
187
|
+
* xl : near full-screen (transcripts, long history) */
|
|
188
|
+
size?: "sm" | "md" | "lg" | "xl";
|
|
189
|
+
/** Modal body. Caller fully controls layout inside. */
|
|
190
|
+
children: React.ReactNode;
|
|
191
|
+
/** Optional className merged onto the inner content panel
|
|
192
|
+
* (NOT the backdrop). Lets callers tune background, padding,
|
|
193
|
+
* or override the default min-height. */
|
|
194
|
+
className?: string;
|
|
195
|
+
/** Hide the default header (title + X). Use when the caller
|
|
196
|
+
* renders its own header / chrome inside `children` and doesn't
|
|
197
|
+
* want a doubled-up close affordance. The Modal still closes
|
|
198
|
+
* on ESC and backdrop click. */
|
|
199
|
+
hideHeader?: boolean;
|
|
200
|
+
}
|
|
201
|
+
export interface DocumentViewerProps {
|
|
202
|
+
/** The file content. String for text/markdown/code; null while
|
|
203
|
+
* loading or for binary files the host already determined are
|
|
204
|
+
* unviewable. */
|
|
205
|
+
content: string | null;
|
|
206
|
+
/** Optional MIME type hint. When absent the viewer falls back
|
|
207
|
+
* to extension sniffing via `filename`. */
|
|
208
|
+
mimeType?: string;
|
|
209
|
+
/** Optional filename hint, used for extension sniffing when
|
|
210
|
+
* `mimeType` is absent and for the markdown vs. plain-text
|
|
211
|
+
* dispatch (only `.md` / `.markdown` get rendered as
|
|
212
|
+
* Markdown; everything else falls through to plain text). */
|
|
213
|
+
filename?: string;
|
|
214
|
+
/** Set to true when the host already knows the content is
|
|
215
|
+
* binary and unrenderable (e.g. images served through a
|
|
216
|
+
* different surface). The viewer shows a placeholder. */
|
|
217
|
+
binary?: boolean;
|
|
218
|
+
/** Set to true while the host is fetching content. Viewer
|
|
219
|
+
* shows a spinner. */
|
|
220
|
+
loading?: boolean;
|
|
221
|
+
/** Error message from the loader, if any. Viewer renders it
|
|
222
|
+
* in place of the content. */
|
|
223
|
+
error?: string | null;
|
|
224
|
+
/** Optional total bytes; surfaced in the binary placeholder
|
|
225
|
+
* and the "too large" error path. */
|
|
226
|
+
sizeBytes?: number;
|
|
227
|
+
/** Optional className merged onto the viewer root. */
|
|
228
|
+
className?: string;
|
|
229
|
+
}
|
|
230
|
+
export interface MarkdownBlockProps {
|
|
231
|
+
/** Markdown source. */
|
|
232
|
+
children: string;
|
|
233
|
+
/** Optional className merged onto the prose container. */
|
|
234
|
+
className?: string;
|
|
235
|
+
/** Skip the default prose typography classes. Useful when the
|
|
236
|
+
* caller wraps MarkdownBlock in its own prose container
|
|
237
|
+
* (chat-bubble style) and a double-wrap would compound the
|
|
238
|
+
* styles. Default false — standalone use gets prose for free. */
|
|
239
|
+
noProse?: boolean;
|
|
240
|
+
}
|
|
241
|
+
export interface UiPrimitives {
|
|
242
|
+
Modal: React.ComponentType<ModalProps>;
|
|
243
|
+
DocumentViewer: React.ComponentType<DocumentViewerProps>;
|
|
244
|
+
MarkdownBlock: React.ComponentType<MarkdownBlockProps>;
|
|
245
|
+
}
|
|
246
|
+
/** Host-only: install the canonical UiPrimitives. Called by the
|
|
247
|
+
* web bundle at boot. Last writer wins. */
|
|
248
|
+
export declare function __installUiPrimitives(api: UiPrimitives): void;
|
|
249
|
+
/** Test helper. */
|
|
250
|
+
export declare function __resetUiPrimitivesForTest(): void;
|
|
251
|
+
/** Hook returning the live primitives. Throws if the host has
|
|
252
|
+
* not installed any — in production this is impossible because
|
|
253
|
+
* the web bundle installs them at bootstrap; in tests, callers
|
|
254
|
+
* install a stub via `__installUiPrimitives`. */
|
|
255
|
+
export declare function useUiPrimitives(): UiPrimitives;
|
|
171
256
|
//# sourceMappingURL=client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,iBAAiB,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAoB,SAAQ,UAAU;IACrD,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD;qCACiC;IACjC,MAAM,EAAE,MAAM,CAAC;CAChB;AAID;;;;;;;GAOG;AACH,MAAM,WAAW,UAAU;IACzB,yDAAyD;IACzD,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,GAAG,OAAO,GAAG,OAAO,CAAC;IACxC;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,MAAM,cAAc,GAAG;AAC3B,wEAAwE;AACxE,IAAI,EAAE,MAAM;AACZ,0EAA0E;AAC1E,WAAW,EAAE,UAAU,EAAE,KACtB,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAE9B;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B,sEAAsE;IACtE,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,oDAAoD;IACpD,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC;IACjD,mEAAmE;IACnE,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;IAC3E,iDAAiD;IACjD,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC;;;;;OAKG;IACH,sBAAsB,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,IAAI,CAAC;CACxD;AAED,MAAM,WAAW,mBAAoB,SAAQ,UAAU;IACrD,QAAQ,EAAE,WAAW,CAAC;CACvB;AAID;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,uBAAwB,SAAQ,UAAU;IACzD,UAAU,EAAE,oBAAoB,CAAC;IACjC;;uEAEmE;IACnE,KAAK,EAAE,OAAO,GAAG,KAAK,CAAC;IACvB;;;;;;OAMG;IACH,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAChB,MAAM,EACN,aAAa,CACT,UAAU,GACV,mBAAmB,GACnB,mBAAmB,GACnB,uBAAuB,GACvB,cAAc,CACjB,CACF,CAAC;CACH;AA2BD;;qBAEqB;AACrB,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,MAAM,WAAW,GAAG,IAAI,CAEhE;AAED;;iBAEiB;AACjB,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAED,wBAAgB,WAAW,IAAI,WAAW,CASzC;AAcD,MAAM,WAAW,WAAW;IAC1B;;;;iEAI6D;IAC7D,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAUD;;;YAGY;AACZ,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAE3D;AAED,mBAAmB;AACnB,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAED;;;;;gBAKgB;AAYhB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,WAAW,qBAAqB;IACpC;;4DAEwD;IACxD,QAAQ,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAUD,wBAAgB,yBAAyB,CACvC,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,qBAAqB,CAAC,GAC5C,IAAI,CAEN;AAED,wBAAgB,8BAA8B,IAAI,IAAI,CAErD;AAED;;iEAEiE;AACjE,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,aAAa,CAAC,qBAAqB,CAKrE,CAAC;AAEJ,wBAAgB,WAAW,IAAI,WAAW,CAAC,MAAM,CAAC,CAejD"}
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -93,4 +93,28 @@ export function useOpenFile() {
|
|
|
93
93
|
api.open(path);
|
|
94
94
|
};
|
|
95
95
|
}
|
|
96
|
+
function uiPrimitivesSlot() {
|
|
97
|
+
return globalThis;
|
|
98
|
+
}
|
|
99
|
+
/** Host-only: install the canonical UiPrimitives. Called by the
|
|
100
|
+
* web bundle at boot. Last writer wins. */
|
|
101
|
+
export function __installUiPrimitives(api) {
|
|
102
|
+
uiPrimitivesSlot().__tianshuPluginSdkUiPrimitives__ = api;
|
|
103
|
+
}
|
|
104
|
+
/** Test helper. */
|
|
105
|
+
export function __resetUiPrimitivesForTest() {
|
|
106
|
+
delete uiPrimitivesSlot().__tianshuPluginSdkUiPrimitives__;
|
|
107
|
+
}
|
|
108
|
+
/** Hook returning the live primitives. Throws if the host has
|
|
109
|
+
* not installed any — in production this is impossible because
|
|
110
|
+
* the web bundle installs them at bootstrap; in tests, callers
|
|
111
|
+
* install a stub via `__installUiPrimitives`. */
|
|
112
|
+
export function useUiPrimitives() {
|
|
113
|
+
const api = uiPrimitivesSlot().__tianshuPluginSdkUiPrimitives__;
|
|
114
|
+
if (!api) {
|
|
115
|
+
throw new Error("useUiPrimitives() called without a host: plugin SDK has no live UiPrimitives. " +
|
|
116
|
+
"If you are seeing this in a test, install a stub with __installUiPrimitives({ Modal, DocumentViewer, MarkdownBlock }).");
|
|
117
|
+
}
|
|
118
|
+
return api;
|
|
119
|
+
}
|
|
96
120
|
//# sourceMappingURL=client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,mCAAmC;AACnC,EAAE;AACF,sEAAsE;AACtE,wEAAwE;AACxE,yEAAyE;AA4KzE,SAAS,UAAU;IACjB,kEAAkE;IAClE,OAAO,UAA2C,CAAC;AACrD,CAAC;AAED;;qBAEqB;AACrB,MAAM,UAAU,oBAAoB,CAAC,EAAqB;IACxD,UAAU,EAAE,CAAC,4BAA4B,GAAG,EAAE,CAAC;AACjD,CAAC;AAED;;iBAEiB;AACjB,MAAM,UAAU,yBAAyB;IACvC,OAAO,UAAU,EAAE,CAAC,4BAA4B,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC,4BAA4B,CAAC;IACrD,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CACb,2EAA2E;YACzE,4EAA4E,CAC/E,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,EAAE,CAAC;AACd,CAAC;AA2BD,SAAS,YAAY;IACnB,OAAO,UAA2C,CAAC;AACrD,CAAC;AAED;;;YAGY;AACZ,MAAM,UAAU,oBAAoB,CAAC,GAAgB;IACnD,YAAY,EAAE,CAAC,4BAA4B,GAAG,GAAG,CAAC;AACpD,CAAC;AAED,mBAAmB;AACnB,MAAM,UAAU,yBAAyB;IACvC,OAAO,YAAY,EAAE,CAAC,4BAA4B,CAAC;AACrD,CAAC;AAED;;;;;gBAKgB;AAChB,gEAAgE;AAChE,gEAAgE;AAChE,+DAA+D;AAC/D,kEAAkE;AAClE,EAAE;AACF,0DAA0D;AAC1D,gEAAgE;AAChE,gEAAgE;AAChE,4DAA4D;AAC5D,yDAAyD;AAEzD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAe/B,SAAS,oBAAoB;IAC3B,OAAO,UAAmD,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,CAA6C;IAE7C,oBAAoB,EAAE,CAAC,oCAAoC,GAAG,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,8BAA8B;IAC5C,OAAO,oBAAoB,EAAE,CAAC,oCAAoC,CAAC;AACrE,CAAC;AAED;;iEAEiE;AACjE,MAAM,CAAC,MAAM,gBAAgB,GAC3B,CAAC,KAAK,EAAE,EAAE;IACR,MAAM,CAAC,GAAG,oBAAoB,EAAE,CAAC,oCAAoC,CAAC;IACtE,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,OAAO,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACvC,CAAC,CAAC;AAEJ,MAAM,UAAU,WAAW;IACzB,OAAO,CAAC,IAAY,EAAQ,EAAE;QAC5B,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC,4BAA4B,CAAC;QACxD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,2DAA2D;YAC3D,4DAA4D;YAC5D,4DAA4D;YAC5D,6CAA6C;YAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;YACtD,MAAM,GAAG,GAAG,yBAAyB,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;YACnE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;YACvC,OAAO;QACT,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { AgentTool } from "@tianshu-ai/plugin-sdk";
|
|
2
|
+
import type { PluginRegistry } from "../../core/plugins/registry.js";
|
|
3
|
+
export interface ToolCatalogRefreshDeps {
|
|
4
|
+
/** Resolves a TenantContext from a tenantId. The registry can't
|
|
5
|
+
* do this on its own (it doesn't hold the tenant pool), so the
|
|
6
|
+
* host wires a `globalOps.open` shim through. */
|
|
7
|
+
openTenant: (tenantId: string) => {
|
|
8
|
+
db: import("better-sqlite3").Database;
|
|
9
|
+
tenantId: string;
|
|
10
|
+
};
|
|
11
|
+
/** Lazy registry accessor so the tool can be constructed BEFORE
|
|
12
|
+
* the registry exists (circular-init: the registry's hostTools
|
|
13
|
+
* list needs the tool, the tool needs the registry). Resolved
|
|
14
|
+
* at execute() time, by which point the registry is wired. */
|
|
15
|
+
registry: () => PluginRegistry;
|
|
16
|
+
}
|
|
17
|
+
export declare const TOOL_CATALOG_REFRESH_NAME = "tool_catalog_refresh";
|
|
18
|
+
export declare function buildToolCatalogRefreshTool(deps: ToolCatalogRefreshDeps): AgentTool;
|
|
19
|
+
//# sourceMappingURL=tool-catalog-refresh.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-catalog-refresh.d.ts","sourceRoot":"","sources":["../../../src/chat/host-tools/tool-catalog-refresh.ts"],"names":[],"mappings":"AAgCA,OAAO,KAAK,EACV,SAAS,EAEV,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AASrE,MAAM,WAAW,sBAAsB;IACrC;;sDAEkD;IAClD,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK;QAChC,EAAE,EAAE,OAAO,gBAAgB,EAAE,QAAQ,CAAC;QACtC,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF;;;mEAG+D;IAC/D,QAAQ,EAAE,MAAM,cAAc,CAAC;CAChC;AAQD,eAAO,MAAM,yBAAyB,yBAAyB,CAAC;AAEhE,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,sBAAsB,GAC3B,SAAS,CAmMX"}
|