@runtypelabs/sdk 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 (62) hide show
  1. package/README.md +398 -0
  2. package/dist/batch-builder.d.ts +106 -0
  3. package/dist/batch-builder.d.ts.map +1 -0
  4. package/dist/batch-builder.js +124 -0
  5. package/dist/batch-builder.js.map +1 -0
  6. package/dist/batches-namespace.d.ts +132 -0
  7. package/dist/batches-namespace.d.ts.map +1 -0
  8. package/dist/batches-namespace.js +128 -0
  9. package/dist/batches-namespace.js.map +1 -0
  10. package/dist/client.d.ts +121 -0
  11. package/dist/client.d.ts.map +1 -0
  12. package/dist/client.js +485 -0
  13. package/dist/client.js.map +1 -0
  14. package/dist/endpoints.d.ts +560 -0
  15. package/dist/endpoints.d.ts.map +1 -0
  16. package/dist/endpoints.js +725 -0
  17. package/dist/endpoints.js.map +1 -0
  18. package/dist/eval-builder.d.ts +216 -0
  19. package/dist/eval-builder.d.ts.map +1 -0
  20. package/dist/eval-builder.js +225 -0
  21. package/dist/eval-builder.js.map +1 -0
  22. package/dist/evals-namespace.d.ts +205 -0
  23. package/dist/evals-namespace.d.ts.map +1 -0
  24. package/dist/evals-namespace.js +208 -0
  25. package/dist/evals-namespace.js.map +1 -0
  26. package/dist/flow-builder.d.ts +620 -0
  27. package/dist/flow-builder.d.ts.map +1 -0
  28. package/dist/flow-builder.js +565 -0
  29. package/dist/flow-builder.js.map +1 -0
  30. package/dist/flow-result.d.ts +117 -0
  31. package/dist/flow-result.d.ts.map +1 -0
  32. package/dist/flow-result.js +175 -0
  33. package/dist/flow-result.js.map +1 -0
  34. package/dist/flows-namespace.d.ts +430 -0
  35. package/dist/flows-namespace.d.ts.map +1 -0
  36. package/dist/flows-namespace.js +679 -0
  37. package/dist/flows-namespace.js.map +1 -0
  38. package/dist/index.d.ts +23 -0
  39. package/dist/index.d.ts.map +1 -0
  40. package/dist/index.js +76 -0
  41. package/dist/index.js.map +1 -0
  42. package/dist/prompts-namespace.d.ts +236 -0
  43. package/dist/prompts-namespace.d.ts.map +1 -0
  44. package/dist/prompts-namespace.js +222 -0
  45. package/dist/prompts-namespace.js.map +1 -0
  46. package/dist/runtype.d.ts +232 -0
  47. package/dist/runtype.d.ts.map +1 -0
  48. package/dist/runtype.js +367 -0
  49. package/dist/runtype.js.map +1 -0
  50. package/dist/stream-utils.d.ts +58 -0
  51. package/dist/stream-utils.d.ts.map +1 -0
  52. package/dist/stream-utils.js +348 -0
  53. package/dist/stream-utils.js.map +1 -0
  54. package/dist/transform.d.ts +21 -0
  55. package/dist/transform.d.ts.map +1 -0
  56. package/dist/transform.js +170 -0
  57. package/dist/transform.js.map +1 -0
  58. package/dist/types.d.ts +626 -0
  59. package/dist/types.d.ts.map +1 -0
  60. package/dist/types.js +7 -0
  61. package/dist/types.js.map +1 -0
  62. package/package.json +61 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evals-namespace.d.ts","sourceRoot":"","sources":["../src/evals-namespace.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,208 @@
