mojentic 1.2.4 → 1.5.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 (81) hide show
  1. package/dist/agents/async-dispatcher.d.ts +1 -0
  2. package/dist/agents/async-dispatcher.d.ts.map +1 -1
  3. package/dist/agents/async-dispatcher.js +6 -1
  4. package/dist/agents/async-dispatcher.js.map +1 -1
  5. package/dist/agents/simple-recursive-agent.d.ts +8 -0
  6. package/dist/agents/simple-recursive-agent.d.ts.map +1 -1
  7. package/dist/agents/simple-recursive-agent.js +35 -5
  8. package/dist/agents/simple-recursive-agent.js.map +1 -1
  9. package/dist/context/shared-working-memory.js +1 -1
  10. package/dist/context/shared-working-memory.js.map +1 -1
  11. package/dist/index.d.ts +1 -0
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +1 -0
  14. package/dist/index.js.map +1 -1
  15. package/dist/llm/broker.d.ts +10 -4
  16. package/dist/llm/broker.d.ts.map +1 -1
  17. package/dist/llm/broker.js +78 -68
  18. package/dist/llm/broker.js.map +1 -1
  19. package/dist/llm/gateways/openai-messages-adapter.js +3 -3
  20. package/dist/llm/gateways/openai-messages-adapter.js.map +1 -1
  21. package/dist/llm/gateways/openai-model-registry.d.ts.map +1 -1
  22. package/dist/llm/gateways/openai-model-registry.js +34 -1
  23. package/dist/llm/gateways/openai-model-registry.js.map +1 -1
  24. package/dist/llm/models.d.ts +2 -0
  25. package/dist/llm/models.d.ts.map +1 -1
  26. package/dist/llm/tools/index.d.ts +1 -0
  27. package/dist/llm/tools/index.d.ts.map +1 -1
  28. package/dist/llm/tools/index.js +1 -0
  29. package/dist/llm/tools/index.js.map +1 -1
  30. package/dist/llm/tools/runner.d.ts +89 -0
  31. package/dist/llm/tools/runner.d.ts.map +1 -0
  32. package/dist/llm/tools/runner.js +130 -0
  33. package/dist/llm/tools/runner.js.map +1 -0
  34. package/dist/llm/tools/tool.d.ts +18 -3
  35. package/dist/llm/tools/tool.d.ts.map +1 -1
  36. package/dist/llm/tools/tool.js.map +1 -1
  37. package/dist/realtime/broker.d.ts +40 -0
  38. package/dist/realtime/broker.d.ts.map +1 -0
  39. package/dist/realtime/broker.js +74 -0
  40. package/dist/realtime/broker.js.map +1 -0
  41. package/dist/realtime/config.d.ts +134 -0
  42. package/dist/realtime/config.d.ts.map +1 -0
  43. package/dist/realtime/config.js +23 -0
  44. package/dist/realtime/config.js.map +1 -0
  45. package/dist/realtime/events.d.ts +146 -0
  46. package/dist/realtime/events.d.ts.map +1 -0
  47. package/dist/realtime/events.js +10 -0
  48. package/dist/realtime/events.js.map +1 -0
  49. package/dist/realtime/gateway.d.ts +48 -0
  50. package/dist/realtime/gateway.d.ts.map +1 -0
  51. package/dist/realtime/gateway.js +9 -0
  52. package/dist/realtime/gateway.js.map +1 -0
  53. package/dist/realtime/index.d.ts +14 -0
  54. package/dist/realtime/index.d.ts.map +1 -0
  55. package/dist/realtime/index.js +30 -0
  56. package/dist/realtime/index.js.map +1 -0
  57. package/dist/realtime/openai-gateway.d.ts +39 -0
  58. package/dist/realtime/openai-gateway.d.ts.map +1 -0
  59. package/dist/realtime/openai-gateway.js +154 -0
  60. package/dist/realtime/openai-gateway.js.map +1 -0
  61. package/dist/realtime/schemas.d.ts +333 -0
  62. package/dist/realtime/schemas.d.ts.map +1 -0
  63. package/dist/realtime/schemas.js +243 -0
  64. package/dist/realtime/schemas.js.map +1 -0
  65. package/dist/realtime/session.d.ts +115 -0
  66. package/dist/realtime/session.d.ts.map +1 -0
  67. package/dist/realtime/session.js +715 -0
  68. package/dist/realtime/session.js.map +1 -0
  69. package/dist/realtime/transport.d.ts +87 -0
  70. package/dist/realtime/transport.d.ts.map +1 -0
  71. package/dist/realtime/transport.js +115 -0
  72. package/dist/realtime/transport.js.map +1 -0
  73. package/dist/tracer/tracerEvents.d.ts +23 -0
  74. package/dist/tracer/tracerEvents.d.ts.map +1 -1
  75. package/dist/tracer/tracerEvents.js +40 -1
  76. package/dist/tracer/tracerEvents.js.map +1 -1
  77. package/dist/tracer/tracerSystem.d.ts +16 -0
  78. package/dist/tracer/tracerSystem.d.ts.map +1 -1
  79. package/dist/tracer/tracerSystem.js +22 -0
  80. package/dist/tracer/tracerSystem.js.map +1 -1
  81. package/package.json +27 -14
