@superblocksteam/sdk-api 0.0.10 → 0.0.11
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.
- package/README.md +23 -0
- package/dist/runtime/context.d.ts +6 -0
- package/dist/runtime/context.d.ts.map +1 -1
- package/dist/runtime/context.js +2 -1
- package/dist/runtime/context.js.map +1 -1
- package/dist/runtime/executor.d.ts +6 -0
- package/dist/runtime/executor.d.ts.map +1 -1
- package/dist/runtime/executor.js +1 -0
- package/dist/runtime/executor.js.map +1 -1
- package/dist/types.d.ts +10 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/runtime/context.ts +9 -0
- package/src/runtime/executor.ts +8 -0
- package/src/types.ts +11 -0
package/README.md
CHANGED
|
@@ -470,6 +470,29 @@ async run(ctx) {
|
|
|
470
470
|
}
|
|
471
471
|
```
|
|
472
472
|
|
|
473
|
+
#### `ctx.dataTag`
|
|
474
|
+
|
|
475
|
+
The canonical key of the requested data tag that Superblocks validated for the
|
|
476
|
+
current execution, such as `"staging"` or `"production"`. This identifies which
|
|
477
|
+
integration configuration is in use; it is not proof of a user's environment
|
|
478
|
+
entitlement. Combine it with `ctx.user` checks for authorization, and do not
|
|
479
|
+
accept a data tag through API input.
|
|
480
|
+
|
|
481
|
+
```typescript
|
|
482
|
+
async run(ctx) {
|
|
483
|
+
// Deny by default, including on older agents where dataTag is undefined.
|
|
484
|
+
if (ctx.dataTag !== "production") {
|
|
485
|
+
throw new Error("This API requires the production data tag");
|
|
486
|
+
}
|
|
487
|
+
// The data tag identifies the integration configuration. User access is
|
|
488
|
+
// checked independently.
|
|
489
|
+
assertPermissions(ctx.user.groups);
|
|
490
|
+
}
|
|
491
|
+
```
|
|
492
|
+
|
|
493
|
+
On agents that predate `ctx.dataTag`, the value is `undefined`. Authorization
|
|
494
|
+
checks must explicitly deny access for missing or unrecognized tags.
|
|
495
|
+
|
|
473
496
|
#### `ctx.user`
|
|
474
497
|
|
|
475
498
|
User information extracted from the Superblocks JWT. This is the **secure, server-side** way to access the current user's identity in API implementations. Never pass user information from the frontend as API input — always use `ctx.user` instead.
|
|
@@ -32,6 +32,12 @@ export interface CreateContextOptions {
|
|
|
32
32
|
executionId: string;
|
|
33
33
|
/** Environment variables */
|
|
34
34
|
env: Record<string, string>;
|
|
35
|
+
/**
|
|
36
|
+
* Server-resolved data tag key.
|
|
37
|
+
*
|
|
38
|
+
* Optional for compatibility with execution wrappers from older agents.
|
|
39
|
+
*/
|
|
40
|
+
dataTag?: string;
|
|
35
41
|
/** User information from JWT */
|
|
36
42
|
user: ApiUser;
|
|
37
43
|
/** Optional custom logger */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/runtime/context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EACV,iBAAiB,EAElB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EACV,UAAU,EACV,OAAO,EACP,MAAM,EACN,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAGrB;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,uDAAuD;IACvD,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAE7C;;;;;OAKG;IACH,uBAAuB,EAAE,sBAAsB,EAAE,CAAC;IAElD;;;;;OAKG;IACH,YAAY,EAAE,CACZ,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,QAAQ,CAAC,EAAE,aAAa,KACrB,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtB,2CAA2C;IAC3C,WAAW,EAAE,MAAM,CAAC;IAEpB,4BAA4B;IAC5B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE5B,gCAAgC;IAChC,IAAI,EAAE,OAAO,CAAC;IAEd,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,oBAAoB,GAC5B,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/runtime/context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EACV,iBAAiB,EAElB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EACV,UAAU,EACV,OAAO,EACP,MAAM,EACN,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAGrB;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,uDAAuD;IACvD,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAE7C;;;;;OAKG;IACH,uBAAuB,EAAE,sBAAsB,EAAE,CAAC;IAElD;;;;;OAKG;IACH,YAAY,EAAE,CACZ,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,QAAQ,CAAC,EAAE,aAAa,KACrB,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtB,2CAA2C;IAC3C,WAAW,EAAE,MAAM,CAAC;IAEpB,4BAA4B;IAC5B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE5B;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,gCAAgC;IAChC,IAAI,EAAE,OAAO,CAAC;IAEd,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,oBAAoB,GAC5B,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAkF/C"}
|
package/dist/runtime/context.js
CHANGED
|
@@ -35,7 +35,7 @@ import { createDefaultLogger } from "./logger.js";
|
|
|
35
35
|
* ```
|
|
36
36
|
*/
|
|
37
37
|
export function createApiContext(options) {
|
|
38
|
-
const { integrations, integrationDeclarations, executeQuery, executionId, env, user, logger, } = options;
|
|
38
|
+
const { integrations, integrationDeclarations, executeQuery, executionId, env, dataTag, user, logger, } = options;
|
|
39
39
|
// Cache for created integration clients
|
|
40
40
|
const clientCache = new Map();
|
|
41
41
|
// Create logger
|
|
@@ -87,6 +87,7 @@ export function createApiContext(options) {
|
|
|
87
87
|
integrations: integrationsObject,
|
|
88
88
|
log,
|
|
89
89
|
env: Object.freeze({ ...env }),
|
|
90
|
+
dataTag,
|
|
90
91
|
user,
|
|
91
92
|
};
|
|
92
93
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/runtime/context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,YAAY,GAGb,MAAM,6BAA6B,CAAC;AAWrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/runtime/context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,YAAY,GAGb,MAAM,6BAA6B,CAAC;AAWrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAkDlD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAA6B;IAE7B,MAAM,EACJ,YAAY,EACZ,uBAAuB,EACvB,YAAY,EACZ,WAAW,EACX,GAAG,EACH,OAAO,EACP,IAAI,EACJ,MAAM,GACP,GAAG,OAAO,CAAC;IAEZ,wCAAwC;IACxC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAiC,CAAC;IAE7D,gBAAgB;IAChB,MAAM,GAAG,GAAG,MAAM,IAAI,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAEvD;;;;;;OAMG;IACH,SAAS,cAAc,CAAC,EAAU,EAAE,QAAgB;QAClD,oBAAoB;QACpB,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnC,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,oEAAoE;QACpE,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEpC,4CAA4C;QAC5C,MAAM,aAAa,GAAkB,CACnC,OAAgC,EAChC,QAAkC,EAClC,QAAwB,EACxB,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAEnD,2EAA2E;QAC3E,MAAM,YAAY,GAAsB,MAAM,IAAI;YAChD,EAAE;YACF,IAAI,EAAE,EAAE,EAAE,iDAAiD;YAC3D,QAAQ;YACR,aAAa,EAAE,EAAE;SAClB,CAAC;QAEF,8BAA8B;QAC9B,MAAM,MAAM,GAAG,YAAY,CAAC;YAC1B,MAAM,EAAE,YAAY;YACpB,YAAY,EAAE,aAAa;SAC5B,CAAC,CAAC;QAEH,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAC5B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,kDAAkD;IAClD,iDAAiD;IACjD,MAAM,kBAAkB,GAA0C,EAAE,CAAC;IAErE,KAAK,MAAM,WAAW,IAAI,uBAAuB,EAAE,CAAC;QAClD,8EAA8E;QAC9E,MAAM,CAAC,cAAc,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG,EAAE;YACzD,GAAG,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,EAAE,WAAW,CAAC,QAAQ,CAAC;YAC/D,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,KAAK;SACpB,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,YAAY,EAAE,kBAEG;QACjB,GAAG;QACH,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC;QAC9B,OAAO;QACP,IAAI;KACL,CAAC;AACJ,CAAC"}
|
|
@@ -21,6 +21,12 @@ export interface ExecuteApiRequest {
|
|
|
21
21
|
executionId: string;
|
|
22
22
|
/** Environment variables available to the API */
|
|
23
23
|
env: Record<string, string>;
|
|
24
|
+
/**
|
|
25
|
+
* Server-resolved data tag key for this execution.
|
|
26
|
+
*
|
|
27
|
+
* Optional on the low-level request for compatibility with older runtimes.
|
|
28
|
+
*/
|
|
29
|
+
dataTag?: string;
|
|
24
30
|
/** User information extracted from the Superblocks JWT */
|
|
25
31
|
user: ApiUser;
|
|
26
32
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/runtime/executor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAML,KAAK,aAAa,EACnB,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,qCAAqC;IACrC,KAAK,EAAE,OAAO,CAAC;IAEf,2CAA2C;IAC3C,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAElC,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;IAEpB,iDAAiD;IACjD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE5B,0DAA0D;IAC1D,IAAI,EAAE,OAAO,CAAC;IAEd;;;;;;;;;;;;;;;OAeG;IACH,YAAY,EAAE,CACZ,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,QAAQ,CAAC,EAAE,aAAa,KACrB,OAAO,CAAC,OAAO,CAAC,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,WAAW,yBAAyB,CAAC,OAAO,GAAG,OAAO;IAC1D,OAAO,EAAE,IAAI,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE;QACL,IAAI,EAAE,aAAa,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;CACH;AAED;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,CAAC,OAAO,GAAG,OAAO,IAC5C,yBAAyB,CAAC,OAAO,CAAC,GAClC,uBAAuB,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAsB,UAAU,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO,EAClE,GAAG,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/runtime/executor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAML,KAAK,aAAa,EACnB,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,qCAAqC;IACrC,KAAK,EAAE,OAAO,CAAC;IAEf,2CAA2C;IAC3C,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAElC,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;IAEpB,iDAAiD;IACjD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE5B;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,0DAA0D;IAC1D,IAAI,EAAE,OAAO,CAAC;IAEd;;;;;;;;;;;;;;;OAeG;IACH,YAAY,EAAE,CACZ,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,QAAQ,CAAC,EAAE,aAAa,KACrB,OAAO,CAAC,OAAO,CAAC,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,WAAW,yBAAyB,CAAC,OAAO,GAAG,OAAO;IAC1D,OAAO,EAAE,IAAI,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE;QACL,IAAI,EAAE,aAAa,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;CACH;AAED;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,CAAC,OAAO,GAAG,OAAO,IAC5C,yBAAyB,CAAC,OAAO,CAAC,GAClC,uBAAuB,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAsB,UAAU,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO,EAClE,GAAG,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAyEtC"}
|
package/dist/runtime/executor.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/runtime/executor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAI7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EACL,QAAQ,EACR,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,EACd,SAAS,GAEV,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/runtime/executor.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -146,6 +146,16 @@ export interface ApiContext<TIntegrations extends Record<string, AnyIntegrationR
|
|
|
146
146
|
readonly log: Logger;
|
|
147
147
|
/** Access to environment variables */
|
|
148
148
|
readonly env: Readonly<Record<string, string>>;
|
|
149
|
+
/**
|
|
150
|
+
* Canonical key of the requested data tag validated for this execution.
|
|
151
|
+
*
|
|
152
|
+
* This identifies the integration configuration in use, not a user's
|
|
153
|
+
* environment entitlement. It is supplied by the Superblocks runtime and
|
|
154
|
+
* cannot be selected through API input. It is undefined when no data tag was
|
|
155
|
+
* resolved or on runtimes that predate data-tag context support;
|
|
156
|
+
* authorization checks must deny access in those cases.
|
|
157
|
+
*/
|
|
158
|
+
readonly dataTag?: string;
|
|
149
159
|
/** User information from the Superblocks JWT */
|
|
150
160
|
readonly user: ApiUser;
|
|
151
161
|
}
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/runtime/context.ts
CHANGED
|
@@ -57,6 +57,13 @@ export interface CreateContextOptions {
|
|
|
57
57
|
/** Environment variables */
|
|
58
58
|
env: Record<string, string>;
|
|
59
59
|
|
|
60
|
+
/**
|
|
61
|
+
* Server-resolved data tag key.
|
|
62
|
+
*
|
|
63
|
+
* Optional for compatibility with execution wrappers from older agents.
|
|
64
|
+
*/
|
|
65
|
+
dataTag?: string;
|
|
66
|
+
|
|
60
67
|
/** User information from JWT */
|
|
61
68
|
user: ApiUser;
|
|
62
69
|
|
|
@@ -101,6 +108,7 @@ export function createApiContext(
|
|
|
101
108
|
executeQuery,
|
|
102
109
|
executionId,
|
|
103
110
|
env,
|
|
111
|
+
dataTag,
|
|
104
112
|
user,
|
|
105
113
|
logger,
|
|
106
114
|
} = options;
|
|
@@ -172,6 +180,7 @@ export function createApiContext(
|
|
|
172
180
|
>["integrations"],
|
|
173
181
|
log,
|
|
174
182
|
env: Object.freeze({ ...env }),
|
|
183
|
+
dataTag,
|
|
175
184
|
user,
|
|
176
185
|
};
|
|
177
186
|
}
|
package/src/runtime/executor.ts
CHANGED
|
@@ -36,6 +36,13 @@ export interface ExecuteApiRequest {
|
|
|
36
36
|
/** Environment variables available to the API */
|
|
37
37
|
env: Record<string, string>;
|
|
38
38
|
|
|
39
|
+
/**
|
|
40
|
+
* Server-resolved data tag key for this execution.
|
|
41
|
+
*
|
|
42
|
+
* Optional on the low-level request for compatibility with older runtimes.
|
|
43
|
+
*/
|
|
44
|
+
dataTag?: string;
|
|
45
|
+
|
|
39
46
|
/** User information extracted from the Superblocks JWT */
|
|
40
47
|
user: ApiUser;
|
|
41
48
|
|
|
@@ -162,6 +169,7 @@ export async function executeApi<TInput = unknown, TOutput = unknown>(
|
|
|
162
169
|
executeQuery: request.executeQuery,
|
|
163
170
|
executionId: request.executionId,
|
|
164
171
|
env: request.env,
|
|
172
|
+
dataTag: request.dataTag,
|
|
165
173
|
user: request.user,
|
|
166
174
|
});
|
|
167
175
|
|
package/src/types.ts
CHANGED
|
@@ -182,6 +182,17 @@ export interface ApiContext<
|
|
|
182
182
|
/** Access to environment variables */
|
|
183
183
|
readonly env: Readonly<Record<string, string>>;
|
|
184
184
|
|
|
185
|
+
/**
|
|
186
|
+
* Canonical key of the requested data tag validated for this execution.
|
|
187
|
+
*
|
|
188
|
+
* This identifies the integration configuration in use, not a user's
|
|
189
|
+
* environment entitlement. It is supplied by the Superblocks runtime and
|
|
190
|
+
* cannot be selected through API input. It is undefined when no data tag was
|
|
191
|
+
* resolved or on runtimes that predate data-tag context support;
|
|
192
|
+
* authorization checks must deny access in those cases.
|
|
193
|
+
*/
|
|
194
|
+
readonly dataTag?: string;
|
|
195
|
+
|
|
185
196
|
/** User information from the Superblocks JWT */
|
|
186
197
|
readonly user: ApiUser;
|
|
187
198
|
}
|