@plumbus/core 0.8.0-beta.4 → 0.8.0-beta.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/CHANGELOG.md +46 -0
  2. package/README.md +6 -1
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/ai/ai/cost-tracker.d.ts +5 -1
  5. package/dist/ai/ai/model-pricing.d.ts +3 -2
  6. package/dist/ai/ai-service.d.ts +3 -0
  7. package/dist/ai/ai-service.d.ts.map +1 -1
  8. package/dist/ai/ai-service.js +146 -24
  9. package/dist/ai/ai-service.js.map +1 -1
  10. package/dist/ai/cost-tracker.d.ts +5 -1
  11. package/dist/ai/cost-tracker.d.ts.map +1 -1
  12. package/dist/ai/cost-tracker.js +7 -2
  13. package/dist/ai/cost-tracker.js.map +1 -1
  14. package/dist/ai/explainability.d.ts +2 -1
  15. package/dist/ai/explainability.d.ts.map +1 -1
  16. package/dist/ai/explainability.js +1 -0
  17. package/dist/ai/explainability.js.map +1 -1
  18. package/dist/ai/model-pricing.d.ts +3 -2
  19. package/dist/ai/model-pricing.d.ts.map +1 -1
  20. package/dist/ai/model-pricing.js +23 -2
  21. package/dist/ai/model-pricing.js.map +1 -1
  22. package/dist/ai/provider.d.ts.map +1 -1
  23. package/dist/ai/provider.js +10 -0
  24. package/dist/ai/provider.js.map +1 -1
  25. package/dist/api/route-generator.js +6 -6
  26. package/dist/api/route-generator.js.map +1 -1
  27. package/dist/audit/service.js +1 -1
  28. package/dist/audit/service.js.map +1 -1
  29. package/dist/cli/commands/browser-extension.d.ts +16 -0
  30. package/dist/cli/commands/browser-extension.d.ts.map +1 -1
  31. package/dist/cli/commands/browser-extension.js +16 -5
  32. package/dist/cli/commands/browser-extension.js.map +1 -1
  33. package/dist/cli/commands/dev.d.ts.map +1 -1
  34. package/dist/cli/commands/dev.js +2 -1
  35. package/dist/cli/commands/dev.js.map +1 -1
  36. package/dist/cli/commands/generate-openapi-from-zod.d.ts.map +1 -1
  37. package/dist/cli/commands/generate-openapi-from-zod.js +9 -1
  38. package/dist/cli/commands/generate-openapi-from-zod.js.map +1 -1
  39. package/dist/cli/commands/init.d.ts +1 -1
  40. package/dist/cli/commands/init.d.ts.map +1 -1
  41. package/dist/cli/commands/init.js +3 -1
  42. package/dist/cli/commands/init.js.map +1 -1
  43. package/dist/cli/commands/migrate.d.ts.map +1 -1
  44. package/dist/cli/commands/migrate.js +5 -0
  45. package/dist/cli/commands/migrate.js.map +1 -1
  46. package/dist/cli/commands/start.d.ts.map +1 -1
  47. package/dist/cli/commands/start.js +2 -1
  48. package/dist/cli/commands/start.js.map +1 -1
  49. package/dist/cli/commands/worker.js +1 -1
  50. package/dist/cli/commands/worker.js.map +1 -1
  51. package/dist/cli/discover.d.ts +2 -0
  52. package/dist/cli/discover.d.ts.map +1 -1
  53. package/dist/cli/discover.js +19 -2
  54. package/dist/cli/discover.js.map +1 -1
  55. package/dist/events/dispatcher.d.ts +1 -1
  56. package/dist/execution/capability-executor.d.ts +2 -2
  57. package/dist/execution/capability-executor.d.ts.map +1 -1
  58. package/dist/execution/capability-executor.js +23 -9
  59. package/dist/execution/capability-executor.js.map +1 -1
  60. package/dist/execution/context-factory.d.ts.map +1 -1
  61. package/dist/execution/context-factory.js +3 -0
  62. package/dist/execution/context-factory.js.map +1 -1
  63. package/dist/flows/engine.d.ts.map +1 -1
  64. package/dist/flows/engine.js +2 -0
  65. package/dist/flows/engine.js.map +1 -1
  66. package/dist/runtime/bootstrap.d.ts +3 -1
  67. package/dist/runtime/bootstrap.d.ts.map +1 -1
  68. package/dist/runtime/bootstrap.js +19 -4
  69. package/dist/runtime/bootstrap.js.map +1 -1
  70. package/dist/runtime/load-extensions.d.ts +2 -1
  71. package/dist/runtime/load-extensions.d.ts.map +1 -1
  72. package/dist/runtime/load-extensions.js +8 -1
  73. package/dist/runtime/load-extensions.js.map +1 -1
  74. package/dist/runtime/start-worker-pool.d.ts.map +1 -1
  75. package/dist/runtime/start-worker-pool.js +1 -0
  76. package/dist/runtime/start-worker-pool.js.map +1 -1
  77. package/dist/server/bootstrap.d.ts +3 -0
  78. package/dist/server/bootstrap.d.ts.map +1 -1
  79. package/dist/server/bootstrap.js +22 -3
  80. package/dist/server/bootstrap.js.map +1 -1
  81. package/dist/testing/context.d.ts +2 -0
  82. package/dist/testing/context.d.ts.map +1 -1
  83. package/dist/testing/context.js +7 -3
  84. package/dist/testing/context.js.map +1 -1
  85. package/dist/types/context.d.ts +15 -1
  86. package/dist/types/context.d.ts.map +1 -1
  87. package/dist/types/index.d.ts +1 -1
  88. package/dist/types/index.d.ts.map +1 -1
  89. package/dist/types/index.js.map +1 -1
  90. package/dist/worker/bootstrap.d.ts.map +1 -1
  91. package/dist/worker/bootstrap.js +98 -84
  92. package/dist/worker/bootstrap.js.map +1 -1
  93. package/instructions/README.md +2 -1
  94. package/instructions/ai-classification.md +114 -0
  95. package/instructions/ai.md +27 -0
  96. package/instructions/peer-dependencies.md +1 -1
  97. package/package.json +4 -3
  98. package/dist/ai/__typecheck-fixtures__/legacy-cost-api.d.ts +0 -5
  99. package/dist/ai/__typecheck-fixtures__/legacy-cost-api.d.ts.map +0 -1
  100. package/dist/ai/__typecheck-fixtures__/legacy-cost-api.js +0 -15
  101. package/dist/ai/__typecheck-fixtures__/legacy-cost-api.js.map +0 -1
@@ -211,7 +211,7 @@ export function createWorkerPool(poolConfig) {
211
211
  resolver: dataPlaneResolver,
212
212
  spineDb: db,
213
213
  listTenantRefs: listedTenantRefs,
214
- // The pump reads `dispatch_outbox` where the engine below writes it (Quinovium #202).
214
+ // The pump reads `dispatch_outbox` where the engine below writes it.
215
215
  ...(frameworkSchema ? { frameworkSchema } : {}),
216
216
  }
217
217
  : {}),
@@ -275,7 +275,7 @@ export function createWorkerPool(poolConfig) {
275
275
  // The host's framework schema (PLUMBUS_FRAMEWORK_SCHEMA): the engine qualifies the
276
276
  // tenant's durable tables with it when it writes dispatch acceptance and outbox
277
277
  // rows. Without it the engine falls back to the compiled-in default, which drifts
278
- // from a host that provisioned its planes under another schema name (Quinovium #202).
278
+ // from a host that provisioned its planes under another schema name.
279
279
  coreSchema: frameworkSchema ?? resolveFrameworkSchema() ?? FRAMEWORK_SCHEMA,
280
280
  }
