@inkeep/agents-api 0.0.0-dev-20260203035246 → 0.0.0-dev-20260203195644

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 (34) hide show
  1. package/dist/.well-known/workflow/v1/flow.cjs +44 -44
  2. package/dist/.well-known/workflow/v1/flow.cjs.debug.json +2 -2
  3. package/dist/.well-known/workflow/v1/manifest.debug.json +5 -5
  4. package/dist/.well-known/workflow/v1/step.cjs +130 -130
  5. package/dist/.well-known/workflow/v1/step.cjs.debug.json +2 -2
  6. package/dist/createApp.d.ts +2 -2
  7. package/dist/domains/evals/routes/datasetTriggers.d.ts +2 -2
  8. package/dist/domains/evals/routes/index.d.ts +2 -2
  9. package/dist/domains/evals/workflow/routes.d.ts +2 -2
  10. package/dist/domains/manage/routes/conversations.d.ts +2 -2
  11. package/dist/domains/manage/routes/evals/evaluationResults.d.ts +2 -2
  12. package/dist/domains/manage/routes/index.d.ts +2 -2
  13. package/dist/domains/manage/routes/invitations.d.ts +4 -3
  14. package/dist/domains/manage/routes/invitations.js +16 -28
  15. package/dist/domains/manage/routes/mcp.d.ts +2 -2
  16. package/dist/domains/manage/routes/signoz.d.ts +2 -2
  17. package/dist/domains/manage/routes/signoz.js +22 -16
  18. package/dist/domains/manage/routes/userOrganizations.d.ts +4 -3
  19. package/dist/domains/manage/routes/userOrganizations.js +16 -45
  20. package/dist/domains/mcp/routes/mcp.d.ts +2 -2
  21. package/dist/factory.d.ts +3 -3
  22. package/dist/index.d.ts +2 -2
  23. package/dist/middleware/evalsAuth.d.ts +2 -2
  24. package/dist/middleware/manageAuth.d.ts +2 -2
  25. package/dist/middleware/projectAccess.d.ts +2 -2
  26. package/dist/middleware/projectConfig.d.ts +3 -3
  27. package/dist/middleware/requirePermission.d.ts +2 -2
  28. package/dist/middleware/runAuth.d.ts +4 -4
  29. package/dist/middleware/sessionAuth.d.ts +3 -3
  30. package/dist/middleware/tenantAccess.d.ts +2 -2
  31. package/dist/middleware/tracing.d.ts +3 -3
  32. package/dist/openapi.d.ts +0 -2
  33. package/dist/openapi.js +0 -2
  34. package/package.json +5 -5
