@ptkl/sdk 1.6.5 → 1.7.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.
@@ -84,6 +84,18 @@ var ProtokolSDK010 = (function (exports, axios) {
84
84
  'Content-Type': 'application/json',
85
85
  },
86
86
  });
87
+ // In forge context, re-read the token on every request so background
88
+ // refreshes (written to sessionStorage by forgeToken.ts) are picked up
89
+ // by already-constructed client instances.
90
+ if (isBrowser && sessionStorage.getItem('protokol_context') === 'forge') {
91
+ client.interceptors.request.use((config) => {
92
+ const freshToken = sessionStorage.getItem('forge_actor_token');
93
+ if (freshToken) {
94
+ config.headers['Authorization'] = `Bearer ${freshToken}`;
95
+ }
96
+ return config;
97
+ });
98
+ }
87
99
  super(client);
88
100
  this.env = null;
89
101
  this.token = null;
@@ -432,16 +444,21 @@ var ProtokolSDK010 = (function (exports, axios) {
432
444
  * Get a single extension by name from the component
433
445
  *
434
446
  * @param name - The name of the extension to retrieve
435
- * @param version - The component version
447
+ * @param version - The component version (optional; if not provided, the active environment version is used)
436
448
  * @returns The extension object
437
449
  *
438
450
  * @example
439
451
  * ```typescript
440
452
  * const extension = await component.getExtension('shipping_tracker', '0.1.0')
453
+ * // or, using the active environment:
454
+ * const extension = await component.getExtension('shipping_tracker')
441
455
  * ```
442
456
  */
443
457
  async getExtension(name, version) {
444
- return await this.client.get(`/v4/system/component/${this.ref}/${version}/extensions/${name}`);
458
+ if (version) {
459
+ return await this.client.get(`/v4/system/component/${this.ref}/${version}/extensions/${name}`);
460
+ }
461
+ return await this.client.get(`/v4/system/component/${this.ref}/extensions/${name}`);
445
462
  }
446
463
  /**
447
464
  * Install a new extension on the component
@@ -1566,6 +1583,18 @@ var ProtokolSDK010 = (function (exports, axios) {
1566
1583
  ...headers,
1567
1584
  },
1568
1585
  });
1586
+ // In forge context, re-read the token on every request so background
1587
+ // refreshes (written to sessionStorage by forgeToken.ts) are picked up
1588
+ // by already-constructed client instances.
1589
+ if (isBrowser && sessionStorage.getItem('protokol_context') === 'forge') {
1590
+ client.interceptors.request.use((config) => {
1591
+ const freshToken = sessionStorage.getItem('forge_actor_token');
1592
+ if (freshToken) {
1593
+ config.headers['Authorization'] = `Bearer ${freshToken}`;
1594
+ }
1595
+ return config;
1596
+ });
1597
+ }
1569
1598
  super(client);
1570
1599
  this.env = null;
1571
1600
  this.token = null;
package/dist/index.0.9.js CHANGED
@@ -84,6 +84,18 @@ var ProtokolSDK09 = (function (exports, axios) {
84
84
  'Content-Type': 'application/json',
85
85
  }
86
86
  });
87
+ // In forge context, re-read the token on every request so background
88
+ // refreshes (written to sessionStorage by forgeToken.ts) are picked up
89
+ // by already-constructed client instances.
90
+ if (isBrowser && sessionStorage.getItem('protokol_context') === 'forge') {
91
+ client.interceptors.request.use((config) => {
92
+ const freshToken = sessionStorage.getItem('forge_actor_token');
93
+ if (freshToken) {
94
+ config.headers['Authorization'] = `Bearer ${freshToken}`;
95
+ }
96
+ return config;
97
+ });
98
+ }
87
99
  super(client);
88
100
  this.env = null;
89
101
  this.token = null;
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ptkl/sdk",
3
- "version": "1.6.5",
3
+ "version": "1.7.0",
4
4
  "scripts": {
5
5
  "build": "rollup -c",
6
6
  "build:monaco": "npm run build && node scripts/generate-monaco-types.cjs",
@@ -183,15 +183,17 @@ export default class Component<C extends string = string> extends PlatformBaseCl
183
183
  * Get a single extension by name from the component
184
184
  *
185
185
  * @param name - The name of the extension to retrieve
186
- * @param version - The component version
186
+ * @param version - The component version (optional; if not provided, the active environment version is used)
187
187
  * @returns The extension object
188
188
  *
189
189
  * @example
190
190
  * ```typescript
191
191
  * const extension = await component.getExtension('shipping_tracker', '0.1.0')
192
+ * // or, using the active environment:
193
+ * const extension = await component.getExtension('shipping_tracker')
192
194
  * ```
193
195
  */
194
- getExtension(name: string, version: string): Promise<AxiosResponse<any, any>>;
196
+ getExtension(name: string, version?: string): Promise<AxiosResponse<any, any>>;
195
197
  /**
196
198
  * Install a new extension on the component
197
199
  *
@@ -19050,6 +19050,18 @@ class PlatformBaseClient extends BaseClient {
19050
19050
  'Content-Type': 'application/json',
19051
19051
  },
19052
19052
  });
19053
+ // In forge context, re-read the token on every request so background
19054
+ // refreshes (written to sessionStorage by forgeToken.ts) are picked up
19055
+ // by already-constructed client instances.
19056
+ if (isBrowser && sessionStorage.getItem('protokol_context') === 'forge') {
19057
+ client.interceptors.request.use((config) => {
19058
+ const freshToken = sessionStorage.getItem('forge_actor_token');
19059
+ if (freshToken) {
19060
+ config.headers['Authorization'] = `Bearer ${freshToken}`;
19061
+ }
19062
+ return config;
19063
+ });
19064
+ }
19053
19065
  super(client);
19054
19066
  this.env = null;
19055
19067
  this.token = null;
@@ -19398,16 +19410,21 @@ class Component extends PlatformBaseClient {
19398
19410
  * Get a single extension by name from the component
19399
19411
  *
19400
19412
  * @param name - The name of the extension to retrieve
19401
- * @param version - The component version
19413
+ * @param version - The component version (optional; if not provided, the active environment version is used)
19402
19414
  * @returns The extension object
19403
19415
  *
19404
19416
  * @example
19405
19417
  * ```typescript
19406
19418
  * const extension = await component.getExtension('shipping_tracker', '0.1.0')
19419
+ * // or, using the active environment:
19420
+ * const extension = await component.getExtension('shipping_tracker')
19407
19421
  * ```
19408
19422
  */
19409
19423
  async getExtension(name, version) {
19410
- return await this.client.get(`/v4/system/component/${this.ref}/${version}/extensions/${name}`);
19424
+ if (version) {
19425
+ return await this.client.get(`/v4/system/component/${this.ref}/${version}/extensions/${name}`);
19426
+ }
19427
+ return await this.client.get(`/v4/system/component/${this.ref}/extensions/${name}`);
19411
19428
  }
19412
19429
  /**
19413
19430
  * Install a new extension on the component
@@ -20532,6 +20549,18 @@ class IntegrationsBaseClient extends BaseClient {
20532
20549
  ...headers,
20533
20550
  },
20534
20551
  });
20552
+ // In forge context, re-read the token on every request so background
20553
+ // refreshes (written to sessionStorage by forgeToken.ts) are picked up
20554
+ // by already-constructed client instances.
20555
+ if (isBrowser && sessionStorage.getItem('protokol_context') === 'forge') {
20556
+ client.interceptors.request.use((config) => {
20557
+ const freshToken = sessionStorage.getItem('forge_actor_token');
20558
+ if (freshToken) {
20559
+ config.headers['Authorization'] = `Bearer ${freshToken}`;
20560
+ }
20561
+ return config;
20562
+ });
20563
+ }
20535
20564
  super(client);
20536
20565
  this.env = null;
20537
20566
  this.token = null;
@@ -83,6 +83,18 @@ class PlatformBaseClient extends BaseClient {
83
83
  'Content-Type': 'application/json',
84
84
  },
85
85
  });
86
+ // In forge context, re-read the token on every request so background
87
+ // refreshes (written to sessionStorage by forgeToken.ts) are picked up
88
+ // by already-constructed client instances.
89
+ if (isBrowser && sessionStorage.getItem('protokol_context') === 'forge') {
90
+ client.interceptors.request.use((config) => {
91
+ const freshToken = sessionStorage.getItem('forge_actor_token');
92
+ if (freshToken) {
93
+ config.headers['Authorization'] = `Bearer ${freshToken}`;
94
+ }
95
+ return config;
96
+ });
97
+ }
86
98
  super(client);
87
99
  this.env = null;
88
100
  this.token = null;
@@ -431,16 +443,21 @@ class Component extends PlatformBaseClient {
431
443
  * Get a single extension by name from the component
432
444
  *
433
445
  * @param name - The name of the extension to retrieve
434
- * @param version - The component version
446
+ * @param version - The component version (optional; if not provided, the active environment version is used)
435
447
  * @returns The extension object
436
448
  *
437
449
  * @example
438
450
  * ```typescript
439
451
  * const extension = await component.getExtension('shipping_tracker', '0.1.0')
452
+ * // or, using the active environment:
453
+ * const extension = await component.getExtension('shipping_tracker')
440
454
  * ```
441
455
  */
442
456
  async getExtension(name, version) {
443
- return await this.client.get(`/v4/system/component/${this.ref}/${version}/extensions/${name}`);
457
+ if (version) {
458
+ return await this.client.get(`/v4/system/component/${this.ref}/${version}/extensions/${name}`);
459
+ }
460
+ return await this.client.get(`/v4/system/component/${this.ref}/extensions/${name}`);
444
461
  }
445
462
  /**
446
463
  * Install a new extension on the component
@@ -1565,6 +1582,18 @@ class IntegrationsBaseClient extends BaseClient {
1565
1582
  ...headers,
1566
1583
  },
1567
1584
  });
1585
+ // In forge context, re-read the token on every request so background
1586
+ // refreshes (written to sessionStorage by forgeToken.ts) are picked up
1587
+ // by already-constructed client instances.
1588
+ if (isBrowser && sessionStorage.getItem('protokol_context') === 'forge') {
1589
+ client.interceptors.request.use((config) => {
1590
+ const freshToken = sessionStorage.getItem('forge_actor_token');
1591
+ if (freshToken) {
1592
+ config.headers['Authorization'] = `Bearer ${freshToken}`;
1593
+ }
1594
+ return config;
1595
+ });
1596
+ }
1568
1597
  super(client);
1569
1598
  this.env = null;
1570
1599
  this.token = null;
@@ -236,7 +236,7 @@ type FieldConstraints = {
236
236
  to?: string;
237
237
  from?: string;
238
238
  days?: number[];
239
- days_of_month?: number[];
239
+ days_of_month?: number[] | null;
240
240
  ranges?: Array<{
241
241
  from: string;
242
242
  to: string;
@@ -247,7 +247,7 @@ type FieldConstraints = {
247
247
  to?: string;
248
248
  from?: string;
249
249
  days?: number[];
250
- days_of_month?: number[];
250
+ days_of_month?: number[] | null;
251
251
  ranges?: Array<{
252
252
  from: string;
253
253
  to: string;
@@ -321,7 +321,7 @@ type PresetContext = {
321
321
  };
322
322
  type Preset = {
323
323
  name: string;
324
- roles?: string[];
324
+ roles?: string[] | null;
325
325
  context: PresetContext;
326
326
  };
327
327
  type Function = {
@@ -331,12 +331,12 @@ type Function = {
331
331
  type Extension = {
332
332
  name: string;
333
333
  is_active: boolean;
334
- fields?: SettingsField[];
335
- functions?: Function[];
336
- workflows?: Record<string, any>[];
337
- templates?: Record<string, any>;
338
- templates_dist?: TemplatesDist;
339
- config?: Record<string, any>;
334
+ fields?: SettingsField[] | null;
335
+ functions?: Function[] | null;
336
+ workflows?: Record<string, any>[] | null;
337
+ templates?: Record<string, any> | null;
338
+ templates_dist?: TemplatesDist | null;
339
+ config?: Record<string, any> | null;
340
340
  version?: string;
341
341
  };
342
342
  type FieldAccessConfig = {
@@ -353,9 +353,9 @@ type Policy<T = Record<string, any>> = {
353
353
  config?: T;
354
354
  };
355
355
  type TemplatesDist = {
356
- sdk_version: number;
357
- sdk_engine: string;
358
- dist: Record<string, any>;
356
+ sdk_version?: number | null;
357
+ sdk_engine?: string | null;
358
+ dist?: Record<string, any> | null;
359
359
  };
360
360
  type Settings = {
361
361
  version?: string;
@@ -391,7 +391,7 @@ type Settings = {
391
391
  };
392
392
  presets?: Preset[] | null;
393
393
  templates?: Record<string, any>[] | null;
394
- templates_dist?: TemplatesDist;
394
+ templates_dist?: TemplatesDist | null;
395
395
  config?: Record<string, any> | null;
396
396
  functions?: Function[] | null;
397
397
  extensions?: Extension[] | null;
@@ -19052,6 +19052,18 @@ class PlatformBaseClient extends BaseClient {
19052
19052
  'Content-Type': 'application/json',
19053
19053
  }
19054
19054
  });
19055
+ // In forge context, re-read the token on every request so background
19056
+ // refreshes (written to sessionStorage by forgeToken.ts) are picked up
19057
+ // by already-constructed client instances.
19058
+ if (isBrowser && sessionStorage.getItem('protokol_context') === 'forge') {
19059
+ client.interceptors.request.use((config) => {
19060
+ const freshToken = sessionStorage.getItem('forge_actor_token');
19061
+ if (freshToken) {
19062
+ config.headers['Authorization'] = `Bearer ${freshToken}`;
19063
+ }
19064
+ return config;
19065
+ });
19066
+ }
19055
19067
  super(client);
19056
19068
  this.env = null;
19057
19069
  this.token = null;
@@ -83,6 +83,18 @@ class PlatformBaseClient extends BaseClient {
83
83
  'Content-Type': 'application/json',
84
84
  }
85
85
  });
86
+ // In forge context, re-read the token on every request so background
87
+ // refreshes (written to sessionStorage by forgeToken.ts) are picked up
88
+ // by already-constructed client instances.
89
+ if (isBrowser && sessionStorage.getItem('protokol_context') === 'forge') {
90
+ client.interceptors.request.use((config) => {
91
+ const freshToken = sessionStorage.getItem('forge_actor_token');
92
+ if (freshToken) {
93
+ config.headers['Authorization'] = `Bearer ${freshToken}`;
94
+ }
95
+ return config;
96
+ });
97
+ }
86
98
  super(client);
87
99
  this.env = null;
88
100
  this.token = null;
@@ -236,7 +236,7 @@ type FieldConstraints = {
236
236
  to?: string;
237
237
  from?: string;
238
238
  days?: number[];
239
- days_of_month?: number[];
239
+ days_of_month?: number[] | null;
240
240
  ranges?: Array<{
241
241
  from: string;
242
242
  to: string;
@@ -247,7 +247,7 @@ type FieldConstraints = {
247
247
  to?: string;
248
248
  from?: string;
249
249
  days?: number[];
250
- days_of_month?: number[];
250
+ days_of_month?: number[] | null;
251
251
  ranges?: Array<{
252
252
  from: string;
253
253
  to: string;
@@ -321,7 +321,7 @@ type PresetContext = {
321
321
  };
322
322
  type Preset = {
323
323
  name: string;
324
- roles?: string[];
324
+ roles?: string[] | null;
325
325
  context: PresetContext;
326
326
  };
327
327
  type Function = {
@@ -335,14 +335,14 @@ type Extension = {
335
335
  functions?: Function[];
336
336
  workflows?: Record<string, any>[];
337
337
  templates?: Record<string, any>;
338
- templates_dist?: TemplatesDist;
338
+ templates_dist?: TemplatesDist | null;
339
339
  config?: Record<string, any>;
340
340
  version?: string;
341
341
  };
342
342
  type FieldAccessConfig = {
343
343
  fields: string[];
344
344
  actions: string[];
345
- roles: string[];
345
+ roles: string[] | null;
346
346
  };
347
347
  type Policy<T = Record<string, any>> = {
348
348
  type: string;
@@ -353,9 +353,9 @@ type Policy<T = Record<string, any>> = {
353
353
  config?: T;
354
354
  };
355
355
  type TemplatesDist = {
356
- sdk_version: number;
357
- sdk_engine: string;
358
- dist: Record<string, any>;
356
+ sdk_version?: number;
357
+ sdk_engine?: string;
358
+ dist?: Record<string, any>;
359
359
  };
360
360
  type Settings = {
361
361
  version?: string;
@@ -391,7 +391,7 @@ type Settings = {
391
391
  };
392
392
  presets?: Preset[] | null;
393
393
  templates?: Record<string, any>[] | null;
394
- templates_dist?: TemplatesDist;
394
+ templates_dist?: TemplatesDist | null;
395
395
  config?: Record<string, any> | null;
396
396
  functions?: Function[] | null;
397
397
  extensions?: Extension[] | null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ptkl/sdk",
3
- "version": "1.6.5",
3
+ "version": "1.7.0",
4
4
  "scripts": {
5
5
  "build": "rollup -c",
6
6
  "build:monaco": "npm run build && node scripts/generate-monaco-types.cjs",