prefix-safe-json 0.0.1-alpha.3 → 0.1.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 (123) hide show
  1. package/LICENSE +4 -0
  2. package/README.md +72 -33
  3. package/package.json +8 -3
  4. package/dist/coordinator/coordinator.d.ts +0 -53
  5. package/dist/coordinator/coordinator.d.ts.map +0 -1
  6. package/dist/coordinator/coordinator.js +0 -448
  7. package/dist/coordinator/coordinator.js.map +0 -1
  8. package/dist/coordinator/diagnostic-codes.d.ts +0 -11
  9. package/dist/coordinator/diagnostic-codes.d.ts.map +0 -1
  10. package/dist/coordinator/diagnostic-codes.js +0 -22
  11. package/dist/coordinator/diagnostic-codes.js.map +0 -1
  12. package/dist/coordinator/protocol.d.ts +0 -61
  13. package/dist/coordinator/protocol.d.ts.map +0 -1
  14. package/dist/coordinator/protocol.js +0 -2
  15. package/dist/coordinator/protocol.js.map +0 -1
  16. package/dist/coordinator/types.d.ts +0 -104
  17. package/dist/coordinator/types.d.ts.map +0 -1
  18. package/dist/coordinator/types.js +0 -7
  19. package/dist/coordinator/types.js.map +0 -1
  20. package/dist/diagnostics/codes.d.ts +0 -24
  21. package/dist/diagnostics/codes.d.ts.map +0 -1
  22. package/dist/diagnostics/codes.js +0 -28
  23. package/dist/diagnostics/codes.js.map +0 -1
  24. package/dist/diagnostics/factory.d.ts +0 -8
  25. package/dist/diagnostics/factory.d.ts.map +0 -1
  26. package/dist/diagnostics/factory.js +0 -17
  27. package/dist/diagnostics/factory.js.map +0 -1
  28. package/dist/gate/decide.d.ts +0 -20
  29. package/dist/gate/decide.d.ts.map +0 -1
  30. package/dist/gate/decide.js +0 -127
  31. package/dist/gate/decide.js.map +0 -1
  32. package/dist/gate/gate.d.ts +0 -25
  33. package/dist/gate/gate.d.ts.map +0 -1
  34. package/dist/gate/gate.js +0 -80
  35. package/dist/gate/gate.js.map +0 -1
  36. package/dist/gate/types.d.ts +0 -122
  37. package/dist/gate/types.d.ts.map +0 -1
  38. package/dist/gate/types.js +0 -2
  39. package/dist/gate/types.js.map +0 -1
  40. package/dist/grammar/frame.d.ts +0 -58
  41. package/dist/grammar/frame.d.ts.map +0 -1
  42. package/dist/grammar/frame.js +0 -87
  43. package/dist/grammar/frame.js.map +0 -1
  44. package/dist/grammar/pointer.d.ts +0 -10
  45. package/dist/grammar/pointer.d.ts.map +0 -1
  46. package/dist/grammar/pointer.js +0 -20
  47. package/dist/grammar/pointer.js.map +0 -1
  48. package/dist/grammar/stack.d.ts +0 -73
  49. package/dist/grammar/stack.d.ts.map +0 -1
  50. package/dist/grammar/stack.js +0 -168
  51. package/dist/grammar/stack.js.map +0 -1
  52. package/dist/index.d.ts +0 -37
  53. package/dist/index.d.ts.map +0 -1
  54. package/dist/index.js +0 -37
  55. package/dist/index.js.map +0 -1
  56. package/dist/lexer/scanner.d.ts +0 -108
  57. package/dist/lexer/scanner.d.ts.map +0 -1
  58. package/dist/lexer/scanner.js +0 -676
  59. package/dist/lexer/scanner.js.map +0 -1
  60. package/dist/lexer/states.d.ts +0 -35
  61. package/dist/lexer/states.d.ts.map +0 -1
  62. package/dist/lexer/states.js +0 -39
  63. package/dist/lexer/states.js.map +0 -1
  64. package/dist/lexer/tokens.d.ts +0 -22
  65. package/dist/lexer/tokens.d.ts.map +0 -1
  66. package/dist/lexer/tokens.js +0 -22
  67. package/dist/lexer/tokens.js.map +0 -1
  68. package/dist/limits.d.ts +0 -14
  69. package/dist/limits.d.ts.map +0 -1
  70. package/dist/limits.js +0 -23
  71. package/dist/limits.js.map +0 -1
  72. package/dist/parser.d.ts +0 -6
  73. package/dist/parser.d.ts.map +0 -1
  74. package/dist/parser.js +0 -949
  75. package/dist/parser.js.map +0 -1
  76. package/dist/providers/adapter.d.ts +0 -10
  77. package/dist/providers/adapter.d.ts.map +0 -1
  78. package/dist/providers/adapter.js +0 -2
  79. package/dist/providers/adapter.js.map +0 -1
  80. package/dist/providers/ai-sdk.d.ts +0 -54
  81. package/dist/providers/ai-sdk.d.ts.map +0 -1
  82. package/dist/providers/ai-sdk.js +0 -191
  83. package/dist/providers/ai-sdk.js.map +0 -1
  84. package/dist/providers/anthropic.d.ts +0 -45
  85. package/dist/providers/anthropic.d.ts.map +0 -1
  86. package/dist/providers/anthropic.js +0 -112
  87. package/dist/providers/anthropic.js.map +0 -1
  88. package/dist/providers/gemini.d.ts +0 -31
  89. package/dist/providers/gemini.d.ts.map +0 -1
  90. package/dist/providers/gemini.js +0 -94
  91. package/dist/providers/gemini.js.map +0 -1
  92. package/dist/providers/openai-compatible.d.ts +0 -33
  93. package/dist/providers/openai-compatible.d.ts.map +0 -1
  94. package/dist/providers/openai-compatible.js +0 -160
  95. package/dist/providers/openai-compatible.js.map +0 -1
  96. package/dist/providers/openai.d.ts +0 -48
  97. package/dist/providers/openai.d.ts.map +0 -1
  98. package/dist/providers/openai.js +0 -205
  99. package/dist/providers/openai.js.map +0 -1
  100. package/dist/providers/openrouter.d.ts +0 -35
  101. package/dist/providers/openrouter.d.ts.map +0 -1
  102. package/dist/providers/openrouter.js +0 -55
  103. package/dist/providers/openrouter.js.map +0 -1
  104. package/dist/semantic/builder.d.ts +0 -55
  105. package/dist/semantic/builder.d.ts.map +0 -1
  106. package/dist/semantic/builder.js +0 -140
  107. package/dist/semantic/builder.js.map +0 -1
  108. package/dist/semantic/events.d.ts +0 -2
  109. package/dist/semantic/events.d.ts.map +0 -1
  110. package/dist/semantic/events.js +0 -5
  111. package/dist/semantic/events.js.map +0 -1
  112. package/dist/semantic/snapshot.d.ts +0 -49
  113. package/dist/semantic/snapshot.d.ts.map +0 -1
  114. package/dist/semantic/snapshot.js +0 -228
  115. package/dist/semantic/snapshot.js.map +0 -1
  116. package/dist/types.d.ts +0 -156
  117. package/dist/types.d.ts.map +0 -1
  118. package/dist/types.js +0 -5
  119. package/dist/types.js.map +0 -1
  120. package/dist/utf8/decoder.d.ts +0 -53
  121. package/dist/utf8/decoder.d.ts.map +0 -1
  122. package/dist/utf8/decoder.js +0 -323
  123. package/dist/utf8/decoder.js.map +0 -1
