@makinbakin/sdk 0.0.0-bootstrap.0 → 0.0.1-rc.2

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 CHANGED
@@ -9,6 +9,12 @@ runtime React + `@makinbakin/sdk/*` are externalized and resolved through
9
9
  the host's import map — so plugins don't ship a second copy of any of
10
10
  them.
11
11
 
12
+ Full SDK docs:
13
+
14
+ - [SDK overview](https://makinbakin.com/docs/extending/sdk/overview/)
15
+ - [SDK reference](https://makinbakin.com/docs/reference/generated/sdk/)
16
+ - [Build a plugin](https://makinbakin.com/docs/extending/plugins/build/)
17
+
12
18
  ## Install
13
19
 
14
20
  ```sh
@@ -26,7 +32,7 @@ the actual instances at runtime.
26
32
  bakin plugins scaffold my-plugin
27
33
  cd my-plugin
28
34
  bun install
29
- bakin plugins install .
35
+ bakin plugins install --dev .
30
36
  ```
31
37
 
32
38
  ## Minimal client entry
@@ -84,17 +90,21 @@ component for a slot via `registerPlugin({ slots: { 'slot-name': Component } })`
84
90
 
85
91
  ## Sub-path imports
86
92
 
87
- The `exports` map covers these sub-paths:
93
+ The public npm package exposes these sub-paths:
88
94
 
89
95
  | Import path | What it exposes |
90
96
  | ------------------------ | -------------------------------------------- |
91
- | `@makinbakin/sdk` | `registerPlugin`, top-level re-exports |
92
- | `@makinbakin/sdk/ui` | Base UI components (buttons, cards, inputs) |
93
- | `@makinbakin/sdk/hooks` | Shared React hooks (useQueryState, useDebug) |
94
- | `@makinbakin/sdk/components` | Higher-level shell components |
95
- | `@makinbakin/sdk/slots` | Slot runtime + provider |
96
- | `@makinbakin/sdk/types` | TypeScript types (`BakinPlugin`, `PluginContext`, etc.) |
97
- | `@makinbakin/sdk/utils` | Shared utilities |
97
+ | `@makinbakin/sdk` | Plugin registration, route helpers, top-level exports |
98
+ | `@makinbakin/sdk/ui` | Base UI components |
99
+ | `@makinbakin/sdk/hooks` | Shared React hooks |
100
+ | `@makinbakin/sdk/components` | Higher-level shell components |
101
+ | `@makinbakin/sdk/slots` | Slot runtime and provider |
102
+ | `@makinbakin/sdk/types` | TypeScript contract types |
103
+ | `@makinbakin/sdk/utils` | Shared utilities |
104
+ | `@makinbakin/sdk/metadata` | Docs-aware contract metadata helpers |
105
+ | `@makinbakin/sdk/routing` | Typed declarative route helpers |
106
+
107
+ Use `@makinbakin/sdk/*` imports for external plugin code.
98
108
 
99
109
  ## Repository
100
110
 
@@ -104,4 +114,4 @@ This package is developed alongside Bakin in the
104
114
 
105
115
  ## License
106
116
 
107
- MIT © markhayden
117
+ Apache-2.0
@@ -0,0 +1,23 @@
1
+ import type { RuntimeChatChunk } from '@makinbakin/sdk/types';
2
+ import type { BrainstormMessage } from './types';
3
+ export interface BrainstormActivityInput {
4
+ kind: string;
5
+ content: string;
6
+ data?: unknown;
7
+ }
8
+ export interface BrainstormTimelineMessageInput {
9
+ id: string;
10
+ role: 'user' | 'assistant' | 'agent';
11
+ content: string;
12
+ timestamp?: string;
13
+ }
14
+ export interface BrainstormTimelineActivityInput extends BrainstormActivityInput {
15
+ id: string;
16
+ timestamp?: string;
17
+ }
18
+ export declare function runtimeChunkToBrainstormActivity(chunk: RuntimeChatChunk): BrainstormActivityInput | null;
19
+ export declare function brainstormActivityMessageFromCustom(name: string, data: unknown): BrainstormMessage | null;
20
+ export declare function toBrainstormTimeline(agentId: string, input: {
21
+ messages: BrainstormTimelineMessageInput[];
22
+ activities?: BrainstormTimelineActivityInput[];
23
+ }): BrainstormMessage[];
@@ -1,3 +1,8 @@
1
1
  import type { IntegratedBrainstormProps } from './types';
2
2
  export type { BrainstormMessage, IntegratedBrainstormProps, BrainstormOnSend, SendContext, AssistantTransformed, } from './types';
3
- export declare function IntegratedBrainstorm({ messages, onMessagesChange, onSend, agentId, onAgentChange, label, icon, placeholder, emptyState, collapsible, defaultOpen, conversationStartHeight, minHeight, maxHeight, maxInputHeight, storageKey, fitParent, showHeader, readOnly, readOnlyNotice, transformAssistantMessage, }: IntegratedBrainstormProps): import("react/jsx-runtime").JSX.Element;
3
+ export { brainstormActivityMessageFromCustom, runtimeChunkToBrainstormActivity, toBrainstormTimeline, } from './activity';
4
+ export { brainstormThreadId, normalizeBrainstormActivityForStorage, normalizeBrainstormActivityMessageForStorage, } from './session';
5
+ export type { BrainstormActivityInput, BrainstormTimelineActivityInput, BrainstormTimelineMessageInput, } from './activity';
6
+ export type { BrainstormActivityStorageInput, BrainstormActivityStorageRecord, } from './session';
7
+ export { readBrainstormSseResponse } from './sse';
8
+ export declare function IntegratedBrainstorm({ messages, onMessagesChange, onSend, agentId, onAgentChange, label, icon, placeholder, emptyState, collapsible, defaultOpen, defaultHeight, minHeight, maxHeight, maxInputHeight, storageKey, fitParent, showHeader, readOnly, readOnlyNotice, transformAssistantMessage, }: IntegratedBrainstormProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,16 @@
1
+ import type { BrainstormMessage } from './types';
2
+ export interface BrainstormActivityStorageInput {
3
+ id?: string;
4
+ kind?: string;
5
+ content?: string;
6
+ data?: unknown;
7
+ timestamp?: string;
8
+ }
9
+ export interface BrainstormActivityStorageRecord {
10
+ kind: string;
11
+ content: string;
12
+ data?: unknown;
13
+ }
14
+ export declare function brainstormThreadId(scope: string, entityId: string, agentId: string): string;
15
+ export declare function normalizeBrainstormActivityForStorage(activity: BrainstormActivityStorageInput): BrainstormActivityStorageRecord | null;
16
+ export declare function normalizeBrainstormActivityMessageForStorage(activity: BrainstormActivityStorageInput): Pick<BrainstormMessage, 'role' | 'kind' | 'content' | 'data'> | null;
@@ -0,0 +1,8 @@
1
+ import type { SendContext } from './types';
2
+ interface BrainstormSseReadOptions {
3
+ onCustomEvent?: (event: string, data: unknown) => boolean | void;
4
+ }
5
+ export declare function readBrainstormSseResponse(response: Response, ctx: SendContext, options?: BrainstormSseReadOptions): Promise<{
6
+ content: string;
7
+ }>;
8
+ export {};
@@ -2,9 +2,11 @@ import type { LucideIcon } from 'lucide-react';
2
2
  import type { ReactNode } from 'react';
3
3
  export interface BrainstormMessage {
4
4
  id: string;
5
- role: 'user' | 'assistant';
5
+ role: 'user' | 'assistant' | 'activity';
6
6
  content: string;
7
7
  agentId?: string;
8
+ kind?: 'runtime_status' | 'tool_call' | 'error' | string;
9
+ data?: unknown;
8
10
  timestamp?: string;
9
11
  }
10
12
  export interface SendContext {
@@ -38,16 +40,16 @@ export interface IntegratedBrainstormProps {
38
40
  position?: 'bottom';
39
41
  collapsible?: boolean;
40
42
  defaultOpen?: boolean;
41
- conversationStartHeight?: number;
43
+ defaultHeight?: number;
42
44
  minHeight?: number;
43
45
  maxHeight?: number;
44
46
  maxInputHeight?: number;
45
47
  storageKey?: string;
46
48
  /**
47
49
  * Fill parent height via flex-1/h-full instead of a fixed pixel height.
48
- * Drops the drag handle (nothing to drag against) and disables auto-expand
49
- * (already full-size). Use when the panel IS the pane — e.g. a dedicated
50
- * chat route — rather than a bottom sheet above other content.
50
+ * Drops the drag handle because there is nothing fixed to drag against. Use
51
+ * when the panel IS the pane — e.g. a dedicated chat route — rather than a
52
+ * bottom sheet above other content.
51
53
  */
52
54
  fitParent?: boolean;
53
55
  /**
@@ -1,7 +1,7 @@
1
1
  import { useRender } from "@base-ui/react/use-render";
2
2
  import { type VariantProps } from "class-variance-authority";
3
3
  declare const badgeVariants: (props?: ({
4
- variant?: "link" | "destructive" | "default" | "outline" | "secondary" | "ghost" | null | undefined;
4
+ variant?: "destructive" | "link" | "default" | "outline" | "secondary" | "ghost" | null | undefined;
5
5
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
6
  declare function Badge({ className, variant, render, ...props }: useRender.ComponentProps<"span"> & VariantProps<typeof badgeVariants>): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
7
7
  export { Badge, badgeVariants };
@@ -1,7 +1,7 @@
1
1
  import { Button as ButtonPrimitive } from "@base-ui/react/button";
2
2
  import { type VariantProps } from "class-variance-authority";
3
3
  declare const buttonVariants: (props?: ({
4
- variant?: "link" | "destructive" | "default" | "outline" | "secondary" | "ghost" | "warning" | "accent" | null | undefined;
4
+ variant?: "destructive" | "link" | "default" | "outline" | "secondary" | "ghost" | "warning" | "accent" | null | undefined;
5
5
  size?: "default" | "sm" | "lg" | "icon" | "xs" | "icon-xs" | "icon-sm" | "icon-lg" | null | undefined;
6
6
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
7
7
  declare function Button({ className, variant, size, ...props }: ButtonPrimitive.Props & VariantProps<typeof buttonVariants>): import("react/jsx-runtime").JSX.Element;
@@ -38,9 +38,25 @@ export interface WorkspaceFile {
38
38
  updatedAt?: string;
39
39
  metadata?: RuntimeMetadata;
40
40
  }
41
- export interface MessageArgs {
41
+ export type RuntimeMessageToolsMode = 'auto' | 'none';
42
+ export interface RuntimeMessageToolPolicy {
43
+ /**
44
+ * Controls whether runtime-native tools are available for this agent turn.
45
+ * `none` disables tools. Omit or use `auto` for runtime/provider defaults.
46
+ */
47
+ toolsMode?: RuntimeMessageToolsMode;
48
+ /** Optional runtime-native tool allowlist for this turn. */
49
+ toolsAllow?: string[];
50
+ /** Optional runtime-native tool denylist for this turn. */
51
+ toolsDeny?: string[];
52
+ }
53
+ export interface MessageArgs extends RuntimeMessageToolPolicy {
42
54
  agentId: string;
43
55
  content: string;
56
+ /**
57
+ * Adapter-neutral durable conversation key. Runtime adapters should map the
58
+ * same agentId + threadId pair to the same provider/runtime session.
59
+ */
44
60
  threadId?: string;
45
61
  metadata?: RuntimeMetadata;
46
62
  }
@@ -49,10 +65,22 @@ export interface MessageResult {
49
65
  content?: string;
50
66
  metadata?: RuntimeMetadata;
51
67
  }
68
+ export interface RuntimeToolActivity {
69
+ phase: 'call' | 'result';
70
+ callId?: string;
71
+ toolName: string;
72
+ status?: 'running' | 'completed' | 'failed' | string;
73
+ summary?: string;
74
+ inputPreview?: string;
75
+ outputPreview?: string;
76
+ durationMs?: number;
77
+ exitCode?: number;
78
+ metadata?: RuntimeMetadata;
79
+ }
52
80
  export interface ChatChunk {
53
81
  type: 'text' | 'tool' | 'status' | 'done' | 'error';
54
82
  content?: string;
55
- data?: unknown;
83
+ data?: RuntimeMetadata | RuntimeToolActivity;
56
84
  }
57
85
  export interface ToolDefinition {
58
86
  name: string;
@@ -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, RuntimeAvailableModel, RuntimeConfigAccess, RuntimeMemoryEntry, RuntimeMemoryEntryStat, RuntimeMemoryPathMatch, RuntimeMemoryReadRange, RuntimeMemorySearchResult, RuntimeMemoryTier, 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, RuntimeMemoryEntry, RuntimeMemoryEntryStat, RuntimeMemoryPathMatch, RuntimeMemoryReadRange, RuntimeMemorySearchResult, RuntimeMemoryTier, RuntimeMessageToolPolicy, RuntimeMessageToolsMode, RuntimeMetadata, RuntimePermissionPatch, RawCronSnapshot, RuntimeSession, RuntimeSkill, TaskDispatchArgs, TaskDispatchResult, TaskExecutionEvent, TaskExecutionStatus, ToolDefinition, ToolResult, UpdateCronJobInput, UpdateRuntimeAgentInput, WorkspaceFile, } from './concepts';
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Core branding and identity constants for Bakin.
3
+ *
4
+ * Change these values to rebrand the entire application.
5
+ * Every file that needs the app name, slug, or paths imports from here.
6
+ */
7
+ export declare const APP_NAME = "Bakin";
8
+ export declare const APP_SLUG = "bakin";
9
+ export { APP_VERSION } from './generated-version';
10
+ export declare const APP_HOME_DEFAULT = "~/.bakin";
11
+ export declare const CONFIG_FILE = "bakin.config.ts";
12
+ export declare const PLUGIN_MANIFEST_FILE = "bakin-plugin.json";
13
+ export declare const MAIN_AGENT_ROLE = "orchestrator";
14
+ export declare const DEFAULT_PORT = 3737;
15
+ export declare const ENV_PREFIX = "BAKIN";
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Resolve the content directory path.
3
+ */
4
+ export declare function getContentDir(): string;
5
+ /**
6
+ * Whether the content dir is inside the supported Bakin home contract.
7
+ */
8
+ export declare function isUsingBakinHome(): boolean;
9
+ /**
10
+ * Reset the resolved content dir (for testing).
11
+ */
12
+ export declare function resetContentDir(): void;
13
+ /**
14
+ * Well-known content paths. Agents and CLI use these instead of constructing paths.
15
+ */
16
+ export interface BakinPaths {
17
+ home: string;
18
+ memoryLog: string;
19
+ audit: string;
20
+ assets: string;
21
+ 'assets.store': string;
22
+ 'assets.inbox': string;
23
+ 'assets.trash': string;
24
+ agents: string;
25
+ personas: string;
26
+ team: string;
27
+ heartbeats: string;
28
+ inbox: string;
29
+ tasks: string;
30
+ workflows: string;
31
+ settings: string;
32
+ logs: string;
33
+ }
34
+ export declare function getBakinPaths(): BakinPaths;
35
+ /**
36
+ * Initialize the ~/.bakin/ directory structure.
37
+ * Called by `bakin mkdir` CLI command or on first run.
38
+ */
39
+ export declare function initBakinHome(targetDir?: string): {
40
+ created: string[];
41
+ seeded: string[];
42
+ };
@@ -0,0 +1 @@
1
+ export declare const APP_VERSION = "0.0.0-dev";
@@ -0,0 +1,8 @@
1
+ declare function createLogger(module: string): {
2
+ debug: (message: string, data?: Record<string, unknown>) => void;
3
+ info: (message: string, data?: Record<string, unknown>) => void;
4
+ warn: (message: string, errorOrData?: unknown, data?: Record<string, unknown>) => void;
5
+ error: (message: string, errorOrData?: unknown, data?: Record<string, unknown>) => void;
6
+ };
7
+ export type Logger = ReturnType<typeof createLogger>;
8
+ export { createLogger };
@@ -128,6 +128,12 @@ export interface ActivityAPI {
128
128
  /** Log a structured audit event */
129
129
  audit(event: string, agent: string, data?: Record<string, unknown>): void;
130
130
  }
131
+ export interface PluginLogger {
132
+ debug(message: string, data?: Record<string, unknown>): void;
133
+ info(message: string, data?: Record<string, unknown>): void;
134
+ warn(message: string, errorOrData?: unknown, data?: Record<string, unknown>): void;
135
+ error(message: string, errorOrData?: unknown, data?: Record<string, unknown>): void;
136
+ }
131
137
  export interface HookAPI {
132
138
  /** Register a handler for a named hook. Returns unsubscribe function. */
133
139
  register(name: string, handler: (data: any) => any, metadata?: HookRegistrationMetadata): () => void;
@@ -218,6 +224,33 @@ export interface HealthCheckResult {
218
224
  message: string;
219
225
  autoFixable: boolean;
220
226
  }
227
+ export type HealthRepairSafety = 'safe' | 'manual' | 'destructive';
228
+ export interface HealthRepairChange {
229
+ kind: 'file' | 'setting' | 'service' | 'runtime' | 'task' | 'other';
230
+ target: string;
231
+ action: 'create' | 'update' | 'delete' | 'install' | 'invoke';
232
+ description: string;
233
+ }
234
+ export interface HealthRepairPlanItem {
235
+ id: string;
236
+ checkId: string;
237
+ title: string;
238
+ reason: string;
239
+ safety: HealthRepairSafety;
240
+ requiresConfirmation: boolean;
241
+ changes: HealthRepairChange[];
242
+ }
243
+ export interface HealthRepairApplyResult {
244
+ id: string;
245
+ checkId: string;
246
+ status: 'applied' | 'skipped' | 'failed';
247
+ message: string;
248
+ changes: HealthRepairChange[];
249
+ }
250
+ export interface HealthRepairHandler {
251
+ plan(rows: HealthCheckResult[]): Promise<HealthRepairPlanItem[]>;
252
+ apply(items: HealthRepairPlanItem[]): Promise<HealthRepairApplyResult[]>;
253
+ }
221
254
  /**
222
255
  * Input shape plugins pass to `ctx.registerHealthCheck`. The plugin id is
223
256
  * auto-namespaced as `{pluginId}.{id}`. `run()` returns an array so one
@@ -234,12 +267,15 @@ export interface PluginHealthCheckInput {
234
267
  */
235
268
  run: () => Promise<HealthCheckResult[]>;
236
269
  /**
237
- * Advisory flag for admin UIs: `true` if `run()` may perform safe
238
- * auto-fixes internally. Pure metadata in v1 — the orchestrator always
239
- * invokes every registered check regardless of this value. Plugins that
240
- * do internal auto-fixes gate on `getSettings().doctor.*` themselves.
270
+ * Legacy advisory flag for older admin surfaces. New code should derive
271
+ * repairability from `repair`.
241
272
  */
242
273
  autoFix?: boolean;
274
+ /**
275
+ * Optional explicit repair contract. Diagnostics call only `run()`; repair
276
+ * flows call `plan()` first, then `apply()` after explicit confirmation.
277
+ */
278
+ repair?: HealthRepairHandler;
243
279
  }
244
280
  export interface HealthCheckDef extends PluginHealthCheckInput {
245
281
  runtime: 'plugin';
@@ -306,6 +342,8 @@ export interface PluginContext {
306
342
  updateSettings(patch: Record<string, unknown>): void;
307
343
  /** Structured activity logging */
308
344
  activity: ActivityAPI;
345
+ /** Plugin-scoped server log. Prefer this over console.* for lifecycle logs. */
346
+ log?: PluginLogger;
309
347
  /** Cross-plugin hook registration */
310
348
  hooks: HookAPI;
311
349
  /** Adapter-backed search — register content types, index, query */
@@ -328,10 +366,19 @@ export interface PluginTask {
328
366
  workflowId?: string;
329
367
  scheduleJobId?: string;
330
368
  projectId?: string;
369
+ availableAt?: string;
370
+ dueAt?: string;
371
+ source?: PluginTaskSource;
331
372
  order?: number;
332
373
  createdAt?: string;
333
374
  updatedAt?: string;
334
375
  }
376
+ export interface PluginTaskSource {
377
+ pluginId?: string;
378
+ entityType?: string;
379
+ entityId?: string;
380
+ purpose?: string;
381
+ }
335
382
  export interface TaskLogEntry {
336
383
  timestamp: string;
337
384
  author: string;
@@ -349,6 +396,9 @@ export interface PluginTaskCreateInput {
349
396
  workflowId?: string;
350
397
  projectId?: string;
351
398
  parentId?: string | null;
399
+ availableAt?: string;
400
+ dueAt?: string;
401
+ source?: PluginTaskSource;
352
402
  skipWorkflowReason?: string;
353
403
  }
354
404
  export interface PluginTaskUpdateInput {
@@ -364,6 +414,9 @@ export interface PluginTaskUpdateInput {
364
414
  scheduleJobId?: string;
365
415
  projectId?: string;
366
416
  parentId?: string | null;
417
+ availableAt?: string | null;
418
+ dueAt?: string | null;
419
+ source?: PluginTaskSource | null;
367
420
  }
368
421
  export interface PluginTaskService {
369
422
  create(input: PluginTaskCreateInput): Promise<PluginTask>;
@@ -818,6 +871,14 @@ export interface PluginManifestSignature {
818
871
  publicKey: string;
819
872
  signature: string;
820
873
  }
874
+ export interface SecretDeclaration {
875
+ /** Canonical environment variable name, for example `ANTHROPIC_API_KEY`. */
876
+ name: string;
877
+ /** Human-readable setup note. Never include a secret value here. */
878
+ description: string;
879
+ /** Missing required secrets should be reported by setup/health checks. Defaults to true. */
880
+ required: boolean;
881
+ }
821
882
  export interface PluginManifest {
822
883
  id: string;
823
884
  name: string;
@@ -829,7 +890,7 @@ export interface PluginManifest {
829
890
  client?: string;
830
891
  };
831
892
  contentFiles?: string[];
832
- secrets?: string[];
893
+ secrets?: SecretDeclaration[];
833
894
  tests?: string;
834
895
  dependencies?: string[];
835
896
  permissions?: string[];
@@ -2,7 +2,7 @@
2
2
  * `@bakin/core/routing` — typed route contracts.
3
3
  *
4
4
  * Re-exports the route types and authoring helpers used by both the host and
5
- * plugin authors (via `@bakin/sdk/routing`).
5
+ * plugin authors (via `@makinbakin/sdk/routing`).
6
6
  */
7
7
  export type { HttpMethod, HttpStatus, RouteContext, PluginContextLite, CoreContext, JsonBodySpec, MultipartBodySpec, RawBodySpec, NoBodySpec, BodySpec, JsonResponseSpec, NoContentResponseSpec, NonJsonResponseSpec, ResponseSpec, ParsedInput, APIRoute, PluginWithRoutes, } from './types';
8
8
  export { defineRoute, defineCoreRoute, definePlugin } from './define';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * `@bakin/sdk/components` — shared layout + compound components.
2
+ * `@makinbakin/sdk/components` — shared layout + compound components.
3
3
  *
4
4
  * Plugin-author-visible components that wrap shadcn primitives with Bakin-
5
5
  * specific behavior (headers, filters, markdown, agent displays, etc.). Does
@@ -18,7 +18,8 @@ export { ErrorState } from '../_internal/app/components/error-state';
18
18
  export { FacetFilter } from '../_internal/app/components/facet-filter';
19
19
  export type { FacetOption } from '../_internal/app/components/facet-filter';
20
20
  export { IntegratedBrainstorm } from '../_internal/app/components/integrated-brainstorm';
21
- export type { BrainstormMessage, IntegratedBrainstormProps, BrainstormOnSend, SendContext, AssistantTransformed, } from '../_internal/app/components/integrated-brainstorm';
21
+ export type { BrainstormMessage, IntegratedBrainstormProps, BrainstormOnSend, SendContext, AssistantTransformed, BrainstormActivityInput, BrainstormActivityStorageInput, BrainstormActivityStorageRecord, BrainstormTimelineActivityInput, BrainstormTimelineMessageInput, } from '../_internal/app/components/integrated-brainstorm';
22
+ export { brainstormActivityMessageFromCustom, brainstormThreadId, normalizeBrainstormActivityForStorage, normalizeBrainstormActivityMessageForStorage, readBrainstormSseResponse, runtimeChunkToBrainstormActivity, toBrainstormTimeline, } from '../_internal/app/components/integrated-brainstorm';
22
23
  export { MarkdownContent } from '../_internal/app/components/markdown-content';
23
24
  export { MarkdownEditor } from '../_internal/app/components/markdown-editor';
24
25
  export { ModelSelect } from '../_internal/app/components/model-select';