@elevasis/ui 2.48.0 → 2.50.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/dist/api/index.js +4 -3
  2. package/dist/app/index.d.ts +132 -0
  3. package/dist/app/index.js +8 -6
  4. package/dist/auth/index.js +8 -6
  5. package/dist/charts/index.js +8 -6
  6. package/dist/{chunk-SOGPJFO6.js → chunk-4UA62IDF.js} +1 -1
  7. package/dist/{chunk-OFLWSKSC.js → chunk-7Q5THR43.js} +1 -1
  8. package/dist/chunk-EJL4U7OZ.js +79 -0
  9. package/dist/chunk-FVOMKZ7S.js +118 -0
  10. package/dist/{chunk-FVI3AMBM.js → chunk-SBNC3FRX.js} +163 -214
  11. package/dist/{chunk-CDZB24OR.js → chunk-XOPLS4S6.js} +1 -85
  12. package/dist/components/index.d.ts +132 -0
  13. package/dist/components/index.js +8 -6
  14. package/dist/components/navigation/index.js +8 -6
  15. package/dist/features/auth/index.d.ts +132 -0
  16. package/dist/features/auth/index.js +9 -7
  17. package/dist/features/clients/index.js +8 -6
  18. package/dist/features/crm/index.d.ts +132 -0
  19. package/dist/features/crm/index.js +8 -6
  20. package/dist/features/dashboard/index.js +8 -6
  21. package/dist/features/delivery/index.d.ts +132 -0
  22. package/dist/features/delivery/index.js +8 -6
  23. package/dist/features/knowledge/index.js +8 -6
  24. package/dist/features/lead-gen/index.js +8 -6
  25. package/dist/features/monitoring/index.js +8 -6
  26. package/dist/features/monitoring/requests/index.js +9 -7
  27. package/dist/features/operations/index.d.ts +2 -2
  28. package/dist/features/operations/index.js +8 -6
  29. package/dist/features/public-agent-chat/index.d.ts +161 -0
  30. package/dist/features/public-agent-chat/index.js +413 -0
  31. package/dist/features/settings/index.d.ts +132 -0
  32. package/dist/features/settings/index.js +8 -6
  33. package/dist/hooks/access/index.js +8 -6
  34. package/dist/hooks/delivery/index.d.ts +132 -0
  35. package/dist/hooks/delivery/index.js +8 -6
  36. package/dist/hooks/index.d.ts +135 -1
  37. package/dist/hooks/index.js +8 -6
  38. package/dist/hooks/published.d.ts +135 -1
  39. package/dist/hooks/published.js +8 -6
  40. package/dist/index.d.ts +135 -1
  41. package/dist/index.js +9 -7
  42. package/dist/initialization/index.d.ts +132 -0
  43. package/dist/knowledge/index.js +264 -30
  44. package/dist/{knowledge-search-index-MHOBQTT3.js → knowledge-search-index-JOPRYZN6.js} +600 -561
  45. package/dist/layout/index.js +8 -6
  46. package/dist/organization/index.js +8 -6
  47. package/dist/profile/index.d.ts +132 -0
  48. package/dist/provider/index.d.ts +132 -0
  49. package/dist/provider/index.js +8 -6
  50. package/dist/provider/published.d.ts +132 -0
  51. package/dist/provider/published.js +8 -6
  52. package/dist/supabase/index.d.ts +258 -0
  53. package/dist/test-utils/index.js +4 -3
  54. package/dist/types/index.d.ts +135 -3
  55. package/dist/utils/index.js +2 -1
  56. package/package.json +10 -5
@@ -2114,6 +2114,138 @@ type Database = {
2114
2114
  };
2115
2115
  Relationships: [];
2116
2116
  };