@@ -46286,52 +46286,14 @@ var workflowCode = `globalThis.__private_workflows = new Map();
46286
46286
  var __defProp = Object.defineProperty;
46287
46287
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
46288
46288
 
46289
- // src/domains/evals/workflow/functions/evaluateConversation.ts
46290
- var getConversationStep = globalThis[Symbol.for("WORKFLOW_USE_STEP")]("step//src/domains/evals/workflow/functions/evaluateConversation.ts//getConversationStep");
46291
- var getEvaluatorsStep = globalThis[Symbol.for("WORKFLOW_USE_STEP")]("step//src/domains/evals/workflow/functions/evaluateConversation.ts//getEvaluatorsStep");
46292
- var executeEvaluatorStep = globalThis[Symbol.for("WORKFLOW_USE_STEP")]("step//src/domains/evals/workflow/functions/evaluateConversation.ts//executeEvaluatorStep");
46293
- var logStep = globalThis[Symbol.for("WORKFLOW_USE_STEP")]("step//src/domains/evals/workflow/functions/evaluateConversation.ts//logStep");
46294
- async function _evaluateConversationWorkflow(payload) {
46295
- const { conversationId, evaluatorIds } = payload;
46296
- await logStep("Starting conversation evaluation", payload);
46297
- const conversation = await getConversationStep(payload);
46298
- const evaluators = await getEvaluatorsStep(payload);
46299
- if (evaluators.length === 0) {
46300
- await logStep("No valid evaluators found", {
46301
- conversationId,
46302
- evaluatorIds
46303
- });
46304
- return {
46305
- success: false,
46306
- reason: "No valid evaluators"
46307
- };
46308
- }
46309
- const results = [];
46310
- for (const evaluator of evaluators) {
46311
- const result = await executeEvaluatorStep(payload, evaluator.id, conversation);
46312
- results.push(result);
46313
- }
46314
- return {
46315
- success: true,
46316
- conversationId,
46317
- resultCount: results.length
46318
- };
46319
- }
46320
- __name(_evaluateConversationWorkflow, "_evaluateConversationWorkflow");
46321
- _evaluateConversationWorkflow.workflowId = "workflow//src/domains/evals/workflow/functions/evaluateConversation.ts//_evaluateConversationWorkflow";
46322
- globalThis.__private_workflows.set("workflow//src/domains/evals/workflow/functions/evaluateConversation.ts//_evaluateConversationWorkflow", _evaluateConversationWorkflow);
46323
- var evaluateConversationWorkflow = Object.assign(_evaluateConversationWorkflow, {
46324
- workflowId: "workflow//src/domains/evals/workflow/functions/evaluateConversation.ts//_evaluateConversationWorkflow"
46325
- });
46326
-
46327
46289
  // src/domains/evals/workflow/functions/runDatasetItem.ts
46328
46290
  var callChatApiStep = globalThis[Symbol.for("WORKFLOW_USE_STEP")]("step//src/domains/evals/workflow/functions/runDatasetItem.ts//callChatApiStep");
46329
46291
  var createRelationStep = globalThis[Symbol.for("WORKFLOW_USE_STEP")]("step//src/domains/evals/workflow/functions/runDatasetItem.ts//createRelationStep");
46330
- var executeEvaluatorStep2 = globalThis[Symbol.for("WORKFLOW_USE_STEP")]("step//src/domains/evals/workflow/functions/runDatasetItem.ts//executeEvaluatorStep");
46331
- var logStep2 = globalThis[Symbol.for("WORKFLOW_USE_STEP")]("step//src/domains/evals/workflow/functions/runDatasetItem.ts//logStep");
46292
+ var executeEvaluatorStep = globalThis[Symbol.for("WORKFLOW_USE_STEP")]("step//src/domains/evals/workflow/functions/runDatasetItem.ts//executeEvaluatorStep");
46293
+ var logStep = globalThis[Symbol.for("WORKFLOW_USE_STEP")]("step//src/domains/evals/workflow/functions/runDatasetItem.ts//logStep");
46332
46294
  async function _runDatasetItemWorkflow(payload) {
46333
46295
  const { datasetItemId, datasetRunId, agentId, evaluatorIds, evaluationRunId } = payload;
46334
- await logStep2("Starting dataset item processing", {
46296
+ await logStep("Starting dataset item processing", {
46335
46297
  datasetItemId,
46336
46298
  datasetRunId,
46337
46299
  agentId,
@@ -46342,11 +46304,11 @@ async function _runDatasetItemWorkflow(payload) {
46342
46304
  await createRelationStep(payload, result.conversationId);
46343
46305
  if (evaluatorIds && evaluatorIds.length > 0 && evaluationRunId) {
46344
46306
  for (const evaluatorId of evaluatorIds) {
46345
- await executeEvaluatorStep2(payload.tenantId, payload.projectId, result.conversationId, evaluatorId, evaluationRunId, payload.datasetItemExpectedOutput);
46307
+ await executeEvaluatorStep(payload.tenantId, payload.projectId, result.conversationId, evaluatorId, evaluationRunId, payload.datasetItemExpectedOutput);
46346
46308
  }
46347
46309
  }
46348
46310
  } else {
46349
- await logStep2("No conversation created", {
46311
+ await logStep("No conversation created", {
46350
46312
  datasetItemId,
46351
46313
  datasetRunId,
46352
46314
  error: result.error
@@ -46366,7 +46328,45 @@ globalThis.__private_workflows.set("workflow//src/domains/evals/workflow/functio
46366
46328
  var runDatasetItemWorkflow = Object.assign(_runDatasetItemWorkflow, {
46367
46329
  workflowId: "workflow//src/domains/evals/workflow/functions/runDatasetItem.ts//_runDatasetItemWorkflow"
46368
46330
  });
46369
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsic3JjL2RvbWFpbnMvZXZhbHMvd29ya2Zsb3cvZnVuY3Rpb25zL2V2YWx1YXRlQ29udmVyc2F0aW9uLnRzIiwgInNyYy9kb21haW5zL2V2YWxzL3dvcmtmbG93L2Z1bmN0aW9ucy9ydW5EYXRhc2V0SXRlbS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqX19pbnRlcm5hbF93b3JrZmxvd3N7XCJ3b3JrZmxvd3NcIjp7XCJzcmMvZG9tYWlucy9ldmFscy93b3JrZmxvdy9mdW5jdGlvbnMvZXZhbHVhdGVDb252ZXJzYXRpb24udHNcIjp7XCJfZXZhbHVhdGVDb252ZXJzYXRpb25Xb3JrZmxvd1wiOntcIndvcmtmbG93SWRcIjpcIndvcmtmbG93Ly9zcmMvZG9tYWlucy9ldmFscy93b3JrZmxvdy9mdW5jdGlvbnMvZXZhbHVhdGVDb252ZXJzYXRpb24udHMvL19ldmFsdWF0ZUNvbnZlcnNhdGlvbldvcmtmbG93XCJ9fX0sXCJzdGVwc1wiOntcInNyYy9kb21haW5zL2V2YWxzL3dvcmtmbG93L2Z1bmN0aW9ucy9ldmFsdWF0ZUNvbnZlcnNhdGlvbi50c1wiOntcImV4ZWN1dGVFdmFsdWF0b3JTdGVwXCI6e1wic3RlcElkXCI6XCJzdGVwLy9zcmMvZG9tYWlucy9ldmFscy93b3JrZmxvdy9mdW5jdGlvbnMvZXZhbHVhdGVDb252ZXJzYXRpb24udHMvL2V4ZWN1dGVFdmFsdWF0b3JTdGVwXCJ9LFwiZ2V0Q29udmVyc2F0aW9uU3RlcFwiOntcInN0ZXBJZFwiOlwic3RlcC8vc3JjL2RvbWFpbnMvZXZhbHMvd29ya2Zsb3cvZnVuY3Rpb25zL2V2YWx1YXRlQ29udmVyc2F0aW9uLnRzLy9nZXRDb252ZXJzYXRpb25TdGVwXCJ9LFwiZ2V0RXZhbHVhdG9yc1N0ZXBcIjp7XCJzdGVwSWRcIjpcInN0ZXAvL3NyYy9kb21haW5zL2V2YWxzL3dvcmtmbG93L2Z1bmN0aW9ucy9ldmFsdWF0ZUNvbnZlcnNhdGlvbi50cy8vZ2V0RXZhbHVhdG9yc1N0ZXBcIn0sXCJsb2dTdGVwXCI6e1wic3RlcElkXCI6XCJzdGVwLy9zcmMvZG9tYWlucy9ldmFscy93b3JrZmxvdy9mdW5jdGlvbnMvZXZhbHVhdGVDb252ZXJzYXRpb24udHMvL2xvZ1N0ZXBcIn19fX0qLztcbnZhciBnZXRDb252ZXJzYXRpb25TdGVwID0gZ2xvYmFsVGhpc1tTeW1ib2wuZm9yKFwiV09SS0ZMT1dfVVNFX1NURVBcIildKFwic3RlcC8vc3JjL2RvbWFpbnMvZXZhbHMvd29ya2Zsb3cvZnVuY3Rpb25zL2V2YWx1YXRlQ29udmVyc2F0aW9uLnRzLy9nZXRDb252ZXJzYXRpb25TdGVwXCIpO1xudmFyIGdldEV2YWx1YXRvcnNTdGVwID0gZ2xvYmFsVGhpc1tTeW1ib2wuZm9yKFwiV09SS0ZMT1dfVVNFX1NURVBcIildKFwic3RlcC8vc3JjL2RvbWFpbnMvZXZhbHMvd29ya2Zsb3cvZnVuY3Rpb25zL2V2YWx1YXRlQ29udmVyc2F0aW9uLnRzLy9nZXRFdmFsdWF0b3JzU3RlcFwiKTtcbnZhciBleGVjdXRlRXZhbHVhdG9yU3RlcCA9IGdsb2JhbFRoaXNbU3ltYm9sLmZvcihcIldPUktGTE9XX1VTRV9TVEVQXCIpXShcInN0ZXAvL3NyYy9kb21haW5zL2V2YWxzL3dvcmtmbG93L2Z1bmN0aW9ucy9ldmFsdWF0ZUNvbnZlcnNhdGlvbi50cy8vZXhlY3V0ZUV2YWx1YXRvclN0ZXBcIik7XG4vKipcbiAqIFN0ZXA6IExvZyB3b3JrZmxvdyBwcm9ncmVzc1xuICovIHZhciBsb2dTdGVwID0gZ2xvYmFsVGhpc1tTeW1ib2wuZm9yKFwiV09SS0ZMT1dfVVNFX1NURVBcIildKFwic3RlcC8vc3JjL2RvbWFpbnMvZXZhbHMvd29ya2Zsb3cvZnVuY3Rpb25zL2V2YWx1YXRlQ29udmVyc2F0aW9uLnRzLy9sb2dTdGVwXCIpO1xuLyoqXG4gKiBNYWluIHdvcmtmbG93IGZ1bmN0aW9uIC0gb3JjaGVzdHJhdGVzIHRoZSBldmFsdWF0aW9uIHN0ZXBzLlxuICpcbiAqIElNUE9SVEFOVDogVGhpcyBydW5zIGluIGEgZGV0ZXJtaW5pc3RpYyBzYW5kYm94LlxuICogLSBEbyBOT1QgY2FsbCBOb2RlLmpzIEFQSXMgZGlyZWN0bHkgaGVyZSAobm8gREIsIG5vIGZzLCBldGMuKVxuICogLSBBbGwgc2lkZSBlZmZlY3RzIG11c3QgaGFwcGVuIGluIHN0ZXAgZnVuY3Rpb25zXG4gKi8gYXN5bmMgZnVuY3Rpb24gX2V2YWx1YXRlQ29udmVyc2F0aW9uV29ya2Zsb3cocGF5bG9hZCkge1xuICAgIGNvbnN0IHsgY29udmVyc2F0aW9uSWQsIGV2YWx1YXRvcklkcyB9ID0gcGF5bG9hZDtcbiAgICBhd2FpdCBsb2dTdGVwKCdTdGFydGluZyBjb252ZXJzYXRpb24gZXZhbHVhdGlvbicsIHBheWxvYWQpO1xuICAgIGNvbnN0IGNvbnZlcnNhdGlvbiA9IGF3YWl0IGdldENvbnZlcnNhdGlvblN0ZXAocGF5bG9hZCk7XG4gICAgY29uc3QgZXZhbHVhdG9ycyA9IGF3YWl0IGdldEV2YWx1YXRvcnNTdGVwKHBheWxvYWQpO1xuICAgIGlmIChldmFsdWF0b3JzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBhd2FpdCBsb2dTdGVwKCdObyB2YWxpZCBldmFsdWF0b3JzIGZvdW5kJywge1xuICAgICAgICAgICAgY29udmVyc2F0aW9uSWQsXG4gICAgICAgICAgICBldmFsdWF0b3JJZHNcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzdWNjZXNzOiBmYWxzZSxcbiAgICAgICAgICAgIHJlYXNvbjogJ05vIHZhbGlkIGV2YWx1YXRvcnMnXG4gICAgICAgIH07XG4gICAgfVxuICAgIGNvbnN0IHJlc3VsdHMgPSBbXTtcbiAgICBmb3IgKGNvbnN0IGV2YWx1YXRvciBvZiBldmFsdWF0b3JzKXtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZXhlY3V0ZUV2YWx1YXRvclN0ZXAocGF5bG9hZCwgZXZhbHVhdG9yLmlkLCBjb252ZXJzYXRpb24pO1xuICAgICAgICByZXN1bHRzLnB1c2gocmVzdWx0KTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgc3VjY2VzczogdHJ1ZSxcbiAgICAgICAgY29udmVyc2F0aW9uSWQsXG4gICAgICAgIHJlc3VsdENvdW50OiByZXN1bHRzLmxlbmd0aFxuICAgIH07XG59XG5fZXZhbHVhdGVDb252ZXJzYXRpb25Xb3JrZmxvdy53b3JrZmxvd0lkID0gXCJ3b3JrZmxvdy8vc3JjL2RvbWFpbnMvZXZhbHMvd29ya2Zsb3cvZnVuY3Rpb25zL2V2YWx1YXRlQ29udmVyc2F0aW9uLnRzLy9fZXZhbHVhdGVDb252ZXJzYXRpb25Xb3JrZmxvd1wiO1xuZ2xvYmFsVGhpcy5fX3ByaXZhdGVfd29ya2Zsb3dzLnNldChcIndvcmtmbG93Ly9zcmMvZG9tYWlucy9ldmFscy93b3JrZmxvdy9mdW5jdGlvbnMvZXZhbHVhdGVDb252ZXJzYXRpb24udHMvL19ldmFsdWF0ZUNvbnZlcnNhdGlvbldvcmtmbG93XCIsIF9ldmFsdWF0ZUNvbnZlcnNhdGlvbldvcmtmbG93KTtcbi8vIFRoaXMgSUQgbXVzdCBtYXRjaCB3aGF0IHdvcmtmbG93OmJ1aWxkIGdlbmVyYXRlcyBpbiAud2VsbC1rbm93bi93b3JrZmxvdy92MS9mbG93LmNqc1xuZXhwb3J0IGNvbnN0IGV2YWx1YXRlQ29udmVyc2F0aW9uV29ya2Zsb3cgPSBPYmplY3QuYXNzaWduKF9ldmFsdWF0ZUNvbnZlcnNhdGlvbldvcmtmbG93LCB7XG4gICAgd29ya2Zsb3dJZDogJ3dvcmtmbG93Ly9zcmMvZG9tYWlucy9ldmFscy93b3JrZmxvdy9mdW5jdGlvbnMvZXZhbHVhdGVDb252ZXJzYXRpb24udHMvL19ldmFsdWF0ZUNvbnZlcnNhdGlvbldvcmtmbG93J1xufSk7XG4iLCAiLyoqXG4gKiBXb3JrZmxvdyBmb3IgcnVubmluZyBkYXRhc2V0IGl0ZW1zIHRocm91Z2ggdGhlIGNoYXQgQVBJLlxuICpcbiAqIFRoaXMgbWFrZXMgZGF0YXNldCBydW4gcHJvY2Vzc2luZyBmaXJlLWFuZC1mb3JnZXQgLSBlYWNoIGl0ZW0gaXMgcXVldWVkXG4gKiBpbmRlcGVuZGVudGx5IGFuZCBwcm9jZXNzZWQgaW4gcGFyYWxsZWwgYnkgdGhlIHdvcmtmbG93IHN5c3RlbS5cbiAqLyAvKipfX2ludGVybmFsX3dvcmtmbG93c3tcIndvcmtmbG93c1wiOntcInNyYy9kb21haW5zL2V2YWxzL3dvcmtmbG93L2Z1bmN0aW9ucy9ydW5EYXRhc2V0SXRlbS50c1wiOntcIl9ydW5EYXRhc2V0SXRlbVdvcmtmbG93XCI6e1wid29ya2Zsb3dJZFwiOlwid29ya2Zsb3cvL3NyYy9kb21haW5zL2V2YWxzL3dvcmtmbG93L2Z1bmN0aW9ucy9ydW5EYXRhc2V0SXRlbS50cy8vX3J1bkRhdGFzZXRJdGVtV29ya2Zsb3dcIn19fSxcInN0ZXBzXCI6e1wic3JjL2RvbWFpbnMvZXZhbHMvd29ya2Zsb3cvZnVuY3Rpb25zL3J1bkRhdGFzZXRJdGVtLnRzXCI6e1wiY2FsbENoYXRBcGlTdGVwXCI6e1wic3RlcElkXCI6XCJzdGVwLy9zcmMvZG9tYWlucy9ldmFscy93b3JrZmxvdy9mdW5jdGlvbnMvcnVuRGF0YXNldEl0ZW0udHMvL2NhbGxDaGF0QXBpU3RlcFwifSxcImNyZWF0ZVJlbGF0aW9uU3RlcFwiOntcInN0ZXBJZFwiOlwic3RlcC8vc3JjL2RvbWFpbnMvZXZhbHMvd29ya2Zsb3cvZnVuY3Rpb25zL3J1bkRhdGFzZXRJdGVtLnRzLy9jcmVhdGVSZWxhdGlvblN0ZXBcIn0sXCJleGVjdXRlRXZhbHVhdG9yU3RlcFwiOntcInN0ZXBJZFwiOlwic3RlcC8vc3JjL2RvbWFpbnMvZXZhbHMvd29ya2Zsb3cvZnVuY3Rpb25zL3J1bkRhdGFzZXRJdGVtLnRzLy9leGVjdXRlRXZhbHVhdG9yU3RlcFwifSxcImxvZ1N0ZXBcIjp7XCJzdGVwSWRcIjpcInN0ZXAvL3NyYy9kb21haW5zL2V2YWxzL3dvcmtmbG93L2Z1bmN0aW9ucy9ydW5EYXRhc2V0SXRlbS50cy8vbG9nU3RlcFwifX19fSovO1xuLyoqXG4gKiBTdGVwOiBDYWxsIHRoZSBjaGF0IEFQSSB0byBwcm9jZXNzIHRoZSBkYXRhc2V0IGl0ZW1cbiAqLyB2YXIgY2FsbENoYXRBcGlTdGVwID0gZ2xvYmFsVGhpc1tTeW1ib2wuZm9yKFwiV09SS0ZMT1dfVVNFX1NURVBcIildKFwic3RlcC8vc3JjL2RvbWFpbnMvZXZhbHMvd29ya2Zsb3cvZnVuY3Rpb25zL3J1bkRhdGFzZXRJdGVtLnRzLy9jYWxsQ2hhdEFwaVN0ZXBcIik7XG4vKipcbiAqIFN0ZXA6IENyZWF0ZSBjb252ZXJzYXRpb24gcmVsYXRpb24gaW4gZGF0YWJhc2VcbiAqLyB2YXIgY3JlYXRlUmVsYXRpb25TdGVwID0gZ2xvYmFsVGhpc1tTeW1ib2wuZm9yKFwiV09SS0ZMT1dfVVNFX1NURVBcIildKFwic3RlcC8vc3JjL2RvbWFpbnMvZXZhbHMvd29ya2Zsb3cvZnVuY3Rpb25zL3J1bkRhdGFzZXRJdGVtLnRzLy9jcmVhdGVSZWxhdGlvblN0ZXBcIik7XG4vKipcbiAqIFN0ZXA6IEV4ZWN1dGUgYSBzaW5nbGUgZXZhbHVhdG9yIG9uIGEgY29udmVyc2F0aW9uXG4gKi8gdmFyIGV4ZWN1dGVFdmFsdWF0b3JTdGVwID0gZ2xvYmFsVGhpc1tTeW1ib2wuZm9yKFwiV09SS0ZMT1dfVVNFX1NURVBcIildKFwic3RlcC8vc3JjL2RvbWFpbnMvZXZhbHMvd29ya2Zsb3cvZnVuY3Rpb25zL3J1bkRhdGFzZXRJdGVtLnRzLy9leGVjdXRlRXZhbHVhdG9yU3RlcFwiKTtcbi8qKlxuICogU3RlcDogTG9nIHdvcmtmbG93IHByb2dyZXNzXG4gKi8gdmFyIGxvZ1N0ZXAgPSBnbG9iYWxUaGlzW1N5bWJvbC5mb3IoXCJXT1JLRkxPV19VU0VfU1RFUFwiKV0oXCJzdGVwLy9zcmMvZG9tYWlucy9ldmFscy93b3JrZmxvdy9mdW5jdGlvbnMvcnVuRGF0YXNldEl0ZW0udHMvL2xvZ1N0ZXBcIik7XG4vKipcbiAqIE1haW4gd29ya2Zsb3cgZnVuY3Rpb24gLSBwcm9jZXNzZXMgYSBzaW5nbGUgZGF0YXNldCBpdGVtIHRocm91Z2ggdGhlIGNoYXQgQVBJLlxuICogT3B0aW9uYWxseSBydW5zIGV2YWx1YXRvcnMgb24gdGhlIHJlc3VsdGluZyBjb252ZXJzYXRpb24uXG4gKi8gYXN5bmMgZnVuY3Rpb24gX3J1bkRhdGFzZXRJdGVtV29ya2Zsb3cocGF5bG9hZCkge1xuICAgIGNvbnN0IHsgZGF0YXNldEl0ZW1JZCwgZGF0YXNldFJ1bklkLCBhZ2VudElkLCBldmFsdWF0b3JJZHMsIGV2YWx1YXRpb25SdW5JZCB9ID0gcGF5bG9hZDtcbiAgICBhd2FpdCBsb2dTdGVwKCdTdGFydGluZyBkYXRhc2V0IGl0ZW0gcHJvY2Vzc2luZycsIHtcbiAgICAgICAgZGF0YXNldEl0ZW1JZCxcbiAgICAgICAgZGF0YXNldFJ1bklkLFxuICAgICAgICBhZ2VudElkLFxuICAgICAgICBoYXNFdmFsdWF0b3JzOiAhIShldmFsdWF0b3JJZHMgJiYgZXZhbHVhdG9ySWRzLmxlbmd0aCA+IDApXG4gICAgfSk7XG4gICAgLy8gQ2FsbCBjaGF0IEFQSVxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGNhbGxDaGF0QXBpU3RlcChwYXlsb2FkKTtcbiAgICAvLyBDcmVhdGUgcmVsYXRpb24gaWYgd2UgZ290IGEgY29udmVyc2F0aW9uXG4gICAgaWYgKHJlc3VsdC5jb252ZXJzYXRpb25JZCkge1xuICAgICAgICBhd2FpdCBjcmVhdGVSZWxhdGlvblN0ZXAocGF5bG9hZCwgcmVzdWx0LmNvbnZlcnNhdGlvbklkKTtcbiAgICAgICAgLy8gUnVuIGV2YWx1YXRpb25zIGlmIGNvbmZpZ3VyZWRcbiAgICAgICAgaWYgKGV2YWx1YXRvcklkcyAmJiBldmFsdWF0b3JJZHMubGVuZ3RoID4gMCAmJiBldmFsdWF0aW9uUnVuSWQpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgZXZhbHVhdG9ySWQgb2YgZXZhbHVhdG9ySWRzKXtcbiAgICAgICAgICAgICAgICBhd2FpdCBleGVjdXRlRXZhbHVhdG9yU3RlcChwYXlsb2FkLnRlbmFudElkLCBwYXlsb2FkLnByb2plY3RJZCwgcmVzdWx0LmNvbnZlcnNhdGlvbklkLCBldmFsdWF0b3JJZCwgZXZhbHVhdGlvblJ1bklkLCBwYXlsb2FkLmRhdGFzZXRJdGVtRXhwZWN0ZWRPdXRwdXQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgICAgYXdhaXQgbG9nU3RlcCgnTm8gY29udmVyc2F0aW9uIGNyZWF0ZWQnLCB7XG4gICAgICAgICAgICBkYXRhc2V0SXRlbUlkLFxuICAgICAgICAgICAgZGF0YXNldFJ1bklkLFxuICAgICAgICAgICAgZXJyb3I6IHJlc3VsdC5lcnJvclxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgc3VjY2VzczogIXJlc3VsdC5lcnJvcixcbiAgICAgICAgZGF0YXNldEl0ZW1JZCxcbiAgICAgICAgZGF0YXNldFJ1bklkLFxuICAgICAgICBjb252ZXJzYXRpb25JZDogcmVzdWx0LmNvbnZlcnNhdGlvbklkIHx8IG51bGwsXG4gICAgICAgIGVycm9yOiByZXN1bHQuZXJyb3IgfHwgbnVsbFxuICAgIH07XG59XG5fcnVuRGF0YXNldEl0ZW1Xb3JrZmxvdy53b3JrZmxvd0lkID0gXCJ3b3JrZmxvdy8vc3JjL2RvbWFpbnMvZXZhbHMvd29ya2Zsb3cvZnVuY3Rpb25zL3J1bkRhdGFzZXRJdGVtLnRzLy9fcnVuRGF0YXNldEl0ZW1Xb3JrZmxvd1wiO1xuZ2xvYmFsVGhpcy5fX3ByaXZhdGVfd29ya2Zsb3dzLnNldChcIndvcmtmbG93Ly9zcmMvZG9tYWlucy9ldmFscy93b3JrZmxvdy9mdW5jdGlvbnMvcnVuRGF0YXNldEl0ZW0udHMvL19ydW5EYXRhc2V0SXRlbVdvcmtmbG93XCIsIF9ydW5EYXRhc2V0SXRlbVdvcmtmbG93KTtcbi8vIFRoaXMgSUQgbXVzdCBtYXRjaCB3aGF0IHdvcmtmbG93OmJ1aWxkIGdlbmVyYXRlcyBpbiAud2VsbC1rbm93bi93b3JrZmxvdy92MS9mbG93LmNqc1xuZXhwb3J0IGNvbnN0IHJ1bkRhdGFzZXRJdGVtV29ya2Zsb3cgPSBPYmplY3QuYXNzaWduKF9ydW5EYXRhc2V0SXRlbVdvcmtmbG93LCB7XG4gICAgd29ya2Zsb3dJZDogJ3dvcmtmbG93Ly9zcmMvZG9tYWlucy9ldmFscy93b3JrZmxvdy9mdW5jdGlvbnMvcnVuRGF0YXNldEl0ZW0udHMvL19ydW5EYXRhc2V0SXRlbVdvcmtmbG93J1xufSk7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7OztBQUNBLElBQUksc0JBQXNCLFdBQVcsT0FBTyxJQUFJLG1CQUFtQixDQUFDLEVBQUUseUZBQXlGO0FBQy9KLElBQUksb0JBQW9CLFdBQVcsT0FBTyxJQUFJLG1CQUFtQixDQUFDLEVBQUUsdUZBQXVGO0FBQzNKLElBQUksdUJBQXVCLFdBQVcsT0FBTyxJQUFJLG1CQUFtQixDQUFDLEVBQUUsMEZBQTBGO0FBRzdKLElBQUksVUFBVSxXQUFXLE9BQU8sSUFBSSxtQkFBbUIsQ0FBQyxFQUFFLDZFQUE2RTtBQU92SSxlQUFlLDhCQUE4QixTQUFTO0FBQ3RELFFBQU0sRUFBRSxnQkFBZ0IsYUFBYSxJQUFJO0FBQ3pDLFFBQU0sUUFBUSxvQ0FBb0MsT0FBTztBQUN6RCxRQUFNLGVBQWUsTUFBTSxvQkFBb0IsT0FBTztBQUN0RCxRQUFNLGFBQWEsTUFBTSxrQkFBa0IsT0FBTztBQUNsRCxNQUFJLFdBQVcsV0FBVyxHQUFHO0FBQ3pCLFVBQU0sUUFBUSw2QkFBNkI7QUFBQSxNQUN2QztBQUFBLE1BQ0E7QUFBQSxJQUNKLENBQUM7QUFDRCxXQUFPO0FBQUEsTUFDSCxTQUFTO0FBQUEsTUFDVCxRQUFRO0FBQUEsSUFDWjtBQUFBLEVBQ0o7QUFDQSxRQUFNLFVBQVUsQ0FBQztBQUNqQixhQUFXLGFBQWEsWUFBVztBQUMvQixVQUFNLFNBQVMsTUFBTSxxQkFBcUIsU0FBUyxVQUFVLElBQUksWUFBWTtBQUM3RSxZQUFRLEtBQUssTUFBTTtBQUFBLEVBQ3ZCO0FBQ0EsU0FBTztBQUFBLElBQ0gsU0FBUztBQUFBLElBQ1Q7QUFBQSxJQUNBLGFBQWEsUUFBUTtBQUFBLEVBQ3pCO0FBQ0o7QUF6Qm1CO0FBMEJuQiw4QkFBOEIsYUFBYTtBQUMzQyxXQUFXLG9CQUFvQixJQUFJLHlHQUF5Ryw2QkFBNkI7QUFFbEssSUFBTSwrQkFBK0IsT0FBTyxPQUFPLCtCQUErQjtBQUFBLEVBQ3JGLFlBQVk7QUFDaEIsQ0FBQzs7O0FDcENHLElBQUksa0JBQWtCLFdBQVcsT0FBTyxJQUFJLG1CQUFtQixDQUFDLEVBQUUsK0VBQStFO0FBR2pKLElBQUkscUJBQXFCLFdBQVcsT0FBTyxJQUFJLG1CQUFtQixDQUFDLEVBQUUsa0ZBQWtGO0FBR3ZKLElBQUlBLHdCQUF1QixXQUFXLE9BQU8sSUFBSSxtQkFBbUIsQ0FBQyxFQUFFLG9GQUFvRjtBQUczSixJQUFJQyxXQUFVLFdBQVcsT0FBTyxJQUFJLG1CQUFtQixDQUFDLEVBQUUsdUVBQXVFO0FBSWpJLGVBQWUsd0JBQXdCLFNBQVM7QUFDaEQsUUFBTSxFQUFFLGVBQWUsY0FBYyxTQUFTLGNBQWMsZ0JBQWdCLElBQUk7QUFDaEYsUUFBTUEsU0FBUSxvQ0FBb0M7QUFBQSxJQUM5QztBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQSxlQUFlLENBQUMsRUFBRSxnQkFBZ0IsYUFBYSxTQUFTO0FBQUEsRUFDNUQsQ0FBQztBQUVELFFBQU0sU0FBUyxNQUFNLGdCQUFnQixPQUFPO0FBRTVDLE1BQUksT0FBTyxnQkFBZ0I7QUFDdkIsVUFBTSxtQkFBbUIsU0FBUyxPQUFPLGNBQWM7QUFFdkQsUUFBSSxnQkFBZ0IsYUFBYSxTQUFTLEtBQUssaUJBQWlCO0FBQzVELGlCQUFXLGVBQWUsY0FBYTtBQUNuQyxjQUFNRCxzQkFBcUIsUUFBUSxVQUFVLFFBQVEsV0FBVyxPQUFPLGdCQUFnQixhQUFhLGlCQUFpQixRQUFRLHlCQUF5QjtBQUFBLE1BQzFKO0FBQUEsSUFDSjtBQUFBLEVBQ0osT0FBTztBQUNILFVBQU1DLFNBQVEsMkJBQTJCO0FBQUEsTUFDckM7QUFBQSxNQUNBO0FBQUEsTUFDQSxPQUFPLE9BQU87QUFBQSxJQUNsQixDQUFDO0FBQUEsRUFDTDtBQUNBLFNBQU87QUFBQSxJQUNILFNBQVMsQ0FBQyxPQUFPO0FBQUEsSUFDakI7QUFBQSxJQUNBO0FBQUEsSUFDQSxnQkFBZ0IsT0FBTyxrQkFBa0I7QUFBQSxJQUN6QyxPQUFPLE9BQU8sU0FBUztBQUFBLEVBQzNCO0FBQ0o7QUFqQ21CO0FBa0NuQix3QkFBd0IsYUFBYTtBQUNyQyxXQUFXLG9CQUFvQixJQUFJLDZGQUE2Rix1QkFBdUI7QUFFaEosSUFBTSx5QkFBeUIsT0FBTyxPQUFPLHlCQUF5QjtBQUFBLEVBQ3pFLFlBQVk7QUFDaEIsQ0FBQzsiLAogICJuYW1lcyI6IFsiZXhlY3V0ZUV2YWx1YXRvclN0ZXAiLCAibG9nU3RlcCJdCn0K
46331
+
46332
+ // src/domains/evals/workflow/functions/evaluateConversation.ts
46333
+ var getConversationStep = globalThis[Symbol.for("WORKFLOW_USE_STEP")]("step//src/domains/evals/workflow/functions/evaluateConversation.ts//getConversationStep");
46334
+ var getEvaluatorsStep = globalThis[Symbol.for("WORKFLOW_USE_STEP")]("step//src/domains/evals/workflow/functions/evaluateConversation.ts//getEvaluatorsStep");
46335
+ var executeEvaluatorStep2 = globalThis[Symbol.for("WORKFLOW_USE_STEP")]("step//src/domains/evals/workflow/functions/evaluateConversation.ts//executeEvaluatorStep");
46336
+ var logStep2 = globalThis[Symbol.for("WORKFLOW_USE_STEP")]("step//src/domains/evals/workflow/functions/evaluateConversation.ts//logStep");
46337
+ async function _evaluateConversationWorkflow(payload) {
46338
+ const { conversationId, evaluatorIds } = payload;
46339
+ await logStep2("Starting conversation evaluation", payload);
46340
+ const conversation = await getConversationStep(payload);
46341
+ const evaluators = await getEvaluatorsStep(payload);
46342
+ if (evaluators.length === 0) {
46343
+ await logStep2("No valid evaluators found", {
46344
+ conversationId,
46345
+ evaluatorIds
46346
+ });
46347
+ return {
46348
+ success: false,
46349
+ reason: "No valid evaluators"
46350
+ };
46351
+ }
46352
+ const results = [];
46353
+ for (const evaluator of evaluators) {
46354
+ const result = await executeEvaluatorStep2(payload, evaluator.id, conversation);
46355
+ results.push(result);
46356
+ }
46357
+ return {
46358
+ success: true,
46359
+ conversationId,
46360
+ resultCount: results.length
46361
+ };
46362
+ }
46363
+ __name(_evaluateConversationWorkflow, "_evaluateConversationWorkflow");
46364
+ _evaluateConversationWorkflow.workflowId = "workflow//src/domains/evals/workflow/functions/evaluateConversation.ts//_evaluateConversationWorkflow";
46365
+ globalThis.__private_workflows.set("workflow//src/domains/evals/workflow/functions/evaluateConversation.ts//_evaluateConversationWorkflow", _evaluateConversationWorkflow);
46366
+ var evaluateConversationWorkflow = Object.assign(_evaluateConversationWorkflow, {
46367
+ workflowId: "workflow//src/domains/evals/workflow/functions/evaluateConversation.ts//_evaluateConversationWorkflow"
46368
+ });
46369
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsic3JjL2RvbWFpbnMvZXZhbHMvd29ya2Zsb3cvZnVuY3Rpb25zL3J1bkRhdGFzZXRJdGVtLnRzIiwgInNyYy9kb21haW5zL2V2YWxzL3dvcmtmbG93L2Z1bmN0aW9ucy9ldmFsdWF0ZUNvbnZlcnNhdGlvbi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBXb3JrZmxvdyBmb3IgcnVubmluZyBkYXRhc2V0IGl0ZW1zIHRocm91Z2ggdGhlIGNoYXQgQVBJLlxuICpcbiAqIFRoaXMgbWFrZXMgZGF0YXNldCBydW4gcHJvY2Vzc2luZyBmaXJlLWFuZC1mb3JnZXQgLSBlYWNoIGl0ZW0gaXMgcXVldWVkXG4gKiBpbmRlcGVuZGVudGx5IGFuZCBwcm9jZXNzZWQgaW4gcGFyYWxsZWwgYnkgdGhlIHdvcmtmbG93IHN5c3RlbS5cbiAqLyAvKipfX2ludGVybmFsX3dvcmtmbG93c3tcIndvcmtmbG93c1wiOntcInNyYy9kb21haW5zL2V2YWxzL3dvcmtmbG93L2Z1bmN0aW9ucy9ydW5EYXRhc2V0SXRlbS50c1wiOntcIl9ydW5EYXRhc2V0SXRlbVdvcmtmbG93XCI6e1wid29ya2Zsb3dJZFwiOlwid29ya2Zsb3cvL3NyYy9kb21haW5zL2V2YWxzL3dvcmtmbG93L2Z1bmN0aW9ucy9ydW5EYXRhc2V0SXRlbS50cy8vX3J1bkRhdGFzZXRJdGVtV29ya2Zsb3dcIn19fSxcInN0ZXBzXCI6e1wic3JjL2RvbWFpbnMvZXZhbHMvd29ya2Zsb3cvZnVuY3Rpb25zL3J1bkRhdGFzZXRJdGVtLnRzXCI6e1wiY2FsbENoYXRBcGlTdGVwXCI6e1wic3RlcElkXCI6XCJzdGVwLy9zcmMvZG9tYWlucy9ldmFscy93b3JrZmxvdy9mdW5jdGlvbnMvcnVuRGF0YXNldEl0ZW0udHMvL2NhbGxDaGF0QXBpU3RlcFwifSxcImNyZWF0ZVJlbGF0aW9uU3RlcFwiOntcInN0ZXBJZFwiOlwic3RlcC8vc3JjL2RvbWFpbnMvZXZhbHMvd29ya2Zsb3cvZnVuY3Rpb25zL3J1bkRhdGFzZXRJdGVtLnRzLy9jcmVhdGVSZWxhdGlvblN0ZXBcIn0sXCJleGVjdXRlRXZhbHVhdG9yU3RlcFwiOntcInN0ZXBJZFwiOlwic3RlcC8vc3JjL2RvbWFpbnMvZXZhbHMvd29ya2Zsb3cvZnVuY3Rpb25zL3J1bkRhdGFzZXRJdGVtLnRzLy9leGVjdXRlRXZhbHVhdG9yU3RlcFwifSxcImxvZ1N0ZXBcIjp7XCJzdGVwSWRcIjpcInN0ZXAvL3NyYy9kb21haW5zL2V2YWxzL3dvcmtmbG93L2Z1bmN0aW9ucy9ydW5EYXRhc2V0SXRlbS50cy8vbG9nU3RlcFwifX19fSovO1xuLyoqXG4gKiBTdGVwOiBDYWxsIHRoZSBjaGF0IEFQSSB0byBwcm9jZXNzIHRoZSBkYXRhc2V0IGl0ZW1cbiAqLyB2YXIgY2FsbENoYXRBcGlTdGVwID0gZ2xvYmFsVGhpc1tTeW1ib2wuZm9yKFwiV09SS0ZMT1dfVVNFX1NURVBcIildKFwic3RlcC8vc3JjL2RvbWFpbnMvZXZhbHMvd29ya2Zsb3cvZnVuY3Rpb25zL3J1bkRhdGFzZXRJdGVtLnRzLy9jYWxsQ2hhdEFwaVN0ZXBcIik7XG4vKipcbiAqIFN0ZXA6IENyZWF0ZSBjb252ZXJzYXRpb24gcmVsYXRpb24gaW4gZGF0YWJhc2VcbiAqLyB2YXIgY3JlYXRlUmVsYXRpb25TdGVwID0gZ2xvYmFsVGhpc1tTeW1ib2wuZm9yKFwiV09SS0ZMT1dfVVNFX1NURVBcIildKFwic3RlcC8vc3JjL2RvbWFpbnMvZXZhbHMvd29ya2Zsb3cvZnVuY3Rpb25zL3J1bkRhdGFzZXRJdGVtLnRzLy9jcmVhdGVSZWxhdGlvblN0ZXBcIik7XG4vKipcbiAqIFN0ZXA6IEV4ZWN1dGUgYSBzaW5nbGUgZXZhbHVhdG9yIG9uIGEgY29udmVyc2F0aW9uXG4gKi8gdmFyIGV4ZWN1dGVFdmFsdWF0b3JTdGVwID0gZ2xvYmFsVGhpc1tTeW1ib2wuZm9yKFwiV09SS0ZMT1dfVVNFX1NURVBcIildKFwic3RlcC8vc3JjL2RvbWFpbnMvZXZhbHMvd29ya2Zsb3cvZnVuY3Rpb25zL3J1bkRhdGFzZXRJdGVtLnRzLy9leGVjdXRlRXZhbHVhdG9yU3RlcFwiKTtcbi8qKlxuICogU3RlcDogTG9nIHdvcmtmbG93IHByb2dyZXNzXG4gKi8gdmFyIGxvZ1N0ZXAgPSBnbG9iYWxUaGlzW1N5bWJvbC5mb3IoXCJXT1JLRkxPV19VU0VfU1RFUFwiKV0oXCJzdGVwLy9zcmMvZG9tYWlucy9ldmFscy93b3JrZmxvdy9mdW5jdGlvbnMvcnVuRGF0YXNldEl0ZW0udHMvL2xvZ1N0ZXBcIik7XG4vKipcbiAqIE1haW4gd29ya2Zsb3cgZnVuY3Rpb24gLSBwcm9jZXNzZXMgYSBzaW5nbGUgZGF0YXNldCBpdGVtIHRocm91Z2ggdGhlIGNoYXQgQVBJLlxuICogT3B0aW9uYWxseSBydW5zIGV2YWx1YXRvcnMgb24gdGhlIHJlc3VsdGluZyBjb252ZXJzYXRpb24uXG4gKi8gYXN5bmMgZnVuY3Rpb24gX3J1bkRhdGFzZXRJdGVtV29ya2Zsb3cocGF5bG9hZCkge1xuICAgIGNvbnN0IHsgZGF0YXNldEl0ZW1JZCwgZGF0YXNldFJ1bklkLCBhZ2VudElkLCBldmFsdWF0b3JJZHMsIGV2YWx1YXRpb25SdW5JZCB9ID0gcGF5bG9hZDtcbiAgICBhd2FpdCBsb2dTdGVwKCdTdGFydGluZyBkYXRhc2V0IGl0ZW0gcHJvY2Vzc2luZycsIHtcbiAgICAgICAgZGF0YXNldEl0ZW1JZCxcbiAgICAgICAgZGF0YXNldFJ1bklkLFxuICAgICAgICBhZ2VudElkLFxuICAgICAgICBoYXNFdmFsdWF0b3JzOiAhIShldmFsdWF0b3JJZHMgJiYgZXZhbHVhdG9ySWRzLmxlbmd0aCA+IDApXG4gICAgfSk7XG4gICAgLy8gQ2FsbCBjaGF0IEFQSVxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGNhbGxDaGF0QXBpU3RlcChwYXlsb2FkKTtcbiAgICAvLyBDcmVhdGUgcmVsYXRpb24gaWYgd2UgZ290IGEgY29udmVyc2F0aW9uXG4gICAgaWYgKHJlc3VsdC5jb252ZXJzYXRpb25JZCkge1xuICAgICAgICBhd2FpdCBjcmVhdGVSZWxhdGlvblN0ZXAocGF5bG9hZCwgcmVzdWx0LmNvbnZlcnNhdGlvbklkKTtcbiAgICAgICAgLy8gUnVuIGV2YWx1YXRpb25zIGlmIGNvbmZpZ3VyZWRcbiAgICAgICAgaWYgKGV2YWx1YXRvcklkcyAmJiBldmFsdWF0b3JJZHMubGVuZ3RoID4gMCAmJiBldmFsdWF0aW9uUnVuSWQpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgZXZhbHVhdG9ySWQgb2YgZXZhbHVhdG9ySWRzKXtcbiAgICAgICAgICAgICAgICBhd2FpdCBleGVjdXRlRXZhbHVhdG9yU3RlcChwYXlsb2FkLnRlbmFudElkLCBwYXlsb2FkLnByb2plY3RJZCwgcmVzdWx0LmNvbnZlcnNhdGlvbklkLCBldmFsdWF0b3JJZCwgZXZhbHVhdGlvblJ1bklkLCBwYXlsb2FkLmRhdGFzZXRJdGVtRXhwZWN0ZWRPdXRwdXQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgICAgYXdhaXQgbG9nU3RlcCgnTm8gY29udmVyc2F0aW9uIGNyZWF0ZWQnLCB7XG4gICAgICAgICAgICBkYXRhc2V0SXRlbUlkLFxuICAgICAgICAgICAgZGF0YXNldFJ1bklkLFxuICAgICAgICAgICAgZXJyb3I6IHJlc3VsdC5lcnJvclxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgc3VjY2VzczogIXJlc3VsdC5lcnJvcixcbiAgICAgICAgZGF0YXNldEl0ZW1JZCxcbiAgICAgICAgZGF0YXNldFJ1bklkLFxuICAgICAgICBjb252ZXJzYXRpb25JZDogcmVzdWx0LmNvbnZlcnNhdGlvbklkIHx8IG51bGwsXG4gICAgICAgIGVycm9yOiByZXN1bHQuZXJyb3IgfHwgbnVsbFxuICAgIH07XG59XG5fcnVuRGF0YXNldEl0ZW1Xb3JrZmxvdy53b3JrZmxvd0lkID0gXCJ3b3JrZmxvdy8vc3JjL2RvbWFpbnMvZXZhbHMvd29ya2Zsb3cvZnVuY3Rpb25zL3J1bkRhdGFzZXRJdGVtLnRzLy9fcnVuRGF0YXNldEl0ZW1Xb3JrZmxvd1wiO1xuZ2xvYmFsVGhpcy5fX3ByaXZhdGVfd29ya2Zsb3dzLnNldChcIndvcmtmbG93Ly9zcmMvZG9tYWlucy9ldmFscy93b3JrZmxvdy9mdW5jdGlvbnMvcnVuRGF0YXNldEl0ZW0udHMvL19ydW5EYXRhc2V0SXRlbVdvcmtmbG93XCIsIF9ydW5EYXRhc2V0SXRlbVdvcmtmbG93KTtcbi8vIFRoaXMgSUQgbXVzdCBtYXRjaCB3aGF0IHdvcmtmbG93OmJ1aWxkIGdlbmVyYXRlcyBpbiAud2VsbC1rbm93bi93b3JrZmxvdy92MS9mbG93LmNqc1xuZXhwb3J0IGNvbnN0IHJ1bkRhdGFzZXRJdGVtV29ya2Zsb3cgPSBPYmplY3QuYXNzaWduKF9ydW5EYXRhc2V0SXRlbVdvcmtmbG93LCB7XG4gICAgd29ya2Zsb3dJZDogJ3dvcmtmbG93Ly9zcmMvZG9tYWlucy9ldmFscy93b3JrZmxvdy9mdW5jdGlvbnMvcnVuRGF0YXNldEl0ZW0udHMvL19ydW5EYXRhc2V0SXRlbVdvcmtmbG93J1xufSk7XG4iLCAiLyoqX19pbnRlcm5hbF93b3JrZmxvd3N7XCJ3b3JrZmxvd3NcIjp7XCJzcmMvZG9tYWlucy9ldmFscy93b3JrZmxvdy9mdW5jdGlvbnMvZXZhbHVhdGVDb252ZXJzYXRpb24udHNcIjp7XCJfZXZhbHVhdGVDb252ZXJzYXRpb25Xb3JrZmxvd1wiOntcIndvcmtmbG93SWRcIjpcIndvcmtmbG93Ly9zcmMvZG9tYWlucy9ldmFscy93b3JrZmxvdy9mdW5jdGlvbnMvZXZhbHVhdGVDb252ZXJzYXRpb24udHMvL19ldmFsdWF0ZUNvbnZlcnNhdGlvbldvcmtmbG93XCJ9fX0sXCJzdGVwc1wiOntcInNyYy9kb21haW5zL2V2YWxzL3dvcmtmbG93L2Z1bmN0aW9ucy9ldmFsdWF0ZUNvbnZlcnNhdGlvbi50c1wiOntcImV4ZWN1dGVFdmFsdWF0b3JTdGVwXCI6e1wic3RlcElkXCI6XCJzdGVwLy9zcmMvZG9tYWlucy9ldmFscy93b3JrZmxvdy9mdW5jdGlvbnMvZXZhbHVhdGVDb252ZXJzYXRpb24udHMvL2V4ZWN1dGVFdmFsdWF0b3JTdGVwXCJ9LFwiZ2V0Q29udmVyc2F0aW9uU3RlcFwiOntcInN0ZXBJZFwiOlwic3RlcC8vc3JjL2RvbWFpbnMvZXZhbHMvd29ya2Zsb3cvZnVuY3Rpb25zL2V2YWx1YXRlQ29udmVyc2F0aW9uLnRzLy9nZXRDb252ZXJzYXRpb25TdGVwXCJ9LFwiZ2V0RXZhbHVhdG9yc1N0ZXBcIjp7XCJzdGVwSWRcIjpcInN0ZXAvL3NyYy9kb21haW5zL2V2YWxzL3dvcmtmbG93L2Z1bmN0aW9ucy9ldmFsdWF0ZUNvbnZlcnNhdGlvbi50cy8vZ2V0RXZhbHVhdG9yc1N0ZXBcIn0sXCJsb2dTdGVwXCI6e1wic3RlcElkXCI6XCJzdGVwLy9zcmMvZG9tYWlucy9ldmFscy93b3JrZmxvdy9mdW5jdGlvbnMvZXZhbHVhdGVDb252ZXJzYXRpb24udHMvL2xvZ1N0ZXBcIn19fX0qLztcbnZhciBnZXRDb252ZXJzYXRpb25TdGVwID0gZ2xvYmFsVGhpc1tTeW1ib2wuZm9yKFwiV09SS0ZMT1dfVVNFX1NURVBcIildKFwic3RlcC8vc3JjL2RvbWFpbnMvZXZhbHMvd29ya2Zsb3cvZnVuY3Rpb25zL2V2YWx1YXRlQ29udmVyc2F0aW9uLnRzLy9nZXRDb252ZXJzYXRpb25TdGVwXCIpO1xudmFyIGdldEV2YWx1YXRvcnNTdGVwID0gZ2xvYmFsVGhpc1tTeW1ib2wuZm9yKFwiV09SS0ZMT1dfVVNFX1NURVBcIildKFwic3RlcC8vc3JjL2RvbWFpbnMvZXZhbHMvd29ya2Zsb3cvZnVuY3Rpb25zL2V2YWx1YXRlQ29udmVyc2F0aW9uLnRzLy9nZXRFdmFsdWF0b3JzU3RlcFwiKTtcbnZhciBleGVjdXRlRXZhbHVhdG9yU3RlcCA9IGdsb2JhbFRoaXNbU3ltYm9sLmZvcihcIldPUktGTE9XX1VTRV9TVEVQXCIpXShcInN0ZXAvL3NyYy9kb21haW5zL2V2YWxzL3dvcmtmbG93L2Z1bmN0aW9ucy9ldmFsdWF0ZUNvbnZlcnNhdGlvbi50cy8vZXhlY3V0ZUV2YWx1YXRvclN0ZXBcIik7XG4vKipcbiAqIFN0ZXA6IExvZyB3b3JrZmxvdyBwcm9ncmVzc1xuICovIHZhciBsb2dTdGVwID0gZ2xvYmFsVGhpc1tTeW1ib2wuZm9yKFwiV09SS0ZMT1dfVVNFX1NURVBcIildKFwic3RlcC8vc3JjL2RvbWFpbnMvZXZhbHMvd29ya2Zsb3cvZnVuY3Rpb25zL2V2YWx1YXRlQ29udmVyc2F0aW9uLnRzLy9sb2dTdGVwXCIpO1xuLyoqXG4gKiBNYWluIHdvcmtmbG93IGZ1bmN0aW9uIC0gb3JjaGVzdHJhdGVzIHRoZSBldmFsdWF0aW9uIHN0ZXBzLlxuICpcbiAqIElNUE9SVEFOVDogVGhpcyBydW5zIGluIGEgZGV0ZXJtaW5pc3RpYyBzYW5kYm94LlxuICogLSBEbyBOT1QgY2FsbCBOb2RlLmpzIEFQSXMgZGlyZWN0bHkgaGVyZSAobm8gREIsIG5vIGZzLCBldGMuKVxuICogLSBBbGwgc2lkZSBlZmZlY3RzIG11c3QgaGFwcGVuIGluIHN0ZXAgZnVuY3Rpb25zXG4gKi8gYXN5bmMgZnVuY3Rpb24gX2V2YWx1YXRlQ29udmVyc2F0aW9uV29ya2Zsb3cocGF5bG9hZCkge1xuICAgIGNvbnN0IHsgY29udmVyc2F0aW9uSWQsIGV2YWx1YXRvcklkcyB9ID0gcGF5bG9hZDtcbiAgICBhd2FpdCBsb2dTdGVwKCdTdGFydGluZyBjb252ZXJzYXRpb24gZXZhbHVhdGlvbicsIHBheWxvYWQpO1xuICAgIGNvbnN0IGNvbnZlcnNhdGlvbiA9IGF3YWl0IGdldENvbnZlcnNhdGlvblN0ZXAocGF5bG9hZCk7XG4gICAgY29uc3QgZXZhbHVhdG9ycyA9IGF3YWl0IGdldEV2YWx1YXRvcnNTdGVwKHBheWxvYWQpO1xuICAgIGlmIChldmFsdWF0b3JzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBhd2FpdCBsb2dTdGVwKCdObyB2YWxpZCBldmFsdWF0b3JzIGZvdW5kJywge1xuICAgICAgICAgICAgY29udmVyc2F0aW9uSWQsXG4gICAgICAgICAgICBldmFsdWF0b3JJZHNcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzdWNjZXNzOiBmYWxzZSxcbiAgICAgICAgICAgIHJlYXNvbjogJ05vIHZhbGlkIGV2YWx1YXRvcnMnXG4gICAgICAgIH07XG4gICAgfVxuICAgIGNvbnN0IHJlc3VsdHMgPSBbXTtcbiAgICBmb3IgKGNvbnN0IGV2YWx1YXRvciBvZiBldmFsdWF0b3JzKXtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZXhlY3V0ZUV2YWx1YXRvclN0ZXAocGF5bG9hZCwgZXZhbHVhdG9yLmlkLCBjb252ZXJzYXRpb24pO1xuICAgICAgICByZXN1bHRzLnB1c2gocmVzdWx0KTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgc3VjY2VzczogdHJ1ZSxcbiAgICAgICAgY29udmVyc2F0aW9uSWQsXG4gICAgICAgIHJlc3VsdENvdW50OiByZXN1bHRzLmxlbmd0aFxuICAgIH07XG59XG5fZXZhbHVhdGVDb252ZXJzYXRpb25Xb3JrZmxvdy53b3JrZmxvd0lkID0gXCJ3b3JrZmxvdy8vc3JjL2RvbWFpbnMvZXZhbHMvd29ya2Zsb3cvZnVuY3Rpb25zL2V2YWx1YXRlQ29udmVyc2F0aW9uLnRzLy9fZXZhbHVhdGVDb252ZXJzYXRpb25Xb3JrZmxvd1wiO1xuZ2xvYmFsVGhpcy5fX3ByaXZhdGVfd29ya2Zsb3dzLnNldChcIndvcmtmbG93Ly9zcmMvZG9tYWlucy9ldmFscy93b3JrZmxvdy9mdW5jdGlvbnMvZXZhbHVhdGVDb252ZXJzYXRpb24udHMvL19ldmFsdWF0ZUNvbnZlcnNhdGlvbldvcmtmbG93XCIsIF9ldmFsdWF0ZUNvbnZlcnNhdGlvbldvcmtmbG93KTtcbi8vIFRoaXMgSUQgbXVzdCBtYXRjaCB3aGF0IHdvcmtmbG93OmJ1aWxkIGdlbmVyYXRlcyBpbiAud2VsbC1rbm93bi93b3JrZmxvdy92MS9mbG93LmNqc1xuZXhwb3J0IGNvbnN0IGV2YWx1YXRlQ29udmVyc2F0aW9uV29ya2Zsb3cgPSBPYmplY3QuYXNzaWduKF9ldmFsdWF0ZUNvbnZlcnNhdGlvbldvcmtmbG93LCB7XG4gICAgd29ya2Zsb3dJZDogJ3dvcmtmbG93Ly9zcmMvZG9tYWlucy9ldmFscy93b3JrZmxvdy9mdW5jdGlvbnMvZXZhbHVhdGVDb252ZXJzYXRpb24udHMvL19ldmFsdWF0ZUNvbnZlcnNhdGlvbldvcmtmbG93J1xufSk7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7OztBQVFJLElBQUksa0JBQWtCLFdBQVcsT0FBTyxJQUFJLG1CQUFtQixDQUFDLEVBQUUsK0VBQStFO0FBR2pKLElBQUkscUJBQXFCLFdBQVcsT0FBTyxJQUFJLG1CQUFtQixDQUFDLEVBQUUsa0ZBQWtGO0FBR3ZKLElBQUksdUJBQXVCLFdBQVcsT0FBTyxJQUFJLG1CQUFtQixDQUFDLEVBQUUsb0ZBQW9GO0FBRzNKLElBQUksVUFBVSxXQUFXLE9BQU8sSUFBSSxtQkFBbUIsQ0FBQyxFQUFFLHVFQUF1RTtBQUlqSSxlQUFlLHdCQUF3QixTQUFTO0FBQ2hELFFBQU0sRUFBRSxlQUFlLGNBQWMsU0FBUyxjQUFjLGdCQUFnQixJQUFJO0FBQ2hGLFFBQU0sUUFBUSxvQ0FBb0M7QUFBQSxJQUM5QztBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQSxlQUFlLENBQUMsRUFBRSxnQkFBZ0IsYUFBYSxTQUFTO0FBQUEsRUFDNUQsQ0FBQztBQUVELFFBQU0sU0FBUyxNQUFNLGdCQUFnQixPQUFPO0FBRTVDLE1BQUksT0FBTyxnQkFBZ0I7QUFDdkIsVUFBTSxtQkFBbUIsU0FBUyxPQUFPLGNBQWM7QUFFdkQsUUFBSSxnQkFBZ0IsYUFBYSxTQUFTLEtBQUssaUJBQWlCO0FBQzVELGlCQUFXLGVBQWUsY0FBYTtBQUNuQyxjQUFNLHFCQUFxQixRQUFRLFVBQVUsUUFBUSxXQUFXLE9BQU8sZ0JBQWdCLGFBQWEsaUJBQWlCLFFBQVEseUJBQXlCO0FBQUEsTUFDMUo7QUFBQSxJQUNKO0FBQUEsRUFDSixPQUFPO0FBQ0gsVUFBTSxRQUFRLDJCQUEyQjtBQUFBLE1BQ3JDO0FBQUEsTUFDQTtBQUFBLE1BQ0EsT0FBTyxPQUFPO0FBQUEsSUFDbEIsQ0FBQztBQUFBLEVBQ0w7QUFDQSxTQUFPO0FBQUEsSUFDSCxTQUFTLENBQUMsT0FBTztBQUFBLElBQ2pCO0FBQUEsSUFDQTtBQUFBLElBQ0EsZ0JBQWdCLE9BQU8sa0JBQWtCO0FBQUEsSUFDekMsT0FBTyxPQUFPLFNBQVM7QUFBQSxFQUMzQjtBQUNKO0FBakNtQjtBQWtDbkIsd0JBQXdCLGFBQWE7QUFDckMsV0FBVyxvQkFBb0IsSUFBSSw2RkFBNkYsdUJBQXVCO0FBRWhKLElBQU0seUJBQXlCLE9BQU8sT0FBTyx5QkFBeUI7QUFBQSxFQUN6RSxZQUFZO0FBQ2hCLENBQUM7OztBQzNERCxJQUFJLHNCQUFzQixXQUFXLE9BQU8sSUFBSSxtQkFBbUIsQ0FBQyxFQUFFLHlGQUF5RjtBQUMvSixJQUFJLG9CQUFvQixXQUFXLE9BQU8sSUFBSSxtQkFBbUIsQ0FBQyxFQUFFLHVGQUF1RjtBQUMzSixJQUFJQSx3QkFBdUIsV0FBVyxPQUFPLElBQUksbUJBQW1CLENBQUMsRUFBRSwwRkFBMEY7QUFHN0osSUFBSUMsV0FBVSxXQUFXLE9BQU8sSUFBSSxtQkFBbUIsQ0FBQyxFQUFFLDZFQUE2RTtBQU92SSxlQUFlLDhCQUE4QixTQUFTO0FBQ3RELFFBQU0sRUFBRSxnQkFBZ0IsYUFBYSxJQUFJO0FBQ3pDLFFBQU1BLFNBQVEsb0NBQW9DLE9BQU87QUFDekQsUUFBTSxlQUFlLE1BQU0sb0JBQW9CLE9BQU87QUFDdEQsUUFBTSxhQUFhLE1BQU0sa0JBQWtCLE9BQU87QUFDbEQsTUFBSSxXQUFXLFdBQVcsR0FBRztBQUN6QixVQUFNQSxTQUFRLDZCQUE2QjtBQUFBLE1BQ3ZDO0FBQUEsTUFDQTtBQUFBLElBQ0osQ0FBQztBQUNELFdBQU87QUFBQSxNQUNILFNBQVM7QUFBQSxNQUNULFFBQVE7QUFBQSxJQUNaO0FBQUEsRUFDSjtBQUNBLFFBQU0sVUFBVSxDQUFDO0FBQ2pCLGFBQVcsYUFBYSxZQUFXO0FBQy9CLFVBQU0sU0FBUyxNQUFNRCxzQkFBcUIsU0FBUyxVQUFVLElBQUksWUFBWTtBQUM3RSxZQUFRLEtBQUssTUFBTTtBQUFBLEVBQ3ZCO0FBQ0EsU0FBTztBQUFBLElBQ0gsU0FBUztBQUFBLElBQ1Q7QUFBQSxJQUNBLGFBQWEsUUFBUTtBQUFBLEVBQ3pCO0FBQ0o7QUF6Qm1CO0FBMEJuQiw4QkFBOEIsYUFBYTtBQUMzQyxXQUFXLG9CQUFvQixJQUFJLHlHQUF5Ryw2QkFBNkI7QUFFbEssSUFBTSwrQkFBK0IsT0FBTyxPQUFPLCtCQUErQjtBQUFBLEVBQ3JGLFlBQVk7QUFDaEIsQ0FBQzsiLAogICJuYW1lcyI6IFsiZXhlY3V0ZUV2YWx1YXRvclN0ZXAiLCAibG9nU3RlcCJdCn0K
46370
46370
  `;
