@synap-core/api-types 1.6.2 → 1.8.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.
@@ -56,6 +56,21 @@ export interface Context {
56
56
  socketIO?: any;
57
57
  workspaceId?: string | null;
58
58
  workspaceRole?: string | null;
59
+ /**
60
+ * Request source — "intelligence" when the request comes from the Intelligence Hub
61
+ * via API key auth. Set automatically by api-key-auth middleware; never set by humans.
62
+ */
63
+ source?: string | null;
64
+ /**
65
+ * Hard flag — true only when authenticated via a hub-protocol scoped API key.
66
+ * Cannot be spoofed by a human JWT session.
67
+ */
68
+ isHubProtocol?: boolean;
69
+ /**
70
+ * The message ID that triggered this hub-protocol request.
71
+ * When set, proposals created during this request are linked to this message.
72
+ */
73
+ sourceMessageId?: string | null;
59
74
  }
60
75
  /**
61
76
  * Users Table - Cache for Kratos Identity Data
@@ -71,16 +86,38 @@ export interface AgentMetadata {
71
86
  createdByUserId: string;
72
87
  capabilities?: string[];
73
88
  }
74
- declare enum ChatThreadType {
75
- MAIN = "main",
76
- BRANCH = "branch"
89
+ declare enum MessageRole {
90
+ USER = "user",
91
+ ASSISTANT = "assistant",
92
+ SYSTEM = "system"
93
+ }
94
+ declare enum MessageAuthorType {
95
+ HUMAN = "human",
96
+ AI_AGENT = "ai_agent",
97
+ EXTERNAL = "external",// message imported from external platform
98
+ BOT = "bot"
99
+ }
100
+ declare enum MessageCategory {
101
+ CHAT = "chat",// standard conversational message
102
+ COMMENT = "comment",// comment on an entity/document/view
103
+ SYSTEM_NOTIFICATION = "system_notification",// cross-channel update, conflict alerts, etc.
104
+ REVIEW = "review"
77
105
  }
78
- declare enum ChatThreadStatus {
106
+ declare enum ChannelType {
107
+ AI_THREAD = "ai_thread",
108
+ BRANCH = "branch",
109
+ ENTITY_COMMENTS = "entity_comments",
110
+ DOCUMENT_REVIEW = "document_review",
111
+ VIEW_DISCUSSION = "view_discussion",
112
+ DIRECT = "direct",
113
+ EXTERNAL_IMPORT = "external_import"
114
+ }
115
+ declare enum ChannelStatus {
79
116
  ACTIVE = "active",
80
117
  MERGED = "merged",
81
118
  ARCHIVED = "archived"
82
119
  }
83
- declare enum ChatThreadAgentType {
120
+ declare enum ChannelAgentType {
84
121
  DEFAULT = "default",
85
122
  META = "meta",
86
123
  PROMPTING = "prompting",
@@ -91,13 +128,13 @@ declare enum ChatThreadAgentType {
91
128
  ONBOARDING = "onboarding",
92
129
  WORKSPACE_CREATION = "workspace-creation"
93
130
  }
94
- declare const chatThreads: import("drizzle-orm/pg-core").PgTableWithColumns<{
95
- name: "chat_threads";
131
+ declare const channels: import("drizzle-orm/pg-core").PgTableWithColumns<{
132
+ name: "channels";
96
133
  schema: undefined;
97
134
  columns: {
98
135
  id: import("drizzle-orm/pg-core").PgColumn<{
99
136
  name: "id";
100
- tableName: "chat_threads";
137
+ tableName: "channels";
101
138
  dataType: "string";
102
139
  columnType: "PgUUID";
103
140
  data: string;
@@ -114,7 +151,7 @@ declare const chatThreads: import("drizzle-orm/pg-core").PgTableWithColumns<{
114
151
  }, {}, {}>;
115
152
  userId: import("drizzle-orm/pg-core").PgColumn<{
116
153
  name: "user_id";
117
- tableName: "chat_threads";
154
+ tableName: "channels";
118
155
  dataType: "string";
119
156
  columnType: "PgText";
120
157
  data: string;
@@ -134,7 +171,7 @@ declare const chatThreads: import("drizzle-orm/pg-core").PgTableWithColumns<{
134
171
  }, {}, {}>;
135
172
  workspaceId: import("drizzle-orm/pg-core").PgColumn<{
136
173
  name: "workspace_id";
137
- tableName: "chat_threads";
174
+ tableName: "channels";
138
175
  dataType: "string";
139
176
  columnType: "PgUUID";
140
177
  data: string;
@@ -151,7 +188,7 @@ declare const chatThreads: import("drizzle-orm/pg-core").PgTableWithColumns<{
151
188
  }, {}, {}>;
152
189
  title: import("drizzle-orm/pg-core").PgColumn<{
153
190
  name: "title";
154
- tableName: "chat_threads";
191
+ tableName: "channels";
155
192
  dataType: "string";
156
193
  columnType: "PgText";
157
194
  data: string;
@@ -169,12 +206,12 @@ declare const chatThreads: import("drizzle-orm/pg-core").PgTableWithColumns<{
169
206
  identity: undefined;
170
207
  generated: undefined;
171
208
  }, {}, {}>;
172
- threadType: import("drizzle-orm/pg-core").PgColumn<{
173
- name: "thread_type";
174
- tableName: "chat_threads";
209
+ channelType: import("drizzle-orm/pg-core").PgColumn<{
210
+ name: "channel_type";
211
+ tableName: "channels";
175
212
  dataType: "string";
176
213
  columnType: "PgText";
177
- data: ChatThreadType;
214
+ data: ChannelType;
178
215
  driverParam: string;
179
216
  notNull: true;
180
217
  hasDefault: true;
@@ -182,16 +219,58 @@ declare const chatThreads: import("drizzle-orm/pg-core").PgTableWithColumns<{
182
219
  isAutoincrement: false;
183
220
  hasRuntimeDefault: false;
184
221
  enumValues: [
185
- ChatThreadType.MAIN,
186
- ChatThreadType.BRANCH
222
+ ChannelType.AI_THREAD,
223
+ ChannelType.BRANCH,
224
+ ChannelType.ENTITY_COMMENTS,
225
+ ChannelType.DOCUMENT_REVIEW,
226
+ ChannelType.VIEW_DISCUSSION,
227
+ ChannelType.DIRECT,
228
+ ChannelType.EXTERNAL_IMPORT
229
+ ];
230
+ baseColumn: never;
231
+ identity: undefined;
232
+ generated: undefined;
233
+ }, {}, {}>;
234
+ contextObjectType: import("drizzle-orm/pg-core").PgColumn<{
235
+ name: "context_object_type";
236
+ tableName: "channels";
237
+ dataType: "string";
238
+ columnType: "PgText";
239
+ data: string;
240
+ driverParam: string;
241
+ notNull: false;
242
+ hasDefault: false;
243
+ isPrimaryKey: false;
244
+ isAutoincrement: false;
245
+ hasRuntimeDefault: false;
246
+ enumValues: [
247
+ string,
248
+ ...string[]
187
249
  ];
188
250
  baseColumn: never;
189
251
  identity: undefined;
190
252
  generated: undefined;
191
253
  }, {}, {}>;
192
- parentThreadId: import("drizzle-orm/pg-core").PgColumn<{
193
- name: "parent_thread_id";
194
- tableName: "chat_threads";
254
+ contextObjectId: import("drizzle-orm/pg-core").PgColumn<{
255
+ name: "context_object_id";
256
+ tableName: "channels";
257
+ dataType: "string";
258
+ columnType: "PgUUID";
259
+ data: string;
260
+ driverParam: string;
261
+ notNull: false;
262
+ hasDefault: false;
263
+ isPrimaryKey: false;
264
+ isAutoincrement: false;
265
+ hasRuntimeDefault: false;
266
+ enumValues: undefined;
267
+ baseColumn: never;
268
+ identity: undefined;
269
+ generated: undefined;
270
+ }, {}, {}>;
271
+ parentChannelId: import("drizzle-orm/pg-core").PgColumn<{
272
+ name: "parent_channel_id";
273
+ tableName: "channels";
195
274
  dataType: "string";
196
275
  columnType: "PgUUID";
197
276
  data: string;
@@ -208,7 +287,7 @@ declare const chatThreads: import("drizzle-orm/pg-core").PgTableWithColumns<{
208
287
  }, {}, {}>;
209
288
  branchedFromMessageId: import("drizzle-orm/pg-core").PgColumn<{
210
289
  name: "branched_from_message_id";
211
- tableName: "chat_threads";
290
+ tableName: "channels";
212
291
  dataType: "string";
213
292
  columnType: "PgUUID";
214
293
  data: string;
@@ -225,7 +304,7 @@ declare const chatThreads: import("drizzle-orm/pg-core").PgTableWithColumns<{
225
304
  }, {}, {}>;
226
305
  branchPurpose: import("drizzle-orm/pg-core").PgColumn<{
227
306
  name: "branch_purpose";
228
- tableName: "chat_threads";
307
+ tableName: "channels";
229
308
  dataType: "string";
230
309
  columnType: "PgText";
231
310
  data: string;
@@ -245,7 +324,7 @@ declare const chatThreads: import("drizzle-orm/pg-core").PgTableWithColumns<{
245
324
  }, {}, {}>;
246
325
  agentId: import("drizzle-orm/pg-core").PgColumn<{
247
326
  name: "agent_id";
248
- tableName: "chat_threads";
327
+ tableName: "channels";
249
328
  dataType: "string";
250
329
  columnType: "PgText";
251
330
  data: string;
@@ -265,10 +344,10 @@ declare const chatThreads: import("drizzle-orm/pg-core").PgTableWithColumns<{
265
344
  }, {}, {}>;
266
345
  status: import("drizzle-orm/pg-core").PgColumn<{
267
346
  name: "status";
268
- tableName: "chat_threads";
347
+ tableName: "channels";
269
348
  dataType: "string";
270
349
  columnType: "PgText";
271
- data: ChatThreadStatus;
350
+ data: ChannelStatus;
272
351
  driverParam: string;
273
352
  notNull: true;
274
353
  hasDefault: true;
@@ -276,9 +355,9 @@ declare const chatThreads: import("drizzle-orm/pg-core").PgTableWithColumns<{
276
355
  isAutoincrement: false;
277
356
  hasRuntimeDefault: false;
278
357
  enumValues: [
279
- ChatThreadStatus.ACTIVE,
280
- ChatThreadStatus.MERGED,
281
- ChatThreadStatus.ARCHIVED
358
+ ChannelStatus.ACTIVE,
359
+ ChannelStatus.MERGED,
360
+ ChannelStatus.ARCHIVED
282
361
  ];
283
362
  baseColumn: never;
284
363
  identity: undefined;
@@ -286,10 +365,10 @@ declare const chatThreads: import("drizzle-orm/pg-core").PgTableWithColumns<{
286
365
  }, {}, {}>;
287
366
  agentType: import("drizzle-orm/pg-core").PgColumn<{
288
367
  name: "agent_type";
289
- tableName: "chat_threads";
368
+ tableName: "channels";
290
369
  dataType: "string";
291
370
  columnType: "PgText";
292
- data: ChatThreadAgentType;
371
+ data: ChannelAgentType;
293
372
  driverParam: string;
294
373
  notNull: true;
295
374
  hasDefault: true;
@@ -297,15 +376,15 @@ declare const chatThreads: import("drizzle-orm/pg-core").PgTableWithColumns<{
297
376
  isAutoincrement: false;
298
377
  hasRuntimeDefault: false;
299
378
  enumValues: [
300
- ChatThreadAgentType.DEFAULT,
301
- ChatThreadAgentType.META,
302
- ChatThreadAgentType.PROMPTING,
303
- ChatThreadAgentType.KNOWLEDGE_SEARCH,
304
- ChatThreadAgentType.CODE,
305
- ChatThreadAgentType.WRITING,
306
- ChatThreadAgentType.ACTION,
307
- ChatThreadAgentType.ONBOARDING,
308
- ChatThreadAgentType.WORKSPACE_CREATION
379
+ ChannelAgentType.DEFAULT,
380
+ ChannelAgentType.META,
381
+ ChannelAgentType.PROMPTING,
382
+ ChannelAgentType.KNOWLEDGE_SEARCH,
383
+ ChannelAgentType.CODE,
384
+ ChannelAgentType.WRITING,
385
+ ChannelAgentType.ACTION,
386
+ ChannelAgentType.ONBOARDING,
387
+ ChannelAgentType.WORKSPACE_CREATION
309
388
  ];
310
389
  baseColumn: never;
311
390
  identity: undefined;
@@ -313,7 +392,7 @@ declare const chatThreads: import("drizzle-orm/pg-core").PgTableWithColumns<{
313
392
  }, {}, {}>;
314
393
  agentConfig: import("drizzle-orm/pg-core").PgColumn<{
315
394
  name: "agent_config";
316
- tableName: "chat_threads";
395
+ tableName: "channels";
317
396
  dataType: "json";
318
397
  columnType: "PgJsonb";
319
398
  data: unknown;
@@ -330,7 +409,47 @@ declare const chatThreads: import("drizzle-orm/pg-core").PgTableWithColumns<{
330
409
  }, {}, {}>;
331
410
  contextSummary: import("drizzle-orm/pg-core").PgColumn<{
332
411
  name: "context_summary";
333
- tableName: "chat_threads";
412
+ tableName: "channels";
413
+ dataType: "string";
414
+ columnType: "PgText";
415
+ data: string;
416
+ driverParam: string;
417
+ notNull: false;
418
+ hasDefault: false;
419
+ isPrimaryKey: false;
420
+ isAutoincrement: false;
421
+ hasRuntimeDefault: false;
422
+ enumValues: [
423
+ string,
424
+ ...string[]
425
+ ];
426
+ baseColumn: never;
427
+ identity: undefined;
428
+ generated: undefined;
429
+ }, {}, {}>;
430
+ externalSource: import("drizzle-orm/pg-core").PgColumn<{
431
+ name: "external_source";
432
+ tableName: "channels";
433
+ dataType: "string";
434
+ columnType: "PgText";
435
+ data: string;
436
+ driverParam: string;
437
+ notNull: false;
438
+ hasDefault: false;
439
+ isPrimaryKey: false;
440
+ isAutoincrement: false;
441
+ hasRuntimeDefault: false;
442
+ enumValues: [
443
+ string,
444
+ ...string[]
445
+ ];
446
+ baseColumn: never;
447
+ identity: undefined;
448
+ generated: undefined;
449
+ }, {}, {}>;
450
+ externalChannelId: import("drizzle-orm/pg-core").PgColumn<{
451
+ name: "external_channel_id";
452
+ tableName: "channels";
334
453
  dataType: "string";
335
454
  columnType: "PgText";
336
455
  data: string;
@@ -350,7 +469,7 @@ declare const chatThreads: import("drizzle-orm/pg-core").PgTableWithColumns<{
350
469
  }, {}, {}>;
351
470
  metadata: import("drizzle-orm/pg-core").PgColumn<{
352
471
  name: "metadata";
353
- tableName: "chat_threads";
472
+ tableName: "channels";
354
473
  dataType: "json";
355
474
  columnType: "PgJsonb";
356
475
  data: unknown;
@@ -367,7 +486,7 @@ declare const chatThreads: import("drizzle-orm/pg-core").PgTableWithColumns<{
367
486
  }, {}, {}>;
368
487
  createdAt: import("drizzle-orm/pg-core").PgColumn<{
369
488
  name: "created_at";
370
- tableName: "chat_threads";
489
+ tableName: "channels";
371
490
  dataType: "date";
372
491
  columnType: "PgTimestamp";
373
492
  data: Date;
@@ -384,7 +503,7 @@ declare const chatThreads: import("drizzle-orm/pg-core").PgTableWithColumns<{
384
503
  }, {}, {}>;
385
504
  updatedAt: import("drizzle-orm/pg-core").PgColumn<{
386
505
  name: "updated_at";
387
- tableName: "chat_threads";
506
+ tableName: "channels";
388
507
  dataType: "date";
389
508
  columnType: "PgTimestamp";
390
509
  data: Date;
@@ -401,7 +520,7 @@ declare const chatThreads: import("drizzle-orm/pg-core").PgTableWithColumns<{
401
520
  }, {}, {}>;
402
521
  mergedAt: import("drizzle-orm/pg-core").PgColumn<{
403
522
  name: "merged_at";
404
- tableName: "chat_threads";
523
+ tableName: "channels";
405
524
  dataType: "date";
406
525
  columnType: "PgTimestamp";
407
526
  data: Date;
@@ -419,27 +538,22 @@ declare const chatThreads: import("drizzle-orm/pg-core").PgTableWithColumns<{
419
538
  };
420
539
  dialect: "pg";
421
540
  }>;
422
- export type ChatThread = typeof chatThreads.$inferSelect;
423
- declare enum ThreadEntityRelationshipType {
424
- USED_AS_CONTEXT = "used_as_context",
425
- CREATED = "created",
426
- UPDATED = "updated",
427
- REFERENCED = "referenced",
428
- INHERITED_FROM_PARENT = "inherited_from_parent"
429
- }
430
- declare enum ThreadEntityConflictStatus {
431
- NONE = "none",
432
- PENDING = "pending",
433
- RESOLVED = "resolved"
541
+ export type Channel = typeof channels.$inferSelect;
542
+ declare enum ChannelContextObjectType {
543
+ ENTITY = "entity",
544
+ DOCUMENT = "document",
545
+ VIEW = "view",
546
+ PROPOSAL = "proposal",
547
+ INBOX_ITEM = "inbox_item"
434
548
  }
435
- declare enum ThreadDocumentRelationshipType {
549
+ declare enum ChannelContextRelationshipType {
436
550
  USED_AS_CONTEXT = "used_as_context",
437
551
  CREATED = "created",
438
552
  UPDATED = "updated",
439
553
  REFERENCED = "referenced",
440
554
  INHERITED_FROM_PARENT = "inherited_from_parent"
441
555
  }
442
- declare enum ThreadDocumentConflictStatus {
556
+ declare enum ChannelContextConflictStatus {
443
557
  NONE = "none",
444
558
  PENDING = "pending",
445
559
  RESOLVED = "resolved"
@@ -470,11 +584,31 @@ export interface WorkspaceLayoutConfig {
470
584
  defaultView?: string;
471
585
  theme?: string;
472
586
  }
587
+ /**
588
+ * MCP server configuration — stored per workspace.
589
+ * Agents in this workspace will have access to tools from these servers.
590
+ */
591
+ export interface McpServerConfig {
592
+ /** Unique slug within the workspace, e.g. "playwright", "whatsapp" */
593
+ id: string;
594
+ /** Human-readable name shown in UI */
595
+ name: string;
596
+ /** Transport mechanism */
597
+ transport: "stdio" | "http";
598
+ command?: string;
599
+ args?: string[];
600
+ url?: string;
601
+ env?: Record<string, string>;
602
+ /** Set to false to disable without removing config. Default: true. */
603
+ enabled?: boolean;
604
+ }
473
605
  export interface WorkspaceSettings {
474
606
  defaultEntityTypes?: string[];
475
607
  theme?: string;
476
608
  aiEnabled?: boolean;
477
609
  allowExternalSharing?: boolean;
610
+ /** External MCP servers whose tools will be available to AI agents in this workspace */
611
+ mcpServers?: McpServerConfig[];
478
612
  layout?: WorkspaceLayoutConfig;
479
613
  mainWhiteboardId?: string;
480
614
  intelligenceServiceId?: string;
@@ -512,8 +646,23 @@ export interface WorkspaceSettings {
512
646
  /** Current provisioning status */
513
647
  provisioningStatus?: "pending" | "active" | "failed";
514
648
  aiGovernance?: {
515
- autoApprove?: boolean;
649
+ /**
650
+ * Whitelist of event keys that AI agents may execute WITHOUT a proposal.
651
+ * Everything else defaults to proposal-required.
652
+ *
653
+ * Format: "<subjectType>.<action>" or "<subjectType>.*" glob.
654
+ * Default (when field absent): ["search.*", "memory.recall", "entity.read", "document.read"]
655
+ *
656
+ * Examples:
657
+ * "entity.read" — agents can read entities without proposal
658
+ * "search.*" — all search operations bypass proposal
659
+ * "entity.create" — agents can create entities without proposal (high trust)
660
+ */
661
+ autoApproveFor?: string[];
662
+ /** @deprecated Use autoApproveFor instead. Kept for migration reference only. */
516
663
  requireReviewFor?: string[];
664
+ /** @deprecated Use autoApproveFor instead. */
665
+ autoApprove?: boolean;
517
666
  maxAgentsPerUser?: number;
518
667
  allowAgentCreation?: boolean;
519
668
  /** Who can approve AI proposals. Default: "owner_and_admins" */
@@ -717,6 +866,23 @@ declare enum PropertyValueType {
717
866
  NUMBER = "number",
718
867
  BOOLEAN = "boolean",
719
868
  DATE = "date",
869
+ /**
870
+ * A UUID reference to another entity in the same workspace.
871
+ *
872
+ * This is a STRUCTURAL LINK — part of the profile schema, not the graph.
873
+ * When a property has this type, the value stored is the UUID of another entity.
874
+ * It represents a modelled, schema-defined relationship (e.g. "this task's project",
875
+ * "this deal's primary contact").
876
+ *
877
+ * These differ from semantic graph relations (`relations` table):
878
+ * - Structural links (entity_id props) are schema-defined, form-based, one-directional
879
+ * - Semantic relations are schema-free, emergent, bi-directional
880
+ *
881
+ * Use `entity_property_index.value_entity_id` for fast reverse-lookup:
882
+ * "find all entities whose [property] points to entity X"
883
+ *
884
+ * @see /docs/docs/concepts/entity-connections.md — architecture decision doc
885
+ */
720
886
  ENTITY_ID = "entity_id",
721
887
  ARRAY = "array",
722
888
  OBJECT = "object",
@@ -763,6 +929,23 @@ declare const propertyDefs: import("drizzle-orm/pg-core").PgTableWithColumns<{
763
929
  identity: undefined;
764
930
  generated: undefined;
765
931
  }, {}, {}>;
932
+ profileId: import("drizzle-orm/pg-core").PgColumn<{
933
+ name: "profile_id";
934
+ tableName: "property_defs";
935
+ dataType: "string";
936
+ columnType: "PgUUID";
937
+ data: string;
938
+ driverParam: string;
939
+ notNull: false;
940
+ hasDefault: false;
941
+ isPrimaryKey: false;
942
+ isAutoincrement: false;
943
+ hasRuntimeDefault: false;
944
+ enumValues: undefined;
945
+ baseColumn: never;
946
+ identity: undefined;
947
+ generated: undefined;
948
+ }, {}, {}>;
766
949
  valueType: import("drizzle-orm/pg-core").PgColumn<{
767
950
  name: "value_type";
768
951
  tableName: "property_defs";
@@ -862,8 +1045,9 @@ declare const propertyDefs: import("drizzle-orm/pg-core").PgTableWithColumns<{
862
1045
  }>;
863
1046
  export type PropertyDef = typeof propertyDefs.$inferSelect;
864
1047
  declare enum ProfileScope {
865
- SYSTEM = "system",// Available to all users
866
- WORKSPACE = "workspace",// Shared within workspace
1048
+ SYSTEM = "system",// Available to all users (pod-wide)
1049
+ SHARED = "shared",// Explicitly shared with specific workspaces via profile_workspace_access
1050
+ WORKSPACE = "workspace",// Owned by a single workspace
867
1051
  USER = "user"
868
1052
  }
869
1053
  /**
@@ -889,7 +1073,7 @@ export interface EventRecord {
889
1073
  /** Minimal message fields for list/preview */
890
1074
  export interface LinkedMessagePreview {
891
1075
  id: string;
892
- threadId: string;
1076
+ channelId: string;
893
1077
  role: string;
894
1078
  content: string;
895
1079
  timestamp: Date;
@@ -1056,6 +1240,17 @@ declare enum MessageLinkRelationshipType {
1056
1240
  QUOTES = "quotes",// Message quotes this object
1057
1241
  CONTEXT = "context"
1058
1242
  }
1243
+ /**
1244
+ * Node shape for the workspace branch tree response.
1245
+ * Defined at module scope so tsc can include it in declaration output.
1246
+ */
1247
+ export type BranchNodeResult = {
1248
+ channel: Channel;
1249
+ children: BranchNodeResult[];
1250
+ messageCount: number;
1251
+ lastActivity: Date;
1252
+ depth: number;
1253
+ };
1059
1254
  /**
1060
1255
  * @synap/events - Schema-Driven Event Generator
1061
1256
  *
@@ -1161,7 +1356,7 @@ export declare const coreRouter: import("@trpc/server").TRPCBuiltRouter<{
1161
1356
  data: Record<string, unknown>;
1162
1357
  version: number;
1163
1358
  metadata?: Record<string, unknown> | undefined;
1164
- source?: "system" | "sync" | "api" | "automation" | "migration" | undefined;
1359
+ source?: "sync" | "system" | "api" | "automation" | "migration" | undefined;
1165
1360
  causationId?: string | undefined;
1166
1361
  correlationId?: string | undefined;
1167
1362
  };
@@ -1248,7 +1443,7 @@ export declare const coreRouter: import("@trpc/server").TRPCBuiltRouter<{
1248
1443
  documentId?: string | undefined;
1249
1444
  content?: string | undefined;
1250
1445
  global?: boolean | undefined;
1251
- source?: "user" | "system" | "intelligence" | "ai" | undefined;
1446
+ source?: "user" | "system" | "intelligence" | "ai" | "agent" | undefined;
1252
1447
  reasoning?: string | undefined;
1253
1448
  agentUserId?: string | undefined;
1254
1449
  };
@@ -1345,6 +1540,48 @@ export declare const coreRouter: import("@trpc/server").TRPCBuiltRouter<{
1345
1540
  };
1346
1541
  meta: object;
1347
1542
  }>;
1543
+ listMulti: import("@trpc/server").TRPCQueryProcedure<{
1544
+ input: {
1545
+ workspaceIds?: string[] | undefined;
1546
+ profileSlug?: string | undefined;
1547
+ includeGlobal?: boolean | undefined;
1548
+ limit?: number | undefined;
1549
+ };
1550
+ output: {
1551
+ entities: {
1552
+ id: string;
1553
+ userId: string;
1554
+ workspaceId: string | null;
1555
+ type: string;
1556
+ profileId: string | null;
1557
+ title: string | null;
1558
+ preview: string | null;
1559
+ documentId: string | null;
1560
+ properties: Record<string, unknown>;
1561
+ fileUrl: string | null;
1562
+ filePath: string | null;
1563
+ fileSize: number | null;
1564
+ fileType: string | null;
1565
+ checksum: string | null;
1566
+ version: number;
1567
+ createdAt: Date;
1568
+ updatedAt: Date;
1569
+ deletedAt: Date | null;
1570
+ }[];
1571
+ };
1572
+ meta: object;
1573
+ }>;
1574
+ listSavedUrls: import("@trpc/server").TRPCQueryProcedure<{
1575
+ input: void;
1576
+ output: {
1577
+ id: string;
1578
+ url: string;
1579
+ title: string;
1580
+ profileSlug: string;
1581
+ createdAt: string;
1582
+ }[];
1583
+ meta: object;
1584
+ }>;
1348
1585
  search: import("@trpc/server").TRPCQueryProcedure<{
1349
1586
  input: {
1350
1587
  query: string;
@@ -1403,7 +1640,7 @@ export declare const coreRouter: import("@trpc/server").TRPCBuiltRouter<{
1403
1640
  description?: string | undefined;
1404
1641
  documentId?: string | null | undefined;
1405
1642
  properties?: Record<string, unknown> | undefined;
1406
- source?: "user" | "system" | "intelligence" | "ai" | undefined;
1643
+ source?: "user" | "system" | "intelligence" | "ai" | "agent" | undefined;
1407
1644
  reasoning?: string | undefined;
1408
1645
  agentUserId?: string | undefined;
1409
1646
  };
@@ -1421,7 +1658,7 @@ export declare const coreRouter: import("@trpc/server").TRPCBuiltRouter<{
1421
1658
  delete: import("@trpc/server").TRPCMutationProcedure<{
1422
1659
  input: {
1423
1660
  id: string;
1424
- source?: "user" | "system" | "intelligence" | "ai" | undefined;
1661
+ source?: "user" | "system" | "intelligence" | "ai" | "agent" | undefined;
1425
1662
  reasoning?: string | undefined;
1426
1663
  agentUserId?: string | undefined;
1427
1664
  };
@@ -1467,15 +1704,19 @@ export declare const coreRouter: import("@trpc/server").TRPCBuiltRouter<{
1467
1704
  createdAt: Date;
1468
1705
  metadata: unknown;
1469
1706
  title: string | null;
1470
- status: ChatThreadStatus;
1471
- threadType: ChatThreadType;
1472
- parentThreadId: string | null;
1707
+ externalSource: string | null;
1708
+ status: ChannelStatus;
1709
+ channelType: ChannelType;
1710
+ contextObjectType: string | null;
1711
+ contextObjectId: string | null;
1712
+ parentChannelId: string | null;
1473
1713
  branchedFromMessageId: string | null;
1474
1714
  branchPurpose: string | null;
1475
1715
  agentId: string;
1476
- agentType: ChatThreadAgentType;
1716
+ agentType: ChannelAgentType;
1477
1717
  agentConfig: unknown;
1478
1718
  contextSummary: string | null;
1719
+ externalChannelId: string | null;
1479
1720
  mergedAt: Date | null;
1480
1721
  };
1481
1722
  status?: undefined;
@@ -1498,12 +1739,25 @@ export declare const coreRouter: import("@trpc/server").TRPCBuiltRouter<{
1498
1739
  };
1499
1740
  meta: object;
1500
1741
  }>;
1742
+ createEntityComment: import("@trpc/server").TRPCMutationProcedure<{
1743
+ input: {
1744
+ entityId: string;
1745
+ content: string;
1746
+ };
1747
+ output: {
1748
+ threadId: `${string}-${string}-${string}-${string}-${string}`;
1749
+ messageId: `${string}-${string}-${string}-${string}-${string}`;
1750
+ };
1751
+ meta: object;
1752
+ }>;
1501
1753
  sendMessage: import("@trpc/server").TRPCMutationProcedure<{
1502
1754
  input: {
1503
1755
  content: string;
1504
1756
  threadId?: string | undefined;
1505
1757
  workspaceId?: string | undefined;
1506
1758
  agentType?: "code" | "action" | "meta" | "default" | "prompting" | "knowledge-search" | "writing" | "onboarding" | undefined;
1759
+ agentHandle?: string | undefined;
1760
+ parentChannelId?: string | undefined;
1507
1761
  };
1508
1762
  output: {
1509
1763
  threadId: string;
@@ -1523,15 +1777,19 @@ export declare const coreRouter: import("@trpc/server").TRPCBuiltRouter<{
1523
1777
  createdAt: Date;
1524
1778
  metadata: unknown;
1525
1779
  title: string | null;
1526
- status: ChatThreadStatus;
1527
- threadType: ChatThreadType;
1528
- parentThreadId: string | null;
1780
+ externalSource: string | null;
1781
+ status: ChannelStatus;
1782
+ channelType: ChannelType;
1783
+ contextObjectType: string | null;
1784
+ contextObjectId: string | null;
1785
+ parentChannelId: string | null;
1529
1786
  branchedFromMessageId: string | null;
1530
1787
  branchPurpose: string | null;
1531
1788
  agentId: string;
1532
- agentType: ChatThreadAgentType;
1789
+ agentType: ChannelAgentType;
1533
1790
  agentConfig: unknown;
1534
1791
  contextSummary: string | null;
1792
+ externalChannelId: string | null;
1535
1793
  mergedAt: Date | null;
1536
1794
  } | undefined;
1537
1795
  aiSteps: AIStep[];
@@ -1601,9 +1859,13 @@ export declare const coreRouter: import("@trpc/server").TRPCBuiltRouter<{
1601
1859
  } | null;
1602
1860
  deletedAt: Date | null;
1603
1861
  content: string;
1604
- threadId: string;
1862
+ channelId: string;
1605
1863
  parentId: string | null;
1606
- role: "user" | "system" | "assistant";
1864
+ role: MessageRole;
1865
+ authorType: MessageAuthorType;
1866
+ messageCategory: MessageCategory;
1867
+ externalSource: string | null;
1868
+ inboxItemId: string | null;
1607
1869
  previousHash: string | null;
1608
1870
  hash: string;
1609
1871
  }[];
@@ -1615,11 +1877,15 @@ export declare const coreRouter: import("@trpc/server").TRPCBuiltRouter<{
1615
1877
  listThreads: import("@trpc/server").TRPCQueryProcedure<{
1616
1878
  input: {
1617
1879
  workspaceId?: string | undefined;
1618
- threadType?: "main" | "branch" | undefined;
1880
+ threadType?: "main" | "branch" | "ai_thread" | undefined;
1619
1881
  limit?: number | undefined;
1882
+ contextObjectId?: string | undefined;
1883
+ contextObjectType?: "entity" | "view" | "document" | undefined;
1620
1884
  };
1621
1885
  output: {
1622
1886
  threads: {
1887
+ hasAssistantMessage: boolean;
1888
+ origin: string;
1623
1889
  workspaceId: string | null;
1624
1890
  userId: string;
1625
1891
  id: string;
@@ -1627,15 +1893,19 @@ export declare const coreRouter: import("@trpc/server").TRPCBuiltRouter<{
1627
1893
  createdAt: Date;
1628
1894
  metadata: unknown;
1629
1895
  title: string | null;
1630
- status: ChatThreadStatus;
1631
- threadType: ChatThreadType;
1632
- parentThreadId: string | null;
1896
+ externalSource: string | null;
1897
+ status: ChannelStatus;
1898
+ channelType: ChannelType;
1899
+ contextObjectType: string | null;
1900
+ contextObjectId: string | null;
1901
+ parentChannelId: string | null;
1633
1902
  branchedFromMessageId: string | null;
1634
1903
  branchPurpose: string | null;
1635
1904
  agentId: string;
1636
- agentType: ChatThreadAgentType;
1905
+ agentType: ChannelAgentType;
1637
1906
  agentConfig: unknown;
1638
1907
  contextSummary: string | null;
1908
+ externalChannelId: string | null;
1639
1909
  mergedAt: Date | null;
1640
1910
  }[];
1641
1911
  };
@@ -1654,20 +1924,39 @@ export declare const coreRouter: import("@trpc/server").TRPCBuiltRouter<{
1654
1924
  createdAt: Date;
1655
1925
  metadata: unknown;
1656
1926
  title: string | null;
1657
- status: ChatThreadStatus;
1658
- threadType: ChatThreadType;
1659
- parentThreadId: string | null;
1927
+ externalSource: string | null;
1928
+ status: ChannelStatus;
1929
+ channelType: ChannelType;
1930
+ contextObjectType: string | null;
1931
+ contextObjectId: string | null;
1932
+ parentChannelId: string | null;
1660
1933
  branchedFromMessageId: string | null;
1661
1934
  branchPurpose: string | null;
1662
1935
  agentId: string;
1663
- agentType: ChatThreadAgentType;
1936
+ agentType: ChannelAgentType;
1664
1937
  agentConfig: unknown;
1665
1938
  contextSummary: string | null;
1939
+ externalChannelId: string | null;
1666
1940
  mergedAt: Date | null;
1667
1941
  }[];
1668
1942
  };
1669
1943
  meta: object;
1670
1944
  }>;
1945
+ getWorkspaceBranchTree: import("@trpc/server").TRPCQueryProcedure<{
1946
+ input: {
1947
+ workspaceId: string;
1948
+ };
1949
+ output: {
1950
+ roots: BranchNodeResult[];
1951
+ stats: {
1952
+ totalThreads: number;
1953
+ activeThreads: number;
1954
+ pendingProposalsTotal: number;
1955
+ };
1956
+ proposalCounts: Record<string, number>;
1957
+ };
1958
+ meta: object;
1959
+ }>;
1671
1960
  mergeBranch: import("@trpc/server").TRPCMutationProcedure<{
1672
1961
  input: {
1673
1962
  branchId: string;
@@ -1694,40 +1983,32 @@ export declare const coreRouter: import("@trpc/server").TRPCBuiltRouter<{
1694
1983
  createdAt: Date;
1695
1984
  metadata: unknown;
1696
1985
  title: string | null;
1697
- status: ChatThreadStatus;
1698
- threadType: ChatThreadType;
1699
- parentThreadId: string | null;
1986
+ externalSource: string | null;
1987
+ status: ChannelStatus;
1988
+ channelType: ChannelType;
1989
+ contextObjectType: string | null;
1990
+ contextObjectId: string | null;
1991
+ parentChannelId: string | null;
1700
1992
  branchedFromMessageId: string | null;
1701
1993
  branchPurpose: string | null;
1702
1994
  agentId: string;
1703
- agentType: ChatThreadAgentType;
1995
+ agentType: ChannelAgentType;
1704
1996
  agentConfig: unknown;
1705
1997
  contextSummary: string | null;
1998
+ externalChannelId: string | null;
1706
1999
  mergedAt: Date | null;
1707
2000
  };
1708
- entities: {
2001
+ contextItems: {
1709
2002
  workspaceId: string;
1710
2003
  userId: string;
1711
- id: string;
1712
- createdAt: Date;
1713
- entityId: string;
1714
- threadId: string;
1715
2004
  sourceMessageId: string | null;
1716
- relationshipType: ThreadEntityRelationshipType;
1717
- conflictStatus: ThreadEntityConflictStatus;
1718
- sourceEventId: string | null;
1719
- }[] | undefined;
1720
- documents: {
1721
- workspaceId: string;
1722
- userId: string;
1723
2005
  id: string;
1724
2006
  createdAt: Date;
1725
- documentId: string;
1726
- threadId: string;
1727
- sourceMessageId: string | null;
1728
- relationshipType: ThreadDocumentRelationshipType;
1729
- conflictStatus: ThreadDocumentConflictStatus;
1730
- sourceEventId: string | null;
2007
+ channelId: string;
2008
+ objectType: ChannelContextObjectType;
2009
+ objectId: string;
2010
+ relationshipType: ChannelContextRelationshipType;
2011
+ conflictStatus: ChannelContextConflictStatus;
1731
2012
  }[] | undefined;
1732
2013
  branchTree: any;
1733
2014
  };
@@ -1763,7 +2044,7 @@ export declare const coreRouter: import("@trpc/server").TRPCBuiltRouter<{
1763
2044
  };
1764
2045
  output: {
1765
2046
  tree: {
1766
- thread: ChatThread;
2047
+ channel: Channel;
1767
2048
  children: any[];
1768
2049
  } | null;
1769
2050
  flatBranches: {
@@ -1774,15 +2055,19 @@ export declare const coreRouter: import("@trpc/server").TRPCBuiltRouter<{
1774
2055
  createdAt: Date;
1775
2056
  metadata: unknown;
1776
2057
  title: string | null;
1777
- status: ChatThreadStatus;
1778
- threadType: ChatThreadType;
1779
- parentThreadId: string | null;
2058
+ externalSource: string | null;
2059
+ status: ChannelStatus;
2060
+ channelType: ChannelType;
2061
+ contextObjectType: string | null;
2062
+ contextObjectId: string | null;
2063
+ parentChannelId: string | null;
1780
2064
  branchedFromMessageId: string | null;
1781
2065
  branchPurpose: string | null;
1782
2066
  agentId: string;
1783
- agentType: ChatThreadAgentType;
2067
+ agentType: ChannelAgentType;
1784
2068
  agentConfig: unknown;
1785
2069
  contextSummary: string | null;
2070
+ externalChannelId: string | null;
1786
2071
  mergedAt: Date | null;
1787
2072
  }[];
1788
2073
  activeBranches: {
@@ -1793,15 +2078,19 @@ export declare const coreRouter: import("@trpc/server").TRPCBuiltRouter<{
1793
2078
  createdAt: Date;
1794
2079
  metadata: unknown;
1795
2080
  title: string | null;
1796
- status: ChatThreadStatus;
1797
- threadType: ChatThreadType;
1798
- parentThreadId: string | null;
2081
+ externalSource: string | null;
2082
+ status: ChannelStatus;
2083
+ channelType: ChannelType;
2084
+ contextObjectType: string | null;
2085
+ contextObjectId: string | null;
2086
+ parentChannelId: string | null;
1799
2087
  branchedFromMessageId: string | null;
1800
2088
  branchPurpose: string | null;
1801
2089
  agentId: string;
1802
- agentType: ChatThreadAgentType;
2090
+ agentType: ChannelAgentType;
1803
2091
  agentConfig: unknown;
1804
2092
  contextSummary: string | null;
2093
+ externalChannelId: string | null;
1805
2094
  mergedAt: Date | null;
1806
2095
  }[];
1807
2096
  mergedBranches: {
@@ -1812,15 +2101,19 @@ export declare const coreRouter: import("@trpc/server").TRPCBuiltRouter<{
1812
2101
  createdAt: Date;
1813
2102
  metadata: unknown;
1814
2103
  title: string | null;
1815
- status: ChatThreadStatus;
1816
- threadType: ChatThreadType;
1817
- parentThreadId: string | null;
2104
+ externalSource: string | null;
2105
+ status: ChannelStatus;
2106
+ channelType: ChannelType;
2107
+ contextObjectType: string | null;
2108
+ contextObjectId: string | null;
2109
+ parentChannelId: string | null;
1818
2110
  branchedFromMessageId: string | null;
1819
2111
  branchPurpose: string | null;
1820
2112
  agentId: string;
1821
- agentType: ChatThreadAgentType;
2113
+ agentType: ChannelAgentType;
1822
2114
  agentConfig: unknown;
1823
2115
  contextSummary: string | null;
2116
+ externalChannelId: string | null;
1824
2117
  mergedAt: Date | null;
1825
2118
  }[];
1826
2119
  };
@@ -1829,32 +2122,45 @@ export declare const coreRouter: import("@trpc/server").TRPCBuiltRouter<{
1829
2122
  getThreadContext: import("@trpc/server").TRPCQueryProcedure<{
1830
2123
  input: {
1831
2124
  threadId: string;
2125
+ objectTypes?: ("entity" | "proposal" | "view" | "inbox_item" | "document")[] | undefined;
1832
2126
  relationshipTypes?: ("created" | "updated" | "used_as_context" | "referenced" | "inherited_from_parent")[] | undefined;
1833
2127
  };
1834
2128
  output: {
1835
- entities: {
2129
+ items: {
1836
2130
  workspaceId: string;
1837
2131
  userId: string;
2132
+ sourceMessageId: string | null;
1838
2133
  id: string;
1839
2134
  createdAt: Date;
1840
- entityId: string;
1841
- threadId: string;
2135
+ channelId: string;
2136
+ objectType: ChannelContextObjectType;
2137
+ objectId: string;
2138
+ relationshipType: ChannelContextRelationshipType;
2139
+ conflictStatus: ChannelContextConflictStatus;
2140
+ }[];
2141
+ entities: {
2142
+ workspaceId: string;
2143
+ userId: string;
1842
2144
  sourceMessageId: string | null;
1843
- relationshipType: ThreadEntityRelationshipType;
1844
- conflictStatus: ThreadEntityConflictStatus;
1845
- sourceEventId: string | null;
2145
+ id: string;
2146
+ createdAt: Date;
2147
+ channelId: string;
2148
+ objectType: ChannelContextObjectType;
2149
+ objectId: string;
2150
+ relationshipType: ChannelContextRelationshipType;
2151
+ conflictStatus: ChannelContextConflictStatus;
1846
2152
  }[];
1847
2153
  documents: {
1848
2154
  workspaceId: string;
1849
2155
  userId: string;
2156
+ sourceMessageId: string | null;
1850
2157
  id: string;
1851
2158
  createdAt: Date;
1852
- documentId: string;
1853
- threadId: string;
1854
- sourceMessageId: string | null;
1855
- relationshipType: ThreadDocumentRelationshipType;
1856
- conflictStatus: ThreadDocumentConflictStatus;
1857
- sourceEventId: string | null;
2159
+ channelId: string;
2160
+ objectType: ChannelContextObjectType;
2161
+ objectId: string;
2162
+ relationshipType: ChannelContextRelationshipType;
2163
+ conflictStatus: ChannelContextConflictStatus;
1858
2164
  }[];
1859
2165
  };
1860
2166
  meta: object;
@@ -1871,20 +2177,27 @@ export declare const coreRouter: import("@trpc/server").TRPCBuiltRouter<{
1871
2177
  workspaceId?: string | undefined;
1872
2178
  targetType?: "entity" | "view" | "document" | "profile" | "whiteboard" | undefined;
1873
2179
  targetId?: string | undefined;
2180
+ threadId?: string | undefined;
1874
2181
  status?: "pending" | "validated" | "rejected" | "all" | undefined;
1875
2182
  limit?: number | undefined;
1876
2183
  };
1877
2184
  output: {
1878
2185
  proposals: {
1879
2186
  workspaceId: string;
2187
+ sourceMessageId: string | null;
1880
2188
  id: string;
1881
2189
  data: unknown;
1882
2190
  updatedAt: Date;
1883
2191
  createdAt: Date;
1884
2192
  status: ProposalStatus;
2193
+ expiresAt: Date | null;
2194
+ createdBy: string | null;
2195
+ threadId: string | null;
1885
2196
  targetType: string;
1886
2197
  targetId: string;
1887
2198
  proposalType: string;
2199
+ commandRunId: string | null;
2200
+ agentUserId: string | null;
1888
2201
  reviewedBy: string | null;
1889
2202
  reviewedAt: Date | null;
1890
2203
  rejectionReason: string | null;
@@ -2043,7 +2356,7 @@ export declare const coreRouter: import("@trpc/server").TRPCBuiltRouter<{
2043
2356
  data: Record<string, unknown>;
2044
2357
  userId: string;
2045
2358
  subjectId?: string | undefined;
2046
- source?: "system" | "sync" | "api" | "automation" | "migration" | undefined;
2359
+ source?: "sync" | "system" | "api" | "automation" | "migration" | undefined;
2047
2360
  correlationId?: string | undefined;
2048
2361
  causationId?: string | undefined;
2049
2362
  };
@@ -2260,7 +2573,7 @@ export declare const coreRouter: import("@trpc/server").TRPCBuiltRouter<{
2260
2573
  }>;
2261
2574
  listUsers: import("@trpc/server").TRPCQueryProcedure<{
2262
2575
  input: {
2263
- type?: "all" | "human" | "agent" | undefined;
2576
+ type?: "agent" | "all" | "human" | undefined;
2264
2577
  limit?: number | undefined;
2265
2578
  offset?: number | undefined;
2266
2579
  };
@@ -2775,7 +3088,7 @@ export declare const coreRouter: import("@trpc/server").TRPCBuiltRouter<{
2775
3088
  };
2776
3089
  output: {
2777
3090
  sessionId: string;
2778
- chatThreadId: `${string}-${string}-${string}-${string}-${string}`;
3091
+ channelId: `${string}-${string}-${string}-${string}-${string}`;
2779
3092
  };
2780
3093
  meta: object;
2781
3094
  }>;
@@ -3100,6 +3413,7 @@ export declare const coreRouter: import("@trpc/server").TRPCBuiltRouter<{
3100
3413
  capabilities: string[];
3101
3414
  serviceId: string;
3102
3415
  webhookUrl: string;
3416
+ mcpEndpoint: string | null;
3103
3417
  apiKey: string;
3104
3418
  pricing: string | null;
3105
3419
  enabled: boolean;
@@ -3143,6 +3457,7 @@ export declare const coreRouter: import("@trpc/server").TRPCBuiltRouter<{
3143
3457
  capabilities: string[];
3144
3458
  serviceId: string;
3145
3459
  webhookUrl: string;
3460
+ mcpEndpoint: string | null;
3146
3461
  pricing: string | null;
3147
3462
  enabled: boolean;
3148
3463
  lastHealthCheck: Date | null;
@@ -3168,6 +3483,7 @@ export declare const coreRouter: import("@trpc/server").TRPCBuiltRouter<{
3168
3483
  description: string | null;
3169
3484
  version: string | null;
3170
3485
  webhookUrl: string;
3486
+ mcpEndpoint: string | null;
3171
3487
  apiKey: string;
3172
3488
  capabilities: string[];
3173
3489
  pricing: string | null;
@@ -3189,6 +3505,39 @@ export declare const coreRouter: import("@trpc/server").TRPCBuiltRouter<{
3189
3505
  };
3190
3506
  meta: object;
3191
3507
  }>;
3508
+ rotateKey: import("@trpc/server").TRPCMutationProcedure<{
3509
+ input: {
3510
+ id: string;
3511
+ newApiKey: string;
3512
+ };
3513
+ output: {
3514
+ success: boolean;
3515
+ serviceId: string;
3516
+ };
3517
+ meta: object;
3518
+ }>;
3519
+ connectToWorkspace: import("@trpc/server").TRPCMutationProcedure<{
3520
+ input: {
3521
+ serviceId: string;
3522
+ capability?: "chat" | "analysis" | undefined;
3523
+ };
3524
+ output: {
3525
+ success: boolean;
3526
+ workspaceId: string;
3527
+ serviceId: string;
3528
+ capability: string;
3529
+ };
3530
+ meta: object;
3531
+ }>;
3532
+ disconnectFromWorkspace: import("@trpc/server").TRPCMutationProcedure<{
3533
+ input: {
3534
+ capability?: "chat" | "analysis" | undefined;
3535
+ };
3536
+ output: {
3537
+ success: boolean;
3538
+ };
3539
+ meta: object;
3540
+ }>;
3192
3541
  findByCapability: import("@trpc/server").TRPCQueryProcedure<{
3193
3542
  input: {
3194
3543
  capability: string;
@@ -3370,8 +3719,8 @@ export declare const coreRouter: import("@trpc/server").TRPCBuiltRouter<{
3370
3719
  id: string;
3371
3720
  errorMessage: string | null;
3372
3721
  startedAt: Date;
3373
- threadId: string;
3374
3722
  status: "completed" | "running" | "failed";
3723
+ threadId: string;
3375
3724
  commandId: string;
3376
3725
  permissionsSnapshot: Record<string, unknown> | null;
3377
3726
  inputs: Record<string, unknown> | null;
@@ -3396,8 +3745,8 @@ export declare const coreRouter: import("@trpc/server").TRPCBuiltRouter<{
3396
3745
  id: string;
3397
3746
  errorMessage: string | null;
3398
3747
  startedAt: Date;
3399
- threadId: string;
3400
3748
  status: "completed" | "running" | "failed";
3749
+ threadId: string;
3401
3750
  commandId: string;
3402
3751
  permissionsSnapshot: Record<string, unknown> | null;
3403
3752
  inputs: Record<string, unknown> | null;
@@ -3421,6 +3770,7 @@ export declare const coreRouter: import("@trpc/server").TRPCBuiltRouter<{
3421
3770
  endpoints?: string[];
3422
3771
  authType?: string;
3423
3772
  };
3773
+ intelligenceConfigured: boolean;
3424
3774
  };
3425
3775
  meta: object;
3426
3776
  }>;
@@ -3642,6 +3992,34 @@ export declare const coreRouter: import("@trpc/server").TRPCBuiltRouter<{
3642
3992
  };
3643
3993
  meta: object;
3644
3994
  }>;
3995
+ checkHealth: import("@trpc/server").TRPCMutationProcedure<{
3996
+ input: {
3997
+ serviceId: string;
3998
+ };
3999
+ output: {
4000
+ serviceId: string;
4001
+ isHealthy: boolean;
4002
+ checkedAt: Date;
4003
+ };
4004
+ meta: object;
4005
+ }>;
4006
+ serviceUsageStats: import("@trpc/server").TRPCQueryProcedure<{
4007
+ input: {
4008
+ workspaceId?: string | undefined;
4009
+ days?: number | undefined;
4010
+ };
4011
+ output: {
4012
+ stats: {
4013
+ serviceId: string;
4014
+ messageCount: number;
4015
+ totalTokens: number;
4016
+ avgLatencyMs: number;
4017
+ }[];
4018
+ since: string;
4019
+ days: number;
4020
+ };
4021
+ meta: object;
4022
+ }>;
3645
4023
  }>>;
3646
4024
  search: import("@trpc/server").TRPCBuiltRouter<{
3647
4025
  ctx: Context;
@@ -3806,6 +4184,48 @@ export declare const coreRouter: import("@trpc/server").TRPCBuiltRouter<{
3806
4184
  };
3807
4185
  meta: object;
3808
4186
  }>;
4187
+ getConnections: import("@trpc/server").TRPCQueryProcedure<{
4188
+ input: {
4189
+ entityId: string;
4190
+ limit?: number | undefined;
4191
+ };
4192
+ output: {
4193
+ connections: {
4194
+ entityId: string;
4195
+ entity: {
4196
+ workspaceId: string | null;
4197
+ userId: string;
4198
+ id: string;
4199
+ updatedAt: Date;
4200
+ createdAt: Date;
4201
+ type: string;
4202
+ profileId: string | null;
4203
+ title: string | null;
4204
+ preview: string | null;
4205
+ documentId: string | null;
4206
+ properties: unknown;
4207
+ version: number;
4208
+ deletedAt: Date | null;
4209
+ } | null;
4210
+ label: string;
4211
+ direction: "outgoing" | "incoming" | "structural";
4212
+ source: "graph" | "property" | "thread";
4213
+ relationType?: string;
4214
+ propertySlug?: string;
4215
+ propertyLabel?: string;
4216
+ channelId?: string;
4217
+ channelRelationshipType?: string;
4218
+ createdAt?: Date | null;
4219
+ }[];
4220
+ counts: {
4221
+ total: number;
4222
+ graph: number;
4223
+ structural: number;
4224
+ threads: number;
4225
+ };
4226
+ };
4227
+ meta: object;
4228
+ }>;
3809
4229
  delete: import("@trpc/server").TRPCMutationProcedure<{
3810
4230
  input: {
3811
4231
  id: string;
@@ -4400,7 +4820,7 @@ export declare const coreRouter: import("@trpc/server").TRPCBuiltRouter<{
4400
4820
  }>;
4401
4821
  list: import("@trpc/server").TRPCQueryProcedure<{
4402
4822
  input: {
4403
- workspaceId?: string | undefined;
4823
+ workspaceIds?: string[] | undefined;
4404
4824
  type?: "calendar" | "list" | "table" | "whiteboard" | "all" | "graph" | "timeline" | "grid" | "kanban" | "gallery" | "gantt" | "mindmap" | undefined;
4405
4825
  };
4406
4826
  output: {
@@ -5609,6 +6029,21 @@ export declare const coreRouter: import("@trpc/server").TRPCBuiltRouter<{
5609
6029
  };
5610
6030
  meta: object;
5611
6031
  }>;
6032
+ installFromUrl: import("@trpc/server").TRPCMutationProcedure<{
6033
+ input: {
6034
+ url: string;
6035
+ workspaceId: string;
6036
+ };
6037
+ output: {
6038
+ id: string;
6039
+ name: string;
6040
+ status: "installed";
6041
+ skillType: "instruction";
6042
+ source: "custom" | "clawhub" | "zeroclaw";
6043
+ version: string;
6044
+ };
6045
+ meta: object;
6046
+ }>;
5612
6047
  }>>;
5613
6048
  backgroundTasks: import("@trpc/server").TRPCBuiltRouter<{
5614
6049
  ctx: Context;
@@ -5879,7 +6314,8 @@ export declare const coreRouter: import("@trpc/server").TRPCBuiltRouter<{
5879
6314
  displayName: string;
5880
6315
  parentProfileId?: string | undefined;
5881
6316
  uiHints?: Record<string, unknown> | undefined;
5882
- scope?: "workspace" | "user" | "system" | undefined;
6317
+ scope?: "workspace" | "user" | "shared" | "system" | undefined;
6318
+ allowedWorkspaceIds?: string[] | undefined;
5883
6319
  source?: "user" | "system" | "intelligence" | "ai" | undefined;
5884
6320
  reasoning?: string | undefined;
5885
6321
  agentUserId?: string | undefined;
@@ -5937,6 +6373,8 @@ export declare const coreRouter: import("@trpc/server").TRPCBuiltRouter<{
5937
6373
  displayName?: string | undefined;
5938
6374
  parentProfileId?: string | null | undefined;
5939
6375
  uiHints?: Record<string, unknown> | undefined;
6376
+ scope?: "workspace" | "user" | "shared" | "system" | undefined;
6377
+ allowedWorkspaceIds?: string[] | undefined;
5940
6378
  };
5941
6379
  output: {
5942
6380
  profile: {
@@ -5996,6 +6434,48 @@ export declare const coreRouter: import("@trpc/server").TRPCBuiltRouter<{
5996
6434
  };
5997
6435
  meta: object;
5998
6436
  }>;
6437
+ grantAccess: import("@trpc/server").TRPCMutationProcedure<{
6438
+ input: {
6439
+ profileId: string;
6440
+ targetWorkspaceId: string;
6441
+ };
6442
+ output: {
6443
+ success: boolean;
6444
+ };
6445
+ meta: object;
6446
+ }>;
6447
+ listMulti: import("@trpc/server").TRPCQueryProcedure<{
6448
+ input: {
6449
+ workspaceIds?: string[] | undefined;
6450
+ };
6451
+ output: {
6452
+ profiles: {
6453
+ workspaceId: string | null;
6454
+ userId: string | null;
6455
+ id: string;
6456
+ updatedAt: Date;
6457
+ createdAt: Date;
6458
+ version: number;
6459
+ isActive: boolean;
6460
+ scope: ProfileScope;
6461
+ slug: string;
6462
+ uiHints: unknown;
6463
+ displayName: string;
6464
+ parentProfileId: string | null;
6465
+ }[];
6466
+ };
6467
+ meta: object;
6468
+ }>;
6469
+ revokeAccess: import("@trpc/server").TRPCMutationProcedure<{
6470
+ input: {
6471
+ profileId: string;
6472
+ targetWorkspaceId: string;
6473
+ };
6474
+ output: {
6475
+ success: boolean;
6476
+ };
6477
+ meta: object;
6478
+ }>;
5999
6479
  }>>;
6000
6480
  propertyDefs: import("@trpc/server").TRPCBuiltRouter<{
6001
6481
  ctx: Context;
@@ -6010,6 +6490,7 @@ export declare const coreRouter: import("@trpc/server").TRPCBuiltRouter<{
6010
6490
  id: string;
6011
6491
  updatedAt: Date;
6012
6492
  createdAt: Date;
6493
+ profileId: string | null;
6013
6494
  slug: string;
6014
6495
  valueType: PropertyValueType;
6015
6496
  constraints: unknown;
@@ -6027,6 +6508,7 @@ export declare const coreRouter: import("@trpc/server").TRPCBuiltRouter<{
6027
6508
  id: string;
6028
6509
  updatedAt: Date;
6029
6510
  createdAt: Date;
6511
+ profileId: string | null;
6030
6512
  slug: string;
6031
6513
  valueType: PropertyValueType;
6032
6514
  constraints: unknown;
@@ -6041,12 +6523,14 @@ export declare const coreRouter: import("@trpc/server").TRPCBuiltRouter<{
6041
6523
  valueType: "string" | "number" | "boolean" | "object" | "array" | "date" | "secret" | "entity_id";
6042
6524
  constraints?: Record<string, unknown> | undefined;
6043
6525
  uiHints?: Record<string, unknown> | undefined;
6526
+ profileId?: string | undefined;
6044
6527
  };
6045
6528
  output: {
6046
6529
  propertyDef: {
6047
6530
  id: string;
6048
6531
  updatedAt: Date;
6049
6532
  createdAt: Date;
6533
+ profileId: string | null;
6050
6534
  slug: string;
6051
6535
  valueType: PropertyValueType;
6052
6536
  constraints: unknown;
@@ -6058,6 +6542,7 @@ export declare const coreRouter: import("@trpc/server").TRPCBuiltRouter<{
6058
6542
  id: string;
6059
6543
  updatedAt: Date;
6060
6544
  createdAt: Date;
6545
+ profileId: string | null;
6061
6546
  slug: string;
6062
6547
  valueType: PropertyValueType;
6063
6548
  constraints: unknown;
@@ -6080,6 +6565,7 @@ export declare const coreRouter: import("@trpc/server").TRPCBuiltRouter<{
6080
6565
  id: string;
6081
6566
  updatedAt: Date;
6082
6567
  createdAt: Date;
6568
+ profileId: string | null;
6083
6569
  slug: string;
6084
6570
  valueType: PropertyValueType;
6085
6571
  constraints: unknown;
@@ -6210,6 +6696,30 @@ export declare const coreRouter: import("@trpc/server").TRPCBuiltRouter<{
6210
6696
  };
6211
6697
  meta: object;
6212
6698
  }>;
6699
+ update: import("@trpc/server").TRPCMutationProcedure<{
6700
+ input: {
6701
+ id: string;
6702
+ displayName?: string | undefined;
6703
+ description?: string | undefined;
6704
+ uiHints?: Record<string, unknown> | undefined;
6705
+ isDirectional?: boolean | undefined;
6706
+ };
6707
+ output: {
6708
+ relationDef: {
6709
+ workspaceId: string;
6710
+ userId: string;
6711
+ id: string;
6712
+ updatedAt: Date;
6713
+ createdAt: Date;
6714
+ description: string | null;
6715
+ slug: string;
6716
+ uiHints: unknown;
6717
+ displayName: string;
6718
+ isDirectional: boolean;
6719
+ };
6720
+ };
6721
+ meta: object;
6722
+ }>;
6213
6723
  delete: import("@trpc/server").TRPCMutationProcedure<{
6214
6724
  input: {
6215
6725
  id: string;