@animalabs/agent-framework 0.6.0 → 0.6.2

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 (104) hide show
  1. package/dist/src/agent.d.ts +4 -0
  2. package/dist/src/agent.d.ts.map +1 -1
  3. package/dist/src/agent.js +15 -0
  4. package/dist/src/agent.js.map +1 -1
  5. package/dist/src/framework.d.ts +176 -0
  6. package/dist/src/framework.d.ts.map +1 -1
  7. package/dist/src/framework.js +911 -90
  8. package/dist/src/framework.js.map +1 -1
  9. package/dist/src/gate/event-gate.d.ts +20 -1
  10. package/dist/src/gate/event-gate.d.ts.map +1 -1
  11. package/dist/src/gate/event-gate.js +60 -4
  12. package/dist/src/gate/event-gate.js.map +1 -1
  13. package/dist/src/index.d.ts +3 -0
  14. package/dist/src/index.d.ts.map +1 -1
  15. package/dist/src/index.js +4 -0
  16. package/dist/src/index.js.map +1 -1
  17. package/dist/src/mcpl/channel-registry.d.ts +17 -1
  18. package/dist/src/mcpl/channel-registry.d.ts.map +1 -1
  19. package/dist/src/mcpl/channel-registry.js +34 -3
  20. package/dist/src/mcpl/channel-registry.js.map +1 -1
  21. package/dist/src/mcpl/push-handler.d.ts.map +1 -1
  22. package/dist/src/mcpl/push-handler.js +4 -0
  23. package/dist/src/mcpl/push-handler.js.map +1 -1
  24. package/dist/src/mcpl/server-connection.d.ts +29 -0
  25. package/dist/src/mcpl/server-connection.d.ts.map +1 -1
  26. package/dist/src/mcpl/server-connection.js +102 -4
  27. package/dist/src/mcpl/server-connection.js.map +1 -1
  28. package/dist/src/mcpl/types.d.ts +17 -1
  29. package/dist/src/mcpl/types.d.ts.map +1 -1
  30. package/dist/src/mcpl/types.js.map +1 -1
  31. package/dist/src/module-registry.d.ts +15 -1
  32. package/dist/src/module-registry.d.ts.map +1 -1
  33. package/dist/src/module-registry.js +92 -4
  34. package/dist/src/module-registry.js.map +1 -1
  35. package/dist/src/types/agent.d.ts +37 -0
  36. package/dist/src/types/agent.d.ts.map +1 -1
  37. package/dist/src/types/module.d.ts +46 -0
  38. package/dist/src/types/module.d.ts.map +1 -1
  39. package/dist/src/types/trace.d.ts +42 -0
  40. package/dist/src/types/trace.d.ts.map +1 -1
  41. package/dist/test/agent-cache-ttl.test.d.ts +2 -0
  42. package/dist/test/agent-cache-ttl.test.d.ts.map +1 -0
  43. package/dist/test/agent-cache-ttl.test.js +25 -0
  44. package/dist/test/agent-cache-ttl.test.js.map +1 -0
  45. package/dist/test/conversation-fork-injection-scoping.test.d.ts +2 -0
  46. package/dist/test/conversation-fork-injection-scoping.test.d.ts.map +1 -0
  47. package/dist/test/conversation-fork-injection-scoping.test.js +184 -0
  48. package/dist/test/conversation-fork-injection-scoping.test.js.map +1 -0
  49. package/dist/test/gather-context-timeout.test.d.ts +2 -0
  50. package/dist/test/gather-context-timeout.test.d.ts.map +1 -0
  51. package/dist/test/gather-context-timeout.test.js +120 -0
  52. package/dist/test/gather-context-timeout.test.js.map +1 -0
  53. package/dist/test/inference-exhaustion-rewind.test.d.ts +2 -0
  54. package/dist/test/inference-exhaustion-rewind.test.d.ts.map +1 -0
  55. package/dist/test/inference-exhaustion-rewind.test.js +181 -0
  56. package/dist/test/inference-exhaustion-rewind.test.js.map +1 -0
  57. package/dist/test/inference-failure-observability.test.js +4 -0
  58. package/dist/test/inference-failure-observability.test.js.map +1 -1
  59. package/dist/test/mcpl-reconnect-events.test.d.ts +2 -0
  60. package/dist/test/mcpl-reconnect-events.test.d.ts.map +1 -0
  61. package/dist/test/mcpl-reconnect-events.test.js +119 -0
  62. package/dist/test/mcpl-reconnect-events.test.js.map +1 -0
  63. package/dist/test/mcpl-reconnect-reregistration.test.d.ts +2 -0
  64. package/dist/test/mcpl-reconnect-reregistration.test.d.ts.map +1 -0
  65. package/dist/test/mcpl-reconnect-reregistration.test.js +181 -0
  66. package/dist/test/mcpl-reconnect-reregistration.test.js.map +1 -0
  67. package/dist/test/mcpl-request-timeout.test.d.ts +2 -0
  68. package/dist/test/mcpl-request-timeout.test.d.ts.map +1 -0
  69. package/dist/test/mcpl-request-timeout.test.js +123 -0
  70. package/dist/test/mcpl-request-timeout.test.js.map +1 -0
  71. package/dist/test/mcpl-runtime-lifecycle.test.d.ts +7 -0
  72. package/dist/test/mcpl-runtime-lifecycle.test.d.ts.map +1 -0
  73. package/dist/test/mcpl-runtime-lifecycle.test.js +142 -0
  74. package/dist/test/mcpl-runtime-lifecycle.test.js.map +1 -0
  75. package/dist/test/refusal-rewind.test.d.ts +2 -0
  76. package/dist/test/refusal-rewind.test.d.ts.map +1 -0
  77. package/dist/test/refusal-rewind.test.js +108 -0
  78. package/dist/test/refusal-rewind.test.js.map +1 -0
  79. package/dist/test/state-scaling-e2e.test.d.ts +22 -0
  80. package/dist/test/state-scaling-e2e.test.d.ts.map +1 -0
  81. package/dist/test/state-scaling-e2e.test.js +200 -0
  82. package/dist/test/state-scaling-e2e.test.js.map +1 -0
  83. package/dist/test/state-scaling.test.d.ts +12 -0
  84. package/dist/test/state-scaling.test.d.ts.map +1 -0
  85. package/dist/test/state-scaling.test.js +243 -0
  86. package/dist/test/state-scaling.test.js.map +1 -0
  87. package/dist/test/tool-result-content.test.d.ts +2 -0
  88. package/dist/test/tool-result-content.test.d.ts.map +1 -0
  89. package/dist/test/tool-result-content.test.js +37 -0
  90. package/dist/test/tool-result-content.test.js.map +1 -0
  91. package/dist/tsconfig.tsbuildinfo +1 -1
  92. package/package.json +3 -2
  93. package/src/agent.ts +16 -0
  94. package/src/framework.ts +1069 -99
  95. package/src/gate/event-gate.ts +56 -4
  96. package/src/index.ts +10 -0
  97. package/src/mcpl/channel-registry.ts +34 -3
  98. package/src/mcpl/push-handler.ts +4 -0
  99. package/src/mcpl/server-connection.ts +110 -4
  100. package/src/mcpl/types.ts +19 -1
  101. package/src/module-registry.ts +113 -4
  102. package/src/types/agent.ts +38 -0
  103. package/src/types/module.ts +52 -0
  104. package/src/types/trace.ts +51 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@animalabs/agent-framework",
