@bratsos/workflow-engine 0.5.1 → 0.7.0

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 (41) hide show
  1. package/README.md +65 -12
  2. package/dist/{chunk-RZY5YRGL.js → chunk-2HEV5ZJL.js} +2 -2
  3. package/dist/chunk-2HEV5ZJL.js.map +1 -0
  4. package/dist/{chunk-WQPZ6KON.js → chunk-5C7LRNM7.js} +280 -93
  5. package/dist/chunk-5C7LRNM7.js.map +1 -0
  6. package/dist/{chunk-PHLNTR5Z.js → chunk-Q2XDO3UF.js} +28 -7
  7. package/dist/chunk-Q2XDO3UF.js.map +1 -0
  8. package/dist/{chunk-ZYMT2PAO.js → chunk-WWK2SPN7.js} +16 -37
  9. package/dist/chunk-WWK2SPN7.js.map +1 -0
  10. package/dist/{client-oLD5ilXp.d.ts → client-DYs5wlHp.d.ts} +17 -99
  11. package/dist/client.d.ts +4 -3
  12. package/dist/client.js +1 -1
  13. package/dist/events-D_P24UaY.d.ts +105 -0
  14. package/dist/{index-CVkkGnxx.d.ts → index-aNuJ2QgN.d.ts} +11 -1
  15. package/dist/index.d.ts +184 -32
  16. package/dist/index.js +41 -9
  17. package/dist/index.js.map +1 -1
  18. package/dist/{interface-TsryH4d7.d.ts → interface-BeEPzTFy.d.ts} +9 -3
  19. package/dist/kernel/index.d.ts +6 -5
  20. package/dist/kernel/index.js +2 -1
  21. package/dist/kernel/testing/index.d.ts +3 -2
  22. package/dist/persistence/index.d.ts +2 -2
  23. package/dist/persistence/index.js +2 -2
  24. package/dist/persistence/prisma/index.d.ts +2 -2
  25. package/dist/persistence/prisma/index.js +2 -2
  26. package/dist/{plugins-C94AT8Wr.d.ts → plugins-Cl0WVVrE.d.ts} +9 -6
  27. package/dist/{ports-855bktyD.d.ts → ports-swhiWFw4.d.ts} +5 -106
  28. package/dist/{stage-BPw7m9Wx.d.ts → stage-_7BKqqUG.d.ts} +2 -2
  29. package/dist/testing/index.d.ts +2 -1
  30. package/dist/testing/index.js +25 -6
  31. package/dist/testing/index.js.map +1 -1
  32. package/package.json +1 -1
  33. package/skills/workflow-engine/SKILL.md +30 -11
  34. package/skills/workflow-engine/references/02-workflow-builder.md +2 -0
  35. package/skills/workflow-engine/references/03-runtime-setup.md +1 -1
  36. package/skills/workflow-engine/references/08-common-patterns.md +2 -1
  37. package/skills/workflow-engine/references/09-troubleshooting.md +4 -3
  38. package/dist/chunk-PHLNTR5Z.js.map +0 -1
  39. package/dist/chunk-RZY5YRGL.js.map +0 -1
  40. package/dist/chunk-WQPZ6KON.js.map +0 -1
  41. package/dist/chunk-ZYMT2PAO.js.map +0 -1
@@ -278,34 +278,6 @@ var ModelStatsTracker = class _ModelStatsTracker {
278
278
  tracker.modelConfig = void 0;
279
279
  return tracker;
280
280
  }