46371
46371
  var POST = workflowEntrypoint(workflowCode);
46372
46372
  // Annotate the CommonJS export names for ESM import in node:
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "workflowFiles": [
3
- "/home/runner/work/agents/agents/agents-api/src/domains/evals/workflow/functions/evaluateConversation.ts",
4
- "/home/runner/work/agents/agents/agents-api/src/domains/evals/workflow/functions/runDatasetItem.ts"
3
+ "/home/runner/work/agents/agents/agents-api/src/domains/evals/workflow/functions/runDatasetItem.ts",
4
+ "/home/runner/work/agents/agents/agents-api/src/domains/evals/workflow/functions/evaluateConversation.ts"
5
5
  ]
6
6
  }
@@ -41,15 +41,15 @@
41
41
  }
42
42
  },
43
43
  "workflows": {
44
- "src/domains/evals/workflow/functions/runDatasetItem.ts": {
45
- "_runDatasetItemWorkflow": {
46
- "workflowId": "workflow//src/domains/evals/workflow/functions/runDatasetItem.ts//_runDatasetItemWorkflow"
47
- }
48
- },
49
44
  "src/domains/evals/workflow/functions/evaluateConversation.ts": {
50
45
  "_evaluateConversationWorkflow": {
51
46
  "workflowId": "workflow//src/domains/evals/workflow/functions/evaluateConversation.ts//_evaluateConversationWorkflow"
52
47
  }
48
+ },
49
+ "src/domains/evals/workflow/functions/runDatasetItem.ts": {
50
+ "_runDatasetItemWorkflow": {
51
+ "workflowId": "workflow//src/domains/evals/workflow/functions/runDatasetItem.ts//_runDatasetItemWorkflow"
52
+ }
53
53
  }
54
54
  }