@@ -1,94 +0,0 @@
1
- export class GeminiStreamAdapter {
2
- provider = "gemini";
3
- sequence = 0;
4
- finished = false;
5
- push(rawEvent) {
6
- if (this.finished)
7
- return [];
8
- const events = [];
9
- if (!rawEvent || typeof rawEvent !== "object") {
10
- events.push({
11
- type: "provider_diagnostic",
12
- sequence: ++this.sequence,
13
- provider: this.provider,
14
- code: "E_PROVIDER_EVENT_MALFORMED",
15
- severity: "error",
16
- message: "Raw event is not an object",
17
- });
18
- return events;
19
- }
20
- const chunk = rawEvent;
21
- if (Array.isArray(chunk.candidates)) {
22
- for (const [candidateIndex, candidate] of chunk.candidates.entries()) {
23
- if (candidate.content && Array.isArray(candidate.content.parts)) {
24
- for (const [partIndex, part] of candidate.content.parts.entries()) {
25
- if (part.functionCall) {
26
- const fc = part.functionCall;
27
- const sourceKey = `candidate:${candidateIndex}/part:${partIndex}`;
28
- events.push({
29
- type: "tool_call_start",
30
- sequence: ++this.sequence,
31
- provider: this.provider,
32
- callRef: { sourceKey },
33
- name: fc.name,
34
- });
35
- if (fc.args) {
36
- // Gemini currently emits structured objects.
37
- // We serialize it to emulate a text delta, BUT it is documented in docs/providers/gemini.md
38
- // that this is NOT byte-level streaming. It is object-level final delivery.
39
- events.push({
40
- type: "tool_call_arguments_delta",
41
- sequence: ++this.sequence,
42
- provider: this.provider,
43
- callRef: { sourceKey },
44
- delta: JSON.stringify(fc.args),
45
- });
46
- }
47
- events.push({
48
- type: "tool_call_end",
49
- sequence: ++this.sequence,
50
- provider: this.provider,
51
- callRef: { sourceKey },
52
- reason: "complete",
53
- });
54
- }
55
- }
56
- }
57
- if (candidate.finishReason) {
58
- let reason = "unknown";
59
- if (candidate.finishReason === "STOP") {
60
- reason = "complete";
61
- }
62
- else if (candidate.finishReason === "MAX_TOKENS") {
63
- reason = "length";
64
- }
65
- else if (candidate.finishReason === "SAFETY" || candidate.finishReason === "RECITATION" || candidate.finishReason === "OTHER") {
66
- reason = "cancelled";
67
- }
68
- events.push({
69
- type: "provider_stream_end",
70
- sequence: ++this.sequence,
71
- provider: this.provider,
72
- reason,
73
- providerReason: candidate.finishReason,
74
- });
75
- this.finished = true;
76
- }
77
- }
78
- }
79
- return events;
80
- }
81
- finish(meta) {
82
- if (this.finished)
83
- return [];
84
- this.finished = true;
85
- return [{
86
- type: "provider_stream_end",
87
- sequence: ++this.sequence,
88
- provider: this.provider,
89
- reason: meta?.reason ?? "unknown",
90
- providerReason: meta?.providerReason,
91
- }];
92
- }
93
- }
94
- //# sourceMappingURL=gemini.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/providers/gemini.ts"],"names":[],"mappings":"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"}
@@ -1,33 +0,0 @@
1
- import { ProviderName, NormalizedToolStreamEvent, StreamEndReason } from "../coordinator/protocol.js";
2
- import { ProviderStreamAdapter } from "./adapter.js";
3
- interface OpenAIChoiceDelta {
4
- tool_calls?: Array<{
5
- index: number;
6
- id?: string;
7
- function?: {
8
- name?: string;
9
- arguments?: string;
10
- };
11
- }>;
12
- }
13
- interface OpenAIChoice {
14
- delta?: OpenAIChoiceDelta;
15
- finish_reason?: string | null;
16
- }
17
- export interface OpenAICompatibleEvent {
18
- choices?: OpenAIChoice[];
19
- }
20
- export declare class OpenAICompatibleStreamAdapter implements ProviderStreamAdapter<unknown> {
21
- readonly provider: ProviderName;
22
- private sequence;
23
- private knownIndices;
24
- private knownSourceKeys;
25
- private finished;
26
- push(rawEvent: unknown): readonly NormalizedToolStreamEvent[];
27
- finish(meta?: {
28
- reason?: StreamEndReason;
29
- providerReason?: string;
30
- }): readonly NormalizedToolStreamEvent[];
31
- }
32
- export {};
33
- //# sourceMappingURL=openai-compatible.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openai-compatible.d.ts","sourceRoot":"","sources":["../../src/providers/openai-compatible.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,yBAAyB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AACtG,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD,UAAU,iBAAiB;IACzB,UAAU,CAAC,EAAE,KAAK,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,QAAQ,CAAC,EAAE;YACT,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,SAAS,CAAC,EAAE,MAAM,CAAC;SACpB,CAAC;KACH,CAAC,CAAC;CACJ;AAED,UAAU,YAAY;IACpB,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;CAC1B;AAED,qBAAa,6BAA8B,YAAW,qBAAqB,CAAC,OAAO,CAAC;IAClF,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAuB;IACtD,OAAO,CAAC,QAAQ,CAAK;IAGrB,OAAO,CAAC,YAAY,CAA0B;IAE9C,OAAO,CAAC,eAAe,CAA0B;IAEjD,OAAO,CAAC,QAAQ,CAAS;IAEzB,IAAI,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,yBAAyB,EAAE;IAwI7D,MAAM,CAAC,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,eAAe,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,yBAAyB,EAAE;CAyB3G"}
@@ -1,160 +0,0 @@
1
- export class OpenAICompatibleStreamAdapter {
2
- provider = "openai-compatible";
3
- sequence = 0;
4
- // Track known indices to emit start events correctly
5
- knownIndices = new Set();
6
- // Keep track of sourceKeys to emit tool_call_end
7
- knownSourceKeys = new Set();
8
- finished = false;
9
- push(rawEvent) {
10
- if (this.finished) {
11
- return [{
12
- type: "provider_diagnostic",
13
- sequence: ++this.sequence,
14
- provider: this.provider,
15
- code: "W_EVENT_AFTER_STREAM_END",
16
- severity: "warning",
17
- message: "Received event after stream finished",
18
- }];
19
- }
20
- const events = [];
21
- // Narrow unknown
22
- if (!rawEvent || typeof rawEvent !== "object") {
23
- events.push({
24
- type: "provider_diagnostic",
25
- sequence: ++this.sequence,
26
- provider: this.provider,
27
- code: "E_PROVIDER_EVENT_MALFORMED",
28
- severity: "error",
29
- message: "Raw event is not an object",
30
- });
31
- return events;
32
- }
33
- const chunk = rawEvent;
34
- if (Array.isArray(chunk.choices)) {
35
- for (const choice of chunk.choices) {
36
- if (choice.delta && Array.isArray(choice.delta.tool_calls)) {
37
- for (const tc of choice.delta.tool_calls) {
38
- if (typeof tc.index !== "number") {
39
- events.push({
40
- type: "provider_diagnostic",
41
- sequence: ++this.sequence,
42
- provider: this.provider,
43
- code: "E_PROVIDER_EVENT_MALFORMED",
44
- severity: "error",
45
- message: "tool_call index is missing or invalid",
46
- });
47
- continue;
48
- }
49
- const sourceKey = `choice:0/tool-index:${tc.index}`;
50
- this.knownSourceKeys.add(sourceKey);
51
- if (!this.knownIndices.has(tc.index)) {
52
- this.knownIndices.add(tc.index);
53
- events.push({
54
- type: "tool_call_start",
55
- sequence: ++this.sequence,
56
- provider: this.provider,
57
- callRef: { sourceKey },
58
- toolIndex: tc.index,
59
- toolCallId: tc.id,
60
- name: tc.function?.name,
61
- });
62
- }
63
- else {
64
- // Send identity if ID provided late
65
- if (tc.id !== undefined) {
66
- events.push({
67
- type: "tool_call_identity",
68
- sequence: ++this.sequence,
69
- provider: this.provider,
70
- callRef: { sourceKey },
71
- toolCallId: tc.id,
72
- toolIndex: tc.index,
73
- });
74
- }
75
- // Name delta
76
- if (tc.function?.name) {
77
- events.push({
78
- type: "tool_call_name_delta",
79
- sequence: ++this.sequence,
80
- provider: this.provider,
81
- callRef: { sourceKey },
82
- delta: tc.function.name,
83
- });
84
- }
85
- }
86
- // Arguments delta
87
- if (tc.function?.arguments) {
88
- events.push({
89
- type: "tool_call_arguments_delta",
90
- sequence: ++this.sequence,
91
- provider: this.provider,
92
- callRef: { sourceKey },
93
- delta: tc.function.arguments,
94
- });
95
- }
96
- }
97
- }
98
- if (choice.finish_reason != null) {
99
- // Stream ending, interpret reason
100
- let reason = "unknown";
101
- if (choice.finish_reason === "stop" || choice.finish_reason === "tool_calls") {
102
- reason = "complete";
103
- }
104
- else if (choice.finish_reason === "length") {
105
- reason = "length";
106
- }
107
- else if (choice.finish_reason === "cancelled") {
108
- reason = "cancelled";
109
- }
110
- for (const sourceKey of this.knownSourceKeys.values()) {
111
- events.push({
112
- type: "tool_call_end",
113
- sequence: ++this.sequence,
114
- provider: this.provider,
115
- callRef: { sourceKey },
116
- reason: reason,
117
- providerReason: choice.finish_reason,
118
- });
119
- }
120
- this.knownSourceKeys.clear();
121
- events.push({
122
- type: "provider_stream_end",
123
- sequence: ++this.sequence,
124
- provider: this.provider,
125
- reason,
126
- providerReason: choice.finish_reason,
127
- });
128
- this.finished = true;
129
- }
130
- }
131
- }
132
- return events;
133
- }
134
- finish(meta) {
135
- if (this.finished)
136
- return [];
137
- this.finished = true;
138
- const events = [];
139
- for (const sourceKey of this.knownSourceKeys.values()) {
140
- events.push({
141
- type: "tool_call_end",
142
- sequence: ++this.sequence,
143
- provider: this.provider,
144
- callRef: { sourceKey },
145
- reason: meta?.reason ?? "unknown",
146
- providerReason: meta?.providerReason,
147
- });
148
- }
149
- this.knownSourceKeys.clear();
150
- events.push({
151
- type: "provider_stream_end",
152
- sequence: ++this.sequence,
153
- provider: this.provider,
154
- reason: meta?.reason ?? "unknown",
155
- providerReason: meta?.providerReason,
156
- });
157
- return events;
158
- }
159
- }
160
- //# sourceMappingURL=openai-compatible.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openai-compatible.js","sourceRoot":"","sources":["../../src/providers/openai-compatible.ts"],"names":[],"mappings":"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"}
@@ -1,48 +0,0 @@
1
- import { ProviderName, NormalizedToolStreamEvent, StreamEndReason } from "../coordinator/protocol.js";
2
- import { ProviderStreamAdapter } from "./adapter.js";
3
- interface OpenAIFunctionCallDelta {
4
- name?: string;
5
- arguments?: string;
6
- }
7
- interface OpenAIChoice {
8
- delta?: {
9
- function_call?: OpenAIFunctionCallDelta;
10
- tool_calls?: unknown;
11
- };
12
- finish_reason?: string | null;
13
- }
14
- export interface OpenAIEvent {
15
- choices?: OpenAIChoice[];
16
- type?: string;
17
- output_index?: number;
18
- item?: {
19
- type?: string;
20
- id?: string;
21
- call_id?: string;
22
- name?: string;
23
- arguments?: string;
24
- };
25
- item_id?: string;
26
- delta?: string;
27
- arguments?: string;
28
- response?: {
29
- status?: string;
30
- };
31
- }
32
- export declare class OpenAIStreamAdapter implements ProviderStreamAdapter<unknown> {
33
- readonly provider: ProviderName;
34
- private sequence;
35
- private compatibleAdapter;
36
- private hasLegacyFunctionCall;
37
- private legacySourceKey;
38
- private accumulatedArguments;
39
- private receivedDeltas;
40
- private finished;
41
- push(rawEvent: unknown): readonly NormalizedToolStreamEvent[];
42
- finish(meta?: {
43
- reason?: StreamEndReason;
44
- providerReason?: string;
45
- }): readonly NormalizedToolStreamEvent[];
46
- }
47
- export {};
48
- //# sourceMappingURL=openai.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,yBAAyB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AACtG,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAGrD,UAAU,uBAAuB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,YAAY;IACpB,KAAK,CAAC,EAAE;QACN,aAAa,CAAC,EAAE,uBAAuB,CAAC;QACxC,UAAU,CAAC,EAAE,OAAO,CAAC;KACtB,CAAC;IACF,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE;QACT,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED,qBAAa,mBAAoB,YAAW,qBAAqB,CAAC,OAAO,CAAC;IACxE,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAY;IAC3C,OAAO,CAAC,QAAQ,CAAK;IAGrB,OAAO,CAAC,iBAAiB,CAAuC;IAGhE,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,eAAe,CAA0B;IAGjD,OAAO,CAAC,oBAAoB,CAA6B;IACzD,OAAO,CAAC,cAAc,CAAqB;IAE3C,OAAO,CAAC,QAAQ,CAAS;IAEzB,IAAI,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,yBAAyB,EAAE;IAkL7D,MAAM,CAAC,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,eAAe,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,yBAAyB,EAAE;CAiB3G"}
@@ -1,205 +0,0 @@
1
- import { OpenAICompatibleStreamAdapter } from "./openai-compatible.js";
2
- export class OpenAIStreamAdapter {
3
- provider = "openai";
4
- sequence = 0;
5
- // Delegating tool_calls format to compatible adapter
6
- compatibleAdapter = new OpenAICompatibleStreamAdapter();
7
- // For function_call (legacy)
8
- hasLegacyFunctionCall = false;
9
- legacySourceKey = "legacy-function-call";
10
- // For Responses API
11
- accumulatedArguments = new Map();
12
- receivedDeltas = new Set();
13
- finished = false;
14
- push(rawEvent) {
15
- if (this.finished)
16
- return [];
17
- const events = [];
18
- if (!rawEvent || typeof rawEvent !== "object") {
19
- events.push({
20
- type: "provider_diagnostic",
21
- sequence: ++this.sequence,
22
- provider: this.provider,
23
- code: "E_PROVIDER_EVENT_MALFORMED",
24
- severity: "error",
25
- message: "Raw event is not an object",
26
- });
27
- return events;
28
- }
29
- const chunk = rawEvent;
30
- // Handle Responses API
31
- if (chunk.type?.startsWith("response.") || chunk.type === "error") {
32
- if (chunk.type === "error") {
33
- events.push({
34
- type: "provider_stream_end",
35
- sequence: ++this.sequence,
36
- provider: this.provider,
37
- reason: "provider_error",
38
- providerReason: "error",
39
- });
40
- this.finished = true;
41
- return events;
42
- }
43
- if (chunk.type === "response.output_item.added" && chunk.item?.type === "function_call" && chunk.item.id) {
44
- events.push({
45
- type: "tool_call_start",
46
- sequence: ++this.sequence,
47
- provider: this.provider,
48
- callRef: { sourceKey: `output-item:${chunk.item.id}` },
49
- toolCallId: chunk.item.call_id,
50
- name: chunk.item.name,
51
- });
52
- }
53
- else if (chunk.type === "response.function_call_arguments.delta" && chunk.item_id && chunk.delta) {
54
- this.receivedDeltas.add(chunk.item_id);
55
- const acc = this.accumulatedArguments.get(chunk.item_id) ?? "";
56
- this.accumulatedArguments.set(chunk.item_id, acc + chunk.delta);
57
- events.push({
58
- type: "tool_call_arguments_delta",
59
- sequence: ++this.sequence,
60
- provider: this.provider,
61
- callRef: { sourceKey: `output-item:${chunk.item_id}` },
62
- delta: chunk.delta,
63
- });
64
- }
65
- else if (chunk.type === "response.function_call_arguments.done" && chunk.item_id && chunk.arguments !== undefined) {
66
- const acc = this.accumulatedArguments.get(chunk.item_id) ?? "";
67
- const hasDeltas = this.receivedDeltas.has(chunk.item_id);
68
- if (!hasDeltas && chunk.arguments.length > 0) {
69
- // No deltas, just final arguments.
70
- events.push({
71
- type: "tool_call_arguments_delta",
72
- sequence: ++this.sequence,
73
- provider: this.provider,
74
- callRef: { sourceKey: `output-item:${chunk.item_id}` },
75
- delta: chunk.arguments,
76
- });
77
- this.accumulatedArguments.set(chunk.item_id, chunk.arguments);
78
- }
79
- else if (hasDeltas && chunk.arguments !== acc) {
80
- events.push({
81
- type: "provider_diagnostic",
82
- sequence: ++this.sequence,
83
- provider: this.provider,
84
- callRef: { sourceKey: `output-item:${chunk.item_id}` },
85
- code: "E_FINAL_ARGUMENTS_CONFLICT",
86
- severity: "error",
87
- message: "Final arguments do not match accumulated deltas",
88
- });
89
- }
90
- }
91
- else if (chunk.type === "response.output_item.done" && chunk.item?.id) {
92
- events.push({
93
- type: "tool_call_end",
94
- sequence: ++this.sequence,
95
- provider: this.provider,
96
- callRef: { sourceKey: `output-item:${chunk.item.id}` },
97
- reason: "complete", // Default complete for item done
98
- });
99
- }
100
- else if (chunk.type === "response.completed") {
101
- events.push({
102
- type: "provider_stream_end",
103
- sequence: ++this.sequence,
104
- provider: this.provider,
105
- reason: "complete",
106
- providerReason: chunk.response?.status,
107
- });
108
- this.finished = true;
109
- }
110
- else if (chunk.type === "response.incomplete") {
111
- events.push({
112
- type: "provider_stream_end",
113
- sequence: ++this.sequence,
114
- provider: this.provider,
115
- reason: "cancelled", // Incomplete treated as cancelled
116
- providerReason: chunk.response?.status,
117
- });
118
- this.finished = true;
119
- }
120
- return events;
121
- }
122
- // Check if it's the standard tool_calls format
123
- if (chunk.choices?.[0]?.delta?.tool_calls !== undefined) {
124
- // Delegate to OpenAICompatibleStreamAdapter
125
- const compatibleEvents = this.compatibleAdapter.push(rawEvent);
126
- // Map provider name to "openai"
127
- return compatibleEvents.map(e => ({ ...e, provider: this.provider, sequence: ++this.sequence }));
128
- }
129
- // Handle legacy function_call format
130
- if (Array.isArray(chunk.choices)) {
131
- for (const choice of chunk.choices) {
132
- if (choice.delta?.function_call) {
133
- const fc = choice.delta.function_call;
134
- if (!this.hasLegacyFunctionCall) {
135
- this.hasLegacyFunctionCall = true;
136
- events.push({
137
- type: "tool_call_start",
138
- sequence: ++this.sequence,
139
- provider: this.provider,
140
- callRef: { sourceKey: this.legacySourceKey },
141
- toolIndex: 0,
142
- name: fc.name,
143
- });
144
- }
145
- else if (fc.name) {
146
- events.push({
147
- type: "tool_call_name_delta",
148
- sequence: ++this.sequence,
149
- provider: this.provider,
150
- callRef: { sourceKey: this.legacySourceKey },
151
- delta: fc.name,
152
- });
153
- }
154
- if (fc.arguments) {
155
- events.push({
156
- type: "tool_call_arguments_delta",
157
- sequence: ++this.sequence,
158
- provider: this.provider,
159
- callRef: { sourceKey: this.legacySourceKey },
160
- delta: fc.arguments,
161
- });
162
- }
163
- }
164
- if (choice.finish_reason != null) {
165
- let reason = "unknown";
166
- if (choice.finish_reason === "stop" || choice.finish_reason === "function_call" || choice.finish_reason === "tool_calls") {
167
- reason = "complete";
168
- }
169
- else if (choice.finish_reason === "length") {
170
- reason = "length";
171
- }
172
- else if (choice.finish_reason === "cancelled") {
173
- reason = "cancelled";
174
- }
175
- events.push({
176
- type: "provider_stream_end",
177
- sequence: ++this.sequence,
178
- provider: this.provider,
179
- reason,
180
- providerReason: choice.finish_reason,
181
- });
182
- this.finished = true;
183
- }
184
- }
185
- }
186
- return events;
187
- }
188
- finish(meta) {
189
- if (this.finished)
190
- return [];
191
- this.finished = true;
192
- const compatibleEvents = this.compatibleAdapter.finish(meta);
193
- if (compatibleEvents.length > 0 && !this.hasLegacyFunctionCall) {
194
- return compatibleEvents.map(e => ({ ...e, provider: this.provider, sequence: ++this.sequence }));
195
- }
196
- return [{
197
- type: "provider_stream_end",
198
- sequence: ++this.sequence,
199
- provider: this.provider,
200
- reason: meta?.reason ?? "unknown",
201
- providerReason: meta?.providerReason,
202
- }];
203
- }
204
- }
205
- //# sourceMappingURL=openai.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"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"}
@@ -1,35 +0,0 @@
1
- import { ProviderName, NormalizedToolStreamEvent, StreamEndReason } from "../coordinator/protocol.js";
2
- import { ProviderStreamAdapter } from "./adapter.js";
3
- export interface OpenRouterChoice {
4
- index?: number;
5
- delta?: {
6
- tool_calls?: Array<{
7
- index?: number;
8
- id?: string;
9
- type?: string;
10
- function?: {
11
- name?: string;
12
- arguments?: string;
13
- };
14
- }>;
15
- reasoning?: string;
16
- };
17
- finish_reason?: string | null;
18
- error?: unknown;
19
- }
20
- export interface OpenRouterEvent {
21
- choices?: OpenRouterChoice[];
22
- error?: unknown;
23
- }
24
- export declare class OpenRouterStreamAdapter implements ProviderStreamAdapter<unknown> {
25
- readonly provider: ProviderName;
26
- private sequence;
27
- private compatibleAdapter;
28
- private finished;
29
- push(rawEvent: unknown): readonly NormalizedToolStreamEvent[];
30
- finish(meta?: {
31
- reason?: StreamEndReason;
32
- providerReason?: string;
33
- }): readonly NormalizedToolStreamEvent[];
34
- }
35
- //# sourceMappingURL=openrouter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openrouter.d.ts","sourceRoot":"","sources":["../../src/providers/openrouter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,yBAAyB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AACtG,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAGrD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE;QACN,UAAU,CAAC,EAAE,KAAK,CAAC;YACjB,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,EAAE,CAAC,EAAE,MAAM,CAAC;YACZ,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,QAAQ,CAAC,EAAE;gBAAE,IAAI,CAAC,EAAE,MAAM,CAAC;gBAAC,SAAS,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC;SAClD,CAAC,CAAC;QACH,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,qBAAa,uBAAwB,YAAW,qBAAqB,CAAC,OAAO,CAAC;IAC5E,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAK;IAGrB,OAAO,CAAC,iBAAiB,CAAuC;IAChE,OAAO,CAAC,QAAQ,CAAS;IAEzB,IAAI,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,yBAAyB,EAAE;IA4C7D,MAAM,CAAC,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,eAAe,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,yBAAyB,EAAE;CAO3G"}