@proteos/sdk 0.51.1 → 0.53.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.
@@ -329,6 +329,88 @@ var EntityServiceImpl = class {
329
329
  }
330
330
  };
331
331
 
332
+ // src/meta/entity-extensions.ts
333
+ var ENTITY_EXTENSIONS_BASE_PATH = "/meta/v1/entity-extensions";
334
+ var EntityExtensionServiceImpl = class {
335
+ constructor(client) {
336
+ this.client = client;
337
+ }
338
+ client;
339
+ list(options = {}) {
340
+ return new PageIterator((opts) => this.listPage(opts), options);
341
+ }
342
+ async listPage(options = {}) {
343
+ return this.client.requestWithQuery(
344
+ "GET",
345
+ ENTITY_EXTENSIONS_BASE_PATH,
346
+ options
347
+ );
348
+ }
349
+ async get(key) {
350
+ return this.client.request("GET", `${ENTITY_EXTENSIONS_BASE_PATH}/${key}`);
351
+ }
352
+ async create(request) {
353
+ return this.client.request("POST", ENTITY_EXTENSIONS_BASE_PATH, request);
354
+ }
355
+ async upsert(key, request) {
356
+ return this.client.request("PUT", `${ENTITY_EXTENSIONS_BASE_PATH}/${key}`, {
357
+ ...request,
358
+ key
359
+ });
360
+ }
361
+ async update(key, request) {
362
+ return this.client.request(
363
+ "PATCH",
364
+ `${ENTITY_EXTENSIONS_BASE_PATH}/${key}`,
365
+ request
366
+ );
367
+ }
368
+ async delete(key) {
369
+ await this.client.request("DELETE", `${ENTITY_EXTENSIONS_BASE_PATH}/${key}`);
370
+ }
371
+ };
372
+
373
+ // src/meta/list-extensions.ts
374
+ var LIST_EXTENSIONS_BASE_PATH = "/meta/v1/list-extensions";
375
+ var ListExtensionServiceImpl = class {
376
+ constructor(client) {
377
+ this.client = client;
378
+ }
379
+ client;
380
+ list(options = {}) {
381
+ return new PageIterator((opts) => this.listPage(opts), options);
382
+ }
383
+ async listPage(options = {}) {
384
+ return this.client.requestWithQuery(
385
+ "GET",
386
+ LIST_EXTENSIONS_BASE_PATH,
387
+ options
388
+ );
389
+ }
390
+ async get(key) {
391
+ return this.client.request("GET", `${LIST_EXTENSIONS_BASE_PATH}/${key}`);
392
+ }
393
+ async create(request) {
394
+ return this.client.request("POST", LIST_EXTENSIONS_BASE_PATH, request);
395
+ }
396
+ async upsert(key, request) {
397
+ return this.client.request("PUT", `${LIST_EXTENSIONS_BASE_PATH}/${key}`, {
398
+ ...request,
399
+ key
400
+ });
401
+ }
402
+ async update(key, request) {
403
+ return this.client.request(
404
+ "PATCH",
405
+ `${LIST_EXTENSIONS_BASE_PATH}/${key}`,
406
+ request
407
+ );
408
+ }
409
+ async delete(key) {
410
+ await this.client.request("DELETE", `${LIST_EXTENSIONS_BASE_PATH}/${key}`);
411
+ }
412
+ };
413
+
332
414
  // src/meta/list-views.ts
333
415
  var LIST_VIEWS_BASE_PATH = "/meta/v1/list-views";
334
416
  var ListViewServiceImpl = class {
@@ -389,6 +471,58 @@ var ListServiceImpl = class {
389
471
  }
390
472
  };
391
473
 