281
- /**
282
- * Get the model ID for use with AI SDK
283
- * @deprecated Use getModelById(modelKey).id instead for parallel execution
284
- */
285
- getModelId() {
286
- if (!this.modelConfig) {
287
- throw new Error("Model not set for this tracker");
288
- }
289
- return this.modelConfig.id;
290
- }
291
- /**
292
- * Get the model configuration
293
- * @deprecated Use getModelById(modelKey) instead for parallel execution
294
- */
295
- getModelConfig() {
296
- if (!this.modelConfig) {
297
- throw new Error("Model not set for this tracker");
298
- }
299
- return this.modelConfig;
300
- }
301
- /**
302
- * Switch model (useful for sequential model switching)
303
- * @deprecated For parallel execution, pass model key to recordCall() instead
304
- */
305
- switchModel(modelKey) {
306
- this.modelKey = modelKey;
307
- this.modelConfig = getModel(modelKey);
308
- }
309
281
  /**
310
282
  * Get a model helper with bound recordCall for parallel execution
311
283
  * Perfect for running multiple AI calls in parallel with different models
@@ -1405,7 +1377,8 @@ var AIHelperImpl = class _AIHelperImpl {
1405
1377
  aiCallLogger;
1406
1378
  logContext;
1407
1379
  batchLogFn;
1408
- constructor(topic, aiCallLogger, logContext) {
1380
+ providerResolver;
1381
+ constructor(topic, aiCallLogger, logContext, providerResolver) {
1409
1382
  if (!aiCallLogger) {
1410
1383
  throw new Error(
1411
1384
  "AIHelperImpl requires a logger. Create one using createPrismaAICallLogger(prisma)."
@@ -1414,6 +1387,7 @@ var AIHelperImpl = class _AIHelperImpl {
1414
1387
  this.topic = topic;
1415
1388
  this.aiCallLogger = aiCallLogger;
1416
1389
  this.logContext = logContext;
1390
+ this.providerResolver = providerResolver;
1417
1391
  if (logContext) {
1418
1392
  this.batchLogFn = (level, message, meta) => {
1419
1393
  logContext.createLog({
@@ -1429,7 +1403,7 @@ var AIHelperImpl = class _AIHelperImpl {
1429
1403
  }
1430
1404
  async generateText(modelKey, prompt, options = {}) {
1431
1405
  const modelConfig = getModel(modelKey);
1432
- const model = getModelProvider(modelConfig);
1406
+ const model = this.providerResolver?.(modelConfig) ?? getModelProvider(modelConfig);
1433
1407
  const startTime = Date.now();
1434
1408
  const isMultimodal = Array.isArray(prompt);
1435
1409
  const hasTools = options.tools !== void 0;
@@ -1606,7 +1580,7 @@ var AIHelperImpl = class _AIHelperImpl {
1606
1580
  }
1607
1581
  async generateObject(modelKey, prompt, schema, options = {}) {
1608
1582
  const modelConfig = getModel(modelKey);
1609
- const model = getModelProvider(modelConfig);
1583
+ const model = this.providerResolver?.(modelConfig) ?? getModelProvider(modelConfig);
1610
1584
  const startTime = Date.now();
1611
1585
  const isMultimodal = Array.isArray(prompt);
1612
1586
  const hasTools = options.tools !== void 0;
@@ -1840,7 +1814,7 @@ var AIHelperImpl = class _AIHelperImpl {
1840
1814
  }
1841
1815
  streamText(modelKey, input, options = {}) {
1842
1816
  const modelConfig = getModel(modelKey);
1843
- const model = getModelProvider(modelConfig);
1817
+ const model = this.providerResolver?.(modelConfig) ?? getModelProvider(modelConfig);
1844
1818
  const startTime = Date.now();
1845
1819
  const hasTools = options.tools !== void 0;
1846
1820
  const promptForLog = "prompt" in input && input.prompt ? input.prompt : JSON.stringify(input.messages);
@@ -1994,7 +1968,12 @@ var AIHelperImpl = class _AIHelperImpl {
1994
1968
  }
1995
1969
  createChild(segment, id) {
1996
1970
  const newTopic = id ? `${this.topic}.${segment}.${id}` : `${this.topic}.${segment}`;
1997
- return new _AIHelperImpl(newTopic, this.aiCallLogger, this.logContext);
1971
+ return new _AIHelperImpl(
1972
+ newTopic,
1973
+ this.aiCallLogger,
1974
+ this.logContext,
1975
+ this.providerResolver
1976
+ );
1998
1977
  }
1999
1978
  /** @internal Get the logger for batch operations */
2000
1979
  getLogger() {
@@ -2308,10 +2287,10 @@ var AIBatchImpl = class {
2308
2287
  );
2309
2288
  }
2310
2289
  };
2311
- function createAIHelper(topic, logger2, logContext) {
2312
- return new AIHelperImpl(topic, logger2, logContext);
2290
+ function createAIHelper(topic, logger2, logContext, providerResolver) {
2291
+ return new AIHelperImpl(topic, logger2, logContext, providerResolver);
2313
2292
  }
2314
2293
 
2315
2294
  export { AVAILABLE_MODELS, AnthropicBatchProvider, DEFAULT_MODEL_KEY, GoogleBatchProvider, ModelKey, ModelStatsTracker, NoInputSchema, OpenAIBatchProvider, calculateCost, createAIHelper, defineAsyncBatchStage, defineStage, getBestProviderForModel, getDefaultModel, getModel, getModelById, getRegisteredModel, listModels, listRegisteredModels, modelSupportsBatch, printAvailableModels, registerEmbeddingProvider, registerModels, requireStageOutput, resolveModelForProvider };
2316
- //# sourceMappingURL=chunk-ZYMT2PAO.js.map
2317
- //# sourceMappingURL=chunk-ZYMT2PAO.js.map
2295
+ //# sourceMappingURL=chunk-WWK2SPN7.js.map
2296
+ //# sourceMappingURL=chunk-WWK2SPN7.js.map