3
- "version": "0.6.0",
3
+ "version": "0.6.2",
4
4
  "description": "Multi-agent framework with pluggable modules, persistent state, and concurrent tool execution",
5
5
  "repository": {
6
6
  "type": "git",
@@ -28,6 +28,7 @@
28
28
  "dev": "tsc --watch",
29
29
  "clean": "rm -rf dist",
30
30
  "typecheck": "tsc --noEmit",
31
+ "pretest": "mkdir -p dist/test/fixtures && cp test/fixtures/*.mjs dist/test/fixtures/",
31
32
  "test": "node --test dist/test/*.test.js",
32
33
  "prepublishOnly": "npm run build"
33
34
  },
@@ -42,7 +43,7 @@
42
43
  "author": "Anima Research",
43
44
  "license": "MIT",
44
45
  "dependencies": {
45
- "@animalabs/chronicle": "^0.2.0",
46
+ "@animalabs/chronicle": "^0.2.2",
46
47
  "@animalabs/context-manager": "^0.5.5",
47
48
  "@animalabs/membrane": "^0.5.64",
48
49
  "chokidar": "^4.0.3",
package/src/agent.ts CHANGED
@@ -44,6 +44,10 @@ export class Agent {
44
44
  * blocks are preserved through Chronicle.
45
45
  */
46
46
  readonly thinking: AgentConfig['thinking'];
47
+ /** Refusal auto-rewind policy (see AgentConfig.refusalHandling). */
48
+ readonly refusalHandling: AgentConfig['refusalHandling'];
49
+ /** Prompt-cache TTL forwarded to the provider (see AgentConfig.cacheTtl). */
50
+ readonly cacheTtl: AgentConfig['cacheTtl'];
47
51
 
48
52
  private _state: AgentState = { status: 'idle' };
49
53
  private _inferenceStartedAt = 0;
@@ -70,6 +74,8 @@ export class Agent {
70
74
  this.maxTokens = config.maxTokens ?? 4096;
71
75
  this.temperature = config.temperature;
72
76
  this.thinking = config.thinking;
77
+ this.refusalHandling = config.refusalHandling;
78
+ this.cacheTtl = config.cacheTtl;
73
79
  this.maxStreamTokens = config.maxStreamTokens ?? 150_000;
74
80
  this.contextBudgetTokens = config.contextBudgetTokens;
75
81
  this.contextManager = contextManager;
@@ -319,6 +325,15 @@ export class Agent {
319
325
  injections?: ContextInjection[],
320
326
  budget?: TokenBudget
321
327
  ): Promise<NormalizedRequest> {
328
+ // Keep the context manager's view of the live tool surface current: the
329
+ // autobiographical strategy must declare the same tools on its
330
+ // summarizer/compression requests, or transcripts containing tool blocks
331
+ // are refused by Anthropic's reasoning_extraction classifier (labclaude
332
+ // incident, 2026-07-09). Optional chaining: older context-manager
333
+ // versions don't have the hook.
334
+ (this.contextManager as unknown as { setToolDefinitions?: (t: ToolDefinition[]) => void })
335
+ .setToolDefinitions?.(availableTools);
336
+
322
337
  let { messages, systemInjections } = await this.compileWithInjections(budget, injections);
323
338
 
324
339
  // Safety: ensure messages don't end with an assistant message.
@@ -342,6 +357,7 @@ export class Agent {
342
357
  },
343
358
  tools: availableTools.length > 0 ? availableTools : undefined,
344
359
  promptCaching: true,
360
+ ...(this.cacheTtl !== undefined && { cacheTtl: this.cacheTtl }),
345
361
  assistantParticipant: this.name,
346
362
  };
347
363
  }