beddel 0.1.0 → 0.1.1

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 (58) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/LICENSE +21 -0
  3. package/README.md +357 -196
  4. package/dist/agents/agentRegistry.d.ts +14 -1
  5. package/dist/agents/agentRegistry.d.ts.map +1 -1
  6. package/dist/agents/agentRegistry.js +98 -1
  7. package/dist/agents/agentRegistry.js.map +1 -1
  8. package/dist/runtime/schemaCompiler.js +5 -4
  9. package/dist/runtime/schemaCompiler.js.map +1 -1
  10. package/package.json +5 -2
  11. package/src/agents/agentRegistry.ts +115 -2
  12. package/src/runtime/schemaCompiler.ts +5 -5
  13. package/dist/agents/formatter-agent.d.ts +0 -10
  14. package/dist/agents/formatter-agent.d.ts.map +0 -1
  15. package/dist/agents/formatter-agent.js +0 -49
  16. package/dist/agents/formatter-agent.js.map +0 -1
  17. package/dist/agents/genkit-agent.d.ts +0 -12
  18. package/dist/agents/genkit-agent.d.ts.map +0 -1
  19. package/dist/agents/genkit-agent.js +0 -119
  20. package/dist/agents/genkit-agent.js.map +0 -1
  21. package/dist/agents/i18n-messages.d.ts +0 -17
  22. package/dist/agents/i18n-messages.d.ts.map +0 -1
  23. package/dist/agents/i18n-messages.js +0 -92
  24. package/dist/agents/i18n-messages.js.map +0 -1
  25. package/dist/agents/index.d.ts +0 -10
  26. package/dist/agents/index.d.ts.map +0 -1
  27. package/dist/agents/index.js +0 -26
  28. package/dist/agents/index.js.map +0 -1
  29. package/dist/agents/pipeline.d.ts +0 -15
  30. package/dist/agents/pipeline.d.ts.map +0 -1
  31. package/dist/agents/pipeline.js +0 -45
  32. package/dist/agents/pipeline.js.map +0 -1
  33. package/dist/agents/schema-factory.d.ts +0 -40
  34. package/dist/agents/schema-factory.d.ts.map +0 -1
  35. package/dist/agents/schema-factory.js +0 -121
  36. package/dist/agents/schema-factory.js.map +0 -1
  37. package/dist/agents/translation-validators.d.ts +0 -26
  38. package/dist/agents/translation-validators.d.ts.map +0 -1
  39. package/dist/agents/translation-validators.js +0 -77
  40. package/dist/agents/translation-validators.js.map +0 -1
  41. package/dist/agents/translator-agents.d.ts +0 -184
  42. package/dist/agents/translator-agents.d.ts.map +0 -1
  43. package/dist/agents/translator-agents.js +0 -613
  44. package/dist/agents/translator-agents.js.map +0 -1
  45. package/dist/agents/types/translation.types.d.ts +0 -100
  46. package/dist/agents/types/translation.types.d.ts.map +0 -1
  47. package/dist/agents/types/translation.types.js +0 -3
  48. package/dist/agents/types/translation.types.js.map +0 -1
  49. package/dist/agents/validator-agent.d.ts +0 -42
  50. package/dist/agents/validator-agent.d.ts.map +0 -1
  51. package/dist/agents/validator-agent.js +0 -122
  52. package/dist/agents/validator-agent.js.map +0 -1
  53. package/dist/security/test-security.d.ts +0 -22
  54. package/dist/security/test-security.d.ts.map +0 -1
  55. package/dist/security/test-security.js +0 -154
  56. package/dist/security/test-security.js.map +0 -1
  57. package/tools/seed.ts +0 -365
  58. package/tools/test-endpoints.ts +0 -174
