@voltagent/core 2.3.6 → 2.3.7

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.
package/dist/index.d.mts CHANGED
@@ -1552,6 +1552,8 @@ interface WorkflowRunQuery {
1552
1552
  to?: Date;
1553
1553
  limit?: number;
1554
1554
  offset?: number;
1555
+ userId?: string;
1556
+ metadata?: Record<string, unknown>;
1555
1557
  }
1556
1558
  /**
1557
1559
  * Working memory scope - conversation or user level
@@ -2808,6 +2810,8 @@ interface ManagedMemoryQueryWorkflowRunsInput {
2808
2810
  to?: Date;
2809
2811
  limit?: number;
2810
2812
  offset?: number;
2813
+ userId?: string;
2814
+ metadata?: Record<string, unknown>;
2811
2815
  }
2812
2816
  interface ManagedMemoryWorkflowStateUpdateInput {
2813
2817
  executionId: string;
@@ -14526,14 +14530,7 @@ declare class InMemoryStorageAdapter implements StorageAdapter {
14526
14530
  /**
14527
14531
  * Query workflow states with optional filters
14528
14532
  */
14529
- queryWorkflowRuns(query: {
14530
- workflowId?: string;
14531
- status?: WorkflowStateEntry["status"];
14532
- from?: Date;
14533
- to?: Date;
14534
- limit?: number;
14535
- offset?: number;
14536
- }): Promise<WorkflowStateEntry[]>;
14533
+ queryWorkflowRuns(query: WorkflowRunQuery): Promise<WorkflowStateEntry[]>;
14537
14534
  /**
14538
14535
  * Set workflow state
14539
14536
  */
package/dist/index.d.ts CHANGED
@@ -1552,6 +1552,8 @@ interface WorkflowRunQuery {
1552
1552
  to?: Date;
1553
1553
  limit?: number;
1554
1554
  offset?: number;
1555
+ userId?: string;
1556
+ metadata?: Record<string, unknown>;
1555
1557
  }
1556
1558
  /**
1557
1559
  * Working memory scope - conversation or user level
@@ -2808,6 +2810,8 @@ interface ManagedMemoryQueryWorkflowRunsInput {
2808
2810
  to?: Date;
2809
2811
  limit?: number;
2810
2812
  offset?: number;
2813
+ userId?: string;
2814
+ metadata?: Record<string, unknown>;
2811
2815
  }
2812
2816
  interface ManagedMemoryWorkflowStateUpdateInput {
2813
2817
  executionId: string;
@@ -14526,14 +14530,7 @@ declare class InMemoryStorageAdapter implements StorageAdapter {
14526
14530
  /**
14527
14531
  * Query workflow states with optional filters
14528
14532
  */
14529
- queryWorkflowRuns(query: {
14530
- workflowId?: string;
14531
- status?: WorkflowStateEntry["status"];
14532
- from?: Date;
14533
- to?: Date;
14534
- limit?: number;
14535
- offset?: number;
14536
- }): Promise<WorkflowStateEntry[]>;
14533
+ queryWorkflowRuns(query: WorkflowRunQuery): Promise<WorkflowStateEntry[]>;
14537
14534
  /**
14538
14535
  * Set workflow state
14539
14536
  */
package/dist/index.js CHANGED
@@ -6046,6 +6046,42 @@ Remember:
6046
6046
 
6047
6047
  // src/memory/adapters/storage/in-memory.ts
6048
6048
  var import_utils16 = require("@voltagent/internal/utils");
6049
+ function areMetadataValuesEqual(left, right) {
6050
+ if (Object.is(left, right)) {
6051
+ return true;
6052
+ }
6053
+ if (typeof left !== "object" || left === null || typeof right !== "object" || right === null) {
6054
+ return false;
6055
+ }
6056
+ if (Array.isArray(left) || Array.isArray(right)) {
6057
+ if (!Array.isArray(left) || !Array.isArray(right) || left.length !== right.length) {
6058
+ return false;
6059
+ }
6060
+ for (let index = 0; index < left.length; index++) {
6061
+ if (!areMetadataValuesEqual(left[index], right[index])) {
6062
+ return false;
6063
+ }
6064
+ }
6065
+ return true;
6066
+ }
6067
+ const leftRecord = left;
6068
+ const rightRecord = right;
6069
+ const leftKeys = Object.keys(leftRecord);
6070
+ const rightKeys = Object.keys(rightRecord);
6071
+ if (leftKeys.length !== rightKeys.length) {
6072
+ return false;
6073
+ }
6074
+ for (const key of leftKeys) {
6075
+ if (!Object.prototype.hasOwnProperty.call(rightRecord, key)) {
6076
+ return false;
6077
+ }
6078
+ if (!areMetadataValuesEqual(leftRecord[key], rightRecord[key])) {
6079
+ return false;
6080
+ }
6081
+ }
6082
+ return true;
6083
+ }
6084
+ __name(areMetadataValuesEqual, "areMetadataValuesEqual");
6049
6085
  var InMemoryStorageAdapter = class {
6050
6086
  static {
6051
6087
  __name(this, "InMemoryStorageAdapter");
@@ -6426,6 +6462,20 @@ var InMemoryStorageAdapter = class {
6426
6462
  if (query.to && state.createdAt > query.to) {
6427
6463
  return false;
6428
6464
  }
6465
+ if (query.userId && state.userId !== query.userId) {
6466
+ return false;
6467
+ }
6468
+ if (query.metadata) {
6469
+ const stateMetadata = state.metadata ?? {};
6470
+ for (const [key, value] of Object.entries(query.metadata)) {
6471
+ if (!Object.prototype.hasOwnProperty.call(stateMetadata, key)) {
6472
+ return false;
6473
+ }
6474
+ if (!areMetadataValuesEqual(stateMetadata[key], value)) {
6475
+ return false;
6476
+ }
6477
+ }
6478
+ }
6429
6479
  return true;
6430
6480
  }).sort((a, b) => b.createdAt.getTime() - a.createdAt.getTime());
6431
6481
  const start = query.offset ?? 0;
@@ -16508,13 +16558,21 @@ var VoltOpsClient = class _VoltOpsClient {
16508
16558
  }
16509
16559
  }
16510
16560
  async getManagedMemoryWorkflowStates(databaseId, input) {
16561
+ const metadataQueryParams = input.metadata && Object.keys(input.metadata).length > 0 ? Object.fromEntries(
16562
+ Object.entries(input.metadata).map(([key, value]) => [
16563
+ `metadata.${key}`,
16564
+ value === null ? "null" : typeof value === "string" ? value : typeof value === "number" || typeof value === "boolean" ? String(value) : (0, import_internal7.safeStringify)(value)
16565
+ ])
16566
+ ) : void 0;
16511
16567
  const query = this.buildQueryString({
16512
16568
  workflowId: input.workflowId,
16513
16569
  status: input.status,
16514
16570
  from: input.from?.toISOString(),
16515
16571
  to: input.to?.toISOString(),
16516
16572
  limit: input.limit,
16517
- offset: input.offset
16573
+ offset: input.offset,
16574
+ userId: input.userId,
16575
+ ...metadataQueryParams ?? {}
16518
16576
  });
16519
16577
  const payload = await this.request("GET", `/managed-memory/projects/databases/${databaseId}/workflow-states${query}`);
16520
16578
  if (!payload?.success) {