474
+ // src/meta/menu-configuration-extensions.ts
475
+ var MENU_CONFIGURATION_EXTENSIONS_BASE_PATH = "/meta/v1/menu-configuration-extensions";
476
+ var MenuConfigurationExtensionServiceImpl = class {
477
+ constructor(client) {
478
+ this.client = client;
479
+ }
480
+ client;
481
+ list(options = {}) {
482
+ return new PageIterator((opts) => this.listPage(opts), options);
483
+ }
484
+ async listPage(options = {}) {
485
+ return this.client.requestWithQuery(
486
+ "GET",
487
+ MENU_CONFIGURATION_EXTENSIONS_BASE_PATH,
488
+ options
489
+ );
490
+ }
491
+ async get(key) {
492
+ return this.client.request(
493
+ "GET",
494
+ `${MENU_CONFIGURATION_EXTENSIONS_BASE_PATH}/${key}`
495
+ );
496
+ }
497
+ async create(request) {
498
+ return this.client.request(
499
+ "POST",
500
+ MENU_CONFIGURATION_EXTENSIONS_BASE_PATH,
501
+ request
502
+ );
503
+ }
504
+ async upsert(key, request) {
505
+ return this.client.request(
506
+ "PUT",
507
+ `${MENU_CONFIGURATION_EXTENSIONS_BASE_PATH}/${key}`,
508
+ {
509
+ ...request,
510
+ key
511
+ }
512
+ );
513
+ }
514
+ async update(key, request) {
515
+ return this.client.request(
516
+ "PATCH",
517
+ `${MENU_CONFIGURATION_EXTENSIONS_BASE_PATH}/${key}`,
518
+ request
519
+ );
520
+ }
521
+ async delete(key) {
522
+ await this.client.request("DELETE", `${MENU_CONFIGURATION_EXTENSIONS_BASE_PATH}/${key}`);
523
+ }
524
+ };
525
+
392
526
  // src/meta/menu-configurations.ts
393
527
  var MENU_CONFIGURATIONS_BASE_PATH = "/meta/v1/menu-configurations";
394
528
  var MenuConfigurationServiceImpl = class {
@@ -477,6 +611,47 @@ var ModuleServiceImpl = class {
477
611
  }
478
612
  };
479
613
 
614
+ // src/meta/page-extensions.ts
615
+ var PAGE_EXTENSIONS_BASE_PATH = "/meta/v1/page-extensions";
616
+ var PageExtensionServiceImpl = class {
617
+ constructor(client) {
618
+ this.client = client;
619
+ }
620
+ client;
621
+ list(options = {}) {
622
+ return new PageIterator((opts) => this.listPage(opts), options);
623
+ }
624
+ async listPage(options = {}) {
625
+ return this.client.requestWithQuery(
626
+ "GET",
627
+ PAGE_EXTENSIONS_BASE_PATH,
628
+ options
629
+ );
630
+ }
631
+ async get(key) {
632
+ return this.client.request("GET", `${PAGE_EXTENSIONS_BASE_PATH}/${key}`);
633
+ }
634
+ async create(request) {
635
+ return this.client.request("POST", PAGE_EXTENSIONS_BASE_PATH, request);
636
+ }
637
+ async upsert(key, request) {
638
+ return this.client.request("PUT", `${PAGE_EXTENSIONS_BASE_PATH}/${key}`, {
639
+ ...request,
640
+ key
641
+ });
642
+ }
643
+ async update(key, request) {
644
+ return this.client.request(
645
+ "PATCH",
646
+ `${PAGE_EXTENSIONS_BASE_PATH}/${key}`,
647
+ request
648
+ );
649
+ }
650
+ async delete(key) {
651
+ await this.client.request("DELETE", `${PAGE_EXTENSIONS_BASE_PATH}/${key}`);
652
+ }
653
+ };
654
+
480
655
  // src/meta/pages.ts
481
656
  var PAGES_BASE_PATH = "/meta/v1/pages";