@@ -0,0 +1,115 @@
1
+ /**
2
+ * Realtime session — the stateful surface exposed by {@link RealtimeVoiceBroker}.
3
+ *
4
+ * Owns the socket lifetime, demultiplexes raw server events into a
5
+ * vendor-neutral {@link RealtimeEvent} stream, and drives parallel tool
6
+ * execution per response turn.
7
+ */
8
+ import { Result } from '../error';
9
+ import { TracerSystem } from '../tracer';
10
+ import { ToolRunner } from '../llm/tools';
11
+ import { RealtimeVoiceConfig } from './config';
12
+ import { RealtimeEvent } from './events';
13
+ import { RealtimeGatewaySession, ServerRealtimeEvent } from './gateway';
14
+ /**
15
+ * Options accepted by {@link RealtimeSession}.
16
+ */
17
+ export interface RealtimeSessionOptions {
18
+ config: RealtimeVoiceConfig;
19
+ toolRunner?: ToolRunner;
20
+ tracer?: TracerSystem;
21
+ correlationId?: string;
22
+ }
23
+ /**
24
+ * Encode an `Int16Array` or `Uint8Array` of PCM samples as base64.
25
+ */
26
+ export declare function encodeBase64Pcm16(frame: Int16Array | Uint8Array): string;
27
+ /**
28
+ * Build a vendor-specific `session.update` payload from a vendor-neutral
29
+ * config, matching the OpenAI Realtime GA shape:
30
+ *
31
+ * - `session.type: "realtime"` is required.
32
+ * - Vendor-neutral `modalities` maps to GA `output_modalities`.
33
+ * - Voice + output audio format live under `session.audio.output`.
34
+ * - Turn detection, transcription, and input audio format live under
35
+ * `session.audio.input`.
36
+ * - `temperature` is no longer accepted on GA — silently dropped.
37
+ * - `maxResponseOutputTokens` maps to GA `max_output_tokens`.
38
+ */
39
+ export declare function buildSessionUpdate(config: RealtimeVoiceConfig): {
40
+ type: 'session.update';
41
+ session: Record<string, unknown>;
42
+ };
43
+ /**
44
+ * Stateful realtime session handle.
45
+ *
46
+ * Constructed by {@link RealtimeVoiceBroker}; users don't instantiate this
47
+ * directly.
48
+ */
49
+ export declare class RealtimeSession {
50
+ private readonly gatewaySession;
51
+ private readonly config;
52
+ private readonly tools;
53
+ private readonly toolRunner;
54
+ private readonly tracer?;
55
+ private readonly correlationId;
56
+ private readonly normalizedChannel;
57
+ private readonly rawChannel;
58
+ private readonly audioChannel;
59
+ private readonly pumpPromise;
60
+ private readonly pendingBatches;
61
+ private currentTurn?;
62
+ private currentResponseId?;
63
+ private closed;
64
+ private currentInstructions?;
65
+ constructor(gatewaySession: RealtimeGatewaySession, options: RealtimeSessionOptions);
66
+ /**
67
+ * Initialise the session by sending the `session.update`. Called once by
68
+ * the broker before returning the session to the caller.
69
+ */
70
+ initialise(): Promise<Result<void, Error>>;
71
+ /** Vendor-neutral event stream. Terminates when the session closes. */
72
+ events(): AsyncGenerator<RealtimeEvent>;
73
+ /** Raw server events for power users / debugging. */
74
+ rawEvents(): AsyncGenerator<ServerRealtimeEvent>;
75
+ /** Async generator yielding PCM frames from the assistant. */
76
+ audioOutput(): AsyncGenerator<Int16Array>;
77
+ /**
78
+ * Send a text-mode user message. Use this in text-only sessions and tests.
79
+ */
80
+ sendText(text: string): Promise<Result<void, Error>>;
81
+ /**
82
+ * Pipe an async iterable of PCM frames into the input audio buffer.
83
+ *
84
+ * Frames are encoded as base64 pcm16 and appended to the server VAD buffer.
85
+ * Returns once the iterable completes or the session closes.
86
+ */
87
+ sendAudio(stream: AsyncIterable<Int16Array | Uint8Array>): Promise<Result<void, Error>>;
88
+ /**
89
+ * Manually commit the input audio buffer (only meaningful with
90
+ * `turnDetection: 'none'`) and request a response.
91
+ */
92
+ commitAudio(): Promise<Result<void, Error>>;
93
+ /**
94
+ * Cancel the in-flight response, abort any in-flight tool execution, and
95
+ * fire an `interrupted` event with `reason: 'manual'`.
96
+ */
97
+ interrupt(): Promise<Result<void, Error>>;
98
+ /**
99
+ * Update the instructions used by future assistant turns. The change is
100
+ * sent immediately via a `session.update`.
101
+ */
102
+ updateInstructions(instructions: string): Promise<Result<void, Error>>;
103
+ /** Close the session, dispose the socket, and end all event streams. */
104
+ close(): Promise<void>;
105
+ /** Symbol.asyncDispose support for `await using` syntax. */
106
+ [Symbol.asyncDispose](): Promise<void>;
107
+ /** Effective instructions used in the most recent `session.update`. */
108
+ getInstructions(): string | undefined;
109
+ private pump;
110
+ private handleServerEvent;
111
+ private runToolBatchForTurn;
112
+ private selectOutputsToSubmit;
113
+ private cancelCurrentTurn;
114
+ }
115
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/realtime/session.ts"],"names":[],"mappings":"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"}