@fatagnus/dink-sdk 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +49 -6
- package/dist/edge/client.d.ts +5 -0
- package/dist/edge/client.d.ts.map +1 -1
- package/dist/edge/client.js +59 -13
- package/dist/edge/client.js.map +1 -1
- package/dist/types.d.ts +4 -3
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
TypeScript SDK for the Dink edge mesh platform.
|
|
4
4
|
|
|
5
|
+
This SDK is for **Lite Edge** - edges that require constant connectivity. For offline-first applications, use `@fatagnus/dink-sync` instead.
|
|
6
|
+
|
|
7
|
+
| Edge Type | SDK | Use Case |
|
|
8
|
+
|-----------|-----|----------|
|
|
9
|
+
| **Lite Edge** | ✅ This SDK | Always-connected IoT, RPC services |
|
|
10
|
+
| **Offline-First Edge** | `@fatagnus/dink-sync` | Offline data with auto-sync |
|
|
11
|
+
| **Full Edge** | Not yet available | Local NATS services (planned) |
|
|
12
|
+
|
|
5
13
|
## Installation
|
|
6
14
|
|
|
7
15
|
```bash
|
|
@@ -17,13 +25,17 @@ Connect an edge device to the Dink platform:
|
|
|
17
25
|
```typescript
|
|
18
26
|
import { EdgeClient } from '@fatagnus/dink-sdk';
|
|
19
27
|
|
|
28
|
+
// Edge API key contains embedded app_id and edge_id
|
|
29
|
+
// Format: dk_<env>_ed_<appID>_<edgeID>_<random>
|
|
20
30
|
const edge = new EdgeClient({
|
|
21
31
|
serverUrl: 'nats://localhost:4222',
|
|
22
|
-
|
|
23
|
-
apiKey: process.env.DINK_API_KEY,
|
|
24
|
-
appId: 'my-app',
|
|
32
|
+
apiKey: process.env.DINK_API_KEY!, // Required - contains edge identity
|
|
25
33
|
});
|
|
26
34
|
|
|
35
|
+
// Edge ID and App ID are extracted from the API key
|
|
36
|
+
console.log(`Edge ID: ${edge.getEdgeId()}`); // e.g., "my-edge-device"
|
|
37
|
+
console.log(`App ID: ${edge.getAppId()}`); // e.g., "my-app"
|
|
38
|
+
|
|
27
39
|
await edge.connect();
|
|
28
40
|
|
|
29
41
|
// Expose a service
|
|
@@ -53,7 +65,6 @@ import { CenterClient } from '@fatagnus/dink-sdk';
|
|
|
53
65
|
const center = new CenterClient({
|
|
54
66
|
serverUrl: 'nats://localhost:4222',
|
|
55
67
|
apiKey: process.env.DINK_API_KEY,
|
|
56
|
-
appId: 'my-app',
|
|
57
68
|
});
|
|
58
69
|
|
|
59
70
|
await center.connect();
|
|
@@ -61,9 +72,9 @@ await center.connect();
|
|
|
61
72
|
// Discover edges
|
|
62
73
|
const edges = await center.discoverEdges();
|
|
63
74
|
|
|
64
|
-
// Call a service on an edge
|
|
75
|
+
// Call a service on an edge (edge ID comes from discovery)
|
|
65
76
|
const result = await center.call({
|
|
66
|
-
edgeId:
|
|
77
|
+
edgeId: edges[0].id, // e.g., "my-edge-device"
|
|
67
78
|
service: 'sensor',
|
|
68
79
|
method: 'read',
|
|
69
80
|
data: {},
|
|
@@ -81,6 +92,38 @@ import { EdgeClient } from '@fatagnus/dink-sdk/edge';
|
|
|
81
92
|
import { CenterClient } from '@fatagnus/dink-sdk/center';
|
|
82
93
|
```
|
|
83
94
|
|
|
95
|
+
## Naming Rules
|
|
96
|
+
|
|
97
|
+
App IDs, edge IDs, app names, and service names must follow these rules to ensure compatibility with NATS subjects:
|
|
98
|
+
|
|
99
|
+
**Allowed characters:**
|
|
100
|
+
- Alphanumeric: `a-z`, `A-Z`, `0-9`
|
|
101
|
+
- Hyphens: `-`
|
|
102
|
+
- Colons: `:`
|
|
103
|
+
|
|
104
|
+
**Not allowed:**
|
|
105
|
+
- Underscore `_` (used as key delimiter)
|
|
106
|
+
- Dot `.` (NATS hierarchy separator)
|
|
107
|
+
- Asterisk `*` (NATS wildcard)
|
|
108
|
+
- Greater than `>` (NATS tail wildcard)
|
|
109
|
+
- Dollar sign `$` (NATS system subjects)
|
|
110
|
+
- Spaces and whitespace
|
|
111
|
+
|
|
112
|
+
**Examples:**
|
|
113
|
+
```typescript
|
|
114
|
+
// ✓ Valid names
|
|
115
|
+
'my-app'
|
|
116
|
+
'sensor-42'
|
|
117
|
+
'namespace:service'
|
|
118
|
+
'MyApp123'
|
|
119
|
+
|
|
120
|
+
// ✗ Invalid names
|
|
121
|
+
'my_app' // underscore not allowed
|
|
122
|
+
'my.app' // dot not allowed
|
|
123
|
+
'my app' // space not allowed
|
|
124
|
+
'sensor*' // asterisk not allowed
|
|
125
|
+
```
|
|
126
|
+
|
|
84
127
|
## Requirements
|
|
85
128
|
|
|
86
129
|
- Node.js >= 18.0.0
|
package/dist/edge/client.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export declare class EdgeClient {
|
|
|
5
5
|
private services;
|
|
6
6
|
private heartbeatTimer;
|
|
7
7
|
private appId;
|
|
8
|
+
private edgeId;
|
|
8
9
|
constructor(config: EdgeConfig);
|
|
9
10
|
connect(): Promise<void>;
|
|
10
11
|
disconnect(): Promise<void>;
|
|
@@ -12,6 +13,10 @@ export declare class EdgeClient {
|
|
|
12
13
|
private handleStreamRequest;
|
|
13
14
|
unexposeService(name: string): Promise<void>;
|
|
14
15
|
isConnected(): boolean;
|
|
16
|
+
/** Returns the edge ID (extracted from the API key) */
|
|
17
|
+
getEdgeId(): string;
|
|
18
|
+
/** Returns the app ID (extracted from the API key) */
|
|
19
|
+
getAppId(): string;
|
|
15
20
|
private extractMethod;
|
|
16
21
|
private registerPresence;
|
|
17
22
|
private deregisterPresence;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/edge/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAqB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/edge/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAqB,MAAM,aAAa,CAAC;AAoCjF,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,EAAE,CAA+B;IACzC,OAAO,CAAC,QAAQ,CAAqE;IACrF,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,UAAU;IAmBxB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB3B,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;YA+C7C,mBAAmB;IAsC3B,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWlD,WAAW,IAAI,OAAO;IAItB,uDAAuD;IACvD,SAAS,IAAI,MAAM;IAInB,sDAAsD;IACtD,QAAQ,IAAI,MAAM;IAIlB,OAAO,CAAC,aAAa;YAQP,gBAAgB;YAehB,kBAAkB;YAOlB,eAAe;YAaf,iBAAiB;IAS/B,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,cAAc;CAKvB"}
|
package/dist/edge/client.js
CHANGED
|
@@ -1,24 +1,63 @@
|
|
|
1
1
|
import { connect, StringCodec, headers } from 'nats';
|
|
2
|
+
// Try to get hostname - works in Node.js, returns undefined in browser
|
|
3
|
+
function getHostname() {
|
|
4
|
+
try {
|
|
5
|
+
// Dynamic import to avoid bundler issues
|
|
6
|
+
if (typeof process !== 'undefined' && process.versions?.node) {
|
|
7
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
8
|
+
return require('os').hostname();
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
catch {
|
|
12
|
+
// Ignore - not in Node.js environment
|
|
13
|
+
}
|
|
14
|
+
return undefined;
|
|
15
|
+
}
|
|
2
16
|
const sc = StringCodec();
|
|
17
|
+
/**
|
|
18
|
+
* Extract app_id and edge_id from an edge API key.
|
|
19
|
+
* Format: dk_<env>_ed_<appID>_<edgeID>_<random>
|
|
20
|
+
*/
|
|
21
|
+
function extractEdgeKeyInfo(key) {
|
|
22
|
+
if (!key || !key.includes('_ed_')) {
|
|
23
|
+
throw new Error('Invalid edge API key: must contain _ed_ prefix');
|
|
24
|
+
}
|
|
25
|
+
const parts = key.split('_');
|
|
26
|
+
if (parts.length < 6) {
|
|
27
|
+
throw new Error('Invalid edge API key format: must be dk_<env>_ed_<appID>_<edgeID>_<random>');
|
|
28
|
+
}
|
|
29
|
+
return {
|
|
30
|
+
appId: parts[3],
|
|
31
|
+
edgeId: parts[4],
|
|
32
|
+
};
|
|
33
|
+
}
|
|
3
34
|
export class EdgeClient {
|
|
4
35
|
config;
|
|
5
36
|
nc = null;
|
|
6
37
|
services = new Map();
|
|
7
38
|
heartbeatTimer = null;
|
|
8
39
|
appId;
|
|
40
|
+
edgeId;
|
|
9
41
|
constructor(config) {
|
|
42
|
+
// Edge API key is required and must contain embedded app_id and edge_id
|
|
43
|
+
if (!config.apiKey) {
|
|
44
|
+
throw new Error('apiKey is required');
|
|
45
|
+
}
|
|
46
|
+
const keyInfo = extractEdgeKeyInfo(config.apiKey);
|
|
47
|
+
this.appId = keyInfo.appId;
|
|
48
|
+
this.edgeId = keyInfo.edgeId;
|
|
10
49
|
this.config = {
|
|
11
50
|
heartbeatInterval: 30000,
|
|
12
51
|
reconnectWait: 2000,
|
|
13
52
|
maxReconnects: -1,
|
|
53
|
+
hostname: getHostname(),
|
|
14
54
|
...config,
|
|
15
55
|
};
|
|
16
|
-
this.appId = config.appId || 'platform';
|
|
17
56
|
}
|
|
18
57
|
async connect() {
|
|
19
58
|
const opts = {
|
|
20
59
|
servers: this.config.serverUrl,
|
|
21
|
-
name: `edge-${this.
|
|
60
|
+
name: `edge-${this.edgeId}`,
|
|
22
61
|
reconnectTimeWait: this.config.reconnectWait,
|
|
23
62
|
maxReconnectAttempts: this.config.maxReconnects,
|
|
24
63
|
};
|
|
@@ -50,7 +89,7 @@ export class EdgeClient {
|
|
|
50
89
|
if (this.services.has(def.name)) {
|
|
51
90
|
throw new Error(`Service ${def.name} already exposed`);
|
|
52
91
|
}
|
|
53
|
-
const subject = `edge.${this.appId}.${this.
|
|
92
|
+
const subject = `edge.${this.appId}.${this.edgeId}.services.${def.name}.>`;
|
|
54
93
|
const sub = this.nc.subscribe(subject, {
|
|
55
94
|
callback: async (err, msg) => {
|
|
56
95
|
if (err) {
|
|
@@ -128,8 +167,16 @@ export class EdgeClient {
|
|
|
128
167
|
isConnected() {
|
|
129
168
|
return this.nc !== null && !this.nc.isClosed();
|
|
130
169
|
}
|
|
170
|
+
/** Returns the edge ID (extracted from the API key) */
|
|
171
|
+
getEdgeId() {
|
|
172
|
+
return this.edgeId;
|
|
173
|
+
}
|
|
174
|
+
/** Returns the app ID (extracted from the API key) */
|
|
175
|
+
getAppId() {
|
|
176
|
+
return this.appId;
|
|
177
|
+
}
|
|
131
178
|
extractMethod(subject, serviceName) {
|
|
132
|
-
const prefix = `edge.${this.appId}.${this.
|
|
179
|
+
const prefix = `edge.${this.appId}.${this.edgeId}.services.${serviceName}.`;
|
|
133
180
|
if (subject.startsWith(prefix)) {
|
|
134
181
|
return subject.slice(prefix.length);
|
|
135
182
|
}
|
|
@@ -139,17 +186,19 @@ export class EdgeClient {
|
|
|
139
186
|
if (!this.nc)
|
|
140
187
|
return;
|
|
141
188
|
const req = {
|
|
142
|
-
|
|
143
|
-
name: this.config.edgeName || this.config.edgeId,
|
|
189
|
+
name: this.config.edgeName || this.edgeId,
|
|
144
190
|
type: 'lite',
|
|
145
191
|
labels: this.config.labels || {},
|
|
192
|
+
version: this.config.version,
|
|
193
|
+
hostname: this.config.hostname,
|
|
194
|
+
ip_address: this.config.ipAddress,
|
|
146
195
|
};
|
|
147
196
|
await this.nc.request('$EDGE.PRESENCE.REGISTER', sc.encode(JSON.stringify(req)), { timeout: 5000, headers: this.getAuthHeaders() }).catch(() => { });
|
|
148
197
|
}
|
|
149
198
|
async deregisterPresence() {
|
|
150
199
|
if (!this.nc)
|
|
151
200
|
return;
|
|
152
|
-
const req = {
|
|
201
|
+
const req = {};
|
|
153
202
|
await this.nc.request('$EDGE.PRESENCE.DEREGISTER', sc.encode(JSON.stringify(req)), { timeout: 2000, headers: this.getAuthHeaders() }).catch(() => { });
|
|
154
203
|
}
|
|
155
204
|
async registerService(def) {
|
|
@@ -159,14 +208,14 @@ export class EdgeClient {
|
|
|
159
208
|
name: def.name,
|
|
160
209
|
version: def.version,
|
|
161
210
|
location: 'edge',
|
|
162
|
-
edge_id: this.
|
|
211
|
+
edge_id: this.edgeId,
|
|
163
212
|
};
|
|
164
213
|
await this.nc.request('$API.SERVICES.REGISTER', sc.encode(JSON.stringify(req)), { timeout: 5000, headers: this.getAuthHeaders() }).catch(() => { });
|
|
165
214
|
}
|
|
166
215
|
async deregisterService(name) {
|
|
167
216
|
if (!this.nc)
|
|
168
217
|
return;
|
|
169
|
-
const serviceId = `${this.
|
|
218
|
+
const serviceId = `${this.edgeId}.${name}`;
|
|
170
219
|
const req = { service_id: serviceId };
|
|
171
220
|
await this.nc.request('$API.SERVICES.DEREGISTER', sc.encode(JSON.stringify(req)), { timeout: 2000, headers: this.getAuthHeaders() }).catch(() => { });
|
|
172
221
|
}
|
|
@@ -186,13 +235,10 @@ export class EdgeClient {
|
|
|
186
235
|
sendHeartbeat() {
|
|
187
236
|
if (!this.nc)
|
|
188
237
|
return;
|
|
189
|
-
const req = {
|
|
238
|
+
const req = {};
|
|
190
239
|
this.nc.publish('$EDGE.PRESENCE.HEARTBEAT', sc.encode(JSON.stringify(req)), { headers: this.getAuthHeaders() });
|
|
191
240
|
}
|
|
192
241
|
getAuthHeaders() {
|
|
193
|
-
if (!this.config.apiKey) {
|
|
194
|
-
return undefined;
|
|
195
|
-
}
|
|
196
242
|
const h = headers();
|
|
197
243
|
h.set('Authorization', `Bearer ${this.config.apiKey}`);
|
|
198
244
|
return h;
|
package/dist/edge/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/edge/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAA2C,WAAW,EAAE,OAAO,EAAW,MAAM,MAAM,CAAC;AAGvG,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;AAEzB,MAAM,OAAO,UAAU;IACb,MAAM,CAAa;IACnB,EAAE,GAA0B,IAAI,CAAC;IACjC,QAAQ,GAA2D,IAAI,GAAG,EAAE,CAAC;IAC7E,cAAc,GAA0C,IAAI,CAAC;IAC7D,KAAK,CAAS;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/edge/client.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
export interface EdgeConfig {
|
|
2
2
|
serverUrl: string;
|
|
3
|
-
|
|
3
|
+
apiKey: string;
|
|
4
4
|
edgeName?: string;
|
|
5
5
|
labels?: Record<string, string>;
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
version?: string;
|
|
7
|
+
hostname?: string;
|
|
8
|
+
ipAddress?: string;
|
|
8
9
|
heartbeatInterval?: number;
|
|
9
10
|
reconnectWait?: number;
|
|
10
11
|
maxReconnects?: number;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,IAAI,iBAAiB,CAAC;IAChC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACrE,YAAY,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3G;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1F,SAAS,CAAC,GAAG,EAAE,IAAI,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,GAC5B,OAAO,CAAC,YAAY,CAAC,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,IAAI,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
|