@agentforge/testing 0.16.3 → 0.16.5

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.cjs CHANGED
@@ -1634,14 +1634,18 @@ var StateBuilder = class {
1634
1634
  Object.assign(this.state, fields);
1635
1635
  return this;
1636
1636
  }
1637
+ ensureMessages() {
1638
+ if (!this.state.messages) {
1639
+ const messages = [];
1640
+ this.state.messages = messages;
1641
+ }
1642
+ return this.state.messages;
1643
+ }
1637
1644
  /**
1638
1645
  * Add a message to the messages array
1639
1646
  */
1640
1647
  addMessage(message) {
1641
- if (!this.state.messages) {
1642
- this.state.messages = [];
1643
- }
1644
- this.state.messages.push(message);
1648
+ this.ensureMessages().push(message);
1645
1649
  return this;
1646
1650
  }
1647
1651
  /**
@@ -1687,7 +1691,7 @@ function createStateBuilder() {
1687
1691
  return new StateBuilder();
1688
1692
  }
1689
1693
  function createConversationState(messages) {
1690
- const builder = createStateBuilder();
1694
+ const builder = createStateBuilder().set("messages", []);
1691
1695
  messages.forEach((msg, index) => {
1692
1696
  if (index % 2 === 0) {
1693
1697
  builder.addHumanMessage(msg);
@@ -1699,21 +1703,21 @@ function createConversationState(messages) {
1699
1703
  }
1700
1704
  function createReActState(config2 = {}) {
1701
1705
  return {
1702
- messages: config2.messages || [],
1703
- thoughts: config2.thoughts || [],
1704
- toolCalls: config2.toolCalls || [],
1705
- toolResults: config2.toolResults || [],
1706
- scratchpad: config2.scratchpad || [],
1707
- iterations: config2.iterations || 0,
1708
- maxIterations: config2.maxIterations || 10
1706
+ messages: config2.messages ?? [],
1707
+ thoughts: config2.thoughts ?? [],
1708
+ toolCalls: config2.toolCalls ?? [],
1709
+ toolResults: config2.toolResults ?? [],
1710
+ scratchpad: config2.scratchpad ?? [],
1711
+ iterations: config2.iterations ?? 0,
1712
+ maxIterations: config2.maxIterations ?? 10
1709
1713
  };
1710
1714
  }
1711
1715
  function createPlanningState(config2 = {}) {
1712
1716
  return {
1713
- messages: config2.messages || [],
1714
- plan: config2.plan || [],
1715
- currentStep: config2.currentStep || 0,
1716
- results: config2.results || {}
1717
+ messages: config2.messages ?? [],
1718
+ plan: config2.plan ?? [],
1719
+ currentStep: config2.currentStep ?? 0,
1720
+ results: config2.results ?? {}
1717
1721
  };
1718
1722
  }
1719
1723
 
@@ -18344,13 +18348,25 @@ function getImporter(name) {
18344
18348
  __toESM(require_dist());
18345
18349
 
18346
18350
  // src/helpers/assertions.ts
18351
+ function isMessageLike(value) {
18352
+ if (typeof value !== "object" || value === null) {
18353
+ return false;
18354
+ }
18355
+ const candidate = value;
18356
+ return "content" in candidate && typeof candidate._getType === "function";
18357
+ }
18347
18358
  function assertIsMessage(value, type3) {
18348
18359
  globalExpect(value).toBeDefined();
18349
- globalExpect(value).toHaveProperty("content");
18350
- if (type3 === "human") {
18351
- globalExpect(value).toBeInstanceOf(messages.HumanMessage);
18352
- } else if (type3 === "ai") {
18353
- globalExpect(value).toBeInstanceOf(messages.AIMessage);
18360
+ globalExpect(value).not.toBeNull();
18361
+ globalExpect(typeof value).toBe("object");
18362
+ const samePackageMessage = value instanceof messages.BaseMessage;
18363
+ const structuralMessage = isMessageLike(value);
18364
+ globalExpect(samePackageMessage || structuralMessage).toBe(true);
18365
+ const message = value;
18366
+ const messageType = message._getType();
18367
+ globalExpect(typeof messageType).toBe("string");
18368
+ if (type3) {
18369
+ globalExpect(messageType).toBe(type3);
18354
18370
  }
18355
18371
  }
18356
18372
  function assertMessageContains(messages, content) {
@@ -18366,7 +18382,7 @@ function assertLastMessageContains(messages, content) {
18366
18382
  }
18367
18383
  function assertStateHasFields(state, fields) {
18368
18384
  fields.forEach((field) => {
18369
- globalExpect(state).toHaveProperty(field);
18385
+ globalExpect(state).toHaveProperty(typeof field === "number" ? [field] : field);
18370
18386
  });
18371
18387
  }
18372
18388
  function assertToolCalled(toolCalls, toolName, args) {