@trayio/cdk-runtime 5.22.0 → 5.23.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.
- package/dist/connector/operation/CompositeOperationExecution.unit.test.js +8 -0
- package/dist/connector/operation/CompositeOperationExecutionPolling.d.ts.map +1 -1
- package/dist/connector/operation/CompositeOperationExecutionPolling.js +1 -0
- package/dist/connector/polling/PollingServiceClient.d.ts +7 -0
- package/dist/connector/polling/PollingServiceClient.d.ts.map +1 -1
- package/dist/connector/polling/PollingServiceClient.js +1 -0
- package/dist/connector/polling/PollingServiceClient.unit.test.js +28 -0
- package/package.json +5 -5
|
@@ -45,6 +45,10 @@ describe('CompositeOperationExecution polling lifecycle branch', () => {
|
|
|
45
45
|
pollingInterval: { value: 15, unit: PollingTypes_1.PollingIntervalUnit.Minutes },
|
|
46
46
|
maxFailureCount: 50,
|
|
47
47
|
initialCursor: { since: 't0' },
|
|
48
|
+
operationInput: {
|
|
49
|
+
soqlQuery: 'SELECT Id, Name FROM Account',
|
|
50
|
+
objectType: 'Account',
|
|
51
|
+
},
|
|
48
52
|
};
|
|
49
53
|
const result = await execution.execute(fakePollingContext(), input);
|
|
50
54
|
expect(result.isSuccess).toBe(true);
|
|
@@ -66,6 +70,10 @@ describe('CompositeOperationExecution polling lifecycle branch', () => {
|
|
|
66
70
|
},
|
|
67
71
|
maxFailureCount: 50,
|
|
68
72
|
initialCursor: { since: 't0' },
|
|
73
|
+
operationInput: {
|
|
74
|
+
soqlQuery: 'SELECT Id, Name FROM Account',
|
|
75
|
+
objectType: 'Account',
|
|
76
|
+
},
|
|
69
77
|
});
|
|
70
78
|
expect(token).toBe('exec-jwt');
|
|
71
79
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CompositeOperationExecutionPolling.d.ts","sourceRoot":"","sources":["../../../src/connector/operation/CompositeOperationExecutionPolling.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,oBAAoB,EACpB,uBAAuB,EAEvB,sBAAsB,EAEtB,oBAAoB,EAEpB,MAAM,sDAAsD,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,+DAA+D,CAAC;AAC1G,OAAO,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AAEvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAC;AAExF,MAAM,MAAM,6BAA6B,GAAG,mBAAmB,GAAG;IACjE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,CAAC;AAsEF,eAAO,MAAM,kBAAkB,gBACjB,oBAAoB,KAC/B,OAEqD,CAAC;AAoCzD;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACxC,IAAI,SAAS,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,EACnD,EAAE,EACF,GAAG,EACF,IAAI,EAAE;IACP,GAAG,EAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACnC,KAAK,EAAE,EAAE,CAAC;IACV,OAAO,EAAE,yBAAyB,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAClD,wBAAwB,EAAE,iCAAiC,CAAC;IAC5D,yBAAyB,EAAE,CAAC,CAAC,EAAE,sBAAsB,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;IACpE,cAAc,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,sBAAsB,CAAC,GAAG,CAAC,CAAC;CAC5D,GAAG,OAAO,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAiCvC;AAED,wBAAgB,8BAA8B,CAC7C,IAAI,SAAS,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,EAClD,IAAI,EAAE;IACP,GAAG,EAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACnC,WAAW,EACR,oBAAoB,CAAC,iBAAiB,GACtC,oBAAoB,CAAC,kBAAkB,CAAC;IAC3C,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,6BAA6B,CAAC;IAC5C,oBAAoB,EAAE,oBAAoB,CAAC;CAC3C,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"CompositeOperationExecutionPolling.d.ts","sourceRoot":"","sources":["../../../src/connector/operation/CompositeOperationExecutionPolling.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,oBAAoB,EACpB,uBAAuB,EAEvB,sBAAsB,EAEtB,oBAAoB,EAEpB,MAAM,sDAAsD,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,+DAA+D,CAAC;AAC1G,OAAO,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AAEvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAC;AAExF,MAAM,MAAM,6BAA6B,GAAG,mBAAmB,GAAG;IACjE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,CAAC;AAsEF,eAAO,MAAM,kBAAkB,gBACjB,oBAAoB,KAC/B,OAEqD,CAAC;AAoCzD;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACxC,IAAI,SAAS,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,EACnD,EAAE,EACF,GAAG,EACF,IAAI,EAAE;IACP,GAAG,EAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACnC,KAAK,EAAE,EAAE,CAAC;IACV,OAAO,EAAE,yBAAyB,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAClD,wBAAwB,EAAE,iCAAiC,CAAC;IAC5D,yBAAyB,EAAE,CAAC,CAAC,EAAE,sBAAsB,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;IACpE,cAAc,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,sBAAsB,CAAC,GAAG,CAAC,CAAC;CAC5D,GAAG,OAAO,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAiCvC;AAED,wBAAgB,8BAA8B,CAC7C,IAAI,SAAS,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,EAClD,IAAI,EAAE;IACP,GAAG,EAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACnC,WAAW,EACR,oBAAoB,CAAC,iBAAiB,GACtC,oBAAoB,CAAC,kBAAkB,CAAC;IAC3C,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,6BAA6B,CAAC;IAC5C,oBAAoB,EAAE,oBAAoB,CAAC;CAC3C,GAAG,OAAO,CAAC,IAAI,CAAC,CAkDhB"}
|
|
@@ -121,6 +121,7 @@ function runPollingRegisterOrDeregister(args) {
|
|
|
121
121
|
pollingInterval: pollingInput.pollingInterval,
|
|
122
122
|
maxFailureCount: pollingInput.maxFailureCount,
|
|
123
123
|
initialCursor: pollingInput.initialCursor,
|
|
124
|
+
operationInput: pollingInput.operationInput,
|
|
124
125
|
}, registerCtx.executionToken);
|
|
125
126
|
}
|
|
126
127
|
case OperationHandler_1.OperationHandlerType.TriggerPollDestroy: {
|
|
@@ -12,6 +12,13 @@ export type PollingServiceRegisterPayload = {
|
|
|
12
12
|
pollingInterval?: PollingInterval;
|
|
13
13
|
maxFailureCount?: number;
|
|
14
14
|
initialCursor?: string | null;
|
|
15
|
+
/**
|
|
16
|
+
* Connector-defined operation input (opaque to the platform). The
|
|
17
|
+
* Polling Service persists this against the subscription and replays it
|
|
18
|
+
* to the connector on every poll tick so the poll handler has the
|
|
19
|
+
* configuration it needs (e.g. the SOQL query for a Salesforce poll).
|
|
20
|
+
*/
|
|
21
|
+
operationInput: unknown;
|
|
15
22
|
};
|
|
16
23
|
export type PollingServiceDeregisterPayload = {
|
|
17
24
|
connectorName: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PollingServiceClient.d.ts","sourceRoot":"","sources":["../../../src/connector/polling/PollingServiceClient.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE7D,OAAO,EAGN,eAAe,EAEf,MAAM,kDAAkD,CAAC;AAuB1D,MAAM,MAAM,6BAA6B,GAAG;IAC3C,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"PollingServiceClient.d.ts","sourceRoot":"","sources":["../../../src/connector/polling/PollingServiceClient.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE7D,OAAO,EAGN,eAAe,EAEf,MAAM,kDAAkD,CAAC;AAuB1D,MAAM,MAAM,6BAA6B,GAAG;IAC3C,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B;;;;;OAKG;IACH,cAAc,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC7C,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,qBAAqB,EAAE,MAAM,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,cAAc,EAAE,OAAO,CAAC;CACxB,CAAC;AA4BF;;;;GAIG;AACH,qBAAa,oBAAoB;IACpB,OAAO,CAAC,UAAU;gBAAV,UAAU,EAAE,UAAU;IAEpC,QAAQ,CACb,OAAO,EAAE,6BAA6B,EACtC,cAAc,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC;IAyBV,UAAU,CACf,OAAO,EAAE,+BAA+B,EACxC,cAAc,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC;YAaF,QAAQ;CAgCtB"}
|
|
@@ -60,6 +60,7 @@ const minimalRegister = (overrides = {}) => ({
|
|
|
60
60
|
workspaceId: 'ws-id',
|
|
61
61
|
projectId: 'project-uuid',
|
|
62
62
|
publicUrl: 'u',
|
|
63
|
+
operationInput: {},
|
|
63
64
|
...overrides,
|
|
64
65
|
});
|
|
65
66
|
describe('PollingServiceClient', () => {
|
|
@@ -95,6 +96,10 @@ describe('PollingServiceClient', () => {
|
|
|
95
96
|
},
|
|
96
97
|
maxFailureCount: 42,
|
|
97
98
|
initialCursor: 'cursor-0',
|
|
99
|
+
operationInput: {
|
|
100
|
+
soqlQuery: 'SELECT Id, Name FROM Account',
|
|
101
|
+
objectType: 'Account',
|
|
102
|
+
},
|
|
98
103
|
}, 'exec-jwt-token');
|
|
99
104
|
expect(captured).toHaveLength(1);
|
|
100
105
|
const call = captured[0];
|
|
@@ -116,6 +121,10 @@ describe('PollingServiceClient', () => {
|
|
|
116
121
|
interval: 10,
|
|
117
122
|
maxFailureCount: 42,
|
|
118
123
|
initialCursor: 'cursor-0',
|
|
124
|
+
operationInput: {
|
|
125
|
+
soqlQuery: 'SELECT Id, Name FROM Account',
|
|
126
|
+
objectType: 'Account',
|
|
127
|
+
},
|
|
119
128
|
});
|
|
120
129
|
});
|
|
121
130
|
it('sends interval in minutes for PollingIntervalUnit.Minutes', async () => {
|
|
@@ -147,6 +156,25 @@ describe('PollingServiceClient', () => {
|
|
|
147
156
|
initialCursor: null,
|
|
148
157
|
});
|
|
149
158
|
});
|
|
159
|
+
it('forwards operationInput verbatim to the PS register body', async () => {
|
|
160
|
+
const captured = [];
|
|
161
|
+
const client = new PollingServiceClient_1.PollingServiceClient(createMockHttpClient(captured));
|
|
162
|
+
const operationInput = {
|
|
163
|
+
soqlQuery: "SELECT Id FROM Account WHERE Name = 'Acme'",
|
|
164
|
+
nested: { folderId: 'fld_1', tags: ['a', 'b'] },
|
|
165
|
+
};
|
|
166
|
+
await client.register(minimalRegister({ operationInput }), 'tok');
|
|
167
|
+
const body = captured[0].body;
|
|
168
|
+
expect(body).toHaveProperty('operationInput');
|
|
169
|
+
expect(body.operationInput).toEqual(operationInput);
|
|
170
|
+
});
|
|
171
|
+
it('coerces an undefined operationInput to `null` on the wire so the key is always present', async () => {
|
|
172
|
+
const captured = [];
|
|
173
|
+
const client = new PollingServiceClient_1.PollingServiceClient(createMockHttpClient(captured));
|
|
174
|
+
await client.register(minimalRegister({ operationInput: undefined }), 'tok');
|
|
175
|
+
const body = captured[0].body;
|
|
176
|
+
expect(body).toHaveProperty('operationInput', null);
|
|
177
|
+
});
|
|
150
178
|
it('sends authenticationId as null on the wire when caller passes null', async () => {
|
|
151
179
|
const captured = [];
|
|
152
180
|
const client = new PollingServiceClient_1.PollingServiceClient(createMockHttpClient(captured));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trayio/cdk-runtime",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.23.0",
|
|
4
4
|
"description": "A Runtime that executes connector operations defined using the CDK DSL",
|
|
5
5
|
"exports": {
|
|
6
6
|
"./*": "./dist/*.js"
|
|
@@ -14,10 +14,10 @@
|
|
|
14
14
|
"node": ">=18.x"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@trayio/axios": "5.
|
|
18
|
-
"@trayio/cdk-dsl": "5.
|
|
19
|
-
"@trayio/express": "5.
|
|
20
|
-
"@trayio/winston": "5.
|
|
17
|
+
"@trayio/axios": "5.23.0",
|
|
18
|
+
"@trayio/cdk-dsl": "5.23.0",
|
|
19
|
+
"@trayio/express": "5.23.0",
|
|
20
|
+
"@trayio/winston": "5.23.0",
|
|
21
21
|
"mime": "3.0.0",
|
|
22
22
|
"uuid": "9.0.0"
|
|
23
23
|
},
|