2117
+ agent_access_grants: {
2118
+ Row: {
2119
+ allowed_origins: string[];
2120
+ branding: Json;
2121
+ capture_fields: Json;
2122
+ code_hash: string | null;
2123
+ code_salt: string | null;
2124
+ created_at: string;
2125
+ disabled_at: string | null;
2126
+ expires_at: string | null;
2127
+ id: string;
2128
+ max_sessions_per_visitor: number;
2129
+ max_turns_per_session: number;
2130
+ mode: string;
2131
+ organization_id: string;
2132
+ resource_id: string;
2133
+ slug: string;
2134
+ tool_policy: Json;
2135
+ updated_at: string;
2136
+ };
2137
+ Insert: {
2138
+ allowed_origins?: string[];
2139
+ branding?: Json;
2140
+ capture_fields?: Json;
2141
+ code_hash?: string | null;
2142
+ code_salt?: string | null;
2143
+ created_at?: string;
2144
+ disabled_at?: string | null;
2145
+ expires_at?: string | null;
2146
+ id?: string;
2147
+ max_sessions_per_visitor?: number;
2148
+ max_turns_per_session?: number;
2149
+ mode?: string;
2150
+ organization_id: string;
2151
+ resource_id: string;
2152
+ slug: string;
2153
+ tool_policy?: Json;
2154
+ updated_at?: string;
2155
+ };
2156
+ Update: {
2157
+ allowed_origins?: string[];
2158
+ branding?: Json;
2159
+ capture_fields?: Json;
2160
+ code_hash?: string | null;
2161
+ code_salt?: string | null;
2162
+ created_at?: string;
2163
+ disabled_at?: string | null;
2164
+ expires_at?: string | null;
2165
+ id?: string;
2166
+ max_sessions_per_visitor?: number;
2167
+ max_turns_per_session?: number;
2168
+ mode?: string;
2169
+ organization_id?: string;
2170
+ resource_id?: string;
2171
+ slug?: string;
2172
+ tool_policy?: Json;
2173
+ updated_at?: string;
2174
+ };
2175
+ Relationships: [
2176
+ {
2177
+ foreignKeyName: "agent_access_grants_organization_id_fkey";
2178
+ columns: ["organization_id"];
2179
+ isOneToOne: false;
2180
+ referencedRelation: "organizations";
2181
+ referencedColumns: ["id"];
2182
+ }
2183
+ ];
2184
+ };
2185
+ agent_chat_capabilities: {
2186
+ Row: {
2187
+ created_at: string;
2188
+ expires_at: string;
2189
+ grant_id: string;
2190
+ id: string;
2191
+ organization_id: string;
2192
+ origin: string | null;
2193
+ resource_id: string;
2194
+ revoked_at: string | null;
2195
+ session_id: string | null;
2196
+ token_hash: string;
2197
+ visitor_id: string | null;
2198
+ };
2199
+ Insert: {
2200
+ created_at?: string;
2201
+ expires_at: string;
2202
+ grant_id: string;
2203
+ id?: string;
2204
+ organization_id: string;
2205
+ origin?: string | null;
2206
+ resource_id: string;
2207
+ revoked_at?: string | null;
2208
+ session_id?: string | null;
2209
+ token_hash: string;
2210
+ visitor_id?: string | null;
2211
+ };
2212
+ Update: {
2213
+ created_at?: string;
2214
+ expires_at?: string;
2215
+ grant_id?: string;
2216
+ id?: string;
2217
+ organization_id?: string;
2218
+ origin?: string | null;
2219
+ resource_id?: string;
2220
+ revoked_at?: string | null;
2221
+ session_id?: string | null;
2222
+ token_hash?: string;
2223
+ visitor_id?: string | null;
2224
+ };
2225
+ Relationships: [
2226
+ {
2227
+ foreignKeyName: "agent_chat_capabilities_grant_id_fkey";
2228
+ columns: ["grant_id"];
2229
+ isOneToOne: false;
2230
+ referencedRelation: "agent_access_grants";
2231
+ referencedColumns: ["id"];
2232
+ },
2233
+ {
2234
+ foreignKeyName: "agent_chat_capabilities_organization_id_fkey";
2235
+ columns: ["organization_id"];
2236
+ isOneToOne: false;
2237
+ referencedRelation: "organizations";
2238
+ referencedColumns: ["id"];
2239
+ },
2240
+ {
2241
+ foreignKeyName: "agent_chat_capabilities_session_id_fkey";
2242
+ columns: ["session_id"];
2243
+ isOneToOne: false;
2244
+ referencedRelation: "sessions";
2245
+ referencedColumns: ["session_id"];
2246
+ }
2247
+ ];
2248
+ };
2117
2249
  organizations: {
2118
2250
  Row: {
2119
2251
  config: Json;
@@ -1,25 +1,27 @@
1
- import { getConceptDefinition, normaliseConceptKey, SemanticIcon, getKnowledgeIconToken, PageContainer, getKnowledgeGraphNodeCommand, IdentityDomainSchema, WorkflowResourceEntrySchema, AgentResourceEntrySchema, IntegrationResourceEntrySchema, ScriptResourceEntrySchema, getKnowledgeNodeReadCommand, getKnowledgeOntologyProjection, getPrimaryOntologyItemsForDomain, projectNavigationSurfaces, projectNavigationGroups, SurfaceDefinitionSchema, RoleSchema, PolicySchema, getOntologyDomainLabel, getKnowledgeDomainFolderCommand, getKnowledgeTreeFolderCommand, KNOWLEDGE_DOMAINS_WITH_PANELS } from '../chunk-FVI3AMBM.js';
2
- export { FILTERABLE_DOMAIN_KEYS, KNOWLEDGE_DOMAINS_WITH_PANELS, KNOWLEDGE_ICON_TOKEN_BY_KIND, KnowledgeSearchBar, KnowledgeTree, OM_NESTED_TREE_GROUPS, OM_TREE_GROUPS, SemanticIcon, buildKnowledgeOmTreeData, extendSemanticIconRegistry, findKnowledgeTreeNodeByValue, findOmTreeGroup, getKnowledgeIconToken, getSemanticIconComponent, getSharedOrganizationGraph, resolveSemanticIconComponent } from '../chunk-FVI3AMBM.js';
1
+ import { getConceptDefinition, normaliseConceptKey, SemanticIcon, getKnowledgeIconToken, PageContainer, getKnowledgeGraphNodeCommand, IdentityDomainSchema, WorkflowResourceEntrySchema, AgentResourceEntrySchema, IntegrationResourceEntrySchema, ScriptResourceEntrySchema, getKnowledgeNodeReadCommand, getKnowledgeOntologyProjection, getPrimaryOntologyItemsForDomain, projectNavigationSurfaces, projectNavigationGroups, SurfaceDefinitionSchema, RoleSchema, PolicySchema, getOntologyDomainLabel, getKnowledgeDomainFolderCommand, getKnowledgeTreeFolderCommand, KNOWLEDGE_DOMAINS_WITH_PANELS } from '../chunk-SBNC3FRX.js';
2
+ export { FILTERABLE_DOMAIN_KEYS, KNOWLEDGE_DOMAINS_WITH_PANELS, KNOWLEDGE_ICON_TOKEN_BY_KIND, KnowledgeSearchBar, KnowledgeTree, OM_NESTED_TREE_GROUPS, OM_TREE_GROUPS, SemanticIcon, buildKnowledgeOmTreeData, extendSemanticIconRegistry, findKnowledgeTreeNodeByValue, findOmTreeGroup, getKnowledgeIconToken, getSemanticIconComponent, getSharedOrganizationGraph, resolveSemanticIconComponent } from '../chunk-SBNC3FRX.js';
3
3
  import { usePresetsContext } from '../chunk-NZ2F5RQ4.js';
4
4
  import '../chunk-OJJK27GC.js';
5
+ import '../chunk-ZTWA5H77.js';
5
6
  import '../chunk-AUDNF2Q7.js';
6
7
  import '../chunk-6M6OLGQY.js';
7
8
  import '../chunk-MKH2KOAO.js';
8
- import '../chunk-GUKY77FJ.js';
9
+ import '../chunk-7Q5THR43.js';
9
10
  import '../chunk-SJHM4WDG.js';
10
- import '../chunk-ZTWA5H77.js';
11
+ import '../chunk-GMXGDO3I.js';
11
12
  import '../chunk-S3XR4II4.js';
12
13
  import '../chunk-6DO4PE3O.js';
13
- import '../chunk-OFLWSKSC.js';
14
14
  import '../chunk-DD3CCMCZ.js';
15
- import '../chunk-GMXGDO3I.js';
15
+ import '../chunk-EJL4U7OZ.js';
16
+ import '../chunk-GUKY77FJ.js';
16
17
  import '../chunk-2IFYDILW.js';
17
18
  import '../chunk-Q7DJKLEN.js';
18
19
  import '../chunk-HENXLGVD.js';
19
20
  import '../chunk-7FPLLSHN.js';
20
21
  import '../chunk-RNP5R5I3.js';
21
22
  import '../chunk-W2SFTXMT.js';
22
- import { getSystem, SystemEntrySchema, EntitySchema, ActionSchema, OntologyIdSchema, ontologyGraphNodeId, compileOrganizationOntology, parseOntologyId } from '../chunk-CDZB24OR.js';
23
+ import { getSystem, SystemEntrySchema, EntitySchema, ActionSchema, OntologyIdSchema, ontologyGraphNodeId, compileOrganizationOntology, parseOntologyId } from '../chunk-XOPLS4S6.js';
24
+ import '../chunk-FVOMKZ7S.js';
23
25
  import '../chunk-KRWALB24.js';
24
26
  import '../chunk-2FTX4WO2.js';
25
27
  import '../chunk-MQZE7SUI.js';
@@ -3251,7 +3253,7 @@ function _createMdxContent(props) {
3251
3253
  }), "\\n", _jsx(_components.pre, {
3252
3254
  children: _jsx(_components.code, {
3253
3255
  className: "language-text",
3254
- children: "Video: 1920x1080, 60fps, NV12, Rec. 709 Partial\\r\\nEncode: NVENC H.264, CQP 18, P5 preset, High profile\\r\\nFormat: MKV with automatic remux to MP4\\r\\nAudio: 48 kHz stereo, 320 kbps AAC, mixed plus mic-only tracks\\r\\nCamera: Insta360 Link 2C at 1080p60 with circle mask\\r\\nScenes: Face + Screen on F5, Screen Only on F6\\n"
3256
+ children: "Video: 1920x1080, 60fps, NV12, Rec. 709 Partial\\nEncode: NVENC H.264, CQP 18, P5 preset, High profile\\nFormat: MKV with automatic remux to MP4\\nAudio: 48 kHz stereo, 320 kbps AAC, mixed plus mic-only tracks\\nCamera: Insta360 Link 2C at 1080p60 with circle mask\\nScenes: Face + Screen on F5, Screen Only on F6\\n"
3255
3257
  })
3256
3258
  }), "\\n", _jsx(_components.p, {
3257
3259
  children: "Prefer 1080p60 over 4K30 for screen recordings. Smooth cursor motion, scrolling, typing, and app transitions matter more than pixel density, and most viewers watch at 1080p or below. 4K30 produces larger files, slower editing, and visibly choppier screen motion."
@@ -3273,7 +3275,7 @@ function _createMdxContent(props) {
3273
3275
  }), "\\n", _jsx(_components.pre, {
3274
3276
  children: _jsx(_components.code, {
3275
3277
  className: "language-text",
3276
- children: "Settings > Output > Output Mode: Advanced\\r\\nRecording Tab:\\r\\n Type: Standard\\r\\n Recording Format: mkv\\r\\n Encoder: NVIDIA NVENC H.264\\r\\n Rate Control: CQP\\r\\n CQ Level: 18\\r\\n Keyframe Interval: 2\\r\\n Preset: P5 (Slow)\\r\\n Profile: high\\r\\n Look-ahead: checked\\r\\n Psycho Visual Tuning: checked\\r\\n Max B-frames: 2\\n"
3278
+ children: "Settings > Output > Output Mode: Advanced\\nRecording Tab:\\n Type: Standard\\n Recording Format: mkv\\n Encoder: NVIDIA NVENC H.264\\n Rate Control: CQP\\n CQ Level: 18\\n Keyframe Interval: 2\\n Preset: P5 (Slow)\\n Profile: high\\n Look-ahead: checked\\n Psycho Visual Tuning: checked\\n Max B-frames: 2\\n"
3277
3279
  })
3278
3280
  }), "\\n", _jsx(_components.p, {
3279
3281
  children: "CQP 18 is the stable quality target for screen content. It is visually lossless for this use case and gives YouTube a high-quality source before its VP9 or AV1 re-encode."
@@ -3294,7 +3296,7 @@ function _createMdxContent(props) {
3294
3296
  }), "\\n", _jsx(_components.pre, {
3295
3297
  children: _jsx(_components.code, {
3296
3298
  className: "language-text",
3297
- children: "Output > Advanced > Audio:\\r\\n Track 1: 320 kbps\\r\\n Track 2: 320 kbps\\n"
3299
+ children: "Output > Advanced > Audio:\\n Track 1: 320 kbps\\n Track 2: 320 kbps\\n"
3298
3300
  })
3299
3301
  }), "\\n", _jsx(_components.h2, {
3300
3302
  children: "Video Settings"
@@ -3303,14 +3305,14 @@ function _createMdxContent(props) {
3303
3305
  }), "\\n", _jsx(_components.pre, {
3304
3306
  children: _jsx(_components.code, {
3305
3307
  className: "language-text",
3306
- children: "Settings > Video:\\r\\n Base (Canvas) Resolution: 1920x1080\\r\\n Output (Scaled) Resolution: 1920x1080\\r\\n Downscale Filter: Lanczos (36 samples)\\r\\n Common FPS Values: 60\\n"
3308
+ children: "Settings > Video:\\n Base (Canvas) Resolution: 1920x1080\\n Output (Scaled) Resolution: 1920x1080\\n Downscale Filter: Lanczos (36 samples)\\n Common FPS Values: 60\\n"
3307
3309
  })
3308
3310
  }), "\\n", _jsx(_components.p, {
3309
3311
  children: "Use Rec. 709 limited-range color:"
3310
3312
  }), "\\n", _jsx(_components.pre, {
3311
3313
  children: _jsx(_components.code, {
3312
3314
  className: "language-text",
3313
- children: "Settings > Advanced:\\r\\n Color Format: NV12\\r\\n Color Space: 709\\r\\n Color Range: Partial\\n"
3315
+ children: "Settings > Advanced:\\n Color Format: NV12\\n Color Space: 709\\n Color Range: Partial\\n"
3314
3316
  })
3315
3317
  }), "\\n", _jsx(_components.p, {
3316
3318
  children: "YouTube expects Rec. 709 limited range. Full range can produce washed-out or overly contrasty results after processing."
@@ -3349,7 +3351,7 @@ function _createMdxContent(props) {
3349
3351
  }), "\\n", _jsx(_components.pre, {
3350
3352
  children: _jsx(_components.code, {
3351
3353
  className: "language-text",
3352
- children: "Settings > Audio:\\r\\n Sample Rate: 48 kHz\\r\\n Channels: Stereo\\r\\n Desktop Audio: Default\\r\\n Mic/Auxiliary Audio: Focusrite USB Audio (Scarlett 2i2)\\n"
3354
+ children: "Settings > Audio:\\n Sample Rate: 48 kHz\\n Channels: Stereo\\n Desktop Audio: Default\\n Mic/Auxiliary Audio: Focusrite USB Audio (Scarlett 2i2)\\n"
3353
3355
  })
3354
3356
  }), "\\n", _jsx(_components.p, {
3355
3357
  children: "Set the Focusrite input in Windows before recording:"
@@ -3428,7 +3430,7 @@ function _createMdxContent(props) {
3428
3430
  }), "\\n", _jsx(_components.pre, {
3429
3431
  children: _jsx(_components.code, {
3430
3432
  className: "language-text",
3431
- children: "Settings > Output > Advanced > Recording Tab:\\r\\n Audio Track: check 1 and 2\\n"
3433
+ children: "Settings > Output > Advanced > Recording Tab:\\n Audio Track: check 1 and 2\\n"
3432
3434
  })
3433
3435
  }), "\\n", _jsxs(_components.p, {
3434
3436
  children: ["Route tracks in ", _jsx(_components.code, {
@@ -3493,7 +3495,7 @@ function _createMdxContent(props) {
3493
3495
  }), "\\n", _jsx(_components.pre, {
3494
3496
  children: _jsx(_components.code, {
3495
3497
  className: "language-text",
3496
- children: "Source: Display Capture\\r\\nDisplay: Primary monitor\\r\\nCapture Method: Windows 10 (1903 and later)\\r\\nCapture Cursor: checked\\n"
3498
+ children: "Source: Display Capture\\nDisplay: Primary monitor\\nCapture Method: Windows 10 (1903 and later)\\nCapture Cursor: checked\\n"
3497
3499
  })
3498
3500
  }), "\\n", _jsx(_components.p, {
3499
3501
  children: "Apply the ultrawide crop to this source when recording from the 3440x1440 monitor."
@@ -3502,7 +3504,7 @@ function _createMdxContent(props) {
3502
3504
  }), "\\n", _jsx(_components.pre, {
3503
3505
  children: _jsx(_components.code, {
3504
3506
  className: "language-text",
3505
- children: "Device: Insta360 Link 2C\\r\\nResolution: 1920x1080\\r\\nFPS: 60\\r\\nVideo Format: MJPEG or default\\n"
3507
+ children: "Device: Insta360 Link 2C\\nResolution: 1920x1080\\nFPS: 60\\nVideo Format: MJPEG or default\\n"
3506
3508
  })
3507
3509
  }), "\\n", _jsx(_components.p, {
3508
3510
  children: "Create a 512x512 PNG with a white circle on a black background and store it permanently, for example:"
@@ -3516,7 +3518,7 @@ function _createMdxContent(props) {
3516
3518
  }), "\\n", _jsx(_components.pre, {
3517
3519
  children: _jsx(_components.code, {
3518
3520
  className: "language-text",
3519
- children: "Filters > Image Mask/Blend:\\r\\n Type: Alpha Mask (Colour Channel)\\r\\n Path: E:\\\\OBS\\\\circle-mask.png\\n"
3521
+ children: "Filters > Image Mask/Blend:\\n Type: Alpha Mask (Colour Channel)\\n Path: E:\\\\OBS\\\\circle-mask.png\\n"
3520
3522
  })
3521
3523
  }), "\\n", _jsx(_components.p, {
3522
3524
  children: "Resize the facecam source to roughly 300-400 px diameter and place it in a lower corner."
@@ -3533,7 +3535,7 @@ function _createMdxContent(props) {
3533
3535
  }), "\\n", _jsx(_components.pre, {
3534
3536
  children: _jsx(_components.code, {
3535
3537
  className: "language-text",
3536
- children: "Settings > Hotkeys:\\r\\n Switch to Scene \\"Face + Screen\\": F5\\r\\n Switch to Scene \\"Screen Only\\": F6\\r\\n Start Recording: Ctrl+F9\\r\\n Stop Recording: Ctrl+F10\\n"
3538
+ children: "Settings > Hotkeys:\\n Switch to Scene \\"Face + Screen\\": F5\\n Switch to Scene \\"Screen Only\\": F6\\n Start Recording: Ctrl+F9\\n Stop Recording: Ctrl+F10\\n"
3537
3539
  })
3538
3540
  }), "\\n", _jsx(_components.p, {
3539
3541
  children: "Avoid hotkeys that collide with the app being recorded. If using F5 inside a browser-heavy recording, choose a different key because F5 refreshes the page."
@@ -4531,7 +4533,7 @@ function _createMdxContent(props) {
4531
4533
  }), "\\n", _jsxs(_components.p, {
4532
4534
  children: ["Source schema: ", _jsx(_components.code, {
4533
4535
  children: "packages/core/src/organization-model/graph/schema.ts"
4534
- }), "\\r\\nProjection logic: ", _jsx(_components.code, {
4536
+ }), "\\nProjection logic: ", _jsx(_components.code, {
4535
4537
  children: "packages/core/src/organization-model/graph/build.ts"
4536
4538
  })]
4537
4539
  }), "\\n", _jsx(_components.h2, {
@@ -5566,7 +5568,7 @@ function _createMdxContent(props) {
5566
5568
  }), "\\n", _jsx(_components.pre, {
5567
5569
  children: _jsx(_components.code, {
5568
5570
  className: "language-text",
5569
- children: "Trigger to Agent\\r\\n |- Tool: Integration A\\r\\n |- Tool: Integration B\\r\\n |- Tool: Workflow 1 via resource invocation\\r\\n \`- Tool: Workflow 2 via resource invocation\\n"
5571
+ children: "Trigger to Agent\\n |- Tool: Integration A\\n |- Tool: Integration B\\n |- Tool: Workflow 1 via resource invocation\\n \`- Tool: Workflow 2 via resource invocation\\n"
5570
5572
  })
5571
5573
  }), "\\n", _jsx(_components.p, {
5572
5574
  children: "Use this pattern for ambiguous goals, dynamic decision-making, multi-turn conversations, and business logic that requires judgment."
@@ -5603,7 +5605,7 @@ function _createMdxContent(props) {
5603
5605
  }), "\\n", _jsx(_components.pre, {
5604
5606
  children: _jsx(_components.code, {
5605
5607
  className: "language-text",
5606
- children: "Trigger to Workflow\\r\\n |- Step 1: Integration A reads data\\r\\n |- Step 2: Agent processes or reasons\\r\\n |- Step 3: Integration B writes result\\r\\n \`- Step 4: Conditional routing\\n"
5608
+ children: "Trigger to Workflow\\n |- Step 1: Integration A reads data\\n |- Step 2: Agent processes or reasons\\n |- Step 3: Integration B writes result\\n \`- Step 4: Conditional routing\\n"
5607
5609
  })
5608
5610
  }), "\\n", _jsx(_components.p, {
5609
5611
  children: "Use this pattern for predictable sequences, data transformation pipelines, integration orchestration, and fixed business logic."
@@ -5638,7 +5640,7 @@ function _createMdxContent(props) {
5638
5640
  }), "\\n", _jsx(_components.pre, {
5639
5641
  children: _jsx(_components.code, {
5640
5642
  className: "language-text",
5641
- children: "Trigger to Agent decides what to do\\r\\n |- Invokes: Workflow A\\r\\n |- Invokes: Workflow B\\r\\n \`- Uses: Integration C directly\\r\\n\\r\\nWorkflow A:\\r\\n |- Integration D reads\\r\\n |- Agent processes a specific subtask\\r\\n \`- Integration E writes\\n"
5643
+ children: "Trigger to Agent decides what to do\\n |- Invokes: Workflow A\\n |- Invokes: Workflow B\\n \`- Uses: Integration C directly\\n\\nWorkflow A:\\n |- Integration D reads\\n |- Agent processes a specific subtask\\n \`- Integration E writes\\n"
5642
5644
  })
5643
5645
  }), "\\n", _jsx(_components.p, {
5644
5646
  children: "Use this pattern when the system needs variable paths, reasoning, reliability, and a mix of predictable and unpredictable steps."
@@ -5696,7 +5698,7 @@ function _createMdxContent(props) {
5696
5698
  }), "\\n", _jsx(_components.pre, {
5697
5699
  children: _jsx(_components.code, {
5698
5700
  className: "language-text",
5699
- children: "Trigger to Agent reasoning\\r\\n |- Direct tool: read integration\\r\\n |- Invoke tool: Workflow A\\r\\n \`- Invoke tool: Workflow B\\n"
5701
+ children: "Trigger to Agent reasoning\\n |- Direct tool: read integration\\n |- Invoke tool: Workflow A\\n \`- Invoke tool: Workflow B\\n"
5700
5702
  })
5701
5703
  }), "\\n", _jsx(_components.p, {
5702
5704
  children: "Execution flow:"
@@ -5719,7 +5721,7 @@ function _createMdxContent(props) {
5719
5721
  }), "\\n", _jsx(_components.pre, {
5720
5722
  children: _jsx(_components.code, {
5721
5723
  className: "language-text",
5722
- children: "Trigger to Workflow\\r\\n |- Step 1: Integration A reads\\r\\n |- Step 2: Transform pure function\\r\\n |- Step 3: Integration B writes\\r\\n \`- Step 4: Notify\\n"
5724
+ children: "Trigger to Workflow\\n |- Step 1: Integration A reads\\n |- Step 2: Transform pure function\\n |- Step 3: Integration B writes\\n \`- Step 4: Notify\\n"
5723
5725
  })
5724
5726
  }), "\\n", _jsx(_components.p, {
5725
5727
  children: "Use this pattern for predictable step sequences, data transformation pipelines, integration orchestration, and cost-sensitive work that does not need LLM reasoning."
@@ -5922,7 +5924,7 @@ function _createMdxContent(props) {
5922
5924
  }), "\\n", _jsx(_components.pre, {
5923
5925
  children: _jsx(_components.code, {
5924
5926
  className: "language-typescript",
5925
- children: "{\\r\\n id: 'sync-to-crm',\\r\\n handler: async ({ input, context }) => {\\r\\n try {\\r\\n return await crmClient.createContact(input)\\r\\n } catch (error) {\\r\\n if (error.code === 'DUPLICATE') {\\r\\n return crmClient.updateContact(input)\\r\\n }\\r\\n\\r\\n throw error\\r\\n }\\r\\n },\\r\\n next: { type: 'linear', target: 'send-notification' }\\r\\n}\\n"
5927
+ children: "{\\n id: 'sync-to-crm',\\n handler: async ({ input, context }) => {\\n try {\\n return await crmClient.createContact(input)\\n } catch (error) {\\n if (error.code === 'DUPLICATE') {\\n return crmClient.updateContact(input)\\n }\\n\\n throw error\\n }\\n },\\n next: { type: 'linear', target: 'send-notification' }\\n}\\n"
5926
5928
  })
5927
5929
  }), "\\n", _jsx(_components.h3, {
5928
5930
  children: "Security"
@@ -6151,14 +6153,14 @@ function _createMdxContent(props) {
6151
6153
  }), "\\n", _jsx(_components.pre, {
6152
6154
  children: _jsx(_components.code, {
6153
6155
  className: "language-typescript",
6154
- children: "const salesTool = createAttioCreateRecordTool('attio-sales')\\r\\nconst supportTool = createAttioCreateRecordTool('attio-support')\\n"
6156
+ children: "const salesTool = createAttioCreateRecordTool('attio-sales')\\nconst supportTool = createAttioCreateRecordTool('attio-support')\\n"
6155
6157
  })
6156
6158
  }), "\\n", _jsx(_components.p, {
6157
6159
  children: "Disambiguate multi-account tools with explicit tool names:"
6158
6160
  }), "\\n", _jsx(_components.pre, {
6159
6161
  children: _jsx(_components.code, {
6160
6162
  className: "language-typescript",
6161
- children: "const tool = createAttioToolNamed(\\r\\n 'attio_sales_create_record',\\r\\n 'attio-sales',\\r\\n 'createRecord'\\r\\n)\\n"
6163
+ children: "const tool = createAttioToolNamed(\\n 'attio_sales_create_record',\\n 'attio-sales',\\n 'createRecord'\\n)\\n"
6162
6164
  })
6163
6165
  }), "\\n", _jsx(_components.h2, {
6164
6166
  children: "Authentication Patterns"
@@ -6235,7 +6237,7 @@ function _createMdxContent(props) {
6235
6237
  }), "\\n", _jsx(_components.pre, {
6236
6238
  children: _jsx(_components.code, {
6237
6239
  className: "language-typescript",
6238
- children: "interface OAuthToken {\\r\\n provider: string\\r\\n accessToken: string\\r\\n refreshToken: string\\r\\n expiresAt: string\\r\\n tokenType: 'Bearer'\\r\\n scope?: string\\r\\n}\\n"
6240
+ children: "interface OAuthToken {\\n provider: string\\n accessToken: string\\n refreshToken: string\\n expiresAt: string\\n tokenType: 'Bearer'\\n scope?: string\\n}\\n"
6239
6241
  })
6240
6242
  }), "\\n", _jsxs(_components.p, {
6241
6243
  children: [_jsx(_components.code, {
@@ -6250,7 +6252,7 @@ function _createMdxContent(props) {
6250
6252
  }), "\\n", _jsx(_components.pre, {
6251
6253
  children: _jsx(_components.code, {
6252
6254
  className: "language-typescript",
6253
- children: "interface APIKeyCredentials {\\r\\n apiKey: string\\r\\n}\\n"
6255
+ children: "interface APIKeyCredentials {\\n apiKey: string\\n}\\n"
6254
6256
  })
6255
6257
  }), "\\n", _jsx(_components.p, {
6256
6258
  children: "Provider-specific validation belongs in the adapter. For Attio, see:"
@@ -6509,6 +6511,238 @@ function MDXContent(props = {}) {
6509
6511
  return {
6510
6512
  default: MDXContent
6511
6513
  };
6514
+ `),
6515
+ "knowledge.system-building": makeKnowledgeComponent(`"use strict";
6516
+ const {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];
6517
+ function _createMdxContent(props) {
6518
+ const _components = {
6519
+ code: "code",
6520
+ h2: "h2",
6521
+ li: "li",
6522
+ ol: "ol",
6523
+ p: "p",
6524
+ strong: "strong",
6525
+ ul: "ul",
6526
+ ...props.components
6527
+ };
6528
+ return _jsxs(_Fragment, {
6529
+ children: [_jsx(_components.h2, {
6530
+ children: "Overview"
6531
+ }), "\\n", _jsx(_components.p, {
6532
+ children: "Use this reference when building a new System or extending an existing one inside the Organization Model. The intent-to-abstraction map, the ordered build runbook, and the permanent guide together form the complete guidance chain."
6533
+ }), "\\n", _jsx(_components.p, {
6534
+ children: "The Organization Model is the single join point across runtime resources, UI manifests, topology wiring, and agent knowledge. System authoring starts here -- not in deployment files, UI registries, or hand-written constants."
6535
+ }), "\\n", _jsx(_components.h2, {
6536
+ children: "Entry Points"
6537
+ }), "\\n", _jsx(_components.p, {
6538
+ children: "Three entry points exist depending on context:"
6539
+ }), "\\n", _jsxs(_components.ul, {
6540
+ children: ["\\n", _jsxs(_components.li, {
6541
+ children: [_jsx(_components.strong, {
6542
+ children: "Intent-triggered (primary):"
6543
+ }), " describe what the system should do in free text. The ", _jsx(_components.code, {
6544
+ children: "/om"
6545
+ }), " skill's prompt-signals route build intent to the runbook automatically -- no subcommand required."]
6546
+ }), "\\n", _jsxs(_components.li, {
6547
+ children: [_jsx(_components.strong, {
6548
+ children: "Manual trigger (secondary):"
6549
+ }), " invoke ", _jsx(_components.code, {
6550
+ children: "/om build"
6551
+ }), " directly to walk the sequenced runbook."]
6552
+ }), "\\n", _jsxs(_components.li, {
6553
+ children: [_jsx(_components.strong, {
6554
+ children: "Copy-address:"
6555
+ }), " use ", _jsx(_components.code, {
6556
+ children: "/om read-folder group:systems"
6557
+ }), " in the Knowledge Tree to browse all System nodes and their governing knowledge."]
6558
+ }), "\\n"]
6559
+ }), "\\n", _jsx(_components.h2, {
6560
+ children: "Intent to Abstraction Map"
6561
+ }), "\\n", _jsxs(_components.p, {
6562
+ children: ["The intent-to-abstraction rule lives at ", _jsx(_components.code, {
6563
+ children: ".claude/rules/system-building.md"
6564
+ }), ". It auto-injects when editing any OM domain file and maps each user intent phrase to the exact System slot it fills, the canonical authoring file, and the ", _jsx(_components.code, {
6565
+ children: "define*"
6566
+ }), " helper to call."]
6567
+ }), "\\n", _jsx(_components.p, {
6568
+ children: "Representative mappings:"
6569
+ }), "\\n", _jsxs(_components.ul, {
6570
+ children: ["\\n", _jsxs(_components.li, {
6571
+ children: ["\\"react to incoming email\\" -- ", _jsx(_components.code, {
6572
+ children: "trigger"
6573
+ }), " (webhook) + ", _jsx(_components.code, {
6574
+ children: "topology.triggers"
6575
+ }), " edge + handler workflow"]
6576
+ }), "\\n", _jsxs(_components.li, {
6577
+ children: ["\\"store deal data\\" -- ", _jsx(_components.code, {
6578
+ children: "system.ontology"
6579
+ }), " object with ", _jsx(_components.code, {
6580
+ children: "scope: { system: '<id>' }"
6581
+ })]
6582
+ }), "\\n", _jsxs(_components.li, {
6583
+ children: ["\\"expose to other systems\\" -- ", _jsx(_components.code, {
6584
+ children: "system.apiInterface"
6585
+ }), " marker + scoped topology grant"]
6586
+ }), "\\n", _jsxs(_components.li, {
6587
+ children: ["\\"show in the dashboard\\" -- ", _jsx(_components.code, {
6588
+ children: "system.ui.surfaces"
6589
+ }), " + ", _jsx(_components.code, {
6590
+ children: "SystemModule"
6591
+ }), " keyed to ", _jsx(_components.code, {
6592
+ children: "systemId"
6593
+ })]
6594
+ }), "\\n", _jsxs(_components.li, {
6595
+ children: ["\\"track with a status\\" -- ", _jsx(_components.code, {
6596
+ children: "system.ontology"
6597
+ }), " catalog + ", _jsx(_components.code, {
6598
+ children: "usesCatalogs"
6599
+ }), " resource binding"]
6600
+ }), "\\n"]
6601
+ }), "\\n", _jsxs(_components.p, {
6602
+ children: ["See ", _jsx(_components.code, {
6603
+ children: ".claude/rules/system-building.md"
6604
+ }), " for the full 13-row table covering all System slots."]
6605
+ }), "\\n", _jsx(_components.h2, {
6606
+ children: "Ordered Build Runbook"
6607
+ }), "\\n", _jsxs(_components.p, {
6608
+ children: ["The sequenced build journey (once available at ", _jsx(_components.code, {
6609
+ children: "/om build"
6610
+ }), ") walks:"]
6611
+ }), "\\n", _jsxs(_components.ol, {
6612
+ children: ["\\n", _jsxs(_components.li, {
6613
+ children: ["Define the System shell (", _jsx(_components.code, {
6614
+ children: "defineSystem"
6615
+ }), " in the tenant OM)"]
6616
+ }), "\\n", _jsxs(_components.li, {
6617
+ children: ["Author ", _jsx(_components.code, {
6618
+ children: "system.ontology"
6619
+ }), " (objects, links, actions, catalogs, events, interfaces, value types, properties, groups, endpoints)"]
6620
+ }), "\\n", _jsxs(_components.li, {
6621
+ children: ["Author resources + ontology bindings (", _jsx(_components.code, {
6622
+ children: "systemPath"
6623
+ }), ", ", _jsx(_components.code, {
6624
+ children: "reads"
6625
+ }), "/", _jsx(_components.code, {
6626
+ children: "writes"
6627
+ }), "/", _jsx(_components.code, {
6628
+ children: "actions"
6629
+ }), "/", _jsx(_components.code, {
6630
+ children: "usesCatalogs"
6631
+ }), "/", _jsx(_components.code, {
6632
+ children: "emits"
6633
+ }), ")"]
6634
+ }), "\\n", _jsxs(_components.li, {
6635
+ children: ["Wire topology (", _jsx(_components.code, {
6636
+ children: "triggers"
6637
+ }), "/", _jsx(_components.code, {
6638
+ children: "uses"
6639
+ }), "/", _jsx(_components.code, {
6640
+ children: "approval"
6641
+ }), ") and cross-system grants"]
6642
+ }), "\\n", _jsxs(_components.li, {
6643
+ children: ["Author knowledge nodes (", _jsx(_components.code, {
6644
+ children: "governs: system:<id>"
6645
+ }), " via ", _jsx(_components.code, {
6646
+ children: "links"
6647
+ }), " frontmatter)"]
6648
+ }), "\\n", _jsxs(_components.li, {
6649
+ children: ["Register the UI manifest (", _jsx(_components.code, {
6650
+ children: "SystemModule"
6651
+ }), " keyed to ", _jsx(_components.code, {
6652
+ children: "systemId"
6653
+ }), ")"]
6654
+ }), "\\n", _jsxs(_components.li, {
6655
+ children: ["Mark ", _jsx(_components.code, {
6656
+ children: "system.apiInterface"
6657
+ }), " when the system is ready for cross-system use"]
6658
+ }), "\\n", _jsxs(_components.li, {
6659
+ children: ["Run ", _jsx(_components.code, {
6660
+ children: "pnpm exec elevasis om:doctor"
6661
+ }), " to verify coherence"]
6662
+ }), "\\n"]
6663
+ }), "\\n", _jsx(_components.h2, {
6664
+ children: "Permanent Guide"
6665
+ }), "\\n", _jsxs(_components.p, {
6666
+ children: ["The full narrative guide with worked cross-system patterns, OM Spine producer/consumer examples, and ", _jsx(_components.code, {
6667
+ children: "apiInterface"
6668
+ }), " readiness troubleshooting lives at:"]
6669
+ }), "\\n", _jsx(_components.p, {
6670
+ children: _jsx(_components.code, {
6671
+ children: "apps/docs/content/docs/technical/development/guides/building-systems/index.mdx"
6672
+ })
6673
+ }), "\\n", _jsx(_components.p, {
6674
+ children: "Read it for step-by-step authoring instructions, code examples, and common mistake patterns."
6675
+ }), "\\n", _jsx(_components.h2, {
6676
+ children: "Key Source Files"
6677
+ }), "\\n", _jsxs(_components.ul, {
6678
+ children: ["\\n", _jsxs(_components.li, {
6679
+ children: [_jsx(_components.code, {
6680
+ children: "packages/elevasis-core/src/organization-model/systems.ts"
6681
+ }), " -- ", _jsx(_components.code, {
6682
+ children: "SystemEntry"
6683
+ }), " master abstraction; every buildable slot lives here"]
6684
+ }), "\\n", _jsxs(_components.li, {
6685
+ children: [_jsx(_components.code, {
6686
+ children: "packages/core/src/organization-model/ontology.ts"
6687
+ }), " -- ontology ID scheme (", _jsx(_components.code, {
6688
+ children: "system.path:kind/local-id"
6689
+ }), ")"]
6690
+ }), "\\n", _jsxs(_components.li, {
6691
+ children: [_jsx(_components.code, {
6692
+ children: "packages/core/src/organization-model/helpers.ts"
6693
+ }), " -- ", _jsx(_components.code, {
6694
+ children: "getSystem"
6695
+ }), " / ", _jsx(_components.code, {
6696
+ children: "getResourcesForSystem"
6697
+ }), " / ", _jsx(_components.code, {
6698
+ children: "listAllSystems"
6699
+ })]
6700
+ }), "\\n", _jsxs(_components.li, {
6701
+ children: [_jsx(_components.code, {
6702
+ children: "packages/core/src/organization-model/domains/resources.ts"
6703
+ }), " -- ", _jsx(_components.code, {
6704
+ children: "ResourceEntry"
6705
+ }), ", ", _jsx(_components.code, {
6706
+ children: "systemPath"
6707
+ }), ", ontology bindings"]
6708
+ }), "\\n", _jsxs(_components.li, {
6709
+ children: [_jsx(_components.code, {
6710
+ children: "packages/core/src/organization-model/domains/topology.ts"
6711
+ }), " -- ", _jsx(_components.code, {
6712
+ children: "triggers"
6713
+ }), "/", _jsx(_components.code, {
6714
+ children: "uses"
6715
+ }), "/", _jsx(_components.code, {
6716
+ children: "approval"
6717
+ }), " wiring + system interface grants"]
6718
+ }), "\\n"]
6719
+ }), "\\n", _jsx(_components.h2, {
6720
+ children: "Related References"
6721
+ }), "\\n", _jsxs(_components.ul, {
6722
+ children: ["\\n", _jsx(_components.li, {
6723
+ children: _jsx(_components.code, {
6724
+ children: "/om read knowledge.platform-composition-patterns"
6725
+ })
6726
+ }), "\\n", _jsx(_components.li, {
6727
+ children: _jsx(_components.code, {
6728
+ children: "/om read knowledge.org-model-graph-contract"
6729
+ })
6730
+ }), "\\n"]
6731
+ })]
6732
+ });
6733
+ }
6734
+ function MDXContent(props = {}) {
6735
+ const {wrapper: MDXLayout} = props.components || ({});
6736
+ return MDXLayout ? _jsx(MDXLayout, {
6737
+ ...props,
6738
+ children: _jsx(_createMdxContent, {
6739
+ ...props
6740
+ })
6741
+ }) : _createMdxContent(props);
6742
+ }
6743
+ return {
6744
+ default: MDXContent
6745
+ };
6512
6746
  `)
6513
6747
  };
6514
6748
  function KnowledgeCard({ title, children }) {
@@ -9165,7 +9399,7 @@ function ClientDetail({ client, onNavigateToNode }) {
9165
9399
  title: client.name,
9166
9400
  kind: "Client",
9167
9401
  tone: "subtle",
9168
- copyCommand: getKnowledgeDomainFolderCommand("clients")
9402
+ copyCommand: getKnowledgeTreeFolderCommand(`item:clients:${client.id}`)
9169
9403
  }
9170
9404
  ),
9171
9405
  /* @__PURE__ */ jsxs(Group, { gap: "xs", wrap: "wrap", children: [