55
55
  }
@@ -229544,124 +229544,8 @@ Return your evaluation as a JSON object matching the schema above.`;
229544
229544
  }
229545
229545
  };
229546
229546
 
229547
- // src/domains/evals/workflow/functions/evaluateConversation.ts
229548
- var logger22 = getLogger("workflow-evaluate-conversation");
229549
- async function getConversationStep(payload) {
229550
- const { tenantId, projectId, conversationId } = payload;
229551
- const conv = await getConversation(runDbClient_default)({
229552
- scopes: {
229553
- tenantId,
229554
- projectId
229555
- },
229556
- conversationId
229557
- });
229558
- if (!conv) {
229559
- throw new Error(`Conversation not found: ${conversationId}`);
229560
- }
229561
- return conv;
229562
- }
229563
- __name(getConversationStep, "getConversationStep");
229564
- async function getEvaluatorsStep(payload) {
229565
- const { tenantId, projectId, evaluatorIds } = payload;
229566
- const projectMain = await getProjectMainResolvedRef(manageDbClient_default)(tenantId, projectId);
229567
- const evals = await withRef(manageDbPool_default, projectMain, (db) => getEvaluatorsByIds(db)({
229568
- scopes: {
229569
- tenantId,
229570
- projectId
229571
- },
229572
- evaluatorIds
229573
- }));
229574
- return evals;
229575
- }
229576
- __name(getEvaluatorsStep, "getEvaluatorsStep");
229577
- async function executeEvaluatorStep(payload, evaluatorId, conversation) {
229578
- const { tenantId, projectId, conversationId, evaluationRunId } = payload;
229579
- const projectMain = await getProjectMainResolvedRef(manageDbClient_default)(tenantId, projectId);
229580
- const evaluator2 = await withRef(manageDbPool_default, projectMain, (db) => getEvaluatorById(db)({
229581
- scopes: {
229582
- tenantId,
229583
- projectId,
229584
- evaluatorId
229585
- }
229586
- }));
229587
- if (!evaluator2) {
229588
- throw new Error(`Evaluator not found: ${evaluatorId}`);
229589
- }
229590
- const evalResult = await createEvaluationResult(runDbClient_default)({
229591
- id: generateId(),
229592
- tenantId,
229593
- projectId,
229594
- conversationId,
229595
- evaluatorId: evaluator2.id,
229596
- evaluationRunId
229597
- });
229598
- try {
229599
- const evaluationService = new EvaluationService();
229600
- const output = await evaluationService.executeEvaluation({
229601
- conversation,
229602
- evaluator: evaluator2,
229603
- tenantId,
229604
- projectId
229605
- });
229606
- const updated = await updateEvaluationResult(runDbClient_default)({
229607
- scopes: {
229608
- tenantId,
229609
- projectId,
229610
- evaluationResultId: evalResult.id
229611
- },
229612
- data: {
229613
- output
229614
- }
229615
- });
229616
- logger22.info({
229617
- conversationId,
229618
- evaluatorId: evaluator2.id,
229619
- resultId: evalResult.id
229620
- }, "Evaluation completed successfully");
229621
- return updated;
229622
- } catch (error46) {
229623
- const errorMessage = error46 instanceof Error ? error46.message : "Unknown error";
229624
- logger22.error({
229625
- error: error46,
229626
- conversationId,
229627
- evaluatorId: evaluator2.id,
229628
- resultId: evalResult.id
229629
- }, "Evaluation execution failed");
229630
- const failed = await updateEvaluationResult(runDbClient_default)({
229631
- scopes: {
229632
- tenantId,
229633
- projectId,
229634
- evaluationResultId: evalResult.id
229635
- },
229636
- data: {
229637
- output: {
229638
- text: `Evaluation failed: ${errorMessage}`
229639
- }
229640
- }
229641
- });
229642
- return failed;
229643
- }
229644
- }
229645
- __name(executeEvaluatorStep, "executeEvaluatorStep");
229646
- async function logStep(message, data) {
229647
- logger22.info(data, message);
229648
- }
229649
- __name(logStep, "logStep");
229650
- async function _evaluateConversationWorkflow(payload) {
229651
- throw new Error("You attempted to execute workflow _evaluateConversationWorkflow function directly. To start a workflow, use start(_evaluateConversationWorkflow) from workflow/api");
229652
- }
229653
- __name(_evaluateConversationWorkflow, "_evaluateConversationWorkflow");
229654
- _evaluateConversationWorkflow.workflowId = "workflow//src/domains/evals/workflow/functions/evaluateConversation.ts//_evaluateConversationWorkflow";
229655
- var evaluateConversationWorkflow = Object.assign(_evaluateConversationWorkflow, {
229656
- workflowId: "workflow//src/domains/evals/workflow/functions/evaluateConversation.ts//_evaluateConversationWorkflow"
229657
- });
229658
- registerStepFunction("step//src/domains/evals/workflow/functions/evaluateConversation.ts//getConversationStep", getConversationStep);
229659
- registerStepFunction("step//src/domains/evals/workflow/functions/evaluateConversation.ts//getEvaluatorsStep", getEvaluatorsStep);
229660
- registerStepFunction("step//src/domains/evals/workflow/functions/evaluateConversation.ts//executeEvaluatorStep", executeEvaluatorStep);
229661
- registerStepFunction("step//src/domains/evals/workflow/functions/evaluateConversation.ts//logStep", logStep);
229662
-
229663
229547
  // src/domains/evals/workflow/functions/runDatasetItem.ts
229664
- var logger23 = getLogger("workflow-run-dataset-item");
229548
+ var logger22 = getLogger("workflow-run-dataset-item");
229665
229549
  async function callChatApiStep(payload) {
229666
229550
  const { tenantId, projectId, agentId, datasetItemId, datasetItemInput, datasetItemSimulationAgent, datasetRunId } = payload;
229667
229551
  const evaluationService = new EvaluationService();
@@ -229677,7 +229561,7 @@ async function callChatApiStep(payload) {
229677
229561
  datasetItem: datasetItem2,
229678
229562
  datasetRunId
229679
229563
  });
229680
- logger23.info({
229564
+ logger22.info({
229681
229565
  tenantId,
229682
229566
  projectId,
229683
229567
  datasetItemId,
@@ -229700,7 +229584,7 @@ async function createRelationStep(payload, conversationId) {
229700
229584
  conversationId,
229701
229585
  datasetItemId
229702
229586
  });
229703
- logger23.info({
229587
+ logger22.info({
229704
229588
  tenantId,
229705
229589
  projectId,
229706
229590
  datasetItemId,
@@ -229714,7 +229598,7 @@ async function createRelationStep(payload, conversationId) {
229714
229598
  };
229715
229599
  } catch (error46) {
229716
229600
  if (error46?.cause?.code === "23503" || error46?.code === "23503") {
229717
- logger23.warn({
229601
+ logger22.warn({
229718
229602
  tenantId,
229719
229603
  projectId,
229720
229604
  datasetItemId,
@@ -229731,7 +229615,7 @@ async function createRelationStep(payload, conversationId) {
229731
229615
  }
229732
229616
  }
229733
229617
  __name(createRelationStep, "createRelationStep");
229734
- async function executeEvaluatorStep2(tenantId, projectId, conversationId, evaluatorId, evaluationRunId, expectedOutput) {
229618
+ async function executeEvaluatorStep(tenantId, projectId, conversationId, evaluatorId, evaluationRunId, expectedOutput) {
229735
229619
  const ref = getProjectScopedRef(tenantId, projectId, "main");
229736
229620
  const resolvedRef = await resolveRef2(manageDbClient_default)(ref);
229737
229621
  if (!resolvedRef) {
@@ -229745,7 +229629,7 @@ async function executeEvaluatorStep2(tenantId, projectId, conversationId, evalua
229745
229629
  }
229746
229630
  }));
229747
229631
  if (!evaluator2) {
229748
- logger23.warn({
229632
+ logger22.warn({
229749
229633
  evaluatorId
229750
229634
  }, "Evaluator not found");
229751
229635
  return null;
@@ -229787,7 +229671,7 @@ async function executeEvaluatorStep2(tenantId, projectId, conversationId, evalua
229787
229671
  output
229788
229672
  }
229789
229673
  });
229790
- logger23.info({
229674
+ logger22.info({
229791
229675
  conversationId,
229792
229676
  evaluatorId: evaluator2.id,
229793
229677
  resultId: evalResult.id
@@ -229795,7 +229679,7 @@ async function executeEvaluatorStep2(tenantId, projectId, conversationId, evalua
229795
229679
  return evalResult.id;
229796
229680
  } catch (error46) {
229797
229681
  const errorMessage = error46 instanceof Error ? error46.message : "Unknown error";
229798
- logger23.error({
229682
+ logger22.error({
229799
229683
  error: error46,
229800
229684
  conversationId,
229801
229685
  evaluatorId: evaluator2.id
@@ -229815,11 +229699,11 @@ async function executeEvaluatorStep2(tenantId, projectId, conversationId, evalua
229815
229699
  return evalResult.id;
229816
229700
  }
229817
229701
  }
229818
- __name(executeEvaluatorStep2, "executeEvaluatorStep");
229819
- async function logStep2(message, data) {
229820
- logger23.info(data, message);
229702
+ __name(executeEvaluatorStep, "executeEvaluatorStep");
229703
+ async function logStep(message, data) {
229704
+ logger22.info(data, message);
229821
229705
  }
229822
- __name(logStep2, "logStep");
229706
+ __name(logStep, "logStep");
229823
229707
  async function _runDatasetItemWorkflow(payload) {
229824
229708
  throw new Error("You attempted to execute workflow _runDatasetItemWorkflow function directly. To start a workflow, use start(_runDatasetItemWorkflow) from workflow/api");
229825
229709
  }
@@ -229830,8 +229714,124 @@ var runDatasetItemWorkflow = Object.assign(_runDatasetItemWorkflow, {
229830
229714
  });
229831
229715
  registerStepFunction("step//src/domains/evals/workflow/functions/runDatasetItem.ts//callChatApiStep", callChatApiStep);
229832
229716
  registerStepFunction("step//src/domains/evals/workflow/functions/runDatasetItem.ts//createRelationStep", createRelationStep);
229833
- registerStepFunction("step//src/domains/evals/workflow/functions/runDatasetItem.ts//executeEvaluatorStep", executeEvaluatorStep2);
229834
- registerStepFunction("step//src/domains/evals/workflow/functions/runDatasetItem.ts//logStep", logStep2);
229717
+ registerStepFunction("step//src/domains/evals/workflow/functions/runDatasetItem.ts//executeEvaluatorStep", executeEvaluatorStep);
229718
+ registerStepFunction("step//src/domains/evals/workflow/functions/runDatasetItem.ts//logStep", logStep);
229719
+
229720
+ // src/domains/evals/workflow/functions/evaluateConversation.ts
229721
+ var logger23 = getLogger("workflow-evaluate-conversation");
229722
+ async function getConversationStep(payload) {
229723
+ const { tenantId, projectId, conversationId } = payload;
229724
+ const conv = await getConversation(runDbClient_default)({
229725
+ scopes: {
229726
+ tenantId,
229727
+ projectId
229728
+ },
229729
+ conversationId
229730
+ });
229731
+ if (!conv) {
229732
+ throw new Error(`Conversation not found: ${conversationId}`);
229733
+ }
229734
+ return conv;
229735
+ }
229736
+ __name(getConversationStep, "getConversationStep");
229737
+ async function getEvaluatorsStep(payload) {
229738
+ const { tenantId, projectId, evaluatorIds } = payload;
229739
+ const projectMain = await getProjectMainResolvedRef(manageDbClient_default)(tenantId, projectId);
229740
+ const evals = await withRef(manageDbPool_default, projectMain, (db) => getEvaluatorsByIds(db)({
229741
+ scopes: {
229742
+ tenantId,
229743
+ projectId
229744
+ },
229745
+ evaluatorIds
229746
+ }));
229747
+ return evals;
229748
+ }
229749
+ __name(getEvaluatorsStep, "getEvaluatorsStep");
229750
+ async function executeEvaluatorStep2(payload, evaluatorId, conversation) {
229751
+ const { tenantId, projectId, conversationId, evaluationRunId } = payload;
229752
+ const projectMain = await getProjectMainResolvedRef(manageDbClient_default)(tenantId, projectId);
229753
+ const evaluator2 = await withRef(manageDbPool_default, projectMain, (db) => getEvaluatorById(db)({
229754
+ scopes: {
229755
+ tenantId,
229756
+ projectId,
229757
+ evaluatorId
229758
+ }
229759
+ }));
229760
+ if (!evaluator2) {
229761
+ throw new Error(`Evaluator not found: ${evaluatorId}`);
229762
+ }
229763
+ const evalResult = await createEvaluationResult(runDbClient_default)({
229764
+ id: generateId(),
229765
+ tenantId,
229766
+ projectId,
229767
+ conversationId,
229768
+ evaluatorId: evaluator2.id,
229769
+ evaluationRunId
229770
+ });
229771
+ try {
229772
+ const evaluationService = new EvaluationService();
229773
+ const output = await evaluationService.executeEvaluation({
229774
+ conversation,
229775
+ evaluator: evaluator2,
229776
+ tenantId,
229777
+ projectId
229778
+ });
229779
+ const updated = await updateEvaluationResult(runDbClient_default)({
229780
+ scopes: {
229781
+ tenantId,
229782
+ projectId,
229783
+ evaluationResultId: evalResult.id
229784
+ },
229785
+ data: {
229786
+ output
229787
+ }
229788
+ });
229789
+ logger23.info({
229790
+ conversationId,
229791
+ evaluatorId: evaluator2.id,
229792
+ resultId: evalResult.id
229793
+ }, "Evaluation completed successfully");
229794
+ return updated;
229795
+ } catch (error46) {
229796
+ const errorMessage = error46 instanceof Error ? error46.message : "Unknown error";
229797
+ logger23.error({
229798
+ error: error46,
229799
+ conversationId,
229800
+ evaluatorId: evaluator2.id,
229801
+ resultId: evalResult.id
229802
+ }, "Evaluation execution failed");
229803
+ const failed = await updateEvaluationResult(runDbClient_default)({
229804
+ scopes: {
229805
+ tenantId,
229806
+ projectId,
229807
+ evaluationResultId: evalResult.id
229808
+ },
229809
+ data: {
229810
+ output: {
229811
+ text: `Evaluation failed: ${errorMessage}`
229812
+ }
229813
+ }
229814
+ });
229815
+ return failed;
229816
+ }
229817
+ }
229818
+ __name(executeEvaluatorStep2, "executeEvaluatorStep");
229819
+ async function logStep2(message, data) {
229820
+ logger23.info(data, message);
229821
+ }
229822
+ __name(logStep2, "logStep");
229823
+ async function _evaluateConversationWorkflow(payload) {
229824
+ throw new Error("You attempted to execute workflow _evaluateConversationWorkflow function directly. To start a workflow, use start(_evaluateConversationWorkflow) from workflow/api");
229825
+ }
229826
+ __name(_evaluateConversationWorkflow, "_evaluateConversationWorkflow");
229827
+ _evaluateConversationWorkflow.workflowId = "workflow//src/domains/evals/workflow/functions/evaluateConversation.ts//_evaluateConversationWorkflow";
229828
+ var evaluateConversationWorkflow = Object.assign(_evaluateConversationWorkflow, {
229829
+ workflowId: "workflow//src/domains/evals/workflow/functions/evaluateConversation.ts//_evaluateConversationWorkflow"
229830
+ });
229831
+ registerStepFunction("step//src/domains/evals/workflow/functions/evaluateConversation.ts//getConversationStep", getConversationStep);
229832
+ registerStepFunction("step//src/domains/evals/workflow/functions/evaluateConversation.ts//getEvaluatorsStep", getEvaluatorsStep);
229833
+ registerStepFunction("step//src/domains/evals/workflow/functions/evaluateConversation.ts//executeEvaluatorStep", executeEvaluatorStep2);
229834
+ registerStepFunction("step//src/domains/evals/workflow/functions/evaluateConversation.ts//logStep", logStep2);
229835
229835
 
229836
229836
  // ../node_modules/.pnpm/@workflow+utils@4.0.1-beta.7/node_modules/@workflow/utils/dist/index.js
229837
229837
  var import_ms2 = __toESM(require_ms(), 1);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "stepFiles": [
3
- "/home/runner/work/agents/agents/agents-api/src/domains/evals/workflow/functions/evaluateConversation.ts",
4
- "/home/runner/work/agents/agents/agents-api/src/domains/evals/workflow/functions/runDatasetItem.ts"
3
+ "/home/runner/work/agents/agents/agents-api/src/domains/evals/workflow/functions/runDatasetItem.ts",
4
+ "/home/runner/work/agents/agents/agents-api/src/domains/evals/workflow/functions/evaluateConversation.ts"
5
5
  ]
6
6
  }
@@ -1,10 +1,10 @@
1
1
  import { AppConfig } from "./types/app.js";
2
2
  import "./types/index.js";
3
3
  import { Hono } from "hono";
4
- import * as hono_types0 from "hono/types";
4
+ import * as hono_types12 from "hono/types";
5
5
 
6
6
  //#region src/createApp.d.ts
7
7
  declare const isWebhookRoute: (path: string) => boolean;
8
- declare function createAgentsHono(config: AppConfig): Hono<hono_types0.BlankEnv, hono_types0.BlankSchema, "/">;
8
+ declare function createAgentsHono(config: AppConfig): Hono<hono_types12.BlankEnv, hono_types12.BlankSchema, "/">;
9
9
  //#endregion
10
10
  export { createAgentsHono, isWebhookRoute };
@@ -1,7 +1,7 @@
1
1
  import { OpenAPIHono } from "@hono/zod-openapi";
2
- import * as hono13 from "hono";
2
+ import * as hono14 from "hono";
3
3
 
4
4
  //#region src/domains/evals/routes/datasetTriggers.d.ts
5
- declare const app: OpenAPIHono<hono13.Env, {}, "/">;
5
+ declare const app: OpenAPIHono<hono14.Env, {}, "/">;
6
6
  //#endregion
7
7
  export { app as default };
@@ -1,7 +1,7 @@
1
1
  import { OpenAPIHono } from "@hono/zod-openapi";
2
- import * as hono7 from "hono";
2
+ import * as hono13 from "hono";
3
3
 
4
4
  //#region src/domains/evals/routes/index.d.ts
5
- declare const app: OpenAPIHono<hono7.Env, {}, "/">;
5
+ declare const app: OpenAPIHono<hono13.Env, {}, "/">;
6
6
  //#endregion
7
7
  export { app as default };
@@ -1,7 +1,7 @@
1
1
  import { Hono } from "hono";
2
- import * as hono_types1 from "hono/types";
2
+ import * as hono_types4 from "hono/types";
3
3
 
4
4
  //#region src/domains/evals/workflow/routes.d.ts
5
- declare const workflowRoutes: Hono<hono_types1.BlankEnv, hono_types1.BlankSchema, "/">;
5
+ declare const workflowRoutes: Hono<hono_types4.BlankEnv, hono_types4.BlankSchema, "/">;
6
6
  //#endregion
7
7
  export { workflowRoutes };
@@ -1,7 +1,7 @@
1
1
  import { OpenAPIHono } from "@hono/zod-openapi";
2
- import * as hono16 from "hono";
2
+ import * as hono11 from "hono";
3
3
 
4
4
  //#region src/domains/manage/routes/conversations.d.ts
5
- declare const app: OpenAPIHono<hono16.Env, {}, "/">;
5
+ declare const app: OpenAPIHono<hono11.Env, {}, "/">;
6
6
  //#endregion
7
7
  export { app as default };
@@ -1,7 +1,7 @@
1
1
  import { OpenAPIHono } from "@hono/zod-openapi";
2
- import * as hono14 from "hono";
2
+ import * as hono18 from "hono";
3
3
 
4
4
  //#region src/domains/manage/routes/evals/evaluationResults.d.ts
5
- declare const app: OpenAPIHono<hono14.Env, {}, "/">;
5
+ declare const app: OpenAPIHono<hono18.Env, {}, "/">;
6
6
  //#endregion
7
7
  export { app as default };
@@ -1,7 +1,7 @@
1
1
  import { OpenAPIHono } from "@hono/zod-openapi";
2
- import * as hono15 from "hono";
2
+ import * as hono12 from "hono";
3
3
 
4
4
  //#region src/domains/manage/routes/index.d.ts
5
- declare const app: OpenAPIHono<hono15.Env, {}, "/">;
5
+ declare const app: OpenAPIHono<hono12.Env, {}, "/">;
6
6
  //#endregion
7
7
  export { app as default };
@@ -1,9 +1,10 @@
1
1
  import { ManageAppVariables } from "../../../types/app.js";
2
- import { OpenAPIHono } from "@hono/zod-openapi";
2
+ import { Hono } from "hono";
3
+ import * as hono_types1 from "hono/types";
3
4
 
4
5
  //#region src/domains/manage/routes/invitations.d.ts
5
- declare const invitationsRoutes: OpenAPIHono<{
6
+ declare const invitationsRoutes: Hono<{
6
7
  Variables: ManageAppVariables;
7
- }, {}, "/">;
8
+ }, hono_types1.BlankSchema, "/">;
8
9
  //#endregion
9
10
  export { invitationsRoutes as default };
@@ -1,34 +1,22 @@
1
1
  import runDbClient_default from "../../../data/db/runDbClient.js";
2
- import { OpenAPIHono, createRoute, z } from "@hono/zod-openapi";
3
- import { getPendingInvitationsByEmail } from "@inkeep/agents-core";
2
+ import { sessionAuth } from "../../../middleware/sessionAuth.js";
3
+ import { createApiError, getPendingInvitationsByEmail } from "@inkeep/agents-core";
4
+ import { Hono } from "hono";
4
5
 
5
6
  //#region src/domains/manage/routes/invitations.ts
6
- const invitationsRoutes = new OpenAPIHono();
7
- const PendingInvitationSchema = z.object({
8
- id: z.string(),
9
- email: z.string(),
10
- organizationId: z.string(),
11
- organizationName: z.string().nullable(),
12
- organizationSlug: z.string().nullable(),
13
- role: z.string().nullable(),
14
- status: z.string(),
15
- expiresAt: z.number(),
16
- inviterId: z.string()
17
- });
18
- const PendingInvitationsResponseSchema = z.array(PendingInvitationSchema);
19
- invitationsRoutes.openapi(createRoute({
20
- method: "get",
21
- path: "/pending",
22
- tags: ["Invitations"],
23
- summary: "Get pending invitations",
24
- description: "Get all pending (non-expired) invitations for a given email address",
25
- request: { query: z.object({ email: z.email().describe("Email address to check for invitations") }) },
26
- responses: { 200: {
27
- description: "List of pending invitations",
28
- content: { "application/json": { schema: PendingInvitationsResponseSchema } }
29
- } }
30
- }), async (c) => {
31
- const { email } = c.req.valid("query");
7
+ const invitationsRoutes = new Hono();
8
+ invitationsRoutes.use("*", sessionAuth());
9
+ invitationsRoutes.get("/pending", async (c) => {
10
+ const email = c.req.query("email");
11
+ const authenticatedEmail = c.get("userEmail");
12
+ if (!email) throw createApiError({
13
+ code: "bad_request",
14
+ message: "Email parameter is required"
15
+ });
16
+ if (email !== authenticatedEmail) throw createApiError({
17
+ code: "forbidden",
18
+ message: "Cannot access invitations for another email"
19
+ });
32
20
  const response = (await getPendingInvitationsByEmail(runDbClient_default)(email)).map((inv) => ({
33
21
  ...inv,
34
22
  expiresAt: inv.expiresAt instanceof Date ? inv.expiresAt.getTime() : inv.expiresAt
@@ -1,7 +1,7 @@
1
1
  import { Hono } from "hono";
2
- import * as hono_types7 from "hono/types";
2
+ import * as hono_types2 from "hono/types";
3
3
 
4
4
  //#region src/domains/manage/routes/mcp.d.ts
5
- declare const app: Hono<hono_types7.BlankEnv, hono_types7.BlankSchema, "/">;
5
+ declare const app: Hono<hono_types2.BlankEnv, hono_types2.BlankSchema, "/">;
6
6
  //#endregion
7
7
  export { app as default };
@@ -1,10 +1,10 @@
1
1
  import { ManageAppVariables } from "../../../types/app.js";
2
2
  import { Hono } from "hono";
3
- import * as hono_types11 from "hono/types";
3
+ import * as hono_types9 from "hono/types";
4
4
 
5
5
  //#region src/domains/manage/routes/signoz.d.ts
6
6
  declare const app: Hono<{
7
7
  Variables: ManageAppVariables;
8
- }, hono_types11.BlankSchema, "/">;
8
+ }, hono_types9.BlankSchema, "/">;
9
9
  //#endregion
10
10
  export { app as default };
@@ -1,7 +1,7 @@
1
1
  import { getLogger as getLogger$1 } from "../../../logger.js";
2
2
  import { env } from "../../../env.js";
3
3
  import { enforceSecurityFilters } from "../../../utils/signozHelpers.js";
4
- import { createApiError, projectExists } from "@inkeep/agents-core";
4
+ import { canViewProject, createApiError } from "@inkeep/agents-core";
5
5
  import { Hono } from "hono";
6
6
  import axios from "axios";
7
7
 
@@ -12,10 +12,12 @@ app.post("/query", async (c) => {
12
12
  let payload = await c.req.json();
13
13
  const requestedProjectId = payload.projectId;
14
14
  const tenantId = c.get("tenantId");
15
- const db = c.get("db");
16
- if (!tenantId) throw createApiError({
15
+ const userId = c.get("userId");
16
+ const tenantRole = c.get("tenantRole");
17
+ if (!userId || !tenantId) throw createApiError({
17
18
  code: "unauthorized",
18
- message: "Tenant ID not found"
19
+ message: "User or organization context not found",
20
+ instance: c.req.path
19
21
  });
20
22
  logger.debug({
21
23
  tenantId,
@@ -23,18 +25,22 @@ app.post("/query", async (c) => {
23
25
  hasProjectId: !!requestedProjectId
24
26
  }, "Processing SigNoz query request");
25
27
  if (requestedProjectId) {
26
- if (!await projectExists(db)({
27
- tenantId,
28
- projectId: requestedProjectId
29
- })) {
30
- logger.warn({
31
- tenantId,
32
- projectId: requestedProjectId
33
- }, "Project not found or access denied");
34
- return c.json({
35
- error: "Forbidden",
36
- message: "You do not have access to this project"
37
- }, 403);
28
+ if (!(userId === "system" || userId?.startsWith("apikey:"))) {
29
+ if (!await canViewProject({
30
+ userId,
31
+ projectId: requestedProjectId,
32
+ orgRole: tenantRole
33
+ })) {
34
+ logger.warn({
35
+ tenantId,
36
+ projectId: requestedProjectId,
37
+ userId
38
+ }, "Project not found or access denied");
39
+ return c.json({
40
+ error: "Forbidden",
41
+ message: "You do not have access to this project"
42
+ }, 403);
43
+ }
38
44
  }
39
45
  }
40
46
  payload = enforceSecurityFilters(payload, tenantId, requestedProjectId);
@@ -1,9 +1,10 @@
1
1
  import { ManageAppVariables } from "../../../types/app.js";
2
- import { OpenAPIHono } from "@hono/zod-openapi";
2
+ import { Hono } from "hono";
3
+ import * as hono_types8 from "hono/types";
3
4
 
4
5
  //#region src/domains/manage/routes/userOrganizations.d.ts
5
- declare const userOrganizationsRoutes: OpenAPIHono<{
6
+ declare const userOrganizationsRoutes: Hono<{
6
7
  Variables: ManageAppVariables;
7
- }, {}, "/">;
8
+ }, hono_types8.BlankSchema, "/">;
8
9
  //#endregion
9
10
  export { userOrganizationsRoutes as default };
@@ -1,57 +1,28 @@
1
1
  import runDbClient_default from "../../../data/db/runDbClient.js";
2
- import { OpenAPIHono, createRoute, z } from "@hono/zod-openapi";
3
- import { addUserToOrganization, getUserOrganizationsFromDb } from "@inkeep/agents-core";
4
- import { AddUserToOrganizationRequestSchema, AddUserToOrganizationResponseSchema, UserOrganizationsResponseSchema } from "@inkeep/agents-core/auth/validation";
2
+ import { sessionAuth } from "../../../middleware/sessionAuth.js";
3
+ import { createApiError, getUserOrganizationsFromDb } from "@inkeep/agents-core";
4
+ import { Hono } from "hono";
5
5
 
6
6
  //#region src/domains/manage/routes/userOrganizations.ts
7
- const userOrganizationsRoutes = new OpenAPIHono();
8
- userOrganizationsRoutes.openapi(createRoute({
9
- method: "get",
10
- path: "/",
11
- tags: ["User Organizations"],
12
- summary: "List user organizations",
13
- description: "Get all organizations associated with a user",
14
- request: { params: z.object({ userId: z.string().describe("User ID") }) },
15
- responses: { 200: {
16
- description: "List of user organizations",
17
- content: { "application/json": { schema: UserOrganizationsResponseSchema } }
18
- } }
19
- }), async (c) => {
20
- const { userId } = c.req.valid("param");
7
+ const userOrganizationsRoutes = new Hono();
8
+ userOrganizationsRoutes.use("*", sessionAuth());
9
+ userOrganizationsRoutes.get("/", async (c) => {
10
+ const userId = c.req.param("userId");
11
+ const authenticatedUserId = c.get("userId");
12
+ if (!userId) throw createApiError({
13
+ code: "bad_request",
14
+ message: "User ID is required"
15
+ });
16
+ if (userId !== authenticatedUserId) throw createApiError({
17
+ code: "forbidden",
18
+ message: "Cannot access another user's organizations"
19
+ });
21
20
  const userOrganizations = (await getUserOrganizationsFromDb(runDbClient_default)(userId)).map((org) => ({
22
21
  ...org,
23
22
  createdAt: org.createdAt.toISOString()
24
23
  }));
25
24
  return c.json(userOrganizations);
26
25
  });
27
- userOrganizationsRoutes.openapi(createRoute({
28
- method: "post",
29
- path: "/",
30
- tags: ["User Organizations"],
31
- summary: "Add user to organization",
32
- description: "Associate a user with an organization",
33
- request: {
34
- params: z.object({ userId: z.string().describe("User ID") }),
35
- body: { content: { "application/json": { schema: AddUserToOrganizationRequestSchema } } }
36
- },
37
- responses: { 201: {
38
- description: "User added to organization",
39
- content: { "application/json": { schema: AddUserToOrganizationResponseSchema } }
40
- } }
41
- }), async (c) => {
42
- const { userId } = c.req.valid("param");
43
- const { organizationId, role } = c.req.valid("json");
44
- await addUserToOrganization(runDbClient_default)({
45
- userId,
46
- organizationId,
47
- role
48
- });
49
- return c.json({
50
- organizationId,
51
- role,
52
- createdAt: (/* @__PURE__ */ new Date()).toISOString()
53
- }, 201);
54
- });
55
26
  var userOrganizations_default = userOrganizationsRoutes;
56
27
 
57
28
  //#endregion
@@ -1,7 +1,7 @@
1
1
  import { Hono } from "hono";
2
- import * as hono_types3 from "hono/types";
2
+ import * as hono_types6 from "hono/types";
3
3
 
4
4
  //#region src/domains/mcp/routes/mcp.d.ts
5
- declare const app: Hono<hono_types3.BlankEnv, hono_types3.BlankSchema, "/">;
5
+ declare const app: Hono<hono_types6.BlankEnv, hono_types6.BlankSchema, "/">;
6
6
  //#endregion
7
7
  export { app as default };
package/dist/factory.d.ts CHANGED
@@ -3,10 +3,10 @@ import "./types/index.js";
3
3
  import { createAgentsHono } from "./createApp.js";
4
4
  import { createAuth0Provider, createOIDCProvider } from "./ssoHelpers.js";
5
5
  import { CredentialStore, ServerConfig } from "@inkeep/agents-core";
6
- import * as hono12 from "hono";
6
+ import * as hono0 from "hono";
7
7
  import * as zod0 from "zod";
8
8
  import { SSOProviderConfig, UserAuthConfig } from "@inkeep/agents-core/auth";
9
- import * as hono_types5 from "hono/types";
9
+ import * as hono_types0 from "hono/types";
10
10
  import * as better_auth0 from "better-auth";
11
11
  import * as better_auth_plugins0 from "better-auth/plugins";
12
12
  import * as _better_auth_sso0 from "@better-auth/sso";
@@ -1536,6 +1536,6 @@ declare function createAgentsApp(config?: {
1536
1536
  credentialStores?: CredentialStore[];
1537
1537
  auth?: UserAuthConfig;
1538
1538
  sandboxConfig?: SandboxConfig;
1539
- }): hono12.Hono<hono_types5.BlankEnv, hono_types5.BlankSchema, "/">;
1539
+ }): hono0.Hono<hono_types0.BlankEnv, hono_types0.BlankSchema, "/">;
1540
1540
  //#endregion
1541
1541
  export { type SSOProviderConfig, type UserAuthConfig, createAgentsApp, createAgentsAuth, createAgentsHono, createAuth0Provider, createOIDCProvider };
package/dist/index.d.ts CHANGED
@@ -7,7 +7,7 @@ import { createAuth0Provider, createOIDCProvider } from "./ssoHelpers.js";
7
7
  import { SSOProviderConfig, UserAuthConfig, createAgentsApp } from "./factory.js";
8
8
  import { Hono } from "hono";
9
9
  import * as zod205 from "zod";
10
- import * as hono_types9 from "hono/types";
10
+ import * as hono_types10 from "hono/types";
11
11
  import * as better_auth78 from "better-auth";
12
12
  import * as better_auth_plugins69 from "better-auth/plugins";
13
13
  import * as _better_auth_sso10 from "@better-auth/sso";
@@ -1532,6 +1532,6 @@ declare const auth: better_auth78.Auth<{
1532
1532
  }>;
1533
1533
  }];
1534
1534
  }>;
1535
- declare const app: Hono<hono_types9.BlankEnv, hono_types9.BlankSchema, "/">;
1535
+ declare const app: Hono<hono_types10.BlankEnv, hono_types10.BlankSchema, "/">;
1536
1536
  //#endregion
1537
1537
  export { type AppConfig, type AppVariables, Hono, type NativeSandboxConfig, type SSOProviderConfig, type SandboxConfig, type UserAuthConfig, type VercelSandboxConfig, auth, createAgentsApp, createAgentsHono, createAuth0Provider, createOIDCProvider, app as default };
@@ -1,5 +1,5 @@
1
1
  import { BaseExecutionContext } from "@inkeep/agents-core";
2
- import * as hono0 from "hono";
2
+ import * as hono1 from "hono";
3
3
 
4
4
  //#region src/middleware/evalsAuth.d.ts
5
5
 
@@ -7,7 +7,7 @@ import * as hono0 from "hono";
7
7
  * Middleware to authenticate API requests using Bearer token authentication
8
8
  * First checks if token matches INKEEP_AGENTS_EVAL_API_BYPASS_SECRET,
9
9
  */
10
- declare const evalApiKeyAuth: () => hono0.MiddlewareHandler<{
10
+ declare const evalApiKeyAuth: () => hono1.MiddlewareHandler<{
11
11
  Variables: {
12
12
  executionContext: BaseExecutionContext;
13
13
  };
@@ -1,5 +1,5 @@
1
1
  import { BaseExecutionContext } from "@inkeep/agents-core";
2
- import * as hono3 from "hono";
2
+ import * as hono17 from "hono";
3
3
  import { createAuth } from "@inkeep/agents-core/auth";
4
4
 
5
5
  //#region src/middleware/manageAuth.d.ts
@@ -12,7 +12,7 @@ import { createAuth } from "@inkeep/agents-core/auth";
12
12
  * 3. Database API key
13
13
  * 4. Internal service token
14
14
  */
15
- declare const manageApiKeyAuth: () => hono3.MiddlewareHandler<{
15
+ declare const manageApiKeyAuth: () => hono17.MiddlewareHandler<{
16
16
  Variables: {
17
17
  executionContext: BaseExecutionContext;
18
18
  userId?: string;
@@ -1,6 +1,6 @@
1
1
  import { ManageAppVariables } from "../types/app.js";
2
2
  import { ProjectPermissionLevel } from "@inkeep/agents-core";
3
- import * as hono4 from "hono";
3
+ import * as hono0 from "hono";
4
4
 
5
5
  //#region src/middleware/projectAccess.d.ts
6
6
  /**
@@ -10,6 +10,6 @@ declare const requireProjectPermission: <Env$1 extends {
10
10
  Variables: ManageAppVariables;
11
11
  } = {
12
12
  Variables: ManageAppVariables;
13
- }>(permission?: ProjectPermissionLevel) => hono4.MiddlewareHandler<Env$1, string, {}, Response>;
13
+ }>(permission?: ProjectPermissionLevel) => hono0.MiddlewareHandler<Env$1, string, {}, Response>;
14
14
  //#endregion
15
15
  export { requireProjectPermission };
@@ -1,11 +1,11 @@
1
1
  import { BaseExecutionContext, ResolvedRef } from "@inkeep/agents-core";
2
- import * as hono5 from "hono";
2
+ import * as hono15 from "hono";
3
3
 
4
4
  //#region src/middleware/projectConfig.d.ts
5
5
  /**
6
6
  * Middleware that fetches the full project definition from the Management API
7
7
  */
8
- declare const projectConfigMiddleware: hono5.MiddlewareHandler<{
8
+ declare const projectConfigMiddleware: hono15.MiddlewareHandler<{
9
9
  Variables: {
10
10
  executionContext: BaseExecutionContext;
11
11
  resolvedRef: ResolvedRef;
@@ -15,7 +15,7 @@ declare const projectConfigMiddleware: hono5.MiddlewareHandler<{
15
15
  * Creates a middleware that applies project config fetching except for specified route patterns
16
16
  * @param skipRouteCheck - Function that returns true if the route should skip the middleware
17
17
  */
18
- declare const projectConfigMiddlewareExcept: (skipRouteCheck: (path: string) => boolean) => hono5.MiddlewareHandler<{
18
+ declare const projectConfigMiddlewareExcept: (skipRouteCheck: (path: string) => boolean) => hono15.MiddlewareHandler<{
19
19
  Variables: {
20
20
  executionContext: BaseExecutionContext;
21
21
  resolvedRef: ResolvedRef;
@@ -1,5 +1,5 @@
1
1
  import { ManageAppVariables } from "../types/app.js";
2
- import * as hono8 from "hono";
2
+ import * as hono2 from "hono";
3
3
 
4
4
  //#region src/middleware/requirePermission.d.ts
5
5
  type Permission = {
@@ -9,6 +9,6 @@ declare const requirePermission: <Env$1 extends {
9
9
  Variables: ManageAppVariables;
10
10
  } = {
11
11
  Variables: ManageAppVariables;
12
- }>(permissions: Permission) => hono8.MiddlewareHandler<Env$1, string, {}, Response>;
12
+ }>(permissions: Permission) => hono2.MiddlewareHandler<Env$1, string, {}, Response>;
13
13
  //#endregion
14
14
  export { requirePermission };
@@ -1,8 +1,8 @@
1
1
  import { BaseExecutionContext } from "@inkeep/agents-core";
2
- import * as hono0 from "hono";
2
+ import * as hono3 from "hono";
3
3
 
4
4
  //#region src/middleware/runAuth.d.ts
5
- declare const runApiKeyAuth: () => hono0.MiddlewareHandler<{
5
+ declare const runApiKeyAuth: () => hono3.MiddlewareHandler<{
6
6
  Variables: {
7
7
  executionContext: BaseExecutionContext;
8
8
  };
@@ -11,7 +11,7 @@ declare const runApiKeyAuth: () => hono0.MiddlewareHandler<{
11
11
  * Creates a middleware that applies API key authentication except for specified route patterns
12
12
  * @param skipRouteCheck - Function that returns true if the route should skip authentication
13
13
  */
14
- declare const runApiKeyAuthExcept: (skipRouteCheck: (path: string) => boolean) => hono0.MiddlewareHandler<{
14
+ declare const runApiKeyAuthExcept: (skipRouteCheck: (path: string) => boolean) => hono3.MiddlewareHandler<{
15
15
  Variables: {
16
16
  executionContext: BaseExecutionContext;
17
17
  };
@@ -20,7 +20,7 @@ declare const runApiKeyAuthExcept: (skipRouteCheck: (path: string) => boolean) =
20
20
  * Helper middleware for endpoints that optionally support API key authentication
21
21
  * If no auth header is present, it continues without setting the executionContext
22
22
  */
23
- declare const runOptionalAuth: () => hono0.MiddlewareHandler<{
23
+ declare const runOptionalAuth: () => hono3.MiddlewareHandler<{
24
24
  Variables: {
25
25
  executionContext?: BaseExecutionContext;
26
26
  };
@@ -1,4 +1,4 @@
1
- import * as hono9 from "hono";
1
+ import * as hono6 from "hono";
2
2
 
3
3
  //#region src/middleware/sessionAuth.d.ts
4
4
 
@@ -7,11 +7,11 @@ import * as hono9 from "hono";
7
7
  * Requires that a user has already been authenticated via Better Auth session.
8
8
  * Used primarily for manage routes that require an active user session.
9
9
  */
10
- declare const sessionAuth: () => hono9.MiddlewareHandler<any, string, {}, Response>;
10
+ declare const sessionAuth: () => hono6.MiddlewareHandler<any, string, {}, Response>;
11
11
  /**
12
12
  * Global session middleware - sets user and session in context for all routes
13
13
  * Used for all routes that require an active user session.
14
14
  */
15
- declare const sessionContext: () => hono9.MiddlewareHandler<any, string, {}, Response>;
15
+ declare const sessionContext: () => hono6.MiddlewareHandler<any, string, {}, Response>;
16
16
  //#endregion
17
17
  export { sessionAuth, sessionContext };
@@ -1,4 +1,4 @@
1
- import * as hono11 from "hono";
1
+ import * as hono8 from "hono";
2
2
 
3
3
  //#region src/middleware/tenantAccess.d.ts
4
4
 
@@ -11,7 +11,7 @@ import * as hono11 from "hono";
11
11
  * - API key user: Access only to the tenant associated with the API key
12
12
  * - Session user: Access based on organization membership
13
13
  */
14
- declare const requireTenantAccess: () => hono11.MiddlewareHandler<{
14
+ declare const requireTenantAccess: () => hono8.MiddlewareHandler<{
15
15
  Variables: {
16
16
  userId: string;
17
17
  tenantId: string;
@@ -1,7 +1,7 @@
1
- import * as hono17 from "hono";
1
+ import * as hono9 from "hono";
2
2
 
3
3
  //#region src/middleware/tracing.d.ts
4
- declare const otelBaggageMiddleware: () => hono17.MiddlewareHandler<any, string, {}, Response>;
5
- declare const executionBaggageMiddleware: () => hono17.MiddlewareHandler<any, string, {}, Response>;
4
+ declare const otelBaggageMiddleware: () => hono9.MiddlewareHandler<any, string, {}, Response>;
5
+ declare const executionBaggageMiddleware: () => hono9.MiddlewareHandler<any, string, {}, Response>;
6
6
  //#endregion
7
7
  export { executionBaggageMiddleware, otelBaggageMiddleware };
package/dist/openapi.d.ts CHANGED
@@ -20,7 +20,6 @@ declare const TagToDescription: {
20
20
  'Function Tools': string;
21
21
  Functions: string;
22
22
  GitHub: string;
23
- Invitations: string;
24
23
  MCP: string;
25
24
  'MCP Catalog': string;
26
25
  OAuth: string;
@@ -32,7 +31,6 @@ declare const TagToDescription: {
32
31
  'Third-Party MCP Servers': string;
33
32
  Tools: string;
34
33
  Triggers: string;
35
- 'User Organizations': string;
36
34
  'User Project Memberships': string;
37
35
  Webhooks: string;
38
36
  Workflows: string;
package/dist/openapi.js CHANGED
@@ -19,7 +19,6 @@ const TagToDescription = {
19
19
  "Function Tools": "Operations for managing function tools",
20
20
  Functions: "Operations for managing functions",
21
21
  GitHub: "GitHub App integration endpoints",
22
- Invitations: "Operations for managing invitations",
23
22
  MCP: "MCP (Model Context Protocol) endpoints",
24
23
  "MCP Catalog": "Operations for MCP catalog",
25
24
  OAuth: "OAuth authentication endpoints",
@@ -31,7 +30,6 @@ const TagToDescription = {
31
30
  "Third-Party MCP Servers": "Operations for managing third-party MCP servers",
32
31
  Tools: "Operations for managing MCP tools",
33
32
  Triggers: "Operations for managing triggers",
34
- "User Organizations": "Operations for managing user organizations",
35
33
  "User Project Memberships": "Operations for managing user project memberships",
36
34
  Webhooks: "Webhook endpoints",
37
35
  Workflows: "Workflow trigger endpoints"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inkeep/agents-api",
3
- "version": "0.0.0-dev-20260203035246",
3
+ "version": "0.0.0-dev-20260203195644",
4
4
  "description": "Unified Inkeep Agents API - combines management, runtime, and evaluation capabilities",
5
5
  "types": "dist/index.d.ts",
6
6
  "exports": {
@@ -66,10 +66,10 @@
66
66
  "openid-client": "^6.8.1",
67
67
  "pg": "^8.16.3",
68
68
  "workflow": "4.0.1-beta.33",
69
- "@inkeep/agents-manage-mcp": "^0.0.0-dev-20260203035246",
70
- "@inkeep/agents-core": "^0.0.0-dev-20260203035246",
71
- "@inkeep/agents-mcp": "^0.0.0-dev-20260203035246",
72
- "@inkeep/agents-work-apps": "^0.0.0-dev-20260203035246"
69
+ "@inkeep/agents-core": "^0.0.0-dev-20260203195644",
70
+ "@inkeep/agents-manage-mcp": "^0.0.0-dev-20260203195644",
71
+ "@inkeep/agents-mcp": "^0.0.0-dev-20260203195644",
72
+ "@inkeep/agents-work-apps": "^0.0.0-dev-20260203195644"
73
73
  },
74
74
  "peerDependencies": {
75
75
  "@hono/zod-openapi": "^1.1.5",