281
281
  : undefined,
@@ -351,96 +351,106 @@ export function createWorkerPool(poolConfig) {
351
351
  }
352
352
  const scheduler = enableScheduler ? createFlowScheduler(schedulerConfig) : null;
353
353
  let flowRunnerTimer = null;
354
+ let flowCycleRunning = false;
354
355
  async function runFlowCycle() {
355
- if (!enableFlowRunner)
356
+ if (!enableFlowRunner || !running || flowCycleRunning)
356
357
  return;
358
+ flowCycleRunning = true;
357
359
  try {
358
- const claimed = await flowEngine.claimNext();
359
- if (claimed.length === 0)
360
- return;
361
- const systemAuth = {
362
- userId: 'system-flow-runner',
363
- roles: ['system'],
364
- scopes: [],
365
- provider: 'worker',
366
- };
367
- // One context for the whole batch when every unit runs against the same
368
- // database — the resolver path builds one per claimed row instead.
369
- const baseCtx = dataPlaneResolver ? undefined : buildFlowRunnerContext(systemAuth);
370
- for (const row of claimed) {
371
- try {
372
- // Resolving inside the per-row try means an unknown or absent tenant
373
- // fails this execution the same way a failing step does, instead of
374
- // aborting the cycle for every other tenant in the batch.
375
- // The unit's auth carries the row's tenant, so the repositories, audit and durable
376
- // schema the context is wired with are the resolved plane's — not the pool's.
377
- const unitTenantRef = resolveTenantRef({
378
- ...systemAuth,
379
- tenantId: claimedTenantRef(row),
380
- });
381
- const unitAuth = unitTenantRef ? { ...systemAuth, tenantId: unitTenantRef } : systemAuth;
382
- const ctx = baseCtx ?? buildFlowRunnerContext(unitAuth, await resolveUnitDataPlane(unitTenantRef));
383
- // Drain consecutive in-flow steps in a single tick.
384
- //
385
- // Why: claimNext() acquires a lease (status='running',
386
- // lease_expires_at = now()+leaseDurationMs) for the whole flow
387
- // execution row. runNext() runs ONE step and, on normal
388
- // advancement (next sequential step, parallel completion, or
389
- // conditional branch), updates currentStep but intentionally
390
- // leaves status='running' and the lease intact. If we returned
391
- // here after a single step, the row would sit idle until the
392
- // lease expired (default 5 min) before claimNext() picked it up
393
- // again — producing multi-minute "no errors, no progress" gaps
394
- // between successive steps of the same flow execution.
395
- //
396
- // Looping while status === Running means the worker that holds
397
- // the lease keeps running steps until the flow either Waits
398
- // (event/delay), Completes, Fails, or is Cancelled. Heartbeats
399
- // inside runNext extend the lease while a step is executing;
400
- // between steps the lease is still valid because we never
401
- // released it. A hard cap (`maxStepsPerCycle`) bounds the loop
402
- // so a runaway conditional/loop in a flow can't monopolise the
403
- // worker forever — when the cap is hit we break, the lease will
404
- // expire normally and another claim cycle (or the same worker)
405
- // will pick the row up.
406
- const maxStepsPerCycle = 1000;
407
- let stepsRun = 0;
408
- while (stepsRun < maxStepsPerCycle) {
409
- const result = await flowEngine.runNext(row.id, ctx);
410
- stepsRun += 1;
411
- if (result.status !== FlowStatus.Running) {
412
- break;
413
- }
414
- }
415
- if (stepsRun >= maxStepsPerCycle) {
416
- logger.warn('Flow drain hit maxStepsPerCycle; releasing for next cycle', {
417
- executionId: row.id,
418
- workerId: flowEngine.workerId,
419
- stepsRun,
420
- maxStepsPerCycle,
421
- });
422
- }
423
- }
424
- catch (err) {
425
- logger.error('Flow execution run failed', {
426
- executionId: row.id,
427
- workerId: flowEngine.workerId,
428
- ...describeError(err),
429
- });
430
- // Finalize the row as failed so the next poll cycle doesn't re-claim
431
- // it via the `status='running' AND lease_expires_at < now()`
432
- // crash-recovery branch in claimNext and spin forever. The engine
433
- // method is idempotent and guards on status, so this is safe even
434
- // if the row was concurrently finalized by cancel() or a peer worker.
360
+ // Lease only work that can start now. Prefetched rows otherwise wait behind
361
+ // long steps without a heartbeat, and another poll can reclaim them.
362
+ const cycleLimit = poolConfig.flowClaimBatchSize ?? 50;
363
+ for (let count = 0; count < cycleLimit && running; count += 1) {
364
+ const claimed = await flowEngine.claimNext(1);
365
+ if (claimed.length === 0)
366
+ break;
367
+ const systemAuth = {
368
+ userId: 'system-flow-runner',
369
+ roles: ['system'],
370
+ scopes: [],
371
+ provider: 'worker',
372
+ };
373
+ // Build a shared-plane context for this claim; the resolver path instead
374
+ // builds the context from the claimed tenant below.
375
+ const baseCtx = dataPlaneResolver ? undefined : buildFlowRunnerContext(systemAuth);
376
+ for (const row of claimed) {
435
377
  try {
436
- await flowEngine.markFailedFromRunner(row.id, err);
378
+ // Resolving inside the per-row try means an unknown or absent tenant
379
+ // fails this execution the same way a failing step does, instead of
380
+ // aborting the cycle for every other tenant in the batch.
381
+ // The unit's auth carries the row's tenant, so the repositories, audit and durable
382
+ // schema the context is wired with are the resolved plane's — not the pool's.
383
+ const unitTenantRef = resolveTenantRef({
384
+ ...systemAuth,
385
+ tenantId: claimedTenantRef(row),
386
+ });
387
+ const unitAuth = unitTenantRef
388
+ ? { ...systemAuth, tenantId: unitTenantRef }
389
+ : systemAuth;
390
+ const ctx = baseCtx ??
391
+ buildFlowRunnerContext(unitAuth, await resolveUnitDataPlane(unitTenantRef));
392
+ // Drain consecutive in-flow steps in a single tick.
393
+ //
394
+ // Why: claimNext() acquires a lease (status='running',
395
+ // lease_expires_at = now()+leaseDurationMs) for the whole flow
396
+ // execution row. runNext() runs ONE step and, on normal
397
+ // advancement (next sequential step, parallel completion, or
398
+ // conditional branch), updates currentStep but intentionally
399
+ // leaves status='running' and the lease intact. If we returned
400
+ // here after a single step, the row would sit idle until the
401
+ // lease expired (default 5 min) before claimNext() picked it up
402
+ // again — producing multi-minute "no errors, no progress" gaps
403
+ // between successive steps of the same flow execution.
404
+ //
405
+ // Looping while status === Running means the worker that holds
406
+ // the lease keeps running steps until the flow either Waits
407
+ // (event/delay), Completes, Fails, or is Cancelled. Heartbeats
408
+ // inside runNext extend the lease while a step is executing;
409
+ // between steps the lease is still valid because we never
410
+ // released it. A hard cap (`maxStepsPerCycle`) bounds the loop
411
+ // so a runaway conditional/loop in a flow can't monopolise the
412
+ // worker forever — when the cap is hit we break, the lease will
413
+ // expire normally and another claim cycle (or the same worker)
414
+ // will pick the row up.
415
+ const maxStepsPerCycle = 1000;
416
+ let stepsRun = 0;
417
+ while (stepsRun < maxStepsPerCycle) {
418
+ const result = await flowEngine.runNext(row.id, ctx);
419
+ stepsRun += 1;
420
+ if (result.status !== FlowStatus.Running) {
421
+ break;
422
+ }
423
+ }
424
+ if (stepsRun >= maxStepsPerCycle) {
425
+ logger.warn('Flow drain hit maxStepsPerCycle; releasing for next cycle', {
426
+ executionId: row.id,
427
+ workerId: flowEngine.workerId,
428
+ stepsRun,
429
+ maxStepsPerCycle,
430
+ });
431
+ }
437
432
  }
438
- catch (finalizeErr) {
439
- logger.error('Failed to finalize flow execution after run error', {
433
+ catch (err) {
434
+ logger.error('Flow execution run failed', {
440
435
  executionId: row.id,
441
436
  workerId: flowEngine.workerId,
442
- ...describeError(finalizeErr),
437
+ ...describeError(err),
443
438
  });
439
+ // Finalize the row as failed so the next poll cycle doesn't re-claim
440
+ // it via the `status='running' AND lease_expires_at < now()`
441
+ // crash-recovery branch in claimNext and spin forever. The engine
442
+ // method is idempotent and guards on status, so this is safe even
443
+ // if the row was concurrently finalized by cancel() or a peer worker.
444
+ try {
445
+ await flowEngine.markFailedFromRunner(row.id, err);
446
+ }
447
+ catch (finalizeErr) {
448
+ logger.error('Failed to finalize flow execution after run error', {
449
+ executionId: row.id,
450
+ workerId: flowEngine.workerId,
451
+ ...describeError(finalizeErr),
452
+ });
453
+ }
444
454
  }
445
455
  }
446
456
  }
@@ -448,6 +458,9 @@ export function createWorkerPool(poolConfig) {
448
458
  catch (err) {
449
459
  logger.error('Flow claim cycle failed', describeError(err));
450
460
  }
461
+ finally {
462
+ flowCycleRunning = false;
463
+ }
451
464
  }
452
465
  /**
453
466
  * Build the base context a claimed unit of work runs with.
@@ -608,6 +621,7 @@ export function createWorkerPool(poolConfig) {
608
621
  async stop() {
609
622
  if (!running)
610
623
  return;
624
+ running = false;
611
625
  logger.info('Shutting down worker pool...');
612
626
  // Stop in reverse order: new work first, then in-flight
613
627
  if (scheduler) {
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/worker/bootstrap.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,mDAAmD;AACnD,gEAAgE;AAChE,6CAA6C;AAE7C,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAI9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAIpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAEzE,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAE3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAC;AACnF,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EACL,2BAA2B,GAE5B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAGvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAC9F,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAIhE,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAO/E,iCAAiC;AACjC,8EAA8E;AAC9E,2EAA2E;AAC3E,2EAA2E;AAC3E,8EAA8E;AAC9E,iEAAiE;AACjE,EAAE;AACF,0EAA0E;AAC1E,6EAA6E;AAC7E,2EAA2E;AAC3E,oDAAoD;AACpD,SAAS,aAAa,CAAC,GAAY;IACjC,IAAI,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,GAAG,GAA4B,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;IAE5D,MAAM,KAAK,GAAI,GAA2B,CAAC,KAAK,CAAC;IACjD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;QACjC,MAAM,QAAQ,GAAG;YACf,MAAM;YACN,QAAQ;YACR,MAAM;YACN,UAAU;YACV,OAAO;YACP,QAAQ;YACR,OAAO;YACP,QAAQ;YACR,YAAY;YACZ,SAAS;YACT,UAAU;SACF,CAAC;QACX,MAAM,EAAE,GAA4B,EAAE,CAAC;QACvC,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,MAAM,CAAC,GAAI,KAA4C,CAAC,CAAC,CAAC,CAAC;YAC3D,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE;gBAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC;IAC9C,CAAC;SAAM,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,GAAiC;IACzD,MAAM,OAAO,GAAG,GAAyC,CAAC;IAC1D,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC;IACpD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvE,CAAC;AAED,+BAA+B;AAC/B,EAAE;AACF,8EAA8E;AAC9E,yEAAyE;AACzE,kEAAkE;AAClE,4EAA4E;AAC5E,0EAA0E;AAC1E,4EAA4E;AAC5E,6EAA6E;AAC7E,EAAE;AACF,+BAA+B;AAC/B,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,EAAsB;IACjE,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA,mEAAmE,CAAC,CAAC;IAC3F,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAE,GAA2B,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QACpF,MAAM,MAAM,GACV,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK;YACnD,CAAC,CAAE,KAA4B,CAAC,IAAI;YACpC,CAAC,CAAC,SAAS,CAAC;QAChB,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,0FAA0F;gBACxF,sFAAsF,CACzF,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAuMD,uEAAuE;AACvE,MAAM,UAAU,gBAAgB,CAAC,UAA4B;IAC3D,MAAM,EACJ,EAAE,EACF,KAAK,EACL,SAAS,EACT,KAAK,EACL,QAAQ,EACR,KAAK,EACL,oBAAoB,GAAG,IAAI,EAC3B,uBAAuB,GAAG,MAAM,EAChC,kBAAkB,EAAE,wBAAwB,GAAG,IAAI,EACnD,eAAe,EACf,gBAAgB,GAAG,IAAI,EACvB,iBAAiB,GAAG,IAAI,EACxB,eAAe,GAAG,IAAI,EACtB,gBAAgB,GAAG,IAAI,GACxB,GAAG,UAAU,CAAC;IAEf,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,IAAI,KAAK,CAAC;IAChD,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,IAAI,KAAK,CAAC;IAClD,MAAM,kBAAkB,GAAG,UAAU,CAAC,aAAa;QACjD,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,wBAAwB,EAAE,MAAM,CAAC;QAC5C,CAAC,CAAC,wBAAwB,CAAC;IAE7B,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,kBAAkB,EAAE,CAAC;IACzD,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;IACnC,MAAM,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC;IAC/C,MAAM,SAAS,GAAG,4BAA4B,CAAC;QAC7C,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,kBAAkB,EAAE,UAAU,CAAC,kBAAkB;KAClD,CAAC,CAAC;IAEH,gDAAgD;IAEhD,MAAM,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,CAAC;IACvD,MAAM,mBAAmB,GAAG,UAAU,CAAC,mBAAmB,IAAI,QAAQ,CAAC;IACvE,MAAM,mBAAmB,GAAG,UAAU,CAAC,aAAa,KAAK,eAAe,CAAC;IACzE,MAAM,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,IAAI,CAAC,CAAC,IAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAE/F,IAAI,iBAAiB,IAAI,UAAU,CAAC,iBAAiB,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CACb,yFAAyF;YACvF,yFAAyF;YACzF,yFAAyF;YACzF,+CAA+C,CAClD,CAAC;IACJ,CAAC;IAED,IAAI,iBAAiB,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,CACT,4DAA4D,mBAAmB,wBAAwB,mBAAmB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,GAAG,CAC7J,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAA8B,CAAC;IACjE,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEtD,SAAS,mBAAmB;QAC1B,OAAO,IAAI,YAAY,CACrB,SAAS,CAAC,SAAS,EACnB,mGAAmG,EACnG,EAAE,MAAM,EAAE,yBAAyB,EAAE,CACtC,CAAC;IACJ,CAAC;IAED,yEAAyE;IACzE,KAAK,UAAU,oBAAoB,CAAC,SAA6B;QAC/D,IAAI,CAAC,iBAAiB,IAAI,mBAAmB;YAAE,OAAO,EAAE,CAAC;QACzD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,IAAI,mBAAmB,KAAK,eAAe;gBAAE,OAAO,EAAE,CAAC;YACvD,MAAM,mBAAmB,EAAE,CAAC;QAC9B,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1D,kBAAkB,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7C,mBAAmB,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QACtD,OAAO,MAAM,CAAC,EAAE,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACH,SAAS,gBAAgB,CAAC,IAAiB;QACzC,IAAI,CAAC,iBAAiB,IAAI,mBAAmB;YAAE,OAAO,EAAE,CAAC;QACzD,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,IAAI,mBAAmB,KAAK,eAAe;gBAAE,OAAO,EAAE,CAAC;YACvD,MAAM,mBAAmB,EAAE,CAAC;QAC9B,CAAC;QACD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,YAAY,CACpB,SAAS,CAAC,QAAQ,EAClB,yDAAyD,SAAS,kBAAkB,EACpF,EAAE,SAAS,EAAE,CACd,CAAC;QACJ,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,UAAU,gBAAgB;QAC7B,MAAM,MAAM,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzF,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,EAAE,GAAG,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,yEAAyE;IACzE,6EAA6E;IAC7E,MAAM,WAAW,GAAG,wBAAwB,CAAC,EAAE,CAAC,CAAC;IAEjD,MAAM,gBAAgB,GAAgB;QACpC,MAAM,EAAE,eAAe;QACvB,KAAK,EAAE,CAAC,QAAQ,CAAC;QACjB,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,QAAQ;KACnB,CAAC;IACF,MAAM,WAAW,GACf,KAAK,IAAI,kBAAkB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC;IAEzF,oBAAoB;IACpB,MAAM,gBAAgB,GAAqB;QACzC,EAAE;QACF,KAAK;QACL,KAAK,EAAE,WAAW;QAClB,cAAc,EAAE,oBAAoB;QACpC,OAAO;QACP,GAAG,CAAC,iBAAiB;YACnB,CAAC,CAAC;gBACE,QAAQ,EAAE,iBAAiB;gBAC3B,OAAO,EAAE,EAAE;gBACX,cAAc,EAAE,gBAAgB;gBAChC,sFAAsF;gBACtF,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChD;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IACF,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEtF,wBAAwB;IACxB,MAAM,iBAAiB,GAAiB;QACtC,EAAE;QACF,KAAK;QACL,SAAS;QACT,WAAW;QACX,KAAK,EAAE,WAAW;QAClB,OAAO;QACP,QAAQ,EAAE,iBAAiB;KAC5B,CAAC;IACF,MAAM,WAAW,GAAG,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEpF,MAAM,cAAc,GAClB,iBAAiB,IAAI,SAAS,KAAK,KAAK;QACtC,CAAC,CAAC,iBAAiB,CAAC;YAChB,EAAE;YACF,KAAK,EAAE,SAAS;YAChB,SAAS;YACT,WAAW;YACX,KAAK,EAAE,WAAW;YAClB,OAAO;YACP,QAAQ,EAAE,iBAAiB;SAC5B,CAAC;QACJ,CAAC,CAAC,IAAI,CAAC;IAEX,0BAA0B;IAC1B,MAAM,EAAE,iBAAiB,EAAE,GAAG,UAAU,CAAC;IACzC,MAAM,gBAAgB,GAAqB;QACzC,EAAE;QACF,QAAQ,EAAE,KAAK;QACf,QAAQ;QACR,KAAK;QACL,KAAK;QACL,WAAW,EAAE,UAAU,CAAC,WAAW;QACnC,QAAQ,EAAE,gBAAgB,EAAE;QAC5B,mBAAmB,EAAE,UAAU,CAAC,mBAAmB;QACnD,uBAAuB,EAAE,UAAU,CAAC,uBAAuB;QAC3D,kBAAkB,EAAE,UAAU,CAAC,kBAAkB;QACjD,MAAM;QACN,iBAAiB,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS;QACtF,qBAAqB,EACnB,UAAU,CAAC,aAAa,IAAI,UAAU,CAAC,WAAW,IAAI,UAAU,CAAC,WAAW;YAC1E,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE;gBAC5B,MAAM,uBAAuB,CAAC;oBAC5B,MAAM,EAAE,UAAU,CAAC,WAA0B;oBAC7C,WAAW,EAAE,UAAU,CAAC,WAAqB;oBAC7C,WAAW;oBACX,MAAM;iBACP,CAAC,CAAC;YACL,CAAC;YACH,CAAC,CAAC,SAAS;QACf,0FAA0F;QAC1F,oFAAoF;QACpF,+BAA+B;QAC/B,aAAa,EAAE,iBAAiB;YAC9B,CAAC,CAAC;gBACE,EAAE;gBACF,QAAQ,EAAE,iBAAiB;gBAC3B,UAAU,EAAE,mBAAmB;gBAC/B,mFAAmF;gBACnF,gFAAgF;gBAChF,kFAAkF;gBAClF,sFAAsF;gBACtF,UAAU,EAAE,eAAe,IAAI,sBAAsB,EAAE,IAAI,gBAAgB;aAC5E;YACH,CAAC,CAAC,SAAS;QACb,gBAAgB,EAAE,2BAA2B,CAAC;YAC5C,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;YAC7C,sBAAsB,EAAE,UAAU,CAAC,sBAAsB;SAC1D,CAAC;QACF,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;QACpF,kBAAkB,EAAE,aAAa;YAC/B,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;gBACP,6DAA6D;gBAC7D,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBACtC,OAAO,kBAAkB,CAAC;oBACxB,EAAE,EAAE,MAAM;oBACV,IAAI;oBACJ,QAAQ,EAAE,aAAa;oBACvB,KAAK,EAAE,KAAK,IAAI,kBAAkB,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;iBACzD,CAAC,CAAC;YACL,CAAC;YACH,CAAC,CAAC,SAAS;KACd,CAAC;IACF,MAAM,UAAU,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;IAEtD,IAAI,UAAU,CAAC,YAAY,IAAI,UAAU,CAAC,QAAQ,IAAI,aAAa,EAAE,CAAC;QACpE,2BAA2B,CAAC;YAC1B,YAAY,EAAE,UAAU,CAAC,YAAY;YACrC,SAAS;YACT,MAAM,EAAE,aAAa;YACrB,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,EAAE;YACF,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,UAAU;YACV,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,MAAM;YACN,OAAO;YACP,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;YAC7C,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,qBAAqB,EAAE,UAAU,CAAC,qBAAqB;SACxD,CAAC,CAAC;IACL,CAAC;IAED,oEAAoE;IACpE,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC5C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;YACxB,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IACD,IAAI,iBAAiB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,cAAc,GAAG,wBAAwB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QACzF,SAAS,CAAC,QAAQ,CAAC;YACjB,EAAE,EAAE,sBAAsB;YAC1B,UAAU,EAAE,CAAC,GAAG,iBAAiB,CAAC;YAClC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;gBAC1B,MAAM,cAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC7C,CAAC;SACF,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,wCAAwC,iBAAiB,CAAC,IAAI,cAAc,CAAC,CAAC;IAC5F,CAAC;IAED,MAAM,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC;IACjD,MAAM,eAAe,GAAoB;QACvC,EAAE;QACF,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,UAAU;QAClB,cAAc,EAAE,uBAAuB;QACvC,MAAM;QACN,GAAG,CAAC,iBAAiB;YACnB,CAAC,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE;YACnE,CAAC,CAAC,cAAc;gBACd,CAAC,CAAC,EAAE,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE,cAAc,EAAE,cAAc,CAAC,cAAc,EAAE;gBACtF,CAAC,CAAC,EAAE,CAAC;KACV,CAAC;IACF,IAAI,CAAC,iBAAiB,IAAI,cAAc,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC;IAC7F,CAAC;IACD,MAAM,SAAS,GAAG,eAAe,CAAC,CAAC,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAChF,IAAI,eAAe,GAA0C,IAAI,CAAC;IAElE,KAAK,UAAU,YAAY;QACzB,IAAI,CAAC,gBAAgB;YAAE,OAAO;QAC9B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE,CAAC;YAC7C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAEjC,MAAM,UAAU,GAAG;gBACjB,MAAM,EAAE,oBAAoB;gBAC5B,KAAK,EAAE,CAAC,QAAQ,CAAC;gBACjB,MAAM,EAAE,EAAE;gBACV,QAAQ,EAAE,QAAQ;aACnB,CAAC;YAEF,wEAAwE;YACxE,mEAAmE;YACnE,MAAM,OAAO,GAAG,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;YAEnF,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBAC1B,IAAI,CAAC;oBACH,qEAAqE;oBACrE,oEAAoE;oBACpE,0DAA0D;oBAC1D,mFAAmF;oBACnF,8EAA8E;oBAC9E,MAAM,aAAa,GAAG,gBAAgB,CAAC;wBACrC,GAAG,UAAU;wBACb,QAAQ,EAAE,gBAAgB,CAAC,GAAG,CAAC;qBAChC,CAAC,CAAC;oBACH,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;oBACzF,MAAM,GAAG,GACP,OAAO,IAAI,sBAAsB,CAAC,QAAQ,EAAE,MAAM,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC;oBACzF,oDAAoD;oBACpD,EAAE;oBACF,uDAAuD;oBACvD,+DAA+D;oBAC/D,wDAAwD;oBACxD,6DAA6D;oBAC7D,6DAA6D;oBAC7D,+DAA+D;oBAC/D,6DAA6D;oBAC7D,gEAAgE;oBAChE,+DAA+D;oBAC/D,uDAAuD;oBACvD,EAAE;oBACF,+DAA+D;oBAC/D,4DAA4D;oBAC5D,+DAA+D;oBAC/D,6DAA6D;oBAC7D,0DAA0D;oBAC1D,+DAA+D;oBAC/D,+DAA+D;oBAC/D,gEAAgE;oBAChE,+DAA+D;oBAC/D,wBAAwB;oBACxB,MAAM,gBAAgB,GAAG,IAAI,CAAC;oBAC9B,IAAI,QAAQ,GAAG,CAAC,CAAC;oBACjB,OAAO,QAAQ,GAAG,gBAAgB,EAAE,CAAC;wBACnC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;wBACrD,QAAQ,IAAI,CAAC,CAAC;wBACd,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,OAAO,EAAE,CAAC;4BACzC,MAAM;wBACR,CAAC;oBACH,CAAC;oBACD,IAAI,QAAQ,IAAI,gBAAgB,EAAE,CAAC;wBACjC,MAAM,CAAC,IAAI,CAAC,2DAA2D,EAAE;4BACvE,WAAW,EAAE,GAAG,CAAC,EAAE;4BACnB,QAAQ,EAAE,UAAU,CAAC,QAAQ;4BAC7B,QAAQ;4BACR,gBAAgB;yBACjB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE;wBACxC,WAAW,EAAE,GAAG,CAAC,EAAE;wBACnB,QAAQ,EAAE,UAAU,CAAC,QAAQ;wBAC7B,GAAG,aAAa,CAAC,GAAG,CAAC;qBACtB,CAAC,CAAC;oBACH,qEAAqE;oBACrE,6DAA6D;oBAC7D,kEAAkE;oBAClE,kEAAkE;oBAClE,sEAAsE;oBACtE,IAAI,CAAC;wBACH,MAAM,UAAU,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;oBACrD,CAAC;oBAAC,OAAO,WAAW,EAAE,CAAC;wBACrB,MAAM,CAAC,KAAK,CAAC,mDAAmD,EAAE;4BAChE,WAAW,EAAE,GAAG,CAAC,EAAE;4BACnB,QAAQ,EAAE,UAAU,CAAC,QAAQ;4BAC7B,GAAG,aAAa,CAAC,WAAW,CAAC;yBAC9B,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,SAAS,sBAAsB,CAC7B,aAA0B;QACxB,MAAM,EAAE,oBAAoB;QAC5B,KAAK,EAAE,CAAC,QAAQ,CAAC;QACjB,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,QAAQ;KACnB,EACD,YAAgC,EAAE;QAElC,IAAI,UAAU,CAAC,QAAQ,IAAI,aAAa,EAAE,CAAC;YACzC,MAAM,SAAS,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;YAC/C,MAAM,aAAa,GACjB,CAAC,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,gBAAgB,CAAC;YACnF,OAAO,sBAAsB,CAC3B,uBAAuB,CACrB;gBACE,EAAE,EAAE,SAAS;gBACb,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,MAAM,EAAE,aAAa;gBACrB,aAAa,EAAE,oBAAoB,EAAE;gBACrC,eAAe,EACb,iBAAiB,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,SAAS;aACxF,EACD;gBACE,KAAK,EAAE,iBAAiB,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,CAAC;gBACvD,EAAE,EAAE,UAAU,CAAC,SAAS;gBACxB,MAAM;gBACN,MAAM,EAAE,UAAU,CAAC,MAA4C;gBAC/D,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,0BAA0B,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvF,GAAG,yBAAyB,CAAC,UAAU,CAAC;gBACxC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpC,CACF,CACF,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,KAAK,IAAI,kBAAkB,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QACrF,MAAM,WAAW,GAAG,UAAU,CAAC,iBAAiB;YAC9C,CAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC;YAC1C,CAAC,CAAE,EAAkB,CAAC;QACxB,MAAM,YAAY,GAAG,aAAa;YAChC,CAAC,CAAC,kBAAkB,CAAC;gBACjB,EAAE,EAAE,SAAS;gBACb,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,aAAa;gBACvB,KAAK,EAAE,WAAW;aACnB,CAAC;YACJ,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,sBAAsB,CAAC;YAC5B,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,YAAY;YACpB,KAAK,EAAE,iBAAiB,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,CAAC;YACvD,EAAE,EAAE,UAAU,CAAC,SAAS;YACxB,KAAK,EAAE,WAAW;YAClB,MAAM;YACN,MAAM,EAAE,UAAU,CAAC,MAA4C;YAC/D,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,0BAA0B,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACvF,GAAG,yBAAyB,CAAC,UAAU,CAAC;YACxC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,iBAAiB,IAAI,gBAAgB,IAAI,UAAU,EAAE,CAAC;QACxD,MAAM,CAAC,IAAI,CACT,uFAAuF;YACrF,uFAAuF;YACvF,wDAAwD,CAC3D,CAAC;IACJ,CAAC;IAED,MAAM,gBAAgB,GACpB,gBAAgB,IAAI,UAAU,IAAI,CAAC,iBAAiB;QAClD,CAAC,CAAC,sBAAsB,CAAC;YACrB,UAAU;YACV,MAAM,EAAE,UAAU;YAClB,YAAY,EAAE,sBAAsB;YACpC,MAAM;YACN,OAAO;YACP,WAAW,EAAE,UAAU,CAAC,iBAAiB;gBACvC,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;oBACpB,MAAM,UAAU,CAAC,iBAAiB,EAAE,CAAC,WAAW,CAAC,CAAC;gBACpD,CAAC;gBACH,CAAC,CAAC,SAAS;SACd,CAAC;QACJ,CAAC,CAAC,IAAI,CAAC;IAEX,MAAM,mBAAmB,GACvB,gBAAgB,IAAI,UAAU,CAAC,aAAa,IAAI,UAAU,CAAC,WAAW,IAAI,UAAU,CAAC,WAAW;QAC9F,CAAC,CAAC,yBAAyB,CAAC;YACxB,MAAM,EAAE,UAAU,CAAC,WAAW;YAC9B,WAAW,EAAE,UAAU,CAAC,WAAW;YACnC,UAAU;YACV,MAAM;SACP,CAAC;QACJ,CAAC,CAAC,IAAI,CAAC;IAEX,IAAI,iBAAiB,GAA0C,IAAI,CAAC;IACpE,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,OAAO;QACL,IAAI,UAAU;YACZ,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,KAAK,CAAC,KAAK;YACT,IAAI,OAAO;gBAAE,OAAO;YAEpB,qEAAqE;YACrE,qEAAqE;YACrE,qEAAqE;YACrE,kEAAkE;YAClE,oCAAoC;YACpC,IAAI,gBAAgB,EAAE,CAAC;gBACrB,MAAM,sBAAsB,CAAC,EAAE,CAAC,CAAC;YACnC,CAAC;YAED,OAAO,GAAG,IAAI,CAAC;YAEf,4BAA4B;YAC5B,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,aAAa,EAAE,CAAC;gBAC/C,MAAM,CAAC,IAAI,CAAC,UAAU,MAAM,iBAAiB,CAAC,CAAC;gBAC/C,SAAS,CAAC,KAAK,EAAE,CAAC;gBAClB,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACxC,CAAC;YAED,IAAI,gBAAgB,EAAE,CAAC;gBACrB,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;oBACjC,KAAK,YAAY,EAAE,CAAC;gBACtB,CAAC,EAAE,kBAAkB,CAAC,CAAC;gBACvB,KAAK,YAAY,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC/C,CAAC;YAED,IAAI,UAAU,EAAE,CAAC;gBACf,UAAU,CAAC,KAAK,EAAE,CAAC;gBACnB,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YAC3C,CAAC;YAED,IAAI,WAAW,EAAE,CAAC;gBAChB,WAAW,CAAC,KAAK,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC/C,CAAC;YAED,IAAI,cAAc,EAAE,CAAC;gBACnB,cAAc,CAAC,KAAK,EAAE,CAAC;gBACvB,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC7C,CAAC;YAED,IAAI,gBAAgB,EAAE,CAAC;gBACrB,gBAAgB,CAAC,KAAK,EAAE,CAAC;gBACzB,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;YAClD,CAAC;YAED,IAAI,mBAAmB,EAAE,CAAC;gBACxB,mBAAmB,CAAC,KAAK,EAAE,CAAC;gBAC5B,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;YACpD,CAAC;YAED,IAAI,UAAU,CAAC,kBAAkB,IAAI,OAAO,EAAE,CAAC;gBAC7C,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;oBACzB,IAAI,CAAC;wBACH,MAAM,UAAU,CAAC,kBAAkB,EAAE,EAAE,CAAC;oBAC1C,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE;4BACxC,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;yBACxD,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC,CAAC;gBACF,MAAM,OAAO,EAAE,CAAC;gBAChB,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE;oBACnC,KAAK,OAAO,EAAE,CAAC;gBACjB,CAAC,EAAE,MAAM,CAAC,CAAC;YACb,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACrC,CAAC;QAED,KAAK,CAAC,IAAI;YACR,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrB,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAE5C,wDAAwD;YACxD,IAAI,SAAS,EAAE,CAAC;gBACd,SAAS,CAAC,IAAI,EAAE,CAAC;gBACjB,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACxC,CAAC;YAED,IAAI,eAAe,EAAE,CAAC;gBACpB,aAAa,CAAC,eAAe,CAAC,CAAC;gBAC/B,eAAe,GAAG,IAAI,CAAC;gBACvB,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC/C,CAAC;YAED,IAAI,UAAU,EAAE,CAAC;gBACf,UAAU,CAAC,IAAI,EAAE,CAAC;gBAClB,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YAC3C,CAAC;YAED,IAAI,gBAAgB,EAAE,CAAC;gBACrB,gBAAgB,CAAC,IAAI,EAAE,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;YAClD,CAAC;YAED,IAAI,mBAAmB,EAAE,CAAC;gBACxB,mBAAmB,CAAC,IAAI,EAAE,CAAC;gBAC3B,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;YACpD,CAAC;YAED,IAAI,iBAAiB,EAAE,CAAC;gBACtB,aAAa,CAAC,iBAAiB,CAAC,CAAC;gBACjC,iBAAiB,GAAG,IAAI,CAAC;YAC3B,CAAC;YAED,IAAI,cAAc,IAAI,cAAc,KAAK,WAAW,EAAE,CAAC;gBACrD,cAAc,CAAC,IAAI,EAAE,CAAC;gBACtB,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC7C,CAAC;YAED,IAAI,WAAW,EAAE,CAAC;gBAChB,WAAW,CAAC,IAAI,EAAE,CAAC;gBACnB,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC/C,CAAC;YAED,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC;gBAC7B,MAAM,UAAU,CAAC,aAAa,EAAE,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;YACtB,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAE5B,OAAO,GAAG,KAAK,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,SAAS;YACX,OAAO,OAAO,CAAC;QACjB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,sBAAsB;AAEtB,SAAS,kBAAkB;IACzB,MAAM,MAAM,GAAG,kBAAkB,CAAC;IAClC,OAAO;QACL,KAAK,CAAC,OAAO,EAAE,QAAQ;YACrB,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,QAAQ;YACpB,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACjF,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,QAAQ;YACpB,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACjF,CAAC;QACD,KAAK,CAAC,OAAO,EAAE,QAAQ;YACrB,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAClF,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/worker/bootstrap.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@ For conceptual reference, see `docs/` in the Plumbus monorepo. These files are *
15
15
  | [flows.md](./flows.md) | `defineFlow()`, steps, triggers, retries. |
16
16
  | [prompts.md](./prompts.md) | `definePrompt()`, `system`/`description`, model resolution. |
17
17
  | [ai.md](./ai.md) | `ctx.ai` operations (incl. provider-native tool calling + `runToolLoop`), cost tracking, env-based provider config. |
18
+ | [ai-classification.md](./ai-classification.md) | **Classification, categorization, provider/model selection, TypeSafe/Jev or Laya, `classify()` vs `decide()`** (core 0.7.4+ / 0.8.0-beta.6+). |
18
19
  | [translations.md](./translations.md) | `defineTranslation()`, `ctx.translations`. |
19
20
  | [security.md](./security.md) | Access policies, tenant isolation, auth adapters. |
20
21
  | [governance.md](./governance.md) | Advisory rules, `plumbus verify`, compliance profiles. |
@@ -37,5 +38,5 @@ Package quickstart: [../README.md](../README.md).
37
38
  - **Use `ctx.*` subsystems** — do not bypass the framework with ad hoc infrastructure unless documented.
38
39
  - **Never edit `.plumbus/generated/`** — regenerate with `plumbus generate`.
39
40
  - **Do not install framework-provided deps** — import Zod from `@plumbus/core/zod`; run tests with `plumbus test`.
40
- - **Mock AI by operation** — `mockAI({ generate, extract, classify, retrieve })`, not by prompt name.
41
+ - **Mock AI by operation** — `mockAI({ generate, extract, classify, decide, retrieve })`, not by prompt name.
41
42
  - **MCP tool names are canonical** — `<domain>.<name>` (e.g. `billing.getRefund`).
@@ -0,0 +1,114 @@
1
+ # AI classification: provider and model selection
2
+
3
+ Read this when implementing classification, categorization, label selection, or
4
+ TypeSafe/Jev and Laya integration. Requires **@plumbus/core 0.7.4+** (0.8 family: **0.8.0-beta.6+**) for the
5
+ `classify()` provider/model options. Use this recipe inside Plumbus capabilities
6
+ and flows; preserve their access policies and declare `effects.ai: true`.
7
+
8
+ ## Choose the operation
9
+
10
+ | Need | Operation |
11
+ | --- | --- |
12
+ | Matching labels from a known list, using a generative or decision model | `ctx.ai.classify()` → `string[]` |
13
+ | Typed choices, ordinal scores, probabilities, or mixed questions | `ctx.ai.decide()` → typed answers |
14
+ | Generated text or structured output from a prompt | `ctx.ai.generate()` |
15
+
16
+ Do not call vendor adapters directly for application business logic. Both native
17
+ classification and decisions use core validation, security, budgets, identity,
18
+ cancellation, and accounting. Predictions never replace authorization.
19
+
20
+ ## Register the provider
21
+
22
+ Install only the decision provider needed by the app:
23
+
24
+ ```bash
25
+ pnpm add @plumbus/core@~0.7.4 @plumbus/ai-decision-typesafe@~0.2.2
26
+ # For self-hosted Laya, use @plumbus/ai-decision-laya@~0.2.2 instead.
27
+ # 0.8 beta family: pnpm add @plumbus/core@plumbus-next @plumbus/ai-decision-typesafe@plumbus-next
28
+ ```
29
+
30
+ Export registration at the server boundary so API and workers share it:
31
+
32
+ ```ts
33
+ // app/server.ts
34
+ import { createTypeSafeDecisionAdapter } from '@plumbus/ai-decision-typesafe';
35
+
36
+ export const decisions = {
37
+ providers: {
38
+ typesafe: createTypeSafeDecisionAdapter({
39
+ apiKey: process.env.TYPESAFE_API_KEY ?? '',
40
+ model: 'jev-1.13.0',
41
+ }),
42
+ },
43
+ defaultProvider: 'typesafe',
44
+ };
45
+ ```
46
+
47
+ For Laya, register `laya: createLayaDecisionAdapter({ baseUrl, apiKey })` using the
48
+ factory from `@plumbus/ai-decision-laya`. Keep credentials and adapter construction
49
+ on the server. Laya requires a separately running service. For programmatic
50
+ bootstrap, pass `decisions` to `createServer()` / `buildWorkerAiService()` or
51
+ `createAIService()`. Decision adapters belong under `decisions.providers`, not the
52
+ text-completion `providers` map. Use distinct names across those two maps.
53
+
54
+ ## Select a provider and model per call
55
+
56
+ ```ts
57
+ // Inside a capability handler or flow step:
58
+ const labels = await ctx.ai.classify({
59
+ text: input.ticketText,
60
+ labels: ['billing', 'technical', 'refund'],
61
+ provider: 'typesafe',
62
+ model: 'jev-1.13.0',
63
+ threshold: 0.5,
64
+ signal: ctx.signal,
65
+ costContext: { projectId: input.projectId },
66
+ });
67
+ ```
68
+
69
+ `provider` is the registered map key; `model` is a model ID supported by that
70
+ endpoint. For Laya automatic language routing use `provider: 'laya', model: 'auto'`;
71
+ an explicit checkpoint must be configured on your Laya service.
72
+
73
+ | Setting | Resolution |
74
+ | --- | --- |
75
+ | Omitted `provider` | Existing default text provider, even when `decisions.defaultProvider` is set |
76
+ | Decision `model` | Per-call `model` → `decisions.defaultModel` → adapter default |
77
+ | Text `model` | Per-call `model` → AI service `defaultModel` → adapter default |
78
+ | Decision `threshold` | Inclusive probability cutoff in [0, 1], default 0.5 |
79
+
80
+ For a generative provider, pass its registered name and model and omit `threshold`:
81
+
82
+ ```ts
83
+ const labels = await ctx.ai.classify({
84
+ text: input.ticketText,
85
+ labels: ['billing', 'technical'],
86
+ provider: 'openai',
87
+ model: 'gpt-6-sol',
88
+ });
89
+ ```
90
+
91
+ Native classification accepts 1–256 nonempty labels, batches one independent
92
+ probability question per label, and returns matching labels in input order. Zero
93
+ or multiple matches are valid. `threshold` is rejected for text providers. Use
94
+ `decide()` with a choice question when exactly one choice and its distribution
95
+ are required; generative models are not a `decide()` backend.
96
+
97
+ ## Cost recording and tests
98
+
99
+ Persist the existing `onAICostRecorded` hook. Native classification records one
100
+ `operation: 'classify'` row per dispatched logical call, including failures, with
101
+ actual model, usage, cost, tenant/actor, and `costContext`. It does not create an
102
+ extra `decide` row. Unknown cost remains `null`; never invent zero to bypass a
103
+ budget. TypeSafe uses adapter pricing; Laya uses optional `costPerRequestUsd`.
104
+
105
+ Use `mockAI({ classify: ['billing'] })` through `createTestContext` and
106
+ `runCapability` / `simulateFlow` for application tests. Read the installed provider's
107
+ `instructions/README.md` for adapter tests. Live Laya inference is opt-in; keep it
108
+ out of routine tests.
109
+
110
+ After upgrading core, run `plumbus init --patch --agent all` and `plumbus doctor`
111
+ to refresh agent wiring to **v17**, preserving app-owned text outside managed blocks.
112
+
113
+ See [AI operations](ai.md), [instruction index](README.md), and the
114
+ [decision provider guide](https://github.com/plumbus-framework/plumbus/blob/main/docs/ai/decision-providers.md).
@@ -70,6 +70,11 @@ const invoice = await ctx.ai.extract({
70
70
 
71
71
  ### Classify
72
72
 
73
+ **Start with [the classification recipe](ai-classification.md)** for provider/model
74
+ selection, TypeSafe/Jev and Laya registration, defaults, thresholds, and cost hooks
75
+ (core **0.7.4+** / **0.8.0-beta.6+**). Use `classify()` for matching labels and `decide()` for richer
76
+ typed questions. Keep calls inside capabilities/flows.
77
+
73
78
  Classify text into provided categories:
74
79
 
75
80
  ```ts
@@ -382,3 +387,25 @@ See `docs/ai/ai-integration.md` and `docs/upgrading-contract-alignment.md` §12.
382
387
  - With security configured, generate/stream/extract/classify apply the field-classification policy. Extract/classify use the `text` field; arbitrary free-text PII is not automatically detected. Explainability stores redacted input.
383
388
  - Unknown prior spend rejects further requests when a dollar cap is configured. Local/unpriced providers still work without dollar caps; explicit free prices stay supported. Never supply fake zero costs to bypass budgets.
384
389
  - Read [the security release checklist](./upgrading-security-release.md) before upgrading custom cost hooks or AI wrappers.
390
+
391
+
392
+ ## Typed decisions (core 0.7.4+ / 0.8.0-beta.6+)
393
+
394
+ For choices, scores, and probabilities, use `ctx.ai.decide()` inside capabilities
395
+ and flows. Define reusable contracts with `defineDecision` from
396
+ `@plumbus/ai-decision`; CLI startup discovers `app/decisions/`. The shared contract
397
+ package is provided by core; install only the TypeSafe/Laya provider required by
398
+ the app. Export `decisions = { providers, defaultProvider }` from `app/server.ts`
399
+ for both API and workers, using `createTypeSafeDecisionAdapter` or
400
+ `createLayaDecisionAdapter` at that server-owned boundary. Do not register these
401
+ adapters as text-completion providers or call them directly for app business logic.
402
+
403
+ Core records `operation: 'decide'` with actual model, usage, cost, tenant/actor,
404
+ optional `decisionName`, and the caller's `costContext`. Existing
405
+ `onAICostRecorded(record, costContext, db)` hooks persist these rows; include the
406
+ new operation in any app-owned ledger enum/schema. Failed responses and cancelled
407
+ calls also produce rows. Unknown USD cost is null, never a free zero. Security
408
+ scans state and structured questions; budgets are checked before provider work.
409
+ Use `mockAI({ decide: result })` and test through `runCapability`/`simulateFlow`.
410
+
411
+ Guide: https://github.com/plumbus-framework/plumbus/blob/main/docs/ai/decision-providers.md
@@ -43,4 +43,4 @@ Run lint, format checking, typechecking, tests, and packed npm install checks be
43
43
 
44
44
  ## Consumer upgrade
45
45
 
46
- Read [upgrading-security-release.md](./upgrading-security-release.md) and the 0.8 notes in the root docs, explicitly select the new package versions for every installed Plumbus add-on, and run `plumbus init --patch` for agent wiring **v16**. Keep application business logic in Plumbus primitives and `ctx.*`; do not bypass security checks to make a migration pass.
46
+ Read [upgrading-security-release.md](./upgrading-security-release.md) and the 0.8 notes in the root docs, explicitly select the new package versions for every installed Plumbus add-on, and run `plumbus init --patch --agent all` for current agent wiring (**v17** with core 0.7.4+ / 0.8.0-beta.6+). For classification/provider/model selection, read [ai-classification.md](./ai-classification.md). Keep application business logic in Plumbus primitives and `ctx.*`; do not bypass security checks to make a migration pass.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plumbus/core",
3
- "version": "0.8.0-beta.4",
3
+ "version": "0.8.0-beta.6",
4
4
  "description": "Plumbus framework core — types, SDK, runtime, CLI, test utilities",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -89,7 +89,8 @@
89
89
  "xml-crypto": "^6.1.2",
90
90
  "xpath": "^0.0.34",
91
91
  "zod": "^3.24.0",
92
- "zod-to-json-schema": "^3.25.2"
92
+ "zod-to-json-schema": "^3.25.2",
93
+ "@plumbus/ai-decision": "~0.3.0-beta.0"
93
94
  },
94
95
  "peerDependencies": {
95
96
  "@plumbus/api": ">=0.3.0-beta.0 <0.4.0",
@@ -123,7 +124,7 @@
123
124
  "typescript": "^5.7.0",
124
125
  "@plumbus/ai-bedrock": "0.3.0-beta.0",
125
126
  "@plumbus/api": "0.3.0-beta.0",
126
- "@plumbus/voice": "0.6.0-beta.0",
127
+ "@plumbus/voice": "0.6.0-beta.1",
127
128
  "@plumbus/mcp": "0.7.0-beta.0"
128
129
  },
129
130
  "scripts": {
@@ -1,5 +0,0 @@
1
- import { type AIService, type RAGPipelineConfig, type RunToolLoopParams } from '@plumbus/core';
2
- export declare function legacyConsumer(ai: AIService, params: RunToolLoopParams): Promise<number>;
3
- export declare const legacyEmbeddingCallback: RAGPipelineConfig['onEmbeddingCost'];
4
- export declare const uncheckedEstimate: number;
5
- //# sourceMappingURL=legacy-cost-api.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"legacy-cost-api.d.ts","sourceRoot":"","sources":["../../../src/ai/__typecheck-fixtures__/legacy-cost-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACvB,MAAM,eAAe,CAAC;AAEvB,wBAAsB,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAM9F;AAED,eAAO,MAAM,uBAAuB,EAAE,iBAAiB,CAAC,iBAAiB,CAGxE,CAAC;AAGF,eAAO,MAAM,iBAAiB,EAAE,MAAyC,CAAC"}
@@ -1,15 +0,0 @@
1
- import { calculateModelCost, estimateModelCost, runToolLoop, } from '@plumbus/core';
2
- export async function legacyConsumer(ai, params) {
3
- const result = await ai.generateWithUsage({ prompt: 'p', input: {} });
4
- const cost = result.cost;
5
- const loop = await runToolLoop(ai, params);
6
- const total = loop.aggregatedCost;
7
- return cost + total + calculateModelCost(1, 1, 'local');
8
- }
9
- export const legacyEmbeddingCallback = (info) => {
10
- const numericCost = info.cost;
11
- void numericCost;
12
- };
13
- // @ts-expect-error Unknown-aware estimates cannot be treated as definitely priced.
14
- export const uncheckedEstimate = estimateModelCost(1, 1, 'local');
15
- //# sourceMappingURL=legacy-cost-api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"legacy-cost-api.js","sourceRoot":"","sources":["../../../src/ai/__typecheck-fixtures__/legacy-cost-api.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,WAAW,GAIZ,MAAM,eAAe,CAAC;AAEvB,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,EAAa,EAAE,MAAyB;IAC3E,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IACtE,MAAM,IAAI,GAAW,MAAM,CAAC,IAAI,CAAC;IACjC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAW,IAAI,CAAC,cAAc,CAAC;IAC1C,OAAO,IAAI,GAAG,KAAK,GAAG,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAyC,CAAC,IAAI,EAAE,EAAE;IACpF,MAAM,WAAW,GAAW,IAAI,CAAC,IAAI,CAAC;IACtC,KAAK,WAAW,CAAC;AACnB,CAAC,CAAC;AAEF,mFAAmF;AACnF,MAAM,CAAC,MAAM,iBAAiB,GAAW,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC"}