@agenticflow/cli 0.0.1-beta.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +125 -0
- package/TECHNICAL_DEBT.md +121 -0
- package/dist/builder/bundler.d.ts +17 -0
- package/dist/builder/bundler.d.ts.map +1 -0
- package/dist/builder/bundler.js +170 -0
- package/dist/builder/bundler.js.map +1 -0
- package/dist/builder/index.d.ts +6 -0
- package/dist/builder/index.d.ts.map +1 -0
- package/dist/builder/index.js +6 -0
- package/dist/builder/index.js.map +1 -0
- package/dist/builder/packager.d.ts +41 -0
- package/dist/builder/packager.d.ts.map +1 -0
- package/dist/builder/packager.js +145 -0
- package/dist/builder/packager.js.map +1 -0
- package/dist/builder/security.d.ts +26 -0
- package/dist/builder/security.d.ts.map +1 -0
- package/dist/builder/security.js +204 -0
- package/dist/builder/security.js.map +1 -0
- package/dist/builder/stripper.d.ts +19 -0
- package/dist/builder/stripper.d.ts.map +1 -0
- package/dist/builder/stripper.js +100 -0
- package/dist/builder/stripper.js.map +1 -0
- package/dist/builder/validator.d.ts +33 -0
- package/dist/builder/validator.d.ts.map +1 -0
- package/dist/builder/validator.js +150 -0
- package/dist/builder/validator.js.map +1 -0
- package/dist/cli/build.d.ts +3 -0
- package/dist/cli/build.d.ts.map +1 -0
- package/dist/cli/build.js +167 -0
- package/dist/cli/build.js.map +1 -0
- package/dist/cli/categories.d.ts +40 -0
- package/dist/cli/categories.d.ts.map +1 -0
- package/dist/cli/categories.js +101 -0
- package/dist/cli/categories.js.map +1 -0
- package/dist/cli/dev.d.ts +3 -0
- package/dist/cli/dev.d.ts.map +1 -0
- package/dist/cli/dev.js +226 -0
- package/dist/cli/dev.js.map +1 -0
- package/dist/cli/handler-types.d.ts +34 -0
- package/dist/cli/handler-types.d.ts.map +1 -0
- package/dist/cli/handler-types.js +67 -0
- package/dist/cli/handler-types.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +24 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/init.d.ts +3 -0
- package/dist/cli/init.d.ts.map +1 -0
- package/dist/cli/init.js +264 -0
- package/dist/cli/init.js.map +1 -0
- package/dist/cli/login.d.ts +3 -0
- package/dist/cli/login.d.ts.map +1 -0
- package/dist/cli/login.js +10 -0
- package/dist/cli/login.js.map +1 -0
- package/dist/cli/publish.d.ts +5 -0
- package/dist/cli/publish.d.ts.map +1 -0
- package/dist/cli/publish.js +120 -0
- package/dist/cli/publish.js.map +1 -0
- package/dist/cli/template-processor.d.ts +35 -0
- package/dist/cli/template-processor.d.ts.map +1 -0
- package/dist/cli/template-processor.js +82 -0
- package/dist/cli/template-processor.js.map +1 -0
- package/dist/cli/test.d.ts +3 -0
- package/dist/cli/test.d.ts.map +1 -0
- package/dist/cli/test.js +12 -0
- package/dist/cli/test.js.map +1 -0
- package/dist/dev/decorators.d.ts +10 -0
- package/dist/dev/decorators.d.ts.map +1 -0
- package/dist/dev/decorators.js +26 -0
- package/dist/dev/decorators.js.map +1 -0
- package/dist/dev/executor.d.ts +22 -0
- package/dist/dev/executor.d.ts.map +1 -0
- package/dist/dev/executor.js +243 -0
- package/dist/dev/executor.js.map +1 -0
- package/dist/dev/extractor.d.ts +15 -0
- package/dist/dev/extractor.d.ts.map +1 -0
- package/dist/dev/extractor.js +224 -0
- package/dist/dev/extractor.js.map +1 -0
- package/dist/dev/index.d.ts +3 -0
- package/dist/dev/index.d.ts.map +1 -0
- package/dist/dev/index.js +4 -0
- package/dist/dev/index.js.map +1 -0
- package/dist/dev/server.d.ts +91 -0
- package/dist/dev/server.d.ts.map +1 -0
- package/dist/dev/server.js +507 -0
- package/dist/dev/server.js.map +1 -0
- package/dist/dev/ui-dist/assets/index-BkKxvzfq.js +246 -0
- package/dist/dev/ui-dist/assets/index-DTO1qt7B.css +1 -0
- package/dist/dev/ui-dist/index.html +14 -0
- package/dist/dev/ui-dist/monkey.svg +3 -0
- package/dist/dev/ui-dist/package.json +27 -0
- package/dist/templates/_shared/.env.template +16 -0
- package/dist/templates/_shared/.gitignore.template +46 -0
- package/dist/templates/_shared/LICENSE.template +21 -0
- package/dist/templates/_shared/src/utils.ts.template +29 -0
- package/dist/templates/_shared/tsconfig.json.template +23 -0
- package/dist/templates/stateful/manifest.json.template +63 -0
- package/dist/templates/stateful/package.json.template +23 -0
- package/dist/templates/stateful/src/index.ts.template +147 -0
- package/dist/templates/stateless/docs/README.md.template +102 -0
- package/dist/templates/stateless/manifest.json.template +63 -0
- package/dist/templates/stateless/package.json.template +23 -0
- package/dist/templates/stateless/src/index.ts.template +103 -0
- package/package.json +51 -0
- package/vitest.config.ts +15 -0
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { Handler, Input, StatelessHandler, StepResult } from '@flowmonkey/core';
|
|
2
|
+
import { TestValue } from './utils'; // Local re-export, stripped at build time
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Input interface for {{displayName}}
|
|
6
|
+
* Define all your input properties here
|
|
7
|
+
*/
|
|
8
|
+
interface {{handlerClassName}}Input {
|
|
9
|
+
exampleInput: string;
|
|
10
|
+
// Add more inputs as needed
|
|
11
|
+
// apiKey?: string;
|
|
12
|
+
// amount?: number;
|
|
13
|
+
// options?: { [key: string]: any };
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Output interface for {{displayName}}
|
|
18
|
+
* Define all your output properties here
|
|
19
|
+
*/
|
|
20
|
+
interface {{handlerClassName}}Output {
|
|
21
|
+
result: string;
|
|
22
|
+
status: string;
|
|
23
|
+
// Add more outputs as needed
|
|
24
|
+
// processedAt?: string;
|
|
25
|
+
// metadata?: { [key: string]: any };
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* {{displayName}}
|
|
30
|
+
*
|
|
31
|
+
* {{description}}
|
|
32
|
+
*
|
|
33
|
+
* This handler processes inputs without maintaining state.
|
|
34
|
+
*/
|
|
35
|
+
@Handler({
|
|
36
|
+
type: '{{handlerType}}',
|
|
37
|
+
name: '{{displayName}}',
|
|
38
|
+
category: '{{categoryApi}}',
|
|
39
|
+
})
|
|
40
|
+
export class {{handlerClassName}} extends StatelessHandler<{{handlerClassName}}Input, {{handlerClassName}}Output> {
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Example input with test value for development
|
|
44
|
+
* The @TestValue decorator provides a default value during development
|
|
45
|
+
* and is automatically stripped from production builds
|
|
46
|
+
*/
|
|
47
|
+
@Input({
|
|
48
|
+
type: 'string',
|
|
49
|
+
source: 'config',
|
|
50
|
+
required: true,
|
|
51
|
+
description: 'An example input parameter'
|
|
52
|
+
})
|
|
53
|
+
@TestValue('example-test-value') // This will be stripped at build time
|
|
54
|
+
exampleInput!: string;
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Example for API key from vault
|
|
58
|
+
* Uncomment and modify as needed
|
|
59
|
+
*/
|
|
60
|
+
// @Input({
|
|
61
|
+
// type: 'string',
|
|
62
|
+
// source: 'vault',
|
|
63
|
+
// vaultPath: 'secrets.myservice.apiKey',
|
|
64
|
+
// required: true,
|
|
65
|
+
// description: 'API key for external service'
|
|
66
|
+
// })
|
|
67
|
+
// @TestValue(process.env.API_KEY || 'test-api-key')
|
|
68
|
+
// apiKey!: string;
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Main execution method
|
|
72
|
+
* This is where your handler logic goes
|
|
73
|
+
*/
|
|
74
|
+
async execute(): Promise<StepResult> {
|
|
75
|
+
try {
|
|
76
|
+
// Your handler logic here
|
|
77
|
+
console.log(`Processing input: ${this.exampleInput}`);
|
|
78
|
+
|
|
79
|
+
// Example processing
|
|
80
|
+
const result = `Processed: ${this.exampleInput}`;
|
|
81
|
+
|
|
82
|
+
// Return success with your output data
|
|
83
|
+
return this.success({
|
|
84
|
+
result: result,
|
|
85
|
+
status: 'completed'
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
} catch (error) {
|
|
89
|
+
// Return failure with error information
|
|
90
|
+
// failure(code, message, details?)
|
|
91
|
+
return this.failure(
|
|
92
|
+
'EXECUTION_ERROR',
|
|
93
|
+
error instanceof Error ? error.message : 'Unknown error occurred',
|
|
94
|
+
{
|
|
95
|
+
input: this.exampleInput
|
|
96
|
+
}
|
|
97
|
+
);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
// Export an instance for the AgenticFlow runtime
|
|
103
|
+
export default new {{handlerClassName}}();
|
package/package.json
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@agenticflow/cli",
|
|
3
|
+
"version": "0.0.1-beta.13",
|
|
4
|
+
"description": "CLI tool for developing, testing, and building AgenticFlow handlers",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"bin": {
|
|
7
|
+
"afh": "dist/cli/index.js"
|
|
8
|
+
},
|
|
9
|
+
"scripts": {
|
|
10
|
+
"build": "tsc && npm run build:templates && npm run build:ui && npm run build:chmod",
|
|
11
|
+
"build:templates": "cp -r src/templates dist/",
|
|
12
|
+
"build:ui": "cd src/dev/ui && npm install && npm run build && cd ../../.. && rm -rf dist/dev/ui-dist && cp -r src/dev/ui/dist dist/dev/ui-dist && cp src/dev/ui/package.json dist/dev/ui-dist/",
|
|
13
|
+
"build:chmod": "chmod +x dist/cli/index.js",
|
|
14
|
+
"dev": "tsx src/cli/index.ts",
|
|
15
|
+
"test": "vitest",
|
|
16
|
+
"prepublishOnly": "npm run build"
|
|
17
|
+
},
|
|
18
|
+
"keywords": [
|
|
19
|
+
"agenticflow",
|
|
20
|
+
"handler",
|
|
21
|
+
"cli",
|
|
22
|
+
"devkit"
|
|
23
|
+
],
|
|
24
|
+
"author": "",
|
|
25
|
+
"license": "MIT",
|
|
26
|
+
"type": "module",
|
|
27
|
+
"dependencies": {
|
|
28
|
+
"@types/node-fetch": "^2.6.13",
|
|
29
|
+
"archiver": "^7.0.1",
|
|
30
|
+
"chalk": "^5.6.2",
|
|
31
|
+
"chokidar": "^5.0.0",
|
|
32
|
+
"commander": "^14.0.3",
|
|
33
|
+
"dotenv": "^17.2.3",
|
|
34
|
+
"express": "^5.2.1",
|
|
35
|
+
"inquirer": "^13.2.2",
|
|
36
|
+
"node-fetch": "^3.3.2",
|
|
37
|
+
"terser": "^5.37.0",
|
|
38
|
+
"typescript": "^5.9.3",
|
|
39
|
+
"unzipper": "^0.12.3",
|
|
40
|
+
"ws": "^8.19.0"
|
|
41
|
+
},
|
|
42
|
+
"devDependencies": {
|
|
43
|
+
"@types/archiver": "^6.0.3",
|
|
44
|
+
"@types/express": "^5.0.6",
|
|
45
|
+
"@types/node": "^25.2.0",
|
|
46
|
+
"@types/unzipper": "^0.10.10",
|
|
47
|
+
"@types/ws": "^8.18.1",
|
|
48
|
+
"tsx": "^4.21.0",
|
|
49
|
+
"vitest": "^4.0.18"
|
|
50
|
+
}
|
|
51
|
+
}
|
package/vitest.config.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { defineConfig } from 'vitest/config';
|
|
2
|
+
|
|
3
|
+
export default defineConfig({
|
|
4
|
+
test: {
|
|
5
|
+
globals: true,
|
|
6
|
+
environment: 'node',
|
|
7
|
+
include: ['src/**/*.test.ts', 'tests/**/*.test.ts'],
|
|
8
|
+
coverage: {
|
|
9
|
+
provider: 'v8',
|
|
10
|
+
reporter: ['text', 'html'],
|
|
11
|
+
include: ['src/**/*.ts'],
|
|
12
|
+
exclude: ['src/**/*.test.ts', 'src/dev/ui/**']
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
});
|