@runflow-ai/sdk 1.0.5 → 1.0.6

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 (101) hide show
  1. package/dist/connectors/connector-creator.d.ts +29 -0
  2. package/dist/connectors/connector-creator.d.ts.map +1 -0
  3. package/dist/connectors/connector-creator.js +123 -0
  4. package/dist/connectors/connector-creator.js.map +1 -0
  5. package/dist/connectors/index.d.ts +3 -0
  6. package/dist/connectors/index.d.ts.map +1 -0
  7. package/dist/connectors/index.js +11 -0
  8. package/dist/connectors/index.js.map +1 -0
  9. package/dist/core/agent.d.ts +42 -0
  10. package/dist/core/agent.d.ts.map +1 -0
  11. package/dist/core/agent.js +533 -0
  12. package/dist/core/agent.js.map +1 -0
  13. package/dist/core/api-client.d.ts +34 -0
  14. package/dist/core/api-client.d.ts.map +1 -0
  15. package/dist/core/api-client.js +339 -0
  16. package/dist/core/api-client.js.map +1 -0
  17. package/dist/core/index.d.ts +5 -0
  18. package/dist/core/index.d.ts.map +1 -0
  19. package/dist/core/index.js +13 -0
  20. package/dist/core/index.js.map +1 -0
  21. package/dist/core/models.d.ts +4 -0
  22. package/dist/core/models.d.ts.map +1 -0
  23. package/dist/core/models.js +20 -0
  24. package/dist/core/models.js.map +1 -0
  25. package/dist/index.d.ts +6 -12
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +49 -107
  28. package/dist/index.js.map +1 -1
  29. package/dist/memory/index.d.ts +1 -0
  30. package/dist/memory/index.d.ts.map +1 -0
  31. package/dist/memory/index.js +4 -0
  32. package/dist/memory/index.js.map +1 -0
  33. package/dist/observability/index.d.ts +3 -0
  34. package/dist/observability/index.d.ts.map +1 -0
  35. package/dist/observability/index.js +10 -0
  36. package/dist/observability/index.js.map +1 -0
  37. package/dist/observability/trace-collector.d.ts +43 -0
  38. package/dist/observability/trace-collector.d.ts.map +1 -0
  39. package/dist/observability/trace-collector.js +233 -0
  40. package/dist/observability/trace-collector.js.map +1 -0
  41. package/dist/streaming/index.d.ts +1 -0
  42. package/dist/streaming/index.d.ts.map +1 -0
  43. package/dist/streaming/index.js +4 -0
  44. package/dist/streaming/index.js.map +1 -0
  45. package/dist/tools/index.d.ts +3 -0
  46. package/dist/tools/index.d.ts.map +1 -0
  47. package/dist/tools/index.js +7 -0
  48. package/dist/tools/index.js.map +1 -0
  49. package/dist/tools/tool-creator.d.ts +3 -0
  50. package/dist/tools/tool-creator.d.ts.map +1 -0
  51. package/dist/tools/tool-creator.js +105 -0
  52. package/dist/tools/tool-creator.js.map +1 -0
  53. package/dist/types/all-types.d.ts +432 -0
  54. package/dist/types/all-types.d.ts.map +1 -0
  55. package/dist/{types.js → types/all-types.js} +1 -2
  56. package/dist/types/all-types.js.map +1 -0
  57. package/dist/types/index.d.ts +2 -0
  58. package/dist/types/index.d.ts.map +1 -0
  59. package/dist/types/index.js +19 -0
  60. package/dist/types/index.js.map +1 -0
  61. package/dist/workflows/index.d.ts +3 -0
  62. package/dist/workflows/index.d.ts.map +1 -0
  63. package/dist/workflows/index.js +13 -0
  64. package/dist/workflows/index.js.map +1 -0
  65. package/dist/workflows/workflow.d.ts +53 -0
  66. package/dist/workflows/workflow.d.ts.map +1 -0
  67. package/dist/workflows/workflow.js +414 -0
  68. package/dist/workflows/workflow.js.map +1 -0
  69. package/package.json +69 -21
  70. package/README.md +0 -892
  71. package/dist/agents/runflow-agent.d.ts +0 -54
  72. package/dist/agents/runflow-agent.d.ts.map +0 -1
  73. package/dist/agents/runflow-agent.js +0 -343
  74. package/dist/agents/runflow-agent.js.map +0 -1
  75. package/dist/agents/server.d.ts +0 -47
  76. package/dist/agents/server.d.ts.map +0 -1
  77. package/dist/agents/server.js +0 -329
  78. package/dist/agents/server.js.map +0 -1
  79. package/dist/agents/swagger.d.ts +0 -758
  80. package/dist/agents/swagger.d.ts.map +0 -1
  81. package/dist/agents/swagger.js +0 -375
  82. package/dist/agents/swagger.js.map +0 -1
  83. package/dist/config.d.ts +0 -17
  84. package/dist/config.d.ts.map +0 -1
  85. package/dist/config.js +0 -131
  86. package/dist/config.js.map +0 -1
  87. package/dist/runflow-sdk.d.ts +0 -57
  88. package/dist/runflow-sdk.d.ts.map +0 -1
  89. package/dist/runflow-sdk.js +0 -622
  90. package/dist/runflow-sdk.js.map +0 -1
  91. package/dist/singleton.d.ts +0 -37
  92. package/dist/singleton.d.ts.map +0 -1
  93. package/dist/singleton.js +0 -86
  94. package/dist/singleton.js.map +0 -1
  95. package/dist/types.d.ts +0 -147
  96. package/dist/types.d.ts.map +0 -1
  97. package/dist/types.js.map +0 -1
  98. package/dist/utils.d.ts +0 -74
  99. package/dist/utils.d.ts.map +0 -1
  100. package/dist/utils.js +0 -312
  101. package/dist/utils.js.map +0 -1
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuDA,sCAIC;AAGD,gDAQC;AAGD,8BAEC;AAGD,kDAUC;AAxFD,6CAA2D;AAAlD,yGAAA,UAAU,OAAA;AAAE,6GAAA,cAAc,OAAA;AACnC,0CAAwB;AACxB,mCAIkB;AAHhB,2GAAA,iBAAiB,OAAA;AACjB,6GAAA,mBAAmB,OAAA;AACnB,mHAAA,yBAAyB,OAAA;AAG3B,kBAAkB;AAClB,wDAKgC;AAJ9B,6GAAA,YAAY,OAAA;AAKd,0CAKyB;AAJvB,2GAAA,iBAAiB,OAAA;AACjB,oGAAA,UAAU,OAAA;AAMZ,yDAAyD;AACzD,yCAcqB;AAbnB,mGAAA,MAAM,OAAA;AACN,qGAAA,QAAQ,OAAA;AACR,2GAAA,cAAc,OAAA;AACd,0GAAA,aAAa,OAAA;AACb,sGAAA,SAAS,OAAA;AACT,qHAAA,wBAAwB,OAAA;AACxB,8GAAA,iBAAiB,OAAA;AACjB,wGAAA,WAAW,OAAA;AACX,0GAAA,aAAa,OAAA;AACb,2GAAA,cAAc,OAAA;AACd,uGAAA,UAAU,OAAA;AACV,gGAAA,GAAG,OAAA;AACH,kGAAA,KAAK,OAAA;AAGP,qBAAqB;AACrB,iCAWiB;AAVf,2GAAA,kBAAkB,OAAA;AAClB,yGAAA,gBAAgB,OAAA;AAChB,0GAAA,iBAAiB,OAAA;AACjB,mGAAA,UAAU,OAAA;AACV,sGAAA,aAAa,OAAA;AACb,oGAAA,WAAW,OAAA;AACX,iGAAA,QAAQ,OAAA;AACR,oGAAA,WAAW,OAAA;AACX,wGAAA,eAAe,OAAA;AACf,qGAAA,YAAY,OAAA;AAGd,2CAA2C;AAC3C,SAAgB,aAAa,CAC3B,EAA4H;IAE5H,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,8DAA8D;AAC9D,SAAgB,kBAAkB,CAChC,OAA0K;IAE1K,OAAO,KAAK,EAAE,KAAmC,EAAE,OAAuC,EAAE,EAAE;QAC5F,MAAM,EAAE,MAAM,EAAE,GAAG,wDAAa,aAAa,GAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC,CAAC;AACJ,CAAC;AAED,+DAA+D;AAC/D,SAAgB,SAAS,CAAC,OAAwC;IAChE,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAC5D,CAAC;AAED,8CAA8C;AAC9C,SAAgB,mBAAmB,CACjC,SAAmI;IAEnI,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC9B,6CAA6C;QAC7C,MAAM,EAAE,MAAM,EAAE,GAAG,wDAAa,aAAa,GAAC,CAAC;QAC/C,MAAM,CAAC,OAAO,CAAC,CAAC;QAEhB,OAAO,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,+EAA+E;AAC/E,gCAAgC;AAChC,+EAA+E;;;AAE/E,qCAAqC;AACrC,+BAMgB;AALd,6FAAA,KAAK,OAAA;AACL,8FAAA,MAAM,OAAA;AACN,iGAAA,SAAS,OAAA;AACT,8GAAA,sBAAsB,OAAA;AACtB,4GAAA,oBAAoB,OAAA;AAGtB,QAAQ;AACR,iCAEiB;AADf,mGAAA,UAAU,OAAA;AAGZ,aAAa;AACb,2CAMsB;AALpB,iHAAA,mBAAmB,OAAA;AACnB,qGAAA,OAAO,OAAA;AACP,oGAAA,MAAM,OAAA;AACN,mGAAA,KAAK,OAAA;AACL,mGAAA,KAAK,OAAA;AAGP,YAAY;AACZ,yCAQqB;AAPnB,qGAAA,QAAQ,OAAA;AACR,4GAAA,eAAe,OAAA;AACf,2GAAA,cAAc,OAAA;AACd,uGAAA,UAAU,OAAA;AACV,4GAAA,eAAe,OAAA;AACf,+GAAA,kBAAkB,OAAA;AAClB,gHAAA,mBAAmB,OAAA;AAGrB,gBAAgB;AAChB,iDAKyB;AAJvB,sHAAA,qBAAqB,OAAA;AACrB,iHAAA,gBAAgB,OAAA;AAChB,qHAAA,oBAAoB,OAAA;AACpB,uGAAA,MAAM,OAAA;AAqDR,+EAA+E;AAC/E,yCAAyC;AACzC,+EAA+E;AAE/E,4CAA4C;AAC5C,4CAA4C;AAE5C,iDAAiD;AACjD,iDAAiD;AAEjD,qBAAqB;AACrB,oDAAoD;AAEpD,oBAAoB;AACpB,kDAAkD;AAElD,sBAAsB;AACtB,mDAAmD"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/memory/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ // Memory exports (future)
3
+ // export { MemoryManager } from './memory-manager';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/memory/index.ts"],"names":[],"mappings":";AAAA,0BAA0B;AAC1B,oDAAoD"}
@@ -0,0 +1,3 @@
1
+ export { RunflowTraceCollector, RunflowTraceSpan, createTraceCollector, traced, } from './trace-collector';
2
+ export type { TraceData, TraceMetadata, TraceCosts, TraceCollector, TraceSpan } from '../types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/observability/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,oBAAoB,EACpB,MAAM,GACP,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EACV,SAAS,EACT,aAAa,EACb,UAAU,EACV,cAAc,EACd,SAAS,EACV,MAAM,UAAU,CAAC"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.traced = exports.createTraceCollector = exports.RunflowTraceSpan = exports.RunflowTraceCollector = void 0;
4
+ // Observability exports
5
+ var trace_collector_1 = require("./trace-collector");
6
+ Object.defineProperty(exports, "RunflowTraceCollector", { enumerable: true, get: function () { return trace_collector_1.RunflowTraceCollector; } });
7
+ Object.defineProperty(exports, "RunflowTraceSpan", { enumerable: true, get: function () { return trace_collector_1.RunflowTraceSpan; } });
8
+ Object.defineProperty(exports, "createTraceCollector", { enumerable: true, get: function () { return trace_collector_1.createTraceCollector; } });
9
+ Object.defineProperty(exports, "traced", { enumerable: true, get: function () { return trace_collector_1.traced; } });
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/observability/index.ts"],"names":[],"mappings":";;;AAAA,wBAAwB;AACxB,qDAK2B;AAJzB,wHAAA,qBAAqB,OAAA;AACrB,mHAAA,gBAAgB,OAAA;AAChB,uHAAA,oBAAoB,OAAA;AACpB,yGAAA,MAAM,OAAA"}
@@ -0,0 +1,43 @@
1
+ import { TraceCollector, TraceSpan, TraceData, TraceMetadata, TraceCosts, TraceCollectorOptions, RunflowAPIClient } from '../types';
2
+ export declare class RunflowTraceCollector implements TraceCollector {
3
+ private apiClient;
4
+ private projectId;
5
+ private pendingTraces;
6
+ private options;
7
+ private flushTimer?;
8
+ constructor(apiClient: RunflowAPIClient, projectId: string, options?: TraceCollectorOptions);
9
+ trace(data: Omit<TraceData, 'traceId' | 'startTime' | 'endTime' | 'duration'>): string;
10
+ startSpan(operation: string, metadata?: Partial<TraceMetadata>): TraceSpan;
11
+ flush(): Promise<void>;
12
+ configure(options: TraceCollectorOptions): void;
13
+ private addTrace;
14
+ private sendTraces;
15
+ private generateTraceId;
16
+ private startFlushTimer;
17
+ private stopFlushTimer;
18
+ destroy(): void;
19
+ }
20
+ export declare class RunflowTraceSpan implements TraceSpan {
21
+ readonly traceId: string;
22
+ private projectId;
23
+ private operation;
24
+ private startTime;
25
+ private input?;
26
+ private output?;
27
+ private metadata;
28
+ private costs?;
29
+ private error?;
30
+ private finished;
31
+ private onFinish;
32
+ constructor(traceId: string, projectId: string, operation: string, startTime: Date, initialMetadata: Partial<TraceMetadata>, onFinish: (trace: TraceData) => void);
33
+ setInput(input: any): void;
34
+ setOutput(output: any): void;
35
+ setMetadata(metadata: Partial<TraceMetadata>): void;
36
+ setCosts(costs: Partial<TraceCosts>): void;
37
+ setError(error: string | Error): void;
38
+ finish(): void;
39
+ private inferTraceType;
40
+ }
41
+ export declare function createTraceCollector(apiClient: RunflowAPIClient, projectId: string, options?: TraceCollectorOptions): TraceCollector;
42
+ export declare function traced(operation: string, metadata?: Partial<TraceMetadata>): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
43
+ //# sourceMappingURL=trace-collector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace-collector.d.ts","sourceRoot":"","sources":["../../src/observability/trace-collector.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,SAAS,EACT,SAAS,EACT,aAAa,EACb,UAAU,EACV,qBAAqB,EACrB,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAMlB,qBAAa,qBAAsB,YAAW,cAAc;IAC1D,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,aAAa,CAAmB;IACxC,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,UAAU,CAAC,CAAiB;gBAExB,SAAS,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B;IAgB/F,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,UAAU,CAAC,GAAG,MAAM;IA6BtF,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAO,CAAC,aAAa,CAAM,GAAG,SAAS;IAiBxE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB5B,SAAS,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI;IAW/C,OAAO,CAAC,QAAQ;YAYF,UAAU;IAexB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,cAAc;IAQtB,OAAO,IAAI,IAAI;CAIhB;AAMD,qBAAa,gBAAiB,YAAW,SAAS;IAChD,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAO;IACxB,OAAO,CAAC,KAAK,CAAC,CAAM;IACpB,OAAO,CAAC,MAAM,CAAC,CAAM;IACrB,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,KAAK,CAAC,CAAa;IAC3B,OAAO,CAAC,KAAK,CAAC,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAA6B;gBAG3C,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,IAAI,EACf,eAAe,EAAE,OAAO,CAAC,aAAa,CAAC,EACvC,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI;IAUtC,QAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAI1B,SAAS,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI;IAI5B,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI;IAInD,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI;IAI1C,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IAIrC,MAAM,IAAI,IAAI;IA8Bd,OAAO,CAAC,cAAc;CAavB;AAMD,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,gBAAgB,EAC3B,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,cAAc,CAEhB;AAGD,wBAAgB,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,IACxD,QAAQ,GAAG,EAAE,aAAa,MAAM,EAAE,YAAY,kBAAkB,wBA2BlF"}
@@ -0,0 +1,233 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RunflowTraceSpan = exports.RunflowTraceCollector = void 0;
4
+ exports.createTraceCollector = createTraceCollector;
5
+ exports.traced = traced;
6
+ // ============================================================================
7
+ // TRACE COLLECTOR IMPLEMENTATION
8
+ // ============================================================================
9
+ class RunflowTraceCollector {
10
+ constructor(apiClient, projectId, options = {}) {
11
+ this.pendingTraces = [];
12
+ this.apiClient = apiClient;
13
+ this.projectId = projectId;
14
+ this.options = {
15
+ batchSize: options.batchSize || 10,
16
+ flushInterval: options.flushInterval || 5000,
17
+ maxRetries: options.maxRetries || 3,
18
+ enableSampling: options.enableSampling || false,
19
+ samplingRate: options.samplingRate || 1.0,
20
+ };
21
+ // Auto-flush timer
22
+ this.startFlushTimer();
23
+ }
24
+ // Collect trace
25
+ trace(data) {
26
+ // Sampling
27
+ if (this.options.enableSampling && Math.random() > this.options.samplingRate) {
28
+ return 'sampled_out';
29
+ }
30
+ const traceId = this.generateTraceId();
31
+ const now = new Date();
32
+ const trace = {
33
+ ...data,
34
+ traceId,
35
+ projectId: this.projectId,
36
+ startTime: now,
37
+ endTime: now,
38
+ duration: 0, // Será calculado para spans
39
+ };
40
+ this.pendingTraces.push(trace);
41
+ // Auto-flush se batch cheio
42
+ if (this.pendingTraces.length >= this.options.batchSize) {
43
+ this.flush();
44
+ }
45
+ return traceId;
46
+ }
47
+ // Start span
48
+ startSpan(operation, metadata = {}) {
49
+ const traceId = this.generateTraceId();
50
+ const startTime = new Date();
51
+ console.log(`🔍 [TRACE COLLECTOR] Starting span: ${operation} (${traceId})`);
52
+ return new RunflowTraceSpan(traceId, this.projectId, operation, startTime, metadata, (traceData) => this.addTrace(traceData));
53
+ }
54
+ // Batch send
55
+ async flush() {
56
+ if (this.pendingTraces.length === 0) {
57
+ return;
58
+ }
59
+ const tracesToSend = [...this.pendingTraces];
60
+ this.pendingTraces = [];
61
+ try {
62
+ await this.sendTraces(tracesToSend);
63
+ }
64
+ catch (error) {
65
+ console.error('Failed to send traces:', error);
66
+ // Re-add traces for retry (with limit)
67
+ if (tracesToSend.length < 100) { // Prevent memory leak
68
+ this.pendingTraces.unshift(...tracesToSend);
69
+ }
70
+ }
71
+ }
72
+ // Configure collector
73
+ configure(options) {
74
+ this.options = { ...this.options, ...options };
75
+ // Restart flush timer if interval changed
76
+ if (options.flushInterval) {
77
+ this.stopFlushTimer();
78
+ this.startFlushTimer();
79
+ }
80
+ }
81
+ // Private methods
82
+ addTrace(trace) {
83
+ console.log(`📊 [TRACE COLLECTOR] Adding trace: ${trace.operation} (${trace.traceId})`);
84
+ console.log(`📈 [TRACE COLLECTOR] Pending traces: ${this.pendingTraces.length + 1}/${this.options.batchSize}`);
85
+ this.pendingTraces.push(trace);
86
+ if (this.pendingTraces.length >= this.options.batchSize) {
87
+ console.log(`🚀 [TRACE COLLECTOR] Batch full, triggering flush...`);
88
+ this.flush();
89
+ }
90
+ }
91
+ async sendTraces(traces) {
92
+ console.log(`🌐 [TRACE COLLECTOR] Sending ${traces.length} traces to API...`);
93
+ try {
94
+ await this.apiClient.sendTraces({
95
+ projectId: this.projectId,
96
+ traces,
97
+ });
98
+ console.log(`✅ [TRACE COLLECTOR] Successfully sent ${traces.length} traces`);
99
+ }
100
+ catch (error) {
101
+ console.error(`❌ [TRACE COLLECTOR] Failed to send traces:`, error);
102
+ throw error;
103
+ }
104
+ }
105
+ generateTraceId() {
106
+ return `trace_${Date.now()}_${Math.random().toString(36).substring(2, 8)}`;
107
+ }
108
+ startFlushTimer() {
109
+ this.flushTimer = setInterval(() => {
110
+ this.flush();
111
+ }, this.options.flushInterval);
112
+ }
113
+ stopFlushTimer() {
114
+ if (this.flushTimer) {
115
+ clearInterval(this.flushTimer);
116
+ this.flushTimer = undefined;
117
+ }
118
+ }
119
+ // Cleanup
120
+ destroy() {
121
+ this.stopFlushTimer();
122
+ this.flush(); // Final flush
123
+ }
124
+ }
125
+ exports.RunflowTraceCollector = RunflowTraceCollector;
126
+ // ============================================================================
127
+ // TRACE SPAN IMPLEMENTATION
128
+ // ============================================================================
129
+ class RunflowTraceSpan {
130
+ constructor(traceId, projectId, operation, startTime, initialMetadata, onFinish) {
131
+ this.finished = false;
132
+ this.traceId = traceId;
133
+ this.projectId = projectId;
134
+ this.operation = operation;
135
+ this.startTime = startTime;
136
+ this.metadata = { ...initialMetadata };
137
+ this.onFinish = onFinish;
138
+ }
139
+ setInput(input) {
140
+ this.input = input;
141
+ }
142
+ setOutput(output) {
143
+ this.output = output;
144
+ }
145
+ setMetadata(metadata) {
146
+ this.metadata = { ...this.metadata, ...metadata };
147
+ }
148
+ setCosts(costs) {
149
+ this.costs = { ...this.costs, ...costs };
150
+ }
151
+ setError(error) {
152
+ this.error = error instanceof Error ? error.message : error;
153
+ }
154
+ finish() {
155
+ if (this.finished) {
156
+ return;
157
+ }
158
+ this.finished = true;
159
+ const endTime = new Date();
160
+ const duration = endTime.getTime() - this.startTime.getTime();
161
+ console.log(`🏁 [TRACE SPAN] Finishing span: ${this.operation} (${this.traceId}) - ${duration}ms`);
162
+ const trace = {
163
+ traceId: this.traceId,
164
+ projectId: this.projectId,
165
+ type: this.inferTraceType(),
166
+ operation: this.operation,
167
+ input: this.input,
168
+ output: this.output,
169
+ status: this.error ? 'error' : 'success',
170
+ error: this.error,
171
+ startTime: this.startTime,
172
+ endTime,
173
+ duration,
174
+ metadata: this.metadata,
175
+ costs: this.costs,
176
+ };
177
+ this.onFinish(trace);
178
+ }
179
+ inferTraceType() {
180
+ // Inferir tipo baseado na operação
181
+ if (this.operation.startsWith('agent_'))
182
+ return 'agent_execution';
183
+ if (this.operation.startsWith('workflow_'))
184
+ return 'workflow_execution';
185
+ if (this.operation.startsWith('tool_'))
186
+ return 'tool_call';
187
+ if (this.operation.startsWith('connector_'))
188
+ return 'connector_call';
189
+ if (this.operation.startsWith('vector_'))
190
+ return 'vector_search';
191
+ if (this.operation.startsWith('memory_'))
192
+ return 'memory_operation';
193
+ if (this.operation.startsWith('llm_'))
194
+ return 'llm_call';
195
+ if (this.operation.startsWith('stream_'))
196
+ return 'streaming_session';
197
+ return 'agent_execution'; // default
198
+ }
199
+ }
200
+ exports.RunflowTraceSpan = RunflowTraceSpan;
201
+ // ============================================================================
202
+ // HELPER FUNCTIONS
203
+ // ============================================================================
204
+ function createTraceCollector(apiClient, projectId, options) {
205
+ return new RunflowTraceCollector(apiClient, projectId, options);
206
+ }
207
+ // Decorator para auto-tracing
208
+ function traced(operation, metadata) {
209
+ return function (target, propertyKey, descriptor) {
210
+ const originalMethod = descriptor.value;
211
+ descriptor.value = async function (...args) {
212
+ const traceCollector = this.traceCollector;
213
+ if (!traceCollector) {
214
+ return originalMethod.apply(this, args);
215
+ }
216
+ const span = traceCollector.startSpan(operation, metadata);
217
+ span.setInput(args);
218
+ try {
219
+ const result = await originalMethod.apply(this, args);
220
+ span.setOutput(result);
221
+ span.finish();
222
+ return result;
223
+ }
224
+ catch (error) {
225
+ span.setError(error);
226
+ span.finish();
227
+ throw error;
228
+ }
229
+ };
230
+ return descriptor;
231
+ };
232
+ }
233
+ //# sourceMappingURL=trace-collector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace-collector.js","sourceRoot":"","sources":["../../src/observability/trace-collector.ts"],"names":[],"mappings":";;;AA2QA,oDAMC;AAGD,wBA4BC;AAtSD,+EAA+E;AAC/E,iCAAiC;AACjC,+EAA+E;AAE/E,MAAa,qBAAqB;IAOhC,YAAY,SAA2B,EAAE,SAAiB,EAAE,UAAiC,EAAE;QAJvF,kBAAa,GAAgB,EAAE,CAAC;QAKtC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG;YACb,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE;YAClC,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,IAAI;YAC5C,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,CAAC;YACnC,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,KAAK;YAC/C,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,GAAG;SAC1C,CAAC;QAEF,mBAAmB;QACnB,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,gBAAgB;IAChB,KAAK,CAAC,IAAuE;QAC3E,WAAW;QACX,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC7E,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QAEvB,MAAM,KAAK,GAAc;YACvB,GAAG,IAAI;YACP,OAAO;YACP,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,GAAG;YACd,OAAO,EAAE,GAAG;YACZ,QAAQ,EAAE,CAAC,EAAE,4BAA4B;SAC1C,CAAC;QAEF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE/B,4BAA4B;QAC5B,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACxD,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,aAAa;IACb,SAAS,CAAC,SAAiB,EAAE,WAAmC,EAAE;QAChE,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACvC,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAE7B,OAAO,CAAC,GAAG,CAAC,uCAAuC,SAAS,KAAK,OAAO,GAAG,CAAC,CAAC;QAE7E,OAAO,IAAI,gBAAgB,CACzB,OAAO,EACP,IAAI,CAAC,SAAS,EACd,SAAS,EACT,SAAS,EACT,QAAQ,EACR,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CACxC,CAAC;IACJ,CAAC;IAED,aAAa;IACb,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;QAC7C,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QAExB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;YAC/C,uCAAuC;YACvC,IAAI,YAAY,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,sBAAsB;gBACrD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;IACH,CAAC;IAED,sBAAsB;IACtB,SAAS,CAAC,OAA8B;QACtC,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC;QAE/C,0CAA0C;QAC1C,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YAC1B,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAED,kBAAkB;IACV,QAAQ,CAAC,KAAgB;QAC/B,OAAO,CAAC,GAAG,CAAC,sCAAsC,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;QACxF,OAAO,CAAC,GAAG,CAAC,wCAAwC,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QAE/G,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE/B,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;YACpE,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,MAAmB;QAC1C,OAAO,CAAC,GAAG,CAAC,gCAAgC,MAAM,CAAC,MAAM,mBAAmB,CAAC,CAAC;QAE9E,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;gBAC9B,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,MAAM;aACP,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,yCAAyC,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC;QAC/E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,KAAK,CAAC,CAAC;YACnE,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,eAAe;QACrB,OAAO,SAAS,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IAC7E,CAAC;IAEO,eAAe;QACrB,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;YACjC,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACjC,CAAC;IAEO,cAAc;QACpB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,UAAU;IACV,OAAO;QACL,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,cAAc;IAC9B,CAAC;CACF;AArJD,sDAqJC;AAED,+EAA+E;AAC/E,4BAA4B;AAC5B,+EAA+E;AAE/E,MAAa,gBAAgB;IAa3B,YACE,OAAe,EACf,SAAiB,EACjB,SAAiB,EACjB,SAAe,EACf,eAAuC,EACvC,QAAoC;QAT9B,aAAQ,GAAG,KAAK,CAAC;QAWvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,eAAe,EAAmB,CAAC;QACxD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,QAAQ,CAAC,KAAU;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,SAAS,CAAC,MAAW;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,WAAW,CAAC,QAAgC;QAC1C,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAC;IACpD,CAAC;IAED,QAAQ,CAAC,KAA0B;QACjC,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,KAAK,EAAgB,CAAC;IACzD,CAAC;IAED,QAAQ,CAAC,KAAqB;QAC5B,IAAI,CAAC,KAAK,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAC9D,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QAE9D,OAAO,CAAC,GAAG,CAAC,mCAAmC,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,OAAO,OAAO,QAAQ,IAAI,CAAC,CAAC;QAEnG,MAAM,KAAK,GAAc;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE;YAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;YACxC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO;YACP,QAAQ;YACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAEO,cAAc;QACpB,mCAAmC;QACnC,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,iBAAiB,CAAC;QAClE,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC;YAAE,OAAO,oBAAoB,CAAC;QACxE,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,OAAO,WAAW,CAAC;QAC3D,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC;YAAE,OAAO,gBAAgB,CAAC;QACrE,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,eAAe,CAAC;QACjE,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,kBAAkB,CAAC;QACpE,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,OAAO,UAAU,CAAC;QACzD,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,mBAAmB,CAAC;QAErE,OAAO,iBAAiB,CAAC,CAAC,UAAU;IACtC,CAAC;CACF;AA5FD,4CA4FC;AAED,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E,SAAgB,oBAAoB,CAClC,SAA2B,EAC3B,SAAiB,EACjB,OAA+B;IAE/B,OAAO,IAAI,qBAAqB,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AAClE,CAAC;AAED,8BAA8B;AAC9B,SAAgB,MAAM,CAAC,SAAiB,EAAE,QAAiC;IACzE,OAAO,UAAU,MAAW,EAAE,WAAmB,EAAE,UAA8B;QAC/E,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;QAExC,UAAU,CAAC,KAAK,GAAG,KAAK,WAAW,GAAG,IAAW;YAC/C,MAAM,cAAc,GAAI,IAAY,CAAC,cAAgC,CAAC;YAEtE,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC1C,CAAC;YAED,MAAM,IAAI,GAAG,cAAc,CAAC,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAC3D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEpB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACtD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBACvB,IAAI,CAAC,MAAM,EAAE,CAAC;gBACd,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,QAAQ,CAAC,KAAc,CAAC,CAAC;gBAC9B,IAAI,CAAC,MAAM,EAAE,CAAC;gBACd,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC,CAAC;QAEF,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/streaming/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ // Streaming exports (future)
3
+ // export { StreamProcessor } from './stream-processor';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/streaming/index.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,wDAAwD"}
@@ -0,0 +1,3 @@
1
+ export { createTool } from './tool-creator';
2
+ export type { RunflowTool, ToolConfig, ToolContext } from '../types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG5C,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createTool = void 0;
4
+ // Tool exports
5
+ var tool_creator_1 = require("./tool-creator");
6
+ Object.defineProperty(exports, "createTool", { enumerable: true, get: function () { return tool_creator_1.createTool; } });
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":";;;AAAA,eAAe;AACf,+CAA4C;AAAnC,0GAAA,UAAU,OAAA"}
@@ -0,0 +1,3 @@
1
+ import { RunflowTool, ToolConfig } from '../types';
2
+ export declare function createTool<TInput = any, TOutput = any>(config: ToolConfig<TInput, TOutput>): RunflowTool;
3
+ //# sourceMappingURL=tool-creator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-creator.d.ts","sourceRoot":"","sources":["../../src/tools/tool-creator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAiB,MAAM,UAAU,CAAC;AAMlE,wBAAgB,UAAU,CAAC,MAAM,GAAG,GAAG,EAAE,OAAO,GAAG,GAAG,EACpD,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,WAAW,CAyBb"}
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createTool = createTool;
4
+ const zod_1 = require("zod");
5
+ // ============================================================================
6
+ // TOOL CREATION
7
+ // ============================================================================
8
+ function createTool(config) {
9
+ return {
10
+ id: config.id,
11
+ name: config.id,
12
+ description: config.description,
13
+ parameters: zodToParameters(config.inputSchema),
14
+ execute: async (params, context) => {
15
+ // Validar input com Zod
16
+ const validatedInput = config.inputSchema.parse(params);
17
+ // Executar com contexto Runflow
18
+ const result = await config.execute({
19
+ context: validatedInput,
20
+ runflow: context.runflowAPI,
21
+ projectId: context.projectId,
22
+ });
23
+ // Validar output se schema fornecido
24
+ if (config.outputSchema) {
25
+ return config.outputSchema.parse(result);
26
+ }
27
+ return result;
28
+ },
29
+ };
30
+ }
31
+ // ============================================================================
32
+ // ZOD TO PARAMETERS CONVERSION
33
+ // ============================================================================
34
+ function zodToParameters(schema) {
35
+ if (schema instanceof zod_1.z.ZodObject) {
36
+ const shape = schema.shape;
37
+ const parameters = {};
38
+ for (const [key, fieldSchema] of Object.entries(shape)) {
39
+ parameters[key] = zodFieldToParameter(fieldSchema);
40
+ }
41
+ return parameters;
42
+ }
43
+ // Fallback para schemas não-object
44
+ return {
45
+ input: zodFieldToParameter(schema),
46
+ };
47
+ }
48
+ function zodFieldToParameter(schema) {
49
+ // ZodString
50
+ if (schema instanceof zod_1.z.ZodString) {
51
+ const param = {
52
+ type: 'string',
53
+ description: schema.description,
54
+ };
55
+ // Check if it's an enum
56
+ if ('_def' in schema && 'values' in schema._def) {
57
+ param.enum = schema._def.values;
58
+ }
59
+ return param;
60
+ }
61
+ // ZodNumber
62
+ if (schema instanceof zod_1.z.ZodNumber) {
63
+ return {
64
+ type: 'number',
65
+ description: schema.description,
66
+ };
67
+ }
68
+ // ZodBoolean
69
+ if (schema instanceof zod_1.z.ZodBoolean) {
70
+ return {
71
+ type: 'boolean',
72
+ description: schema.description,
73
+ };
74
+ }
75
+ // ZodArray
76
+ if (schema instanceof zod_1.z.ZodArray) {
77
+ return {
78
+ type: 'array',
79
+ description: schema.description,
80
+ };
81
+ }
82
+ // ZodObject
83
+ if (schema instanceof zod_1.z.ZodObject) {
84
+ return {
85
+ type: 'object',
86
+ description: schema.description,
87
+ };
88
+ }
89
+ // ZodOptional
90
+ if (schema instanceof zod_1.z.ZodOptional) {
91
+ const param = zodFieldToParameter(schema._def.innerType);
92
+ param.required = false;
93
+ return param;
94
+ }
95
+ // ZodDefault
96
+ if (schema instanceof zod_1.z.ZodDefault) {
97
+ return zodFieldToParameter(schema._def.innerType);
98
+ }
99
+ // Fallback
100
+ return {
101
+ type: 'string',
102
+ description: schema.description || 'Parameter',
103
+ };
104
+ }
105
+ //# sourceMappingURL=tool-creator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-creator.js","sourceRoot":"","sources":["../../src/tools/tool-creator.ts"],"names":[],"mappings":"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"}