@@ -21,7 +21,7 @@ export declare class AgentRegistry {
21
21
  /**
22
22
  * Register an agent
23
23
  */
24
- registerAgent(agent: AgentRegistration): void;
24
+ registerAgent(agent: AgentRegistration, allowOverwrite?: boolean): void;
25
25
  /**
26
26
  * Execute registered agent
27
27
  */
@@ -34,6 +34,19 @@ export declare class AgentRegistry {
34
34
  * Get all registered agents
35
35
  */
36
36
  getAllAgents(): AgentRegistration[];
37
+ /**
38
+ * Load custom agents from a specified directory
39
+ * @param customAgentsPath - Optional path to custom agents directory. Defaults to process.cwd()/agents
40
+ */
41
+ loadCustomAgents(customAgentsPath?: string): void;
42
+ /**
43
+ * Register a custom agent from a YAML file
44
+ */
45
+ private registerCustomAgent;
46
+ /**
47
+ * Discover all YAML files in the custom agents directory
48
+ */
49
+ private discoverCustomAgentFiles;
37
50
  /**
38
51
  * Register built-in agents
39
52
  */
@@ -1 +1 @@
1
- {"version":3,"file":"agentRegistry.d.ts","sourceRoot":"","sources":["../../src/agents/agentRegistry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6C;;IAOpE;;OAEG;IACI,aAAa,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IASpD;;OAEG;IACU,YAAY,CACvB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,GAAG,CAAC;IAkBf;;OAEG;IACI,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAIjE;;OAEG;IACI,YAAY,IAAI,iBAAiB,EAAE;IAI1C;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAa7B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAwB1B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAqB/B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAqB1B;;OAEG;IACH,OAAO,CAAC,cAAc;IAmDtB;;OAEG;IACH,OAAO,CAAC,aAAa;IAcrB;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAkBzB;AAGD,eAAO,MAAM,aAAa,eAAsB,CAAC;AAEjD,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"agentRegistry.d.ts","sourceRoot":"","sources":["../../src/agents/agentRegistry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6C;;IAiBpE;;OAEG;IACI,aAAa,CAAC,KAAK,EAAE,iBAAiB,EAAE,cAAc,UAAQ,GAAG,IAAI;IAc5E;;OAEG;IACU,YAAY,CACvB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,GAAG,CAAC;IAkBf;;OAEG;IACI,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAIjE;;OAEG;IACI,YAAY,IAAI,iBAAiB,EAAE;IAI1C;;;OAGG;IACI,gBAAgB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI;IAsCxD;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA2B3B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAuBhC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAa7B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAwB1B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAqB/B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAqB1B;;OAEG;IACH,OAAO,CAAC,cAAc;IAmDtB;;OAEG;IACH,OAAO,CAAC,aAAa;IAcrB;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAkBzB;AAGD,eAAO,MAAM,aAAa,eAAsB,CAAC;AAEjD,eAAe,aAAa,CAAC"}
@@ -16,13 +16,27 @@ class AgentRegistry {
16
16
  this.agents = new Map();
17
17
  // Register built-in agents on initialization
18
18
  this.registerBuiltinAgents();
19
+ // Automatically load custom agents if running in Node.js environment
20
+ if (typeof process !== 'undefined' && typeof process.cwd === 'function') {
21
+ try {
22
+ this.loadCustomAgents();
23
+ }
24
+ catch (error) {
25
+ // Silently fail if custom agents can't be loaded
26
+ // This allows the registry to work even without custom agents
27
+ }
28
+ }
19
29
  }
20
30
  /**
21
31
  * Register an agent
22
32
  */
23
- registerAgent(agent) {
33
+ registerAgent(agent, allowOverwrite = false) {
24
34
  // Validate agent
25
35
  this.validateAgent(agent);
36
+ // Check if agent already exists
37
+ if (this.agents.has(agent.name) && allowOverwrite) {
38
+ console.warn(`⚠️ Overwriting existing agent: ${agent.name}`);
39
+ }
26
40
  // Register the agent
27
41
  this.agents.set(agent.name, agent);
28
42
  console.log(`Agent registered: ${agent.name} (${agent.protocol})`);
@@ -57,6 +71,89 @@ class AgentRegistry {
57
71
  getAllAgents() {
58
72
  return Array.from(this.agents.values());
59
73
  }
74
+ /**
75
+ * Load custom agents from a specified directory
76
+ * @param customAgentsPath - Optional path to custom agents directory. Defaults to process.cwd()/agents
77
+ */
78
+ loadCustomAgents(customAgentsPath) {
79
+ try {
80
+ // Determine the agents directory path
81
+ const agentsPath = customAgentsPath || (0, path_1.join)(process.cwd(), "agents");
82
+ // Check if directory exists
83
+ if (!(0, fs_1.existsSync)(agentsPath)) {
84
+ console.log(`No custom agents directory found at: ${agentsPath}`);
85
+ return;
86
+ }
87
+ console.log(`🔍 Loading custom agents from: ${agentsPath}`);
88
+ // Discover all YAML files in the agents directory
89
+ const agentFiles = this.discoverCustomAgentFiles(agentsPath);
90
+ if (agentFiles.length === 0) {
91
+ console.log(`No custom agent YAML files found in: ${agentsPath}`);
92
+ return;
93
+ }
94
+ // Register each custom agent
95
+ let successCount = 0;
96
+ for (const yamlPath of agentFiles) {
97
+ try {
98
+ this.registerCustomAgent(yamlPath);
99
+ successCount++;
100
+ }
101
+ catch (error) {
102
+ console.error(`Failed to register custom agent from ${yamlPath}:`, error);
103
+ }
104
+ }
105
+ console.log(`✅ Successfully loaded ${successCount}/${agentFiles.length} custom agents`);
106
+ }
107
+ catch (error) {
108
+ console.error("Failed to load custom agents:", error);
109
+ }
110
+ }
111
+ /**
112
+ * Register a custom agent from a YAML file
113
+ */
114
+ registerCustomAgent(yamlPath) {
115
+ // Read YAML file
116
+ const yamlContent = (0, fs_1.readFileSync)(yamlPath, "utf-8");
117
+ // Parse agent metadata
118
+ const agent = this.parseAgentYaml(yamlContent);
119
+ // Determine agent name from metadata or filename
120
+ const agentName = agent.metadata.route
121
+ ? agent.metadata.route.replace("/agents/", "") + ".execute"
122
+ : agent.agent.id + ".execute";
123
+ // Register the agent (allow overwriting built-ins)
124
+ this.registerAgent({
125
+ id: agent.agent.id,
126
+ name: agentName,
127
+ description: agent.metadata.description,
128
+ protocol: agent.agent.protocol,
129
+ route: agent.metadata.route || `/agents/${agent.agent.id}`,
130
+ requiredProps: agent.schema.required || ["gemini_api_key"],
131
+ yamlContent,
132
+ }, true // Allow overwriting
133
+ );
134
+ }
135
+ /**
136
+ * Discover all YAML files in the custom agents directory
137
+ */
138
+ discoverCustomAgentFiles(agentsPath) {
139
+ const yamlFiles = [];
140
+ const scanDirectory = (dirPath) => {
141
+ const entries = (0, fs_1.readdirSync)(dirPath);
142
+ for (const entry of entries) {
143
+ const fullPath = (0, path_1.join)(dirPath, entry);
144
+ const stat = (0, fs_1.statSync)(fullPath);
145
+ if (stat.isDirectory()) {
146
+ // Recursively scan subdirectories
147
+ scanDirectory(fullPath);
148
+ }
149
+ else if (stat.isFile() && (entry.endsWith(".yaml") || entry.endsWith(".yml"))) {
150
+ yamlFiles.push(fullPath);
151
+ }
152
+ }
153
+ };
154
+ scanDirectory(agentsPath);
155
+ return yamlFiles;
156
+ }
60
157
  /**
61
158
  * Register built-in agents
62
159
  */
@@ -1 +1 @@
1
- {"version":3,"file":"agentRegistry.js","sourceRoot":"","sources":["../../src/agents/agentRegistry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentRegistry.js","sourceRoot":"","sources":["../../src/agents/agentRegistry.ts"],"names":[],"mappings":"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"}
@@ -92,14 +92,15 @@ class DeclarativeSchemaCompiler {
92
92
  ? childSchema
93
93
  : childSchema.optional();
94
94
  }
95
- let objectSchema = zod_1.z.object(shape);
95
+ const objectSchema = zod_1.z.object(shape);
96
96
  if (definition.additionalProperties) {
97
- objectSchema = objectSchema.catchall(zod_1.z.any());
97
+ // Allow additional properties
98
+ return objectSchema.passthrough();
98
99
  }
99
100
  else {
100
- objectSchema = objectSchema.strict();
101
+ // Reject additional properties (default behavior for strict validation)
102
+ return objectSchema.strict();
101
103
  }
102
- return objectSchema;
103
104
  }
104
105
  buildArraySchema(definition, path) {
105
106
  if (!definition.items) {
@@ -1 +1 @@
1
- {"version":3,"file":"schemaCompiler.js","sourceRoot":"","sources":["../../src/runtime/schemaCompiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemaCompiler.js","sourceRoot":"","sources":["../../src/runtime/schemaCompiler.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AACzC,6BAAyE;AAiBzE,MAAa,sBAAuB,SAAQ,KAAK;IAC/C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AALD,wDAKC;AAED,MAAa,gCAAiC,SAAQ,KAAK;IACzD,YACE,OAAe,EACC,KAA6B,EAC7B,MAAkB;QAElC,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,UAAK,GAAL,KAAK,CAAwB;QAC7B,WAAM,GAAN,MAAM,CAAY;QAGlC,IAAI,CAAC,IAAI,GAAG,kCAAkC,CAAC;IACjD,CAAC;CACF;AATD,4EASC;AAED,MAAa,yBAAyB;IAAtC;QACmB,UAAK,GAAG,IAAI,GAAG,EAAsB,CAAC;IA8LzD,CAAC;IA5LQ,OAAO,CAAC,UAAmB,EAAE,IAAY;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACjC,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;IAEO,cAAc,CAAC,UAAmB,EAAE,IAAY;QACtD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,WAAW,CAAC;QAC7D,MAAM,SAAS,GAAG,IAAA,wBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxE,OAAO,GAAG,IAAI,IAAI,SAAS,EAAE,CAAC;IAChC,CAAC;IAEO,WAAW,CACjB,UAAmB,EACnB,IAAY;QAEZ,IACE,CAAC,UAAU;YACX,OAAO,UAAU,KAAK,QAAQ;YAC9B,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EACzB,CAAC;YACD,MAAM,IAAI,sBAAsB,CAC9B,qBAAqB,IAAI,8BAA8B,CACxD,CAAC;QACJ,CAAC;QAED,MAAM,eAAe,GAAG,UAAyC,CAAC;QAClE,IAAI,CAAC,eAAe,CAAC,IAAI,IAAI,OAAO,eAAe,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtE,MAAM,IAAI,sBAAsB,CAC9B,aAAa,IAAI,+BAA+B,CACjD,CAAC;QACJ,CAAC;QAED,QAAQ,eAAe,CAAC,IAAI,EAAE,CAAC;YAC7B,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;YACvD,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;YACtD,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;YACvD,KAAK,QAAQ;gBACX,OAAO,OAAC,CAAC,MAAM,EAAE,CAAC;YACpB,KAAK,SAAS;gBACZ,OAAO,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC;YAC1B,KAAK,SAAS;gBACZ,OAAO,OAAC,CAAC,OAAO,EAAE,CAAC;YACrB,KAAK,KAAK;gBACR,OAAO,OAAC,CAAC,GAAG,EAAE,CAAC;YACjB,KAAK,SAAS;gBACZ,OAAO,OAAC,CAAC,OAAO,EAAE,CAAC;YACrB;gBACE,IAAI,eAAe,CAAC,IAAI,EAAE,CAAC;oBACzB,OAAO,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC1D,CAAC;gBACD,MAAM,IAAI,sBAAsB,CAC9B,4BAA4B,eAAe,CAAC,IAAI,QAAQ,IAAI,EAAE,CAC/D,CAAC;QACN,CAAC;IACH,CAAC;IAEO,iBAAiB,CACvB,UAAuC,EACvC,IAAY;QAEZ,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,IAAI,EAAE,CAAC;QAC/C,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YACnC,MAAM,IAAI,sBAAsB,CAC9B,oBAAoB,IAAI,wCAAwC,CACjE,CAAC;QACJ,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QAC1D,MAAM,KAAK,GAA+B,EAAE,CAAC;QAE7C,KAAK,MAAM,CAAC,GAAG,EAAE,eAAe,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAChE,MAAM,SAAS,GAAG,GAAG,IAAI,eAAe,GAAG,EAAE,CAAC;YAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;YACjE,KAAK,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC;gBAClC,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC;QAED,MAAM,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,UAAU,CAAC,oBAAoB,EAAE,CAAC;YACpC,8BAA8B;YAC9B,OAAO,YAAY,CAAC,WAAW,EAAgB,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,wEAAwE;YACxE,OAAO,YAAY,CAAC,MAAM,EAAgB,CAAC;QAC7C,CAAC;IACH,CAAC;IAEO,gBAAgB,CACtB,UAAuC,EACvC,IAAY;QAEZ,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACtB,MAAM,IAAI,sBAAsB,CAC9B,mBAAmB,IAAI,sBAAsB,CAC9C,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,IAAI,QAAQ,CAAC,CAAC;QACvE,IAAI,WAAW,GAAG,OAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAEtC,IAAI,OAAO,UAAU,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC5C,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,OAAO,UAAU,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC5C,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAEO,iBAAiB,CACvB,UAAuC,EACvC,IAAY;QAEZ,IAAI,YAAY,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC;QAE9B,IAAI,OAAO,UAAU,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC7C,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,OAAO,UAAU,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC7C,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAEO,eAAe,CACrB,MAAwC,EACxC,IAAY;QAEZ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,sBAAsB,CAC9B,WAAW,IAAI,4BAA4B,CAC5C,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACpC,IACE,OAAO,KAAK,KAAK,QAAQ;gBACzB,OAAO,KAAK,KAAK,QAAQ;gBACzB,OAAO,KAAK,KAAK,SAAS,EAC1B,CAAC;gBACD,OAAO,OAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC;YAED,MAAM,IAAI,sBAAsB,CAC9B,WAAW,IAAI,kDAAkD,CAClE,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;QAED,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,QAAQ,CAAC;QAC1C,OAAO,OAAC,CAAC,KAAK,CACZ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAItB,CACF,CAAC;IACJ,CAAC;CACF;AA/LD,8DA+LC"}
package/package.json CHANGED
@@ -1,13 +1,15 @@
1
1
  {
2
2
  "name": "beddel",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Beddel - A secure YAML parser and OpenAPI endpoint manager for Node.js applications",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "files": [
8
8
  "dist",
9
9
  "src",
10
- "tools"
10
+ "README.md",
11
+ "LICENSE",
12
+ "CHANGELOG.md"
11
13
  ],
12
14
  "exports": {
13
15
  ".": {
@@ -24,6 +26,7 @@
24
26
  }
25
27
  },
26
28
  "scripts": {
29
+ "prepublishOnly": "npm run build",
27
30
  "build": "tsc -p tsconfig.build.json",
28
31
  "dev": "tsc -p tsconfig.build.json --watch",
29
32
  "test": "jest",
@@ -3,7 +3,7 @@
3
3
  * Manages registration and execution of declarative YAML agents
4
4
  */
5
5
 
6
- import { existsSync, readFileSync } from "fs";
6
+ import { existsSync, readFileSync, readdirSync, statSync } from "fs";
7
7
  import { join } from "path";
8
8
  import { declarativeInterpreter } from "../runtime/declarativeAgentRuntime";
9
9
  import { ExecutionContext } from "../types/executionContext";
@@ -27,15 +27,30 @@ export class AgentRegistry {
27
27
  constructor() {
28
28
  // Register built-in agents on initialization
29
29
  this.registerBuiltinAgents();
30
+
31
+ // Automatically load custom agents if running in Node.js environment
32
+ if (typeof process !== 'undefined' && typeof process.cwd === 'function') {
33
+ try {
34
+ this.loadCustomAgents();
35
+ } catch (error) {
36
+ // Silently fail if custom agents can't be loaded
37
+ // This allows the registry to work even without custom agents
38
+ }
39
+ }
30
40
  }
31
41
 
32
42
  /**
33
43
  * Register an agent
34
44
  */
35
- public registerAgent(agent: AgentRegistration): void {
45
+ public registerAgent(agent: AgentRegistration, allowOverwrite = false): void {
36
46
  // Validate agent
37
47
  this.validateAgent(agent);
38
48
 
49
+ // Check if agent already exists
50
+ if (this.agents.has(agent.name) && allowOverwrite) {
51
+ console.warn(`⚠️ Overwriting existing agent: ${agent.name}`);
52
+ }
53
+
39
54
  // Register the agent
40
55
  this.agents.set(agent.name, agent);
41
56
  console.log(`Agent registered: ${agent.name} (${agent.protocol})`);
@@ -81,6 +96,104 @@ export class AgentRegistry {
81
96
  return Array.from(this.agents.values());
82
97
  }
83
98
 
99
+ /**
100
+ * Load custom agents from a specified directory
101
+ * @param customAgentsPath - Optional path to custom agents directory. Defaults to process.cwd()/agents
102
+ */
103
+ public loadCustomAgents(customAgentsPath?: string): void {
104
+ try {
105
+ // Determine the agents directory path
106
+ const agentsPath = customAgentsPath || join(process.cwd(), "agents");
107
+
108
+ // Check if directory exists
109
+ if (!existsSync(agentsPath)) {
110
+ console.log(`No custom agents directory found at: ${agentsPath}`);
111
+ return;
112
+ }
113
+
114
+ console.log(`🔍 Loading custom agents from: ${agentsPath}`);
115
+
116
+ // Discover all YAML files in the agents directory
117
+ const agentFiles = this.discoverCustomAgentFiles(agentsPath);
118
+
119
+ if (agentFiles.length === 0) {
120
+ console.log(`No custom agent YAML files found in: ${agentsPath}`);
121
+ return;
122
+ }
123
+
124
+ // Register each custom agent
125
+ let successCount = 0;
126
+ for (const yamlPath of agentFiles) {
127
+ try {
128
+ this.registerCustomAgent(yamlPath);
129
+ successCount++;
130
+ } catch (error) {
131
+ console.error(`Failed to register custom agent from ${yamlPath}:`, error);
132
+ }
133
+ }
134
+
135
+ console.log(`✅ Successfully loaded ${successCount}/${agentFiles.length} custom agents`);
136
+ } catch (error) {
137
+ console.error("Failed to load custom agents:", error);
138
+ }
139
+ }
140
+
141
+ /**
142
+ * Register a custom agent from a YAML file
143
+ */
144
+ private registerCustomAgent(yamlPath: string): void {
145
+ // Read YAML file
146
+ const yamlContent = readFileSync(yamlPath, "utf-8");
147
+
148
+ // Parse agent metadata
149
+ const agent = this.parseAgentYaml(yamlContent);
150
+
151
+ // Determine agent name from metadata or filename
152
+ const agentName = agent.metadata.route
153
+ ? agent.metadata.route.replace("/agents/", "") + ".execute"
154
+ : agent.agent.id + ".execute";
155
+
156
+ // Register the agent (allow overwriting built-ins)
157
+ this.registerAgent(
158
+ {
159
+ id: agent.agent.id,
160
+ name: agentName,
161
+ description: agent.metadata.description,
162
+ protocol: agent.agent.protocol,
163
+ route: agent.metadata.route || `/agents/${agent.agent.id}`,
164
+ requiredProps: agent.schema.required || ["gemini_api_key"],
165
+ yamlContent,
166
+ },
167
+ true // Allow overwriting
168
+ );
169
+ }
170
+
171
+ /**
172
+ * Discover all YAML files in the custom agents directory
173
+ */
174
+ private discoverCustomAgentFiles(agentsPath: string): string[] {
175
+ const yamlFiles: string[] = [];
176
+
177
+ const scanDirectory = (dirPath: string) => {
178
+ const entries = readdirSync(dirPath);
179
+
180
+ for (const entry of entries) {
181
+ const fullPath = join(dirPath, entry);
182
+ const stat = statSync(fullPath);
183
+
184
+ if (stat.isDirectory()) {
185
+ // Recursively scan subdirectories
186
+ scanDirectory(fullPath);
187
+ } else if (stat.isFile() && (entry.endsWith(".yaml") || entry.endsWith(".yml"))) {
188
+ yamlFiles.push(fullPath);
189
+ }
190
+ }
191
+ };
192
+
193
+ scanDirectory(agentsPath);
194
+ return yamlFiles;
195
+ }
196
+
84
197
  /**
85
198
  * Register built-in agents
86
199
  */
@@ -133,14 +133,14 @@ export class DeclarativeSchemaCompiler {
133
133
  : childSchema.optional();
134
134
  }
135
135
 
136
- let objectSchema = z.object(shape);
136
+ const objectSchema = z.object(shape);
137
137
  if (definition.additionalProperties) {
138
- objectSchema = objectSchema.catchall(z.any());
138
+ // Allow additional properties
139
+ return objectSchema.passthrough() as ZodTypeAny;
139
140
  } else {
140
- objectSchema = objectSchema.strict();
141
+ // Reject additional properties (default behavior for strict validation)
142
+ return objectSchema.strict() as ZodTypeAny;
141
143
  }
142
-
143
- return objectSchema;
144
144
  }
145
145
 
146
146
  private buildArraySchema(
@@ -1,10 +0,0 @@
1
- import { TranslationResponse } from "./types/translation.types";
2
- /**
3
- * FormatterAgent para formatação e validação de saída
4
- */
5
- export default class FormatterAgent {
6
- private static readonly OUTPUT_SCHEMA;
7
- static formatOutput(data: TranslationResponse): TranslationResponse;
8
- }
9
- export { FormatterAgent };
10
- //# sourceMappingURL=formatter-agent.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"formatter-agent.d.ts","sourceRoot":"","sources":["../../src/agents/formatter-agent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc;IACjC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAQlC;IAEH,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,mBAAmB;CA+BpE;AAGD,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -1,49 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FormatterAgent = void 0;
4
- const zod_1 = require("zod");
5
- /**
6
- * FormatterAgent para formatação e validação de saída
7
- */
8
- class FormatterAgent {
9
- static formatOutput(data) {
10
- try {
11
- // Validação contra schema de saída
12
- const validated = this.OUTPUT_SCHEMA.parse(data);
13
- // Enriquecimento dos metadados
14
- const metadadosEnriquecidos = {
15
- ...validated.metadados,
16
- idiomas_suportados: validated.metadados.idiomas_suportados || [
17
- "pt",
18
- "en",
19
- "es",
20
- "fr",
21
- ],
22
- timestamp: new Date().toISOString(),
23
- versao_agent: "1.0.0",
24
- };
25
- return {
26
- texto_traduzido: validated.texto_traduzido,
27
- metadados: metadadosEnriquecidos,
28
- };
29
- }
30
- catch (error) {
31
- if (error instanceof zod_1.z.ZodError) {
32
- throw new Error(`Formato de saída inválido: ${error.issues[0]?.message}`);
33
- }
34
- throw error;
35
- }
36
- }
37
- }
38
- exports.FormatterAgent = FormatterAgent;
39
- FormatterAgent.OUTPUT_SCHEMA = zod_1.z.object({
40
- texto_traduzido: zod_1.z.string(),
41
- metadados: zod_1.z.object({
42
- modelo_utilizado: zod_1.z.string(),
43
- tempo_processamento: zod_1.z.number().min(0),
44
- confianca: zod_1.z.number().min(0).max(1),
45
- idiomas_suportados: zod_1.z.array(zod_1.z.string()).optional(),
46
- }),
47
- });
48
- exports.default = FormatterAgent;
49
- //# sourceMappingURL=formatter-agent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"formatter-agent.js","sourceRoot":"","sources":["../../src/agents/formatter-agent.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAGxB;;GAEG;AACH,MAAqB,cAAc;IAWjC,MAAM,CAAC,YAAY,CAAC,IAAyB;QAC3C,IAAI,CAAC;YACH,mCAAmC;YACnC,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAEjD,+BAA+B;YAC/B,MAAM,qBAAqB,GAAG;gBAC5B,GAAG,SAAS,CAAC,SAAS;gBACtB,kBAAkB,EAAE,SAAS,CAAC,SAAS,CAAC,kBAAkB,IAAI;oBAC5D,IAAI;oBACJ,IAAI;oBACJ,IAAI;oBACJ,IAAI;iBACL;gBACD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,YAAY,EAAE,OAAO;aACtB,CAAC;YAEF,OAAO;gBACL,eAAe,EAAE,SAAS,CAAC,eAAe;gBAC1C,SAAS,EAAE,qBAAqB;aACjC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,OAAC,CAAC,QAAQ,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CACb,8BAA+B,KAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAClE,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;;AAIM,wCAAc;AA5CG,4BAAa,GAAG,OAAC,CAAC,MAAM,CAAC;IAC/C,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE;IAC3B,SAAS,EAAE,OAAC,CAAC,MAAM,CAAC;QAClB,gBAAgB,EAAE,OAAC,CAAC,MAAM,EAAE;QAC5B,mBAAmB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACtC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACnC,kBAAkB,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;KACnD,CAAC;CACH,CAAC,CAAC;kBATgB,cAAc"}
@@ -1,12 +0,0 @@
1
- import { TranslationRequest, TranslationResponse } from "./types/translation.types";
2
- /**
3
- * GenkitAgent parametrizado para integração com Genkit
4
- */
5
- export default class GenkitAgent {
6
- private static readonly IDIOMAS_SUPORTADOS;
7
- static processResource(resource: string, params: TranslationRequest): Promise<TranslationResponse>;
8
- private static handleTranslation;
9
- private static processBasicTranslation;
10
- }
11
- export { GenkitAgent };
12
- //# sourceMappingURL=genkit-agent.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"genkit-agent.d.ts","sourceRoot":"","sources":["../../src/agents/genkit-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,2BAA2B,CAAC;AAInC;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,WAAW;IAC9B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAA4B;WAEzD,eAAe,CAC1B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,mBAAmB,CAAC;mBAeV,iBAAiB;IA+CtC,OAAO,CAAC,MAAM,CAAC,uBAAuB;CA0DvC;AAGD,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -1,119 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.GenkitAgent = void 0;
7
- const validator_agent_1 = __importDefault(require("./validator-agent"));
8
- const validator_agent_2 = require("./validator-agent");
9
- /**
10
- * GenkitAgent parametrizado para integração com Genkit
11
- */
12
- class GenkitAgent {
13
- static async processResource(resource, params) {
14
- // Validação via validator-agent
15
- const validated = validator_agent_1.default.validateInput(validator_agent_2.translatorSchema, params);
16
- // Processamento baseado no recurso
17
- if (resource === "translate") {
18
- return this.handleTranslation(validated);
19
- }
20
- throw new Error(`Recurso não suportado: ${resource}`);
21
- }
22
- static async handleTranslation(request) {
23
- const startTime = Date.now();
24
- try {
25
- // Integração com Genkit (simulada - retorna JSON com 'translator: true')
26
- // TODO: Implementar chamada HTTP real ao endpoint interno do Genkit
27
- const genkitResponse = { translator: true };
28
- if (!genkitResponse.translator) {
29
- throw new Error("Falha na integração com Genkit");
30
- }
31
- // Cache TTL 3600s - simulação apenas com comentários
32
- // TODO: Implementar cache com TTL 3600s quando o sistema real for criado
33
- // Fallback entre modelos - preparação para implementação futura
34
- // TODO: Adicionar lógica de fallback quando múltiplos modelos estiverem disponíveis
35
- const textoTradu = this.processBasicTranslation(request);
36
- const tempoProcessamento = Date.now() - startTime;
37
- return {
38
- texto_traduzido: textoTradu,
39
- metadados: {
40
- modelo_utilizado: "beddel-fallback-translator",
41
- tempo_processamento: tempoProcessamento,
42
- confianca: 0.8,
43
- idiomas_suportados: this.IDIOMAS_SUPORTADOS,
44
- },
45
- };
46
- }
47
- catch (error) {
48
- const tempoProcessamento = Date.now() - startTime;
49
- console.error("Erro no GenkitAgent:", error);
50
- return {
51
- texto_traduzido: request.texto,
52
- metadados: {
53
- modelo_utilizado: "beddel-error-fallback",
54
- tempo_processamento: tempoProcessamento,
55
- confianca: 0.0,
56
- idiomas_suportados: this.IDIOMAS_SUPORTADOS,
57
- },
58
- };
59
- }
60
- }
61
- static processBasicTranslation(request) {
62
- // Implementação simples de fallback para prova de conceito
63
- const traducoes = new Map([
64
- [
65
- "pt",
66
- {
67
- olá: "hello",
68
- mundo: "world",
69
- "bom dia": "good morning",
70
- "boa tarde": "good afternoon",
71
- "boa noite": "good evening",
72
- },
73
- ],
74
- [
75
- "en",
76
- {
77
- hello: "olá",
78
- world: "mundo",
79
- "good morning": "bom dia",
80
- "good afternoon": "boa tarde",
81
- "good evening": "boa noite",
82
- },
83
- ],
84
- [
85
- "es",
86
- {
87
- hola: "hello",
88
- mundo: "world",
89
- },
90
- ],
91
- [
92
- "fr",
93
- {
94
- bonjour: "hello",
95
- monde: "world",
96
- },
97
- ],
98
- ]);
99
- if (request.idioma_origem === request.idioma_destino) {
100
- return request.texto;
101
- }
102
- const mapaTraducao = traducoes.get(request.idioma_origem);
103
- if (!mapaTraducao) {
104
- return request.texto;
105
- }
106
- let textoProcessado = request.texto;
107
- if (mapaTraducao) {
108
- Object.entries(mapaTraducao).forEach(([de, para]) => {
109
- const regex = new RegExp(de, "gi");
110
- textoProcessado = textoProcessado.replace(regex, para);
111
- });
112
- }
113
- return textoProcessado;
114
- }
115
- }
116
- exports.GenkitAgent = GenkitAgent;
117
- GenkitAgent.IDIOMAS_SUPORTADOS = ["pt", "en", "es", "fr"];
118
- exports.default = GenkitAgent;
119
- //# sourceMappingURL=genkit-agent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"genkit-agent.js","sourceRoot":"","sources":["../../src/agents/genkit-agent.ts"],"names":[],"mappings":"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"}