@elevasis/sdk 1.11.0 → 1.12.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 (38) hide show
  1. package/dist/cli.cjs +31 -8
  2. package/dist/index.d.ts +345 -48
  3. package/dist/index.js +210 -8
  4. package/dist/test-utils/index.d.ts +216 -40
  5. package/dist/test-utils/index.js +4756 -125
  6. package/dist/types/worker/adapters/llm.d.ts +1 -1
  7. package/dist/worker/index.js +10 -4
  8. package/package.json +2 -2
  9. package/reference/claude-config/rules/agent-start-here.md +14 -14
  10. package/reference/claude-config/skills/configure/SKILL.md +3 -3
  11. package/reference/claude-config/skills/setup/SKILL.md +6 -6
  12. package/reference/claude-config/sync-notes/2026-04-25-auth-role-system-and-settings-roles.md +55 -0
  13. package/reference/claude-config/sync-notes/2026-04-27-crm-hitl-action-layer-cutover.md +101 -0
  14. package/reference/cli.mdx +57 -0
  15. package/reference/examples/organization-model.ts +3 -0
  16. package/reference/packages/core/src/organization-model/README.md +1 -0
  17. package/reference/scaffold/core/organization-graph.mdx +5 -2
  18. package/reference/scaffold/core/organization-model.mdx +6 -0
  19. package/reference/scaffold/index.mdx +3 -0
  20. package/reference/scaffold/operations/propagation-pipeline.md +4 -1
  21. package/reference/scaffold/operations/scaffold-maintenance.md +3 -0
  22. package/reference/scaffold/operations/workflow-recipes.md +13 -10
  23. package/reference/scaffold/recipes/add-a-feature.md +3 -0
  24. package/reference/scaffold/recipes/add-a-resource.md +3 -0
  25. package/reference/scaffold/recipes/customize-organization-model.md +3 -0
  26. package/reference/scaffold/recipes/extend-a-base-entity.md +11 -8
  27. package/reference/scaffold/recipes/gate-by-feature-or-admin.md +3 -0
  28. package/reference/scaffold/recipes/index.md +3 -0
  29. package/reference/scaffold/reference/contracts.md +62 -304
  30. package/reference/scaffold/reference/feature-registry.md +5 -2
  31. package/reference/scaffold/reference/glossary.md +3 -0
  32. package/reference/scaffold/ui/composition-extensibility.mdx +3 -0
  33. package/reference/scaffold/ui/customization.md +3 -0
  34. package/reference/scaffold/ui/feature-flags-and-gating.md +3 -0
  35. package/reference/scaffold/ui/feature-shell.mdx +3 -0
  36. package/reference/scaffold/ui/recipes.md +3 -0
  37. package/reference/claude-config/logs/pre-edit-vibe-gate.log +0 -40
  38. package/reference/claude-config/logs/scaffold-registry-reminder.log +0 -38
