@memberjunction/ai 6.1.0-edge.6 → 6.1.0-edge.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.
Files changed (37) hide show
  1. package/dist/generic/baseLLM.d.ts +14 -0
  2. package/dist/generic/baseLLM.d.ts.map +1 -1
  3. package/dist/generic/baseLLM.js +40 -3
  4. package/dist/generic/baseLLM.js.map +1 -1
  5. package/dist/generic/baseRealtime.d.ts +110 -7
  6. package/dist/generic/baseRealtime.d.ts.map +1 -1
  7. package/dist/generic/baseRealtime.js +17 -7
  8. package/dist/generic/baseRealtime.js.map +1 -1
  9. package/dist/generic/chat.types.d.ts +202 -2
  10. package/dist/generic/chat.types.d.ts.map +1 -1
  11. package/dist/generic/chat.types.js +114 -1
  12. package/dist/generic/chat.types.js.map +1 -1
  13. package/dist/generic/modelConfiguration.d.ts +146 -31
  14. package/dist/generic/modelConfiguration.d.ts.map +1 -1
  15. package/dist/generic/modelConfiguration.js +22 -11
  16. package/dist/generic/modelConfiguration.js.map +1 -1
  17. package/dist/generic/openAICompatibleTools.d.ts +129 -0
  18. package/dist/generic/openAICompatibleTools.d.ts.map +1 -0
  19. package/dist/generic/openAICompatibleTools.js +94 -0
  20. package/dist/generic/openAICompatibleTools.js.map +1 -0
  21. package/dist/generic/realtimeProxyRegistry.d.ts +19 -0
  22. package/dist/generic/realtimeProxyRegistry.d.ts.map +1 -1
  23. package/dist/generic/realtimeProxyRegistry.js +10 -0
  24. package/dist/generic/realtimeProxyRegistry.js.map +1 -1
  25. package/dist/generic/realtimeToolBatchBarrier.d.ts +67 -0
  26. package/dist/generic/realtimeToolBatchBarrier.d.ts.map +1 -0
  27. package/dist/generic/realtimeToolBatchBarrier.js +119 -0
  28. package/dist/generic/realtimeToolBatchBarrier.js.map +1 -0
  29. package/dist/generic/toolTurnEncoding.d.ts +26 -0
  30. package/dist/generic/toolTurnEncoding.d.ts.map +1 -0
  31. package/dist/generic/toolTurnEncoding.js +46 -0
  32. package/dist/generic/toolTurnEncoding.js.map +1 -0
  33. package/dist/index.d.ts +3 -0
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +3 -0
  36. package/dist/index.js.map +1 -1
  37. package/package.json +2 -2
