@fatagnus/dink-sdk 2.14.0 → 2.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,6 +5,14 @@ export interface DinkEnv {
5
5
  name: string;
6
6
  server: string;
7
7
  apiKey: string;
8
+ appId: string;
9
+ syncKey: string;
10
+ }
11
+ /**
12
+ * Options for loadDinkEnv.
13
+ */
14
+ export interface LoadOptions {
15
+ app?: string;
8
16
  }
9
17
  /**
10
18
  * Error thrown when environment resolution fails.
@@ -21,6 +29,13 @@ export declare class DinkEnvError extends Error {
21
29
  * 2. If no `name`: find `.dink/` dir, read `.dink/.current` for active env name
22
30
  * 3. Fall back to `DINK_SERVER` / `DINK_API_KEY` environment variables
23
31
  * 4. Throw `DinkEnvError` with code `'NO_ENVIRONMENT'` if nothing found
32
+ *
33
+ * App resolution priority:
34
+ * 1. `options.app` if provided
35
+ * 2. `DINK_APP_ID` env var
36
+ * 3. `.current` second line
37
+ * 4. YAML `default_app`
38
+ * 5. empty string
24
39
  */
25
- export declare function loadDinkEnv(name?: string): Promise<DinkEnv>;
40
+ export declare function loadDinkEnv(name?: string, options?: LoadOptions): Promise<DinkEnv>;
26
41
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/env/index.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK;IACrC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,GAAG,WAAW,CAAC;gBAElC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,GAAG,WAAW;CAKlE;AAyCD;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAiCjE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/env/index.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK;IACrC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,GAAG,WAAW,CAAC;gBAElC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,GAAG,WAAW;CAKlE;AAuID;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,WAAW,CAC/B,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,OAAO,CAAC,CAmClB"}
package/dist/env/index.js CHANGED
@@ -37,15 +37,95 @@ async function findDinkDir() {
37
37
  }
38
38
  }
39
39
  /**
40
- * Parse a trivial YAML file containing `server` and `api_key` fields.
41
- * No dependency files are always simple key: value pairs.
40
+ * Parse a trivial YAML file containing `server`, `api_key`, `default_app`,
41
+ * and an optional `apps:` section.
42
+ * No dependency — files are always simple key: value pairs with one level of nesting for apps.
42
43
  */
