@defai.digital/ax-cli 1.2.1 → 1.2.2
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/automatosx.config.json +333 -0
- package/config/messages.yaml +2 -0
- package/dist/agent/grok-agent.js +5 -1
- package/dist/agent/grok-agent.js.map +1 -1
- package/dist/commands/mcp.js +8 -2
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/update.js +29 -25
- package/dist/commands/update.js.map +1 -1
- package/dist/ui/components/api-key-input.js +7 -5
- package/dist/ui/components/api-key-input.js.map +1 -1
- package/dist/utils/project-analyzer.d.ts +11 -0
- package/dist/utils/project-analyzer.js +180 -196
- package/dist/utils/project-analyzer.js.map +1 -1
- package/dist/utils/settings-manager.js +34 -26
- package/dist/utils/settings-manager.js.map +1 -1
- package/package.json +2 -2
- package/packages/schemas/dist/index.d.ts +14 -0
- package/packages/schemas/dist/index.d.ts.map +1 -0
- package/packages/schemas/dist/index.js +19 -0
- package/packages/schemas/dist/index.js.map +1 -0
- package/packages/schemas/dist/public/core/brand-types.d.ts +308 -0
- package/packages/schemas/dist/public/core/brand-types.d.ts.map +1 -0
- package/packages/schemas/dist/public/core/brand-types.js +243 -0
- package/packages/schemas/dist/public/core/brand-types.js.map +1 -0
- package/packages/schemas/dist/public/core/enums.d.ts +227 -0
- package/packages/schemas/dist/public/core/enums.d.ts.map +1 -0
- package/packages/schemas/dist/public/core/enums.js +222 -0
- package/packages/schemas/dist/public/core/enums.js.map +1 -0
- package/packages/schemas/dist/public/core/id-types.d.ts +286 -0
- package/packages/schemas/dist/public/core/id-types.d.ts.map +1 -0
- package/packages/schemas/dist/public/core/id-types.js +136 -0
- package/packages/schemas/dist/public/core/id-types.js.map +1 -0
- package/README.old.md +0 -1608
|
@@ -4,6 +4,7 @@ import * as os from "os";
|
|
|
4
4
|
import { UserSettingsSchema, ProjectSettingsSchema } from "../schemas/settings-schemas.js";
|
|
5
5
|
import { ModelIdSchema } from '@ax-cli/schemas';
|
|
6
6
|
import { loadMessagesConfig, formatMessage } from "./config-loader.js";
|
|
7
|
+
import { parseJsonFile, writeJsonFile } from "./json-utils.js";
|
|
7
8
|
// Load migration messages from YAML
|
|
8
9
|
const messages = loadMessagesConfig();
|
|
9
10
|
const migrationMessages = messages.migration || {};
|
|
@@ -153,16 +154,14 @@ export class SettingsManager {
|
|
|
153
154
|
this.saveUserSettings(DEFAULT_USER_SETTINGS);
|
|
154
155
|
return { ...DEFAULT_USER_SETTINGS };
|
|
155
156
|
}
|
|
156
|
-
|
|
157
|
-
const
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
if (!validationResult.success) {
|
|
161
|
-
console.warn("User settings validation failed, using defaults:", validationResult.error.message);
|
|
157
|
+
// Use json-utils for consistent JSON handling
|
|
158
|
+
const parseResult = parseJsonFile(this.userSettingsPath, UserSettingsSchema);
|
|
159
|
+
if (!parseResult.success) {
|
|
160
|
+
console.warn("Failed to load user settings:", parseResult.error);
|
|
162
161
|
return { ...DEFAULT_USER_SETTINGS };
|
|
163
162
|
}
|
|
164
163
|
// Merge with defaults to ensure all required fields exist
|
|
165
|
-
const settings = { ...DEFAULT_USER_SETTINGS, ...
|
|
164
|
+
const settings = { ...DEFAULT_USER_SETTINGS, ...parseResult.data };
|
|
166
165
|
this.userSettingsCache = settings;
|
|
167
166
|
this.cacheTimestamp.user = Date.now();
|
|
168
167
|
return settings;
|
|
@@ -184,19 +183,25 @@ export class SettingsManager {
|
|
|
184
183
|
// Read existing settings directly to avoid recursion
|
|
185
184
|
let existingSettings = { ...DEFAULT_USER_SETTINGS };
|
|
186
185
|
if (fs.existsSync(this.userSettingsPath)) {
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
existingSettings = { ...DEFAULT_USER_SETTINGS, ...parsed };
|
|
186
|
+
const parseResult = parseJsonFile(this.userSettingsPath);
|
|
187
|
+
if (parseResult.success) {
|
|
188
|
+
existingSettings = { ...DEFAULT_USER_SETTINGS, ...parseResult.data };
|
|
191
189
|
}
|
|
192
|
-
|
|
190
|
+
else {
|
|
193
191
|
// If file is corrupted, use defaults
|
|
194
192
|
console.warn("Corrupted user settings file, using defaults");
|
|
195
193
|
}
|
|
196
194
|
}
|
|
197
195
|
const mergedSettings = { ...existingSettings, ...settings };
|
|
198
|
-
|
|
196
|
+
// Use json-utils for consistent writing
|
|
197
|
+
const writeResult = writeJsonFile(this.userSettingsPath, mergedSettings, undefined, // no schema
|
|
198
|
+
true // pretty
|
|
199
199
|
);
|
|
200
|
+
if (!writeResult.success) {
|
|
201
|
+
throw new Error(`Failed to write settings: ${writeResult.error}`);
|
|
202
|
+
}
|
|
203
|
+
// Set secure permissions for API key
|
|
204
|
+
fs.chmodSync(this.userSettingsPath, 0o600);
|
|
200
205
|
// Invalidate cache after save
|
|
201
206
|
this.userSettingsCache = null;
|
|
202
207
|
this.cacheTimestamp.user = 0;
|
|
@@ -235,16 +240,14 @@ export class SettingsManager {
|
|
|
235
240
|
this.saveProjectSettings(DEFAULT_PROJECT_SETTINGS);
|
|
236
241
|
return { ...DEFAULT_PROJECT_SETTINGS };
|
|
237
242
|
}
|
|
238
|
-
|
|
239
|
-
const
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
if (!validationResult.success) {
|
|
243
|
-
console.warn("Project settings validation failed, using defaults:", validationResult.error.message);
|
|
243
|
+
// Use json-utils for consistent JSON handling
|
|
244
|
+
const parseResult = parseJsonFile(this.projectSettingsPath, ProjectSettingsSchema);
|
|
245
|
+
if (!parseResult.success) {
|
|
246
|
+
console.warn("Failed to load project settings:", parseResult.error);
|
|
244
247
|
return { ...DEFAULT_PROJECT_SETTINGS };
|
|
245
248
|
}
|
|
246
249
|
// Merge with defaults
|
|
247
|
-
const settings = { ...DEFAULT_PROJECT_SETTINGS, ...
|
|
250
|
+
const settings = { ...DEFAULT_PROJECT_SETTINGS, ...parseResult.data };
|
|
248
251
|
this.projectSettingsCache = settings;
|
|
249
252
|
this.cacheTimestamp.project = Date.now();
|
|
250
253
|
return settings;
|
|
@@ -266,18 +269,23 @@ export class SettingsManager {
|
|
|
266
269
|
// Read existing settings directly to avoid recursion
|
|
267
270
|
let existingSettings = { ...DEFAULT_PROJECT_SETTINGS };
|
|
268
271
|
if (fs.existsSync(this.projectSettingsPath)) {
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
existingSettings = { ...DEFAULT_PROJECT_SETTINGS, ...parsed };
|
|
272
|
+
const parseResult = parseJsonFile(this.projectSettingsPath);
|
|
273
|
+
if (parseResult.success) {
|
|
274
|
+
existingSettings = { ...DEFAULT_PROJECT_SETTINGS, ...parseResult.data };
|
|
273
275
|
}
|
|
274
|
-
|
|
276
|
+
else {
|
|
275
277
|
// If file is corrupted, use defaults
|
|
276
278
|
console.warn("Corrupted project settings file, using defaults");
|
|
277
279
|
}
|
|
278
280
|
}
|
|
279
281
|
const mergedSettings = { ...existingSettings, ...settings };
|
|
280
|
-
|
|
282
|
+
// Use json-utils for consistent writing
|
|
283
|
+
const writeResult = writeJsonFile(this.projectSettingsPath, mergedSettings, undefined, // no schema
|
|
284
|
+
true // pretty
|
|
285
|
+
);
|
|
286
|
+
if (!writeResult.success) {
|
|
287
|
+
throw new Error(`Failed to write settings: ${writeResult.error}`);
|
|
288
|
+
}
|
|
281
289
|
// Invalidate cache after save
|
|
282
290
|
this.projectSettingsCache = null;
|
|
283
291
|
this.cacheTimestamp.project = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings-manager.js","sourceRoot":"","sources":["../../src/utils/settings-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"settings-manager.js","sourceRoot":"","sources":["../../src/utils/settings-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAE3F,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE/D,oCAAoC;AACpC,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;AACtC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC;AAKnD;;GAEG;AACH,MAAM,qBAAqB,GAA0B;IACnD,OAAO,EAAE,qBAAqB;IAC9B,YAAY,EAAE,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC;IACrD,MAAM,EAAE;QACN,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC;QACvC,aAAa,CAAC,KAAK,CAAC,eAAe,CAAC;QACpC,aAAa,CAAC,KAAK,CAAC,eAAe,CAAC;QACpC,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC;QAClC,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC;KACxC;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,wBAAwB,GAA6B;IACzD,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC;CAC/C,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,eAAe;IAClB,MAAM,CAAC,QAAQ,CAAkB;IAEjC,gBAAgB,CAAS;IACzB,mBAAmB,CAAS;IAEpC,gDAAgD;IACxC,iBAAiB,GAAwB,IAAI,CAAC;IAC9C,oBAAoB,GAA2B,IAAI,CAAC;IACpD,cAAc,GAAG;QACvB,IAAI,EAAE,CAAC;QACP,OAAO,EAAE,CAAC;KACX,CAAC;IACe,SAAS,GAAG,IAAI,CAAC,CAAC,0BAA0B;IAE7D;QACE,iDAAiD;QACjD,oEAAoE;QACpE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QACtE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,oBAAoB,CAAC,CAAC;QAE3E,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC;YAC/E,CAAC,CAAC,WAAW,CAAE,4CAA4C;YAC3D,CAAC,CAAC,WAAW,CAAC,CAAC,kBAAkB;QAEnC,oDAAoD;QACpD,6DAA6D;QAC7D,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;QAC5E,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;QAE1E,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC;YACxF,CAAC,CAAC,cAAc,CAAE,4CAA4C;YAC9D,CAAC,CAAC,cAAc,CAAC,CAAC,kBAAkB;IACxC,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,WAAW;QACvB,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;YAC9B,eAAe,CAAC,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;QACnD,CAAC;QACD,OAAO,eAAe,CAAC,QAAQ,CAAC;IAClC,CAAC;IAED;;;OAGG;IACI,sBAAsB;QAC3B,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAI,QAAQ,GAAG,KAAK,CAAC;QAErB,wBAAwB;QACxB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,oBAAoB,CAAC,CAAC;QAC3E,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QAEtE,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC;gBACH,uBAAuB;gBACvB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBAC7C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC/B,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC7D,CAAC;gBAED,YAAY;gBACZ,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;gBAC1C,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,iCAAiC;gBAEnE,MAAM,UAAU,GAAG,aAAa,CAC9B,iBAAiB,CAAC,qBAAqB,IAAI,iDAAiD,EAC5F,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,CAC/C,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACzB,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,QAAQ,GAAG,aAAa,CAC5B,iBAAiB,CAAC,oBAAoB,IAAI,4CAA4C,EACtF,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CACpE,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QAED,2BAA2B;QAC3B,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;QAC1E,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;QAE5E,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YACpE,IAAI,CAAC;gBACH,uBAAuB;gBACvB,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBACnD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;oBAClC,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACnD,CAAC;gBAED,YAAY;gBACZ,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;gBAEhD,MAAM,UAAU,GAAG,aAAa,CAC9B,iBAAiB,CAAC,wBAAwB,IAAI,oDAAoD,EAClG,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,CACrD,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACzB,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,QAAQ,GAAG,aAAa,CAC5B,iBAAiB,CAAC,uBAAuB,IAAI,+CAA+C,EAC5F,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CACpE,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,IAAI,gFAAgF,CAAC,CAAC;QAC1I,CAAC;QAED,iDAAiD;QACjD,IAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC;QACpC,IAAI,CAAC,mBAAmB,GAAG,cAAc,CAAC;QAE1C,mCAAmC;QACnC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,cAAc,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QAE9C,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IAC/B,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,QAAgB;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED;;OAEG;IACI,gBAAgB;QACrB,oBAAoB;QACpB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAChF,OAAO,IAAI,CAAC,iBAAiB,CAAC;QAChC,CAAC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC1C,qDAAqD;gBACrD,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;gBAC7C,OAAO,EAAE,GAAG,qBAAqB,EAAE,CAAC;YACtC,CAAC;YAED,8CAA8C;YAC9C,MAAM,WAAW,GAAG,aAAa,CAC/B,IAAI,CAAC,gBAAgB,EACrB,kBAAkB,CACnB,CAAC;YAEF,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;gBACzB,OAAO,CAAC,IAAI,CACV,+BAA+B,EAC/B,WAAW,CAAC,KAAK,CAClB,CAAC;gBACF,OAAO,EAAE,GAAG,qBAAqB,EAAE,CAAC;YACtC,CAAC;YAED,0DAA0D;YAC1D,MAAM,QAAQ,GAAG,EAAE,GAAG,qBAAqB,EAAE,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;YACnE,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC;YAClC,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACtC,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CACV,+BAA+B,EAC/B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CACzD,CAAC;YACF,MAAM,eAAe,GAAG,EAAE,GAAG,qBAAqB,EAAE,CAAC;YACrD,IAAI,CAAC,iBAAiB,GAAG,eAAe,CAAC;YACzC,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACtC,OAAO,eAAe,CAAC;QACzB,CAAC;IACH,CAAC;IAED;;OAEG;IACI,gBAAgB,CAAC,QAA+B;QACrD,IAAI,CAAC;YACH,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAElD,qDAAqD;YACrD,IAAI,gBAAgB,GAAiB,EAAE,GAAG,qBAAqB,EAAE,CAAC;YAClE,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACzC,MAAM,WAAW,GAAG,aAAa,CAAe,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACvE,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;oBACxB,gBAAgB,GAAG,EAAE,GAAG,qBAAqB,EAAE,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;gBACvE,CAAC;qBAAM,CAAC;oBACN,qCAAqC;oBACrC,OAAO,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC;YAED,MAAM,cAAc,GAAG,EAAE,GAAG,gBAAgB,EAAE,GAAG,QAAQ,EAAE,CAAC;YAE5D,wCAAwC;YACxC,MAAM,WAAW,GAAG,aAAa,CAC/B,IAAI,CAAC,gBAAgB,EACrB,cAAc,EACd,SAAS,EAAE,YAAY;YACvB,IAAI,CAAC,SAAS;aACf,CAAC;YAEF,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,6BAA6B,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;YACpE,CAAC;YAED,qCAAqC;YACrC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;YAE3C,8BAA8B;YAC9B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CACX,+BAA+B,EAC/B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CACzD,CAAC;YACF,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACI,iBAAiB,CACtB,GAAM,EACN,KAAsB;QAEtB,MAAM,QAAQ,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAA2B,CAAC;QAC3D,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACI,cAAc,CAA+B,GAAM;QACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACzC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IAED;;OAEG;IACI,mBAAmB;QACxB,oBAAoB;QACpB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,oBAAoB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YACtF,OAAO,IAAI,CAAC,oBAAoB,CAAC;QACnC,CAAC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBAC7C,wDAAwD;gBACxD,IAAI,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,CAAC;gBACnD,OAAO,EAAE,GAAG,wBAAwB,EAAE,CAAC;YACzC,CAAC;YAED,8CAA8C;YAC9C,MAAM,WAAW,GAAG,aAAa,CAC/B,IAAI,CAAC,mBAAmB,EACxB,qBAAqB,CACtB,CAAC;YAEF,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;gBACzB,OAAO,CAAC,IAAI,CACV,kCAAkC,EAClC,WAAW,CAAC,KAAK,CAClB,CAAC;gBACF,OAAO,EAAE,GAAG,wBAAwB,EAAE,CAAC;YACzC,CAAC;YAED,sBAAsB;YACtB,MAAM,QAAQ,GAAG,EAAE,GAAG,wBAAwB,EAAE,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;YACtE,IAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAC;YACrC,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzC,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CACV,kCAAkC,EAClC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CACzD,CAAC;YACF,MAAM,eAAe,GAAG,EAAE,GAAG,wBAAwB,EAAE,CAAC;YACxD,IAAI,CAAC,oBAAoB,GAAG,eAAe,CAAC;YAC5C,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzC,OAAO,eAAe,CAAC;QACzB,CAAC;IACH,CAAC;IAED;;OAEG;IACI,mBAAmB,CAAC,QAAkC;QAC3D,IAAI,CAAC;YACH,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAErD,qDAAqD;YACrD,IAAI,gBAAgB,GAAoB,EAAE,GAAG,wBAAwB,EAAE,CAAC;YACxE,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBAC5C,MAAM,WAAW,GAAG,aAAa,CAAkB,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBAC7E,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;oBACxB,gBAAgB,GAAG,EAAE,GAAG,wBAAwB,EAAE,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;gBAC1E,CAAC;qBAAM,CAAC;oBACN,qCAAqC;oBACrC,OAAO,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;gBAClE,CAAC;YACH,CAAC;YAED,MAAM,cAAc,GAAG,EAAE,GAAG,gBAAgB,EAAE,GAAG,QAAQ,EAAE,CAAC;YAE5D,wCAAwC;YACxC,MAAM,WAAW,GAAG,aAAa,CAC/B,IAAI,CAAC,mBAAmB,EACxB,cAAc,EACd,SAAS,EAAE,YAAY;YACvB,IAAI,CAAC,SAAS;aACf,CAAC;YAEF,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,6BAA6B,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;YACpE,CAAC;YAED,8BAA8B;YAC9B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACjC,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CACX,kCAAkC,EAClC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CACzD,CAAC;YACF,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACI,oBAAoB,CACzB,GAAM,EACN,KAAyB;QAEzB,MAAM,QAAQ,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAA8B,CAAC;QAC9D,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACI,iBAAiB,CACtB,GAAM;QAEN,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC5C,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACI,eAAe;QACpB,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QAC7D,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,gBAAgB,CAAC;QAC1B,CAAC;QAED,OAAO,wBAAwB,CAAC,KAAK,IAAI,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACnF,CAAC;IAED;;OAEG;IACI,eAAe,CAAC,KAAa;QAClC,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IACjE,CAAC;IAED;;OAEG;IACI,kBAAkB;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC7C,OAAO,MAAM,IAAI,qBAAqB,CAAC,MAAM,IAAI,EAAE,CAAC;IACtD,CAAC;IAED;;OAEG;IACI,SAAS;QACd,mCAAmC;QACnC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;QAC3C,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,2BAA2B;QAC3B,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACI,UAAU;QACf,mCAAmC;QACnC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;QAC7C,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,2BAA2B;QAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QACnD,OAAO,CACL,WAAW,IAAI,qBAAqB,CAAC,OAAO,IAAI,qBAAqB,CACtE,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,mBAAmB;QACxB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED;;OAEG;IACI,sBAAsB;QAC3B,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,eAAe,CAAC,WAAW,EAAE,CAAC;AACvC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@defai.digital/ax-cli",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.2",
|
|
4
4
|
"description": "Enterprise-Class AI Command Line Interface - Primary support for GLM (General Language Model) with multi-provider AI orchestration powered by AutomatosX.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"workspaces": [
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"author": "Your Name",
|
|
56
56
|
"license": "MIT",
|
|
57
57
|
"dependencies": {
|
|
58
|
-
"@ax-cli/schemas": "
|
|
58
|
+
"@ax-cli/schemas": "npm:@defai.digital/ax-cli-schemas@^1.0.0",
|
|
59
59
|
"@modelcontextprotocol/sdk": "^1.17.0",
|
|
60
60
|
"axios": "^1.7.0",
|
|
61
61
|
"cfonts": "^3.3.0",
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @ax-cli/schemas - Single Source of Truth Type System
|
|
3
|
+
*
|
|
4
|
+
* This package provides centralized Zod schemas, brand types, and enums
|
|
5
|
+
* for the entire ax-cli ecosystem.
|
|
6
|
+
*
|
|
7
|
+
* SECURITY: All exports are controlled. Internal helpers are not exposed.
|
|
8
|
+
*
|
|
9
|
+
* @packageDocumentation
|
|
10
|
+
*/
|
|
11
|
+
export { brand, unbrand, isBranded, createBrandFactory, type __brand, type Brand, type ExtractBrand, type ExtractBase, } from './public/core/brand-types.js';
|
|
12
|
+
export { ApiResponseId, ToolCallId, ToolCallIdSchema, ModelId, ModelIdSchema, TenantId, ApiKeyId, MCPServerId, MCPServerIdSchema, UsageRecordId, PlanId, SessionId, RequestId, type ApiResponseId as ApiResponseIdType, type ToolCallId as ToolCallIdType, type ModelId as ModelIdType, type TenantId as TenantIdType, type ApiKeyId as ApiKeyIdType, type MCPServerId as MCPServerIdType, type UsageRecordId as UsageRecordIdType, type PlanId as PlanIdType, type SessionId as SessionIdType, type RequestId as RequestIdType, } from './public/core/id-types.js';
|
|
13
|
+
export { MessageRoleEnum, FinishReasonEnum, TransportEnum, EditorCommandEnum, type MessageRole, type FinishReason, type Transport, type EditorCommand, } from './public/core/enums.js';
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EACL,KAAK,EACL,OAAO,EACP,SAAS,EACT,kBAAkB,EAClB,KAAK,OAAO,EACZ,KAAK,KAAK,EACV,KAAK,YAAY,EACjB,KAAK,WAAW,GACjB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EACL,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,OAAO,EACP,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,MAAM,EACN,SAAS,EACT,SAAS,EACT,KAAK,aAAa,IAAI,iBAAiB,EACvC,KAAK,UAAU,IAAI,cAAc,EACjC,KAAK,OAAO,IAAI,WAAW,EAC3B,KAAK,QAAQ,IAAI,YAAY,EAC7B,KAAK,QAAQ,IAAI,YAAY,EAC7B,KAAK,WAAW,IAAI,eAAe,EACnC,KAAK,aAAa,IAAI,iBAAiB,EACvC,KAAK,MAAM,IAAI,UAAU,EACzB,KAAK,SAAS,IAAI,aAAa,EAC/B,KAAK,SAAS,IAAI,aAAa,GAChC,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,aAAa,GACnB,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @ax-cli/schemas - Single Source of Truth Type System
|
|
3
|
+
*
|
|
4
|
+
* This package provides centralized Zod schemas, brand types, and enums
|
|
5
|
+
* for the entire ax-cli ecosystem.
|
|
6
|
+
*
|
|
7
|
+
* SECURITY: All exports are controlled. Internal helpers are not exposed.
|
|
8
|
+
*
|
|
9
|
+
* @packageDocumentation
|
|
10
|
+
*/
|
|
11
|
+
// Core brand type utilities
|
|
12
|
+
export { brand, unbrand, isBranded, createBrandFactory, } from './public/core/brand-types.js';
|
|
13
|
+
// ID Brand Types
|
|
14
|
+
export { ApiResponseId, ToolCallId, ToolCallIdSchema, ModelId, ModelIdSchema, TenantId, ApiKeyId, MCPServerId, MCPServerIdSchema, UsageRecordId, PlanId, SessionId, RequestId, } from './public/core/id-types.js';
|
|
15
|
+
// Centralized Enums
|
|
16
|
+
export { MessageRoleEnum, FinishReasonEnum, TransportEnum, EditorCommandEnum, } from './public/core/enums.js';
|
|
17
|
+
// Additional exports will be added as we implement them:
|
|
18
|
+
// - Domain schemas (Usage, API, MCP)
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,4BAA4B;AAC5B,OAAO,EACL,KAAK,EACL,OAAO,EACP,SAAS,EACT,kBAAkB,GAKnB,MAAM,8BAA8B,CAAC;AAEtC,iBAAiB;AACjB,OAAO,EACL,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,OAAO,EACP,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,MAAM,EACN,SAAS,EACT,SAAS,GAWV,MAAM,2BAA2B,CAAC;AAEnC,oBAAoB;AACpB,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,iBAAiB,GAKlB,MAAM,wBAAwB,CAAC;AAEhC,yDAAyD;AACzD,qCAAqC"}
|
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Brand Types Utilities for @ax-cli/schemas
|
|
3
|
+
*
|
|
4
|
+
* CRITICAL SECURITY WARNING:
|
|
5
|
+
* =========================
|
|
6
|
+
* Brand types are COMPILE-TIME ONLY markers. They provide ZERO runtime validation.
|
|
7
|
+
*
|
|
8
|
+
* **YOU MUST VALIDATE ALL INPUTS AT SYSTEM BOUNDARIES**
|
|
9
|
+
*
|
|
10
|
+
* Unsafe usage (WILL FAIL IN PRODUCTION):
|
|
11
|
+
* ```typescript
|
|
12
|
+
* const tenantId = userInput as TenantId; // ❌ NO RUNTIME VALIDATION!
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* Safe usage (REQUIRED):
|
|
16
|
+
* ```typescript
|
|
17
|
+
* const result = TenantId.parse(userInput); // ✅ Validates with Zod
|
|
18
|
+
* if (result.success) {
|
|
19
|
+
* const tenantId = result.data; // Type-safe AND runtime-safe
|
|
20
|
+
* }
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* WHEN TO USE BRAND TYPES:
|
|
24
|
+
* - Preventing ID mixing at compile time (ApiKeyId vs TenantId)
|
|
25
|
+
* - Enforcing domain boundaries in function signatures
|
|
26
|
+
* - Type-level documentation of intent
|
|
27
|
+
*
|
|
28
|
+
* WHEN TO VALIDATE:
|
|
29
|
+
* - API boundaries (HTTP requests, MCP inputs)
|
|
30
|
+
* - File I/O (reading configs, user settings)
|
|
31
|
+
* - Database queries (WHERE clauses with user IDs)
|
|
32
|
+
* - Environment variables
|
|
33
|
+
* - Command-line arguments
|
|
34
|
+
*
|
|
35
|
+
* PERFORMANCE:
|
|
36
|
+
* Brand types have ZERO runtime cost. They are erased during compilation.
|
|
37
|
+
*
|
|
38
|
+
* @module brand-types
|
|
39
|
+
* @see {@link https://github.com/microsoft/TypeScript/issues/4895|TypeScript Nominal Types}
|
|
40
|
+
*/
|
|
41
|
+
/**
|
|
42
|
+
* Unique symbol used as a phantom type marker for branding.
|
|
43
|
+
* This symbol is exported for type compatibility but cannot be accessed at runtime,
|
|
44
|
+
* making it impossible to forge branded types without using the
|
|
45
|
+
* provided constructor functions.
|
|
46
|
+
*
|
|
47
|
+
* @internal
|
|
48
|
+
*/
|
|
49
|
+
export declare const __brand: unique symbol;
|
|
50
|
+
/**
|
|
51
|
+
* Brand<T, B> creates a "nominal type" from a structural type.
|
|
52
|
+
*
|
|
53
|
+
* TypeScript uses structural typing by default:
|
|
54
|
+
* ```typescript
|
|
55
|
+
* type UserId = string;
|
|
56
|
+
* type TenantId = string;
|
|
57
|
+
*
|
|
58
|
+
* const user: UserId = "user-123";
|
|
59
|
+
* const tenant: TenantId = user; // ✅ No error! Strings are compatible.
|
|
60
|
+
* ```
|
|
61
|
+
*
|
|
62
|
+
* Brand types enforce nominal typing:
|
|
63
|
+
* ```typescript
|
|
64
|
+
* type UserId = Brand<string, 'UserId'>;
|
|
65
|
+
* type TenantId = Brand<string, 'TenantId'>;
|
|
66
|
+
*
|
|
67
|
+
* const user = brand<string, 'UserId'>("user-123");
|
|
68
|
+
* const tenant: TenantId = user; // ❌ Compile error! Incompatible brands.
|
|
69
|
+
* ```
|
|
70
|
+
*
|
|
71
|
+
* @template T - The base type (string, number, etc.)
|
|
72
|
+
* @template B - The brand identifier (unique string literal)
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* ```typescript
|
|
76
|
+
* type ApiKeyId = Brand<string, 'ApiKeyId'>;
|
|
77
|
+
* type TenantId = Brand<string, 'TenantId'>;
|
|
78
|
+
*
|
|
79
|
+
* function updateUsage(apiKeyId: ApiKeyId, tenantId: TenantId) {
|
|
80
|
+
* // This function signature makes it impossible to swap arguments
|
|
81
|
+
* }
|
|
82
|
+
*
|
|
83
|
+
* const apiKey = brand<string, 'ApiKeyId'>("ak_123");
|
|
84
|
+
* const tenant = brand<string, 'TenantId'>("tn_456");
|
|
85
|
+
*
|
|
86
|
+
* updateUsage(apiKey, tenant); // ✅ Correct
|
|
87
|
+
* updateUsage(tenant, apiKey); // ❌ Compile error!
|
|
88
|
+
* updateUsage("ak_123", "tn_456"); // ❌ Compile error!
|
|
89
|
+
* ```
|
|
90
|
+
*/
|
|
91
|
+
export type Brand<T, B extends string> = T & {
|
|
92
|
+
readonly [__brand]: B;
|
|
93
|
+
};
|
|
94
|
+
/**
|
|
95
|
+
* Creates a branded value.
|
|
96
|
+
*
|
|
97
|
+
* WARNING: This function performs NO VALIDATION. It is a type-level assertion only.
|
|
98
|
+
*
|
|
99
|
+
* Use this ONLY in trusted contexts after validation:
|
|
100
|
+
* - Inside schema .transform() after Zod validation
|
|
101
|
+
* - After database queries that return validated data
|
|
102
|
+
* - In test fixtures with known-good values
|
|
103
|
+
*
|
|
104
|
+
* DO NOT use with user input directly:
|
|
105
|
+
* ```typescript
|
|
106
|
+
* // ❌ UNSAFE - No validation!
|
|
107
|
+
* const userId = brand<string, 'UserId'>(req.body.userId);
|
|
108
|
+
*
|
|
109
|
+
* // ✅ SAFE - Validated first
|
|
110
|
+
* const result = UserIdSchema.safeParse(req.body.userId);
|
|
111
|
+
* if (result.success) {
|
|
112
|
+
* const userId = result.data; // Already branded by schema
|
|
113
|
+
* }
|
|
114
|
+
* ```
|
|
115
|
+
*
|
|
116
|
+
* @template T - The base type
|
|
117
|
+
* @template B - The brand identifier
|
|
118
|
+
* @param value - The value to brand
|
|
119
|
+
* @returns The same value, but with a brand type
|
|
120
|
+
*
|
|
121
|
+
* @example
|
|
122
|
+
* ```typescript
|
|
123
|
+
* // Safe usage in tests
|
|
124
|
+
* const mockTenantId = brand<string, 'TenantId'>("test-tenant-123");
|
|
125
|
+
*
|
|
126
|
+
* // Safe usage after validation
|
|
127
|
+
* const schema = z.string().uuid().transform(v => brand<string, 'TenantId'>(v));
|
|
128
|
+
* const tenantId = schema.parse(userInput); // Validated AND branded
|
|
129
|
+
* ```
|
|
130
|
+
*/
|
|
131
|
+
export declare function brand<T, B extends string>(value: T): Brand<T, B>;
|
|
132
|
+
/**
|
|
133
|
+
* Type guard to check if a value is already branded with a specific brand.
|
|
134
|
+
*
|
|
135
|
+
* NOTE: This only works if the value was created using the brand() function.
|
|
136
|
+
* It CANNOT detect fake brands created with `as` casts.
|
|
137
|
+
*
|
|
138
|
+
* @template T - The base type
|
|
139
|
+
* @template B - The brand identifier
|
|
140
|
+
* @param value - The value to check
|
|
141
|
+
* @returns true if the value has the correct brand (compile-time only)
|
|
142
|
+
*
|
|
143
|
+
* @example
|
|
144
|
+
* ```typescript
|
|
145
|
+
* const value: string | TenantId = getTenantId();
|
|
146
|
+
*
|
|
147
|
+
* if (isBranded<string, 'TenantId'>(value)) {
|
|
148
|
+
* const tenantId: TenantId = value; // TypeScript knows it's branded
|
|
149
|
+
* }
|
|
150
|
+
* ```
|
|
151
|
+
*/
|
|
152
|
+
export declare function isBranded<T, B extends string>(_value: unknown): _value is Brand<T, B>;
|
|
153
|
+
/**
|
|
154
|
+
* Removes the brand from a branded type, returning the base type.
|
|
155
|
+
*
|
|
156
|
+
* Use this when you need to pass a branded value to a function that
|
|
157
|
+
* expects the base type (e.g., logging, serialization).
|
|
158
|
+
*
|
|
159
|
+
* @template T - The base type
|
|
160
|
+
* @template B - The brand identifier
|
|
161
|
+
* @param value - The branded value
|
|
162
|
+
* @returns The same value, but with the brand removed
|
|
163
|
+
*
|
|
164
|
+
* @example
|
|
165
|
+
* ```typescript
|
|
166
|
+
* const tenantId: TenantId = getTenantId();
|
|
167
|
+
*
|
|
168
|
+
* // Pass to function expecting plain string
|
|
169
|
+
* console.log(unbrand(tenantId)); // string, not TenantId
|
|
170
|
+
*
|
|
171
|
+
* // Serialize to JSON
|
|
172
|
+
* const json = JSON.stringify({ id: unbrand(tenantId) });
|
|
173
|
+
* ```
|
|
174
|
+
*/
|
|
175
|
+
export declare function unbrand<T, B extends string>(value: Brand<T, B>): T;
|
|
176
|
+
/**
|
|
177
|
+
* Utility type to extract the brand identifier from a branded type.
|
|
178
|
+
*
|
|
179
|
+
* @template T - The branded type
|
|
180
|
+
*
|
|
181
|
+
* @example
|
|
182
|
+
* ```typescript
|
|
183
|
+
* type TenantId = Brand<string, 'TenantId'>;
|
|
184
|
+
* type BrandName = ExtractBrand<TenantId>; // 'TenantId'
|
|
185
|
+
* ```
|
|
186
|
+
*/
|
|
187
|
+
export type ExtractBrand<T> = T extends Brand<unknown, infer B> ? B : never;
|
|
188
|
+
/**
|
|
189
|
+
* Utility type to extract the base type from a branded type.
|
|
190
|
+
*
|
|
191
|
+
* @template T - The branded type
|
|
192
|
+
*
|
|
193
|
+
* @example
|
|
194
|
+
* ```typescript
|
|
195
|
+
* type TenantId = Brand<string, 'TenantId'>;
|
|
196
|
+
* type BaseType = ExtractBase<TenantId>; // string
|
|
197
|
+
* ```
|
|
198
|
+
*/
|
|
199
|
+
export type ExtractBase<T> = T extends Brand<infer U, string> ? U : T;
|
|
200
|
+
/**
|
|
201
|
+
* Creates a type-safe brand factory with validation.
|
|
202
|
+
*
|
|
203
|
+
* This is the RECOMMENDED way to create brand types with runtime validation.
|
|
204
|
+
*
|
|
205
|
+
* @template T - The base type
|
|
206
|
+
* @template B - The brand identifier
|
|
207
|
+
* @param schema - Zod schema for validation
|
|
208
|
+
* @param brandName - The brand identifier
|
|
209
|
+
* @returns Object with parse, create, and is methods
|
|
210
|
+
*
|
|
211
|
+
* @example
|
|
212
|
+
* ```typescript
|
|
213
|
+
* import { z } from 'zod';
|
|
214
|
+
*
|
|
215
|
+
* const TenantId = createBrandFactory(
|
|
216
|
+
* z.string().uuid(),
|
|
217
|
+
* 'TenantId'
|
|
218
|
+
* );
|
|
219
|
+
*
|
|
220
|
+
* // Type-safe parsing with validation
|
|
221
|
+
* const result = TenantId.parse(userInput);
|
|
222
|
+
* if (result.success) {
|
|
223
|
+
* const tenantId = result.data; // Brand<string, 'TenantId'>
|
|
224
|
+
* }
|
|
225
|
+
*
|
|
226
|
+
* // Create new ID
|
|
227
|
+
* const newId = TenantId.create(); // Generates UUID
|
|
228
|
+
*
|
|
229
|
+
* // Type guard
|
|
230
|
+
* if (TenantId.is(value)) {
|
|
231
|
+
* // value is Brand<string, 'TenantId'>
|
|
232
|
+
* }
|
|
233
|
+
* ```
|
|
234
|
+
*/
|
|
235
|
+
export declare function createBrandFactory<T, B extends string>(schema: {
|
|
236
|
+
parse: (input: unknown) => T;
|
|
237
|
+
safeParse: (input: unknown) => {
|
|
238
|
+
success: boolean;
|
|
239
|
+
data?: T;
|
|
240
|
+
error?: unknown;
|
|
241
|
+
};
|
|
242
|
+
}, brandName: B): {
|
|
243
|
+
/**
|
|
244
|
+
* The Zod schema with brand transformation.
|
|
245
|
+
*/
|
|
246
|
+
schema: {
|
|
247
|
+
parse: (input: unknown) => Brand<T, B>;
|
|
248
|
+
safeParse: (input: unknown) => {
|
|
249
|
+
success: true;
|
|
250
|
+
data: Brand<T, B>;
|
|
251
|
+
} | {
|
|
252
|
+
success: false;
|
|
253
|
+
error: unknown;
|
|
254
|
+
};
|
|
255
|
+
};
|
|
256
|
+
/**
|
|
257
|
+
* Parse and validate input, returning branded value.
|
|
258
|
+
* Throws on validation failure.
|
|
259
|
+
*/
|
|
260
|
+
parse: (input: unknown) => Brand<T, B>;
|
|
261
|
+
/**
|
|
262
|
+
* Type guard to check if a value is this brand.
|
|
263
|
+
*/
|
|
264
|
+
is: (value: unknown) => value is Brand<T, B>;
|
|
265
|
+
/**
|
|
266
|
+
* Brand name identifier.
|
|
267
|
+
*/
|
|
268
|
+
brandName: B;
|
|
269
|
+
};
|
|
270
|
+
/**
|
|
271
|
+
* BEST PRACTICES SUMMARY:
|
|
272
|
+
* =======================
|
|
273
|
+
*
|
|
274
|
+
* 1. ALWAYS validate at boundaries:
|
|
275
|
+
* - API inputs: Use Zod schemas
|
|
276
|
+
* - Database outputs: Use Zod schemas
|
|
277
|
+
* - File I/O: Use Zod schemas
|
|
278
|
+
* - CLI args: Use Zod schemas
|
|
279
|
+
*
|
|
280
|
+
* 2. NEVER cast to brand types:
|
|
281
|
+
* ❌ const id = userInput as TenantId;
|
|
282
|
+
* ✅ const id = TenantIdSchema.parse(userInput);
|
|
283
|
+
*
|
|
284
|
+
* 3. Use createBrandFactory for all brand types:
|
|
285
|
+
* - Provides validation
|
|
286
|
+
* - Provides type guards
|
|
287
|
+
* - Centralizes brand creation
|
|
288
|
+
*
|
|
289
|
+
* 4. Document which functions validate:
|
|
290
|
+
* ```typescript
|
|
291
|
+
* // @validates TenantId - performs Zod validation
|
|
292
|
+
* function parseTenantId(input: string): TenantId {
|
|
293
|
+
* return TenantIdSchema.parse(input);
|
|
294
|
+
* }
|
|
295
|
+
*
|
|
296
|
+
* // @assumes TenantId - no validation, requires validated input
|
|
297
|
+
* function formatTenantId(id: TenantId): string {
|
|
298
|
+
* return `tenant:${unbrand(id)}`;
|
|
299
|
+
* }
|
|
300
|
+
* ```
|
|
301
|
+
*
|
|
302
|
+
* 5. Test brand type enforcement:
|
|
303
|
+
* ```typescript
|
|
304
|
+
* // Should fail to compile
|
|
305
|
+
* const apiKey: ApiKeyId = getTenantId(); // ❌
|
|
306
|
+
* ```
|
|
307
|
+
*/
|
|
308
|
+
//# sourceMappingURL=brand-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brand-types.d.ts","sourceRoot":"","sources":["../../../src/public/core/brand-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,CAAC,MAAM,OAAO,EAAE,OAAO,MAAM,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,IAAI,CAAC,GAAG;IAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;CAAE,CAAC;AAEvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAEhE;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EAC3C,MAAM,EAAE,OAAO,GACd,MAAM,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAIvB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAElE;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE5E;;;;;;;;;;GAUG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EACpD,MAAM,EAAE;IAAE,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,CAAC;IAAC,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;CAAE,EACxH,SAAS,EAAE,CAAC;IAGV;;OAEG;;uBAEc,OAAO,KAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;2BAIjB,OAAO,KAAG;YAAE,OAAO,EAAE,IAAI,CAAC;YAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;SAAE,GAAG;YAAE,OAAO,EAAE,KAAK,CAAC;YAAC,KAAK,EAAE,OAAO,CAAA;SAAE;;IASxG;;;OAGG;mBACY,OAAO,KAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IAKpC;;OAEG;gBACS,OAAO,KAAG,KAAK,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IAK1C;;OAEG;;EAGN;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG"}
|