1
+ "use strict";
2
+ /**
3
+ * EvalsNamespace - Static namespace for evaluation operations
4
+ *
5
+ * Provides methods for running evaluations and comparing model performance.
6
+ * Evals can be streamed for real-time results or submitted as batch jobs.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.EvalsNamespace = exports.EvalRunner = void 0;
10
+ const flow_result_1 = require("./flow-result");
11
+ // ============================================================================
12
+ // EvalRunner
13
+ // ============================================================================
14
+ /**
15
+ * EvalRunner - Builder returned by Runtype.evals.run()
16
+ *
17
+ * Provides terminal methods for executing evaluations:
18
+ * - .stream() - Execute and stream results in real-time
19
+ * - .submit() - Submit as a batch job for async processing
20
+ */
21
+ class EvalRunner {
22
+ constructor(getClient, config) {
23
+ this.getClient = getClient;
24
+ this.config = config;
25
+ }
26
+ /**
27
+ * Execute the evaluation with streaming results
28
+ *
29
+ * Streams evaluation results as they complete.
30
+ * Good for real-time feedback during development/testing.
31
+ *
32
+ * @example
33
+ * ```typescript
34
+ * const result = await Runtype.evals.run({
35
+ * flowId: 'flow_123',
36
+ * recordType: 'test_data',
37
+ * models: [{ stepName: 'Analyze', model: 'gpt-4o' }]
38
+ * }).stream()
39
+ *
40
+ * // Process with callbacks
41
+ * await result.stream({
42
+ * onStepComplete: (result, event) => {
43
+ * console.log('Step completed:', event.name, result)
44
+ * },
45
+ * })
46
+ * ```
47
+ */
48
+ async stream(callbacks) {
49
+ const client = this.getClient();
50
+ const payload = this.buildPayload();
51
+ payload.stream = true;
52
+ const response = await client.requestStream('/eval/stream', {
53
+ method: 'POST',
54
+ body: JSON.stringify(payload)
55
+ });
56
+ const result = new flow_result_1.FlowResult(response);
57
+ if (callbacks) {
58
+ await result.stream(callbacks);
59
+ }
60
+ return result;
61
+ }
62
+ /**
63
+ * Submit the evaluation as a batch job
64
+ *
65
+ * Queues the evaluation to run asynchronously.
66
+ * Good for large evaluations or scheduled runs.
67
+ *
68
+ * @example
69
+ * ```typescript
70
+ * const eval = await Runtype.evals.run({
71
+ * flowId: 'flow_123',
72
+ * recordType: 'test_data',
73
+ * compareModels: [
74
+ * [{ stepName: 'Analyze', model: 'gpt-4o' }],
75
+ * [{ stepName: 'Analyze', model: 'claude-3-opus' }],
76
+ * ]
77
+ * }).submit()
78
+ *
79
+ * console.log('Eval queued:', eval.evalId)
80
+ *
81
+ * // Check status later
82
+ * const status = await Runtype.evals.get(eval.evalId)
83
+ * ```
84
+ */
85
+ async submit() {
86
+ const client = this.getClient();
87
+ const payload = this.buildPayload();
88
+ payload.async = true;
89
+ return client.post('/evals', payload);
90
+ }
91
+ /**
92
+ * Build the evaluation payload
93
+ */
94
+ buildPayload() {
95
+ const payload = {};
96
+ if (this.config.flowId) {
97
+ payload.flowId = this.config.flowId;
98
+ }
99
+ else if (this.config.flow) {
100
+ payload.flow = this.config.flow;
101
+ }
102
+ if (this.config.recordType) {
103
+ payload.recordType = this.config.recordType;
104
+ }
105
+ else if (this.config.records) {
106
+ payload.records = this.config.records;
107
+ }
108
+ if (this.config.models) {
109
+ payload.modelOverrides = this.config.models;
110
+ }
111
+ else if (this.config.compareModels) {
112
+ payload.modelConfigs = this.config.compareModels;
113
+ }
114
+ const options = {};
115
+ if (this.config.storeResults !== undefined)
116
+ options.storeResults = this.config.storeResults;
117
+ if (this.config.parallel !== undefined)
118
+ options.parallel = this.config.parallel;
119
+ if (this.config.concurrency !== undefined)
120
+ options.concurrency = this.config.concurrency;
121
+ if (this.config.continueOnError !== undefined)
122
+ options.continueOnError = this.config.continueOnError;
123
+ if (Object.keys(options).length > 0) {
124
+ payload.options = options;
125
+ }
126
+ if (this.config.filter) {
127
+ payload.filter = this.config.filter;
128
+ }
129
+ if (this.config.limit !== undefined) {
130
+ payload.limit = this.config.limit;
131
+ }
132
+ return payload;
133
+ }
134
+ }
135
+ exports.EvalRunner = EvalRunner;
136
+ // ============================================================================
137
+ // EvalsNamespace
138
+ // ============================================================================
139
+ class EvalsNamespace {
140
+ constructor(getClient) {
141
+ this.getClient = getClient;
142
+ }
143
+ /**
144
+ * Run an evaluation
145
+ *
146
+ * Returns an EvalRunner with terminal methods:
147
+ * - .stream() - Execute and stream results
148
+ * - .submit() - Submit as batch job
149
+ *
150
+ * @example
151
+ * ```typescript
152
+ * // Single model evaluation with streaming
153
+ * const result = await Runtype.evals.run({
154
+ * flowId: 'flow_123',
155
+ * recordType: 'test_data',
156
+ * models: [{ stepName: 'Analyze', model: 'gpt-4o' }]
157
+ * }).stream()
158
+ *
159
+ * // Multi-model comparison as batch
160
+ * const eval = await Runtype.evals.run({
161
+ * flowId: 'flow_123',
162
+ * recordType: 'test_data',
163
+ * compareModels: [
164
+ * [{ stepName: 'Analyze', model: 'gpt-4o' }],
165
+ * [{ stepName: 'Analyze', model: 'claude-3-opus' }],
166
+ * [{ stepName: 'Analyze', model: 'gemini-pro' }],
167
+ * ]
168
+ * }).submit()
169
+ * ```
170
+ */
171
+ run(config) {
172
+ return new EvalRunner(this.getClient, config);
173
+ }
174
+ /**
175
+ * Get evaluation status by ID
176
+ *
177
+ * @example
178
+ * ```typescript
179
+ * const status = await Runtype.evals.get('eval_123')
180
+ * console.log(status.status, status.completedRecords, '/', status.totalRecords)
181
+ * ```
182
+ */
183
+ async get(evalId) {
184
+ const client = this.getClient();
185
+ return client.get(`/evals/${evalId}`);
186
+ }
187
+ /**
188
+ * List evaluations
189
+ *
190
+ * @example
191
+ * ```typescript
192
+ * // List all evals
193
+ * const evals = await Runtype.evals.list()
194
+ *
195
+ * // Filter by status
196
+ * const running = await Runtype.evals.list({ status: 'running' })
197
+ *
198
+ * // Filter by flow
199
+ * const flowEvals = await Runtype.evals.list({ flowId: 'flow_123' })
200
+ * ```
201
+ */
202
+ async list(params) {
203
+ const client = this.getClient();
204
+ return client.get('/evals', params);
205
+ }
206
+ }
207
+ exports.EvalsNamespace = EvalsNamespace;
208
+ //# sourceMappingURL=evals-namespace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evals-namespace.js","sourceRoot":"","sources":["../src/evals-namespace.ts"],"names":[],"mappings":"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"}