@@ -0,0 +1,46 @@
1
+ /** Prefix of the user message a tool result becomes. */
2
+ export const ACTION_RESULT_TEXT_PREFIX = '[Action Result]';
3
+ /** The prose of a message whose content may be a string or content blocks (text blocks only). */
4
+ function proseOf(content) {
5
+ if (typeof content === 'string')
6
+ return content;
7
+ if (!Array.isArray(content))
8
+ return '';
9
+ return content.filter((b) => b.type === 'text').map((b) => b.content).join('\n');
10
+ }
11
+ /**
12
+ * Returns a copy of `messages` with every native tool turn rendered as text. Messages that carry no
13
+ * tool turn are passed through untouched (same object), so an already-textual history is unchanged.
14
+ */
15
+ export function EncodeToolTurnsAsText(messages) {
16
+ const out = [];
17
+ for (const m of messages) {
18
+ if (m.role === 'assistant' && (m.toolCalls?.length ?? 0) > 0) {
19
+ const prose = proseOf(m.content);
20
+ if (prose.trim())
21
+ out.push({ role: 'assistant', content: prose });
22
+ continue;
23
+ }
24
+ if (m.role === 'tool') {
25
+ const blocks = (Array.isArray(m.content) ? m.content : []);
26
+ const results = blocks.filter((x) => x.type === 'tool_result');
27
+ if (results.length === 0) {
28
+ // A tool turn does not always hold tool_result blocks: `compactToolResultContent`
29
+ // rewrites one whose content was not an array into a plain string. Dropping it here
30
+ // would erase the action's outcome from the very history the model is being asked to
31
+ // continue from, so keep whatever prose it carries.
32
+ const prose = proseOf(m.content);
33
+ if (prose.trim())
34
+ out.push({ role: 'user', content: `${ACTION_RESULT_TEXT_PREFIX} ${prose}` });
35
+ continue;
36
+ }
37
+ for (const b of results) {
38
+ out.push({ role: 'user', content: `${ACTION_RESULT_TEXT_PREFIX} ${b.toolName ?? 'tool'} ${b.isError ? 'failed' : 'succeeded'}. ${b.content}` });
39
+ }
40
+ continue;
41
+ }
42
+ out.push(m);
43
+ }
44
+ return out;
45
+ }
46
+ //# sourceMappingURL=toolTurnEncoding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolTurnEncoding.js","sourceRoot":"","sources":["../../src/generic/toolTurnEncoding.ts"],"names":[],"mappings":"AAmBA,wDAAwD;AACxD,MAAM,CAAC,MAAM,yBAAyB,GAAG,iBAAiB,CAAC;AAE3D,iGAAiG;AACjG,SAAS,OAAO,CAAC,OAA+B;IAC5C,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAChD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,OAAQ,OAAqC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAgC;IAClE,MAAM,GAAG,GAAkB,EAAE,CAAC;IAC9B,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3D,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACjC,IAAI,KAAK,CAAC,IAAI,EAAE;gBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAClE,SAAS;QACb,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAA8B,CAAC;YACxF,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;YAC/D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,kFAAkF;gBAClF,oFAAoF;gBACpF,qFAAqF;gBACrF,oDAAoD;gBACpD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBACjC,IAAI,KAAK,CAAC,IAAI,EAAE;oBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,yBAAyB,IAAI,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC/F,SAAS;YACb,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACtB,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,yBAAyB,IAAI,CAAC,CAAC,QAAQ,IAAI,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACpJ,CAAC;YACD,SAAS;QACb,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC"}
package/dist/index.d.ts CHANGED
@@ -3,6 +3,8 @@ export * from './generic/baseLLM.js';
3
3
  export * from './generic/baseImage.js';
4
4
  export * from './generic/baseReranker.js';
5
5
  export * from './generic/chat.types.js';
6
+ export * from './generic/toolTurnEncoding.js';
7
+ export * from './generic/openAICompatibleTools.js';
6
8
  export * from './generic/classify.types.js';
7
9
  export * from './generic/summarize.types.js';
8
10
  export * from './generic/reranker.types.js';
@@ -19,4 +21,5 @@ export * from './generic/realtimeProxyRegistry.js';
19
21
  export * from './generic/baseRealtimeChannelServer.js';
20
22
  export * from './generic/errorTypes.js';
21
23
  export * from './generic/errorAnalyzer.js';
24
+ export * from './generic/realtimeToolBatchBarrier.js';
22
25
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oCAAoC,CAAC"}
package/dist/index.js CHANGED
@@ -3,6 +3,8 @@ export * from './generic/baseLLM.js';
3
3
  export * from './generic/baseImage.js';
4
4
  export * from './generic/baseReranker.js';
5
5
  export * from './generic/chat.types.js';
6
+ export * from './generic/toolTurnEncoding.js';
7
+ export * from './generic/openAICompatibleTools.js';
6
8
  export * from './generic/classify.types.js';
7
9
  export * from './generic/summarize.types.js';
8
10
  export * from './generic/reranker.types.js';
@@ -19,4 +21,5 @@ export * from './generic/realtimeProxyRegistry.js';
19
21
  export * from './generic/baseRealtimeChannelServer.js';
20
22
  export * from './generic/errorTypes.js';
21
23
  export * from './generic/errorAnalyzer.js';
24
+ export * from './generic/realtimeToolBatchBarrier.js';
22
25
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oCAAoC,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@memberjunction/ai",
3
3
  "type": "module",
4
- "version": "6.1.0-edge.6",
4
+ "version": "6.1.0-edge.7",
5
5
  "description": "MemberJunction: AI - core components for abstracting LLMs and other AI model types that are usable anywhere without ANY other MJ dependencies past @memberjunction/global which itself has zero additional dependencies.",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -11,7 +11,7 @@
11
11
  "author": "MemberJunction.com",
12
12
  "license": "BUSL-1.1",
13
13
  "dependencies": {
14
- "@memberjunction/global": "6.1.0-edge.6",
14
+ "@memberjunction/global": "6.1.0-edge.7",
15
15
  "dotenv": "^17.2.4",
16
16
  "rxjs": "^7.8.2"
17
17
  },