@campfire-interactive/master-data-client 5.11.0 → 5.13.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 (43) hide show
  1. package/dist/attributeDefinitions.d.ts +16 -1
  2. package/dist/attributeDefinitions.d.ts.map +1 -1
  3. package/dist/attributeDefinitions.js +40 -9
  4. package/dist/attributeDefinitions.js.map +1 -1
  5. package/dist/attributeGroups.d.ts +7 -2
  6. package/dist/attributeGroups.d.ts.map +1 -1
  7. package/dist/attributeGroups.js +11 -7
  8. package/dist/attributeGroups.js.map +1 -1
  9. package/dist/attributeOptions.d.ts +4 -1
  10. package/dist/attributeOptions.d.ts.map +1 -1
  11. package/dist/attributeOptions.js +12 -7
  12. package/dist/attributeOptions.js.map +1 -1
  13. package/dist/attributeValues.d.ts +62 -0
  14. package/dist/attributeValues.d.ts.map +1 -0
  15. package/dist/attributeValues.js +114 -0
  16. package/dist/attributeValues.js.map +1 -0
  17. package/dist/client.d.ts +14 -0
  18. package/dist/client.d.ts.map +1 -1
  19. package/dist/client.js +16 -0
  20. package/dist/client.js.map +1 -1
  21. package/dist/index.d.ts +2 -1
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +6 -2
  24. package/dist/index.js.map +1 -1
  25. package/dist/rateCatalog.d.ts +13 -0
  26. package/dist/rateCatalog.d.ts.map +1 -1
  27. package/dist/rateCatalog.js +16 -0
  28. package/dist/rateCatalog.js.map +1 -1
  29. package/dist/rates.d.ts +10 -2
  30. package/dist/rates.d.ts.map +1 -1
  31. package/dist/rates.js +12 -1
  32. package/dist/rates.js.map +1 -1
  33. package/dist/scopeGate.d.ts +103 -0
  34. package/dist/scopeGate.d.ts.map +1 -0
  35. package/dist/scopeGate.js +155 -0
  36. package/dist/scopeGate.js.map +1 -0
  37. package/dist/standardAttributes.d.ts +5 -0
  38. package/dist/standardAttributes.d.ts.map +1 -1
  39. package/dist/standardAttributes.js +5 -0
  40. package/dist/standardAttributes.js.map +1 -1
  41. package/dist/types.d.ts +110 -3
  42. package/dist/types.d.ts.map +1 -1
  43. package/package.json +31 -31
@@ -2,7 +2,10 @@ import { HttpTransport } from './http';
2
2
  import type { AttributeDefinition, CreateAttributeDefinitionInput, UpdateAttributeDefinitionInput, ListAttributeDefinitionsOptions, SingleResponse, ListResponse, CreateResponse, BulkArchiveResult } from './types';
