@openrouter/agent 0.3.2 → 0.4.0

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 (39) hide show
  1. package/esm/index.d.ts +7 -5
  2. package/esm/index.d.ts.map +1 -1
  3. package/esm/index.js +4 -2
  4. package/esm/index.js.map +1 -1
  5. package/esm/lib/conversation-state.d.ts.map +1 -1
  6. package/esm/lib/conversation-state.js +16 -4
  7. package/esm/lib/conversation-state.js.map +1 -1
  8. package/esm/lib/model-result.d.ts +19 -1
  9. package/esm/lib/model-result.d.ts.map +1 -1
  10. package/esm/lib/model-result.js +186 -16
  11. package/esm/lib/model-result.js.map +1 -1
  12. package/esm/lib/next-turn-params.d.ts.map +1 -1
  13. package/esm/lib/next-turn-params.js +3 -1
  14. package/esm/lib/next-turn-params.js.map +1 -1
  15. package/esm/lib/stream-transformers.d.ts +84 -5
  16. package/esm/lib/stream-transformers.d.ts.map +1 -1
  17. package/esm/lib/stream-transformers.js +8 -15
  18. package/esm/lib/stream-transformers.js.map +1 -1
  19. package/esm/lib/stream-type-guards.d.ts +29 -0
  20. package/esm/lib/stream-type-guards.d.ts.map +1 -1
  21. package/esm/lib/stream-type-guards.js +37 -0
  22. package/esm/lib/stream-type-guards.js.map +1 -1
  23. package/esm/lib/tool-executor.d.ts +10 -6
  24. package/esm/lib/tool-executor.d.ts.map +1 -1
  25. package/esm/lib/tool-executor.js +21 -12
  26. package/esm/lib/tool-executor.js.map +1 -1
  27. package/esm/lib/tool-types.d.ts +120 -4
  28. package/esm/lib/tool-types.d.ts.map +1 -1
  29. package/esm/lib/tool-types.js +34 -0
  30. package/esm/lib/tool-types.js.map +1 -1
  31. package/esm/lib/tool.d.ts +24 -1
  32. package/esm/lib/tool.d.ts.map +1 -1
  33. package/esm/lib/tool.js +28 -0
  34. package/esm/lib/tool.js.map +1 -1
  35. package/esm/openrouter.d.ts +10 -4
  36. package/esm/openrouter.d.ts.map +1 -1
  37. package/esm/openrouter.js +41 -2
  38. package/esm/openrouter.js.map +1 -1
  39. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"openrouter.d.ts","sourceRoot":"","sources":["../src/openrouter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAEhD,YAAY,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE7D;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG;IAC3C,KAAK,CAAC,EAAE,QAAQ,CAAC;CAClB,CAAC;AAEF,qBAAa,UAAW,SAAQ,cAAc;IAC5C,SAAS,GACP,MAAM,SAAS,SAAS,IAAI,EAAE,EAC9B,aAAa,SAAS,UAAU,CAAC,SAAS,CAAC,GAAG,SAAS,GAAG,SAAS,EACnE,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,aAAa,SAAS,UAAU,CAAC,SAAS,CAAC,GACjF,QAAQ,CAAC,aAAa,CAAC,GACvB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAEzB,SAAS,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QACzC,mBAAmB,CAAC,EAAE,aAAa,CAAC;KACrC,EACD,UAAU,cAAc,KACvB,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAE7B;CACH"}
