@agentuity/cli 0.0.101 → 0.0.103
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 +21 -14
- 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 +30 -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 +80 -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 +244 -64
- 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 +31 -28
- 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 +103 -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 +343 -115
- 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
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Prompt file versioning utilities.
|
|
3
|
+
*
|
|
4
|
+
* Hash format at end of file: <!-- prompt_hash: [hash] -->
|
|
5
|
+
*
|
|
6
|
+
* - hash: SHA256 of file content (excluding the hash line)
|
|
7
|
+
*
|
|
8
|
+
* This allows detecting if the source template has changed.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Compute SHA256 hash of content using Bun's built-in hasher.
|
|
12
|
+
*/
|
|
13
|
+
export declare function computeHash(content: string): string;
|
|
14
|
+
/**
|
|
15
|
+
* Strip the hash comment from content.
|
|
16
|
+
*/
|
|
17
|
+
export declare function stripHashComment(content: string): string;
|
|
18
|
+
/**
|
|
19
|
+
* Extract hash from file content.
|
|
20
|
+
* Returns null if no hash comment found.
|
|
21
|
+
*/
|
|
22
|
+
export declare function extractHash(content: string): string | null;
|
|
23
|
+
/**
|
|
24
|
+
* Generate content with hash comment appended.
|
|
25
|
+
*/
|
|
26
|
+
export declare function appendHashComment(content: string): string;
|
|
27
|
+
/**
|
|
28
|
+
* Check if a file needs to be updated based on hash comparison.
|
|
29
|
+
*
|
|
30
|
+
* @param fileContent - Current file content (with hash comment)
|
|
31
|
+
* @param sourceContent - Source template content (without hash comment)
|
|
32
|
+
* @returns true if file needs to be updated (hashes differ)
|
|
33
|
+
*/
|
|
34
|
+
export declare function needsUpdate(fileContent: string, sourceContent: string): boolean;
|
|
35
|
+
//# sourceMappingURL=version.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../../src/cmd/ai/prompt/version.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAInD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG1D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGzD;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAQ/E"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Prompt file versioning utilities.
|
|
3
|
+
*
|
|
4
|
+
* Hash format at end of file: <!-- prompt_hash: [hash] -->
|
|
5
|
+
*
|
|
6
|
+
* - hash: SHA256 of file content (excluding the hash line)
|
|
7
|
+
*
|
|
8
|
+
* This allows detecting if the source template has changed.
|
|
9
|
+
*/
|
|
10
|
+
const HASH_REGEX = /\n?<!-- prompt_hash: ([a-f0-9]+) -->$/;
|
|
11
|
+
/**
|
|
12
|
+
* Compute SHA256 hash of content using Bun's built-in hasher.
|
|
13
|
+
*/
|
|
14
|
+
export function computeHash(content) {
|
|
15
|
+
const hasher = new Bun.CryptoHasher('sha256');
|
|
16
|
+
hasher.update(content);
|
|
17
|
+
return hasher.digest().toHex();
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Strip the hash comment from content.
|
|
21
|
+
*/
|
|
22
|
+
export function stripHashComment(content) {
|
|
23
|
+
return content.replace(HASH_REGEX, '');
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Extract hash from file content.
|
|
27
|
+
* Returns null if no hash comment found.
|
|
28
|
+
*/
|
|
29
|
+
export function extractHash(content) {
|
|
30
|
+
const match = content.match(HASH_REGEX);
|
|
31
|
+
return match ? match[1] : null;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Generate content with hash comment appended.
|
|
35
|
+
*/
|
|
36
|
+
export function appendHashComment(content) {
|
|
37
|
+
const hash = computeHash(content);
|
|
38
|
+
return `${content}\n<!-- prompt_hash: ${hash} -->`;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Check if a file needs to be updated based on hash comparison.
|
|
42
|
+
*
|
|
43
|
+
* @param fileContent - Current file content (with hash comment)
|
|
44
|
+
* @param sourceContent - Source template content (without hash comment)
|
|
45
|
+
* @returns true if file needs to be updated (hashes differ)
|
|
46
|
+
*/
|
|
47
|
+
export function needsUpdate(fileContent, sourceContent) {
|
|
48
|
+
const fileHash = extractHash(fileContent);
|
|
49
|
+
if (!fileHash) {
|
|
50
|
+
return true;
|
|
51
|
+
}
|
|
52
|
+
const sourceHash = computeHash(sourceContent);
|
|
53
|
+
return fileHash !== sourceHash;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../../../src/cmd/ai/prompt/version.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,UAAU,GAAG,uCAAuC,CAAC;AAE3D;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe;IAC1C,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACvB,OAAO,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC/C,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AACxC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe;IAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACxC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAChD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAClC,OAAO,GAAG,OAAO,uBAAuB,IAAI,MAAM,CAAC;AACpD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,WAAmB,EAAE,aAAqB;IACrE,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;IAC1C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,UAAU,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;IAC9C,OAAO,QAAQ,KAAK,UAAU,CAAC;AAChC,CAAC"}
|
|
@@ -1,3 +1,10 @@
|
|
|
1
1
|
export declare const webSubcommand: import("../../..").SubcommandDefinition;
|
|
2
|
+
/**
|
|
3
|
+
* Get the raw prompt content without hash.
|
|
4
|
+
*/
|
|
5
|
+
export declare function getPromptContent(): string;
|
|
6
|
+
/**
|
|
7
|
+
* Generate the web prompt with hash comment.
|
|
8
|
+
*/
|
|
2
9
|
export declare function generateLLMPrompt(): string;
|
|
3
10
|
//# sourceMappingURL=web.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../../../src/cmd/ai/prompt/web.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../../../src/cmd/ai/prompt/web.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,aAAa,yCAUxB,CAAC;AAEH;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { createSubcommand } from '../../../types';
|
|
2
2
|
import { getCommand } from '../../../command-prefix';
|
|
3
|
+
import { appendHashComment } from './version';
|
|
4
|
+
import webPromptContent from './web.md' with { type: 'text' };
|
|
3
5
|
export const webSubcommand = createSubcommand({
|
|
4
6
|
name: 'web',
|
|
5
7
|
description: 'Generate a comprehensive prompt for LLM agents for the web folder',
|
|
@@ -11,289 +13,16 @@ export const webSubcommand = createSubcommand({
|
|
|
11
13
|
console.log(prompt);
|
|
12
14
|
},
|
|
13
15
|
});
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
## Directory Structure
|
|
20
|
-
|
|
21
|
-
Required files:
|
|
22
|
-
- **App.tsx** (required) - Main React application component
|
|
23
|
-
- **frontend.tsx** (required) - Frontend entry point with client-side rendering
|
|
24
|
-
- **index.html** (required) - HTML template
|
|
25
|
-
- **public/** (optional) - Static assets (images, CSS, JS files)
|
|
26
|
-
|
|
27
|
-
Example structure:
|
|
28
|
-
\`\`\`
|
|
29
|
-
src/web/
|
|
30
|
-
├── App.tsx
|
|
31
|
-
├── frontend.tsx
|
|
32
|
-
├── index.html
|
|
33
|
-
└── public/
|
|
34
|
-
├── styles.css
|
|
35
|
-
├── logo.svg
|
|
36
|
-
└── script.js
|
|
37
|
-
\`\`\`
|
|
38
|
-
|
|
39
|
-
## Creating the Web App
|
|
40
|
-
|
|
41
|
-
### App.tsx - Main Component
|
|
42
|
-
|
|
43
|
-
\`\`\`typescript
|
|
44
|
-
import { AgentuityProvider, useAgent } from '@agentuity/react';
|
|
45
|
-
import { useState } from 'react';
|
|
46
|
-
|
|
47
|
-
export function App() {
|
|
48
|
-
const [name, setName] = useState('World');
|
|
49
|
-
const { run, running, data: greeting } = useAgent('hello');
|
|
50
|
-
|
|
51
|
-
return (
|
|
52
|
-
<div style={{ fontFamily: 'sans-serif', padding: '2rem' }}>
|
|
53
|
-
<AgentuityProvider>
|
|
54
|
-
<h1>Welcome to Agentuity</h1>
|
|
55
|
-
|
|
56
|
-
<input
|
|
57
|
-
type="text"
|
|
58
|
-
value={name}
|
|
59
|
-
onChange={(e) => setName(e.target.value)}
|
|
60
|
-
disabled={running}
|
|
61
|
-
/>
|
|
62
|
-
|
|
63
|
-
<button
|
|
64
|
-
onClick={() => run({ name })}
|
|
65
|
-
disabled={running}
|
|
66
|
-
>
|
|
67
|
-
{running ? 'Running...' : 'Say Hello'}
|
|
68
|
-
</button>
|
|
69
|
-
|
|
70
|
-
<div>{greeting ?? 'Waiting for response'}</div>
|
|
71
|
-
</AgentuityProvider>
|
|
72
|
-
</div>
|
|
73
|
-
);
|
|
74
|
-
}
|
|
75
|
-
\`\`\`
|
|
76
|
-
|
|
77
|
-
### frontend.tsx - Entry Point
|
|
78
|
-
|
|
79
|
-
\`\`\`typescript
|
|
80
|
-
import { createRoot } from 'react-dom/client';
|
|
81
|
-
import { App } from './App';
|
|
82
|
-
|
|
83
|
-
const root = document.getElementById('root');
|
|
84
|
-
if (!root) throw new Error('Root element not found');
|
|
85
|
-
|
|
86
|
-
createRoot(root).render(<App />);
|
|
87
|
-
\`\`\`
|
|
88
|
-
|
|
89
|
-
### index.html - HTML Template
|
|
90
|
-
|
|
91
|
-
\`\`\`html
|
|
92
|
-
<!DOCTYPE html>
|
|
93
|
-
<html lang="en">
|
|
94
|
-
<head>
|
|
95
|
-
<meta charset="UTF-8">
|
|
96
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
97
|
-
<title>My Agentuity App</title>
|
|
98
|
-
</head>
|
|
99
|
-
<body>
|
|
100
|
-
<div id="root"></div>
|
|
101
|
-
<script type="module" src="/web/frontend.tsx"></script>
|
|
102
|
-
</body>
|
|
103
|
-
</html>
|
|
104
|
-
\`\`\`
|
|
105
|
-
|
|
106
|
-
## React Hooks
|
|
107
|
-
|
|
108
|
-
### useAgent - Call Agents
|
|
109
|
-
|
|
110
|
-
\`\`\`typescript
|
|
111
|
-
import { useAgent } from '@agentuity/react';
|
|
112
|
-
|
|
113
|
-
function MyComponent() {
|
|
114
|
-
const { run, running, data, error } = useAgent('myAgent');
|
|
115
|
-
|
|
116
|
-
return (
|
|
117
|
-
<button onClick={() => run({ input: 'value' })}>
|
|
118
|
-
{running ? 'Running...' : 'Call Agent'}
|
|
119
|
-
</button>
|
|
120
|
-
);
|
|
121
|
-
}
|
|
122
|
-
\`\`\`
|
|
123
|
-
|
|
124
|
-
### useAgentWebsocket - WebSocket Connection
|
|
125
|
-
|
|
126
|
-
\`\`\`typescript
|
|
127
|
-
import { useAgentWebsocket } from '@agentuity/react';
|
|
128
|
-
|
|
129
|
-
function MyComponent() {
|
|
130
|
-
const { connected, send, data } = useAgentWebsocket('websocket');
|
|
131
|
-
|
|
132
|
-
return (
|
|
133
|
-
<div>
|
|
134
|
-
<p>Status: {connected ? 'Connected' : 'Disconnected'}</p>
|
|
135
|
-
<button onClick={() => send('Hello')}>Send Message</button>
|
|
136
|
-
<p>Received: {data}</p>
|
|
137
|
-
</div>
|
|
138
|
-
);
|
|
139
|
-
}
|
|
140
|
-
\`\`\`
|
|
141
|
-
|
|
142
|
-
### useAgentEventStream - Server-Sent Events
|
|
143
|
-
|
|
144
|
-
\`\`\`typescript
|
|
145
|
-
import { useAgentEventStream } from '@agentuity/react';
|
|
146
|
-
|
|
147
|
-
function MyComponent() {
|
|
148
|
-
const { connected, data, error } = useAgentEventStream('sse');
|
|
149
|
-
|
|
150
|
-
return (
|
|
151
|
-
<div>
|
|
152
|
-
<p>Connected: {connected ? 'Yes' : 'No'}</p>
|
|
153
|
-
{error && <p>Error: {error.message}</p>}
|
|
154
|
-
<p>Data: {data}</p>
|
|
155
|
-
</div>
|
|
156
|
-
);
|
|
16
|
+
/**
|
|
17
|
+
* Get the raw prompt content without hash.
|
|
18
|
+
*/
|
|
19
|
+
export function getPromptContent() {
|
|
20
|
+
return webPromptContent;
|
|
157
21
|
}
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
import { AgentuityProvider, useAgent, useAgentWebsocket } from '@agentuity/react';
|
|
164
|
-
import { useEffect, useState } from 'react';
|
|
165
|
-
|
|
166
|
-
export function App() {
|
|
167
|
-
const [count, setCount] = useState(0);
|
|
168
|
-
const { run, data: agentResult } = useAgent('simple');
|
|
169
|
-
const { connected, send, data: wsMessage } = useAgentWebsocket('websocket');
|
|
170
|
-
|
|
171
|
-
useEffect(() => {
|
|
172
|
-
// Send WebSocket message every second
|
|
173
|
-
const interval = setInterval(() => {
|
|
174
|
-
send(\`Message at \${new Date().toISOString()}\`);
|
|
175
|
-
}, 1000);
|
|
176
|
-
return () => clearInterval(interval);
|
|
177
|
-
}, [send]);
|
|
178
|
-
|
|
179
|
-
return (
|
|
180
|
-
<div style={{ fontFamily: 'sans-serif', padding: '2rem' }}>
|
|
181
|
-
<AgentuityProvider>
|
|
182
|
-
<h1>My Agentuity App</h1>
|
|
183
|
-
|
|
184
|
-
<div>
|
|
185
|
-
<p>Count: {count}</p>
|
|
186
|
-
<button onClick={() => setCount(c => c + 1)}>
|
|
187
|
-
Increment
|
|
188
|
-
</button>
|
|
189
|
-
</div>
|
|
190
|
-
|
|
191
|
-
<div>
|
|
192
|
-
<button onClick={() => run({ name: 'Jeff', age: 30 })}>
|
|
193
|
-
Call Agent
|
|
194
|
-
</button>
|
|
195
|
-
<p>{agentResult}</p>
|
|
196
|
-
</div>
|
|
197
|
-
|
|
198
|
-
<div>
|
|
199
|
-
<strong>WebSocket:</strong>
|
|
200
|
-
{connected ? JSON.stringify(wsMessage) : 'Not connected'}
|
|
201
|
-
</div>
|
|
202
|
-
</AgentuityProvider>
|
|
203
|
-
</div>
|
|
204
|
-
);
|
|
205
|
-
}
|
|
206
|
-
\`\`\`
|
|
207
|
-
|
|
208
|
-
## Static Assets
|
|
209
|
-
|
|
210
|
-
Place static files in the **public/** folder:
|
|
211
|
-
|
|
212
|
-
\`\`\`
|
|
213
|
-
src/web/public/
|
|
214
|
-
├── logo.svg
|
|
215
|
-
├── styles.css
|
|
216
|
-
└── script.js
|
|
217
|
-
\`\`\`
|
|
218
|
-
|
|
219
|
-
Reference them in your HTML or components:
|
|
220
|
-
|
|
221
|
-
\`\`\`html
|
|
222
|
-
<!-- In index.html -->
|
|
223
|
-
<link rel="stylesheet" href="/public/styles.css">
|
|
224
|
-
<script src="/public/script.js"></script>
|
|
225
|
-
\`\`\`
|
|
226
|
-
|
|
227
|
-
\`\`\`typescript
|
|
228
|
-
// In React components
|
|
229
|
-
<img src="/public/logo.svg" alt="Logo" />
|
|
230
|
-
\`\`\`
|
|
231
|
-
|
|
232
|
-
## Styling
|
|
233
|
-
|
|
234
|
-
### Inline Styles
|
|
235
|
-
|
|
236
|
-
\`\`\`typescript
|
|
237
|
-
<div style={{ backgroundColor: '#000', color: '#fff', padding: '1rem' }}>
|
|
238
|
-
Styled content
|
|
239
|
-
</div>
|
|
240
|
-
\`\`\`
|
|
241
|
-
|
|
242
|
-
### CSS Files
|
|
243
|
-
|
|
244
|
-
Create \`public/styles.css\`:
|
|
245
|
-
|
|
246
|
-
\`\`\`css
|
|
247
|
-
body {
|
|
248
|
-
background-color: #09090b;
|
|
249
|
-
color: #fff;
|
|
250
|
-
font-family: sans-serif;
|
|
251
|
-
}
|
|
252
|
-
\`\`\`
|
|
253
|
-
|
|
254
|
-
Import in \`index.html\`:
|
|
255
|
-
|
|
256
|
-
\`\`\`html
|
|
257
|
-
<link rel="stylesheet" href="/public/styles.css">
|
|
258
|
-
\`\`\`
|
|
259
|
-
|
|
260
|
-
### Style Tag in Component
|
|
261
|
-
|
|
262
|
-
\`\`\`typescript
|
|
263
|
-
<div>
|
|
264
|
-
<button className="glow-btn">Click me</button>
|
|
265
|
-
<style>{\`
|
|
266
|
-
.glow-btn {
|
|
267
|
-
background: linear-gradient(to right, #155e75, #3b82f6);
|
|
268
|
-
border: none;
|
|
269
|
-
padding: 0.75rem 1.5rem;
|
|
270
|
-
color: white;
|
|
271
|
-
cursor: pointer;
|
|
272
|
-
}
|
|
273
|
-
\`}</style>
|
|
274
|
-
</div>
|
|
275
|
-
\`\`\`
|
|
276
|
-
|
|
277
|
-
## Best Practices
|
|
278
|
-
|
|
279
|
-
- Wrap your app with **AgentuityProvider** for hooks to work
|
|
280
|
-
- Use **useAgent** for one-off agent calls
|
|
281
|
-
- Use **useAgentWebsocket** for bidirectional real-time communication
|
|
282
|
-
- Use **useAgentEventStream** for server-to-client streaming
|
|
283
|
-
- Place reusable components in separate files
|
|
284
|
-
- Keep static assets in the **public/** folder
|
|
285
|
-
- Use TypeScript for type safety
|
|
286
|
-
- Handle loading and error states in UI
|
|
287
|
-
|
|
288
|
-
## Rules
|
|
289
|
-
|
|
290
|
-
- **App.tsx** must export a function named \`App\`
|
|
291
|
-
- **frontend.tsx** must render the \`App\` component to \`#root\`
|
|
292
|
-
- **index.html** must have a \`<div id="root"></div>\`
|
|
293
|
-
- All agents are accessible via \`useAgent('agentName')\`
|
|
294
|
-
- The web app is served at \`/\` by default
|
|
295
|
-
- Static files in \`public/\` are served at \`/public/*\`
|
|
296
|
-
- Module script tag: \`<script type="module" src="/web/frontend.tsx"></script>\`
|
|
297
|
-
`;
|
|
22
|
+
/**
|
|
23
|
+
* Generate the web prompt with hash comment.
|
|
24
|
+
*/
|
|
25
|
+
export function generateLLMPrompt() {
|
|
26
|
+
return appendHashComment(webPromptContent);
|
|
298
27
|
}
|
|
299
28
|
//# sourceMappingURL=web.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../../../src/cmd/ai/prompt/web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../../../src/cmd/ai/prompt/web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,gBAAgB,MAAM,UAAU,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAE9D,MAAM,CAAC,MAAM,aAAa,GAAG,gBAAgB,CAAC;IAC7C,IAAI,EAAE,KAAK;IACX,WAAW,EAAE,mEAAmE;IAChF,IAAI,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,IAAI;IAChB,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACjF,KAAK,CAAC,OAAO,CAAC,IAAoB;QACjC,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;CACD,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC/B,OAAO,gBAAgB,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAChC,OAAO,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;AAC5C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../../src/cmd/ai/skills/generate.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,kBAAkB,yCA0D7B,CAAC;AAEH,eAAe,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { createSubcommand } from '../../../types';
|
|
3
|
+
import { getCommand } from '../../../command-prefix';
|
|
4
|
+
import { ErrorCode } from '../../../errors';
|
|
5
|
+
import * as tui from '../../../tui';
|
|
6
|
+
import * as path from 'node:path';
|
|
7
|
+
import { generateSkills, collectSkillsForPreview } from './generator';
|
|
8
|
+
const OptionsSchema = z.object({
|
|
9
|
+
output: z.string().describe('Output directory for generated skills'),
|
|
10
|
+
includeHidden: z.boolean().default(false).describe('Include hidden commands'),
|
|
11
|
+
});
|
|
12
|
+
export const generateSubcommand = createSubcommand({
|
|
13
|
+
name: 'generate',
|
|
14
|
+
description: 'Generate Agent Skills from CLI schema',
|
|
15
|
+
tags: ['fast'],
|
|
16
|
+
idempotent: true,
|
|
17
|
+
examples: [
|
|
18
|
+
{
|
|
19
|
+
command: getCommand('ai skills generate --output ./skills'),
|
|
20
|
+
description: 'Generate skills to a directory',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
command: getCommand('--dry-run ai skills generate --output ./skills'),
|
|
24
|
+
description: 'Preview without writing files',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
command: getCommand('ai skills generate --output ./skills --include-hidden'),
|
|
28
|
+
description: 'Include hidden commands',
|
|
29
|
+
},
|
|
30
|
+
],
|
|
31
|
+
schema: {
|
|
32
|
+
options: OptionsSchema,
|
|
33
|
+
},
|
|
34
|
+
async handler(ctx) {
|
|
35
|
+
const { logger, opts, options } = ctx;
|
|
36
|
+
const { output, includeHidden } = opts;
|
|
37
|
+
const dryRun = options.dryRun === true;
|
|
38
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
39
|
+
const schema = global.__CLI_SCHEMA__;
|
|
40
|
+
if (!schema) {
|
|
41
|
+
return logger.fatal('Schema not available. This is a CLI bug.', ErrorCode.INTERNAL_ERROR);
|
|
42
|
+
}
|
|
43
|
+
const baseDir = path.join(output, 'skills', 'agentuity', 'cli');
|
|
44
|
+
if (dryRun) {
|
|
45
|
+
const skills = collectSkillsForPreview(schema, output, includeHidden);
|
|
46
|
+
if (skills.length === 0) {
|
|
47
|
+
logger.warn('No skills to generate');
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
tui.info(`Would generate ${skills.length} skills:`);
|
|
51
|
+
for (const skillPath of skills) {
|
|
52
|
+
console.log(tui.muted(` ${skillPath}`));
|
|
53
|
+
}
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
const created = await generateSkills(schema, output, includeHidden);
|
|
57
|
+
if (created === 0) {
|
|
58
|
+
logger.warn('No skills to generate');
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
tui.success(`Generated ${created} skills to ${baseDir}`);
|
|
62
|
+
},
|
|
63
|
+
});
|
|
64
|
+
export default generateSubcommand;
|
|
65
|
+
//# sourceMappingURL=generate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../../src/cmd/ai/skills/generate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { CLISchema } from '../../../schema-generator';
|
|
2
|
+
export declare function collectSkillsForPreview(schema: CLISchema, outputDir: string, includeHidden: boolean): string[];
|
|
3
|
+
export declare function generateSkills(schema: CLISchema, outputDir: string, includeHidden: boolean): Promise<number>;
|
|
4
|
+
//# sourceMappingURL=generator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../../src/cmd/ai/skills/generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,SAAS,EAIT,MAAM,2BAA2B,CAAC;AAydnC,wBAAgB,uBAAuB,CACtC,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,OAAO,GACpB,MAAM,EAAE,CAGV;AAED,wBAAsB,cAAc,CACnC,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,OAAO,GACpB,OAAO,CAAC,MAAM,CAAC,CA2BjB"}
|