@ductape/sdk 0.1.132 → 0.1.134
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/functions/functions.runtime.d.ts +6 -1
- package/dist/functions/functions.runtime.js +79 -48
- package/dist/functions/functions.runtime.js.map +1 -1
- package/dist/functions/types.d.ts +24 -1
- package/dist/functions/types.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/processor/services/processor.service.d.ts +2 -2
- package/dist/products/services/products.service.js +45 -33
- package/dist/products/services/products.service.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { IPortableFunctionContext, IPortableFunctionContract, IPortableFunctionReference, PortableFunctionClient, PortableFunctionEventsInvoker, PortableJsonSchema } from './types';
|
|
1
|
+
import type { IPortableFunctionContext, IPortableFunctionContract, IPortableFunctionReference, PortableFunctionClient, PortableFunctionEventsInvoker, PortableFunctionGrpcInvoker, PortableJsonSchema } from './types';
|
|
2
2
|
export declare class PortableFunctionError extends Error {
|
|
3
3
|
readonly code: string;
|
|
4
4
|
readonly retryable: boolean;
|
|
@@ -7,7 +7,11 @@ export declare class PortableFunctionError extends Error {
|
|
|
7
7
|
}
|
|
8
8
|
export declare class PortableFunctionsRegistry {
|
|
9
9
|
private eventsInvoker?;
|
|
10
|
+
private grpcInvoker?;
|
|
11
|
+
private readonly resolvedTransports;
|
|
10
12
|
registerEventsInvoker(invoker: PortableFunctionEventsInvoker): void;
|
|
13
|
+
/** Registers a pooled gRPC client/invoker. The invoker must enforce TLS and workload identity. */
|
|
14
|
+
registerGrpcInvoker(invoker: PortableFunctionGrpcInvoker): void;
|
|
11
15
|
register<T extends IPortableFunctionContract>(contract: T): PortableFunctionClient<T>;
|
|
12
16
|
use<T extends IPortableFunctionContract>(contract: T): PortableFunctionClient<T>;
|
|
13
17
|
get(namespace: string, version: string): IPortableFunctionContract | undefined;
|
|
@@ -17,6 +21,7 @@ export declare class PortableFunctionsRegistry {
|
|
|
17
21
|
operations: string[];
|
|
18
22
|
}>;
|
|
19
23
|
invoke(reference: IPortableFunctionReference, input: unknown, context: IPortableFunctionContext, accessKey: string): Promise<unknown>;
|
|
24
|
+
private invokeHttp;
|
|
20
25
|
}
|
|
21
26
|
export declare const portableFunctions: PortableFunctionsRegistry;
|
|
22
27
|
export declare function referenceFromContract(contract: IPortableFunctionContract, operation: string): IPortableFunctionReference;
|
|
@@ -20,9 +20,14 @@ class PortableFunctionError extends Error {
|
|
|
20
20
|
}
|
|
21
21
|
exports.PortableFunctionError = PortableFunctionError;
|
|
22
22
|
class PortableFunctionsRegistry {
|
|
23
|
+
constructor() {
|
|
24
|
+
this.resolvedTransports = new Map();
|
|
25
|
+
}
|
|
23
26
|
registerEventsInvoker(invoker) {
|
|
24
27
|
this.eventsInvoker = invoker;
|
|
25
28
|
}
|
|
29
|
+
/** Registers a pooled gRPC client/invoker. The invoker must enforce TLS and workload identity. */
|
|
30
|
+
registerGrpcInvoker(invoker) { this.grpcInvoker = invoker; }
|
|
26
31
|
register(contract) {
|
|
27
32
|
assertIdentifier(contract.namespace, 'namespace');
|
|
28
33
|
assertIdentifier(contract.version, 'version');
|
|
@@ -59,7 +64,7 @@ class PortableFunctionsRegistry {
|
|
|
59
64
|
}));
|
|
60
65
|
}
|
|
61
66
|
async invoke(reference, input, context, accessKey) {
|
|
62
|
-
var _a, _b, _c
|
|
67
|
+
var _a, _b, _c;
|
|
63
68
|
validatePortableValue(reference.input_schema, input, 'input');
|
|
64
69
|
const local = (_a = this.get(reference.namespace, reference.version)) === null || _a === void 0 ? void 0 : _a.operations[reference.operation];
|
|
65
70
|
let output;
|
|
@@ -90,73 +95,95 @@ class PortableFunctionsRegistry {
|
|
|
90
95
|
output = await (0, context_1.runWithExecutionContext)(functionContext, () => withDeadline(Promise.resolve(local.handler(input, context)), reference.timeout_ms, reference));
|
|
91
96
|
}
|
|
92
97
|
else {
|
|
93
|
-
const
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
}
|
|
106
|
-
else if (!http || http.type !== 'http') {
|
|
107
|
-
throw new PortableFunctionError('FUNCTION_UNAVAILABLE', `No local handler, configured Events invoker, or HTTP transport is available for ${reference.namespace}.${reference.operation}@${reference.version}.`, true);
|
|
108
|
-
}
|
|
109
|
-
else {
|
|
110
|
-
if (!accessKey)
|
|
111
|
-
throw new PortableFunctionError('FUNCTION_AUTH_UNAVAILABLE', 'An access key is required for signed HTTP function invocation.');
|
|
112
|
-
const invocation = {
|
|
113
|
-
function: { namespace: reference.namespace, operation: reference.operation, version: reference.version },
|
|
114
|
-
input: input, context,
|
|
115
|
-
};
|
|
116
|
-
const body = JSON.stringify(invocation);
|
|
117
|
-
const timestamp = Date.now().toString();
|
|
118
|
-
const signature = signInvocation(accessKey, timestamp, body);
|
|
119
|
-
const controller = new AbortController();
|
|
120
|
-
const timeout = setTimeout(() => controller.abort(), (_d = (_c = http.timeout_ms) !== null && _c !== void 0 ? _c : reference.timeout_ms) !== null && _d !== void 0 ? _d : 15000);
|
|
98
|
+
const invocation = {
|
|
99
|
+
function: { namespace: reference.namespace, operation: reference.operation, version: reference.version },
|
|
100
|
+
input: input, context,
|
|
101
|
+
};
|
|
102
|
+
const cacheKey = `${reference.namespace}.${reference.operation}@${reference.version}`;
|
|
103
|
+
const cached = this.resolvedTransports.get(cacheKey);
|
|
104
|
+
const priority = { grpc: 0, events: 1, http: 2 };
|
|
105
|
+
const transports = reference.transports
|
|
106
|
+
.filter((transport) => transport.type !== 'local')
|
|
107
|
+
.sort((a, b) => cached && cached.expiresAt > Date.now() && a.type === cached.type ? -1 : cached && cached.expiresAt > Date.now() && b.type === cached.type ? 1 : priority[a.type] - priority[b.type]);
|
|
108
|
+
let lastUnavailable;
|
|
109
|
+
for (const transport of transports) {
|
|
121
110
|
try {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
'x-ductape-signature': signature,
|
|
129
|
-
'x-ductape-function': `${reference.namespace}.${reference.operation}@${reference.version}`,
|
|
130
|
-
},
|
|
131
|
-
});
|
|
132
|
-
const responseBody = await response.json();
|
|
133
|
-
if (!response.ok || responseBody.error) {
|
|
134
|
-
throw new PortableFunctionError((_f = (_e = responseBody.error) === null || _e === void 0 ? void 0 : _e.code) !== null && _f !== void 0 ? _f : 'FUNCTION_HTTP_ERROR', (_h = (_g = responseBody.error) === null || _g === void 0 ? void 0 : _g.message) !== null && _h !== void 0 ? _h : `Function endpoint returned HTTP ${response.status}.`, (_k = (_j = responseBody.error) === null || _j === void 0 ? void 0 : _j.retryable) !== null && _k !== void 0 ? _k : response.status >= 500, (_l = responseBody.error) === null || _l === void 0 ? void 0 : _l.details);
|
|
111
|
+
let response;
|
|
112
|
+
if (transport.type === 'grpc') {
|
|
113
|
+
if (!this.grpcInvoker)
|
|
114
|
+
continue;
|
|
115
|
+
assertSecureGrpcTransport(transport);
|
|
116
|
+
response = await withDeadline(this.grpcInvoker(transport, invocation), (_b = transport.timeout_ms) !== null && _b !== void 0 ? _b : reference.timeout_ms, reference);
|
|
135
117
|
}
|
|
136
|
-
if (
|
|
137
|
-
|
|
118
|
+
else if (transport.type === 'events') {
|
|
119
|
+
if (!this.eventsInvoker)
|
|
120
|
+
continue;
|
|
121
|
+
response = await withDeadline(this.eventsInvoker(transport, invocation), (_c = transport.timeout_ms) !== null && _c !== void 0 ? _c : reference.timeout_ms, reference);
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
response = await this.invokeHttp(transport, invocation, reference, accessKey);
|
|
138
125
|
}
|
|
139
|
-
|
|
126
|
+
if (response.invocation_id !== context.invocation_id)
|
|
127
|
+
throw new PortableFunctionError('FUNCTION_CORRELATION_MISMATCH', 'Function response invocation_id does not match the request.');
|
|
128
|
+
if (response.error)
|
|
129
|
+
throw new PortableFunctionError(response.error.code, response.error.message, response.error.retryable, response.error.details);
|
|
130
|
+
this.resolvedTransports.set(cacheKey, { type: transport.type, expiresAt: Date.now() + 300000 });
|
|
131
|
+
output = response.output;
|
|
132
|
+
break;
|
|
140
133
|
}
|
|
141
|
-
|
|
142
|
-
|
|
134
|
+
catch (error) {
|
|
135
|
+
if (!isTransportUnavailable(error) || (transport.type === 'grpc' && transport.allow_fallback === false))
|
|
136
|
+
throw error;
|
|
137
|
+
lastUnavailable = error;
|
|
138
|
+
this.resolvedTransports.delete(cacheKey);
|
|
143
139
|
}
|
|
144
140
|
}
|
|
141
|
+
if (output === undefined && reference.output_schema.type !== 'null') {
|
|
142
|
+
if (lastUnavailable)
|
|
143
|
+
throw lastUnavailable;
|
|
144
|
+
throw new PortableFunctionError('FUNCTION_UNAVAILABLE', `No local handler, pooled gRPC invoker, Events invoker, or signed HTTP transport is available for ${cacheKey}.`, true);
|
|
145
|
+
}
|
|
145
146
|
}
|
|
146
147
|
validatePortableValue(reference.output_schema, output, 'output');
|
|
147
148
|
return output;
|
|
148
149
|
}
|
|
150
|
+
async invokeHttp(http, invocation, reference, accessKey) {
|
|
151
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
152
|
+
assertSecureFunctionUrl(http.url);
|
|
153
|
+
if (!accessKey)
|
|
154
|
+
throw new PortableFunctionError('FUNCTION_AUTH_UNAVAILABLE', 'An access key is required for signed HTTP function invocation.');
|
|
155
|
+
const body = JSON.stringify(invocation), timestamp = Date.now().toString(), controller = new AbortController();
|
|
156
|
+
const timeout = setTimeout(() => controller.abort(), (_b = (_a = http.timeout_ms) !== null && _a !== void 0 ? _a : reference.timeout_ms) !== null && _b !== void 0 ? _b : 15000);
|
|
157
|
+
try {
|
|
158
|
+
const response = await fetch(http.url, { method: 'POST', body, signal: controller.signal, headers: { 'content-type': 'application/json', 'x-ductape-invocation-id': invocation.context.invocation_id, 'x-ductape-timestamp': timestamp, 'x-ductape-signature': signInvocation(accessKey, timestamp, body), 'x-ductape-function': `${reference.namespace}.${reference.operation}@${reference.version}` } });
|
|
159
|
+
const responseBody = await response.json();
|
|
160
|
+
if (!response.ok || responseBody.error)
|
|
161
|
+
throw new PortableFunctionError((_d = (_c = responseBody.error) === null || _c === void 0 ? void 0 : _c.code) !== null && _d !== void 0 ? _d : 'FUNCTION_HTTP_ERROR', (_f = (_e = responseBody.error) === null || _e === void 0 ? void 0 : _e.message) !== null && _f !== void 0 ? _f : `Function endpoint returned HTTP ${response.status}.`, (_h = (_g = responseBody.error) === null || _g === void 0 ? void 0 : _g.retryable) !== null && _h !== void 0 ? _h : response.status >= 500, (_j = responseBody.error) === null || _j === void 0 ? void 0 : _j.details);
|
|
162
|
+
return responseBody;
|
|
163
|
+
}
|
|
164
|
+
catch (error) {
|
|
165
|
+
if ((error === null || error === void 0 ? void 0 : error.name) === 'AbortError')
|
|
166
|
+
throw new PortableFunctionError('FUNCTION_TIMEOUT', 'HTTP function invocation timed out.', true);
|
|
167
|
+
throw error;
|
|
168
|
+
}
|
|
169
|
+
finally {
|
|
170
|
+
clearTimeout(timeout);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
149
173
|
}
|
|
150
174
|
exports.PortableFunctionsRegistry = PortableFunctionsRegistry;
|
|
151
175
|
exports.portableFunctions = new PortableFunctionsRegistry();
|
|
152
176
|
function referenceFromContract(contract, operation) {
|
|
153
|
-
var _a, _b, _c;
|
|
177
|
+
var _a, _b, _c, _d;
|
|
154
178
|
const definition = contract.operations[operation];
|
|
155
179
|
if (!definition)
|
|
156
180
|
throw new PortableFunctionError('FUNCTION_OPERATION_NOT_FOUND', `${contract.namespace}.${operation}@${contract.version} is not declared.`);
|
|
157
181
|
const declared = (_a = definition.transports) !== null && _a !== void 0 ? _a : [{ type: 'local' }];
|
|
158
182
|
const baseUrl = typeof process !== 'undefined' ? (_c = (_b = process.env) === null || _b === void 0 ? void 0 : _b.DUCTAPE_FUNCTION_BASE_URL) === null || _c === void 0 ? void 0 : _c.replace(/\/$/, '') : undefined;
|
|
183
|
+
const grpcEndpoint = typeof process !== 'undefined' ? (_d = process.env) === null || _d === void 0 ? void 0 : _d.DUCTAPE_FUNCTION_GRPC_ENDPOINT : undefined;
|
|
159
184
|
const transports = [...declared];
|
|
185
|
+
if (grpcEndpoint && !transports.some(transport => transport.type === 'grpc'))
|
|
186
|
+
transports.push({ type: 'grpc', endpoint: grpcEndpoint, authentication: 'mtls', tls: { ca_env: 'DUCTAPE_FUNCTION_GRPC_CA', cert_env: 'DUCTAPE_FUNCTION_GRPC_CERT', key_env: 'DUCTAPE_FUNCTION_GRPC_KEY' }, timeout_ms: definition.timeout_ms });
|
|
160
187
|
if (baseUrl && !transports.some(transport => transport.type === 'http')) {
|
|
161
188
|
assertSecureFunctionUrl(baseUrl);
|
|
162
189
|
transports.push({
|
|
@@ -173,6 +200,10 @@ function referenceFromContract(contract, operation) {
|
|
|
173
200
|
timeout_ms: definition.timeout_ms, idempotent: definition.idempotent,
|
|
174
201
|
};
|
|
175
202
|
}
|
|
203
|
+
function assertSecureGrpcTransport(transport) { if (transport.authentication !== 'mtls')
|
|
204
|
+
throw new PortableFunctionError('FUNCTION_INSECURE_TRANSPORT', 'Remote gRPC portable functions require mTLS.'); if (!/^[A-Za-z0-9._-]+:\d{1,5}$/.test(transport.endpoint))
|
|
205
|
+
throw new PortableFunctionError('FUNCTION_CONTRACT_INVALID', 'gRPC endpoint must be host:port.'); }
|
|
206
|
+
function isTransportUnavailable(error) { var _a; const code = error instanceof PortableFunctionError ? error.code : String((_a = error === null || error === void 0 ? void 0 : error.code) !== null && _a !== void 0 ? _a : ''); return ['FUNCTION_UNAVAILABLE', 'FUNCTION_TIMEOUT', 'UNAVAILABLE', 'DEADLINE_EXCEEDED', '14', '4'].includes(code); }
|
|
176
207
|
function assertSecureFunctionUrl(url) {
|
|
177
208
|
let parsed;
|
|
178
209
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.runtime.js","sourceRoot":"","sources":["../../src/functions/functions.runtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"functions.runtime.js","sourceRoot":"","sources":["../../src/functions/functions.runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,6 +40,28 @@ export interface IPortableFunctionHttpTransport {
|
|
|
40
40
|
export interface IPortableFunctionLocalTransport {
|
|
41
41
|
type: 'local';
|
|
42
42
|
}
|
|
43
|
+
export interface IPortableFunctionGrpcTransport {
|
|
44
|
+
type: 'grpc';
|
|
45
|
+
/** Host and port only; grpc:// URLs are deliberately rejected. */
|
|
46
|
+
endpoint: string;
|
|
47
|
+
/** Defaults to ductape.functions.v1.PortableFunctions. */
|
|
48
|
+
service?: string;
|
|
49
|
+
/** Defaults to Invoke. */
|
|
50
|
+
method?: string;
|
|
51
|
+
timeout_ms?: number;
|
|
52
|
+
/** Production gRPC requires mutually authenticated TLS. */
|
|
53
|
+
authentication: 'mtls';
|
|
54
|
+
/** Optional TLS server name override used for certificate verification. */
|
|
55
|
+
server_name?: string;
|
|
56
|
+
/** Environment-variable names containing PEM material; never put PEM/secrets in a contract. */
|
|
57
|
+
tls?: {
|
|
58
|
+
ca_env?: string;
|
|
59
|
+
cert_env?: string;
|
|
60
|
+
key_env?: string;
|
|
61
|
+
};
|
|
62
|
+
/** Permit fallback after UNAVAILABLE/deadline failures. Defaults to true. Auth/schema errors never fall back. */
|
|
63
|
+
allow_fallback?: boolean;
|
|
64
|
+
}
|
|
43
65
|
export interface IPortableFunctionEventsTransport {
|
|
44
66
|
type: 'events';
|
|
45
67
|
/** Full broker/topic event names. */
|
|
@@ -47,7 +69,8 @@ export interface IPortableFunctionEventsTransport {
|
|
|
47
69
|
response_event: string;
|
|
48
70
|
timeout_ms?: number;
|
|
49
71
|
}
|
|
50
|
-
export type PortableFunctionTransport = IPortableFunctionLocalTransport | IPortableFunctionHttpTransport | IPortableFunctionEventsTransport;
|
|
72
|
+
export type PortableFunctionTransport = IPortableFunctionLocalTransport | IPortableFunctionGrpcTransport | IPortableFunctionHttpTransport | IPortableFunctionEventsTransport;
|
|
73
|
+
export type PortableFunctionGrpcInvoker = (transport: IPortableFunctionGrpcTransport, invocation: IPortableFunctionInvocation) => Promise<IPortableFunctionInvocationResponse>;
|
|
51
74
|
export type PortableFunctionEventsInvoker = (transport: IPortableFunctionEventsTransport, invocation: IPortableFunctionInvocation) => Promise<IPortableFunctionInvocationResponse>;
|
|
52
75
|
export interface IPortableFunctionOperationContract<TInput = Record<string, unknown>, TOutput = unknown> {
|
|
53
76
|
input: PortableJsonSchema;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/functions/types.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/functions/types.ts"],"names":[],"mappings":";;AAmIA,0CAEC;AAMD,wCAIC;AAZD,SAAgB,eAAe,CAAsC,QAAW;IAC9E,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,SAAgB,cAAc,CAC5B,SAA8D;IAE9D,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -316,6 +316,7 @@ export default class Ductape implements IDuctape {
|
|
|
316
316
|
version: string;
|
|
317
317
|
operations: string[];
|
|
318
318
|
}[];
|
|
319
|
+
registerGrpcInvoker: (invoker: import("./functions").PortableFunctionGrpcInvoker) => void;
|
|
319
320
|
registerEventsInvoker: (invoker: import("./functions").PortableFunctionEventsInvoker) => void;
|
|
320
321
|
};
|
|
321
322
|
/** Atomic keyed request enforcement; distinct from weighted provider quotas. */
|
package/dist/index.js
CHANGED
|
@@ -523,6 +523,7 @@ class Ductape {
|
|
|
523
523
|
register: (contract) => functions_1.portableFunctions.register(contract),
|
|
524
524
|
use: (contract) => functions_1.portableFunctions.use(contract),
|
|
525
525
|
list: () => functions_1.portableFunctions.list(),
|
|
526
|
+
registerGrpcInvoker: (invoker) => functions_1.portableFunctions.registerGrpcInvoker(invoker),
|
|
526
527
|
registerEventsInvoker: (invoker) => functions_1.portableFunctions.registerEventsInvoker(invoker),
|
|
527
528
|
};
|
|
528
529
|
/** Atomic keyed request enforcement; distinct from weighted provider quotas. */
|