1
+ {"version":3,"file":"openrouter.d.ts","sourceRoot":"","sources":["../src/openrouter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,uBAAuB,EACvB,iBAAiB,EACjB,WAAW,EACZ,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAEhD,YAAY,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE7D,iEAAiE;AACjE,MAAM,MAAM,IAAI,GACZ,WAAW,GACX,uBAAuB,GACvB,iBAAiB,GACjB,gBAAgB,GAChB,cAAc,CAAC;AAEnB;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG;IAC3C,KAAK,CAAC,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,IAAI,EAAE,CAAC;CAC3C,CAAC;AAmCF,qBAAa,UAAW,SAAQ,cAAc;gBAChC,OAAO,CAAC,EAAE,iBAAiB;IAYvC,SAAS,GACP,MAAM,SAAS,SAAS,IAAI,EAAE,EAC9B,aAAa,SAAS,UAAU,CAAC,SAAS,CAAC,GAAG,SAAS,GAAG,SAAS,EACnE,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,aAAa,SAAS,UAAU,CAAC,SAAS,CAAC,GACjF,QAAQ,CAAC,aAAa,CAAC,GACvB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAEzB,SAAS,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QACzC,mBAAmB,CAAC,EAAE,aAAa,CAAC;KACrC,EACD,UAAU,cAAc,KACvB,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAE7B;CACH"}
package/esm/openrouter.js CHANGED
@@ -1,8 +1,47 @@
1
1
  import { OpenRouterCore } from '@openrouter/sdk/core';
2
+ import { SDKHooks } from '@openrouter/sdk/hooks/hooks';
2
3
  import { callModel } from './inner-loop/call-model.js';
4
+ function buildSDKHooks(input) {
5
+ if (input === undefined) {
6
+ return undefined;
7
+ }
8
+ if (input instanceof SDKHooks) {
9
+ return input;
10
+ }
11
+ const hooks = new SDKHooks();
12
+ const list = Array.isArray(input)
13
+ ? input
14
+ : [
15
+ input,
16
+ ];
17
+ for (const hook of list) {
18
+ if ('sdkInit' in hook) {
19
+ hooks.registerSDKInitHook(hook);
20
+ }
21
+ if ('beforeCreateRequest' in hook) {
22
+ hooks.registerBeforeCreateRequestHook(hook);
23
+ }
24
+ if ('beforeRequest' in hook) {
25
+ hooks.registerBeforeRequestHook(hook);
26
+ }
27
+ if ('afterSuccess' in hook) {
28
+ hooks.registerAfterSuccessHook(hook);
29
+ }
30
+ if ('afterError' in hook) {
31
+ hooks.registerAfterErrorHook(hook);
32
+ }
33
+ }
34
+ return hooks;
35
+ }
3
36
  export class OpenRouter extends OpenRouterCore {
4
- constructor() {
5
- super(...arguments);
37
+ constructor(options) {
38
+ const { hooks: hooksInput, ...rest } = options ?? {};
39
+ const hooks = buildSDKHooks(hooksInput);
40
+ super(hooks === undefined
41
+ ? rest
42
+ : Object.assign({}, rest, {
43
+ hooks,
44
+ }));
6
45
  this.callModel = (request, options) => {
7
46
  return callModel(this, request, options);
8
47
  };
@@ -1 +1 @@
1
- {"version":3,"file":"openrouter.js","sourceRoot":"","sources":["../src/openrouter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAMtD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAgBvD,MAAM,OAAO,UAAW,SAAQ,cAAc;IAA9C;;QACE,cAAS,GAAG,CAOV,OAEC,EACD,OAAwB,EACM,EAAE;YAChC,OAAO,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC,CAAC;IACJ,CAAC;CAAA"}
1
+ {"version":3,"file":"openrouter.js","sourceRoot":"","sources":["../src/openrouter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAYvD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AA0BvD,SAAS,aAAa,CAAC,KAAoD;IACzE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,QAAQ,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAoB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAChD,CAAC,CAAC,KAAK;QACP,CAAC,CAAC;YACE,KAAK;SACN,CAAC;IACN,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;YACtB,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,qBAAqB,IAAI,IAAI,EAAE,CAAC;YAClC,KAAK,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,eAAe,IAAI,IAAI,EAAE,CAAC;YAC5B,KAAK,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,cAAc,IAAI,IAAI,EAAE,CAAC;YAC3B,KAAK,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;YACzB,KAAK,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,OAAO,UAAW,SAAQ,cAAc;IAC5C,YAAY,OAA2B;QACrC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;QACrD,MAAM,KAAK,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;QACxC,KAAK,CACH,KAAK,KAAK,SAAS;YACjB,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE;gBACtB,KAAK;aACN,CAAC,CACP,CAAC;QAGJ,cAAS,GAAG,CAOV,OAEC,EACD,OAAwB,EACM,EAAE;YAChC,OAAO,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC,CAAC;IAfF,CAAC;CAgBF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openrouter/agent",
3
- "version": "0.3.2",
3
+ "version": "0.4.0",
4
4
  "author": "OpenRouter",
5
5
  "description": "Agent toolkit for building AI applications with OpenRouter — tool orchestration, streaming, multi-turn conversations, and format compatibility.",
6
6
  "keywords": [
@@ -102,7 +102,7 @@
102
102
  "LICENSE"
103
103
  ],
104
104
  "dependencies": {
105
- "@openrouter/sdk": "*",
105
+ "@openrouter/sdk": "^0.12.12",
106
106
  "zod": "^4.0.0"
107
107
  },
108
108
  "devDependencies": {