@agentuity/cli 0.0.101 → 0.0.102
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/AGENTS.md +19 -188
- package/bin/cli.ts +13 -6
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +41 -12
- package/dist/cli.js.map +1 -1
- package/dist/cmd/ai/index.d.ts.map +1 -1
- package/dist/cmd/ai/index.js +6 -1
- package/dist/cmd/ai/index.js.map +1 -1
- package/dist/cmd/ai/prompt/agent.d.ts +7 -0
- package/dist/cmd/ai/prompt/agent.d.ts.map +1 -1
- package/dist/cmd/ai/prompt/agent.js +12 -323
- package/dist/cmd/ai/prompt/agent.js.map +1 -1
- package/dist/cmd/ai/prompt/api.d.ts +7 -0
- package/dist/cmd/ai/prompt/api.d.ts.map +1 -1
- package/dist/cmd/ai/prompt/api.js +12 -260
- package/dist/cmd/ai/prompt/api.js.map +1 -1
- package/dist/cmd/ai/prompt/version.d.ts +35 -0
- package/dist/cmd/ai/prompt/version.d.ts.map +1 -0
- package/dist/cmd/ai/prompt/version.js +55 -0
- package/dist/cmd/ai/prompt/version.js.map +1 -0
- package/dist/cmd/ai/prompt/web.d.ts +7 -0
- package/dist/cmd/ai/prompt/web.d.ts.map +1 -1
- package/dist/cmd/ai/prompt/web.js +12 -283
- package/dist/cmd/ai/prompt/web.js.map +1 -1
- package/dist/cmd/ai/skills/generate.d.ts +3 -0
- package/dist/cmd/ai/skills/generate.d.ts.map +1 -0
- package/dist/cmd/ai/skills/generate.js +65 -0
- package/dist/cmd/ai/skills/generate.js.map +1 -0
- package/dist/cmd/ai/skills/generator.d.ts +4 -0
- package/dist/cmd/ai/skills/generator.d.ts.map +1 -0
- package/dist/cmd/ai/skills/generator.js +402 -0
- package/dist/cmd/ai/skills/generator.js.map +1 -0
- package/dist/cmd/ai/skills/index.d.ts +4 -0
- package/dist/cmd/ai/skills/index.d.ts.map +1 -0
- package/dist/cmd/ai/skills/index.js +21 -0
- package/dist/cmd/ai/skills/index.js.map +1 -0
- package/dist/cmd/auth/signup.d.ts.map +1 -1
- package/dist/cmd/auth/signup.js +1 -0
- package/dist/cmd/auth/signup.js.map +1 -1
- package/dist/cmd/build/entry-generator.d.ts.map +1 -1
- package/dist/cmd/build/entry-generator.js +40 -5
- package/dist/cmd/build/entry-generator.js.map +1 -1
- package/dist/cmd/build/vite/bun-dev-server.d.ts +7 -1
- package/dist/cmd/build/vite/bun-dev-server.d.ts.map +1 -1
- package/dist/cmd/build/vite/bun-dev-server.js +52 -26
- package/dist/cmd/build/vite/bun-dev-server.js.map +1 -1
- package/dist/cmd/build/vite/metadata-generator.d.ts.map +1 -1
- package/dist/cmd/build/vite/metadata-generator.js +58 -7
- package/dist/cmd/build/vite/metadata-generator.js.map +1 -1
- package/dist/cmd/build/vite/prompt-generator.d.ts +23 -0
- package/dist/cmd/build/vite/prompt-generator.d.ts.map +1 -0
- package/dist/cmd/build/vite/prompt-generator.js +123 -0
- package/dist/cmd/build/vite/prompt-generator.js.map +1 -0
- package/dist/cmd/build/vite/registry-generator.d.ts.map +1 -1
- package/dist/cmd/build/vite/registry-generator.js +28 -11
- package/dist/cmd/build/vite/registry-generator.js.map +1 -1
- package/dist/cmd/build/vite/server-bundler.d.ts +4 -0
- package/dist/cmd/build/vite/server-bundler.d.ts.map +1 -1
- package/dist/cmd/build/vite/server-bundler.js +45 -16
- package/dist/cmd/build/vite/server-bundler.js.map +1 -1
- package/dist/cmd/build/vite/vite-asset-server-config.d.ts.map +1 -1
- package/dist/cmd/build/vite/vite-asset-server-config.js +4 -0
- package/dist/cmd/build/vite/vite-asset-server-config.js.map +1 -1
- package/dist/cmd/build/vite/vite-builder.d.ts.map +1 -1
- package/dist/cmd/build/vite/vite-builder.js +99 -87
- package/dist/cmd/build/vite/vite-builder.js.map +1 -1
- package/dist/cmd/cloud/deploy.d.ts.map +1 -1
- package/dist/cmd/cloud/deploy.js +78 -27
- package/dist/cmd/cloud/deploy.js.map +1 -1
- package/dist/cmd/cloud/keyvalue/create-namespace.d.ts.map +1 -1
- package/dist/cmd/cloud/keyvalue/create-namespace.js +3 -1
- package/dist/cmd/cloud/keyvalue/create-namespace.js.map +1 -1
- package/dist/cmd/cloud/keyvalue/delete-namespace.d.ts.map +1 -1
- package/dist/cmd/cloud/keyvalue/delete-namespace.js +3 -1
- package/dist/cmd/cloud/keyvalue/delete-namespace.js.map +1 -1
- package/dist/cmd/cloud/keyvalue/delete.d.ts.map +1 -1
- package/dist/cmd/cloud/keyvalue/delete.js +3 -1
- package/dist/cmd/cloud/keyvalue/delete.js.map +1 -1
- package/dist/cmd/cloud/keyvalue/set.d.ts.map +1 -1
- package/dist/cmd/cloud/keyvalue/set.js +4 -2
- package/dist/cmd/cloud/keyvalue/set.js.map +1 -1
- package/dist/cmd/cloud/stream/get.d.ts.map +1 -1
- package/dist/cmd/cloud/stream/get.js +2 -13
- package/dist/cmd/cloud/stream/get.js.map +1 -1
- package/dist/cmd/cloud/vector/delete-namespace.d.ts +3 -0
- package/dist/cmd/cloud/vector/delete-namespace.d.ts.map +1 -0
- package/dist/cmd/cloud/vector/delete-namespace.js +77 -0
- package/dist/cmd/cloud/vector/delete-namespace.js.map +1 -0
- package/dist/cmd/cloud/vector/index.d.ts.map +1 -1
- package/dist/cmd/cloud/vector/index.js +21 -4
- package/dist/cmd/cloud/vector/index.js.map +1 -1
- package/dist/cmd/cloud/vector/list-namespaces.d.ts +3 -0
- package/dist/cmd/cloud/vector/list-namespaces.d.ts.map +1 -0
- package/dist/cmd/cloud/vector/list-namespaces.js +42 -0
- package/dist/cmd/cloud/vector/list-namespaces.js.map +1 -0
- package/dist/cmd/cloud/vector/stats.d.ts +3 -0
- package/dist/cmd/cloud/vector/stats.d.ts.map +1 -0
- package/dist/cmd/cloud/vector/stats.js +142 -0
- package/dist/cmd/cloud/vector/stats.js.map +1 -0
- package/dist/cmd/cloud/vector/upsert.d.ts +3 -0
- package/dist/cmd/cloud/vector/upsert.d.ts.map +1 -0
- package/dist/cmd/cloud/vector/upsert.js +192 -0
- package/dist/cmd/cloud/vector/upsert.js.map +1 -0
- package/dist/cmd/dev/file-watcher.d.ts.map +1 -1
- package/dist/cmd/dev/file-watcher.js +90 -31
- package/dist/cmd/dev/file-watcher.js.map +1 -1
- package/dist/cmd/dev/index.d.ts.map +1 -1
- package/dist/cmd/dev/index.js +213 -57
- package/dist/cmd/dev/index.js.map +1 -1
- package/dist/cmd/dev/skills.d.ts +10 -0
- package/dist/cmd/dev/skills.d.ts.map +1 -0
- package/dist/cmd/dev/skills.js +57 -0
- package/dist/cmd/dev/skills.js.map +1 -0
- package/dist/cmd/dev/sync.js +7 -7
- package/dist/cmd/dev/sync.js.map +1 -1
- package/dist/cmd/index.d.ts.map +1 -1
- package/dist/cmd/index.js +1 -0
- package/dist/cmd/index.js.map +1 -1
- package/dist/cmd/project/create.d.ts.map +1 -1
- package/dist/cmd/project/create.js +3 -0
- package/dist/cmd/project/create.js.map +1 -1
- package/dist/cmd/project/template-flow.d.ts +1 -0
- package/dist/cmd/project/template-flow.d.ts.map +1 -1
- package/dist/cmd/project/template-flow.js +30 -5
- package/dist/cmd/project/template-flow.js.map +1 -1
- package/dist/cmd/setup/index.d.ts.map +1 -1
- package/dist/cmd/setup/index.js +1 -0
- package/dist/cmd/setup/index.js.map +1 -1
- package/dist/cmd/upgrade/index.d.ts +15 -0
- package/dist/cmd/upgrade/index.d.ts.map +1 -1
- package/dist/cmd/upgrade/index.js +59 -4
- package/dist/cmd/upgrade/index.js.map +1 -1
- package/dist/domain.d.ts +45 -0
- package/dist/domain.d.ts.map +1 -0
- package/dist/domain.js +200 -0
- package/dist/domain.js.map +1 -0
- package/dist/schema-generator.d.ts +2 -0
- package/dist/schema-generator.d.ts.map +1 -1
- package/dist/schema-generator.js +18 -0
- package/dist/schema-generator.js.map +1 -1
- package/dist/steps.d.ts +1 -1
- package/dist/steps.d.ts.map +1 -1
- package/dist/steps.js +16 -5
- package/dist/steps.js.map +1 -1
- package/dist/tui/prompt.d.ts +1 -2
- package/dist/tui/prompt.d.ts.map +1 -1
- package/dist/tui/prompt.js +8 -4
- package/dist/tui/prompt.js.map +1 -1
- package/dist/tui.d.ts +16 -0
- package/dist/tui.d.ts.map +1 -1
- package/dist/tui.js +23 -2
- package/dist/tui.js.map +1 -1
- package/dist/types.d.ts +9 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +3 -3
- package/dist/types.js.map +1 -1
- package/package.json +4 -4
- package/src/cli.ts +47 -12
- package/src/cmd/ai/index.ts +6 -1
- package/src/cmd/ai/prompt/agent.md +306 -0
- package/src/cmd/ai/prompt/agent.ts +12 -322
- package/src/cmd/ai/prompt/api.md +360 -0
- package/src/cmd/ai/prompt/api.ts +13 -260
- package/src/cmd/ai/prompt/version.ts +61 -0
- package/src/cmd/ai/prompt/web.md +509 -0
- package/src/cmd/ai/prompt/web.ts +12 -282
- package/src/cmd/ai/skills/generate.ts +75 -0
- package/src/cmd/ai/skills/generator.ts +519 -0
- package/src/cmd/ai/skills/index.ts +23 -0
- package/src/cmd/auth/signup.ts +1 -0
- package/src/cmd/build/entry-generator.ts +43 -7
- package/src/cmd/build/vite/bun-dev-server.ts +57 -27
- package/src/cmd/build/vite/metadata-generator.ts +73 -7
- package/src/cmd/build/vite/prompt-generator.ts +169 -0
- package/src/cmd/build/vite/registry-generator.ts +33 -10
- package/src/cmd/build/vite/server-bundler.ts +53 -22
- package/src/cmd/build/vite/vite-asset-server-config.ts +5 -0
- package/src/cmd/build/vite/vite-builder.ts +107 -87
- package/src/cmd/cloud/deploy.ts +99 -31
- package/src/cmd/cloud/keyvalue/create-namespace.ts +3 -1
- package/src/cmd/cloud/keyvalue/delete-namespace.ts +3 -1
- package/src/cmd/cloud/keyvalue/delete.ts +3 -1
- package/src/cmd/cloud/keyvalue/set.ts +4 -2
- package/src/cmd/cloud/stream/get.ts +2 -9
- package/src/cmd/cloud/vector/delete-namespace.ts +89 -0
- package/src/cmd/cloud/vector/index.ts +21 -4
- package/src/cmd/cloud/vector/list-namespaces.ts +46 -0
- package/src/cmd/cloud/vector/stats.ts +160 -0
- package/src/cmd/cloud/vector/upsert.ts +216 -0
- package/src/cmd/dev/file-watcher.ts +101 -32
- package/src/cmd/dev/index.ts +304 -111
- package/src/cmd/dev/skills.ts +82 -0
- package/src/cmd/dev/sync.ts +7 -7
- package/src/cmd/index.ts +1 -0
- package/src/cmd/project/create.ts +3 -0
- package/src/cmd/project/template-flow.ts +37 -5
- package/src/cmd/setup/index.ts +1 -0
- package/src/cmd/upgrade/index.ts +68 -4
- package/src/domain.ts +273 -0
- package/src/schema-generator.ts +23 -0
- package/src/steps.ts +16 -5
- package/src/tui/prompt.ts +11 -5
- package/src/tui.ts +21 -2
- package/src/types/md.d.ts +8 -0
- package/src/types.ts +12 -3
- package/dist/cmd/cloud/domain.d.ts +0 -17
- package/dist/cmd/cloud/domain.d.ts.map +0 -1
- package/dist/cmd/cloud/domain.js +0 -79
- package/dist/cmd/cloud/domain.js.map +0 -1
- package/src/cmd/cloud/domain.ts +0 -100
package/src/tui.ts
CHANGED
|
@@ -52,7 +52,7 @@ export type {
|
|
|
52
52
|
} from './tui/prompt';
|
|
53
53
|
|
|
54
54
|
// Icons
|
|
55
|
-
const ICONS = {
|
|
55
|
+
export const ICONS = {
|
|
56
56
|
success: '✓',
|
|
57
57
|
error: '✗',
|
|
58
58
|
warning: '⚠',
|
|
@@ -831,7 +831,7 @@ function endsWithReset(str: string): boolean {
|
|
|
831
831
|
* Handles explicit newlines and word wrapping
|
|
832
832
|
* Preserves ANSI color codes across wrapped lines
|
|
833
833
|
*/
|
|
834
|
-
function wrapText(text: string, maxWidth: number): string[] {
|
|
834
|
+
export function wrapText(text: string, maxWidth: number): string[] {
|
|
835
835
|
const allLines: string[] = [];
|
|
836
836
|
|
|
837
837
|
// First split by explicit newlines
|
|
@@ -1812,3 +1812,22 @@ export function table<T extends Record<string, unknown>>(
|
|
|
1812
1812
|
console.log(output);
|
|
1813
1813
|
}
|
|
1814
1814
|
}
|
|
1815
|
+
|
|
1816
|
+
export function formatBytes(bytes: number): string {
|
|
1817
|
+
if (bytes === 0) return '0 B';
|
|
1818
|
+
if (bytes < 1024) return `${bytes} B`;
|
|
1819
|
+
if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(2)} KB`;
|
|
1820
|
+
if (bytes < 1024 * 1024 * 1024) return `${(bytes / (1024 * 1024)).toFixed(2)} MB`;
|
|
1821
|
+
return `${(bytes / (1024 * 1024 * 1024)).toFixed(2)} GB`;
|
|
1822
|
+
}
|
|
1823
|
+
|
|
1824
|
+
export function clearLastLines(n: number, s?: (v: string) => void) {
|
|
1825
|
+
const x = s ?? ((v: string) => process.stdout.write(v));
|
|
1826
|
+
for (let i = 0; i < n; i++) {
|
|
1827
|
+
x('\x1b[2K'); // clear line
|
|
1828
|
+
x('\x1b[0G'); // cursor to col 0
|
|
1829
|
+
if (i < n - 1) {
|
|
1830
|
+
x('\x1b[1A'); // move up
|
|
1831
|
+
}
|
|
1832
|
+
}
|
|
1833
|
+
}
|
package/src/types.ts
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import type { Logger } from '@agentuity/core';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
DeploymentConfig,
|
|
4
|
+
BuildMetadataSchema as ServerBuildMetadataSchema,
|
|
5
|
+
} from '@agentuity/server';
|
|
3
6
|
import type * as z from 'zod';
|
|
4
7
|
import { z as zod } from 'zod';
|
|
5
8
|
import type { APIClient } from './api';
|
|
6
9
|
|
|
7
|
-
export {
|
|
10
|
+
export { DeploymentConfig };
|
|
8
11
|
|
|
9
12
|
export type { Logger };
|
|
10
13
|
|
|
@@ -369,6 +372,7 @@ export function createSubcommand<
|
|
|
369
372
|
prerequisites?: string[];
|
|
370
373
|
pagination?: PaginationInfo;
|
|
371
374
|
tags?: string[];
|
|
375
|
+
skipSkill?: boolean;
|
|
372
376
|
webUrl?: WebUrl<R, O, A, Op>;
|
|
373
377
|
schema?: A extends z.ZodType
|
|
374
378
|
? Op extends z.ZodType
|
|
@@ -413,6 +417,7 @@ export function createCommand<
|
|
|
413
417
|
prerequisites?: string[];
|
|
414
418
|
pagination?: PaginationInfo;
|
|
415
419
|
tags?: string[];
|
|
420
|
+
skipSkill?: boolean;
|
|
416
421
|
webUrl?: WebUrl<R, O, A, Op>;
|
|
417
422
|
schema?: A extends z.ZodType
|
|
418
423
|
? Op extends z.ZodType
|
|
@@ -445,6 +450,7 @@ type CommandDefBase =
|
|
|
445
450
|
banner?: boolean;
|
|
446
451
|
executable?: boolean;
|
|
447
452
|
skipUpgradeCheck?: boolean;
|
|
453
|
+
skipSkill?: boolean;
|
|
448
454
|
examples?: CommandExample[];
|
|
449
455
|
idempotent?: boolean;
|
|
450
456
|
prerequisites?: string[];
|
|
@@ -462,6 +468,7 @@ type CommandDefBase =
|
|
|
462
468
|
banner?: boolean;
|
|
463
469
|
executable?: boolean;
|
|
464
470
|
skipUpgradeCheck?: boolean;
|
|
471
|
+
skipSkill?: boolean;
|
|
465
472
|
examples?: CommandExample[];
|
|
466
473
|
idempotent?: boolean;
|
|
467
474
|
prerequisites?: string[];
|
|
@@ -480,6 +487,7 @@ type SubcommandDefBase =
|
|
|
480
487
|
aliases?: string[];
|
|
481
488
|
toplevel?: boolean;
|
|
482
489
|
banner?: boolean;
|
|
490
|
+
skipSkill?: boolean;
|
|
483
491
|
examples?: CommandExample[];
|
|
484
492
|
idempotent?: boolean;
|
|
485
493
|
prerequisites?: string[];
|
|
@@ -496,6 +504,7 @@ type SubcommandDefBase =
|
|
|
496
504
|
aliases?: string[];
|
|
497
505
|
toplevel?: boolean;
|
|
498
506
|
banner?: boolean;
|
|
507
|
+
skipSkill?: boolean;
|
|
499
508
|
examples?: CommandExample[];
|
|
500
509
|
idempotent?: boolean;
|
|
501
510
|
prerequisites?: string[];
|
|
@@ -542,7 +551,7 @@ export const ProjectSchema = zod.object({
|
|
|
542
551
|
projectId: zod.string().describe('the project id'),
|
|
543
552
|
orgId: zod.string().describe('the organization id'),
|
|
544
553
|
region: zod.string().describe('the region identifier that the project is deployed into'),
|
|
545
|
-
deployment:
|
|
554
|
+
deployment: DeploymentConfig.optional().describe('the deployment configuration'),
|
|
546
555
|
});
|
|
547
556
|
|
|
548
557
|
export const BuildMetadataSchema = ServerBuildMetadataSchema;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { Config } from '../../types';
|
|
2
|
-
export interface DNSResult {
|
|
3
|
-
domain: string;
|
|
4
|
-
success: boolean;
|
|
5
|
-
message?: string;
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* This function will check for each of the custom domains and make sure they are correctly
|
|
9
|
-
* configured in DNS
|
|
10
|
-
*
|
|
11
|
-
* @param projectId the project id
|
|
12
|
-
* @param config Config
|
|
13
|
-
* @param domains array of domains to check
|
|
14
|
-
* @returns
|
|
15
|
-
*/
|
|
16
|
-
export declare function checkCustomDomainForDNS(projectId: string, domains: string[], config?: Config | null): Promise<DNSResult[]>;
|
|
17
|
-
//# sourceMappingURL=domain.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../../../src/cmd/cloud/domain.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C,MAAM,WAAW,SAAS;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AASD;;;;;;;;GAQG;AACH,wBAAsB,uBAAuB,CAC5C,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EAAE,EACjB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GACpB,OAAO,CAAC,SAAS,EAAE,CAAC,CAqEtB"}
|
package/dist/cmd/cloud/domain.js
DELETED
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import * as dns from 'node:dns';
|
|
2
|
-
import { StructuredError } from '@agentuity/core';
|
|
3
|
-
const timeoutMs = 5000;
|
|
4
|
-
const DNSTimeoutError = StructuredError('DNSTimeoutError', `DNS lookup timed out after ${timeoutMs}ms`);
|
|
5
|
-
/**
|
|
6
|
-
* This function will check for each of the custom domains and make sure they are correctly
|
|
7
|
-
* configured in DNS
|
|
8
|
-
*
|
|
9
|
-
* @param projectId the project id
|
|
10
|
-
* @param config Config
|
|
11
|
-
* @param domains array of domains to check
|
|
12
|
-
* @returns
|
|
13
|
-
*/
|
|
14
|
-
export async function checkCustomDomainForDNS(projectId, domains, config) {
|
|
15
|
-
const suffix = config?.overrides?.api_url?.includes('agentuity.io')
|
|
16
|
-
? 'agentuity.io'
|
|
17
|
-
: 'agentuity.cloud';
|
|
18
|
-
// FIXME: update to add the region into this
|
|
19
|
-
const id = Bun.hash.xxHash64(projectId).toString(16);
|
|
20
|
-
const proxy = `p${id}.${suffix}`;
|
|
21
|
-
return Promise.all(domains.map(async (domain) => {
|
|
22
|
-
try {
|
|
23
|
-
let timeoutId;
|
|
24
|
-
const timeoutPromise = new Promise((_, reject) => {
|
|
25
|
-
timeoutId = setTimeout(() => {
|
|
26
|
-
reject(new DNSTimeoutError());
|
|
27
|
-
}, timeoutMs);
|
|
28
|
-
});
|
|
29
|
-
const result = await Promise.race([
|
|
30
|
-
dns.promises.resolveCname(domain),
|
|
31
|
-
timeoutPromise,
|
|
32
|
-
]).finally(() => {
|
|
33
|
-
if (timeoutId)
|
|
34
|
-
clearTimeout(timeoutId);
|
|
35
|
-
});
|
|
36
|
-
if (result.length) {
|
|
37
|
-
if (result[0] === proxy) {
|
|
38
|
-
return {
|
|
39
|
-
domain,
|
|
40
|
-
success: true,
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
return {
|
|
44
|
-
domain,
|
|
45
|
-
success: false,
|
|
46
|
-
message: `DNS record for ${domain} must have a CNAME record with the value: ${proxy}`,
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
catch (ex) {
|
|
51
|
-
const _ex = ex;
|
|
52
|
-
if (_ex.message?.includes('timed out')) {
|
|
53
|
-
return {
|
|
54
|
-
domain,
|
|
55
|
-
success: false,
|
|
56
|
-
message: `DNS lookup for ${domain} timed out after 5 seconds. Please check your DNS configuration.`,
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
if (_ex.code !== 'ENOTFOUND') {
|
|
60
|
-
const errMsg = ex instanceof Error
|
|
61
|
-
? ex.message
|
|
62
|
-
: typeof ex === 'string'
|
|
63
|
-
? ex
|
|
64
|
-
: JSON.stringify(ex);
|
|
65
|
-
return {
|
|
66
|
-
domain,
|
|
67
|
-
success: false,
|
|
68
|
-
message: `DNS returned an error resolving ${domain}: ${errMsg}`,
|
|
69
|
-
};
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
return {
|
|
73
|
-
domain,
|
|
74
|
-
success: false,
|
|
75
|
-
message: `To enable the custom domain ${domain}, create a CNAME DNS record with the value: ${proxy} and a TTL of 600`,
|
|
76
|
-
};
|
|
77
|
-
}));
|
|
78
|
-
}
|
|
79
|
-
//# sourceMappingURL=domain.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"domain.js","sourceRoot":"","sources":["../../../src/cmd/cloud/domain.ts"],"names":[],"mappings":"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"}
|
package/src/cmd/cloud/domain.ts
DELETED
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
import * as dns from 'node:dns';
|
|
2
|
-
import type { Config } from '../../types';
|
|
3
|
-
import { StructuredError } from '@agentuity/core';
|
|
4
|
-
|
|
5
|
-
export interface DNSResult {
|
|
6
|
-
domain: string;
|
|
7
|
-
success: boolean;
|
|
8
|
-
message?: string;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
const timeoutMs = 5000;
|
|
12
|
-
|
|
13
|
-
const DNSTimeoutError = StructuredError(
|
|
14
|
-
'DNSTimeoutError',
|
|
15
|
-
`DNS lookup timed out after ${timeoutMs}ms`
|
|
16
|
-
);
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* This function will check for each of the custom domains and make sure they are correctly
|
|
20
|
-
* configured in DNS
|
|
21
|
-
*
|
|
22
|
-
* @param projectId the project id
|
|
23
|
-
* @param config Config
|
|
24
|
-
* @param domains array of domains to check
|
|
25
|
-
* @returns
|
|
26
|
-
*/
|
|
27
|
-
export async function checkCustomDomainForDNS(
|
|
28
|
-
projectId: string,
|
|
29
|
-
domains: string[],
|
|
30
|
-
config?: Config | null
|
|
31
|
-
): Promise<DNSResult[]> {
|
|
32
|
-
const suffix = config?.overrides?.api_url?.includes('agentuity.io')
|
|
33
|
-
? 'agentuity.io'
|
|
34
|
-
: 'agentuity.cloud';
|
|
35
|
-
// FIXME: update to add the region into this
|
|
36
|
-
const id = Bun.hash.xxHash64(projectId).toString(16);
|
|
37
|
-
const proxy = `p${id}.${suffix}`;
|
|
38
|
-
|
|
39
|
-
return Promise.all(
|
|
40
|
-
domains.map(async (domain) => {
|
|
41
|
-
try {
|
|
42
|
-
let timeoutId: Timer | undefined;
|
|
43
|
-
|
|
44
|
-
const timeoutPromise = new Promise<never>((_, reject) => {
|
|
45
|
-
timeoutId = setTimeout(() => {
|
|
46
|
-
reject(new DNSTimeoutError());
|
|
47
|
-
}, timeoutMs);
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
const result = await Promise.race([
|
|
51
|
-
dns.promises.resolveCname(domain),
|
|
52
|
-
timeoutPromise,
|
|
53
|
-
]).finally(() => {
|
|
54
|
-
if (timeoutId) clearTimeout(timeoutId);
|
|
55
|
-
});
|
|
56
|
-
|
|
57
|
-
if (result.length) {
|
|
58
|
-
if (result[0] === proxy) {
|
|
59
|
-
return {
|
|
60
|
-
domain,
|
|
61
|
-
success: true,
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
return {
|
|
65
|
-
domain,
|
|
66
|
-
success: false,
|
|
67
|
-
message: `DNS record for ${domain} must have a CNAME record with the value: ${proxy}`,
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
} catch (ex) {
|
|
71
|
-
const _ex = ex as { code: string; message?: string };
|
|
72
|
-
if (_ex.message?.includes('timed out')) {
|
|
73
|
-
return {
|
|
74
|
-
domain,
|
|
75
|
-
success: false,
|
|
76
|
-
message: `DNS lookup for ${domain} timed out after 5 seconds. Please check your DNS configuration.`,
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
if (_ex.code !== 'ENOTFOUND') {
|
|
80
|
-
const errMsg =
|
|
81
|
-
ex instanceof Error
|
|
82
|
-
? ex.message
|
|
83
|
-
: typeof ex === 'string'
|
|
84
|
-
? ex
|
|
85
|
-
: JSON.stringify(ex);
|
|
86
|
-
return {
|
|
87
|
-
domain,
|
|
88
|
-
success: false,
|
|
89
|
-
message: `DNS returned an error resolving ${domain}: ${errMsg}`,
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
return {
|
|
94
|
-
domain,
|
|
95
|
-
success: false,
|
|
96
|
-
message: `To enable the custom domain ${domain}, create a CNAME DNS record with the value: ${proxy} and a TTL of 600`,
|
|
97
|
-
};
|
|
98
|
-
})
|
|
99
|
-
);
|
|
100
|
-
}
|