@wandelbots/nova-js 3.13.0-pr.307.6aa8394 → 3.13.0-pr.307.720787b
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/experimental/nats/index.cjs +3 -12
- package/dist/experimental/nats/index.cjs.map +1 -1
- package/dist/experimental/nats/index.d.cts +2 -165
- package/dist/experimental/nats/index.d.cts.map +1 -1
- package/dist/experimental/nats/index.d.mts +2 -165
- package/dist/experimental/nats/index.d.mts.map +1 -1
- package/dist/experimental/nats/index.mjs +3 -12
- package/dist/experimental/nats/index.mjs.map +1 -1
- package/package.json +3 -1
- package/src/experimental/nats/index.ts +0 -4
- package/src/lib/experimental/nats/NovaNatsClient.ts +3 -16
- package/src/lib/experimental/nats/buildSubject.ts +2 -5
|
@@ -23,10 +23,9 @@ function buildNatsServerUrl(instanceUrl) {
|
|
|
23
23
|
*/
|
|
24
24
|
function isValidSubjectChar(char) {
|
|
25
25
|
const code = char.charCodeAt(0);
|
|
26
|
-
return code >= 48 && code <= 57 || code >= 65 && code <= 90 || code >= 97 && code <= 122 || char === "-" || char === "_";
|
|
26
|
+
return code >= 48 && code <= 57 || code >= 65 && code <= 90 || code >= 97 && code <= 122 || char === "-" || char === "_" || char === "*";
|
|
27
27
|
}
|
|
28
28
|
function isValidSubjectValue(value) {
|
|
29
|
-
if (value === "*") return true;
|
|
30
29
|
if (value.length === 0) return false;
|
|
31
30
|
for (const char of value) if (!isValidSubjectChar(char)) return false;
|
|
32
31
|
return true;
|
|
@@ -101,10 +100,6 @@ var NovaNatsClient = class {
|
|
|
101
100
|
* `"nova.v2.cells.{cell}"`, with `{param}` placeholders filled in from
|
|
102
101
|
* `params`.
|
|
103
102
|
*
|
|
104
|
-
* Errors decoding a message or thrown/rejected by `handler` are caught and
|
|
105
|
-
* logged per-message, so one bad message doesn't stop later messages on
|
|
106
|
-
* the same subscription from being handled.
|
|
107
|
-
*
|
|
108
103
|
* Returns a function that unsubscribes when called.
|
|
109
104
|
*/
|
|
110
105
|
async subscribe(subject, ...args) {
|
|
@@ -113,13 +108,9 @@ var NovaNatsClient = class {
|
|
|
113
108
|
const resolvedSubject = buildSubject(subject, params);
|
|
114
109
|
const sub = nc.subscribe(resolvedSubject);
|
|
115
110
|
(async () => {
|
|
116
|
-
for await (const msg of sub)
|
|
117
|
-
await handler(msg.json(), msg);
|
|
118
|
-
} catch (err) {
|
|
119
|
-
console.error(`Error handling NATS message on subject "${resolvedSubject}"`, err);
|
|
120
|
-
}
|
|
111
|
+
for await (const msg of sub) handler(msg.json(), msg);
|
|
121
112
|
})().catch((err) => {
|
|
122
|
-
console.error(`NATS subscription
|
|
113
|
+
console.error(`Error handling NATS subscription for "${resolvedSubject}"`, err);
|
|
123
114
|
});
|
|
124
115
|
return () => sub.unsubscribe();
|
|
125
116
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":["parseNovaInstanceUrl"],"sources":["../../../src/lib/experimental/nats/buildNatsServerUrl.ts","../../../src/lib/experimental/nats/buildSubject.ts","../../../src/lib/experimental/nats/NovaNatsClient.ts"],"sourcesContent":["import { parseNovaInstanceUrl } from \"../../converters.ts\"\n\n/**\n * Builds the WebSocket URL for a NOVA instance's NATS gateway from its\n * instance URL, e.g. `https://foo.instance.wandelbots.io` becomes\n * `wss://foo.instance.wandelbots.io/api/nats`.\n *\n * Pass the result as `servers` in the `NovaNatsClientConfig` passed to\n * `NovaNatsClient`.\n */\nexport function buildNatsServerUrl(instanceUrl: string): string {\n const url = parseNovaInstanceUrl(instanceUrl)\n const protocol = url.protocol === \"https:\" ? \"wss:\" : \"ws:\"\n return `${protocol}//${url.host}/api/nats`\n}\n","/**\n * Builds a NATS subject from an AsyncAPI-style channel address template\n * (e.g. `\"{instance}.v2.cells.{cell}\"`) by substituting each `{param}`\n * placeholder with the corresponding value from `params`.\n */\n\nfunction isValidSubjectChar(char: string): boolean {\n const code = char.charCodeAt(0)\n return (\n (code >= 48 && code <= 57) || // 0-9\n (code >= 65 && code <= 90) || // A-Z\n (code >= 97 && code <= 122) || // a-z\n char === \"-\" ||\n char === \"_\"\n )\n}\n\nfunction isValidSubjectValue(value: string): boolean {\n // A bare \"*\" is the NATS single-token wildcard, allowed on its own (e.g.\n // subscribing to all cells with `{ cell: \"*\" }\") but not as part of a\n // larger value, since it wouldn't act as a wildcard there anyway.\n if (value === \"*\") return true\n if (value.length === 0) return false\n for (const char of value) {\n if (!isValidSubjectChar(char)) return false\n }\n return true\n}\n\nexport function buildSubject(\n template: string,\n params: Record<string, string>,\n): string {\n // Scanned manually (rather than with a regex like /\\{([^}]+)\\}/g) to avoid\n // a polynomial-time backtracking blowup on pathological input, e.g. a\n // template consisting of many \"{\" characters with no closing \"}\".\n let result = \"\"\n let cursor = 0\n\n while (cursor < template.length) {\n const openIndex = template.indexOf(\"{\", cursor)\n if (openIndex === -1) {\n result += template.slice(cursor)\n break\n }\n\n const closeIndex = template.indexOf(\"}\", openIndex + 1)\n if (closeIndex === -1) {\n result += template.slice(cursor)\n break\n }\n\n result += template.slice(cursor, openIndex)\n const paramName = template.slice(openIndex + 1, closeIndex)\n const value = params[paramName]\n if (value === undefined) {\n throw new Error(\n `Missing value for subject parameter \"${paramName}\" in template \"${template}\"`,\n )\n }\n if (!isValidSubjectValue(value)) {\n throw new Error(\n `Invalid value for subject parameter \"${paramName}\": \"${value}\" (must be non-empty and contain only letters, digits, \"-\", and \"_\")`,\n )\n }\n result += value\n\n cursor = closeIndex + 1\n }\n\n return result\n}\n","import {\n type ConnectionOptions,\n type Msg,\n type NatsConnection,\n wsconnect,\n} from \"@nats-io/nats-core\"\nimport type { Nova } from \"../../Nova.ts\"\nimport { buildNatsServerUrl } from \"./buildNatsServerUrl.ts\"\nimport { buildSubject } from \"./buildSubject.ts\"\nimport type {\n NatsOperationParams,\n NatsPublishPayloads,\n NatsPublishSubject,\n NatsReplyPayloads,\n NatsRequestPayloads,\n NatsRequestSubject,\n NatsSubscribePayloads,\n NatsSubscribeSubject,\n} from \"./generated/operations.ts\"\n\nexport type NovaNatsClientConfig = ConnectionOptions\n\ntype NatsMessageHandler<K extends NatsSubscribeSubject> = (\n payload: NatsSubscribePayloads[K],\n msg: Msg,\n) => void | Promise<void>\n\ntype SubscribeArgs<K extends NatsSubscribeSubject> =\n keyof NatsOperationParams[K] extends never\n ? [handler: NatsMessageHandler<K>]\n : [params: NatsOperationParams[K], handler: NatsMessageHandler<K>]\n\n/**\n * Typed NATS client for the Wandelbots NOVA messaging API, generated from\n * src/asyncapi.yaml (see scripts/generate-nats-client.ts).\n *\n * Connects over WebSocket via `@nats-io/nats-core`'s `wsconnect`.\n */\nexport class NovaNatsClient {\n readonly config: NovaNatsClientConfig\n private connectionPromise: Promise<NatsConnection> | null = null\n\n constructor(nova: Nova, config: NovaNatsClientConfig = {}) {\n this.config = {\n servers: buildNatsServerUrl(nova.instanceUrl.href),\n ...config,\n }\n }\n\n /**\n * Connects to NATS if not already connected or connecting, and returns the\n * connection. Safe to call concurrently: all callers share the same\n * in-flight connection attempt instead of each starting their own.\n */\n connect(): Promise<NatsConnection> {\n if (!this.connectionPromise) {\n this.connectionPromise = wsconnect(this.config).catch((err: unknown) => {\n // Allow a subsequent connect() call to retry after a failed attempt.\n this.connectionPromise = null\n throw err\n })\n }\n return this.connectionPromise\n }\n\n /** Closes the underlying NATS connection, if open or connecting. */\n async close(): Promise<void> {\n const connectionPromise = this.connectionPromise\n this.connectionPromise = null\n if (!connectionPromise) return\n try {\n const nc = await connectionPromise\n await nc.close()\n } catch {\n // Connection never succeeded; nothing to close.\n }\n }\n\n /**\n * Subscribes to a NATS subject published by the server, invoking `handler`\n * with the JSON-decoded payload of every message received.\n *\n * `subject` is the subject template as it appears on the wire, e.g.\n * `\"nova.v2.cells.{cell}\"`, with `{param}` placeholders filled in from\n * `params`.\n *\n * Errors decoding a message or thrown/rejected by `handler` are caught and\n * logged per-message, so one bad message doesn't stop later messages on\n * the same subscription from being handled.\n *\n * Returns a function that unsubscribes when called.\n */\n async subscribe<K extends NatsSubscribeSubject>(\n subject: K,\n ...args: SubscribeArgs<K>\n ): Promise<() => void> {\n const [params, handler] =\n args.length === 1\n ? ([{}, args[0]] as const)\n : ([args[0], args[1]] as const)\n\n const nc = await this.connect()\n const resolvedSubject = buildSubject(subject, params)\n const sub = nc.subscribe(resolvedSubject)\n\n ;(async () => {\n for await (const msg of sub) {\n // Handled per-message: a bad payload or a throwing/rejecting handler\n // should not stop the subscription from processing later messages.\n try {\n await handler(msg.json<NatsSubscribePayloads[K]>(), msg)\n } catch (err) {\n console.error(\n `Error handling NATS message on subject \"${resolvedSubject}\"`,\n err,\n )\n }\n }\n })().catch((err: unknown) => {\n console.error(\n `NATS subscription iterator failed for \"${resolvedSubject}\"`,\n err,\n )\n })\n\n return () => sub.unsubscribe()\n }\n\n /**\n * Sends a request payload for a NATS subject the server receives, and\n * waits for the JSON-decoded reply.\n *\n * `subject` is the subject template as it appears on the wire, e.g.\n * `\"nova.v2.cells.{cell}.bus-ios.ios.set\"`, with `{param}` placeholders\n * filled in from `params`.\n */\n async request<K extends NatsRequestSubject>(\n subject: K,\n params: NatsOperationParams[K],\n payload: NatsRequestPayloads[K],\n opts: { timeout?: number } = {},\n ): Promise<NatsReplyPayloads[K]> {\n const nc = await this.connect()\n const resolvedSubject = buildSubject(subject, params)\n const msg = await nc.request(resolvedSubject, JSON.stringify(payload), {\n timeout: opts.timeout ?? 5000,\n })\n return msg.json<NatsReplyPayloads[K]>()\n }\n\n /**\n * Publishes a JSON payload to any NATS subject defined in the spec,\n * without waiting for a reply.\n *\n * `subject` is the subject template as it appears on the wire, e.g.\n * `\"nova.v2.cells.{cell}.bus-ios.ios.set\"`, with `{param}` placeholders\n * filled in from `params`.\n */\n async publish<K extends NatsPublishSubject>(\n subject: K,\n params: NatsOperationParams[K],\n payload: NatsPublishPayloads[K],\n ): Promise<void> {\n const nc = await this.connect()\n const resolvedSubject = buildSubject(subject, params)\n nc.publish(resolvedSubject, JSON.stringify(payload))\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["parseNovaInstanceUrl"],"sources":["../../../src/lib/experimental/nats/buildNatsServerUrl.ts","../../../src/lib/experimental/nats/buildSubject.ts","../../../src/lib/experimental/nats/NovaNatsClient.ts"],"sourcesContent":["import { parseNovaInstanceUrl } from \"../../converters.ts\"\n\n/**\n * Builds the WebSocket URL for a NOVA instance's NATS gateway from its\n * instance URL, e.g. `https://foo.instance.wandelbots.io` becomes\n * `wss://foo.instance.wandelbots.io/api/nats`.\n *\n * Pass the result as `servers` in the `NovaNatsClientConfig` passed to\n * `NovaNatsClient`.\n */\nexport function buildNatsServerUrl(instanceUrl: string): string {\n const url = parseNovaInstanceUrl(instanceUrl)\n const protocol = url.protocol === \"https:\" ? \"wss:\" : \"ws:\"\n return `${protocol}//${url.host}/api/nats`\n}\n","/**\n * Builds a NATS subject from an AsyncAPI-style channel address template\n * (e.g. `\"{instance}.v2.cells.{cell}\"`) by substituting each `{param}`\n * placeholder with the corresponding value from `params`.\n */\n\nfunction isValidSubjectChar(char: string): boolean {\n const code = char.charCodeAt(0)\n return (\n (code >= 48 && code <= 57) || // 0-9\n (code >= 65 && code <= 90) || // A-Z\n (code >= 97 && code <= 122) || // a-z\n char === \"-\" ||\n char === \"_\" ||\n char === \"*\"\n )\n}\n\nfunction isValidSubjectValue(value: string): boolean {\n if (value.length === 0) return false\n for (const char of value) {\n if (!isValidSubjectChar(char)) return false\n }\n return true\n}\n\nexport function buildSubject(\n template: string,\n params: Record<string, string>,\n): string {\n // Scanned manually (rather than with a regex like /\\{([^}]+)\\}/g) to avoid\n // a polynomial-time backtracking blowup on pathological input, e.g. a\n // template consisting of many \"{\" characters with no closing \"}\".\n let result = \"\"\n let cursor = 0\n\n while (cursor < template.length) {\n const openIndex = template.indexOf(\"{\", cursor)\n if (openIndex === -1) {\n result += template.slice(cursor)\n break\n }\n\n const closeIndex = template.indexOf(\"}\", openIndex + 1)\n if (closeIndex === -1) {\n result += template.slice(cursor)\n break\n }\n\n result += template.slice(cursor, openIndex)\n const paramName = template.slice(openIndex + 1, closeIndex)\n const value = params[paramName]\n if (value === undefined) {\n throw new Error(\n `Missing value for subject parameter \"${paramName}\" in template \"${template}\"`,\n )\n }\n if (!isValidSubjectValue(value)) {\n throw new Error(\n `Invalid value for subject parameter \"${paramName}\": \"${value}\" (must be non-empty and contain only letters, digits, \"-\", and \"_\")`,\n )\n }\n result += value\n\n cursor = closeIndex + 1\n }\n\n return result\n}\n","import {\n type ConnectionOptions,\n type Msg,\n type NatsConnection,\n wsconnect,\n} from \"@nats-io/nats-core\"\nimport type { Nova } from \"../../Nova.ts\"\nimport { buildNatsServerUrl } from \"./buildNatsServerUrl.ts\"\nimport { buildSubject } from \"./buildSubject.ts\"\nimport type {\n NatsOperationParams,\n NatsPublishPayloads,\n NatsPublishSubject,\n NatsReplyPayloads,\n NatsRequestPayloads,\n NatsRequestSubject,\n NatsSubscribePayloads,\n NatsSubscribeSubject,\n} from \"./generated/operations.ts\"\n\nexport type NovaNatsClientConfig = ConnectionOptions\n\ntype NatsMessageHandler<K extends NatsSubscribeSubject> = (\n payload: NatsSubscribePayloads[K],\n msg: Msg,\n) => void\n\ntype SubscribeArgs<K extends NatsSubscribeSubject> =\n keyof NatsOperationParams[K] extends never\n ? [handler: NatsMessageHandler<K>]\n : [params: NatsOperationParams[K], handler: NatsMessageHandler<K>]\n\n/**\n * Typed NATS client for the Wandelbots NOVA messaging API, generated from\n * src/asyncapi.yaml (see scripts/generate-nats-client.ts).\n *\n * Connects over WebSocket via `@nats-io/nats-core`'s `wsconnect`.\n */\nexport class NovaNatsClient {\n readonly config: NovaNatsClientConfig\n private connectionPromise: Promise<NatsConnection> | null = null\n\n constructor(nova: Nova, config: NovaNatsClientConfig = {}) {\n this.config = {\n servers: buildNatsServerUrl(nova.instanceUrl.href),\n ...config,\n }\n }\n\n /**\n * Connects to NATS if not already connected or connecting, and returns the\n * connection. Safe to call concurrently: all callers share the same\n * in-flight connection attempt instead of each starting their own.\n */\n connect(): Promise<NatsConnection> {\n if (!this.connectionPromise) {\n this.connectionPromise = wsconnect(this.config).catch((err: unknown) => {\n // Allow a subsequent connect() call to retry after a failed attempt.\n this.connectionPromise = null\n throw err\n })\n }\n return this.connectionPromise\n }\n\n /** Closes the underlying NATS connection, if open or connecting. */\n async close(): Promise<void> {\n const connectionPromise = this.connectionPromise\n this.connectionPromise = null\n if (!connectionPromise) return\n try {\n const nc = await connectionPromise\n await nc.close()\n } catch {\n // Connection never succeeded; nothing to close.\n }\n }\n\n /**\n * Subscribes to a NATS subject published by the server, invoking `handler`\n * with the JSON-decoded payload of every message received.\n *\n * `subject` is the subject template as it appears on the wire, e.g.\n * `\"nova.v2.cells.{cell}\"`, with `{param}` placeholders filled in from\n * `params`.\n *\n * Returns a function that unsubscribes when called.\n */\n async subscribe<K extends NatsSubscribeSubject>(\n subject: K,\n ...args: SubscribeArgs<K>\n ): Promise<() => void> {\n const [params, handler] =\n args.length === 1\n ? ([{}, args[0]] as const)\n : ([args[0], args[1]] as const)\n\n const nc = await this.connect()\n const resolvedSubject = buildSubject(subject, params)\n const sub = nc.subscribe(resolvedSubject)\n\n ;(async () => {\n for await (const msg of sub) {\n handler(msg.json<NatsSubscribePayloads[K]>(), msg)\n }\n })().catch((err: unknown) => {\n console.error(\n `Error handling NATS subscription for \"${resolvedSubject}\"`,\n err,\n )\n })\n\n return () => sub.unsubscribe()\n }\n\n /**\n * Sends a request payload for a NATS subject the server receives, and\n * waits for the JSON-decoded reply.\n *\n * `subject` is the subject template as it appears on the wire, e.g.\n * `\"nova.v2.cells.{cell}.bus-ios.ios.set\"`, with `{param}` placeholders\n * filled in from `params`.\n */\n async request<K extends NatsRequestSubject>(\n subject: K,\n params: NatsOperationParams[K],\n payload: NatsRequestPayloads[K],\n opts: { timeout?: number } = {},\n ): Promise<NatsReplyPayloads[K]> {\n const nc = await this.connect()\n const resolvedSubject = buildSubject(subject, params)\n const msg = await nc.request(resolvedSubject, JSON.stringify(payload), {\n timeout: opts.timeout ?? 5000,\n })\n return msg.json<NatsReplyPayloads[K]>()\n }\n\n /**\n * Publishes a JSON payload to any NATS subject defined in the spec,\n * without waiting for a reply.\n *\n * `subject` is the subject template as it appears on the wire, e.g.\n * `\"nova.v2.cells.{cell}.bus-ios.ios.set\"`, with `{param}` placeholders\n * filled in from `params`.\n */\n async publish<K extends NatsPublishSubject>(\n subject: K,\n params: NatsOperationParams[K],\n payload: NatsPublishPayloads[K],\n ): Promise<void> {\n const nc = await this.connect()\n const resolvedSubject = buildSubject(subject, params)\n nc.publish(resolvedSubject, JSON.stringify(payload))\n }\n}\n"],"mappings":"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"}
|
|
@@ -13,20 +13,6 @@ import { ConnectionOptions, Msg, NatsConnection } from "@nats-io/nats-core";
|
|
|
13
13
|
declare function buildNatsServerUrl(instanceUrl: string): string;
|
|
14
14
|
//#endregion
|
|
15
15
|
//#region src/lib/experimental/nats/generated/types.d.ts
|
|
16
|
-
/**
|
|
17
|
-
* AUTO-GENERATED FILE - DO NOT EDIT.
|
|
18
|
-
* Generated from src/asyncapi.yaml by scripts/generate-nats-client.ts.
|
|
19
|
-
* Run `pnpm generate:nats` to regenerate.
|
|
20
|
-
*/
|
|
21
|
-
/**
|
|
22
|
-
* A unique name for the cell used as an identifier for addressing the cell in all API calls.
|
|
23
|
-
* It must be a valid k8s label name as defined by [RFC 1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#dns-label-names).
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
* This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
|
|
27
|
-
* via the `definition` "CellName".
|
|
28
|
-
*/
|
|
29
|
-
type CellName = string;
|
|
30
16
|
/**
|
|
31
17
|
* A description of the cell.
|
|
32
18
|
*
|
|
@@ -72,20 +58,6 @@ type ContainerEnvironment = {
|
|
|
72
58
|
name: string;
|
|
73
59
|
value: string;
|
|
74
60
|
}[];
|
|
75
|
-
/**
|
|
76
|
-
* The amount of requested storage capacity.
|
|
77
|
-
*
|
|
78
|
-
* This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
|
|
79
|
-
* via the `definition` "Capacity".
|
|
80
|
-
*/
|
|
81
|
-
type Capacity = string;
|
|
82
|
-
/**
|
|
83
|
-
* The state of a program run.
|
|
84
|
-
*
|
|
85
|
-
* This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
|
|
86
|
-
* via the `definition` "ProgramRunState".
|
|
87
|
-
*/
|
|
88
|
-
type ProgramRunState = "PREPARING" | "RUNNING" | "COMPLETED" | "FAILED" | "STOPPED";
|
|
89
61
|
/**
|
|
90
62
|
* State of the program run.
|
|
91
63
|
*/
|
|
@@ -135,25 +107,6 @@ type Vector3D = [number, number, number];
|
|
|
135
107
|
* via the `definition` "RotationVector".
|
|
136
108
|
*/
|
|
137
109
|
type RotationVector = [number, number, number];
|
|
138
|
-
/**
|
|
139
|
-
* A link chain is a kinematic chain of links that is connected via joints.
|
|
140
|
-
* A motion group can be used to control the motion of the joints in a link chain.
|
|
141
|
-
*
|
|
142
|
-
* A link is a group of colliders that is attached to the link reference frame.
|
|
143
|
-
*
|
|
144
|
-
* The reference frame of a link is obtained after applying all sets of Denavit-Hartenberg-parameters from base to (including) the link index.
|
|
145
|
-
*
|
|
146
|
-
* This means that the reference frame of the link is on the rotation axis of the next joint in the kinematic chain.
|
|
147
|
-
* Example: For a motion group with 2 joints, the collider reference frame (CRF) for link 1 is on the rotation axis of joint 2. The chain looks like:
|
|
148
|
-
* - Origin >> Mounting >> Base >> (CRF Base) Joint 0 >> Link 0 >> (CRF Link 0) Joint 1 >> Link 1 >> (CRF Link 1) Flange (CRF Tool) >> TCP
|
|
149
|
-
*
|
|
150
|
-
* Adjacent links in the kinematic chain of the motion group are not checked for mutual collision.
|
|
151
|
-
*
|
|
152
|
-
*
|
|
153
|
-
* This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
|
|
154
|
-
* via the `definition` "LinkChain".
|
|
155
|
-
*/
|
|
156
|
-
type LinkChain = CollisionMotionGroupLink[];
|
|
157
110
|
/**
|
|
158
111
|
* The shape of the motion groups links to validate against colliders.
|
|
159
112
|
* Indexed along the kinematic chain, starting with a static base shape before first joint.
|
|
@@ -181,50 +134,6 @@ type IOValue = IOBooleanValue | IOIntegerValue | IOFloatValue;
|
|
|
181
134
|
* via the `definition` "ListIOValuesResponse".
|
|
182
135
|
*/
|
|
183
136
|
type ListIOValuesResponse = IOValue[];
|
|
184
|
-
/**
|
|
185
|
-
* Defines the current system mode of the robot system, including NOVA communicating with the robot controller.
|
|
186
|
-
*
|
|
187
|
-
* ### MODE_CONTROLLER_NOT_CONFIGURED
|
|
188
|
-
*
|
|
189
|
-
* No controller with the specified identifier is configured. Call [addRobotController](#/operations/addRobotController) to register a controller.
|
|
190
|
-
*
|
|
191
|
-
* ### MODE_INITIALIZING
|
|
192
|
-
*
|
|
193
|
-
* Indicates that a connection to the robot controller is established or reestablished in case of a disconnect.
|
|
194
|
-
* On success, the controller is set to MODE_MONITOR.
|
|
195
|
-
* On failure, the initialization process is retried until successful or cancelled by the user.
|
|
196
|
-
*
|
|
197
|
-
* ### MODE_MONITOR
|
|
198
|
-
*
|
|
199
|
-
* Read-only mode with an active controller connection.
|
|
200
|
-
* - Receives robot state and I/O signals
|
|
201
|
-
* - Move requests are rejected
|
|
202
|
-
* - No commands are sent to the controller
|
|
203
|
-
*
|
|
204
|
-
* ### MODE_CONTROL
|
|
205
|
-
*
|
|
206
|
-
* Active control mode.
|
|
207
|
-
*
|
|
208
|
-
* **Movement is possible in this mode**
|
|
209
|
-
*
|
|
210
|
-
* The robot is cyclically commanded to hold its current position.
|
|
211
|
-
* The robot state is received in sync with the controller cycle.
|
|
212
|
-
* Motion and jogging requests are accepted and executed.
|
|
213
|
-
* Input/Output interaction is enabled.
|
|
214
|
-
*
|
|
215
|
-
* ### MODE_FREE_DRIVE
|
|
216
|
-
*
|
|
217
|
-
* Read-only mode with servo motors enabled for manual movement (Free Drive).
|
|
218
|
-
*
|
|
219
|
-
* Move requests are rejected.
|
|
220
|
-
*
|
|
221
|
-
* Not supported by all robots: Use [getSupportedModes](#/operations/getSupportedModes) to check Free Drive availability.
|
|
222
|
-
*
|
|
223
|
-
*
|
|
224
|
-
* This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
|
|
225
|
-
* via the `definition` "RobotSystemMode".
|
|
226
|
-
*/
|
|
227
|
-
type RobotSystemMode = "MODE_CONTROLLER_NOT_CONFIGURED" | "MODE_INITIALIZING" | "MODE_MONITOR" | "MODE_CONTROL" | "MODE_FREE_DRIVE";
|
|
228
137
|
/**
|
|
229
138
|
* Current operation mode of the configured robot controller.
|
|
230
139
|
* Operation modes in which the attached motion groups can be moved are:
|
|
@@ -251,28 +160,6 @@ type OperationMode = "OPERATION_MODE_UNKNOWN" | "OPERATION_MODE_NO_CONTROLLER" |
|
|
|
251
160
|
* via the `definition` "SafetyStateType".
|
|
252
161
|
*/
|
|
253
162
|
type SafetyStateType = "SAFETY_STATE_UNKNOWN" | "SAFETY_STATE_FAULT" | "SAFETY_STATE_NORMAL" | "SAFETY_STATE_MASTERING" | "SAFETY_STATE_CONFIRM_SAFETY" | "SAFETY_STATE_OPERATOR_SAFETY" | "SAFETY_STATE_PROTECTIVE_STOP" | "SAFETY_STATE_REDUCED" | "SAFETY_STATE_STOP" | "SAFETY_STATE_STOP_0" | "SAFETY_STATE_STOP_1" | "SAFETY_STATE_STOP_2" | "SAFETY_STATE_RECOVERY" | "SAFETY_STATE_DEVICE_EMERGENCY_STOP" | "SAFETY_STATE_ROBOT_EMERGENCY_STOP" | "SAFETY_STATE_VIOLATION";
|
|
254
|
-
/**
|
|
255
|
-
* This structure describes a set of joint values, e.g., positions, currents, torques, of a motion group.
|
|
256
|
-
*
|
|
257
|
-
* Float precision is the default.
|
|
258
|
-
*
|
|
259
|
-
*
|
|
260
|
-
* This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
|
|
261
|
-
* via the `definition` "Joints".
|
|
262
|
-
*/
|
|
263
|
-
type Joints = number[];
|
|
264
|
-
/**
|
|
265
|
-
* - The location is a scalar value that defines a position along a path, typically ranging from 0 to `n`,
|
|
266
|
-
* where `n` denotes the number of motion commands
|
|
267
|
-
* - Each integer value of the location corresponds to a specific motion command,
|
|
268
|
-
* while non-integer values interpolate positions within the segments.
|
|
269
|
-
* - The location is calculated from the joint path
|
|
270
|
-
*
|
|
271
|
-
*
|
|
272
|
-
* This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
|
|
273
|
-
* via the `definition` "Location".
|
|
274
|
-
*/
|
|
275
|
-
type Location = number;
|
|
276
163
|
/**
|
|
277
164
|
* Current joint position of each joint.
|
|
278
165
|
* The unit depends on the type of joint: For revolute joints, the angle is given in [rad]; for prismatic joints, the displacement is given in [mm].
|
|
@@ -1235,20 +1122,6 @@ interface ColliderDictionary {
|
|
|
1235
1122
|
interface CollisionMotionGroupLink {
|
|
1236
1123
|
[k: string]: Collider;
|
|
1237
1124
|
}
|
|
1238
|
-
/**
|
|
1239
|
-
* Defines the shape of a tool.
|
|
1240
|
-
*
|
|
1241
|
-
* A tool is a dictionary of colliders.
|
|
1242
|
-
*
|
|
1243
|
-
* All colliders that make up a tool are attached to the flange frame of the motion group.
|
|
1244
|
-
*
|
|
1245
|
-
*
|
|
1246
|
-
* This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
|
|
1247
|
-
* via the `definition` "Tool".
|
|
1248
|
-
*/
|
|
1249
|
-
interface CollisionMotionGroupTool {
|
|
1250
|
-
[k: string]: Collider;
|
|
1251
|
-
}
|
|
1252
1125
|
/**
|
|
1253
1126
|
* This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
|
|
1254
1127
|
* via the `definition` "CollisionSetup".
|
|
@@ -1386,20 +1259,6 @@ interface StreamIOValuesResponse {
|
|
|
1386
1259
|
*/
|
|
1387
1260
|
sequence_number: number;
|
|
1388
1261
|
}
|
|
1389
|
-
/**
|
|
1390
|
-
* Indicates which joint of the motion group is in a limit.
|
|
1391
|
-
* If a joint is in its limit, only this joint can be moved. Movements that affect any other joints are not executed.
|
|
1392
|
-
*
|
|
1393
|
-
*
|
|
1394
|
-
* This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
|
|
1395
|
-
* via the `definition` "MotionGroupState_JointLimitReached".
|
|
1396
|
-
*/
|
|
1397
|
-
interface MotionGroupState_JointLimitReached {
|
|
1398
|
-
/**
|
|
1399
|
-
* If true, operational (soft) jointLimit is reached for specific joint.
|
|
1400
|
-
*/
|
|
1401
|
-
limit_reached: boolean[];
|
|
1402
|
-
}
|
|
1403
1262
|
/**
|
|
1404
1263
|
* Jogging is active.
|
|
1405
1264
|
*
|
|
@@ -1578,24 +1437,6 @@ interface TrajectoryDetails {
|
|
|
1578
1437
|
*/
|
|
1579
1438
|
kind: "TRAJECTORY";
|
|
1580
1439
|
}
|
|
1581
|
-
/**
|
|
1582
|
-
* Details about the state of the motion execution.
|
|
1583
|
-
* The details are either for a jogging or a trajectory.
|
|
1584
|
-
* If NOVA is not controlling this motion group at the moment, this field is omitted.
|
|
1585
|
-
*
|
|
1586
|
-
*
|
|
1587
|
-
* This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
|
|
1588
|
-
* via the `definition` "Execute".
|
|
1589
|
-
*/
|
|
1590
|
-
interface Execute {
|
|
1591
|
-
/**
|
|
1592
|
-
* Commanded joint position of each joint. This command was sent in the time step the corresponding state was received.
|
|
1593
|
-
* The unit depends on the type of joint: For revolute joints, the angle is given in [rad]; for prismatic joints, the displacement is given in [mm].
|
|
1594
|
-
*
|
|
1595
|
-
*/
|
|
1596
|
-
joint_position: number[];
|
|
1597
|
-
details?: JoggingDetails | TrajectoryDetails;
|
|
1598
|
-
}
|
|
1599
1440
|
/**
|
|
1600
1441
|
* Presents the current state of the motion group.
|
|
1601
1442
|
*
|
|
@@ -3174,7 +3015,7 @@ type NatsPublishSubject = keyof NatsPublishPayloads;
|
|
|
3174
3015
|
//#endregion
|
|
3175
3016
|
//#region src/lib/experimental/nats/NovaNatsClient.d.ts
|
|
3176
3017
|
type NovaNatsClientConfig = ConnectionOptions;
|
|
3177
|
-
type NatsMessageHandler<K extends NatsSubscribeSubject> = (payload: NatsSubscribePayloads[K], msg: Msg) => void
|
|
3018
|
+
type NatsMessageHandler<K extends NatsSubscribeSubject> = (payload: NatsSubscribePayloads[K], msg: Msg) => void;
|
|
3178
3019
|
type SubscribeArgs<K extends NatsSubscribeSubject> = keyof NatsOperationParams[K] extends never ? [handler: NatsMessageHandler<K>] : [params: NatsOperationParams[K], handler: NatsMessageHandler<K>];
|
|
3179
3020
|
/**
|
|
3180
3021
|
* Typed NATS client for the Wandelbots NOVA messaging API, generated from
|
|
@@ -3202,10 +3043,6 @@ declare class NovaNatsClient {
|
|
|
3202
3043
|
* `"nova.v2.cells.{cell}"`, with `{param}` placeholders filled in from
|
|
3203
3044
|
* `params`.
|
|
3204
3045
|
*
|
|
3205
|
-
* Errors decoding a message or thrown/rejected by `handler` are caught and
|
|
3206
|
-
* logged per-message, so one bad message doesn't stop later messages on
|
|
3207
|
-
* the same subscription from being handled.
|
|
3208
|
-
*
|
|
3209
3046
|
* Returns a function that unsubscribes when called.
|
|
3210
3047
|
*/
|
|
3211
3048
|
subscribe<K extends NatsSubscribeSubject>(subject: K, ...args: SubscribeArgs<K>): Promise<() => void>;
|
|
@@ -3231,5 +3068,5 @@ declare class NovaNatsClient {
|
|
|
3231
3068
|
publish<K extends NatsPublishSubject>(subject: K, params: NatsOperationParams[K], payload: NatsPublishPayloads[K]): Promise<void>;
|
|
3232
3069
|
}
|
|
3233
3070
|
//#endregion
|
|
3234
|
-
export { type
|
|
3071
|
+
export { type NatsOperationParams, type NatsPublishPayloads, type NatsPublishSubject, type NatsReplyPayloads, type NatsRequestPayloads, type NatsRequestSubject, type NatsSubscribePayloads, type NatsSubscribeSubject, NovaNatsClient, type NovaNatsClientConfig, buildNatsServerUrl };
|
|
3235
3072
|
//# sourceMappingURL=index.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../../../src/lib/experimental/nats/buildNatsServerUrl.ts","../../../src/lib/experimental/nats/generated/types.ts","../../../src/lib/experimental/nats/generated/operations.ts","../../../src/lib/experimental/nats/NovaNatsClient.ts"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../../../src/lib/experimental/nats/buildNatsServerUrl.ts","../../../src/lib/experimental/nats/generated/types.ts","../../../src/lib/experimental/nats/generated/operations.ts","../../../src/lib/experimental/nats/NovaNatsClient.ts"],"mappings":"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"}
|
|
@@ -13,20 +13,6 @@ import { ConnectionOptions, Msg, NatsConnection } from "@nats-io/nats-core";
|
|
|
13
13
|
declare function buildNatsServerUrl(instanceUrl: string): string;
|
|
14
14
|
//#endregion
|
|
15
15
|
//#region src/lib/experimental/nats/generated/types.d.ts
|
|
16
|
-
/**
|
|
17
|
-
* AUTO-GENERATED FILE - DO NOT EDIT.
|
|
18
|
-
* Generated from src/asyncapi.yaml by scripts/generate-nats-client.ts.
|
|
19
|
-
* Run `pnpm generate:nats` to regenerate.
|
|
20
|
-
*/
|
|
21
|
-
/**
|
|
22
|
-
* A unique name for the cell used as an identifier for addressing the cell in all API calls.
|
|
23
|
-
* It must be a valid k8s label name as defined by [RFC 1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#dns-label-names).
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
* This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
|
|
27
|
-
* via the `definition` "CellName".
|
|
28
|
-
*/
|
|
29
|
-
type CellName = string;
|
|
30
16
|
/**
|
|
31
17
|
* A description of the cell.
|
|
32
18
|
*
|
|
@@ -72,20 +58,6 @@ type ContainerEnvironment = {
|
|
|
72
58
|
name: string;
|
|
73
59
|
value: string;
|
|
74
60
|
}[];
|
|
75
|
-
/**
|
|
76
|
-
* The amount of requested storage capacity.
|
|
77
|
-
*
|
|
78
|
-
* This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
|
|
79
|
-
* via the `definition` "Capacity".
|
|
80
|
-
*/
|
|
81
|
-
type Capacity = string;
|
|
82
|
-
/**
|
|
83
|
-
* The state of a program run.
|
|
84
|
-
*
|
|
85
|
-
* This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
|
|
86
|
-
* via the `definition` "ProgramRunState".
|
|
87
|
-
*/
|
|
88
|
-
type ProgramRunState = "PREPARING" | "RUNNING" | "COMPLETED" | "FAILED" | "STOPPED";
|
|
89
61
|
/**
|
|
90
62
|
* State of the program run.
|
|
91
63
|
*/
|
|
@@ -135,25 +107,6 @@ type Vector3D = [number, number, number];
|
|
|
135
107
|
* via the `definition` "RotationVector".
|
|
136
108
|
*/
|
|
137
109
|
type RotationVector = [number, number, number];
|
|
138
|
-
/**
|
|
139
|
-
* A link chain is a kinematic chain of links that is connected via joints.
|
|
140
|
-
* A motion group can be used to control the motion of the joints in a link chain.
|
|
141
|
-
*
|
|
142
|
-
* A link is a group of colliders that is attached to the link reference frame.
|
|
143
|
-
*
|
|
144
|
-
* The reference frame of a link is obtained after applying all sets of Denavit-Hartenberg-parameters from base to (including) the link index.
|
|
145
|
-
*
|
|
146
|
-
* This means that the reference frame of the link is on the rotation axis of the next joint in the kinematic chain.
|
|
147
|
-
* Example: For a motion group with 2 joints, the collider reference frame (CRF) for link 1 is on the rotation axis of joint 2. The chain looks like:
|
|
148
|
-
* - Origin >> Mounting >> Base >> (CRF Base) Joint 0 >> Link 0 >> (CRF Link 0) Joint 1 >> Link 1 >> (CRF Link 1) Flange (CRF Tool) >> TCP
|
|
149
|
-
*
|
|
150
|
-
* Adjacent links in the kinematic chain of the motion group are not checked for mutual collision.
|
|
151
|
-
*
|
|
152
|
-
*
|
|
153
|
-
* This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
|
|
154
|
-
* via the `definition` "LinkChain".
|
|
155
|
-
*/
|
|
156
|
-
type LinkChain = CollisionMotionGroupLink[];
|
|
157
110
|
/**
|
|
158
111
|
* The shape of the motion groups links to validate against colliders.
|
|
159
112
|
* Indexed along the kinematic chain, starting with a static base shape before first joint.
|
|
@@ -181,50 +134,6 @@ type IOValue = IOBooleanValue | IOIntegerValue | IOFloatValue;
|
|
|
181
134
|
* via the `definition` "ListIOValuesResponse".
|
|
182
135
|
*/
|
|
183
136
|
type ListIOValuesResponse = IOValue[];
|
|
184
|
-
/**
|
|
185
|
-
* Defines the current system mode of the robot system, including NOVA communicating with the robot controller.
|
|
186
|
-
*
|
|
187
|
-
* ### MODE_CONTROLLER_NOT_CONFIGURED
|
|
188
|
-
*
|
|
189
|
-
* No controller with the specified identifier is configured. Call [addRobotController](#/operations/addRobotController) to register a controller.
|
|
190
|
-
*
|
|
191
|
-
* ### MODE_INITIALIZING
|
|
192
|
-
*
|
|
193
|
-
* Indicates that a connection to the robot controller is established or reestablished in case of a disconnect.
|
|
194
|
-
* On success, the controller is set to MODE_MONITOR.
|
|
195
|
-
* On failure, the initialization process is retried until successful or cancelled by the user.
|
|
196
|
-
*
|
|
197
|
-
* ### MODE_MONITOR
|
|
198
|
-
*
|
|
199
|
-
* Read-only mode with an active controller connection.
|
|
200
|
-
* - Receives robot state and I/O signals
|
|
201
|
-
* - Move requests are rejected
|
|
202
|
-
* - No commands are sent to the controller
|
|
203
|
-
*
|
|
204
|
-
* ### MODE_CONTROL
|
|
205
|
-
*
|
|
206
|
-
* Active control mode.
|
|
207
|
-
*
|
|
208
|
-
* **Movement is possible in this mode**
|
|
209
|
-
*
|
|
210
|
-
* The robot is cyclically commanded to hold its current position.
|
|
211
|
-
* The robot state is received in sync with the controller cycle.
|
|
212
|
-
* Motion and jogging requests are accepted and executed.
|
|
213
|
-
* Input/Output interaction is enabled.
|
|
214
|
-
*
|
|
215
|
-
* ### MODE_FREE_DRIVE
|
|
216
|
-
*
|
|
217
|
-
* Read-only mode with servo motors enabled for manual movement (Free Drive).
|
|
218
|
-
*
|
|
219
|
-
* Move requests are rejected.
|
|
220
|
-
*
|
|
221
|
-
* Not supported by all robots: Use [getSupportedModes](#/operations/getSupportedModes) to check Free Drive availability.
|
|
222
|
-
*
|
|
223
|
-
*
|
|
224
|
-
* This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
|
|
225
|
-
* via the `definition` "RobotSystemMode".
|
|
226
|
-
*/
|
|
227
|
-
type RobotSystemMode = "MODE_CONTROLLER_NOT_CONFIGURED" | "MODE_INITIALIZING" | "MODE_MONITOR" | "MODE_CONTROL" | "MODE_FREE_DRIVE";
|
|
228
137
|
/**
|
|
229
138
|
* Current operation mode of the configured robot controller.
|
|
230
139
|
* Operation modes in which the attached motion groups can be moved are:
|
|
@@ -251,28 +160,6 @@ type OperationMode = "OPERATION_MODE_UNKNOWN" | "OPERATION_MODE_NO_CONTROLLER" |
|
|
|
251
160
|
* via the `definition` "SafetyStateType".
|
|
252
161
|
*/
|
|
253
162
|
type SafetyStateType = "SAFETY_STATE_UNKNOWN" | "SAFETY_STATE_FAULT" | "SAFETY_STATE_NORMAL" | "SAFETY_STATE_MASTERING" | "SAFETY_STATE_CONFIRM_SAFETY" | "SAFETY_STATE_OPERATOR_SAFETY" | "SAFETY_STATE_PROTECTIVE_STOP" | "SAFETY_STATE_REDUCED" | "SAFETY_STATE_STOP" | "SAFETY_STATE_STOP_0" | "SAFETY_STATE_STOP_1" | "SAFETY_STATE_STOP_2" | "SAFETY_STATE_RECOVERY" | "SAFETY_STATE_DEVICE_EMERGENCY_STOP" | "SAFETY_STATE_ROBOT_EMERGENCY_STOP" | "SAFETY_STATE_VIOLATION";
|
|
254
|
-
/**
|
|
255
|
-
* This structure describes a set of joint values, e.g., positions, currents, torques, of a motion group.
|
|
256
|
-
*
|
|
257
|
-
* Float precision is the default.
|
|
258
|
-
*
|
|
259
|
-
*
|
|
260
|
-
* This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
|
|
261
|
-
* via the `definition` "Joints".
|
|
262
|
-
*/
|
|
263
|
-
type Joints = number[];
|
|
264
|
-
/**
|
|
265
|
-
* - The location is a scalar value that defines a position along a path, typically ranging from 0 to `n`,
|
|
266
|
-
* where `n` denotes the number of motion commands
|
|
267
|
-
* - Each integer value of the location corresponds to a specific motion command,
|
|
268
|
-
* while non-integer values interpolate positions within the segments.
|
|
269
|
-
* - The location is calculated from the joint path
|
|
270
|
-
*
|
|
271
|
-
*
|
|
272
|
-
* This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
|
|
273
|
-
* via the `definition` "Location".
|
|
274
|
-
*/
|
|
275
|
-
type Location = number;
|
|
276
163
|
/**
|
|
277
164
|
* Current joint position of each joint.
|
|
278
165
|
* The unit depends on the type of joint: For revolute joints, the angle is given in [rad]; for prismatic joints, the displacement is given in [mm].
|
|
@@ -1235,20 +1122,6 @@ interface ColliderDictionary {
|
|
|
1235
1122
|
interface CollisionMotionGroupLink {
|
|
1236
1123
|
[k: string]: Collider;
|
|
1237
1124
|
}
|
|
1238
|
-
/**
|
|
1239
|
-
* Defines the shape of a tool.
|
|
1240
|
-
*
|
|
1241
|
-
* A tool is a dictionary of colliders.
|
|
1242
|
-
*
|
|
1243
|
-
* All colliders that make up a tool are attached to the flange frame of the motion group.
|
|
1244
|
-
*
|
|
1245
|
-
*
|
|
1246
|
-
* This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
|
|
1247
|
-
* via the `definition` "Tool".
|
|
1248
|
-
*/
|
|
1249
|
-
interface CollisionMotionGroupTool {
|
|
1250
|
-
[k: string]: Collider;
|
|
1251
|
-
}
|
|
1252
1125
|
/**
|
|
1253
1126
|
* This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
|
|
1254
1127
|
* via the `definition` "CollisionSetup".
|
|
@@ -1386,20 +1259,6 @@ interface StreamIOValuesResponse {
|
|
|
1386
1259
|
*/
|
|
1387
1260
|
sequence_number: number;
|
|
1388
1261
|
}
|
|
1389
|
-
/**
|
|
1390
|
-
* Indicates which joint of the motion group is in a limit.
|
|
1391
|
-
* If a joint is in its limit, only this joint can be moved. Movements that affect any other joints are not executed.
|
|
1392
|
-
*
|
|
1393
|
-
*
|
|
1394
|
-
* This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
|
|
1395
|
-
* via the `definition` "MotionGroupState_JointLimitReached".
|
|
1396
|
-
*/
|
|
1397
|
-
interface MotionGroupState_JointLimitReached {
|
|
1398
|
-
/**
|
|
1399
|
-
* If true, operational (soft) jointLimit is reached for specific joint.
|
|
1400
|
-
*/
|
|
1401
|
-
limit_reached: boolean[];
|
|
1402
|
-
}
|
|
1403
1262
|
/**
|
|
1404
1263
|
* Jogging is active.
|
|
1405
1264
|
*
|
|
@@ -1578,24 +1437,6 @@ interface TrajectoryDetails {
|
|
|
1578
1437
|
*/
|
|
1579
1438
|
kind: "TRAJECTORY";
|
|
1580
1439
|
}
|
|
1581
|
-
/**
|
|
1582
|
-
* Details about the state of the motion execution.
|
|
1583
|
-
* The details are either for a jogging or a trajectory.
|
|
1584
|
-
* If NOVA is not controlling this motion group at the moment, this field is omitted.
|
|
1585
|
-
*
|
|
1586
|
-
*
|
|
1587
|
-
* This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
|
|
1588
|
-
* via the `definition` "Execute".
|
|
1589
|
-
*/
|
|
1590
|
-
interface Execute {
|
|
1591
|
-
/**
|
|
1592
|
-
* Commanded joint position of each joint. This command was sent in the time step the corresponding state was received.
|
|
1593
|
-
* The unit depends on the type of joint: For revolute joints, the angle is given in [rad]; for prismatic joints, the displacement is given in [mm].
|
|
1594
|
-
*
|
|
1595
|
-
*/
|
|
1596
|
-
joint_position: number[];
|
|
1597
|
-
details?: JoggingDetails | TrajectoryDetails;
|
|
1598
|
-
}
|
|
1599
1440
|
/**
|
|
1600
1441
|
* Presents the current state of the motion group.
|
|
1601
1442
|
*
|
|
@@ -3174,7 +3015,7 @@ type NatsPublishSubject = keyof NatsPublishPayloads;
|
|
|
3174
3015
|
//#endregion
|
|
3175
3016
|
//#region src/lib/experimental/nats/NovaNatsClient.d.ts
|
|
3176
3017
|
type NovaNatsClientConfig = ConnectionOptions;
|
|
3177
|
-
type NatsMessageHandler<K extends NatsSubscribeSubject> = (payload: NatsSubscribePayloads[K], msg: Msg) => void
|
|
3018
|
+
type NatsMessageHandler<K extends NatsSubscribeSubject> = (payload: NatsSubscribePayloads[K], msg: Msg) => void;
|
|
3178
3019
|
type SubscribeArgs<K extends NatsSubscribeSubject> = keyof NatsOperationParams[K] extends never ? [handler: NatsMessageHandler<K>] : [params: NatsOperationParams[K], handler: NatsMessageHandler<K>];
|
|
3179
3020
|
/**
|
|
3180
3021
|
* Typed NATS client for the Wandelbots NOVA messaging API, generated from
|
|
@@ -3202,10 +3043,6 @@ declare class NovaNatsClient {
|
|
|
3202
3043
|
* `"nova.v2.cells.{cell}"`, with `{param}` placeholders filled in from
|
|
3203
3044
|
* `params`.
|
|
3204
3045
|
*
|
|
3205
|
-
* Errors decoding a message or thrown/rejected by `handler` are caught and
|
|
3206
|
-
* logged per-message, so one bad message doesn't stop later messages on
|
|
3207
|
-
* the same subscription from being handled.
|
|
3208
|
-
*
|
|
3209
3046
|
* Returns a function that unsubscribes when called.
|
|
3210
3047
|
*/
|
|
3211
3048
|
subscribe<K extends NatsSubscribeSubject>(subject: K, ...args: SubscribeArgs<K>): Promise<() => void>;
|
|
@@ -3231,5 +3068,5 @@ declare class NovaNatsClient {
|
|
|
3231
3068
|
publish<K extends NatsPublishSubject>(subject: K, params: NatsOperationParams[K], payload: NatsPublishPayloads[K]): Promise<void>;
|
|
3232
3069
|
}
|
|
3233
3070
|
//#endregion
|
|
3234
|
-
export { type
|
|
3071
|
+
export { type NatsOperationParams, type NatsPublishPayloads, type NatsPublishSubject, type NatsReplyPayloads, type NatsRequestPayloads, type NatsRequestSubject, type NatsSubscribePayloads, type NatsSubscribeSubject, NovaNatsClient, type NovaNatsClientConfig, buildNatsServerUrl };
|
|
3235
3072
|
//# sourceMappingURL=index.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/lib/experimental/nats/buildNatsServerUrl.ts","../../../src/lib/experimental/nats/generated/types.ts","../../../src/lib/experimental/nats/generated/operations.ts","../../../src/lib/experimental/nats/NovaNatsClient.ts"],"mappings":";;;;;;;;AAUA;;;;iBAAgB,kBAAA,CAAmB,WAAmB;;;;;;;AAAtD;;;;AAAsD;;;;ACItD;KAAY,QAAA;;;AAAQ;AAQpB;;;;KAAY,eAAA;AAKZ;;;;AAAA,KAAY,YAAA;AAeZ;;;;AAA4B;AAW5B;;;AAXA,KAAY,gBAAA;AAaW;AASvB;;;;AAEO;AAQP;;;;AAnBuB,KAFX,sCAAA,GACR,oBAAA,GACA,mBAAmB;AA0BvB;;;;AAA2B;AAS3B;;;AATA,KAjBY,oBAAA;EACV,IAAA;EACA,KAAK;AAAA;;;AAkCiB;AASxB;;;KAnCY,QAAA;AAmCqB;AAKjC;;;;AAA8B;AALG,KA5BrB,eAAA;;;;KASA,gBAAA;AAsDZ;;;;AAAA,KA5CY,YAAA;AA0DZ;;;;AAAA,KAjDY,qBAAA;AAoEZ;;;;AAAA,KA/DY,kBAAA;AAsEZ;;;;AAAA,KAnDY,iBAAA,GAAoB,aAAa;AA2D7C;;;;AAA2B;AAS3B;;;;;AATA,KAhDY,QAAA;;;;;;;AAyDwD;AAOpE;;;;AAA0C;AA4C1C;KA9FY,cAAA;;;AA8Fe;AAmB3B;;;;AAAyB;AAsBzB;;;;AAA2B;AA0B3B;;;;AAAkB;KA9IN,SAAA,GAAY,wBAAwB;;;;AA0J5B;AAMpB;;KAzJY,UAAA,GAAa,wBAAwB;;AAyJ9B;AAMnB;;;;AAAmB;KAvJP,eAAA;;;;AA6JO;KApJP,OAAA,GAAU,cAAA,GAAiB,cAAA,GAAiB,YAAA;;;;AA2JR;AAQhD;;KA5JY,oBAAA,GAAuB,OAAO;;AA4JrB;AAQrB;;;;AAAqB;AAKrB;;;;AAAyB;AAKzB;;;;;;;;;;;;;;;AA0Bc;AAOd;;;;;;;;;;;;;;;KAnKY,eAAA;AAsMZ;;;;AAA0B;AAK1B;;;;;;;;AALA,KAnLY,aAAA;;;;;;AAwME;AAKd;;;;;KAvLY,eAAA;;;;;;;;;AAuME;KA7KF,MAAA;;;;;;;;;;;;KAYA,QAAA;;AAsLE;AAKd;;;KArLY,OAAA;;;;;;KAMA,OAAA;;;;;AA+LE;KAzLF,OAAA;;;;;;;KAOA,iBAAA,GAAoB,gBAAgB;;;;;;;AAuMlC;KA/LF,SAAA;;;;;;;;KAQA,SAAA;;;;;KAKA,aAAA;AAuME;AAKd;;;AALc,KAlMF,wBAAA,GAA2B,UAAU;EAC/C,IAAA;EACA,MAAA;EA2MA;;;EAvMA,EAAA;IAAA,CACG,CAAA;EAAA;EAgND;;AAAU;EA3MZ,IAAA;IAAA,CACG,CAAA;EAAA;EA+NS;;;EA1NZ,IAAA;IAiNG;;;IA7MD,UAAA;IAqNI;;;IAjNJ,UAAA;EAAA;AAAA;;;;;KAOQ,0BAAA,GAA6B,UAAU;EACjD,IAAA;EACA,MAAA;EA2NG;;;EAvNH,EAAA;IAAA,CACG,CAAA;EAAA;EA2NY;;;EAtNf,IAAA;IAAA,CACG,CAAA;EAAA;EA4NH;;;EAvNA,IAAA;IA6NM;AAAA;AAcR;IAvOI,UAAA;IAuOuC;;AAcvC;IAjPA,KAAA;EAAA;AAAA;;;;;;;KASQ,cAAA;AA8PZ;;;;AAAA,KAzPY,gBAAA;EACV,IAAA;EACA,MAAA;EA8PA;;;EA1PA,EAAA;IAAA,CACG,CAAA;EAAA;EAyQY;;;EApQf,IAAA;IAAA,CACG,CAAA;EAAA;EAEH,IAAA,EAAM,aAAA;AAAA,IACJ,UAAU;;;;;KAKF,gBAAA;EACV,IAAA;EACA,MAAA;EAqRe;;;EAjRf,EAAA;IAAA,CACG,CAAA;EAAA;EA+RH;;;EA1RA,IAAA;IAAA,CACG,CAAA;EAAA;EAEH,IAAA,EAAM,aAAA;AAAA,IACJ,UAAU;;;;;KAKF,gBAAA;EACV,IAAA;EACA,MAAA;EA0VM;;;EAtVN,EAAA;IAAA,CACG,CAAA;EAAA;EA6VG;;;EAxVN,IAAA;IAAA,CACG,CAAA;EAAA;EAEH,IAAA,EAAM,aAAA;AAAA,IACJ,UAAU;;;;;KAKF,eAAA;EACV,IAAA;EACA,MAAA;EAkWM;;;EA9VN,EAAA;IAAA,CACG,CAAA;EAAA;EAmWG;;;EA9VN,IAAA;IAAA,CACG,CAAA;EAAA;EAEH,IAAA,EAAM,YAAA;AAAA,IACJ,UAAU;;;;;KAKF,eAAA;EACV,IAAA;EACA,MAAA;EAsWM;;;EAlWN,EAAA;IAAA,CACG,CAAA;EAAA;EAsWyC;;;EAjW5C,IAAA;IAAA,CACG,CAAA;EAAA;EAEH,IAAA,EAAM,YAAA;AAAA,IACJ,UAAU;;;;;KAKF,eAAA;EACV,IAAA;EACA,MAAA;EA0RM;;;EAtRN,EAAA;IAAA,CACG,CAAA;EAAA;EA6RG;;;EAxRN,IAAA;IAAA,CACG,CAAA;EAAA;EAEH,IAAA,EAAM,YAAA;AAAA,IACJ,UAAU;;;;;KAKF,2BAAA;EACV,IAAA;EACA,MAAA;EAgSM;;;EA5RN,EAAA;IAAA,CACG,CAAA;EAAA;EAmSG;;;EA9RN,IAAA;IAAA,CACG,CAAA;EAAA;EAEH,IAAA,EAAM,wBAAA;AAAA,IACJ,UAAU;;;;;KAKF,2BAAA;EACV,IAAA;EACA,MAAA;EAsSM;;;EAlSN,EAAA;IAAA,CACG,CAAA;EAAA;EAuSG;;AAAsC;EAlS5C,IAAA;IAAA,CACG,CAAA;EAAA;EAEH,IAAA,EAAM,wBAAA;AAAA,IACJ,UAAU;AAiTd;;;;AAAA,KA5SY,2BAAA;EACV,IAAA;EACA,MAAA;EAsTI;;;EAlTJ,EAAA;IAAA,CACG,CAAA;EAAA;EA6SC;;;EAxSJ,IAAA;IAAA,CACG,CAAA;EAAA;EAEH,IAAA,EAAM,wBAAA;AAAA,IACJ,UAAU;AAAA,UAEG,aAAA;EACf,IAAA;EACA,aAAA;EA8S+B;;;;EAzS/B,eAAA;EA4SQ;AASV;;EAjTE,UAAA;IACE,EAAA;IACA,IAAA;EAAA;AAAA;;;;AAyTI;AAYR;;;;AAQU;AAQV;;UAvUiB,0BAAA;EA2Uf;AAIY;AASd;;;;EAjVE,OAAA;EAuWU;;;;;;EAhWV,EAAE;AAAA;;;;;;;UAQa,eAAA;EACf,IAAA;EACA,aAAA;EACA,iBAAA,GAAoB,0BAA0B;AAAA;AAuXhD;;;;;;;;;AAAA,UA5WiB,cAAA;EACf,IAAA;EACA,aAAA;EACA,eAAA;EAuXc;;;EAnXd,UAAA;IACE,EAAA;IACA,IAAA;EAAA;EAyX0B;;;;EAnX5B,eAAA;AAAA;;;;;;;UAQe,yBAAA;EACf,IAAA;EACA,aAAa;AAAA;;;;;UAME,oBAAA;EA2YW;;;EAvY1B,YAAA;EACA,kBAAA,EAAoB,gBAAgB;EAqYlC;;;;;;AAEM;AAUV;EAxYE,sBAAA;AAAA;;;;;UAMe,mBAAA;EAsZf;;;EAlZA,YAAA;EAgaA;;AAAM;AAQR;;EAlaE,SAAA;EAmaA;AAIM;AAaR;;EA/aE,yBAAA;EA+akB;;;;;;;AAiBV;EAvbR,sBAAA;AAAA;;;;;;;AAwcM;AAQR;UAtciB,iBAAA;EACf,IAAA;EACA,YAAA,EAAc,YAAA;EAqcJ;AAYZ;;;;EA3cE,IAAA;EAgdA;;;AAIM;AAUR;;EAvdE,IAAA;EAudsB;;;;;AASP;AAWjB;;EAleE,sBAAA;EAkeiC;;;;;;AAaT;AAQ1B;;;;;;;;AAKoB;AAWpB;EArfE,aAAA,SAEK,sCAAA,KAEC,sCAAA,EACA,sCAAA,KAGA,sCAAA,EACA,sCAAA,EACA,sCAAA,KAGA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,KAGA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,KAGA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,KAGA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,KAGA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,KAGA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,KAGA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA;AAAA;;;;AA+fkB;AAM1B;;UA5fiB,iBAAA;EACf,IAAA;EACA,aAAa;AAAA;;;;AAkgBQ;AAMvB;;UAhgBiB,eAAA;EAigBO;;;;;EA3ftB,IAAA;EACA,aAAA,EACI,aAAA,GACA,eAAA,GACA,cAAA,GACA,yBAAA,GACA,iBAAA,GACA,iBAAA;AAAA;;;;;;;AA4gBM;UAngBK,gBAAA;EACf,QAAA;EACA,IAAA;EACA,QAAA;AAAA;;;;AAohBU;AAMZ;;;UAjhBiB,cAAA;EAqhBf;;;EAjhBA,KAAA;EACA,WAAA,GAAc,gBAAgB;EA4hBf;;;EAxhBf,OAAA;IACE,IAAA;EAAA;AAAA;;;;;;;;AAqjBa;AAUjB;UAnjBiB,gBAAA;EACf,UAAA;EAsjBa;AAAA;AASf;;;;EAxjBE,QAAQ;AAAA;;;;AAmkBJ;AASN;;UApkBiB,kBAAA;EAqkBX;AAAA;AASN;EA1kBE,SAAA;;;AA4kBa;EAxkBb,YAAY;AAAA;;;AAmlBD;AASb;;;;UAnlBiB,GAAA;EAsmBA;;;;;;;;;;EA3lBf,IAAA;EA4lBA;;;EAxlBA,QAAA;EACA,eAAA,EAAiB,cAAA;EA4lBb;;;EAxlBJ,IAAA;EACA,WAAA,GAAc,oBAAA;EACd,OAAA,GAAU,gBAAA;EACV,SAAA,GAAY,kBAAA;EA0mBoB;;;AAKrB;AASb;;;;AACM;AASN;;;EArnBE,WAAA;EAsnBI;AASN;;;;AACM;AASN;;EAhoBE,cAAA;AAAA;AAioBI;AAgBN;;;;;;;;AAhBM,UAtnBW,IAAA;EAspBS;;;;;EAhpBxB,IAAA;EA8oBI;;;;;EAxoBJ,OAAA;EACA,WAAA,GAAc,eAAA;EACd,WAAA,GAAc,eAAA;EACd,IAAA,GAAO,GAAA;EAAA,CACN,CAAA;AAAA;;;;;UAMc,aAAA;EA+pBA;;;EA3pBf,GAAA;EA+qBqB;;;EA3qBrB,OAAA;EAqrBW;;;EAjrBX,GAAA;EACA,KAAA,EAAO,gBAAgB;EA4pBvB;;;EAxpBA,KAAA;EAiqBgB;;;EA7pBhB,UAAA;EA+pBe;;;EA3pBf,QAAA;EA6pBc;;;EAzpBd,SAAA;AAAA;;;;;UAMe,aAAA;EACf,OAAA;EACA,KAAA,EAAO,YAAA;EACP,MAAA;IACE,QAAA,EAAU,qBAAA;IACV,IAAA,EAAM,kBAAA;IACN,MAAA;EAAA;AAAA;;;;;;;;UAUa,cAAA;EA0rBa;AAQ9B;;EA9rBE,UAAA;EAgsB4B;;;EA5rB5B,EAAA;EA4rBc;;AAAc;EAxrB5B,QAAA;EAgsBuB;;;EA5rBvB,SAAA;EAmsBA;;;EA/rBA,IAAA;EA+rB4C;AAQ9C;;EAnsBE,KAAA;IAAA,CACG,CAAA;EAAA;EA8uBY;;;EAzuBf,WAAA;EAitBA;;;EA7sBA,MAAA;AAAA;;;;;;;UAQe,MAAA;EACf,UAAA;EAkuBe;;;EA9tBf,MAAM;AAAA;;;;AAmuBI;AAQZ;;;;AAEa;AAMb;;UAtuBiB,GAAA;EACf,UAAA;EAsuBA;;;EAluBA,MAAA;EA2uBA;;;EAvuBA,MAAA;EA8uBe;;;EA1uBf,MAAA;EA2uBA;;;EAvuBA,QAAA;AAAA;;;AAwvBgB;AAMlB;;;UAtvBiB,SAAA;EACf,UAAA;EAwvBQ;;;EApvBR,MAAA;EAsvB0C;;;EAlvB1C,MAAA;AAAA;;;;;;;UAQe,KAAA;EACf,UAAU;AAAA;;;;;;;;;;;UAYK,QAAA;EACf,UAAA;EAquBA;;;EAjuBA,MAAA;EAsuBA;;AAA0C;EAluB1C,MAAA;AAAA;;;;;;;;;UAUe,OAAA;EACf,UAAA;EA4uBe;;;EAxuBf,MAAA;EA4uBA;;;EAxuBA,eAAA;AAAA;;;;AAyvBoB;AAatB;;;;;UA3vBiB,kBAAA;EACf,UAAA;EAowBwB;;;EAhwBxB,MAAA;EA2wBgB;;;EAvwBhB,wBAAA;EAywBqB;;;EArwBrB,wBAAA;AAAA;;;;;;;UAQe,UAAA;EACf,UAAA;EAivBA;;;EA7uBA,QAAA,EAAU,QAAQ;AAAA;;;;;;;;;;UAWH,IAAA;EACf,QAAA,GAAW,QAAA;EACX,WAAA,GAAc,cAAc;AAAA;;;;;;;AAkwBA;AAO9B;;;;AACwB;AAOxB;;;UAhwBiB,QAAA;EACf,KAAA,EACI,MAAA,GACA,GAAA,GACA,SAAA,GACA,KAAA,GACA,QAAA,GACA,OAAA,GACA,kBAAA,GACA,UAAA;EACJ,IAAA,GAAO,IAAA;EA8vB2B;;;EA1vBlC,MAAA;AAAA;;;;AAmwBoB;AAQtB;;UAnwBiB,kBAAA;EAAA,CACd,CAAA,WAAY,QAAQ;AAAA;;;;;UAMN,wBAAA;EAAA,CACd,CAAA,WAAY,QAAQ;AAAA;;;;;;;;AAuwBO;AAU9B;;;UApwBiB,wBAAA;EAAA,CACd,CAAA,WAAY,QAAQ;AAAA;;;;;UAMN,cAAA;EACf,SAAA,GAAY,mBAAA;EACZ,UAAA,GAAa,UAAA;EACb,IAAA,GAAO,yBAAA;EA+xBK;AAAA;AAOd;;;;;;;;EA3xBE,wBAAA;AAAA;;AAyzBc;AAUhB;;UA7zBiB,mBAAA;EAAA,CACd,CAAA,WAAY,QAAQ;AAAA;;;;;UAMN,yBAAA;EAAA,CACd,CAAA,WAAY,QAAQ;AAAA;;AA80BH;AAQpB;;UAh1BiB,WAAA;EACf,KAAA,EAAO,eAAe;EAm1BtB;;;;AAC+B;EA90B/B,OAAA;AAAA;;;;;;;UAQe,cAAA;EA21BA;;;EAv1Bf,EAAA;EAw1BA;;;;EAn1BA,KAAA;EACA,UAAA;AAAA;AA61BF;;;;AAAA,UAv1BiB,cAAA;;;;EAIf,EAAA;EC15CkC;;;;;;;;EDm6ClC,KAAA;EACA,UAAA;AAAA;;;;;UAMe,YAAA;EC72Cb;;;EDi3CF,EAAA;ECr1CA;;;;ED01CA,KAAA;EACA,UAAA;AAAA;;;;;UAMe,SAAA;ECtxCb;;;ED0xCF,GAAA;EChwCA;;;;;;EDuwCA,WAAW;AAAA;;;;;;;UAQI,sBAAA;EACf,SAAA,EAAW,OAAO;EC5qClB;;;EDgrCA,SAAA;EClpCA;;;;;EDwpCA,eAAA;AAAA;;;;;;;;;UAUe,kCAAA;EC/jCb;;;EDmkCF,aAAa;AAAA;AChjCD;AAKd;;;;;;AALc,UDyjCG,cAAA;EACf,IAAI;AAAA;;;;;;;;UASW,mBAAA;EACf,IAAI;AAAA;;;;;;;;UASW,iBAAA;EACf,IAAI;AAAA;;;;;;;;UASW,2BAAA;EACf,IAAA;EACA,aAAa;AAAA;;;;;;;;UASE,0BAAA;EACf,IAAA;EACA,WAAW;AAAA;;;;;;;;UASI,4BAAA;EACf,IAAA;EACA,WAAW;AAAA;;;;;;;;;;;;;;;;UAiBI,cAAA;EACf,KAAA,EACI,cAAA,GACA,mBAAA,GACA,iBAAA,GACA,2BAAA,GACA,0BAAA,GACA,4BAAA;ECx4B4D;;AAA2B;AAG7F;;;;AAA8D;AAG9D;ED44BE,2BAAA;EACA,IAAA;AAAA;;;;;;AC53BqE;AAIvE;UDi4BiB,iBAAA;EACf,IAAA;ECj3B4E;;;EDq3B5E,WAAW;AAAA;;ACr3BiE;AAG9E;;;;AAA0D;UD23BzC,sBAAA;EACf,IAAI;AAAA;;;;;;;;UASW,eAAA;EACf,IAAI;AAAA;;;;;;;;UASW,mBAAA;EACf,IAAI;AAAA;;;;;;;;UASW,oBAAA;EACf,IAAI;AAAA;;;;;;;;;;;;;;;UAgBW,iBAAA;ECl1Bf;;;;EDu1BA,UAAA;ECt0BwC;;;;ED20BxC,QAAA;EACA,KAAA,EACI,iBAAA,GACA,sBAAA,GACA,eAAA,GACA,mBAAA,GACA,oBAAA;ECzzBmD;;;;ED8zBvD,IAAA;AAAA;;;;;;;;;;UAWe,OAAA;EC9uBmC;;;;;EDovBlD,cAAA;EACA,OAAA,GAAU,cAAA,GAAiB,iBAAiB;AAAA;;;;;ACnsB+C;AAG7F;UDwsBiB,gBAAA;;;ACxsByC;ED4sBxD,SAAA;;;AEjtDF;;;EFutDE,eAAA;EEvtDkD;AAAA;;EF2tDlD,YAAA;EEztDgC;;;EF6tDhC,UAAA;EACA,cAAA,EAAgB,OAAA;EAChB,mBAAA,EAAqB,mCAAA;EACrB,YAAA,GAAe,OAAA;EACf,aAAA,GAAgB,OAAA;EAChB,WAAA,GAAc,KAAA;EEjuDL;;;;;EFuuDT,GAAA;EACA,QAAA,GAAW,KAAA;EEtuDM;AAAA;;;;;EF6uDjB,iBAAA;EEzuDiC;;;;;EF+uDjC,OAAA;EE9uDgE;;;;;EFovDhE,UAAA;EACA,OAAA,GAAU,QAAA;EEtvDI;;;;;;;EF8vDd,oBAAA;AAAA;AE7vDkE;AAQpE;;;AARoE,UFmwDnD,mCAAA;EEvvDG;;;EF2vDlB,aAAa;AAAA;;;;;;;UAQE,KAAA;EACf,QAAA,GAAW,QAAA;EACX,WAAA,GAAc,cAAc;AAAA;;;;;;;UAQb,KAAA;EACf,QAAA,GAAW,QAAA;EACX,WAAA,GAAc,cAAc;AAAA;;;;;;;UAQb,QAAA;EEvxDG;;;;;EF6xDlB,cAAA;EACA,OAAA,GAAU,cAAA,GAAiB,iBAAiB;AAAA;;;;;;;UAQ7B,oBAAA;EElvDJ;;;EFsvDX,IAAA;EE5sDc;;;;;;;;;;EF4tDd,UAAA;EExtDE;;;EF4tDF,SAAA;EE1sDM;;;;;EFgtDN,eAAA;EE9sD8B;;;EFktD9B,UAAA;EACA,cAAA,EAAgB,aAAA;EAChB,YAAA,EAAc,eAAA;EEltDJ;AAAA;;;;;EFytDV,iBAAA;EACA,aAAA,EAAe,iBAAA;AAAA;;;;;UAMA,SAAA;;;;EAIf,IAAA;EACA,IAAA,EAAM,IAAI;AAAA;;;;;;;UAQK,UAAA;EACf,WAAA;EACA,WAAW;AAAA;;;;;UAMI,WAAA;EACf,QAAA,GAAW,UAAU;EACrB,QAAA;EACA,YAAA;;;;;;;EAOA,IAAA;EACA,MAAA;AAAA;;;;;UAMe,eAAA;EACf,QAAA;EACA,YAAA;;;;;;;EAOA,IAAA;EACA,oBAAA;EACA,wBAAA;;;;;;;EAOA,gBAAA;AAAA;;;;;UAMe,QAAA;EACf,MAAA,GAAS,WAAA;EACT,GAAA,GAAM,eAAA;EACN,KAAA,GAAQ,eAAA;EACR,MAAA,GAAS,eAAA;EACT,4BAAA,GAA+B,WAAA;AAAA;;;;;UAMhB,eAAA;EACf,WAAA,GAAc,QAAA;EACd,aAAA,GAAgB,QAAA;EAChB,gBAAA,GAAmB,QAAA;EACnB,gBAAA,GAAmB,QAAA;;;;EAInB,0CAAA;AAAA;;;;;UAMe,OAAA;EACf,IAAA;;;;EAIA,OAAA;EACA,cAAA,GAAiB,SAAA;EACjB,iBAAA,GAAoB,SAAS;AAAA;;;;;;;UAQd,WAAA;;;;EAIf,KAAA;;;;EAIA,KAAA;;;;EAIA,CAAA;;;;EAIA,CAAA;;;;EAIA,0BAAA;EACA,IAAA,GAAO,aAAa;AAAA;;;;;;;;;;;;UAaL,sBAAA;EACf,kBAAA,EAAoB,gBAAA;EACpB,QAAA,GAAW,KAAA;EACX,IAAA,GAAO,mBAAA;EACP,YAAA,GAAe,mBAAA;;;;;;EAMf,qBAAA,GAAwB,kBAAA;EACxB,qBAAA,GAAwB,mBAAA;EACxB,gBAAA,EAAkB,eAAA;EAClB,QAAA,GAAW,iBAAA;;;;EAIX,UAAA;;;;EAIA,aAAA,GAAgB,WAAA;EAChB,sBAAA,GAAyB,KAAA;EACzB,aAAA,GAAgB,KAAA;;;;;EAKhB,aAAA;;;;;;;;EAQA,oBAAA;AAAA;;;;;;;UAQe,KAAA;EACf,QAAA,GAAW,QAAA;EACX,WAAA,GAAc,cAAc;AAAA;;;;;;UAOb,mBAAA;EAAA,CACd,CAAA,WAAY,SAAS;AAAA;;;;;;UAOP,mBAAA;EAAA,CACd,CAAA,WAAY,QAAQ;AAAA;;;;;;UAON,mBAAA;EAAA,CACd,CAAA,WAAY,kBAAkB;AAAA;;;;;;UAOhB,iBAAA;EAAA,CACd,CAAA,WAAY,OAAO;AAAA;;;;;;;UAQL,KAAA;EACf,QAAA,GAAW,QAAA;EACX,WAAA,GAAc,cAAc;AAAA;;;;;;;UAQb,KAAA;EACf,QAAA,GAAW,QAAA;EACX,WAAA,GAAc,cAAc;AAAA;;;;;;;;;UAUb,UAAA;;;;EAIf,WAAA;;;;EAIA,IAAA;;;;EAIA,MAAA;;;;EAIA,EAAA;;;;EAIA,IAAA;;;;EAIA,eAAA;;;;EAIA,UAAA;;;;EAIA,OAAA;;;;EAIA,IAAA;IAAA,CACG,CAAA;EAAA;AAAA;;;;;UAOY,YAAA;;;;;EAKf,kBAAA;;;;;EAKA,eAAA;;;;;EAKA,eAAA;;;;;EAKA,YAAA;;;;;EAKA,UAAA;;;;;EAKA,cAAA;AAAA;;;;;;;;;UAUe,yBAAA;;;;EAIf,WAAA;;;;EAIA,IAAA;;;;EAIA,MAAA;;;;EAIA,EAAA;;;;EAIA,IAAA;;;;EAIA,eAAA;EACA,IAAA,EAAM,YAAY;AAAA;;;;;;;UAQH,aAAA;;;;EAIf,OAAA;EACA,eAAA,EAAiB,cAAc;AAAA;;;;;;;UAQhB,YAAA;;;;EAIf,KAAA;EACA,eAAA,EAAiB,cAAc;AAAA;;;;;;;UAQhB,wBAAA;EACf,YAAA,EAAc,YAAA;;;;EAId,OAAA;EACA,eAAA,EAAiB,cAAc;AAAA;;;;;UAMhB,gBAAA;EACf,IAAA;EACA,OAAO;AAAA;;;;UC/uEQ,mBAAA;EF1BqC;;;;ACItD;;;;AAAoB;ECgClB,sBAAA;IDxByB;;;IC4BvB,IAAA;EAAA;EDvBoB;;;AAAA;AAexB;;;;AAA4B;ECmB1B,iCAAA;IDRgD;;;ICY9C,IAAA;IDDQ;;;;ICMR,GAAA;EAAA;EDIgB;;;AAAA;AAOpB;;;;ECDE,+BAAA;IDUU;;;ICNR,IAAA;EAAA;EDgBQ;;;;AAAY;AASxB;;EChBE,+CAAA;IDgB+B;AAAA;AAKjC;ICjBI,IAAA;IDiB0B;;AAAA;ICb1B,UAAA;EAAA;;;ADgCyC;AAW7C;;;;AAAoB;AAcpB;EC9CE,6BAAA;ID8CwB;;AAAA;IC1CtB,IAAA;EAAA;;;AD6D4C;AAOhD;;;;EC3DE,4BAAA;IDmEU;;;IC/DR,IAAA;EAAA;EDwEQ;;;;;;;;;EC7DV,uBAAA,EAAyB,MAAA;ED6D6B;;AAAY;AAOpE;;;;AAA0C;AA4C1C;ECtGE,+CAAA;IDsGyB;;AAAA;IClGvB,IAAA;IDqHqB;;;ICjHrB,KAAA;EAAA;EDuIuB;;;AAAA;AA0B3B;;;;AAAkB;ECtJhB,qCAAA;IDkKkB;;;IC9JhB,IAAA;EAAA;EDoKe;;;AAAA;AAMnB;;;ECjKE,kCAAA;IDiKiB;AAMnB;;ICnKI,IAAA;EAAA;EDmKe;AAOnB;;;;AAAgD;AAQhD;;ECxKE,sCAAA;IDwKmB;AAAA;AAQrB;IC5KI,IAAA;EAAA;ED4KiB;AAAA;AAKrB;;;;AAAyB;ECxKvB,0DAAA;ID6KkC;;;ICzKhC,IAAA;ID0KF;;;ICtKE,UAAA;EAAA;EDkLC;;;;;AAaS;AAOd;EC7LE,mDAAA;ID6LuC;;;ICzLrC,IAAA;ID2LF;;;ICvLE,UAAA;EAAA;EDuMF;;;;AAQO;AAST;;EC/ME,qDAAA;ID+MwB;AAAA;AAK1B;IChNI,IAAA;ID+NI;;;IC3NJ,UAAA;EAAA;EDmNC;;;;;;;EC1MH,wFAAA;IDwNU;;;ICpNR,IAAA;IDqNF;;;ICjNE,UAAA;ID4NF;;;ICxNE,cAAA;EAAA;ED4NU;AAAA;AAKd;;;;;;;;;;;EClNE,sCAAA,EAAwC,MAAA;EDkOtC;;AAAU;AAKd;;;;;;;;;;;ECxNE,wCAAA,EAA0C,MAAA;EDwOxC;;AAAU;AAKd;;;;;;;;;;EC/NE,8CAAA,EAAgD,MAAA;ED8O1C;;;AACM;AAKd;;;;;EC1OE,qCAAA;IDgPA;;;IC5OE,IAAA;EAAA;EDqPI;;;AACM;AAKd;;;;;EChPE,qCAAA;IDsPA;;;IClPE,IAAA;EAAA;ED2PI;;;AACM;AAKd;;;;;ECtPE,qCAAA;ID4PA;;;ICxPE,IAAA;EAAA;EDiQI;;;AACM;AAKd;;;;;EC5PE,gDAAA;IDkQA;;;IC9PE,IAAA;IDuQF;;;ICnQE,GAAA;EAAA;EDsQa;;;;;;;;;EC3Pf,gDAAA;IDwQM;AAAA;AAcR;IClRI,IAAA;IDkRuC;;AAcvC;IC5RA,GAAA;EAAA;;;;;;;;ADuS4C;AAWhD;ECvSE,gDAAA;IDuS6B;;;ICnS3B,IAAA;IDsSF;;;IClSE,GAAA;EAAA;ED8Sa;AAAA;AAQjB;;;;AAEe;AAMf;;ECnTE,8DAAA;IDwToC;;;ICpTlC,IAAA;ID6TF;;AAAsB;ICzTpB,UAAA;EAAA;;;;;;;;ADuVoB;AAUxB;ECtVE,8DAAA;IDsVgC;;;IClV9B,IAAA;IDiYI;;;IC7XJ,UAAA;EAAA;EDsYI;;;;;;;;;EC3XN,8DAAA;IDyYM;;;ICrYJ,IAAA;ID2YI;;;ICvYJ,UAAA;EAAA;AAAA;;UAKa,qBAAA;ED4YT;;;;;;;;;EClYN,sBAAA,EAAwB,IAAA;ED8YlB;;;;;;;;;ECpYN,iCAAA,EAAmC,GAAA;EDgZ7B;;;;;;;;ECvYN,+BAAA,EAAiC,aAAA;ED2RjC;;;;;;;ECnRA,+CAAA,EAAiD,eAAA;EDgU3C;;;;;;;;;ECtTN,6BAAA,EAA+B,iBAAA;EDsUzB;;;;;;;EC9TN,4BAAA,EAA8B,cAAA;EDwUxB;;;;;;;;;EC9TN,uBAAA,EAAyB,iBAAA;ED4UnB;;;;;;;;;EClUN,+CAAA,EAAiD,cAAA;ED8U3C;;;;;;;;;ECpUN,qCAAA,EAAuC,WAAA;EDgVjC;;;;;;AAIsC;EC5U5C,kCAAA,EAAoC,oBAAA;EDqVJ;;;AAEnB;AAQf;;;ECvVE,mDAAA,EAAqD,sBAAA;EDgWjD;;;;;;;ECxVJ,qDAAA,EAAuD,oBAAA;EDsVvD;;;;;;;EC9UA,wFAAA,EAA0F,sBAAA;EDoVrE;AASvB;;;;;;;;AAGU;AASV;;;EC3VE,sCAAA,EAAwC,wBAAA;ED+VxC;;;;;;AAMM;AAYR;;;;AAQU;AAQV;;EClXE,wCAAA,EAA0C,0BAAA;EDsX1C;AAIY;AASd;;;;;;;;;;;ECrXE,8CAAA,EAAgD,yBAAA;EDqY/B;;;;;;;;;EC3XjB,qCAAA,EAAuC,gBAAA;EDwZzB;AAAA;AAWhB;;;;;;;ECzZE,qCAAA,EAAuC,gBAAA;ED+ZvC;;;;;;;;;ECrZA,qCAAA,EAAuC,gBAAA;ED+Z7B;AAMZ;;;;;;;;EC3ZE,gDAAA,EAAkD,eAAA;ED4alD;;;;;AAYS;AAMX;;;ECpbE,gDAAA,EAAkD,eAAA;EDwbtC;;;;;;;;;EC9aZ,gDAAA,EAAkD,eAAA;ED+ahD;;;;AACM;AAUV;;;;EChbE,8DAAA,EAAgE,2BAAA;EDwbhE;;;;;;;;;EC9aA,8DAAA,EAAgE,2BAAA;EDgdjD;;;;AAKT;AAaR;;;;ECxdE,8DAAA,EAAgE,2BAAA;AAAA;AAAA,KAGtD,oBAAA,SAA6B,qBAAqB;;UAG7C,mBAAA;EDmeP;AAAA;AAQV;;;;;;ECleE,sCAAA,EAAwC,oBAAA;ED2elC;AAAA;AAQR;;;;AACY;EC5eV,0DAAA,EAA4D,SAAS;AAAA;;UAItD,iBAAA;EDqff;;;;AAQM;AAUR;;;EC9fE,sCAAA,EAAwC,gBAAA;ED+fxC;;;;AAQe;AAWjB;;EC1gBE,0DAAA,EAA4D,gBAAgB;AAAA;AAAA,KAGlE,kBAAA,SAA2B,mBAAmB;;UAGzC,mBAAA;EDihBf;;AAAwB;AAQ1B;;;;;;EC/gBE,sBAAA,EAAwB,IAAA;EDohBN;AAAA;AAWpB;;;;;;;ECrhBE,iCAAA,EAAmC,GAAA;EDuhBP;AAAA;AAiB9B;;;;;;EC/hBE,+BAAA,EAAiC,aAAA;EDqiB7B;;;;;;;EC7hBJ,+CAAA,EAAiD,eAAA;EDyhB7C;;;;;;;;;EC/gBJ,6BAAA,EAA+B,iBAAA;ED2hB/B;;AAAM;AAQR;;;;EC3hBE,4BAAA,EAA8B,cAAA;EDkiBf;;;;AACM;AAavB;;;;ECtiBE,uBAAA,EAAyB,iBAAA;ED6iBV;;;;;;;;;ECniBf,+CAAA,EAAiD,cAAA;EDqiBjD;;;;;;AAYwB;AAM1B;;EC7iBE,qCAAA,EAAuC,WAAA;ED8iBtC;AAAoB;AAMvB;;;;AACuB;EC7iBrB,kCAAA,EAAoC,oBAAA;EDmjBV;;;;;;;AAOnB;ECjjBP,sCAAA,EAAwC,oBAAA;EDyjBX;;;;;;;ECjjB7B,0DAAA,EAA4D,SAAA;EDikB7C;;;;;;;ECzjBf,mDAAA,EAAqD,sBAAA;EDukB3C;AAMZ;;;;;;ECrkBE,qDAAA,EAAuD,oBAAA;ED+kB7C;AAAA;AAMZ;;;;AAWa;ECxlBX,wFAAA,EAA0F,sBAAA;EDgmBrD;;;;;;;;AAWtB;AAUjB;;;;ECvmBE,sCAAA,EAAwC,wBAAA;EDonBzB;;;;AACX;AASN;;;;AACM;AASN;;;;ECznBE,wCAAA,EAA0C,0BAAA;EDmoB3B;;;;AAEF;AASf;;;;AAEa;AASb;;;EC3oBE,8CAAA,EAAgD,yBAAA;ED6oBrC;AAiBb;;;;;;;;ECppBE,qCAAA,EAAuC,gBAAA;ED2pBP;;;;;;;;;ECjpBhC,qCAAA,EAAuC,gBAAA;ED4pBvC;;AAAI;AASN;;;;AAKa;AASb;ECzqBE,qCAAA,EAAuC,gBAAA;;;AD0qBnC;AASN;;;;AACM;AASN;ECnrBE,gDAAA,EAAkD,eAAA;;;ADorB9C;AASN;;;;AACM;AAgBN;ECpsBE,gDAAA,EAAkD,eAAA;;;;;;;;;;EAUlD,gDAAA,EAAkD,eAAA;EDqsBlD;;;;;;;;AAUI;ECrsBJ,8DAAA,EAAgE,2BAAA;EDgtB1C;;;;;;;;AAOsB;EC7sB5C,8DAAA,EAAgE,2BAAA;EDqtBjC;;;;;;;;;EC3sB/B,8DAAA,EAAgE,2BAAA;AAAA;AAAA,KAGtD,kBAAA,SAA2B,mBAAmB;;;KCrgC9C,oBAAA,GAAuB,iBAAiB;AAAA,KAE/C,kBAAA,WAA6B,oBAAA,KAChC,OAAA,EAAS,qBAAA,CAAsB,CAAA,GAC/B,GAAA,EAAK,GAAA,YACK,OAAA;AAAA,KAEP,aAAA,WAAwB,oBAAA,UACrB,mBAAA,CAAoB,CAAA,mBACrB,OAAA,EAAS,kBAAA,CAAmB,CAAA,MAC5B,MAAA,EAAQ,mBAAA,CAAoB,CAAA,GAAI,OAAA,EAAS,kBAAA,CAAmB,CAAA;;;AHpBb;;;;cG4BzC,cAAA;EAAA,SACF,MAAA,EAAQ,oBAAA;EAAA,QACT,iBAAA;cAEI,IAAA,EAAM,IAAA,EAAM,MAAA,GAAQ,oBAAA;EF5Bd;AAQpB;;;;EEgCE,OAAA,IAAW,OAAA,CAAQ,cAAA;EF3BT;EEuCJ,KAAA,IAAS,OAAA;;;AFvCO;AAexB;;;;AAA4B;AAW5B;;;;AAEuB;AASvB;EE4BQ,SAAA,WAAoB,oBAAA,EACxB,OAAA,EAAS,CAAA,KACN,IAAA,EAAM,aAAA,CAAc,CAAA,IACtB,OAAA;;;AF7BE;AAQP;;;;AAAoB;EE8DZ,OAAA,WAAkB,kBAAA,EACtB,OAAA,EAAS,CAAA,EACT,MAAA,EAAQ,mBAAA,CAAoB,CAAA,GAC5B,OAAA,EAAS,mBAAA,CAAoB,CAAA,GAC7B,IAAA;IAAQ,OAAA;EAAA,IACP,OAAA,CAAQ,iBAAA,CAAkB,CAAA;EF5DJ;AAAA;AAS3B;;;;AAA4B;AAU5B;EE0DQ,OAAA,WAAkB,kBAAA,EACtB,OAAA,EAAS,CAAA,EACT,MAAA,EAAQ,mBAAA,CAAoB,CAAA,GAC5B,OAAA,EAAS,mBAAA,CAAoB,CAAA,IAC5B,OAAA;AAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/lib/experimental/nats/buildNatsServerUrl.ts","../../../src/lib/experimental/nats/generated/types.ts","../../../src/lib/experimental/nats/generated/operations.ts","../../../src/lib/experimental/nats/NovaNatsClient.ts"],"mappings":"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"}
|
|
@@ -22,10 +22,9 @@ function buildNatsServerUrl(instanceUrl) {
|
|
|
22
22
|
*/
|
|
23
23
|
function isValidSubjectChar(char) {
|
|
24
24
|
const code = char.charCodeAt(0);
|
|
25
|
-
return code >= 48 && code <= 57 || code >= 65 && code <= 90 || code >= 97 && code <= 122 || char === "-" || char === "_";
|
|
25
|
+
return code >= 48 && code <= 57 || code >= 65 && code <= 90 || code >= 97 && code <= 122 || char === "-" || char === "_" || char === "*";
|
|
26
26
|
}
|
|
27
27
|
function isValidSubjectValue(value) {
|
|
28
|
-
if (value === "*") return true;
|
|
29
28
|
if (value.length === 0) return false;
|
|
30
29
|
for (const char of value) if (!isValidSubjectChar(char)) return false;
|
|
31
30
|
return true;
|
|
@@ -100,10 +99,6 @@ var NovaNatsClient = class {
|
|
|
100
99
|
* `"nova.v2.cells.{cell}"`, with `{param}` placeholders filled in from
|
|
101
100
|
* `params`.
|
|
102
101
|
*
|
|
103
|
-
* Errors decoding a message or thrown/rejected by `handler` are caught and
|
|
104
|
-
* logged per-message, so one bad message doesn't stop later messages on
|
|
105
|
-
* the same subscription from being handled.
|
|
106
|
-
*
|
|
107
102
|
* Returns a function that unsubscribes when called.
|
|
108
103
|
*/
|
|
109
104
|
async subscribe(subject, ...args) {
|
|
@@ -112,13 +107,9 @@ var NovaNatsClient = class {
|
|
|
112
107
|
const resolvedSubject = buildSubject(subject, params);
|
|
113
108
|
const sub = nc.subscribe(resolvedSubject);
|
|
114
109
|
(async () => {
|
|
115
|
-
for await (const msg of sub)
|
|
116
|
-
await handler(msg.json(), msg);
|
|
117
|
-
} catch (err) {
|
|
118
|
-
console.error(`Error handling NATS message on subject "${resolvedSubject}"`, err);
|
|
119
|
-
}
|
|
110
|
+
for await (const msg of sub) handler(msg.json(), msg);
|
|
120
111
|
})().catch((err) => {
|
|
121
|
-
console.error(`NATS subscription
|
|
112
|
+
console.error(`Error handling NATS subscription for "${resolvedSubject}"`, err);
|
|
122
113
|
});
|
|
123
114
|
return () => sub.unsubscribe();
|
|
124
115
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../../../src/lib/experimental/nats/buildNatsServerUrl.ts","../../../src/lib/experimental/nats/buildSubject.ts","../../../src/lib/experimental/nats/NovaNatsClient.ts"],"sourcesContent":["import { parseNovaInstanceUrl } from \"../../converters.ts\"\n\n/**\n * Builds the WebSocket URL for a NOVA instance's NATS gateway from its\n * instance URL, e.g. `https://foo.instance.wandelbots.io` becomes\n * `wss://foo.instance.wandelbots.io/api/nats`.\n *\n * Pass the result as `servers` in the `NovaNatsClientConfig` passed to\n * `NovaNatsClient`.\n */\nexport function buildNatsServerUrl(instanceUrl: string): string {\n const url = parseNovaInstanceUrl(instanceUrl)\n const protocol = url.protocol === \"https:\" ? \"wss:\" : \"ws:\"\n return `${protocol}//${url.host}/api/nats`\n}\n","/**\n * Builds a NATS subject from an AsyncAPI-style channel address template\n * (e.g. `\"{instance}.v2.cells.{cell}\"`) by substituting each `{param}`\n * placeholder with the corresponding value from `params`.\n */\n\nfunction isValidSubjectChar(char: string): boolean {\n const code = char.charCodeAt(0)\n return (\n (code >= 48 && code <= 57) || // 0-9\n (code >= 65 && code <= 90) || // A-Z\n (code >= 97 && code <= 122) || // a-z\n char === \"-\" ||\n char === \"_\"\n )\n}\n\nfunction isValidSubjectValue(value: string): boolean {\n // A bare \"*\" is the NATS single-token wildcard, allowed on its own (e.g.\n // subscribing to all cells with `{ cell: \"*\" }\") but not as part of a\n // larger value, since it wouldn't act as a wildcard there anyway.\n if (value === \"*\") return true\n if (value.length === 0) return false\n for (const char of value) {\n if (!isValidSubjectChar(char)) return false\n }\n return true\n}\n\nexport function buildSubject(\n template: string,\n params: Record<string, string>,\n): string {\n // Scanned manually (rather than with a regex like /\\{([^}]+)\\}/g) to avoid\n // a polynomial-time backtracking blowup on pathological input, e.g. a\n // template consisting of many \"{\" characters with no closing \"}\".\n let result = \"\"\n let cursor = 0\n\n while (cursor < template.length) {\n const openIndex = template.indexOf(\"{\", cursor)\n if (openIndex === -1) {\n result += template.slice(cursor)\n break\n }\n\n const closeIndex = template.indexOf(\"}\", openIndex + 1)\n if (closeIndex === -1) {\n result += template.slice(cursor)\n break\n }\n\n result += template.slice(cursor, openIndex)\n const paramName = template.slice(openIndex + 1, closeIndex)\n const value = params[paramName]\n if (value === undefined) {\n throw new Error(\n `Missing value for subject parameter \"${paramName}\" in template \"${template}\"`,\n )\n }\n if (!isValidSubjectValue(value)) {\n throw new Error(\n `Invalid value for subject parameter \"${paramName}\": \"${value}\" (must be non-empty and contain only letters, digits, \"-\", and \"_\")`,\n )\n }\n result += value\n\n cursor = closeIndex + 1\n }\n\n return result\n}\n","import {\n type ConnectionOptions,\n type Msg,\n type NatsConnection,\n wsconnect,\n} from \"@nats-io/nats-core\"\nimport type { Nova } from \"../../Nova.ts\"\nimport { buildNatsServerUrl } from \"./buildNatsServerUrl.ts\"\nimport { buildSubject } from \"./buildSubject.ts\"\nimport type {\n NatsOperationParams,\n NatsPublishPayloads,\n NatsPublishSubject,\n NatsReplyPayloads,\n NatsRequestPayloads,\n NatsRequestSubject,\n NatsSubscribePayloads,\n NatsSubscribeSubject,\n} from \"./generated/operations.ts\"\n\nexport type NovaNatsClientConfig = ConnectionOptions\n\ntype NatsMessageHandler<K extends NatsSubscribeSubject> = (\n payload: NatsSubscribePayloads[K],\n msg: Msg,\n) => void | Promise<void>\n\ntype SubscribeArgs<K extends NatsSubscribeSubject> =\n keyof NatsOperationParams[K] extends never\n ? [handler: NatsMessageHandler<K>]\n : [params: NatsOperationParams[K], handler: NatsMessageHandler<K>]\n\n/**\n * Typed NATS client for the Wandelbots NOVA messaging API, generated from\n * src/asyncapi.yaml (see scripts/generate-nats-client.ts).\n *\n * Connects over WebSocket via `@nats-io/nats-core`'s `wsconnect`.\n */\nexport class NovaNatsClient {\n readonly config: NovaNatsClientConfig\n private connectionPromise: Promise<NatsConnection> | null = null\n\n constructor(nova: Nova, config: NovaNatsClientConfig = {}) {\n this.config = {\n servers: buildNatsServerUrl(nova.instanceUrl.href),\n ...config,\n }\n }\n\n /**\n * Connects to NATS if not already connected or connecting, and returns the\n * connection. Safe to call concurrently: all callers share the same\n * in-flight connection attempt instead of each starting their own.\n */\n connect(): Promise<NatsConnection> {\n if (!this.connectionPromise) {\n this.connectionPromise = wsconnect(this.config).catch((err: unknown) => {\n // Allow a subsequent connect() call to retry after a failed attempt.\n this.connectionPromise = null\n throw err\n })\n }\n return this.connectionPromise\n }\n\n /** Closes the underlying NATS connection, if open or connecting. */\n async close(): Promise<void> {\n const connectionPromise = this.connectionPromise\n this.connectionPromise = null\n if (!connectionPromise) return\n try {\n const nc = await connectionPromise\n await nc.close()\n } catch {\n // Connection never succeeded; nothing to close.\n }\n }\n\n /**\n * Subscribes to a NATS subject published by the server, invoking `handler`\n * with the JSON-decoded payload of every message received.\n *\n * `subject` is the subject template as it appears on the wire, e.g.\n * `\"nova.v2.cells.{cell}\"`, with `{param}` placeholders filled in from\n * `params`.\n *\n * Errors decoding a message or thrown/rejected by `handler` are caught and\n * logged per-message, so one bad message doesn't stop later messages on\n * the same subscription from being handled.\n *\n * Returns a function that unsubscribes when called.\n */\n async subscribe<K extends NatsSubscribeSubject>(\n subject: K,\n ...args: SubscribeArgs<K>\n ): Promise<() => void> {\n const [params, handler] =\n args.length === 1\n ? ([{}, args[0]] as const)\n : ([args[0], args[1]] as const)\n\n const nc = await this.connect()\n const resolvedSubject = buildSubject(subject, params)\n const sub = nc.subscribe(resolvedSubject)\n\n ;(async () => {\n for await (const msg of sub) {\n // Handled per-message: a bad payload or a throwing/rejecting handler\n // should not stop the subscription from processing later messages.\n try {\n await handler(msg.json<NatsSubscribePayloads[K]>(), msg)\n } catch (err) {\n console.error(\n `Error handling NATS message on subject \"${resolvedSubject}\"`,\n err,\n )\n }\n }\n })().catch((err: unknown) => {\n console.error(\n `NATS subscription iterator failed for \"${resolvedSubject}\"`,\n err,\n )\n })\n\n return () => sub.unsubscribe()\n }\n\n /**\n * Sends a request payload for a NATS subject the server receives, and\n * waits for the JSON-decoded reply.\n *\n * `subject` is the subject template as it appears on the wire, e.g.\n * `\"nova.v2.cells.{cell}.bus-ios.ios.set\"`, with `{param}` placeholders\n * filled in from `params`.\n */\n async request<K extends NatsRequestSubject>(\n subject: K,\n params: NatsOperationParams[K],\n payload: NatsRequestPayloads[K],\n opts: { timeout?: number } = {},\n ): Promise<NatsReplyPayloads[K]> {\n const nc = await this.connect()\n const resolvedSubject = buildSubject(subject, params)\n const msg = await nc.request(resolvedSubject, JSON.stringify(payload), {\n timeout: opts.timeout ?? 5000,\n })\n return msg.json<NatsReplyPayloads[K]>()\n }\n\n /**\n * Publishes a JSON payload to any NATS subject defined in the spec,\n * without waiting for a reply.\n *\n * `subject` is the subject template as it appears on the wire, e.g.\n * `\"nova.v2.cells.{cell}.bus-ios.ios.set\"`, with `{param}` placeholders\n * filled in from `params`.\n */\n async publish<K extends NatsPublishSubject>(\n subject: K,\n params: NatsOperationParams[K],\n payload: NatsPublishPayloads[K],\n ): Promise<void> {\n const nc = await this.connect()\n const resolvedSubject = buildSubject(subject, params)\n nc.publish(resolvedSubject, JSON.stringify(payload))\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../src/lib/experimental/nats/buildNatsServerUrl.ts","../../../src/lib/experimental/nats/buildSubject.ts","../../../src/lib/experimental/nats/NovaNatsClient.ts"],"sourcesContent":["import { parseNovaInstanceUrl } from \"../../converters.ts\"\n\n/**\n * Builds the WebSocket URL for a NOVA instance's NATS gateway from its\n * instance URL, e.g. `https://foo.instance.wandelbots.io` becomes\n * `wss://foo.instance.wandelbots.io/api/nats`.\n *\n * Pass the result as `servers` in the `NovaNatsClientConfig` passed to\n * `NovaNatsClient`.\n */\nexport function buildNatsServerUrl(instanceUrl: string): string {\n const url = parseNovaInstanceUrl(instanceUrl)\n const protocol = url.protocol === \"https:\" ? \"wss:\" : \"ws:\"\n return `${protocol}//${url.host}/api/nats`\n}\n","/**\n * Builds a NATS subject from an AsyncAPI-style channel address template\n * (e.g. `\"{instance}.v2.cells.{cell}\"`) by substituting each `{param}`\n * placeholder with the corresponding value from `params`.\n */\n\nfunction isValidSubjectChar(char: string): boolean {\n const code = char.charCodeAt(0)\n return (\n (code >= 48 && code <= 57) || // 0-9\n (code >= 65 && code <= 90) || // A-Z\n (code >= 97 && code <= 122) || // a-z\n char === \"-\" ||\n char === \"_\" ||\n char === \"*\"\n )\n}\n\nfunction isValidSubjectValue(value: string): boolean {\n if (value.length === 0) return false\n for (const char of value) {\n if (!isValidSubjectChar(char)) return false\n }\n return true\n}\n\nexport function buildSubject(\n template: string,\n params: Record<string, string>,\n): string {\n // Scanned manually (rather than with a regex like /\\{([^}]+)\\}/g) to avoid\n // a polynomial-time backtracking blowup on pathological input, e.g. a\n // template consisting of many \"{\" characters with no closing \"}\".\n let result = \"\"\n let cursor = 0\n\n while (cursor < template.length) {\n const openIndex = template.indexOf(\"{\", cursor)\n if (openIndex === -1) {\n result += template.slice(cursor)\n break\n }\n\n const closeIndex = template.indexOf(\"}\", openIndex + 1)\n if (closeIndex === -1) {\n result += template.slice(cursor)\n break\n }\n\n result += template.slice(cursor, openIndex)\n const paramName = template.slice(openIndex + 1, closeIndex)\n const value = params[paramName]\n if (value === undefined) {\n throw new Error(\n `Missing value for subject parameter \"${paramName}\" in template \"${template}\"`,\n )\n }\n if (!isValidSubjectValue(value)) {\n throw new Error(\n `Invalid value for subject parameter \"${paramName}\": \"${value}\" (must be non-empty and contain only letters, digits, \"-\", and \"_\")`,\n )\n }\n result += value\n\n cursor = closeIndex + 1\n }\n\n return result\n}\n","import {\n type ConnectionOptions,\n type Msg,\n type NatsConnection,\n wsconnect,\n} from \"@nats-io/nats-core\"\nimport type { Nova } from \"../../Nova.ts\"\nimport { buildNatsServerUrl } from \"./buildNatsServerUrl.ts\"\nimport { buildSubject } from \"./buildSubject.ts\"\nimport type {\n NatsOperationParams,\n NatsPublishPayloads,\n NatsPublishSubject,\n NatsReplyPayloads,\n NatsRequestPayloads,\n NatsRequestSubject,\n NatsSubscribePayloads,\n NatsSubscribeSubject,\n} from \"./generated/operations.ts\"\n\nexport type NovaNatsClientConfig = ConnectionOptions\n\ntype NatsMessageHandler<K extends NatsSubscribeSubject> = (\n payload: NatsSubscribePayloads[K],\n msg: Msg,\n) => void\n\ntype SubscribeArgs<K extends NatsSubscribeSubject> =\n keyof NatsOperationParams[K] extends never\n ? [handler: NatsMessageHandler<K>]\n : [params: NatsOperationParams[K], handler: NatsMessageHandler<K>]\n\n/**\n * Typed NATS client for the Wandelbots NOVA messaging API, generated from\n * src/asyncapi.yaml (see scripts/generate-nats-client.ts).\n *\n * Connects over WebSocket via `@nats-io/nats-core`'s `wsconnect`.\n */\nexport class NovaNatsClient {\n readonly config: NovaNatsClientConfig\n private connectionPromise: Promise<NatsConnection> | null = null\n\n constructor(nova: Nova, config: NovaNatsClientConfig = {}) {\n this.config = {\n servers: buildNatsServerUrl(nova.instanceUrl.href),\n ...config,\n }\n }\n\n /**\n * Connects to NATS if not already connected or connecting, and returns the\n * connection. Safe to call concurrently: all callers share the same\n * in-flight connection attempt instead of each starting their own.\n */\n connect(): Promise<NatsConnection> {\n if (!this.connectionPromise) {\n this.connectionPromise = wsconnect(this.config).catch((err: unknown) => {\n // Allow a subsequent connect() call to retry after a failed attempt.\n this.connectionPromise = null\n throw err\n })\n }\n return this.connectionPromise\n }\n\n /** Closes the underlying NATS connection, if open or connecting. */\n async close(): Promise<void> {\n const connectionPromise = this.connectionPromise\n this.connectionPromise = null\n if (!connectionPromise) return\n try {\n const nc = await connectionPromise\n await nc.close()\n } catch {\n // Connection never succeeded; nothing to close.\n }\n }\n\n /**\n * Subscribes to a NATS subject published by the server, invoking `handler`\n * with the JSON-decoded payload of every message received.\n *\n * `subject` is the subject template as it appears on the wire, e.g.\n * `\"nova.v2.cells.{cell}\"`, with `{param}` placeholders filled in from\n * `params`.\n *\n * Returns a function that unsubscribes when called.\n */\n async subscribe<K extends NatsSubscribeSubject>(\n subject: K,\n ...args: SubscribeArgs<K>\n ): Promise<() => void> {\n const [params, handler] =\n args.length === 1\n ? ([{}, args[0]] as const)\n : ([args[0], args[1]] as const)\n\n const nc = await this.connect()\n const resolvedSubject = buildSubject(subject, params)\n const sub = nc.subscribe(resolvedSubject)\n\n ;(async () => {\n for await (const msg of sub) {\n handler(msg.json<NatsSubscribePayloads[K]>(), msg)\n }\n })().catch((err: unknown) => {\n console.error(\n `Error handling NATS subscription for \"${resolvedSubject}\"`,\n err,\n )\n })\n\n return () => sub.unsubscribe()\n }\n\n /**\n * Sends a request payload for a NATS subject the server receives, and\n * waits for the JSON-decoded reply.\n *\n * `subject` is the subject template as it appears on the wire, e.g.\n * `\"nova.v2.cells.{cell}.bus-ios.ios.set\"`, with `{param}` placeholders\n * filled in from `params`.\n */\n async request<K extends NatsRequestSubject>(\n subject: K,\n params: NatsOperationParams[K],\n payload: NatsRequestPayloads[K],\n opts: { timeout?: number } = {},\n ): Promise<NatsReplyPayloads[K]> {\n const nc = await this.connect()\n const resolvedSubject = buildSubject(subject, params)\n const msg = await nc.request(resolvedSubject, JSON.stringify(payload), {\n timeout: opts.timeout ?? 5000,\n })\n return msg.json<NatsReplyPayloads[K]>()\n }\n\n /**\n * Publishes a JSON payload to any NATS subject defined in the spec,\n * without waiting for a reply.\n *\n * `subject` is the subject template as it appears on the wire, e.g.\n * `\"nova.v2.cells.{cell}.bus-ios.ios.set\"`, with `{param}` placeholders\n * filled in from `params`.\n */\n async publish<K extends NatsPublishSubject>(\n subject: K,\n params: NatsOperationParams[K],\n payload: NatsPublishPayloads[K],\n ): Promise<void> {\n const nc = await this.connect()\n const resolvedSubject = buildSubject(subject, params)\n nc.publish(resolvedSubject, JSON.stringify(payload))\n }\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wandelbots/nova-js",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "3.13.0-pr.307.
|
|
4
|
+
"version": "3.13.0-pr.307.720787b",
|
|
5
5
|
"description": "Official JS client for the Wandelbots API",
|
|
6
6
|
"sideEffects": false,
|
|
7
7
|
"packageManager": "pnpm@11.9.0+sha512.bd682d5d03fe525ef7c9fd6780c6884d1e756ac4c9c9fe00c538782824310dcf90e3ddc4f53835f06dfaebd5085e41855e0bcbb3b60de2ac5bbab89e5036f03b",
|
|
@@ -56,6 +56,7 @@
|
|
|
56
56
|
"devDependencies": {
|
|
57
57
|
"@asyncapi/parser": "^3.6.0",
|
|
58
58
|
"@biomejs/biome": "^2.4.16",
|
|
59
|
+
"@types/lodash-es": "^4.17.12",
|
|
59
60
|
"@types/node": "^25.9.1",
|
|
60
61
|
"@types/ws": "^8.18.1",
|
|
61
62
|
"concurrently": "^10.0.3",
|
|
@@ -63,6 +64,7 @@
|
|
|
63
64
|
"jsdom": "^29.1.1",
|
|
64
65
|
"json-schema-to-typescript": "^15.0.4",
|
|
65
66
|
"knip": "^6.15.0",
|
|
67
|
+
"lodash-es": "^4.18.1",
|
|
66
68
|
"nodemon": "^3.1.14",
|
|
67
69
|
"semantic-release": "^25.0.3",
|
|
68
70
|
"semantic-release-export-data": "^1.2.0",
|
|
@@ -15,9 +15,5 @@ export type {
|
|
|
15
15
|
NatsSubscribePayloads,
|
|
16
16
|
NatsSubscribeSubject,
|
|
17
17
|
} from "../../lib/experimental/nats/generated/operations.ts"
|
|
18
|
-
// Message payload types for every schema in src/asyncapi.yaml, e.g. `Cell`,
|
|
19
|
-
// `App`, `ProgramStatus` (see NatsSubscribePayloads/NatsRequestPayloads for
|
|
20
|
-
// which type applies to which subject).
|
|
21
|
-
export type * from "../../lib/experimental/nats/generated/types.ts"
|
|
22
18
|
export { NovaNatsClient } from "../../lib/experimental/nats/NovaNatsClient.ts"
|
|
23
19
|
export type { NovaNatsClientConfig } from "../../lib/experimental/nats/NovaNatsClient.ts"
|
|
@@ -23,7 +23,7 @@ export type NovaNatsClientConfig = ConnectionOptions
|
|
|
23
23
|
type NatsMessageHandler<K extends NatsSubscribeSubject> = (
|
|
24
24
|
payload: NatsSubscribePayloads[K],
|
|
25
25
|
msg: Msg,
|
|
26
|
-
) => void
|
|
26
|
+
) => void
|
|
27
27
|
|
|
28
28
|
type SubscribeArgs<K extends NatsSubscribeSubject> =
|
|
29
29
|
keyof NatsOperationParams[K] extends never
|
|
@@ -84,10 +84,6 @@ export class NovaNatsClient {
|
|
|
84
84
|
* `"nova.v2.cells.{cell}"`, with `{param}` placeholders filled in from
|
|
85
85
|
* `params`.
|
|
86
86
|
*
|
|
87
|
-
* Errors decoding a message or thrown/rejected by `handler` are caught and
|
|
88
|
-
* logged per-message, so one bad message doesn't stop later messages on
|
|
89
|
-
* the same subscription from being handled.
|
|
90
|
-
*
|
|
91
87
|
* Returns a function that unsubscribes when called.
|
|
92
88
|
*/
|
|
93
89
|
async subscribe<K extends NatsSubscribeSubject>(
|
|
@@ -105,20 +101,11 @@ export class NovaNatsClient {
|
|
|
105
101
|
|
|
106
102
|
;(async () => {
|
|
107
103
|
for await (const msg of sub) {
|
|
108
|
-
|
|
109
|
-
// should not stop the subscription from processing later messages.
|
|
110
|
-
try {
|
|
111
|
-
await handler(msg.json<NatsSubscribePayloads[K]>(), msg)
|
|
112
|
-
} catch (err) {
|
|
113
|
-
console.error(
|
|
114
|
-
`Error handling NATS message on subject "${resolvedSubject}"`,
|
|
115
|
-
err,
|
|
116
|
-
)
|
|
117
|
-
}
|
|
104
|
+
handler(msg.json<NatsSubscribePayloads[K]>(), msg)
|
|
118
105
|
}
|
|
119
106
|
})().catch((err: unknown) => {
|
|
120
107
|
console.error(
|
|
121
|
-
`NATS subscription
|
|
108
|
+
`Error handling NATS subscription for "${resolvedSubject}"`,
|
|
122
109
|
err,
|
|
123
110
|
)
|
|
124
111
|
})
|
|
@@ -11,15 +11,12 @@ function isValidSubjectChar(char: string): boolean {
|
|
|
11
11
|
(code >= 65 && code <= 90) || // A-Z
|
|
12
12
|
(code >= 97 && code <= 122) || // a-z
|
|
13
13
|
char === "-" ||
|
|
14
|
-
char === "_"
|
|
14
|
+
char === "_" ||
|
|
15
|
+
char === "*"
|
|
15
16
|
)
|
|
16
17
|
}
|
|
17
18
|
|
|
18
19
|
function isValidSubjectValue(value: string): boolean {
|
|
19
|
-
// A bare "*" is the NATS single-token wildcard, allowed on its own (e.g.
|
|
20
|
-
// subscribing to all cells with `{ cell: "*" }") but not as part of a
|
|
21
|
-
// larger value, since it wouldn't act as a wildcard there anyway.
|
|
22
|
-
if (value === "*") return true
|
|
23
20
|
if (value.length === 0) return false
|
|
24
21
|
for (const char of value) {
|
|
25
22
|
if (!isValidSubjectChar(char)) return false
|