43
44
  function parseEnvYaml(content) {
44
45
  const serverMatch = content.match(/^server:\s*["']?(.*?)["']?\s*$/m);
45
46
  const apiKeyMatch = content.match(/^api_key:\s*["']?(.*?)["']?\s*$/m);
47
+ const defaultAppMatch = content.match(/^default_app:\s*["']?(.*?)["']?\s*$/m);
46
48
  const server = serverMatch ? serverMatch[1] : '';
47
49
  const apiKey = apiKeyMatch ? apiKeyMatch[1] : '';
48
- return { server, apiKey };
50
+ const defaultApp = defaultAppMatch ? defaultAppMatch[1] : '';
51
+ const apps = parseAppsSection(content);
52
+ return { server, apiKey, defaultApp, apps };
53
+ }
54
+ /**
55
+ * Parse the `apps:` section from YAML content.
56
+ * Handles the known two-level structure only:
57
+ *
58
+ * apps:
59
+ * app-name:
60
+ * api_key: xxx
61
+ * sync_key: yyy
62
+ *
63
+ * Uses indent-aware line parsing. NOT a full YAML parser.
64
+ */
65
+ function parseAppsSection(content) {
66
+ const result = {};
67
+ const lines = content.split('\n');
68
+ // Find the `apps:` line at column 0
69
+ let i = 0;
70
+ for (; i < lines.length; i++) {
71
+ if (/^apps:\s*$/.test(lines[i])) {
72
+ i++;
73
+ break;
74
+ }
75
+ }
76
+ if (i >= lines.length)
77
+ return result;
78
+ // Parse app entries — each app name is indented (typically 2 spaces / 1 tab)
79
+ let currentApp = '';
80
+ for (; i < lines.length; i++) {
81
+ const line = lines[i];
82
+ // Blank line or comment — skip
83
+ if (/^\s*$/.test(line) || /^\s*#/.test(line))
84
+ continue;
85
+ // Non-indented line — we've left the apps block
86
+ if (/^\S/.test(line))
87
+ break;
88
+ // App name line: indented, ends with ':'
89
+ const appNameMatch = line.match(/^[ \t]+([^\s:]+):\s*$/);
90
+ if (appNameMatch) {
91
+ currentApp = appNameMatch[1];
92
+ result[currentApp] = { apiKey: '', syncKey: '' };
93
+ continue;
94
+ }
95
+ // Property line inside an app (deeper indent)
96
+ if (currentApp) {
97
+ const propMatch = line.match(/^[ \t]+([a-z_]+):\s*["']?(.*?)["']?\s*$/);
98
+ if (propMatch) {
99
+ const [, key, value] = propMatch;
100
+ if (key === 'api_key') {
101
+ result[currentApp].apiKey = value;
102
+ }
103
+ else if (key === 'sync_key') {
104
+ result[currentApp].syncKey = value;
105
+ }
106
+ }
107
+ }
108
+ }
109
+ return result;
110
+ }
111
+ /**
112
+ * Read the .dink/.current file.
113
+ * New format: line 1 = envName, line 2 (optional) = appName.
114
+ * Old format: single trimmed line = envName.
115
+ */
116
+ async function readCurrentContext(dinkDir) {
117
+ try {
118
+ const data = await readFile(join(dinkDir, '.current'), 'utf-8');
119
+ const lines = data.split('\n');
120
+ const envName = (lines[0] ?? '').trim();
121
+ const appName = (lines[1] ?? '').trim();
122
+ if (!envName)
123
+ return null;
124
+ return { envName, appName };
125
+ }
126
+ catch {
127
+ return null;
128
+ }
49
129
  }
50
130
  /**
51
131
  * Load Dink credentials.
@@ -55,48 +135,64 @@ function parseEnvYaml(content) {
55
135
  * 2. If no `name`: find `.dink/` dir, read `.dink/.current` for active env name
56
136
  * 3. Fall back to `DINK_SERVER` / `DINK_API_KEY` environment variables
57
137
  * 4. Throw `DinkEnvError` with code `'NO_ENVIRONMENT'` if nothing found
138
+ *
139
+ * App resolution priority:
140
+ * 1. `options.app` if provided
141
+ * 2. `DINK_APP_ID` env var
142
+ * 3. `.current` second line
143
+ * 4. YAML `default_app`
144
+ * 5. empty string
58
145
  */
59
- export async function loadDinkEnv(name) {
146
+ export async function loadDinkEnv(name, options) {
60
147
  const dinkDir = await findDinkDir();
61
148
  // If a name is explicitly provided, we require a .dink/ directory.
62
149
  if (name !== undefined) {
63
150
  if (!dinkDir) {
64
151
  throw new DinkEnvError(`no .dink/ directory found while looking for environment "${name}"`, 'NOT_FOUND');
65
152
  }
66
- return loadFromFile(dinkDir, name);
153
+ return loadFromFile(dinkDir, name, options);
67
154
  }
68
155
  // Try .dink/.current
69
156
  if (dinkDir) {
70
- const currentName = await readCurrentEnv(dinkDir);
71
- if (currentName) {
72
- return loadFromFile(dinkDir, currentName);
157
+ const ctx = await readCurrentContext(dinkDir);
158
+ if (ctx) {
159
+ return loadFromFile(dinkDir, ctx.envName, options, ctx.appName);
73
160
  }
74
161
  }
75
162
  // Fall back to env vars
76
163
  const server = process.env['DINK_SERVER'];
77
164
  const apiKey = process.env['DINK_API_KEY'];
78
165
  if (server) {
79
- return { name: '', server, apiKey: apiKey ?? '' };
166
+ const appId = resolveAppId(options?.app, '', '');
167
+ const syncKey = process.env['DINK_APP_SYNC_KEY'] ?? '';
168
+ return { name: '', server, apiKey: apiKey ?? '', appId, syncKey };
80
169
  }
81
170
  throw new DinkEnvError('no dink environment found: no .dink/ directory, no .current file, and DINK_SERVER is not set', 'NO_ENVIRONMENT');
82
171
  }
83
172
  /**
84
- * Read the .dink/.current file. Returns the trimmed env name, or null.
173
+ * Resolve appId from the priority chain.
174
+ * 1. options.app
175
+ * 2. DINK_APP_ID env var
176
+ * 3. currentAppName (from .current second line)
177
+ * 4. YAML default_app
178
+ * 5. empty string
85
179
  */
86
- async function readCurrentEnv(dinkDir) {
87
- try {
88
- const data = await readFile(join(dinkDir, '.current'), 'utf-8');
89
- const trimmed = data.trim();
90
- return trimmed || null;
91
- }
92
- catch {
93
- return null;
94
- }
180
+ function resolveAppId(optionApp, currentAppName, yamlDefaultApp) {
181
+ if (optionApp)
182
+ return optionApp;
183
+ const envAppId = process.env['DINK_APP_ID'];
184
+ if (envAppId)
185
+ return envAppId;
186
+ if (currentAppName)
187
+ return currentAppName;
188
+ if (yamlDefaultApp)
189
+ return yamlDefaultApp;
190
+ return '';
95
191
  }
96
192
  /**
97
193
  * Load and validate a named environment file from `.dink/<name>.yaml`.
98
194
  */
99
- async function loadFromFile(dinkDir, name) {
195
+ async function loadFromFile(dinkDir, name, options, currentAppName) {
100
196
  const filePath = join(dinkDir, `${name}.yaml`);
101
197
  let content;
102
198
  try {
@@ -105,10 +201,25 @@ async function loadFromFile(dinkDir, name) {
105
201
  catch {
106
202
  throw new DinkEnvError(`environment "${name}" not found (expected ${filePath})`, 'NOT_FOUND');
107
203
  }
108
- const { server, apiKey } = parseEnvYaml(content);
204
+ const { server, apiKey, defaultApp, apps } = parseEnvYaml(content);
109
205
  if (!server) {
110
206
  throw new Error(`environment "${name}": server field is empty or missing`);
111
207
  }
112
- return { name, server, apiKey };
208
+ const appId = resolveAppId(options?.app, currentAppName ?? '', defaultApp);
209
+ // If the resolved app has its own api_key in the apps section, use it
210
+ let resolvedApiKey = apiKey;
211
+ let syncKey = '';
212
+ if (appId && apps[appId]) {
213
+ const appConfig = apps[appId];
214
+ if (appConfig.apiKey) {
215
+ resolvedApiKey = appConfig.apiKey;
216
+ }
217
+ syncKey = appConfig.syncKey;
218
+ }
219
+ // Env var fallback for sync key
220
+ if (!syncKey) {
221
+ syncKey = process.env['DINK_APP_SYNC_KEY'] ?? '';
222
+ }
223
+ return { name, server, apiKey: resolvedApiKey, appId, syncKey };
113
224
  }
114
225
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/env/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/env/index.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -3,5 +3,5 @@ export { extractPayload, wrapResponse } from './types.js';
3
3
  export { EdgeClient, parseEdgeKey, type ParsedEdgeKey } from './edge/client.js';
4
4
  export { ServiceBuilder } from './edge/service-builder.js';
5
5
  export { CenterClient } from './center/index.js';
6
- export { loadDinkEnv, DinkEnvError, type DinkEnv } from './env/index.js';
6
+ export { loadDinkEnv, DinkEnvError, type DinkEnv, type LoadOptions } from './env/index.js';
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,YAAY,EACV,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,YAAY,EAEZ,OAAO,EACP,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,eAAe,GAChB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1D,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG3D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,YAAY,EACV,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,YAAY,EAEZ,OAAO,EACP,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,eAAe,GAChB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1D,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG3D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,2EAA2E;AAiB3E,0BAA0B;AAC1B,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1D,0DAA0D;AAC1D,OAAO,EAAE,UAAU,EAAE,YAAY,EAAsB,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,qEAAqE;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,sDAAsD;AACtD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAgB,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,2EAA2E;AAiB3E,0BAA0B;AAC1B,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1D,0DAA0D;AAC1D,OAAO,EAAE,UAAU,EAAE,YAAY,EAAsB,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,qEAAqE;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,sDAAsD;AACtD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkC,MAAM,gBAAgB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fatagnus/dink-sdk",
3
- "version": "2.14.0",
3
+ "version": "2.15.0",
4
4
  "description": "TypeScript SDK for Dink edge mesh platform",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",