3
3
  export declare class AttributeDefinitionResource {
4
4
  private readonly http;
5
- constructor(http: HttpTransport);
5
+ private readonly basePath;
6
+ /** `basePath` lets the Default Attribute Registry reuse this resource
7
+ * unchanged (`/v1/default-attributes/definitions`); see `client.defaultAttributes`. */
8
+ constructor(http: HttpTransport, basePath?: string);
6
9
  list(options: ListAttributeDefinitionsOptions): Promise<ListResponse<AttributeDefinition>>;
7
10
  /** Read one definition.
8
11
  *
@@ -14,6 +17,7 @@ export declare class AttributeDefinitionResource {
14
17
  * query string is byte-identical. */
15
18
  get(id: string, options?: {
16
19
  includeOptions?: boolean;
20
+ includeDefaults?: boolean;
17
21
  }): Promise<SingleResponse<AttributeDefinition>>;
18
22
  create(input: CreateAttributeDefinitionInput, idempotencyKey?: string): Promise<CreateResponse<AttributeDefinition>>;
19
23
  update(id: string, input: UpdateAttributeDefinitionInput, idempotencyKey?: string): Promise<SingleResponse<AttributeDefinition>>;
@@ -21,5 +25,16 @@ export declare class AttributeDefinitionResource {
21
25
  archive(id: string): Promise<void>;
22
26
  restore(id: string): Promise<void>;
23
27
  batchArchive(ids: string[]): Promise<SingleResponse<BulkArchiveResult>>;
28
+ /** Switch one STANDARD attribute (a default definition) on or off for the
29
+ * calling tenant. Tenant owner/admin. Not available on
30
+ * `defaultAttributes.definitions`, where it has no meaning. */
31
+ setEnabled(id: string, enabled: boolean): Promise<SingleResponse<AttributeDefinition>>;
32
+ /** The calling tenant's settings for one STANDARD attribute: its switch and
33
+ * its own label (null or '' goes back to Campfire's). The key never
34
+ * changes. Tenant owner/admin. */
35
+ setSettings(id: string, settings: {
36
+ enabled?: boolean;
37
+ label?: string | null;
38
+ }): Promise<SingleResponse<AttributeDefinition>>;
24
39
  }
25
40
  //# sourceMappingURL=attributeDefinitions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"attributeDefinitions.d.ts","sourceRoot":"","sources":["../src/attributeDefinitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,KAAK,EACV,mBAAmB,EACnB,8BAA8B,EAC9B,8BAA8B,EAC9B,+BAA+B,EAC/B,cAAc,EACd,YAAY,EACZ,cAAc,EACd,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAQjB,qBAAa,2BAA2B;IAC1B,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,aAAa;IAE1C,IAAI,CAAC,OAAO,EAAE,+BAA+B,GAAG,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;IAqBhG;;;;;;;0CAOsC;IAChC,GAAG,CACP,EAAE,EAAE,MAAM,EACV,OAAO,GAAE;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAO,GACzC,OAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;IAUzC,MAAM,CACV,KAAK,EAAE,8BAA8B,EACrC,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;IASzC,MAAM,CACV,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,8BAA8B,EACrC,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;IAS/C,mFAAmF;IAC7E,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOlC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOlC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;CAO9E"}
1
+ {"version":3,"file":"attributeDefinitions.d.ts","sourceRoot":"","sources":["../src/attributeDefinitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,KAAK,EACV,mBAAmB,EACnB,8BAA8B,EAC9B,8BAA8B,EAC9B,+BAA+B,EAC/B,cAAc,EACd,YAAY,EACZ,cAAc,EACd,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAQjB,qBAAa,2BAA2B;IAIpC,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAJ3B;4FACwF;gBAErE,IAAI,EAAE,aAAa,EACnB,QAAQ,GAAE,MAAoC;IAG3D,IAAI,CAAC,OAAO,EAAE,+BAA+B,GAAG,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;IAuBhG;;;;;;;0CAOsC;IAChC,GAAG,CACP,EAAE,EAAE,MAAM,EACV,OAAO,GAAE;QAAE,cAAc,CAAC,EAAE,OAAO,CAAC;QAAC,eAAe,CAAC,EAAE,OAAO,CAAA;KAAO,GACpE,OAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;IAczC,MAAM,CACV,KAAK,EAAE,8BAA8B,EACrC,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;IASzC,MAAM,CACV,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,8BAA8B,EACrC,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;IAS/C,mFAAmF;IAC7E,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOlC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOlC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;IAQ7E;;oEAEgE;IAC1D,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;IAQ5F;;uCAEmC;IAC7B,WAAW,CACf,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GACrD,OAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;CAOhD"}
@@ -9,13 +9,17 @@ exports.AttributeDefinitionResource = void 0;
9
9
  // keeps its own /v1/part-attributes facade.
10
10
  class AttributeDefinitionResource {
11
11
  http;
12
- constructor(http) {
12
+ basePath;
13
+ /** `basePath` lets the Default Attribute Registry reuse this resource
14
+ * unchanged (`/v1/default-attributes/definitions`); see `client.defaultAttributes`. */
15
+ constructor(http, basePath = '/v1/attribute-definitions') {
13
16
  this.http = http;
17
+ this.basePath = basePath;
14
18
  }
15
19
  async list(options) {
16
20
  return this.http.request({
17
21
  method: 'GET',
18
- path: '/v1/attribute-definitions',
22
+ path: this.basePath,
19
23
  query: {
20
24
  entityType: options.entityType,
21
25
  activeOnly: options.activeOnly ? 'true' : undefined,
@@ -29,6 +33,8 @@ class AttributeDefinitionResource {
29
33
  // with a large hierarchy makes this list large enough to fail. A caller
30
34
  // that only renders definition metadata should pass false.
31
35
  includeOptions: options.includeOptions === false ? 'false' : undefined,
36
+ // Opt-in, so every existing caller's query string is unchanged.
37
+ includeDefaults: options.includeDefaults ? 'true' : undefined,
32
38
  },
33
39
  });
34
40
  }
@@ -41,17 +47,22 @@ class AttributeDefinitionResource {
41
47
  * gateway 500. Sent only when explicitly false, so an existing caller's
42
48
  * query string is byte-identical. */
43
49
  async get(id, options = {}) {
44
- const query = options.includeOptions === false ? { includeOptions: 'false' } : undefined;
50
+ // `includeDefaults` lets a tenant read a standard attribute by id.
51
+ const params = {
52
+ ...(options.includeOptions === false ? { includeOptions: 'false' } : {}),
53
+ ...(options.includeDefaults ? { includeDefaults: 'true' } : {}),
54
+ };
55
+ const query = Object.keys(params).length > 0 ? params : undefined;
45
56
  return this.http.request({
46
57
  method: 'GET',
47
- path: `/v1/attribute-definitions/${encodeURIComponent(id)}`,
58
+ path: `${this.basePath}/${encodeURIComponent(id)}`,
48
59
  ...(query ? { query } : {}),
49
60
  });
50
61
  }
51
62
  async create(input, idempotencyKey) {
52
63
  return this.http.request({
53
64
  method: 'POST',
54
- path: '/v1/attribute-definitions',
65
+ path: this.basePath,
55
66
  body: input,
56
67
  idempotencyKey,
57
68
  });
@@ -59,7 +70,7 @@ class AttributeDefinitionResource {
59
70
  async update(id, input, idempotencyKey) {
60
71
  return this.http.request({
61
72
  method: 'PUT',
62
- path: `/v1/attribute-definitions/${encodeURIComponent(id)}`,
73
+ path: `${this.basePath}/${encodeURIComponent(id)}`,
63
74
  body: input,
64
75
  idempotencyKey,
65
76
  });
@@ -68,22 +79,42 @@ class AttributeDefinitionResource {
68
79
  async archive(id) {
69
80
  await this.http.request({
70
81
  method: 'DELETE',
71
- path: `/v1/attribute-definitions/${encodeURIComponent(id)}`,
82
+ path: `${this.basePath}/${encodeURIComponent(id)}`,
72
83
  });
73
84
  }
74
85
  async restore(id) {
75
86
  await this.http.request({
76
87
  method: 'POST',
77
- path: `/v1/attribute-definitions/${encodeURIComponent(id)}/restore`,
88
+ path: `${this.basePath}/${encodeURIComponent(id)}/restore`,
78
89
  });
79
90
  }
80
91
  async batchArchive(ids) {
81
92
  return this.http.request({
82
93
  method: 'POST',
83
- path: '/v1/attribute-definitions/batch-archive',
94
+ path: `${this.basePath}/batch-archive`,
84
95
  body: { ids },
85
96
  });
86
97
  }
98
+ /** Switch one STANDARD attribute (a default definition) on or off for the
99
+ * calling tenant. Tenant owner/admin. Not available on
100
+ * `defaultAttributes.definitions`, where it has no meaning. */
101
+ async setEnabled(id, enabled) {
102
+ return this.http.request({
103
+ method: 'PUT',
104
+ path: `${this.basePath}/${encodeURIComponent(id)}/enabled`,
105
+ body: { enabled },
106
+ });
107
+ }
108
+ /** The calling tenant's settings for one STANDARD attribute: its switch and
109
+ * its own label (null or '' goes back to Campfire's). The key never
110
+ * changes. Tenant owner/admin. */
111
+ async setSettings(id, settings) {
112
+ return this.http.request({
113
+ method: 'PUT',
114
+ path: `${this.basePath}/${encodeURIComponent(id)}/settings`,
115
+ body: settings,
116
+ });
117
+ }
87
118
  }
88
119
  exports.AttributeDefinitionResource = AttributeDefinitionResource;
89
120
  //# sourceMappingURL=attributeDefinitions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"attributeDefinitions.js","sourceRoot":"","sources":["../src/attributeDefinitions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attributeDefinitions.js","sourceRoot":"","sources":["../src/attributeDefinitions.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,13 @@ import { HttpTransport } from './http';
2
2
  import type { AttributeGroup, CreateAttributeGroupInput, UpdateAttributeGroupInput, DeleteAttributeGroupOptions, SingleResponse, ListResponse, CreateResponse } from './types';
3
3
  export declare class AttributeGroupResource {
4
4
  private readonly http;
5
- constructor(http: HttpTransport);
6
- list(entityType: string): Promise<ListResponse<AttributeGroup>>;
5
+ private readonly basePath;
6
+ /** `basePath` lets the Default Attribute Registry reuse this resource. */
7
+ constructor(http: HttpTransport, basePath?: string);
8
+ /** `includeDefaults` adds the standard attributes' groups to a tenant's own. */
9
+ list(entityType: string, options?: {
10
+ includeDefaults?: boolean;
11
+ }): Promise<ListResponse<AttributeGroup>>;
7
12
  create(input: CreateAttributeGroupInput, idempotencyKey?: string): Promise<CreateResponse<AttributeGroup>>;
8
13
  update(id: string, input: UpdateAttributeGroupInput, idempotencyKey?: string): Promise<SingleResponse<AttributeGroup>>;
9
14
  /** Delete a group, disposing of its definitions (reassignTo another group, or
@@ -1 +1 @@
1
- {"version":3,"file":"attributeGroups.d.ts","sourceRoot":"","sources":["../src/attributeGroups.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,KAAK,EACV,cAAc,EACd,yBAAyB,EACzB,yBAAyB,EACzB,2BAA2B,EAC3B,cAAc,EACd,YAAY,EACZ,cAAc,EACf,MAAM,SAAS,CAAC;AAMjB,qBAAa,sBAAsB;IACrB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,aAAa;IAE1C,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IAQ/D,MAAM,CACV,KAAK,EAAE,yBAAyB,EAChC,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IASpC,MAAM,CACV,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,yBAAyB,EAChC,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IAS1C;;iDAE6C;IACvC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,GAAE,2BAAgC,GAAG,OAAO,CAAC,IAAI,CAAC;CAUvF"}
1
+ {"version":3,"file":"attributeGroups.d.ts","sourceRoot":"","sources":["../src/attributeGroups.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,KAAK,EACV,cAAc,EACd,yBAAyB,EACzB,yBAAyB,EACzB,2BAA2B,EAC3B,cAAc,EACd,YAAY,EACZ,cAAc,EACf,MAAM,SAAS,CAAC;AAMjB,qBAAa,sBAAsB;IAG/B,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAH3B,0EAA0E;gBAEvD,IAAI,EAAE,aAAa,EACnB,QAAQ,GAAE,MAA+B;IAG5D,gFAAgF;IAC1E,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IAQ5G,MAAM,CACV,KAAK,EAAE,yBAAyB,EAChC,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IASpC,MAAM,CACV,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,yBAAyB,EAChC,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IAS1C;;iDAE6C;IACvC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,GAAE,2BAAgC,GAAG,OAAO,CAAC,IAAI,CAAC;CAUvF"}
@@ -7,20 +7,24 @@ exports.AttributeGroupResource = void 0;
7
7
  // reassign to another group or archive them — never a silent drop.
8
8
  class AttributeGroupResource {
9
9
  http;
10
- constructor(http) {
10
+ basePath;
11
+ /** `basePath` lets the Default Attribute Registry reuse this resource. */
12
+ constructor(http, basePath = '/v1/attribute-groups') {
11
13
  this.http = http;
14
+ this.basePath = basePath;
12
15
  }
13
- async list(entityType) {
16
+ /** `includeDefaults` adds the standard attributes' groups to a tenant's own. */
17
+ async list(entityType, options = {}) {
14
18
  return this.http.request({
15
19
  method: 'GET',
16
- path: '/v1/attribute-groups',
17
- query: { entityType },
20
+ path: this.basePath,
21
+ query: { entityType, ...(options.includeDefaults ? { includeDefaults: 'true' } : {}) },
18
22
  });
19
23
  }
20
24
  async create(input, idempotencyKey) {
21
25
  return this.http.request({
22
26
  method: 'POST',
23
- path: '/v1/attribute-groups',
27
+ path: this.basePath,
24
28
  body: input,
25
29
  idempotencyKey,
26
30
  });
@@ -28,7 +32,7 @@ class AttributeGroupResource {
28
32
  async update(id, input, idempotencyKey) {
29
33
  return this.http.request({
30
34
  method: 'PUT',
31
- path: `/v1/attribute-groups/${encodeURIComponent(id)}`,
35
+ path: `${this.basePath}/${encodeURIComponent(id)}`,
32
36
  body: input,
33
37
  idempotencyKey,
34
38
  });
@@ -39,7 +43,7 @@ class AttributeGroupResource {
39
43
  async delete(id, disposition = {}) {
40
44
  await this.http.request({
41
45
  method: 'DELETE',
42
- path: `/v1/attribute-groups/${encodeURIComponent(id)}`,
46
+ path: `${this.basePath}/${encodeURIComponent(id)}`,
43
47
  query: {
44
48
  reassignTo: disposition.reassignTo,
45
49
  archive: disposition.archive ? 'true' : undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"attributeGroups.js","sourceRoot":"","sources":["../src/attributeGroups.ts"],"names":[],"mappings":";;;AAWA,gFAAgF;AAChF,iFAAiF;AACjF,+EAA+E;AAC/E,mEAAmE;AACnE,MAAa,sBAAsB;IACJ;IAA7B,YAA6B,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;IAAG,CAAC;IAEpD,KAAK,CAAC,IAAI,CAAC,UAAkB;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAA+B;YACrD,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,sBAAsB;YAC5B,KAAK,EAAE,EAAE,UAAU,EAAE;SACtB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CACV,KAAgC,EAChC,cAAuB;QAEvB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAiC;YACvD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,sBAAsB;YAC5B,IAAI,EAAE,KAAK;YACX,cAAc;SACf,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CACV,EAAU,EACV,KAAgC,EAChC,cAAuB;QAEvB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAiC;YACvD,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,wBAAwB,kBAAkB,CAAC,EAAE,CAAC,EAAE;YACtD,IAAI,EAAE,KAAK;YACX,cAAc;SACf,CAAC,CAAC;IACL,CAAC;IAED;;iDAE6C;IAC7C,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,cAA2C,EAAE;QACpE,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAY;YACjC,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,wBAAwB,kBAAkB,CAAC,EAAE,CAAC,EAAE;YACtD,KAAK,EAAE;gBACL,UAAU,EAAE,WAAW,CAAC,UAAU;gBAClC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;aAClD;SACF,CAAC,CAAC;IACL,CAAC;CACF;AAjDD,wDAiDC"}
1
+ {"version":3,"file":"attributeGroups.js","sourceRoot":"","sources":["../src/attributeGroups.ts"],"names":[],"mappings":";;;AAWA,gFAAgF;AAChF,iFAAiF;AACjF,+EAA+E;AAC/E,mEAAmE;AACnE,MAAa,sBAAsB;IAGd;IACA;IAHnB,0EAA0E;IAC1E,YACmB,IAAmB,EACnB,WAAmB,sBAAsB;QADzC,SAAI,GAAJ,IAAI,CAAe;QACnB,aAAQ,GAAR,QAAQ,CAAiC;IACzD,CAAC;IAEJ,gFAAgF;IAChF,KAAK,CAAC,IAAI,CAAC,UAAkB,EAAE,UAAyC,EAAE;QACxE,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAA+B;YACrD,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,KAAK,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;SACvF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CACV,KAAgC,EAChC,cAAuB;QAEvB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAiC;YACvD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,IAAI,EAAE,KAAK;YACX,cAAc;SACf,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CACV,EAAU,EACV,KAAgC,EAChC,cAAuB;QAEvB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAiC;YACvD,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,IAAI,kBAAkB,CAAC,EAAE,CAAC,EAAE;YAClD,IAAI,EAAE,KAAK;YACX,cAAc;SACf,CAAC,CAAC;IACL,CAAC;IAED;;iDAE6C;IAC7C,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,cAA2C,EAAE;QACpE,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAY;YACjC,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,IAAI,kBAAkB,CAAC,EAAE,CAAC,EAAE;YAClD,KAAK,EAAE;gBACL,UAAU,EAAE,WAAW,CAAC,UAAU;gBAClC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;aAClD;SACF,CAAC,CAAC;IACL,CAAC;CACF;AAtDD,wDAsDC"}
@@ -2,7 +2,10 @@ import { HttpTransport } from './http';
2
2
  import type { AttributeOption, CreateAttributeOptionInput, UpdateAttributeOptionInput, ImportOptionsResult, ImportOptionsMode, AttributeValuesTemplate, ParsedAttributeValues, SingleResponse, ListResponse, CreateResponse } from './types';
3
3
  export declare class AttributeOptionResource {
4
4
  private readonly http;
5
- constructor(http: HttpTransport);
5
+ private readonly definitionsPath;
6
+ private readonly optionsPath;
7
+ /** The two base paths let the Default Attribute Registry reuse this resource. */
8
+ constructor(http: HttpTransport, definitionsPath?: string, optionsPath?: string);
6
9
  /**
7
10
  * Every option for a definition.
8
11
  *
@@ -1 +1 @@
1
- {"version":3,"file":"attributeOptions.d.ts","sourceRoot":"","sources":["../src/attributeOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,KAAK,EACV,eAAe,EACf,0BAA0B,EAC1B,0BAA0B,EAC1B,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,cAAc,EACd,YAAY,EACZ,cAAc,EACf,MAAM,SAAS,CAAC;AAOjB,qBAAa,uBAAuB;IACtB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,aAAa;IAEhD;;;;;;;;;;;;;OAaG;IACG,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;IAuBxE;;mFAE+E;IACzE,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC;IAQ/G;2EACuE;IACjE,eAAe,CACnB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,MAAM,EAAO,GACpB,OAAO,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;IAQ3C,MAAM,CACV,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,0BAA0B,EACjC,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;IAS3C;;;;;;;;;;;;;;;OAeG;IACG,MAAM,CACV,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EAAE,EAAE,EAChB,MAAM,UAAQ,EACd,IAAI,GAAE;QAAE,IAAI,CAAC,EAAE,iBAAiB,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAO,GAC9D,OAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;IAQ/C;;2EAEuE;IACjE,UAAU,CACd,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,UAAQ,EACd,IAAI,GAAE;QAAE,IAAI,CAAC,EAAE,iBAAiB,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAO,GAC9D,OAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;IAQzC,MAAM,CACV,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,0BAA0B,EACjC,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;IASrC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAM9C"}
1
+ {"version":3,"file":"attributeOptions.d.ts","sourceRoot":"","sources":["../src/attributeOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,KAAK,EACV,eAAe,EACf,0BAA0B,EAC1B,0BAA0B,EAC1B,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,cAAc,EACd,YAAY,EACZ,cAAc,EACf,MAAM,SAAS,CAAC;AAOjB,qBAAa,uBAAuB;IAGhC,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAJ9B,iFAAiF;gBAE9D,IAAI,EAAE,aAAa,EACnB,eAAe,GAAE,MAAoC,EACrD,WAAW,GAAE,MAAgC;IAGhE;;;;;;;;;;;;;OAaG;IACG,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;IAuBxE;;mFAE+E;IACzE,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC;IAQ/G;2EACuE;IACjE,eAAe,CACnB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,MAAM,EAAO,GACpB,OAAO,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;IAQ3C,MAAM,CACV,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,0BAA0B,EACjC,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;IAS3C;;;;;;;;;;;;;;;OAeG;IACG,MAAM,CACV,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EAAE,EAAE,EAChB,MAAM,UAAQ,EACd,IAAI,GAAE;QAAE,IAAI,CAAC,EAAE,iBAAiB,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAO,GAC9D,OAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;IAQ/C;;2EAEuE;IACjE,UAAU,CACd,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,UAAQ,EACd,IAAI,GAAE;QAAE,IAAI,CAAC,EAAE,iBAAiB,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAO,GAC9D,OAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;IAQzC,MAAM,CACV,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,0BAA0B,EACjC,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;IASrC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAM9C"}
@@ -8,8 +8,13 @@ exports.AttributeOptionResource = void 0;
8
8
  // commits (replace-all) only when { commit: true } and error-free.
9
9
  class AttributeOptionResource {
10
10
  http;
11
- constructor(http) {
11
+ definitionsPath;
12
+ optionsPath;
13
+ /** The two base paths let the Default Attribute Registry reuse this resource. */
14
+ constructor(http, definitionsPath = '/v1/attribute-definitions', optionsPath = '/v1/attribute-options') {
12
15
  this.http = http;
16
+ this.definitionsPath = definitionsPath;
17
+ this.optionsPath = optionsPath;
13
18
  }
14
19
  /**
15
20
  * Every option for a definition.
@@ -26,7 +31,7 @@ class AttributeOptionResource {
26
31
  * truncation easy to reach by accident would be the wrong shape here.
27
32
  */
28
33
  async list(definitionId) {
29
- const path = `/v1/attribute-definitions/${encodeURIComponent(definitionId)}/options`;
34
+ const path = `${this.definitionsPath}/${encodeURIComponent(definitionId)}/options`;
30
35
  const all = [];
31
36
  let cursor;
32
37
  let last;
@@ -69,7 +74,7 @@ class AttributeOptionResource {
69
74
  async create(definitionId, input, idempotencyKey) {
70
75
  return this.http.request({
71
76
  method: 'POST',
72
- path: `/v1/attribute-definitions/${encodeURIComponent(definitionId)}/options`,
77
+ path: `${this.definitionsPath}/${encodeURIComponent(definitionId)}/options`,
73
78
  body: input,
74
79
  idempotencyKey,
75
80
  });
@@ -93,7 +98,7 @@ class AttributeOptionResource {
93
98
  async import(definitionId, rows, commit = false, opts = {}) {
94
99
  return this.http.request({
95
100
  method: 'POST',
96
- path: `/v1/attribute-definitions/${encodeURIComponent(definitionId)}/options/import`,
101
+ path: `${this.definitionsPath}/${encodeURIComponent(definitionId)}/options/import`,
97
102
  body: { rows, commit, ...opts },
98
103
  });
99
104
  }
@@ -103,14 +108,14 @@ class AttributeOptionResource {
103
108
  async importFile(definitionId, fileContent, fileName, commit = false, opts = {}) {
104
109
  return this.http.request({
105
110
  method: 'POST',
106
- path: `/v1/attribute-definitions/${encodeURIComponent(definitionId)}/options/import`,
111
+ path: `${this.definitionsPath}/${encodeURIComponent(definitionId)}/options/import`,
107
112
  body: { fileContent, fileName, commit, ...opts },
108
113
  });
109
114
  }
110
115
  async update(optionId, input, idempotencyKey) {
111
116
  return this.http.request({
112
117
  method: 'PUT',
113
- path: `/v1/attribute-options/${encodeURIComponent(optionId)}`,
118
+ path: `${this.optionsPath}/${encodeURIComponent(optionId)}`,
114
119
  body: input,
115
120
  idempotencyKey,
116
121
  });
@@ -118,7 +123,7 @@ class AttributeOptionResource {
118
123
  async delete(optionId) {
119
124
  await this.http.request({
120
125
  method: 'DELETE',
121
- path: `/v1/attribute-options/${encodeURIComponent(optionId)}`,
126
+ path: `${this.optionsPath}/${encodeURIComponent(optionId)}`,
122
127
  });
123
128
  }
124
129
  }
@@ -1 +1 @@
1
- {"version":3,"file":"attributeOptions.js","sourceRoot":"","sources":["../src/attributeOptions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attributeOptions.js","sourceRoot":"","sources":["../src/attributeOptions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ import { HttpTransport } from './http';
2
+ import type { AttributeValue, AttributeValueHistoryEntry, SetAttributeValueInput, SetAttributeValueResult, SetAttributeValuesEntry, SetAttributeValuesEntryResult, ListResponse, SingleResponse } from './types';
3
+ /** Most entities one `setMany` call accepts. */
4
+ export declare const ATTRIBUTE_VALUES_SET_MANY_MAX = 200;
5
+ /** Most entity ids one `listMany` request carries; `listMany` chunks above it. */
6
+ export declare const ATTRIBUTE_VALUES_READ_MANY_MAX = 2000;
7
+ export declare class AttributeValueResource {
8
+ private readonly http;
9
+ constructor(http: HttpTransport);
10
+ private path;
11
+ /** An entity's current values — or, with `asOf`, the ones it held then. */
12
+ list(entityType: string, entityId: string, options?: {
13
+ asOf?: string;
14
+ }): Promise<ListResponse<AttributeValue>>;
15
+ /**
16
+ * Current values for many entities of one type, keyed by entity id. An
17
+ * entity with no values is absent from the result. Chunked to
18
+ * `ATTRIBUTE_VALUES_READ_MANY_MAX` ids per request.
19
+ */
20
+ listMany(entityType: string, entityIds: string[]): Promise<Record<string, AttributeValue[]>>;
21
+ /** Write several values at once; a null / '' / [] value clears its key. */
22
+ set(entityType: string, entityId: string, values: SetAttributeValueInput[]): Promise<SingleResponse<SetAttributeValueResult[]>>;
23
+ /**
24
+ * Write values on many entities in one call — for a bulk import. At most
25
+ * `ATTRIBUTE_VALUES_SET_MANY_MAX` entities; chunk above that. Each entity
26
+ * succeeds or fails on its own (`error` on its result).
27
+ *
28
+ * `backfill: true` moves values an app already holds: every value must be
29
+ * source `legacy` or `ai_suggested` with `onlyIfBlank`, and is written
30
+ * unvalidated, so nothing the app accepted is lost to a definition that has
31
+ * changed since. An all-`legacy` entry is treated the same way without the
32
+ * flag. Neither leaves an audit entry for `legacy`.
33
+ */
34
+ setMany(entries: SetAttributeValuesEntry[], options?: {
35
+ backfill?: boolean;
36
+ }): Promise<SingleResponse<SetAttributeValuesEntryResult[]>>;
37
+ /** The entity's value timeline, newest first; one key or all of them. */
38
+ history(entityType: string, entityId: string, key?: string): Promise<ListResponse<AttributeValueHistoryEntry>>;
39
+ /**
40
+ * Ids of entities whose current values match free text: the tenant's enabled
41
+ * standard attributes and its `filterable` custom ones. For a consumer that
42
+ * narrows a list it fetched itself; bounded server-side (`take`, default 500).
43
+ */
44
+ searchIds(entityType: string, q: string, options?: {
45
+ take?: number;
46
+ }): Promise<SingleResponse<{
47
+ ids: string[];
48
+ }>>;
49
+ /**
50
+ * Ids of entities whose current value for one attribute matches a filter
51
+ * value, in `attributeFilterMatch`'s modes: text by case-insensitive
52
+ * substring, multi_select by membership, every other type exactly.
53
+ * `ids: null` means the filter does not apply (an unknown key, an empty
54
+ * value) and the caller should not narrow at all.
55
+ */
56
+ filterIds(entityType: string, key: string, value: string, options?: {
57
+ take?: number;
58
+ }): Promise<SingleResponse<{
59
+ ids: string[] | null;
60
+ }>>;
61
+ }
62
+ //# sourceMappingURL=attributeValues.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attributeValues.d.ts","sourceRoot":"","sources":["../src/attributeValues.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,KAAK,EACV,cAAc,EACd,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,6BAA6B,EAC7B,YAAY,EACZ,cAAc,EACf,MAAM,SAAS,CAAC;AAajB,gDAAgD;AAChD,eAAO,MAAM,6BAA6B,MAAM,CAAC;AACjD,kFAAkF;AAClF,eAAO,MAAM,8BAA8B,OAAO,CAAC;AAEnD,qBAAa,sBAAsB;IACrB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,aAAa;IAEhD,OAAO,CAAC,IAAI;IAIZ,2EAA2E;IACrE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IAQxH;;;;OAIG;IACG,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;IAclG,2EAA2E;IACrE,GAAG,CACP,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,sBAAsB,EAAE,GAC/B,OAAO,CAAC,cAAc,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAQrD;;;;;;;;;;OAUG;IACG,OAAO,CACX,OAAO,EAAE,uBAAuB,EAAE,EAClC,OAAO,GAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAO,GACnC,OAAO,CAAC,cAAc,CAAC,6BAA6B,EAAE,CAAC,CAAC;IAQ3D,yEAAyE;IACnE,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,0BAA0B,CAAC,CAAC;IAQpH;;;;OAIG;IACG,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,cAAc,CAAC;QAAE,GAAG,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IAQ3H;;;;;;OAMG;IACG,SAAS,CACb,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAO,GAC9B,OAAO,CAAC,cAAc,CAAC;QAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;CAOrD"}
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AttributeValueResource = exports.ATTRIBUTE_VALUES_READ_MANY_MAX = exports.ATTRIBUTE_VALUES_SET_MANY_MAX = void 0;
4
+ // Attribute VALUES on any entity the registry governs — standard and custom
5
+ // alike — each with its source. Every change is kept, so a value's history and
6
+ // an entity's values "as of" any moment are reads, not a separate log.
7
+ // Addressed by (entityType, entityId) because the entity usually lives in the
8
+ // calling app, not in master-data. Writes are validated against the tenant's
9
+ // definitions (its own, and the standard attributes it has switched on).
10
+ //
11
+ // Values travel in the BAG shape the apps' JSONB bags used: an option's
12
+ // `value` text (an array of them for multi_select), an ISO date string, a
13
+ // number, a boolean. A consumer moving off its own bag keeps its shape.
14
+ /** Most entities one `setMany` call accepts. */
15
+ exports.ATTRIBUTE_VALUES_SET_MANY_MAX = 200;
16
+ /** Most entity ids one `listMany` request carries; `listMany` chunks above it. */
17
+ exports.ATTRIBUTE_VALUES_READ_MANY_MAX = 2000;
18
+ class AttributeValueResource {
19
+ http;
20
+ constructor(http) {
21
+ this.http = http;
22
+ }
23
+ path(entityType, entityId) {
24
+ return `/v1/attribute-values/${encodeURIComponent(entityType)}/${encodeURIComponent(entityId)}`;
25
+ }
26
+ /** An entity's current values — or, with `asOf`, the ones it held then. */
27
+ async list(entityType, entityId, options = {}) {
28
+ return this.http.request({
29
+ method: 'GET',
30
+ path: this.path(entityType, entityId),
31
+ ...(options.asOf ? { query: { asOf: options.asOf } } : {}),
32
+ });
33
+ }
34
+ /**
35
+ * Current values for many entities of one type, keyed by entity id. An
36
+ * entity with no values is absent from the result. Chunked to
37
+ * `ATTRIBUTE_VALUES_READ_MANY_MAX` ids per request.
38
+ */
39
+ async listMany(entityType, entityIds) {
40
+ const ids = [...new Set(entityIds)];
41
+ const out = {};
42
+ for (let i = 0; i < ids.length; i += exports.ATTRIBUTE_VALUES_READ_MANY_MAX) {
43
+ const res = await this.http.request({
44
+ method: 'POST',
45
+ path: '/v1/attribute-values/query',
46
+ body: { entityType, entityIds: ids.slice(i, i + exports.ATTRIBUTE_VALUES_READ_MANY_MAX) },
47
+ });
48
+ Object.assign(out, res.data);
49
+ }
50
+ return out;
51
+ }
52
+ /** Write several values at once; a null / '' / [] value clears its key. */
53
+ async set(entityType, entityId, values) {
54
+ return this.http.request({
55
+ method: 'PUT',
56
+ path: this.path(entityType, entityId),
57
+ body: { values },
58
+ });
59
+ }
60
+ /**
61
+ * Write values on many entities in one call — for a bulk import. At most
62
+ * `ATTRIBUTE_VALUES_SET_MANY_MAX` entities; chunk above that. Each entity
63
+ * succeeds or fails on its own (`error` on its result).
64
+ *
65
+ * `backfill: true` moves values an app already holds: every value must be
66
+ * source `legacy` or `ai_suggested` with `onlyIfBlank`, and is written
67
+ * unvalidated, so nothing the app accepted is lost to a definition that has
68
+ * changed since. An all-`legacy` entry is treated the same way without the
69
+ * flag. Neither leaves an audit entry for `legacy`.
70
+ */
71
+ async setMany(entries, options = {}) {
72
+ return this.http.request({
73
+ method: 'PUT',
74
+ path: '/v1/attribute-values',
75
+ body: { entries, ...(options.backfill ? { backfill: true } : {}) },
76
+ });
77
+ }
78
+ /** The entity's value timeline, newest first; one key or all of them. */
79
+ async history(entityType, entityId, key) {
80
+ return this.http.request({
81
+ method: 'GET',
82
+ path: `${this.path(entityType, entityId)}/history`,
83
+ ...(key ? { query: { key } } : {}),
84
+ });
85
+ }
86
+ /**
87
+ * Ids of entities whose current values match free text: the tenant's enabled
88
+ * standard attributes and its `filterable` custom ones. For a consumer that
89
+ * narrows a list it fetched itself; bounded server-side (`take`, default 500).
90
+ */
91
+ async searchIds(entityType, q, options = {}) {
92
+ return this.http.request({
93
+ method: 'GET',
94
+ path: `/v1/attribute-values/${encodeURIComponent(entityType)}/search`,
95
+ query: { q, ...(options.take ? { take: String(options.take) } : {}) },
96
+ });
97
+ }
98
+ /**
99
+ * Ids of entities whose current value for one attribute matches a filter
100
+ * value, in `attributeFilterMatch`'s modes: text by case-insensitive
101
+ * substring, multi_select by membership, every other type exactly.
102
+ * `ids: null` means the filter does not apply (an unknown key, an empty
103
+ * value) and the caller should not narrow at all.
104
+ */
105
+ async filterIds(entityType, key, value, options = {}) {
106
+ return this.http.request({
107
+ method: 'GET',
108
+ path: `/v1/attribute-values/${encodeURIComponent(entityType)}/filter`,
109
+ query: { key, value, ...(options.take ? { take: String(options.take) } : {}) },
110
+ });
111
+ }
112
+ }
113
+ exports.AttributeValueResource = AttributeValueResource;
114
+ //# sourceMappingURL=attributeValues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attributeValues.js","sourceRoot":"","sources":["../src/attributeValues.ts"],"names":[],"mappings":";;;AAYA,4EAA4E;AAC5E,+EAA+E;AAC/E,uEAAuE;AACvE,8EAA8E;AAC9E,6EAA6E;AAC7E,yEAAyE;AACzE,EAAE;AACF,wEAAwE;AACxE,0EAA0E;AAC1E,wEAAwE;AAExE,gDAAgD;AACnC,QAAA,6BAA6B,GAAG,GAAG,CAAC;AACjD,kFAAkF;AACrE,QAAA,8BAA8B,GAAG,IAAI,CAAC;AAEnD,MAAa,sBAAsB;IACJ;IAA7B,YAA6B,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;IAAG,CAAC;IAE5C,IAAI,CAAC,UAAkB,EAAE,QAAgB;QAC/C,OAAO,wBAAwB,kBAAkB,CAAC,UAAU,CAAC,IAAI,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;IAClG,CAAC;IAED,2EAA2E;IAC3E,KAAK,CAAC,IAAI,CAAC,UAAkB,EAAE,QAAgB,EAAE,UAA6B,EAAE;QAC9E,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAA+B;YACrD,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC;YACrC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3D,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ,CAAC,UAAkB,EAAE,SAAmB;QACpD,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QACpC,MAAM,GAAG,GAAqC,EAAE,CAAC;QACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,sCAA8B,EAAE,CAAC;YACpE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAmD;gBACpF,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,4BAA4B;gBAClC,IAAI,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,sCAA8B,CAAC,EAAE;aAClF,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,2EAA2E;IAC3E,KAAK,CAAC,GAAG,CACP,UAAkB,EAClB,QAAgB,EAChB,MAAgC;QAEhC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAA4C;YAClE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC;YACrC,IAAI,EAAE,EAAE,MAAM,EAAE;SACjB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,OAAO,CACX,OAAkC,EAClC,UAAkC,EAAE;QAEpC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAkD;YACxE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,sBAAsB;YAC5B,IAAI,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;SACnE,CAAC,CAAC;IACL,CAAC;IAED,yEAAyE;IACzE,KAAK,CAAC,OAAO,CAAC,UAAkB,EAAE,QAAgB,EAAE,GAAY;QAC9D,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAA2C;YACjE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU;YAClD,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,SAAS,CAAC,UAAkB,EAAE,CAAS,EAAE,UAA6B,EAAE;QAC5E,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAoC;YAC1D,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,wBAAwB,kBAAkB,CAAC,UAAU,CAAC,SAAS;YACrE,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;SACtE,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,SAAS,CACb,UAAkB,EAClB,GAAW,EACX,KAAa,EACb,UAA6B,EAAE;QAE/B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAA2C;YACjE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,wBAAwB,kBAAkB,CAAC,UAAU,CAAC,SAAS;YACrE,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;SAC/E,CAAC,CAAC;IACL,CAAC;CACF;AA/GD,wDA+GC"}
package/dist/client.d.ts CHANGED
@@ -36,6 +36,7 @@ import { PartAttributeResource } from './partAttributes';
36
36
  import { AttributeDefinitionResource } from './attributeDefinitions';
37
37
  import { AttributeGroupResource } from './attributeGroups';
38
38
  import { AttributeOptionResource } from './attributeOptions';
39
+ import { AttributeValueResource } from './attributeValues';
39
40
  import { PartResource } from './parts';
40
41
  import { OwnershipResource } from './ownership';
41
42
  import type { MasterDataClientConfig } from './types';
@@ -84,6 +85,19 @@ export declare class MasterDataClient {
84
85
  readonly attributeDefinitions: AttributeDefinitionResource;
85
86
  readonly attributeGroups: AttributeGroupResource;
86
87
  readonly attributeOptions: AttributeOptionResource;
88
+ /** Attribute values (standard and custom) on any entity, with source and history. */
89
+ readonly attributeValues: AttributeValueResource;
90
+ /**
91
+ * The Default Attribute Registry: the standard attributes every tenant can
92
+ * switch on. The same three resources as the tenant registry, on
93
+ * `/v1/default-attributes/*`. Campfire platform owners only, and a 404
94
+ * wherever the server's `standardAttributes` gate is off.
95
+ */
96
+ readonly defaultAttributes: {
97
+ readonly definitions: AttributeDefinitionResource;
98
+ readonly groups: AttributeGroupResource;
99
+ readonly options: AttributeOptionResource;
100
+ };
87
101
  readonly parts: PartResource;
88
102
  readonly ownership: OwnershipResource;
89
103
  constructor(config: MasterDataClientConfig);
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAC;AAC9F,OAAO,EAAE,gCAAgC,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAC3G,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEtD,qBAAa,gBAAgB;IAC3B,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,sBAAsB,CAAC;IACjD,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACrC,QAAQ,CAAC,kBAAkB,EAAE,yBAAyB,CAAC;IACvD,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,eAAe,EAAE,qBAAqB,CAAC;IAChD,QAAQ,CAAC,uBAAuB,EAAE,6BAA6B,CAAC;IAChE,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACrC,QAAQ,CAAC,YAAY,EAAE,mBAAmB,CAAC;IAC3C,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,WAAW,EAAE,mBAAmB,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,aAAa,EAAE,oBAAoB,CAAC;IAC7C,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,kBAAkB,EAAE,yBAAyB,CAAC;IACvD,QAAQ,CAAC,gBAAgB,EAAE,uBAAuB,CAAC;IACnD,QAAQ,CAAC,oBAAoB,EAAE,2BAA2B,CAAC;IAC3D,QAAQ,CAAC,kBAAkB,EAAE,yBAAyB,CAAC;IACvD,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAC;IAC9C,QAAQ,CAAC,gBAAgB,EAAE,uBAAuB,CAAC;IACnD,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACrC,QAAQ,CAAC,uBAAuB,EAAE,oBAAoB,CAAC;IACvD,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IACpD,QAAQ,CAAC,gBAAgB,EAAE,aAAa,CAAC;IACzC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,sBAAsB,EAAE,6BAA6B,CAAC;IAC/D,QAAQ,CAAC,yBAAyB,EAAE,gCAAgC,CAAC;IACrE,QAAQ,CAAC,mBAAmB,EAAE,0BAA0B,CAAC;IACzD,QAAQ,CAAC,gBAAgB,EAAE,uBAAuB,CAAC;IACnD,QAAQ,CAAC,gBAAgB,EAAE,uBAAuB,CAAC;IACnD,QAAQ,CAAC,cAAc,EAAE,qBAAqB,CAAC;IAC/C,QAAQ,CAAC,oBAAoB,EAAE,2BAA2B,CAAC;IAC3D,QAAQ,CAAC,eAAe,EAAE,sBAAsB,CAAC;IACjD,QAAQ,CAAC,gBAAgB,EAAE,uBAAuB,CAAC;IACnD,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;gBAE1B,MAAM,EAAE,sBAAsB;CAiD3C"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAC;AAC9F,OAAO,EAAE,gCAAgC,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAC3G,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEtD,qBAAa,gBAAgB;IAC3B,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,sBAAsB,CAAC;IACjD,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACrC,QAAQ,CAAC,kBAAkB,EAAE,yBAAyB,CAAC;IACvD,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,eAAe,EAAE,qBAAqB,CAAC;IAChD,QAAQ,CAAC,uBAAuB,EAAE,6BAA6B,CAAC;IAChE,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACrC,QAAQ,CAAC,YAAY,EAAE,mBAAmB,CAAC;IAC3C,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,WAAW,EAAE,mBAAmB,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,aAAa,EAAE,oBAAoB,CAAC;IAC7C,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,kBAAkB,EAAE,yBAAyB,CAAC;IACvD,QAAQ,CAAC,gBAAgB,EAAE,uBAAuB,CAAC;IACnD,QAAQ,CAAC,oBAAoB,EAAE,2BAA2B,CAAC;IAC3D,QAAQ,CAAC,kBAAkB,EAAE,yBAAyB,CAAC;IACvD,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAC;IAC9C,QAAQ,CAAC,gBAAgB,EAAE,uBAAuB,CAAC;IACnD,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACrC,QAAQ,CAAC,uBAAuB,EAAE,oBAAoB,CAAC;IACvD,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IACpD,QAAQ,CAAC,gBAAgB,EAAE,aAAa,CAAC;IACzC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,sBAAsB,EAAE,6BAA6B,CAAC;IAC/D,QAAQ,CAAC,yBAAyB,EAAE,gCAAgC,CAAC;IACrE,QAAQ,CAAC,mBAAmB,EAAE,0BAA0B,CAAC;IACzD,QAAQ,CAAC,gBAAgB,EAAE,uBAAuB,CAAC;IACnD,QAAQ,CAAC,gBAAgB,EAAE,uBAAuB,CAAC;IACnD,QAAQ,CAAC,cAAc,EAAE,qBAAqB,CAAC;IAC/C,QAAQ,CAAC,oBAAoB,EAAE,2BAA2B,CAAC;IAC3D,QAAQ,CAAC,eAAe,EAAE,sBAAsB,CAAC;IACjD,QAAQ,CAAC,gBAAgB,EAAE,uBAAuB,CAAC;IACnD,qFAAqF;IACrF,QAAQ,CAAC,eAAe,EAAE,sBAAsB,CAAC;IACjD;;;;;OAKG;IACH,QAAQ,CAAC,iBAAiB,EAAE;QAC1B,QAAQ,CAAC,WAAW,EAAE,2BAA2B,CAAC;QAClD,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;QACxC,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAC;KAC3C,CAAC;IACF,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;gBAE1B,MAAM,EAAE,sBAAsB;CAuD3C"}