@makinbakin/sdk 0.0.1-rc.8 → 0.0.1-rc.9
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 +1 -0
- package/_internal/app/hooks/use-content-store.d.ts +2 -0
- package/_internal/app/hooks/use-nav-badge.d.ts +13 -0
- package/_internal/app/types/index.d.ts +0 -42
- package/_internal/core/adapters/runtime/concepts.d.ts +89 -0
- package/_internal/core/adapters/runtime/index.d.ts +1 -1
- package/_internal/core/plugin-types.d.ts +83 -32
- package/components/index.d.ts +37 -2
- package/components/index.js +15505 -1478
- package/hooks/index.d.ts +57 -8
- package/hooks/index.js +14410 -419
- package/index.d.ts +35 -2
- package/index.js +73 -1
- package/metadata/index.d.ts +14 -1
- package/package.json +1 -1
- package/register.d.ts +20 -9
- package/routing/index.d.ts +6 -1
- package/slots/index.js +20 -1
- package/types/index.d.ts +327 -45
- package/utils/index.d.ts +20 -3
- package/_internal/app/hooks/use-assets.d.ts +0 -25
package/README.md
CHANGED
|
@@ -86,6 +86,7 @@ component for a slot via `registerPlugin({ slots: { 'slot-name': Component } })`
|
|
|
86
86
|
| `task-assets` | Task drawer, asset attachments section |
|
|
87
87
|
| `task-sidebar` | Task drawer sidebar (custom panels for a plugin's tasks) |
|
|
88
88
|
| `home-widget` | Dashboard home widget grid |
|
|
89
|
+
| `nav-badge-providers` | Background hook runners (render `null`) that drive `setNavBadge` |
|
|
89
90
|
| `page:/<route>` | Full-page mount at `<route>` |
|
|
90
91
|
|
|
91
92
|
## Sub-path imports
|
|
@@ -15,6 +15,7 @@ interface ContentStore extends ContentState {
|
|
|
15
15
|
activityEvents: ActivityEvent[];
|
|
16
16
|
sseConnected: boolean;
|
|
17
17
|
taskboardVersion: number;
|
|
18
|
+
doctorVersion: number;
|
|
18
19
|
debug: boolean;
|
|
19
20
|
reindexProgress: Record<string, ReindexProgressEntry>;
|
|
20
21
|
setFiles: (files: Record<string, string>) => void;
|
|
@@ -26,6 +27,7 @@ interface ContentStore extends ContentState {
|
|
|
26
27
|
setActivityEvents: (events: ActivityEvent[]) => void;
|
|
27
28
|
setSseConnected: (connected: boolean) => void;
|
|
28
29
|
bumpTaskboard: () => void;
|
|
30
|
+
bumpDoctor: () => void;
|
|
29
31
|
setDebug: (debug: boolean) => void;
|
|
30
32
|
toggleDebug: () => void;
|
|
31
33
|
setReindexProgress: (table: string, indexed: number, done: boolean) => void;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type NavBadge } from '@makinbakin/sdk';
|
|
2
|
+
/**
|
|
3
|
+
* Sync a nav item's badge to the value passed each render. Calls
|
|
4
|
+
* `setNavBadge(pluginId, navItemId, badge)` only when the badge's value
|
|
5
|
+
* actually changes — the effect is keyed on a serialization of `count` +
|
|
6
|
+
* `tone`, not the object identity (which a parent recreates every render).
|
|
7
|
+
*
|
|
8
|
+
* This is the recommended glue for a badge provider: keep your own summary
|
|
9
|
+
* hook (fetch + refresh) per plugin, derive a `NavBadge | null`, and pass it
|
|
10
|
+
* here. Teardown is handled by `unregisterPlugin`, so this does not clear on
|
|
11
|
+
* unmount (which would flicker on dev hot-reload).
|
|
12
|
+
*/
|
|
13
|
+
export declare function useNavBadge(pluginId: string, navItemId: string, badge: NavBadge | null): void;
|
|
@@ -56,48 +56,6 @@ export interface ProjectMeta {
|
|
|
56
56
|
status?: string;
|
|
57
57
|
content: string;
|
|
58
58
|
}
|
|
59
|
-
export interface AssetVariantMeta {
|
|
60
|
-
role: 'thumbnail' | 'optimized' | 'webp';
|
|
61
|
-
path: string;
|
|
62
|
-
filename: string;
|
|
63
|
-
size: number;
|
|
64
|
-
mimeType: string;
|
|
65
|
-
}
|
|
66
|
-
export interface AssetMeta {
|
|
67
|
-
path: string;
|
|
68
|
-
filename: string;
|
|
69
|
-
type: 'text' | 'images' | 'video' | 'audio' | 'plans' | 'research' | 'pdf' | 'data' | 'other';
|
|
70
|
-
mimeType: string;
|
|
71
|
-
size: number;
|
|
72
|
-
mtimeMs?: number;
|
|
73
|
-
metadata: {
|
|
74
|
-
agent: string;
|
|
75
|
-
taskId: string | null;
|
|
76
|
-
created: string;
|
|
77
|
-
tool?: string;
|
|
78
|
-
description?: string;
|
|
79
|
-
tags?: string[];
|
|
80
|
-
originalFilename?: string;
|
|
81
|
-
};
|
|
82
|
-
variants?: AssetVariantMeta[];
|
|
83
|
-
}
|
|
84
|
-
export interface TrashedAssetMeta {
|
|
85
|
-
filename: string;
|
|
86
|
-
originalFilename: string;
|
|
87
|
-
type: string;
|
|
88
|
-
mimeType: string;
|
|
89
|
-
size: number;
|
|
90
|
-
deletedAt: string;
|
|
91
|
-
expiresAt: string;
|
|
92
|
-
metadata: {
|
|
93
|
-
agent: string;
|
|
94
|
-
taskId: string | null;
|
|
95
|
-
created: string;
|
|
96
|
-
tool?: string;
|
|
97
|
-
description?: string;
|
|
98
|
-
tags?: string[];
|
|
99
|
-
} | null;
|
|
100
|
-
}
|
|
101
59
|
export interface OfficeData {
|
|
102
60
|
asciiMap: string;
|
|
103
61
|
statusTable: {
|
|
@@ -308,6 +308,94 @@ export interface RuntimeAvailableModel {
|
|
|
308
308
|
tags?: string[];
|
|
309
309
|
metadata?: RuntimeMetadata;
|
|
310
310
|
}
|
|
311
|
+
export type RuntimeImageOutputFormat = 'png' | 'jpeg' | 'jpg' | 'webp';
|
|
312
|
+
export type RuntimeImageBackground = 'transparent' | 'opaque' | 'auto';
|
|
313
|
+
/**
|
|
314
|
+
* Image capability is intentionally all-optional. A thin runtime that exposes a
|
|
315
|
+
* single image tool maps on by filling minimal fields (e.g. one synthesized
|
|
316
|
+
* provider with a defaultModel); a rich runtime fills more. Consumers MUST
|
|
317
|
+
* treat a sparse capability as normal and never require a field a thin runtime
|
|
318
|
+
* cannot provide — gaps are filled below, in the adapter/shim, not pushed up
|
|
319
|
+
* into plugins. See .claude/specs/media-generation-adapter-architecture.md.
|
|
320
|
+
*/
|
|
321
|
+
export interface RuntimeImageProviderCapabilities {
|
|
322
|
+
generate?: {
|
|
323
|
+
maxCount?: number;
|
|
324
|
+
supportsSize?: boolean;
|
|
325
|
+
supportsAspectRatio?: boolean;
|
|
326
|
+
supportsResolution?: boolean;
|
|
327
|
+
};
|
|
328
|
+
edit?: {
|
|
329
|
+
enabled?: boolean;
|
|
330
|
+
maxCount?: number;
|
|
331
|
+
maxInputImages?: number;
|
|
332
|
+
supportsSize?: boolean;
|
|
333
|
+
supportsAspectRatio?: boolean;
|
|
334
|
+
supportsResolution?: boolean;
|
|
335
|
+
};
|
|
336
|
+
geometry?: {
|
|
337
|
+
sizes?: string[];
|
|
338
|
+
aspectRatios?: string[];
|
|
339
|
+
resolutions?: string[];
|
|
340
|
+
};
|
|
341
|
+
output?: {
|
|
342
|
+
formats?: string[];
|
|
343
|
+
qualities?: string[];
|
|
344
|
+
backgrounds?: string[];
|
|
345
|
+
};
|
|
346
|
+
metadata?: RuntimeMetadata;
|
|
347
|
+
}
|
|
348
|
+
export interface RuntimeImageProvider {
|
|
349
|
+
id: string;
|
|
350
|
+
label?: string;
|
|
351
|
+
defaultModel?: string;
|
|
352
|
+
models?: string[];
|
|
353
|
+
available?: boolean;
|
|
354
|
+
configured?: boolean;
|
|
355
|
+
selected?: boolean;
|
|
356
|
+
capabilities?: RuntimeImageProviderCapabilities;
|
|
357
|
+
metadata?: RuntimeMetadata;
|
|
358
|
+
}
|
|
359
|
+
export interface RuntimeImageGenerateInput {
|
|
360
|
+
prompt: string;
|
|
361
|
+
provider?: string;
|
|
362
|
+
model?: string;
|
|
363
|
+
count?: number;
|
|
364
|
+
width?: number;
|
|
365
|
+
height?: number;
|
|
366
|
+
size?: string;
|
|
367
|
+
aspectRatio?: string;
|
|
368
|
+
resolution?: string;
|
|
369
|
+
outputFormat?: RuntimeImageOutputFormat;
|
|
370
|
+
background?: RuntimeImageBackground;
|
|
371
|
+
timeoutMs?: number;
|
|
372
|
+
metadata?: RuntimeMetadata;
|
|
373
|
+
}
|
|
374
|
+
export interface RuntimeImageEditInput extends RuntimeImageGenerateInput {
|
|
375
|
+
files: string[];
|
|
376
|
+
}
|
|
377
|
+
export interface RuntimeImageFile {
|
|
378
|
+
filePath: string;
|
|
379
|
+
mimeType?: string;
|
|
380
|
+
width?: number;
|
|
381
|
+
height?: number;
|
|
382
|
+
provider?: string;
|
|
383
|
+
model?: string;
|
|
384
|
+
url?: string;
|
|
385
|
+
metadata?: RuntimeMetadata;
|
|
386
|
+
}
|
|
387
|
+
export interface RuntimeImageGenerationResult {
|
|
388
|
+
images: RuntimeImageFile[];
|
|
389
|
+
provider?: string;
|
|
390
|
+
model?: string;
|
|
391
|
+
providerText?: string;
|
|
392
|
+
metadata?: RuntimeMetadata;
|
|
393
|
+
}
|
|
394
|
+
export interface RuntimeImagesAccess {
|
|
395
|
+
providers(): Promise<RuntimeImageProvider[]>;
|
|
396
|
+
generate(input: RuntimeImageGenerateInput): Promise<RuntimeImageGenerationResult>;
|
|
397
|
+
edit(input: RuntimeImageEditInput): Promise<RuntimeImageGenerationResult>;
|
|
398
|
+
}
|
|
311
399
|
export interface TaskDispatchArgs {
|
|
312
400
|
bakinTaskId: string;
|
|
313
401
|
agentId?: string;
|
|
@@ -464,6 +552,7 @@ export interface AgentRuntimeAdapter {
|
|
|
464
552
|
includeUnavailable?: boolean;
|
|
465
553
|
}): Promise<RuntimeAvailableModel[]>;
|
|
466
554
|
};
|
|
555
|
+
images?: RuntimeImagesAccess;
|
|
467
556
|
tasks: {
|
|
468
557
|
dispatch(args: TaskDispatchArgs): Promise<TaskDispatchResult>;
|
|
469
558
|
getExecutionStatus(flowId: string): Promise<TaskExecutionStatus>;
|
|
@@ -2,4 +2,4 @@ export type { AdapterAuditEvent, AdapterHealthCheckDefinition, AdapterHealthChec
|
|
|
2
2
|
export type { ChannelCapability } from './capabilities';
|
|
3
3
|
export { hasChannelCapability } from './capabilities';
|
|
4
4
|
export { getRuntimeMainAgent, getRuntimeMainAgentId, getRuntimeMainAgentName, selectRuntimeMainAgent, } from './helpers';
|
|
5
|
-
export type { AgentRuntimeAdapter, ApprovalDelivery, ApprovalOption, ApprovalPatch, ApprovalRenderRef, ApprovalRenderResult, ApprovalResolveEvent, ApprovalResponse, CancelApprovalArgs, ChannelInfo, ChannelInteractionEvent, ChannelMessageArgs, ChannelMessageEvent, ChatChunk, ContentDeliveryArgs, CreateApprovalArgs, CreateCronJobInput, CreateRuntimeAgentInput, CronJob, CronRun, DeliveryResult, DurableApprovalRecord, EditApprovalArgs, ListExecutionsOpts, MessageArgs, MessageResult, NotificationArgs, ResolveApprovalArgs, RuntimeAgent, RuntimeAllowlistPatch, RuntimeToolActivity, RuntimeAvailableModel, RuntimeConfigAccess, RuntimeMemoryEntry, RuntimeMemoryEntryStat, RuntimeMemoryPathMatch, RuntimeMemoryReadRange, RuntimeMemorySearchResult, RuntimeMemoryTier, RuntimeMessageToolPolicy, RuntimeMessageToolsMode, RuntimeMetadata, RuntimePermissionPatch, RawCronSnapshot, RuntimeSession, RuntimeSkill, TaskDispatchArgs, TaskDispatchResult, TaskExecutionEvent, TaskExecutionStatus, ToolDefinition, ToolResult, UpdateCronJobInput, UpdateRuntimeAgentInput, WorkspaceFile, } from './concepts';
|
|
5
|
+
export type { AgentRuntimeAdapter, ApprovalDelivery, ApprovalOption, ApprovalPatch, ApprovalRenderRef, ApprovalRenderResult, ApprovalResolveEvent, ApprovalResponse, CancelApprovalArgs, ChannelInfo, ChannelInteractionEvent, ChannelMessageArgs, ChannelMessageEvent, ChatChunk, ContentDeliveryArgs, CreateApprovalArgs, CreateCronJobInput, CreateRuntimeAgentInput, CronJob, CronRun, DeliveryResult, DurableApprovalRecord, EditApprovalArgs, ListExecutionsOpts, MessageArgs, MessageResult, NotificationArgs, ResolveApprovalArgs, RuntimeAgent, RuntimeAllowlistPatch, RuntimeToolActivity, RuntimeAvailableModel, RuntimeConfigAccess, RuntimeImageBackground, RuntimeImageEditInput, RuntimeImageFile, RuntimeImageGenerateInput, RuntimeImageGenerationResult, RuntimeImageOutputFormat, RuntimeImageProvider, RuntimeImageProviderCapabilities, RuntimeImagesAccess, RuntimeMemoryEntry, RuntimeMemoryEntryStat, RuntimeMemoryPathMatch, RuntimeMemoryReadRange, RuntimeMemorySearchResult, RuntimeMemoryTier, RuntimeMessageToolPolicy, RuntimeMessageToolsMode, RuntimeMetadata, RuntimePermissionPatch, RawCronSnapshot, RuntimeSession, RuntimeSkill, TaskDispatchArgs, TaskDispatchResult, TaskExecutionEvent, TaskExecutionStatus, ToolDefinition, ToolResult, UpdateCronJobInput, UpdateRuntimeAgentInput, WorkspaceFile, } from './concepts';
|
|
@@ -441,44 +441,93 @@ export interface PluginTaskService {
|
|
|
441
441
|
}): Promise<PluginTask[]>;
|
|
442
442
|
appendLog(id: string, entry: TaskLogEntry): Promise<void>;
|
|
443
443
|
}
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
444
|
+
/** The asset type taxonomy (mirrors ASSET_TYPES in the assets plugin). */
|
|
445
|
+
export type AssetTypeName = 'text' | 'images' | 'video' | 'audio' | 'plans' | 'research' | 'pdf' | 'data' | 'other';
|
|
446
|
+
/** Per-version generation provenance (matches the manifest's `generation` block). */
|
|
447
|
+
export interface AssetGenerationInfo {
|
|
448
|
+
provider: string;
|
|
449
|
+
model: string;
|
|
450
|
+
surface: string;
|
|
451
|
+
quality: string;
|
|
452
|
+
routeSource: string;
|
|
453
|
+
routeReason?: string;
|
|
454
|
+
}
|
|
455
|
+
/** Create a new versioned asset (v1) from a source file. */
|
|
456
|
+
export interface AssetCreateInput {
|
|
457
|
+
sourceFilePath: string;
|
|
458
|
+
type: AssetTypeName;
|
|
459
|
+
agent: string;
|
|
460
|
+
taskId: string | null;
|
|
461
|
+
slug?: string;
|
|
462
|
+
op?: 'generate' | 'upload' | 'import';
|
|
463
|
+
tool?: string | null;
|
|
464
|
+
prompt?: string | null;
|
|
465
|
+
promptHash?: string | null;
|
|
466
|
+
description?: string;
|
|
467
|
+
tags?: string[];
|
|
468
|
+
source?: {
|
|
469
|
+
kind: 'generated' | 'upload' | 'import' | 'clipboard' | 'workspace-file';
|
|
470
|
+
path: string | null;
|
|
471
|
+
};
|
|
472
|
+
generation?: AssetGenerationInfo | null;
|
|
473
|
+
}
|
|
474
|
+
/** Append a new version to an existing asset. */
|
|
475
|
+
export interface AssetVersionCreateInput {
|
|
476
|
+
sourceFilePath: string;
|
|
477
|
+
op?: 'edit' | 'generate' | 'upload' | 'import';
|
|
478
|
+
tool?: string | null;
|
|
479
|
+
prompt?: string | null;
|
|
480
|
+
promptHash?: string | null;
|
|
481
|
+
description?: string;
|
|
482
|
+
tags?: string[];
|
|
483
|
+
generation?: AssetGenerationInfo | null;
|
|
484
|
+
}
|
|
485
|
+
/** Render a derived export of a version (keyed/idempotent by surface). */
|
|
486
|
+
export interface AssetExportRequest {
|
|
487
|
+
fromVersion?: number;
|
|
488
|
+
surface: string;
|
|
489
|
+
format: 'jpg' | 'png' | 'webp';
|
|
490
|
+
width: number;
|
|
491
|
+
height: number;
|
|
492
|
+
quality?: number;
|
|
493
|
+
}
|
|
494
|
+
export interface VersionedAssetRef {
|
|
495
|
+
assetId: string;
|
|
496
|
+
version: number;
|
|
497
|
+
}
|
|
498
|
+
export interface AssetVersionFileRef {
|
|
499
|
+
absPath: string;
|
|
449
500
|
mimeType: string;
|
|
501
|
+
version: number;
|
|
450
502
|
}
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
type:
|
|
503
|
+
/** Current-version summary of an asset, addressed by id. */
|
|
504
|
+
export interface AssetSummary {
|
|
505
|
+
assetId: string;
|
|
506
|
+
type: AssetTypeName;
|
|
507
|
+
agent: string;
|
|
508
|
+
taskId: string | null;
|
|
509
|
+
created: string;
|
|
510
|
+
updated: string;
|
|
511
|
+
currentVersion: number;
|
|
512
|
+
versionCount: number;
|
|
513
|
+
description: string;
|
|
514
|
+
tags: string[];
|
|
455
515
|
mimeType: string;
|
|
516
|
+
width: number | null;
|
|
517
|
+
height: number | null;
|
|
456
518
|
size: number;
|
|
457
|
-
|
|
458
|
-
metadata: {
|
|
459
|
-
agent: string;
|
|
460
|
-
taskId: string | null;
|
|
461
|
-
created: string;
|
|
462
|
-
tool?: string;
|
|
463
|
-
description?: string;
|
|
464
|
-
tags?: string[];
|
|
465
|
-
originalFilename?: string;
|
|
466
|
-
};
|
|
467
|
-
variants?: AssetVariantMeta[];
|
|
468
|
-
}
|
|
469
|
-
export interface AssetFileRef {
|
|
470
|
-
kind: 'asset';
|
|
471
|
-
filename: string;
|
|
472
|
-
mimeType?: string;
|
|
519
|
+
hasThumb: boolean;
|
|
473
520
|
}
|
|
474
521
|
export interface AssetsAPI {
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
522
|
+
createAsset(input: AssetCreateInput): Promise<VersionedAssetRef>;
|
|
523
|
+
/** Read an asset's current-version summary by id (metadata: type/description/tags/etc.), or null. */
|
|
524
|
+
getAsset(assetId: string): Promise<AssetSummary | null>;
|
|
525
|
+
addVersion(assetId: string, input: AssetVersionCreateInput): Promise<VersionedAssetRef>;
|
|
526
|
+
addExport(assetId: string, input: AssetExportRequest): Promise<{
|
|
527
|
+
name: string;
|
|
528
|
+
file: string;
|
|
529
|
+
}>;
|
|
530
|
+
resolveVersionFile(assetId: string, version?: number): Promise<AssetVersionFileRef | null>;
|
|
482
531
|
}
|
|
483
532
|
/** Field type for search content type schemas */
|
|
484
533
|
export interface SearchSchemaField {
|
|
@@ -607,6 +656,8 @@ export interface SearchResult {
|
|
|
607
656
|
fields: Record<string, unknown>;
|
|
608
657
|
/** Cross-encoder reranker score (present when a reranker was used). */
|
|
609
658
|
rerankScore?: number;
|
|
659
|
+
/** Per-index score breakdown (e.g. { full_text_index_v0, assets_text, assets_visual }). */
|
|
660
|
+
indexScores?: Record<string, number>;
|
|
610
661
|
}
|
|
611
662
|
/** Search response from a query */
|
|
612
663
|
export interface SearchResponse {
|
package/components/index.d.ts
CHANGED
|
@@ -6,29 +6,64 @@
|
|
|
6
6
|
* not include layout chrome (sidebar, header, toaster) — those are Bakin's
|
|
7
7
|
* shell, not plugin-author territory.
|
|
8
8
|
*/
|
|
9
|
+
/** Round avatar image for an agent, falls back to initials. */
|
|
9
10
|
export { AgentAvatar } from '../_internal/app/components/agent-avatar';
|
|
11
|
+
/** Multi-select facet filter scoped to agents. */
|
|
10
12
|
export { AgentFilter } from '../_internal/app/components/agent-filter';
|
|
13
|
+
/** Single-agent picker dropdown for form fields. */
|
|
11
14
|
export { AgentSelect } from '../_internal/app/components/agent-select';
|
|
12
|
-
|
|
15
|
+
/** Small status dot showing an agent's online/offline state. */
|
|
16
|
+
export { AgentDot } from '../_internal/app/components/agent-status';
|
|
17
|
+
/** Compound agent status (dot + label + last-seen timestamp). */
|
|
18
|
+
export { AgentStatus } from '../_internal/app/components/agent-status';
|
|
19
|
+
/** Right-side slide-out drawer with backdrop and focus trap. */
|
|
13
20
|
export { BakinDrawer } from '../_internal/app/components/bakin-drawer';
|
|
21
|
+
/** Color picker swatch grid for tag/agent color assignment. */
|
|
14
22
|
export { ColorPicker } from '../_internal/app/components/color-picker';
|
|
23
|
+
/** Centered empty-state component with icon, title, and CTA. */
|
|
15
24
|
export { EmptyState } from '../_internal/app/components/empty-state';
|
|
25
|
+
/** Inline error banner with dismiss + retry actions. */
|
|
16
26
|
export { ErrorBanner } from '../_internal/app/components/error-banner';
|
|
27
|
+
/** Full-page error state with title, description, and retry button. */
|
|
17
28
|
export { ErrorState } from '../_internal/app/components/error-state';
|
|
29
|
+
/** Popover multi-select facet filter (column, owner, tag, etc.). */
|
|
18
30
|
export { FacetFilter } from '../_internal/app/components/facet-filter';
|
|
19
31
|
export type { FacetOption } from '../_internal/app/components/facet-filter';
|
|
32
|
+
/** Chat + plan-proposal review panel for brainstorm sessions. */
|
|
20
33
|
export { IntegratedBrainstorm } from '../_internal/app/components/integrated-brainstorm';
|
|
21
34
|
export type { BrainstormMessage, IntegratedBrainstormProps, BrainstormOnSend, SendContext, AssistantTransformed, BrainstormActivityInput, BrainstormActivityStorageInput, BrainstormActivityStorageRecord, BrainstormTimelineActivityInput, BrainstormTimelineMessageInput, } from '../_internal/app/components/integrated-brainstorm';
|
|
22
|
-
|
|
35
|
+
/** Convert a custom activity message back into a brainstorm activity. */
|
|
36
|
+
export { brainstormActivityMessageFromCustom } from '../_internal/app/components/integrated-brainstorm';
|
|
37
|
+
/** Compute the canonical thread ID for a brainstorm session. */
|
|
38
|
+
export { brainstormThreadId } from '../_internal/app/components/integrated-brainstorm';
|
|
39
|
+
/** Normalize a brainstorm activity payload for persistence. */
|
|
40
|
+
export { normalizeBrainstormActivityForStorage } from '../_internal/app/components/integrated-brainstorm';
|
|
41
|
+
/** Normalize a single brainstorm message for persistence. */
|
|
42
|
+
export { normalizeBrainstormActivityMessageForStorage } from '../_internal/app/components/integrated-brainstorm';
|
|
43
|
+
/** Read an SSE response stream into brainstorm activity events. */
|
|
44
|
+
export { readBrainstormSseResponse } from '../_internal/app/components/integrated-brainstorm';
|
|
45
|
+
/** Convert a runtime chat chunk to a brainstorm activity event. */
|
|
46
|
+
export { runtimeChunkToBrainstormActivity } from '../_internal/app/components/integrated-brainstorm';
|
|
47
|
+
/** Fold a brainstorm session's events into a renderable timeline. */
|
|
48
|
+
export { toBrainstormTimeline } from '../_internal/app/components/integrated-brainstorm';
|
|
49
|
+
/** Render markdown content with syntax highlighting and link handling. */
|
|
23
50
|
export { MarkdownContent } from '../_internal/app/components/markdown-content';
|
|
51
|
+
/** Editable markdown text area with preview toggle. */
|
|
24
52
|
export { MarkdownEditor } from '../_internal/app/components/markdown-editor';
|
|
53
|
+
/** Model picker dropdown listing available models from the catalog. */
|
|
25
54
|
export { ModelSelect } from '../_internal/app/components/model-select';
|
|
55
|
+
/** Standard plugin page wrapper with header, content area, and toaster. */
|
|
26
56
|
export { PageLayout } from '../_internal/app/components/page-layout';
|
|
57
|
+
/** Plugin page header with title, count badge, search, and action buttons. */
|
|
27
58
|
export { PluginHeader } from '../_internal/app/components/plugin-header';
|
|
59
|
+
/** Render a settings form from a PluginSettingsSchema definition. */
|
|
28
60
|
export { PluginSettingsRenderer } from '../_internal/app/components/plugin-settings-renderer';
|
|
29
61
|
export type { PluginSettingsSchema } from '../_internal/app/components/plugin-settings-renderer';
|
|
62
|
+
/** Sortable table column header with ascending/descending indicator. */
|
|
30
63
|
export { SortableHead } from '../_internal/app/components/sortable-head';
|
|
31
64
|
export type { SortDir } from '../_internal/app/components/sortable-head';
|
|
65
|
+
/** Tab list with animated underline indicator. */
|
|
32
66
|
export { UnderlineTabs } from '../_internal/app/components/underline-tabs';
|
|
33
67
|
export type { UnderlineTab } from '../_internal/app/components/underline-tabs';
|
|
68
|
+
/** Icon component for a notification channel (Discord, Slack, email, etc.). */
|
|
34
69
|
export { ChannelIcon } from '../_internal/plugins/workflows/hooks/channel-icon';
|