@sokel-dev/plugin-sdk 0.5.5 → 0.6.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/src/errors.d.ts +38 -0
- package/dist/src/errors.js +43 -0
- package/dist/src/errors.js.map +1 -0
- package/dist/src/index.d.ts +4 -3
- package/dist/src/index.js +7 -3
- package/dist/src/index.js.map +1 -1
- package/dist/src/nats.d.ts +2 -0
- package/dist/src/nats.js +10 -3
- package/dist/src/nats.js.map +1 -1
- package/dist/src/plugin.d.ts +2 -0
- package/dist/src/plugin.js +17 -2
- package/dist/src/plugin.js.map +1 -1
- package/dist/src/protocol.d.ts +23 -0
- package/dist/src/protocol.js +42 -0
- package/dist/src/protocol.js.map +1 -0
- package/dist/src/runtime.d.ts +7 -0
- package/dist/src/runtime.js +7 -0
- package/dist/src/runtime.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Typed errors.
|
|
3
|
+
*
|
|
4
|
+
* Errors used to travel as a bare string both ways: callers matched English text, and a plugin had no
|
|
5
|
+
* way to tell the platform "this is a credential problem" or "retrying may help". Throw one of the
|
|
6
|
+
* PluginError subclasses from a handler and its `code` travels next to the message (`code` /
|
|
7
|
+
* `retryable` in the reply, or in a streaming `error` frame). The SDK's own failures extend SokelError.
|
|
8
|
+
*/
|
|
9
|
+
/** Base class of everything the SDK throws on purpose. */
|
|
10
|
+
export declare class SokelError extends Error {
|
|
11
|
+
constructor(message: string);
|
|
12
|
+
}
|
|
13
|
+
/** The platform answered that it offers no transport (as opposed to a network failure). */
|
|
14
|
+
export declare class NoTransport extends SokelError {
|
|
15
|
+
}
|
|
16
|
+
/** A handler error with a code for the platform. Use a subclass. */
|
|
17
|
+
export declare class PluginError extends SokelError {
|
|
18
|
+
readonly code: string;
|
|
19
|
+
readonly retryable: boolean;
|
|
20
|
+
}
|
|
21
|
+
/** A transient failure (rate limit, upstream 5xx, timeout): trying again may work. */
|
|
22
|
+
export declare class Retryable extends PluginError {
|
|
23
|
+
readonly code = "retryable";
|
|
24
|
+
readonly retryable = true;
|
|
25
|
+
}
|
|
26
|
+
/** The credential was rejected upstream (revoked, expired, wrong key). Retrying will not help. */
|
|
27
|
+
export declare class CredentialInvalid extends PluginError {
|
|
28
|
+
readonly code = "credential_invalid";
|
|
29
|
+
}
|
|
30
|
+
/** The input is wrong for this operation. Retrying the same input will not help. */
|
|
31
|
+
export declare class InvalidInput extends PluginError {
|
|
32
|
+
readonly code = "invalid_input";
|
|
33
|
+
}
|
|
34
|
+
/** The code fields for a reply or error frame; empty for an uncoded error. */
|
|
35
|
+
export declare function errorFields(e: unknown): {
|
|
36
|
+
code?: string;
|
|
37
|
+
retryable?: true;
|
|
38
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Typed errors.
|
|
3
|
+
*
|
|
4
|
+
* Errors used to travel as a bare string both ways: callers matched English text, and a plugin had no
|
|
5
|
+
* way to tell the platform "this is a credential problem" or "retrying may help". Throw one of the
|
|
6
|
+
* PluginError subclasses from a handler and its `code` travels next to the message (`code` /
|
|
7
|
+
* `retryable` in the reply, or in a streaming `error` frame). The SDK's own failures extend SokelError.
|
|
8
|
+
*/
|
|
9
|
+
/** Base class of everything the SDK throws on purpose. */
|
|
10
|
+
export class SokelError extends Error {
|
|
11
|
+
constructor(message) {
|
|
12
|
+
super(message);
|
|
13
|
+
this.name = new.target.name;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
/** The platform answered that it offers no transport (as opposed to a network failure). */
|
|
17
|
+
export class NoTransport extends SokelError {
|
|
18
|
+
}
|
|
19
|
+
/** A handler error with a code for the platform. Use a subclass. */
|
|
20
|
+
export class PluginError extends SokelError {
|
|
21
|
+
code = "";
|
|
22
|
+
retryable = false;
|
|
23
|
+
}
|
|
24
|
+
/** A transient failure (rate limit, upstream 5xx, timeout): trying again may work. */
|
|
25
|
+
export class Retryable extends PluginError {
|
|
26
|
+
code = "retryable";
|
|
27
|
+
retryable = true;
|
|
28
|
+
}
|
|
29
|
+
/** The credential was rejected upstream (revoked, expired, wrong key). Retrying will not help. */
|
|
30
|
+
export class CredentialInvalid extends PluginError {
|
|
31
|
+
code = "credential_invalid";
|
|
32
|
+
}
|
|
33
|
+
/** The input is wrong for this operation. Retrying the same input will not help. */
|
|
34
|
+
export class InvalidInput extends PluginError {
|
|
35
|
+
code = "invalid_input";
|
|
36
|
+
}
|
|
37
|
+
/** The code fields for a reply or error frame; empty for an uncoded error. */
|
|
38
|
+
export function errorFields(e) {
|
|
39
|
+
if (e instanceof PluginError && e.code)
|
|
40
|
+
return e.retryable ? { code: e.code, retryable: true } : { code: e.code };
|
|
41
|
+
return {};
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,0DAA0D;AAC1D,MAAM,OAAO,UAAW,SAAQ,KAAK;IACnC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;IAC9B,CAAC;CACF;AAED,2FAA2F;AAC3F,MAAM,OAAO,WAAY,SAAQ,UAAU;CAAG;AAE9C,oEAAoE;AACpE,MAAM,OAAO,WAAY,SAAQ,UAAU;IAChC,IAAI,GAAW,EAAE,CAAC;IAClB,SAAS,GAAY,KAAK,CAAC;CACrC;AAED,sFAAsF;AACtF,MAAM,OAAO,SAAU,SAAQ,WAAW;IACtB,IAAI,GAAG,WAAW,CAAC;IACnB,SAAS,GAAG,IAAI,CAAC;CACpC;AAED,kGAAkG;AAClG,MAAM,OAAO,iBAAkB,SAAQ,WAAW;IAC9B,IAAI,GAAG,oBAAoB,CAAC;CAC/C;AAED,oFAAoF;AACpF,MAAM,OAAO,YAAa,SAAQ,WAAW;IACzB,IAAI,GAAG,eAAe,CAAC;CAC1C;AAED,8EAA8E;AAC9E,MAAM,UAAU,WAAW,CAAC,CAAU;IACpC,IAAI,CAAC,YAAY,WAAW,IAAI,CAAC,CAAC,IAAI;QAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAClH,OAAO,EAAE,CAAC;AACZ,CAAC"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -16,16 +16,17 @@
|
|
|
16
16
|
* ```
|
|
17
17
|
*/
|
|
18
18
|
export { Plugin } from "./plugin.js";
|
|
19
|
+
export { SDKTooOld } from "./protocol.js";
|
|
20
|
+
export { SokelError, NoTransport, PluginError, Retryable, CredentialInvalid, InvalidInput } from "./errors.js";
|
|
19
21
|
export type { Call, Config, Invoke, WebhookHandler } from "./plugin.js";
|
|
20
22
|
export { Contract, CAP_WEBHOOK, OP_WEBHOOK } from "./contract.js";
|
|
21
23
|
export type { ContractData, EventSpec, Field, OperationSpec } from "./contract.js";
|
|
22
|
-
export {
|
|
24
|
+
export { Ctx, Emitter } from "./runtime.js";
|
|
23
25
|
export type { FileRuntime, Frame, Sink, SokelFile } from "./runtime.js";
|
|
24
|
-
export { CredEntry, SourceCtx
|
|
26
|
+
export { CredEntry, SourceCtx } from "./events.js";
|
|
25
27
|
export type { Source } from "./events.js";
|
|
26
28
|
export { WebhookRequest, ok, text } from "./webhook.js";
|
|
27
29
|
export type { WebhookFrame, WebhookResponse } from "./webhook.js";
|
|
28
30
|
export { CONFIRMED, EXPIRED, PENDING, SCANNED } from "./auth.js";
|
|
29
31
|
export type { AuthChallenge, AuthHandlers, AuthState } from "./auth.js";
|
|
30
32
|
export { env, envOr } from "./env.js";
|
|
31
|
-
export { NatsTransport, QUEUE_GROUP, discover, stableInstanceId } from "./nats.js";
|
package/dist/src/index.js
CHANGED
|
@@ -17,12 +17,16 @@
|
|
|
17
17
|
* await p.run();
|
|
18
18
|
* ```
|
|
19
19
|
*/
|
|
20
|
+
// Only the author-facing API is exported (v0.6.0). The transport internals (NatsTransport, discover,
|
|
21
|
+
// stableInstanceId, QUEUE_GROUP, SourceSupervisor, StateBoard, desiredSourceCreds, BufferSink) used to
|
|
22
|
+
// be exported too, which made every transport refactor a breaking change for whoever had reached in.
|
|
20
23
|
export { Plugin } from "./plugin.js";
|
|
24
|
+
export { SDKTooOld } from "./protocol.js";
|
|
25
|
+
export { SokelError, NoTransport, PluginError, Retryable, CredentialInvalid, InvalidInput } from "./errors.js";
|
|
21
26
|
export { Contract, CAP_WEBHOOK, OP_WEBHOOK } from "./contract.js";
|
|
22
|
-
export {
|
|
23
|
-
export { CredEntry, SourceCtx
|
|
27
|
+
export { Ctx, Emitter } from "./runtime.js";
|
|
28
|
+
export { CredEntry, SourceCtx } from "./events.js";
|
|
24
29
|
export { WebhookRequest, ok, text } from "./webhook.js";
|
|
25
30
|
export { CONFIRMED, EXPIRED, PENDING, SCANNED } from "./auth.js";
|
|
26
31
|
export { env, envOr } from "./env.js";
|
|
27
|
-
export { NatsTransport, QUEUE_GROUP, discover, stableInstanceId } from "./nats.js";
|
|
28
32
|
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC,sCAAsC;AAEtC;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC,sCAAsC;AAEtC;;;;;;;;;;;;;;;;GAgBG;AAEH,qGAAqG;AACrG,uGAAuG;AACvG,qGAAqG;AACrG,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE/G,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAElE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAExD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEjE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC"}
|
package/dist/src/nats.d.ts
CHANGED
|
@@ -42,6 +42,8 @@ export interface Access {
|
|
|
42
42
|
ca?: string;
|
|
43
43
|
/** This group's own reply-subject prefix (_INBOX_G.<group>); empty from an older platform. */
|
|
44
44
|
inbox_prefix?: string;
|
|
45
|
+
/** The oldest wire protocol the platform accepts; absent from an older platform. */
|
|
46
|
+
min_protocol?: number;
|
|
45
47
|
}
|
|
46
48
|
export declare function discover(endpoint: string, token: string): Promise<Access>;
|
|
47
49
|
/**
|
package/dist/src/nats.js
CHANGED
|
@@ -15,6 +15,8 @@ import { createHash, randomBytes } from "node:crypto";
|
|
|
15
15
|
import { OP_WEBHOOK } from "./contract.js";
|
|
16
16
|
import { env } from "./env.js";
|
|
17
17
|
import { CredEntry, SourceCtx, SourceSupervisor, desiredSourceCreds } from "./events.js";
|
|
18
|
+
import { SDKTooOld, checkProtocol } from "./protocol.js";
|
|
19
|
+
import { NoTransport, errorFields } from "./errors.js";
|
|
18
20
|
/** Replicas of a group share one queue: each call goes to exactly one of them. */
|
|
19
21
|
export const QUEUE_GROUP = "sokel-workers";
|
|
20
22
|
/** Replies and stream frames report which replica answered. */
|
|
@@ -122,6 +124,7 @@ export class NatsFiles {
|
|
|
122
124
|
export class NatsTransport {
|
|
123
125
|
async run(p) {
|
|
124
126
|
const acc = await discover(p.endpoint, p.token);
|
|
127
|
+
checkProtocol(acc);
|
|
125
128
|
// The broker authorizes per access group: connect with this group's own credentials, handed
|
|
126
129
|
// out by the platform. The legacy shared token remains only as a fallback for endpoints that
|
|
127
130
|
// skipped discovery (a literal nats:// URL).
|
|
@@ -155,6 +158,8 @@ export class NatsTransport {
|
|
|
155
158
|
timeout: REQUEST_TIMEOUT_MS,
|
|
156
159
|
});
|
|
157
160
|
const reg = JSON.parse(dec.decode(resp.data));
|
|
161
|
+
if (reg.code === "sdk_too_old")
|
|
162
|
+
throw new SDKTooOld(reg.error ?? "the platform requires a newer plugin SDK");
|
|
158
163
|
if (!reg.ok || !reg.subject)
|
|
159
164
|
throw new Error(`registration refused: ${reg.error ?? "the platform returned no subject"}`);
|
|
160
165
|
if (reg.notify_subject)
|
|
@@ -175,6 +180,8 @@ export class NatsTransport {
|
|
|
175
180
|
break;
|
|
176
181
|
}
|
|
177
182
|
catch (e) {
|
|
183
|
+
if (e instanceof SDKTooOld)
|
|
184
|
+
throw e; // waiting does not fix this; say so and stop
|
|
178
185
|
console.warn(`[sokel] registration failed (${errText(e)}), retrying in ${RETRY_MS / 1000}s…`);
|
|
179
186
|
await sleep(RETRY_MS);
|
|
180
187
|
}
|
|
@@ -286,7 +293,7 @@ export class NatsTransport {
|
|
|
286
293
|
}
|
|
287
294
|
catch (e) {
|
|
288
295
|
console.warn(`[sokel] ✗ ${op} failed (${Date.now() - started}ms)${tag}: ${errText(e)}`);
|
|
289
|
-
publishFrame({ kind: "error", text: errText(e) });
|
|
296
|
+
publishFrame({ kind: "error", text: errText(e), ...errorFields(e) });
|
|
290
297
|
}
|
|
291
298
|
publishFrame({ kind: "end" });
|
|
292
299
|
return;
|
|
@@ -298,7 +305,7 @@ export class NatsTransport {
|
|
|
298
305
|
}
|
|
299
306
|
catch (e) {
|
|
300
307
|
console.warn(`[sokel] ✗ ${op} failed (${Date.now() - started}ms)${tag}: ${errText(e)}`);
|
|
301
|
-
nc.publish(msg.reply, enc.encode(JSON.stringify({ error: errText(e) })), { headers: h });
|
|
308
|
+
nc.publish(msg.reply, enc.encode(JSON.stringify({ error: errText(e), ...errorFields(e) })), { headers: h });
|
|
302
309
|
}
|
|
303
310
|
}
|
|
304
311
|
}
|
|
@@ -359,7 +366,7 @@ export async function discover(endpoint, token) {
|
|
|
359
366
|
return info.nats;
|
|
360
367
|
const target = info.transports?.nats;
|
|
361
368
|
if (!target)
|
|
362
|
-
throw new
|
|
369
|
+
throw new NoTransport("the platform offers no transport (connect-info.transports is empty)");
|
|
363
370
|
return { url: target };
|
|
364
371
|
}
|
|
365
372
|
/**
|
package/dist/src/nats.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nats.js","sourceRoot":"","sources":["../../src/nats.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nats.js","sourceRoot":"","sources":["../../src/nats.ts"],"names":[],"mappings":"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"}
|
package/dist/src/plugin.d.ts
CHANGED
|
@@ -28,6 +28,8 @@ export interface Call {
|
|
|
28
28
|
credential?: Record<string, string>;
|
|
29
29
|
credential_id?: string;
|
|
30
30
|
trace?: Record<string, string>;
|
|
31
|
+
/** How long the platform waits for this call, in ms (absent from an older platform). */
|
|
32
|
+
deadline_ms?: number;
|
|
31
33
|
}
|
|
32
34
|
export type Invoke = (ctx: Ctx, input: Record<string, unknown>, out: Emitter<unknown>) => Promise<void>;
|
|
33
35
|
export type WebhookHandler = (ctx: SourceCtx, req: WebhookRequest) => Promise<WebhookResponse | void> | WebhookResponse | void;
|
package/dist/src/plugin.js
CHANGED
|
@@ -13,6 +13,8 @@ import { StateBoard } from "./events.js";
|
|
|
13
13
|
import { BufferSink, Ctx, Emitter } from "./runtime.js";
|
|
14
14
|
import { env, envOr } from "./env.js";
|
|
15
15
|
import { WebhookRequest, responseFrame } from "./webhook.js";
|
|
16
|
+
import { WIRE_PROTOCOL, sdkIdent } from "./protocol.js";
|
|
17
|
+
import { Retryable } from "./errors.js";
|
|
16
18
|
export class Plugin {
|
|
17
19
|
contract;
|
|
18
20
|
name;
|
|
@@ -129,6 +131,9 @@ export class Plugin {
|
|
|
129
131
|
version: this.version,
|
|
130
132
|
transport: "nats",
|
|
131
133
|
managed: this.managed,
|
|
134
|
+
// The wire protocol this SDK speaks; the platform refuses one that is too old.
|
|
135
|
+
protocol: WIRE_PROTOCOL,
|
|
136
|
+
sdk: sdkIdent(),
|
|
132
137
|
...this.contract.payload(),
|
|
133
138
|
};
|
|
134
139
|
const region = env("REGION");
|
|
@@ -154,8 +159,18 @@ export class Plugin {
|
|
|
154
159
|
const fn = this.find(opId);
|
|
155
160
|
if (!fn)
|
|
156
161
|
throw new Error(`unknown operation "${opId}"`);
|
|
157
|
-
const
|
|
158
|
-
|
|
162
|
+
const ms = Number(call.deadline_ms ?? 0);
|
|
163
|
+
// The platform's deadline (F-327): ctx.signal aborts then, and the call fails as retryable instead of
|
|
164
|
+
// running on for a caller that is gone.
|
|
165
|
+
const signal = ms > 0 ? AbortSignal.timeout(ms) : undefined;
|
|
166
|
+
const ctx = new Ctx({ credential: call.credential, trace: call.trace, files, signal });
|
|
167
|
+
const run = fn(ctx, call.input ?? {}, new Emitter(sink));
|
|
168
|
+
if (!signal)
|
|
169
|
+
return void (await run);
|
|
170
|
+
await Promise.race([
|
|
171
|
+
run,
|
|
172
|
+
new Promise((_, reject) => signal.addEventListener("abort", () => reject(new Retryable(`the call ran past the platform's deadline (${ms} ms)`)), { once: true })),
|
|
173
|
+
]);
|
|
159
174
|
}
|
|
160
175
|
/** Non-streaming: buffer the frames and merge the variables into a single reply. */
|
|
161
176
|
async dispatchBuffered(call, files) {
|
package/dist/src/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC,sCAAsC;AAEtC;;;;;;GAMG;AAEH,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGnG,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAa,UAAU,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAExD,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plugin wire protocol version (see docs/plugin-wire-protocol.md in the platform repository).
|
|
3
|
+
*
|
|
4
|
+
* It only goes up for changes both sides must make together:
|
|
5
|
+
*
|
|
6
|
+
* 1 = the original protocol (replies on the global _INBOX.)
|
|
7
|
+
* 2 = per-group reply prefix (inbox_prefix, v0.5.5)
|
|
8
|
+
*
|
|
9
|
+
* The number is reported at registration, and the platform's min_protocol (sent with the access
|
|
10
|
+
* credentials) is checked before connecting, so an SDK that is too old stops with an upgrade hint
|
|
11
|
+
* instead of failing to register forever.
|
|
12
|
+
*/
|
|
13
|
+
import { SokelError } from "./errors.js";
|
|
14
|
+
export declare const WIRE_PROTOCOL = 2;
|
|
15
|
+
/** The platform requires a newer wire protocol. Waiting does not fix it; rebuilding with a newer SDK does. */
|
|
16
|
+
export declare class SDKTooOld extends SokelError {
|
|
17
|
+
readonly code = "sdk_too_old";
|
|
18
|
+
}
|
|
19
|
+
/** "node/<package version>", reported at registration so the platform can tell which SDK a replica runs. */
|
|
20
|
+
export declare function sdkIdent(): string;
|
|
21
|
+
export declare function checkProtocol(acc: {
|
|
22
|
+
min_protocol?: number;
|
|
23
|
+
}): void;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plugin wire protocol version (see docs/plugin-wire-protocol.md in the platform repository).
|
|
3
|
+
*
|
|
4
|
+
* It only goes up for changes both sides must make together:
|
|
5
|
+
*
|
|
6
|
+
* 1 = the original protocol (replies on the global _INBOX.)
|
|
7
|
+
* 2 = per-group reply prefix (inbox_prefix, v0.5.5)
|
|
8
|
+
*
|
|
9
|
+
* The number is reported at registration, and the platform's min_protocol (sent with the access
|
|
10
|
+
* credentials) is checked before connecting, so an SDK that is too old stops with an upgrade hint
|
|
11
|
+
* instead of failing to register forever.
|
|
12
|
+
*/
|
|
13
|
+
import { readFileSync } from "node:fs";
|
|
14
|
+
import { SokelError } from "./errors.js";
|
|
15
|
+
export const WIRE_PROTOCOL = 2;
|
|
16
|
+
/** The platform requires a newer wire protocol. Waiting does not fix it; rebuilding with a newer SDK does. */
|
|
17
|
+
export class SDKTooOld extends SokelError {
|
|
18
|
+
code = "sdk_too_old";
|
|
19
|
+
}
|
|
20
|
+
let ident;
|
|
21
|
+
/** "node/<package version>", reported at registration so the platform can tell which SDK a replica runs. */
|
|
22
|
+
export function sdkIdent() {
|
|
23
|
+
if (ident === undefined) {
|
|
24
|
+
try {
|
|
25
|
+
// dist/src/protocol.js → the package root; the same file the release bumps.
|
|
26
|
+
const pkg = JSON.parse(readFileSync(new URL("../../package.json", import.meta.url), "utf8"));
|
|
27
|
+
ident = `node/${pkg.version ?? "unknown"}`;
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
ident = "node/unknown";
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return ident;
|
|
34
|
+
}
|
|
35
|
+
export function checkProtocol(acc) {
|
|
36
|
+
const need = acc.min_protocol ?? 0;
|
|
37
|
+
if (need > WIRE_PROTOCOL) {
|
|
38
|
+
throw new SDKTooOld(`the platform needs wire protocol ${need}, this SDK (${sdkIdent()}) speaks ${WIRE_PROTOCOL}` +
|
|
39
|
+
" — upgrade @sokel-dev/plugin-sdk and redeploy");
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=protocol.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC;AAE/B,8GAA8G;AAC9G,MAAM,OAAO,SAAU,SAAQ,UAAU;IAC9B,IAAI,GAAG,aAAa,CAAC;CAC/B;AAED,IAAI,KAAyB,CAAC;AAE9B,4GAA4G;AAC5G,MAAM,UAAU,QAAQ;IACtB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,4EAA4E;YAC5E,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAyB,CAAC;YACrH,KAAK,GAAG,QAAQ,GAAG,CAAC,OAAO,IAAI,SAAS,EAAE,CAAC;QAC7C,CAAC;QAAC,MAAM,CAAC;YACP,KAAK,GAAG,cAAc,CAAC;QACzB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAA8B;IAC1D,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,IAAI,CAAC,CAAC;IACnC,IAAI,IAAI,GAAG,aAAa,EAAE,CAAC;QACzB,MAAM,IAAI,SAAS,CACjB,oCAAoC,IAAI,eAAe,QAAQ,EAAE,YAAY,aAAa,EAAE;YAC1F,+CAA+C,CAClD,CAAC;IACJ,CAAC;AACH,CAAC"}
|
package/dist/src/runtime.d.ts
CHANGED
|
@@ -55,12 +55,19 @@ export declare class BufferSink {
|
|
|
55
55
|
/** The context handed to an operation handler: credentials, tracing, file fetch/store. */
|
|
56
56
|
export declare class Ctx {
|
|
57
57
|
readonly credential: Record<string, string>;
|
|
58
|
+
/**
|
|
59
|
+
* Aborts when the platform stops waiting for this call (its deadline_ms). Pass it to fetch and
|
|
60
|
+
* other upstream calls, so a call the platform has given up on (and may retry) does not finish its
|
|
61
|
+
* side effects anyway. Never aborts when the platform sends no deadline.
|
|
62
|
+
*/
|
|
63
|
+
readonly signal: AbortSignal;
|
|
58
64
|
private readonly traceMap;
|
|
59
65
|
private readonly files?;
|
|
60
66
|
constructor(opts?: {
|
|
61
67
|
credential?: Record<string, string>;
|
|
62
68
|
trace?: Record<string, string>;
|
|
63
69
|
files?: FileRuntime;
|
|
70
|
+
signal?: AbortSignal;
|
|
64
71
|
});
|
|
65
72
|
/**
|
|
66
73
|
* Tracing context supplied by the platform (run_id / workflow_id / node_id).
|
package/dist/src/runtime.js
CHANGED
|
@@ -61,12 +61,19 @@ export class BufferSink {
|
|
|
61
61
|
/** The context handed to an operation handler: credentials, tracing, file fetch/store. */
|
|
62
62
|
export class Ctx {
|
|
63
63
|
credential;
|
|
64
|
+
/**
|
|
65
|
+
* Aborts when the platform stops waiting for this call (its deadline_ms). Pass it to fetch and
|
|
66
|
+
* other upstream calls, so a call the platform has given up on (and may retry) does not finish its
|
|
67
|
+
* side effects anyway. Never aborts when the platform sends no deadline.
|
|
68
|
+
*/
|
|
69
|
+
signal;
|
|
64
70
|
traceMap;
|
|
65
71
|
files;
|
|
66
72
|
constructor(opts = {}) {
|
|
67
73
|
this.credential = opts.credential ?? {};
|
|
68
74
|
this.traceMap = opts.trace ?? {};
|
|
69
75
|
this.files = opts.files;
|
|
76
|
+
this.signal = opts.signal ?? new AbortController().signal;
|
|
70
77
|
}
|
|
71
78
|
/**
|
|
72
79
|
* Tracing context supplied by the platform (run_id / workflow_id / node_id).
|
package/dist/src/runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/runtime.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC,sCAAsC;AA6BtC,+FAA+F;AAC/F,qCAAqC;AACrC,MAAM,WAAW,GAA2B;IAC1C,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,iBAAiB;IACjG,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW;IACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,iBAAiB;IACpG,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY;IACvF,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,sBAAsB,EAAE,MAAM,EAAE,UAAU;CAC9E,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC;AACjC,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC;AACjC,MAAM,CAAC,MAAM,UAAU,GAAG,WAAW,CAAC;AAWtC;qDACqD;AACrD,MAAM,OAAO,OAAO;IACW;IAA7B,YAA6B,IAAU;QAAV,SAAI,GAAJ,IAAI,CAAM;IAAG,CAAC;IAE3C,+CAA+C;IAC/C,IAAI,CAAC,CAAS;QACZ,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,2CAA2C;IAC3C,IAAI,CAAC,CAAU;QACb,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED;uCACmC;IACnC,IAAI,CAAC,GAAQ;QACX,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IAC1E,CAAC;CACF;AAED,MAAM,UAAU,MAAM,CAAC,KAAc;IACnC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACrD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,SAAS,CAAC,iCAAiC,OAAO,KAAK,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,EAAE,CAAC;QACtE,IAAI,CAAC,KAAK,SAAS;YAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;wDACwD;AACxD,MAAM,OAAO,UAAU;IACZ,IAAI,GAA4B,EAAE,CAAC;IAEnC,IAAI,GAAS,CAAC,CAAQ,EAAE,EAAE;QACjC,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU;YAAE,OAAO;QAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC,CAAC;CACH;AAED,0FAA0F;AAC1F,MAAM,OAAO,GAAG;IACL,UAAU,CAAyB;
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/runtime.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sokel-dev/plugin-sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "Sokel plugin SDK for Node.js — declare the contract in sokel.yaml, implement typed handlers.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"homepage": "https://github.com/sokel-dev/sokel-plugin-sdk/tree/main/sdk-node",
|