@@ -1289,7 +1289,6 @@ type Database = {
1289
1289
  acq_deals: {
1290
1290
  Row: {
1291
1291
  activity_log: Json;
1292
- cached_stage: string | null;
1293
1292
  closed_lost_at: string | null;
1294
1293
  closed_lost_reason: string | null;
1295
1294
  contact_email: string;
@@ -1304,6 +1303,7 @@ type Database = {
1304
1303
  organization_id: string;
1305
1304
  payment_link_sent_at: string | null;
1306
1305
  payment_received_at: string | null;
1306
+ pipeline_key: string;
1307
1307
  proposal_data: Json | null;
1308
1308
  proposal_generated_at: string | null;
1309
1309
  proposal_pdf_url: string | null;
@@ -1311,10 +1311,11 @@ type Database = {
1311
1311
  proposal_reviewed_by: string | null;
1312
1312
  proposal_sent_at: string | null;
1313
1313
  proposal_signed_at: string | null;
1314
- proposal_status: string | null;
1315
1314
  signature_envelope_id: string | null;
1316
1315
  source_list_id: string | null;
1317
1316
  source_type: string | null;
1317
+ stage_key: string | null;
1318
+ state_key: string | null;
1318
1319
  stripe_payment_id: string | null;
1319
1320
  stripe_payment_link: string | null;
1320
1321
  stripe_payment_link_id: string | null;
@@ -1323,7 +1324,6 @@ type Database = {
1323
1324
  };
1324
1325
  Insert: {
1325
1326
  activity_log?: Json;
1326
- cached_stage?: string | null;
1327
1327
  closed_lost_at?: string | null;
1328
1328
  closed_lost_reason?: string | null;
1329
1329
  contact_email: string;
@@ -1338,6 +1338,7 @@ type Database = {
1338
1338
  organization_id: string;
1339
1339
  payment_link_sent_at?: string | null;
1340
1340
  payment_received_at?: string | null;
1341
+ pipeline_key?: string;
1341
1342
  proposal_data?: Json | null;
1342
1343
  proposal_generated_at?: string | null;
1343
1344
  proposal_pdf_url?: string | null;
@@ -1345,10 +1346,11 @@ type Database = {
1345
1346
  proposal_reviewed_by?: string | null;
1346
1347
  proposal_sent_at?: string | null;
1347
1348
  proposal_signed_at?: string | null;
1348
- proposal_status?: string | null;
1349
1349
  signature_envelope_id?: string | null;
1350
1350
  source_list_id?: string | null;
1351
1351
  source_type?: string | null;
1352
+ stage_key?: string | null;
1353
+ state_key?: string | null;
1352
1354
  stripe_payment_id?: string | null;
1353
1355
  stripe_payment_link?: string | null;
1354
1356
  stripe_payment_link_id?: string | null;
@@ -1357,7 +1359,6 @@ type Database = {
1357
1359
  };
1358
1360
  Update: {
1359
1361
  activity_log?: Json;
1360
- cached_stage?: string | null;
1361
1362
  closed_lost_at?: string | null;
1362
1363
  closed_lost_reason?: string | null;
1363
1364
  contact_email?: string;
@@ -1372,6 +1373,7 @@ type Database = {
1372
1373
  organization_id?: string;
1373
1374
  payment_link_sent_at?: string | null;
1374
1375
  payment_received_at?: string | null;
1376
+ pipeline_key?: string;
1375
1377
  proposal_data?: Json | null;
1376
1378
  proposal_generated_at?: string | null;
1377
1379
  proposal_pdf_url?: string | null;
@@ -1379,10 +1381,11 @@ type Database = {
1379
1381
  proposal_reviewed_by?: string | null;
1380
1382
  proposal_sent_at?: string | null;
1381
1383
  proposal_signed_at?: string | null;
1382
- proposal_status?: string | null;
1383
1384
  signature_envelope_id?: string | null;
1384
1385
  source_list_id?: string | null;
1385
1386
  source_type?: string | null;
1387
+ stage_key?: string | null;
1388
+ state_key?: string | null;
1386
1389
  stripe_payment_id?: string | null;
1387
1390
  stripe_payment_link?: string | null;
1388
1391
  stripe_payment_link_id?: string | null;
@@ -2551,6 +2554,7 @@ type Database = {
2551
2554
  Row: {
2552
2555
  config: Json;
2553
2556
  created_at: string | null;
2557
+ effective_permissions: string[];
2554
2558
  id: string;
2555
2559
  membership_status: string | null;
2556
2560
  organization_id: string;
@@ -2562,6 +2566,7 @@ type Database = {
2562
2566
  Insert: {
2563
2567
  config?: Json;
2564
2568
  created_at?: string | null;
2569
+ effective_permissions?: string[];
2565
2570
  id?: string;
2566
2571
  membership_status?: string | null;
2567
2572
  organization_id: string;
@@ -2573,6 +2578,7 @@ type Database = {
2573
2578
  Update: {
2574
2579
  config?: Json;
2575
2580
  created_at?: string | null;
2581
+ effective_permissions?: string[];
2576
2582
  id?: string;
2577
2583
  membership_status?: string | null;
2578
2584
  organization_id?: string;
@@ -2598,6 +2604,147 @@ type Database = {
2598
2604
  }
2599
2605
  ];
2600
2606
  };
2607
+ org_rol_assignments: {
2608
+ Row: {
2609
+ granted_at: string;
2610
+ granted_by: string | null;
2611
+ membership_id: string;
2612
+ role_id: string;
2613
+ };
2614
+ Insert: {
2615
+ granted_at?: string;
2616
+ granted_by?: string | null;
2617
+ membership_id: string;
2618
+ role_id: string;
2619
+ };
2620
+ Update: {
2621
+ granted_at?: string;
2622
+ granted_by?: string | null;
2623
+ membership_id?: string;
2624
+ role_id?: string;
2625
+ };
2626
+ Relationships: [
2627
+ {
2628
+ foreignKeyName: "org_rol_assignments_granted_by_fkey";
2629
+ columns: ["granted_by"];
2630
+ isOneToOne: false;
2631
+ referencedRelation: "users";
2632
+ referencedColumns: ["id"];
2633
+ },
2634
+ {
2635
+ foreignKeyName: "org_rol_assignments_membership_id_fkey";
2636
+ columns: ["membership_id"];
2637
+ isOneToOne: false;
2638
+ referencedRelation: "org_memberships";
2639
+ referencedColumns: ["id"];
2640
+ },
2641
+ {
2642
+ foreignKeyName: "org_rol_assignments_role_id_fkey";
2643
+ columns: ["role_id"];
2644
+ isOneToOne: false;
2645
+ referencedRelation: "org_rol_definitions";
2646
+ referencedColumns: ["id"];
2647
+ }
2648
+ ];
2649
+ };
2650
+ org_rol_definitions: {
2651
+ Row: {
2652
+ created_at: string;
2653
+ description: string | null;
2654
+ id: string;
2655
+ is_system: boolean;
2656
+ name: string;
2657
+ organization_id: string | null;
2658
+ slug: string;
2659
+ updated_at: string;
2660
+ };
2661
+ Insert: {
2662
+ created_at?: string;
2663
+ description?: string | null;
2664
+ id?: string;
2665
+ is_system?: boolean;
2666
+ name: string;
2667
+ organization_id?: string | null;
2668
+ slug: string;
2669
+ updated_at?: string;
2670
+ };
2671
+ Update: {
2672
+ created_at?: string;
2673
+ description?: string | null;
2674
+ id?: string;
2675
+ is_system?: boolean;
2676
+ name?: string;
2677
+ organization_id?: string | null;
2678
+ slug?: string;
2679
+ updated_at?: string;
2680
+ };
2681
+ Relationships: [
2682
+ {
2683
+ foreignKeyName: "org_rol_definitions_organization_id_fkey";
2684
+ columns: ["organization_id"];
2685
+ isOneToOne: false;
2686
+ referencedRelation: "organizations";
2687
+ referencedColumns: ["id"];
2688
+ }
2689
+ ];
2690
+ };
2691
+ org_rol_grants: {
2692
+ Row: {
2693
+ granted_at: string;
2694
+ permission_key: string;
2695
+ role_id: string;
2696
+ };
2697
+ Insert: {
2698
+ granted_at?: string;
2699
+ permission_key: string;
2700
+ role_id: string;
2701
+ };
2702
+ Update: {
2703
+ granted_at?: string;
2704
+ permission_key?: string;
2705
+ role_id?: string;
2706
+ };
2707
+ Relationships: [
2708
+ {
2709
+ foreignKeyName: "org_rol_grants_permission_key_fkey";
2710
+ columns: ["permission_key"];
2711
+ isOneToOne: false;
2712
+ referencedRelation: "org_rol_permissions";
2713
+ referencedColumns: ["key"];
2714
+ },
2715
+ {
2716
+ foreignKeyName: "org_rol_grants_role_id_fkey";
2717
+ columns: ["role_id"];
2718
+ isOneToOne: false;
2719
+ referencedRelation: "org_rol_definitions";
2720
+ referencedColumns: ["id"];
2721
+ }
2722
+ ];
2723
+ };
2724
+ org_rol_permissions: {
2725
+ Row: {
2726
+ created_at: string;
2727
+ description: string;
2728
+ is_org_grantable: boolean;
2729
+ key: string;
2730
+ updated_at: string;
2731
+ };
2732
+ Insert: {
2733
+ created_at?: string;
2734
+ description: string;
2735
+ is_org_grantable?: boolean;
2736
+ key: string;
2737
+ updated_at?: string;
2738
+ };
2739
+ Update: {
2740
+ created_at?: string;
2741
+ description?: string;
2742
+ is_org_grantable?: boolean;
2743
+ key?: string;
2744
+ updated_at?: string;
2745
+ };
2746
+ Relationships: [];
2747
+ };
2601
2748
  organizations: {
2602
2749
  Row: {
2603
2750
  config: Json;
@@ -3355,7 +3502,8 @@ type Database = {
3355
3502
  created_at: string;
3356
3503
  description: string | null;
3357
3504
  id: string;
3358
- key: string;
3505
+ key_hash: string;
3506
+ key_prefix: string | null;
3359
3507
  last_triggered_at: string | null;
3360
3508
  name: string;
3361
3509
  organization_id: string;
@@ -3368,7 +3516,8 @@ type Database = {
3368
3516
  created_at?: string;
3369
3517
  description?: string | null;
3370
3518
  id?: string;
3371
- key: string;
3519
+ key_hash: string;
3520
+ key_prefix?: string | null;
3372
3521
  last_triggered_at?: string | null;
3373
3522
  name: string;
3374
3523
  organization_id: string;
@@ -3381,7 +3530,8 @@ type Database = {
3381
3530
  created_at?: string;
3382
3531
  description?: string | null;
3383
3532
  id?: string;
3384
- key?: string;
3533
+ key_hash?: string;
3534
+ key_prefix?: string | null;
3385
3535
  last_triggered_at?: string | null;
3386
3536
  name?: string;
3387
3537
  organization_id?: string;
@@ -3427,6 +3577,13 @@ type Database = {
3427
3577
  Args: never;
3428
3578
  Returns: string;
3429
3579
  };
3580
+ can_assign_role_in_org: {
3581
+ Args: {
3582
+ p_role_id: string;
3583
+ p_target_membership_id: string;
3584
+ };
3585
+ Returns: boolean;
3586
+ };
3430
3587
  current_user_is_platform_admin: {
3431
3588
  Args: never;
3432
3589
  Returns: boolean;
@@ -3456,6 +3613,10 @@ type Database = {
3456
3613
  user_id: string;
3457
3614
  }[];
3458
3615
  };
3616
+ get_platform_credential_kek: {
3617
+ Args: never;
3618
+ Returns: string;
3619
+ };
3459
3620
  get_storage_org_id: {
3460
3621
  Args: {
3461
3622
  file_path: string;
@@ -3466,9 +3627,10 @@ type Database = {
3466
3627
  Args: never;
3467
3628
  Returns: string;
3468
3629
  };
3469
- is_org_admin: {
3630
+ has_org_permission: {
3470
3631
  Args: {
3471
3632
  org_id: string;
3633
+ perm_key: string;
3472
3634
  };
3473
3635
  Returns: boolean;
3474
3636
  };
@@ -3498,6 +3660,22 @@ type Database = {
3498
3660
  Args: never;
3499
3661
  Returns: Json;
3500
3662
  };
3663
+ recompute_all_memberships: {
3664
+ Args: never;
3665
+ Returns: undefined;
3666
+ };
3667
+ sync_all_memberships_with_role: {
3668
+ Args: {
3669
+ p_role_id: string;
3670
+ };
3671
+ Returns: undefined;
3672
+ };
3673
+ sync_one_membership: {
3674
+ Args: {
3675
+ p_membership_id: string;
3676
+ };
3677
+ Returns: undefined;
3678
+ };
3501
3679
  upsert_user_profile: {
3502
3680
  Args: never;
3503
3681
  Returns: {
@@ -3957,7 +4135,6 @@ interface UpdateProposalDataParams {
3957
4135
  contactEmail: string;
3958
4136
  proposalData: unknown;
3959
4137
  proposalPdfUrl?: string;
3960
- proposalStatus?: string;
3961
4138
  }
3962
4139
  interface MarkProposalSentParams {
3963
4140
  organizationId: string;
@@ -3981,10 +4158,14 @@ interface UpdateFeesParams {
3981
4158
  initialFee?: number;
3982
4159
  monthlyFee?: number;
3983
4160
  }
3984
- interface SyncDealStageParams {
4161
+ interface TransitionItemParams {
3985
4162
  organizationId: string;
3986
4163
  dealId: string;
3987
- stage: string;
4164
+ pipelineKey: string;
4165
+ stageKey: string;
4166
+ stateKey?: string | null;
4167
+ reason?: string;
4168
+ expectedUpdatedAt?: string;
3988
4169
  }
3989
4170
  interface SetContactNurtureParams {
3990
4171
  organizationId: string;
@@ -4003,7 +4184,7 @@ interface ClearDealFieldsParams {
4003
4184
  organizationId: string;
4004
4185
  contactEmail?: string;
4005
4186
  dealId?: string;
4006
- fields: ('proposalPdfUrl' | 'proposalStatus' | 'proposalGeneratedAt' | 'initialFee' | 'monthlyFee' | 'closedLostReason' | 'closedLostAt' | 'discoveryData' | 'discoverySubmittedAt')[];
4187
+ fields: ('proposalPdfUrl' | 'proposalGeneratedAt' | 'initialFee' | 'monthlyFee' | 'closedLostReason' | 'closedLostAt' | 'discoveryData' | 'discoverySubmittedAt')[];
4007
4188
  }
4008
4189
  interface DeleteDealParams {
4009
4190
  organizationId: string;
@@ -4049,10 +4230,11 @@ interface AcqDeal {
4049
4230
  id: string;
4050
4231
  organizationId: string;
4051
4232
  contactEmail: string;
4052
- cachedStage?: string | null;
4233
+ pipelineKey: string;
4234
+ stageKey?: string | null;
4235
+ stateKey?: string | null;
4053
4236
  discoveryData?: Json | null;
4054
4237
  proposalData?: Json | null;
4055
- proposalStatus?: string | null;
4056
4238
  proposalSentAt?: string | null;
4057
4239
  proposalPdfUrl?: string | null;
4058
4240
  signatureEnvelopeId?: string | null;
@@ -4130,7 +4312,7 @@ interface DealStageSummary {
4130
4312
  interface StaleDeal {
4131
4313
  id: string;
4132
4314
  contactEmail: string;
4133
- cachedStage: string;
4315
+ stageKey: string;
4134
4316
  updatedAt: string;
4135
4317
  daysStale: number;
4136
4318
  }
@@ -4378,15 +4560,12 @@ declare const DealSchemas: {
4378
4560
  dueAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
4379
4561
  assigneeUserId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
4380
4562
  }, z.core.$strict>;
4381
- SyncDealStageRequest: z.ZodObject<{
4382
- stage: z.ZodEnum<{
4383
- nurturing: "nurturing";
4384
- closed_won: "closed_won";
4385
- closed_lost: "closed_lost";
4386
- interested: "interested";
4387
- proposal: "proposal";
4388
- closing: "closing";
4389
- }>;
4563
+ TransitionItemRequest: z.ZodObject<{
4564
+ pipelineKey: z.ZodString;
4565
+ stageKey: z.ZodString;
4566
+ stateKey: z.ZodOptional<z.ZodNullable<z.ZodString>>;
4567
+ reason: z.ZodOptional<z.ZodString>;
4568
+ expectedUpdatedAt: z.ZodOptional<z.ZodString>;
4390
4569
  }, z.core.$strict>;
4391
4570
  DealListResponse: z.ZodObject<{
4392
4571
  data: z.ZodArray<z.ZodObject<{
@@ -4394,13 +4573,14 @@ declare const DealSchemas: {
4394
4573
  organization_id: z.ZodString;
4395
4574
  contact_id: z.ZodNullable<z.ZodString>;
4396
4575
  contact_email: z.ZodString;
4397
- cached_stage: z.ZodNullable<z.ZodString>;
4576
+ pipeline_key: z.ZodString;
4577
+ stage_key: z.ZodNullable<z.ZodString>;
4578
+ state_key: z.ZodNullable<z.ZodString>;
4398
4579
  activity_log: z.ZodUnknown;
4399
4580
  discovery_data: z.ZodNullable<z.ZodUnknown>;
4400
4581
  discovery_submitted_at: z.ZodNullable<z.ZodString>;
4401
4582
  discovery_submitted_by: z.ZodNullable<z.ZodString>;
4402
4583
  proposal_data: z.ZodNullable<z.ZodUnknown>;
4403
- proposal_status: z.ZodNullable<z.ZodString>;
4404
4584
  proposal_sent_at: z.ZodNullable<z.ZodString>;
4405
4585
  proposal_pdf_url: z.ZodNullable<z.ZodString>;
4406
4586
  signature_envelope_id: z.ZodNullable<z.ZodString>;
@@ -4455,7 +4635,7 @@ declare const DealSchemas: {
4455
4635
  staleDeals: z.ZodArray<z.ZodObject<{
4456
4636
  id: z.ZodString;
4457
4637
  contactEmail: z.ZodString;
4458
- cachedStage: z.ZodString;
4638
+ stageKey: z.ZodString;
4459
4639
  updatedAt: z.ZodString;
4460
4640
  daysStale: z.ZodNumber;
4461
4641
  }, z.core.$strip>>;
@@ -4463,7 +4643,7 @@ declare const DealSchemas: {
4463
4643
  DealLookupResponse: z.ZodArray<z.ZodObject<{
4464
4644
  id: z.ZodString;
4465
4645
  contactEmail: z.ZodString;
4466
- cachedStage: z.ZodNullable<z.ZodString>;
4646
+ stageKey: z.ZodNullable<z.ZodString>;
4467
4647
  updatedAt: z.ZodString;
4468
4648
  contactName: z.ZodNullable<z.ZodString>;
4469
4649
  companyName: z.ZodNullable<z.ZodString>;
@@ -4474,13 +4654,14 @@ declare const DealSchemas: {
4474
4654
  organization_id: z.ZodString;
4475
4655
  contact_id: z.ZodNullable<z.ZodString>;
4476
4656
  contact_email: z.ZodString;
4477
- cached_stage: z.ZodNullable<z.ZodString>;
4657
+ pipeline_key: z.ZodString;
4658
+ stage_key: z.ZodNullable<z.ZodString>;
4659
+ state_key: z.ZodNullable<z.ZodString>;
4478
4660
  activity_log: z.ZodUnknown;
4479
4661
  discovery_data: z.ZodNullable<z.ZodUnknown>;
4480
4662
  discovery_submitted_at: z.ZodNullable<z.ZodString>;
4481
4663
  discovery_submitted_by: z.ZodNullable<z.ZodString>;
4482
4664
  proposal_data: z.ZodNullable<z.ZodUnknown>;
4483
- proposal_status: z.ZodNullable<z.ZodString>;
4484
4665
  proposal_sent_at: z.ZodNullable<z.ZodString>;
4485
4666
  proposal_pdf_url: z.ZodNullable<z.ZodString>;
4486
4667
  signature_envelope_id: z.ZodNullable<z.ZodString>;
@@ -6769,7 +6950,6 @@ type ProjectsToolMap = {
6769
6950
  type CrmRecentActivityParams = Partial<z.infer<typeof CrmSchemas.GetRecentActivityQuery>>;
6770
6951
  type CrmListDealsParams = Partial<z.infer<typeof DealSchemas.ListDealsQuery>>;
6771
6952
  type CrmGetDealParams = z.infer<typeof DealSchemas.DealIdParams>;
6772
- type CrmUpdateDealStageParams = z.infer<typeof DealSchemas.DealIdParams> & z.infer<typeof DealSchemas.SyncDealStageRequest>;
6773
6953
  type CrmGetDealByEmailParams = {
6774
6954
  email: string;
6775
6955
  };
@@ -6795,10 +6975,6 @@ type CrmToolMap = {
6795
6975
  params: CrmGetDealByEmailParams;
6796
6976
  result: DealDetail | null;
6797
6977
  };
6798
- updateDealStage: {
6799
- params: CrmUpdateDealStageParams;
6800
- result: void;
6801
- };
6802
6978
  createDealNote: {
6803
6979
  params: CrmDealNoteParams;
6804
6980
  result: AcqDealNote;
@@ -7275,8 +7451,8 @@ type LeadToolMap = {
7275
7451
  params: Omit<UpdateFeesParams, 'organizationId'>;
7276
7452
  result: void;
7277
7453
  };
7278
- syncDealStage: {
7279
- params: Omit<SyncDealStageParams, 'organizationId'>;
7454
+ transitionItem: {
7455
+ params: Omit<TransitionItemParams, 'organizationId'>;
7280
7456
  result: void;
7281
7457
  };
7282
7458
  setContactNurture: {
@@ -8116,7 +8292,7 @@ interface DeploymentSpec {
8116
8292
  * Typed wrapper over platform.call() for LLM generation.
8117
8293
  * Singleton export -- no credential needed (platform tool).
8118
8294
  *
8119
- * Types are shared with the server-side LLM engine via @repo/core/execution.
8295
+ * Types are shared with the server-side LLM engine and inlined for SDK consumers.
8120
8296
  */
8121
8297
 
8122
8298
  type LLMProvider = 'openai' | 'anthropic' | 'openrouter' | 'google';