482
657
  var PageServiceImpl = class {
@@ -682,7 +857,8 @@ var control_registry_default = {
682
857
  "knowledge-text",
683
858
  "file",
684
859
  "file-viewer",
685
- "record-filter"
860
+ "record-filter",
861
+ "contact-address"
686
862
  ],
687
863
  controls: {
688
864
  string: {
@@ -831,6 +1007,13 @@ var control_registry_default = {
831
1007
  "currency"
832
1008
  ]
833
1009
  },
1010
+ "contact-address": {
1011
+ primary: "contact-address",
1012
+ compatible: [
1013
+ "contact-address",
1014
+ "text"
1015
+ ]
1016
+ },
834
1017
  "knowledge-text": {
835
1018
  primary: "knowledge-text",
836
1019
  compatible: [
@@ -930,6 +1113,7 @@ var ResponsiveSizingSchema = z.object({
930
1113
  });
931
1114
  var commonPropsShape = {
932
1115
  id: z.string().optional(),
1116
+ extension_key: z.string().optional(),
933
1117
  visible_when: FilterGroupSchema.optional(),
934
1118
  read_only_when: FilterGroupSchema.optional(),
935
1119
  width: SizeValueSchema.optional(),
@@ -960,6 +1144,17 @@ var LayoutElementType = {
960
1144
  List: "list",
961
1145
  WorkflowTrigger: "workflow_trigger"
962
1146
  };
1147
+ var LayoutTabSchema = z.lazy(
1148
+ () => z.object({
1149
+ id: z.string().min(1),
1150
+ extension_key: z.string().optional(),
1151
+ label: z.string().min(1),
1152
+ icon: z.string().optional(),
1153
+ visible_when: FilterGroupSchema.optional(),
1154
+ default_when: FilterGroupSchema.optional(),
1155
+ content: LayoutElementSchema
1156
+ })
1157
+ );
963
1158
  var LayoutElementSchema = z.lazy(
964
1159
  () => z.discriminatedUnion("type", [
965
1160
  z.object({
@@ -1000,16 +1195,7 @@ var LayoutElementSchema = z.lazy(
1000
1195
  z.object({
1001
1196
  type: z.literal("tabs"),
1002
1197
  ...commonPropsShape,
1003
- tabs: z.array(
1004
- z.object({
1005
- id: z.string().min(1),
1006
- label: z.string().min(1),
1007
- icon: z.string().optional(),
1008
- visible_when: FilterGroupSchema.optional(),
1009
- default_when: FilterGroupSchema.optional(),
1010
- content: LayoutElementSchema
1011
- })
1012
- ),
1198
+ tabs: z.array(LayoutTabSchema),
1013
1199
  default_tab_id: z.string().optional()
1014
1200
  }),
1015
1201
  z.object({
@@ -1184,6 +1370,10 @@ var CurrencyAttributeMetaSchema = z.object({
1184
1370
  default_currency_code: z.string().optional(),
1185
1371
  allowed_currency_codes: z.array(z.string()).optional()
1186
1372
  });
1373
+ var ContactAddressAttributeMetaSchema = z.object({
1374
+ kind: z.enum(["email", "phone", "linkedin_public_identifier"]),
1375
+ description: z.string().optional()
1376
+ });
1187
1377
  z.object({
1188
1378
  description: z.string().optional()
1189
1379
  });
@@ -1265,6 +1455,7 @@ var AttributeSchema = z.object({
1265
1455
  is_nullable: z.boolean().optional(),
1266
1456
  is_unique: z.boolean(),
1267
1457
  is_read_only: z.boolean().optional(),
1458
+ extension_key: z.string().optional(),
1268
1459
  restrictions: AttributeRestrictionsSchema.optional(),
1269
1460
  default_value: z.unknown().optional(),
1270
1461
  meta: z.unknown().optional(),
@@ -1298,7 +1489,15 @@ function parseFileMeta(attr) {
1298
1489
  const parsed = FileAttributeMetaSchema.safeParse(attr.meta);
1299
1490
  return parsed.success ? parsed.data : {};
1300
1491
  }
1492
+ function parseContactAddressMeta(attr) {
1493
+ if (attr.type !== "contact-address") return null;
1494
+ const parsed = ContactAddressAttributeMetaSchema.safeParse(attr.meta);
1495
+ return parsed.success ? parsed.data : null;
1496
+ }
1301
1497
  var PublicAccessOperationSchema = z.enum(["read", "write", "delete"]);
1498
+ var EntityContactBindingSchema = z.object({
1499
+ duplicate_policy: z.enum(["reject", "flag"])
1500
+ });
1302
1501
  var EntitySchema = AuditFieldsSchema.extend({
1303
1502
  slug: z.string(),
1304
1503
  name: z.string(),
@@ -1307,6 +1506,7 @@ var EntitySchema = AuditFieldsSchema.extend({
1307
1506
  // Default keeps older API responses (pre-`public_record_access` rollout)
1308
1507
  // parsing cleanly.
1309
1508
  public_record_access: z.array(PublicAccessOperationSchema).default([]),
1509
+ contact_binding: EntityContactBindingSchema.optional(),
1310
1510
  module_slug: z.string(),
1311
1511
  // Default keeps older API responses (pre-`title_template` rollout) parsing
1312
1512
  // cleanly — the field is non-optional in the TS surface but tolerant on
@@ -1353,13 +1553,15 @@ var PageActionSchema = z.object({
1353
1553
  workflow: z.string().optional(),
1354
1554
  params: z.record(z.string()).optional(),
1355
1555
  inputs: z.record(z.string()).optional(),
1356
- skip_confirmation: z.boolean().optional()
1556
+ skip_confirmation: z.boolean().optional(),
1557
+ extension_key: z.string().optional()
1357
1558
  });
1358
1559
  var SelectionModeSchema = z.enum(["on_demand", "always", "off"]);
1359
1560
  var ColumnSchema = z.object({
1360
1561
  attribute: z.string(),
1361
1562
  label: z.string(),
1362
- width: z.number()
1563
+ width: z.number(),
1564
+ extension_key: z.string().optional()
1363
1565
  });
1364
1566
  var SortConfigSchema = z.object({
1365
1567
  attribute: z.string(),
@@ -1410,7 +1612,10 @@ var MenuItemSchema = z.lazy(
1410
1612
  type: z.enum(["link", "group", "entity", "page", "list"]),
1411
1613
  icon: z.string(),
1412
1614
  reference: z.string().optional(),
1413
- children: z.array(MenuItemSchema).nullable()
1615
+ children: z.array(MenuItemSchema).nullable(),
1616
+ extension_key: z.string().optional(),
1617
+ is_hidden: z.boolean().optional(),
1618
+ replaced_item: z.lazy(() => MenuItemSchema).optional()
1414
1619
  })
1415
1620
  );
1416
1621
  var MenuConfigurationSchema = AuditFieldsSchema.extend({
@@ -1421,6 +1626,71 @@ var MenuConfigurationSchema = AuditFieldsSchema.extend({
1421
1626
  items: z.array(MenuItemSchema),
1422
1627
  is_default: z.boolean()
1423
1628
  });
1629
+ var EntityExtensionSchema = AuditFieldsSchema.extend({
1630
+ key: z.string(),
1631
+ org_id: z.string(),
1632
+ name: z.string(),
1633
+ description: z.string(),
1634
+ entity_slug: z.string(),
1635
+ module_slug: z.string(),
1636
+ attributes: z.array(AttributeSchema)
1637
+ });
1638
+ var ExtensionPositionSchema = z.enum(["before", "after", "first", "last"]);
1639
+ var PAGE_EXTENSION_ANCHOR_MAIN = "layout.main";
1640
+ var PAGE_EXTENSION_ANCHOR_SIDE_PANEL = "layout.side_panel";
1641
+ var PageExtensionPlacementSchema = z.object({
1642
+ anchor_id: z.string().min(1),
1643
+ position: ExtensionPositionSchema,
1644
+ elements: z.array(LayoutElementSchema).optional(),
1645
+ tabs: z.array(LayoutTabSchema).optional()
1646
+ });
1647
+ var PageExtensionSchema = AuditFieldsSchema.extend({
1648
+ key: z.string(),
1649
+ org_id: z.string(),
1650
+ name: z.string(),
1651
+ description: z.string(),
1652
+ page_slug: z.string(),
1653
+ module_slug: z.string(),
1654
+ placements: z.array(PageExtensionPlacementSchema)
1655
+ });
1656
+ var MenuConfigurationExtensionPositionSchema = z.enum([
1657
+ "before",
1658
+ "after",
1659
+ "first",
1660
+ "last",
1661
+ "replace",
1662
+ "remove"
1663
+ ]);
1664
+ var MENU_CONFIGURATION_EXTENSION_ANCHOR_ITEMS = "menu.items";
1665
+ var MenuConfigurationExtensionPlacementSchema = z.object({
1666
+ anchor_id: z.string().min(1),
1667
+ position: MenuConfigurationExtensionPositionSchema,
1668
+ items: z.array(MenuItemSchema).optional()
1669
+ });
1670
+ var MenuConfigurationExtensionSchema = AuditFieldsSchema.extend({
1671
+ key: z.string(),
1672
+ org_id: z.string(),
1673
+ name: z.string(),
1674
+ description: z.string(),
1675
+ menu_slug: z.string(),
1676
+ module_slug: z.string(),
1677
+ placements: z.array(MenuConfigurationExtensionPlacementSchema)
1678
+ });
1679
+ var ListExtensionColumnPlacementSchema = z.object({
1680
+ anchor_attribute: z.string().optional(),
1681
+ position: ExtensionPositionSchema,
1682
+ columns: z.array(ColumnSchema).min(1)
1683
+ });
1684
+ var ListExtensionSchema = AuditFieldsSchema.extend({
1685
+ key: z.string(),
1686
+ org_id: z.string(),
1687
+ name: z.string(),
1688
+ description: z.string(),
1689
+ list_slug: z.string(),
1690
+ module_slug: z.string(),
1691
+ columns: z.array(ListExtensionColumnPlacementSchema),
1692
+ actions: z.array(PageActionSchema)
1693
+ });
1424
1694
  var AppHomeSchema = z.object({
1425
1695
  type: z.enum(["list", "page"]),
1426
1696
  reference: z.string()
@@ -1468,6 +1738,26 @@ var MetaClient = class {
1468
1738
  * Service for managing entity definitions.
1469
1739
  */
1470
1740
  entities;
1741
+ /**
1742
+ * Service for managing entity extensions — attributes contributed to a host
1743
+ * entity by a resource that does not own it.
1744
+ */
1745
+ entityExtensions;
1746
+ /**
1747
+ * Service for managing page extensions — anchored layout blocks contributed
1748
+ * to a host page by a resource that does not own it.
1749
+ */
1750
+ pageExtensions;
1751
+ /**
1752
+ * Service for managing list extensions — columns and toolbar actions
1753
+ * contributed to a host list by a resource that does not own it.
1754
+ */
1755
+ listExtensions;
1756
+ /**
1757
+ * Service for managing menu-configuration extensions — items contributed
1758
+ * to a host menu by another module or resource.
1759
+ */
1760
+ menuConfigurationExtensions;
1471
1761
  /**
1472
1762
  * Service for managing WebAssembly modules.
1473
1763
  */
@@ -1516,6 +1806,10 @@ var MetaClient = class {
1516
1806
  */
1517
1807
  constructor(client) {
1518
1808
  this.entities = new EntityServiceImpl(client);
1809
+ this.entityExtensions = new EntityExtensionServiceImpl(client);
1810
+ this.pageExtensions = new PageExtensionServiceImpl(client);
1811
+ this.listExtensions = new ListExtensionServiceImpl(client);
1812
+ this.menuConfigurationExtensions = new MenuConfigurationExtensionServiceImpl(client);
1519
1813
  this.modules = new ModuleServiceImpl(client);
1520
1814
  this.variables = new VariableServiceImpl(client);
1521
1815
  this.components = new ComponentServiceImpl(client);
@@ -1529,6 +1823,6 @@ var MetaClient = class {
1529
1823
  }
1530
1824
  };
1531
1825
 
1532
- export { AppConfigurationSchema, AppHomeSchema, AppSchema, AttributeSchema, AuditFieldsSchema, BUILT_IN_CONTROLS, CURRENT_USER_DEFAULT, ColumnSchema, ComponentSchema, CurrencyAttributeMetaSchema, DEFAULT_PAGE_SIZE, DONE, DesignReferenceSchema, EntitySchema, EntityWithSchemaSchema, FileAttributeMetaSchema, FileRefSchema, FilterElementSchema, FilterGroupSchema, LayoutElementSchema, LayoutElementType, ListSchema, ListViewSchema, MenuConfigurationSchema, MenuItemSchema, MenuItemType, MetaClient, ModuleSchema, OnDeleteActionSchema, PAGE_BACKGROUND_TOKENS, PLATFORM_ATTRIBUTE_NAMES, PLATFORM_USER_ID, PageActionSchema, PageIterator, PageLayoutSchema, PageLayoutSidePanelSchema, PageSchema, PageStyleSchema, PrincipalRefSchema, RelationAttributeMetaSchema, ResponseMetaSchema, SizeValueSchema, SortConfigSchema, UserAttributeMetaSchema, UserRefSchema, VariableSchema, acceptsCurrentUserDefault, allCurrencyCodes, createIterator, createListResultSchema, currencyLabel, currencySymbol, currencySymbolSide, formatAmount, formatMoney, isBuiltInControl, isCurrentUserDefault, isPlatformAttributeName, localeNumberSeparators, lookupCompatibleControls, lookupControls, lookupPrimaryControl, parseAmount, parseCurrencyMeta, parseFileMeta, parsePrincipalMeta, parseRelationMeta, parseUserMeta, platformAttributes };
1533
- //# sourceMappingURL=chunk-IRFFXJMB.js.map
1534
- //# sourceMappingURL=chunk-IRFFXJMB.js.map
1826
+ export { AppConfigurationSchema, AppHomeSchema, AppSchema, AttributeSchema, AuditFieldsSchema, BUILT_IN_CONTROLS, CURRENT_USER_DEFAULT, ColumnSchema, ComponentSchema, ContactAddressAttributeMetaSchema, CurrencyAttributeMetaSchema, DEFAULT_PAGE_SIZE, DONE, DesignReferenceSchema, EntityContactBindingSchema, EntityExtensionSchema, EntitySchema, EntityWithSchemaSchema, ExtensionPositionSchema, FileAttributeMetaSchema, FileRefSchema, FilterElementSchema, FilterGroupSchema, LayoutElementSchema, LayoutElementType, LayoutTabSchema, ListExtensionColumnPlacementSchema, ListExtensionSchema, ListSchema, ListViewSchema, MENU_CONFIGURATION_EXTENSION_ANCHOR_ITEMS, MenuConfigurationExtensionPlacementSchema, MenuConfigurationExtensionPositionSchema, MenuConfigurationExtensionSchema, MenuConfigurationSchema, MenuItemSchema, MenuItemType, MetaClient, ModuleSchema, OnDeleteActionSchema, PAGE_BACKGROUND_TOKENS, PAGE_EXTENSION_ANCHOR_MAIN, PAGE_EXTENSION_ANCHOR_SIDE_PANEL, PLATFORM_ATTRIBUTE_NAMES, PLATFORM_USER_ID, PageActionSchema, PageExtensionPlacementSchema, PageExtensionSchema, PageIterator, PageLayoutSchema, PageLayoutSidePanelSchema, PageSchema, PageStyleSchema, PrincipalRefSchema, RelationAttributeMetaSchema, ResponseMetaSchema, SizeValueSchema, SortConfigSchema, UserAttributeMetaSchema, UserRefSchema, VariableSchema, acceptsCurrentUserDefault, allCurrencyCodes, createIterator, createListResultSchema, currencyLabel, currencySymbol, currencySymbolSide, formatAmount, formatMoney, isBuiltInControl, isCurrentUserDefault, isPlatformAttributeName, localeNumberSeparators, lookupCompatibleControls, lookupControls, lookupPrimaryControl, parseAmount, parseContactAddressMeta, parseCurrencyMeta, parseFileMeta, parsePrincipalMeta, parseRelationMeta, parseUserMeta, platformAttributes };
1827
+ //# sourceMappingURL=chunk-HEUXXELG.js.map
1828
+ //# sourceMappingURL=chunk-HEUXXELG.js.map