@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.
Files changed (105) hide show
  1. package/README.md +125 -0
  2. package/TECHNICAL_DEBT.md +121 -0
  3. package/dist/builder/bundler.d.ts +17 -0
  4. package/dist/builder/bundler.d.ts.map +1 -0
  5. package/dist/builder/bundler.js +170 -0
  6. package/dist/builder/bundler.js.map +1 -0
  7. package/dist/builder/index.d.ts +6 -0
  8. package/dist/builder/index.d.ts.map +1 -0
  9. package/dist/builder/index.js +6 -0
  10. package/dist/builder/index.js.map +1 -0
  11. package/dist/builder/packager.d.ts +41 -0
  12. package/dist/builder/packager.d.ts.map +1 -0
  13. package/dist/builder/packager.js +145 -0
  14. package/dist/builder/packager.js.map +1 -0
  15. package/dist/builder/security.d.ts +26 -0
  16. package/dist/builder/security.d.ts.map +1 -0
  17. package/dist/builder/security.js +204 -0
  18. package/dist/builder/security.js.map +1 -0
  19. package/dist/builder/stripper.d.ts +19 -0
  20. package/dist/builder/stripper.d.ts.map +1 -0
  21. package/dist/builder/stripper.js +100 -0
  22. package/dist/builder/stripper.js.map +1 -0
  23. package/dist/builder/validator.d.ts +33 -0
  24. package/dist/builder/validator.d.ts.map +1 -0
  25. package/dist/builder/validator.js +150 -0
  26. package/dist/builder/validator.js.map +1 -0
  27. package/dist/cli/build.d.ts +3 -0
  28. package/dist/cli/build.d.ts.map +1 -0
  29. package/dist/cli/build.js +167 -0
  30. package/dist/cli/build.js.map +1 -0
  31. package/dist/cli/categories.d.ts +40 -0
  32. package/dist/cli/categories.d.ts.map +1 -0
  33. package/dist/cli/categories.js +101 -0
  34. package/dist/cli/categories.js.map +1 -0
  35. package/dist/cli/dev.d.ts +3 -0
  36. package/dist/cli/dev.d.ts.map +1 -0
  37. package/dist/cli/dev.js +226 -0
  38. package/dist/cli/dev.js.map +1 -0
  39. package/dist/cli/handler-types.d.ts +34 -0
  40. package/dist/cli/handler-types.d.ts.map +1 -0
  41. package/dist/cli/handler-types.js +67 -0
  42. package/dist/cli/handler-types.js.map +1 -0
  43. package/dist/cli/index.d.ts +3 -0
  44. package/dist/cli/index.d.ts.map +1 -0
  45. package/dist/cli/index.js +24 -0
  46. package/dist/cli/index.js.map +1 -0
  47. package/dist/cli/init.d.ts +3 -0
  48. package/dist/cli/init.d.ts.map +1 -0
  49. package/dist/cli/init.js +264 -0
  50. package/dist/cli/init.js.map +1 -0
  51. package/dist/cli/login.d.ts +3 -0
  52. package/dist/cli/login.d.ts.map +1 -0
  53. package/dist/cli/login.js +10 -0
  54. package/dist/cli/login.js.map +1 -0
  55. package/dist/cli/publish.d.ts +5 -0
  56. package/dist/cli/publish.d.ts.map +1 -0
  57. package/dist/cli/publish.js +120 -0
  58. package/dist/cli/publish.js.map +1 -0
  59. package/dist/cli/template-processor.d.ts +35 -0
  60. package/dist/cli/template-processor.d.ts.map +1 -0
  61. package/dist/cli/template-processor.js +82 -0
  62. package/dist/cli/template-processor.js.map +1 -0
  63. package/dist/cli/test.d.ts +3 -0
  64. package/dist/cli/test.d.ts.map +1 -0
  65. package/dist/cli/test.js +12 -0
  66. package/dist/cli/test.js.map +1 -0
  67. package/dist/dev/decorators.d.ts +10 -0
  68. package/dist/dev/decorators.d.ts.map +1 -0
  69. package/dist/dev/decorators.js +26 -0
  70. package/dist/dev/decorators.js.map +1 -0
  71. package/dist/dev/executor.d.ts +22 -0
  72. package/dist/dev/executor.d.ts.map +1 -0
  73. package/dist/dev/executor.js +243 -0
  74. package/dist/dev/executor.js.map +1 -0
  75. package/dist/dev/extractor.d.ts +15 -0
  76. package/dist/dev/extractor.d.ts.map +1 -0
  77. package/dist/dev/extractor.js +224 -0
  78. package/dist/dev/extractor.js.map +1 -0
  79. package/dist/dev/index.d.ts +3 -0
  80. package/dist/dev/index.d.ts.map +1 -0
  81. package/dist/dev/index.js +4 -0
  82. package/dist/dev/index.js.map +1 -0
  83. package/dist/dev/server.d.ts +91 -0
  84. package/dist/dev/server.d.ts.map +1 -0
  85. package/dist/dev/server.js +507 -0
  86. package/dist/dev/server.js.map +1 -0
  87. package/dist/dev/ui-dist/assets/index-BkKxvzfq.js +246 -0
  88. package/dist/dev/ui-dist/assets/index-DTO1qt7B.css +1 -0
  89. package/dist/dev/ui-dist/index.html +14 -0
  90. package/dist/dev/ui-dist/monkey.svg +3 -0
  91. package/dist/dev/ui-dist/package.json +27 -0
  92. package/dist/templates/_shared/.env.template +16 -0
  93. package/dist/templates/_shared/.gitignore.template +46 -0
  94. package/dist/templates/_shared/LICENSE.template +21 -0
  95. package/dist/templates/_shared/src/utils.ts.template +29 -0
  96. package/dist/templates/_shared/tsconfig.json.template +23 -0
  97. package/dist/templates/stateful/manifest.json.template +63 -0
  98. package/dist/templates/stateful/package.json.template +23 -0
  99. package/dist/templates/stateful/src/index.ts.template +147 -0
  100. package/dist/templates/stateless/docs/README.md.template +102 -0
  101. package/dist/templates/stateless/manifest.json.template +63 -0
  102. package/dist/templates/stateless/package.json.template +23 -0
  103. package/dist/templates/stateless/src/index.ts.template +103 -0
  104. package/package.json +51 -0
  105. 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
+ }
@@ -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
+ });