@particle-academy/prism 0.0.0 → 0.2.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.
- package/LICENSE +21 -21
- package/README.md +155 -155
- package/dist/internal/url.d.ts +10 -0
- package/dist/internal/url.d.ts.map +1 -0
- package/dist/internal/url.js +16 -0
- package/dist/internal/url.js.map +1 -0
- package/dist/providers/anthropic/anthropic.d.ts.map +1 -1
- package/dist/providers/anthropic/anthropic.js +3 -2
- package/dist/providers/anthropic/anthropic.js.map +1 -1
- package/dist/providers/anthropic/build-request-body.d.ts.map +1 -1
- package/dist/providers/anthropic/build-request-body.js +58 -5
- package/dist/providers/anthropic/build-request-body.js.map +1 -1
- package/dist/providers/anthropic/maps/media-map.js +4 -1
- package/dist/providers/anthropic/maps/media-map.js.map +1 -1
- package/dist/providers/anthropic/maps/message-map.js +7 -0
- package/dist/providers/anthropic/maps/message-map.js.map +1 -1
- package/dist/providers/anthropic/parse-response.d.ts.map +1 -1
- package/dist/providers/anthropic/parse-response.js +37 -12
- package/dist/providers/anthropic/parse-response.js.map +1 -1
- package/dist/providers/mistral/mistral.d.ts.map +1 -1
- package/dist/providers/mistral/mistral.js +2 -1
- package/dist/providers/mistral/mistral.js.map +1 -1
- package/dist/providers/mistral/parse-response.d.ts.map +1 -1
- package/dist/providers/mistral/parse-response.js +21 -3
- package/dist/providers/mistral/parse-response.js.map +1 -1
- package/dist/providers/openai/openai.d.ts.map +1 -1
- package/dist/providers/openai/openai.js +10 -9
- package/dist/providers/openai/openai.js.map +1 -1
- package/dist/providers/openai/parse-response.d.ts.map +1 -1
- package/dist/providers/openai/parse-response.js +53 -0
- package/dist/providers/openai/parse-response.js.map +1 -1
- package/dist/structured/extract.js +24 -2
- package/dist/structured/extract.js.map +1 -1
- package/package.json +2 -1
package/LICENSE
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2024 TJ MIller
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 TJ MIller
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,155 +1,155 @@
|
|
|
1
|
-
# @particle-academy/prism
|
|
2
|
-
|
|
3
|
-
A TypeScript port of [Prism](https://github.com/Particle-Academy/prism), the
|
|
4
|
-
PHP/Laravel unified API layer over LLM providers.
|
|
5
|
-
|
|
6
|
-
Real TypeScript: promises, discriminated unions, strict null checking. What it
|
|
7
|
-
is *not* is a transliteration — the idioms are this language's. What crosses the
|
|
8
|
-
wire, and what comes back, is identical.
|
|
9
|
-
|
|
10
|
-
> **Working on this package?** Read **[`AGENTS.md`](AGENTS.md)** first — the boundary
|
|
11
|
-
> this package has to hold, the gates that must be green, and the traps that have
|
|
12
|
-
> already caught someone.
|
|
13
|
-
> `@link AGENTS.md`
|
|
14
|
-
|
|
15
|
-
## Scope
|
|
16
|
-
|
|
17
|
-
**Every capability the reference has**, and three of its eighteen providers.
|
|
18
|
-
That is the shape of the remaining drift: one axis, not two.
|
|
19
|
-
|
|
20
|
-
- **Capabilities — all of them.** `text`, `structured`, `stream`, `embeddings`,
|
|
21
|
-
`images`, `moderation`, `audio` (`textToSpeech` and `speechToText`), `files`,
|
|
22
|
-
`batch`, `fim`. A user message carries images and documents, and each provider
|
|
23
|
-
spells them its own way.
|
|
24
|
-
- **Providers — `anthropic`, `mistral`, `openai`.** The OpenAI provider speaks
|
|
25
|
-
the **Responses API**; Mistral brings the chat-completions shape, which is a
|
|
26
|
-
different wire format rather than a variant of it.
|
|
27
|
-
|
|
28
|
-
Not included, and not stubbed: **the tool-execution loop** — a response that
|
|
29
|
-
finishes on tool calls is refused with `tool_loop_not_supported` rather than
|
|
30
|
-
half-executed — and the fifteen providers the reference has and this port does
|
|
31
|
-
not. Asking for one fails with the `unsupported_provider_action` code rather
|
|
32
|
-
than returning something plausible.
|
|
33
|
-
|
|
34
|
-
Not every capability reaches every provider, because not every provider has one.
|
|
35
|
-
`images`, `moderation`, `textToSpeech`, `files` and `batch` are OpenAI-only
|
|
36
|
-
here, and `fim` is Mistral-only because Mistral is the only provider that
|
|
37
|
-
implements it at all — in the reference as well. See the envelope's port gaps
|
|
38
|
-
register for which of those are work someone could do and which are facts about
|
|
39
|
-
the provider.
|
|
40
|
-
|
|
41
|
-
Every value object serialises **and rebuilds** — `toObject()` and a static
|
|
42
|
-
`fromObject()`. The PHP package has only the first half, which left each consumer
|
|
43
|
-
to invent the second; one of those inventions shipped a defect that corrupted
|
|
44
|
-
stored assistant messages. Both halves ship here, and the rebuild direction is
|
|
45
|
-
pinned by fixtures.
|
|
46
|
-
|
|
47
|
-
Failures carry a stable `code` (`PrismError.code`). The prose is not part of the
|
|
48
|
-
contract and will change; the code will not.
|
|
49
|
-
|
|
50
|
-
## Install
|
|
51
|
-
|
|
52
|
-
```sh
|
|
53
|
-
npm install @particle-academy/prism
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
Node 20 or newer.
|
|
57
|
-
|
|
58
|
-
## Usage
|
|
59
|
-
|
|
60
|
-
```ts
|
|
61
|
-
import { Prism } from '@particle-academy/prism';
|
|
62
|
-
|
|
63
|
-
const response = await Prism.text()
|
|
64
|
-
.using('openai', 'gpt-4o')
|
|
65
|
-
.withSystemPrompt('You are terse.')
|
|
66
|
-
.withPrompt('Who are you?')
|
|
67
|
-
.asText();
|
|
68
|
-
|
|
69
|
-
console.log(response.text);
|
|
70
|
-
console.log(response.usage.promptTokens, response.usage.completionTokens);
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
Configuration is explicit first, environment second — `OPENAI_API_KEY`,
|
|
74
|
-
`OPENAI_URL`, `OPENAI_ORGANIZATION`, `OPENAI_PROJECT`:
|
|
75
|
-
|
|
76
|
-
```ts
|
|
77
|
-
Prism.text().using('openai', 'gpt-4o', { apiKey: 'sk-…', transport });
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
`transport` is the seam between the provider and the network. Pass one and no
|
|
81
|
-
test ever touches a socket:
|
|
82
|
-
|
|
83
|
-
```ts
|
|
84
|
-
import type { HttpTransport } from '@particle-academy/prism';
|
|
85
|
-
|
|
86
|
-
const transport: HttpTransport = async (request) => ({
|
|
87
|
-
status: 200,
|
|
88
|
-
headers: {},
|
|
89
|
-
body: recordedPayload,
|
|
90
|
-
rawBody: JSON.stringify(recordedPayload),
|
|
91
|
-
});
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
Build a request without sending it, or parse a stored payload without HTTP:
|
|
95
|
-
|
|
96
|
-
```ts
|
|
97
|
-
import { buildRequestBody, canonicalJson, parseTextResponse } from '@particle-academy/prism';
|
|
98
|
-
|
|
99
|
-
const request = Prism.text().using('openai', 'gpt-4o').withPrompt('hi').toRequest();
|
|
100
|
-
|
|
101
|
-
canonicalJson(buildRequestBody(request)); // exactly the bytes that would be POSTed
|
|
102
|
-
parseTextResponse(request, recordedPayload); // the same parse a live call performs
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
## Parity
|
|
106
|
-
|
|
107
|
-
This port's behaviour is not defined by its own tests. It is pinned by
|
|
108
|
-
[**prism-parity**](https://github.com/Particle-Academy/prism-parity) — a
|
|
109
|
-
language-independent conformance corpus generated by executing the PHP
|
|
110
|
-
reference, which states the rules once so three implementations cannot each
|
|
111
|
-
drift into their own reading of them.
|
|
112
|
-
|
|
113
|
-
The corpus and its loader install as `@particle-academy/prism-conformance`. The
|
|
114
|
-
runner lives in [`conformance/runner.mjs`](conformance/runner.mjs) and implements
|
|
115
|
-
prism-parity's subprocess contract, so `scripts/cross-check.mjs` can run this
|
|
116
|
-
port and the others side by side and require **identical verdicts** — a stronger
|
|
117
|
-
claim than three suites that each went green alone.
|
|
118
|
-
|
|
119
|
-
```sh
|
|
120
|
-
git clone https://github.com/Particle-Academy/prism-parity .parity
|
|
121
|
-
npm install ./.parity/loaders/ts
|
|
122
|
-
npm run conformance # every suite
|
|
123
|
-
node conformance/runner.mjs --suite openai-text-request
|
|
124
|
-
node conformance/runner.mjs --probe omit-null-keys
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
Two rows diverge from the reference on purpose, and the corpus says which and
|
|
128
|
-
why: `trq-0021` and `trq-0022`, where the reference drops a prompt of `""` or
|
|
129
|
-
`"0"` and this port sends it. Read the corpus for the rest — restating its rules
|
|
130
|
-
here would only give them somewhere to drift.
|
|
131
|
-
|
|
132
|
-
### Probes
|
|
133
|
-
|
|
134
|
-
`--probe` runs the port with one deliberate defect injected, from the corpus's
|
|
135
|
-
`probes/probes.json`. Each probe declares the exact set of case ids it must fail,
|
|
136
|
-
and [`tests/probes.test.ts`](tests/probes.test.ts) asserts the observed set
|
|
137
|
-
*equals* it — not that it is non-empty. A table every plausible implementation
|
|
138
|
-
passes measures nothing.
|
|
139
|
-
|
|
140
|
-
The mutants live in [`conformance/mutations.mjs`](conformance/mutations.mjs),
|
|
141
|
-
outside `src/`: a defect you can switch on in production is a defect.
|
|
142
|
-
|
|
143
|
-
## Development
|
|
144
|
-
|
|
145
|
-
```sh
|
|
146
|
-
npm run build # tsc → dist/
|
|
147
|
-
npm run typecheck
|
|
148
|
-
npm run lint
|
|
149
|
-
npm test
|
|
150
|
-
npm run conformance
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
## License
|
|
154
|
-
|
|
155
|
-
MIT. See [LICENSE](LICENSE).
|
|
1
|
+
# @particle-academy/prism
|
|
2
|
+
|
|
3
|
+
A TypeScript port of [Prism](https://github.com/Particle-Academy/prism), the
|
|
4
|
+
PHP/Laravel unified API layer over LLM providers.
|
|
5
|
+
|
|
6
|
+
Real TypeScript: promises, discriminated unions, strict null checking. What it
|
|
7
|
+
is *not* is a transliteration — the idioms are this language's. What crosses the
|
|
8
|
+
wire, and what comes back, is identical.
|
|
9
|
+
|
|
10
|
+
> **Working on this package?** Read **[`AGENTS.md`](AGENTS.md)** first — the boundary
|
|
11
|
+
> this package has to hold, the gates that must be green, and the traps that have
|
|
12
|
+
> already caught someone.
|
|
13
|
+
> `@link AGENTS.md`
|
|
14
|
+
|
|
15
|
+
## Scope
|
|
16
|
+
|
|
17
|
+
**Every capability the reference has**, and three of its eighteen providers.
|
|
18
|
+
That is the shape of the remaining drift: one axis, not two.
|
|
19
|
+
|
|
20
|
+
- **Capabilities — all of them.** `text`, `structured`, `stream`, `embeddings`,
|
|
21
|
+
`images`, `moderation`, `audio` (`textToSpeech` and `speechToText`), `files`,
|
|
22
|
+
`batch`, `fim`. A user message carries images and documents, and each provider
|
|
23
|
+
spells them its own way.
|
|
24
|
+
- **Providers — `anthropic`, `mistral`, `openai`.** The OpenAI provider speaks
|
|
25
|
+
the **Responses API**; Mistral brings the chat-completions shape, which is a
|
|
26
|
+
different wire format rather than a variant of it.
|
|
27
|
+
|
|
28
|
+
Not included, and not stubbed: **the tool-execution loop** — a response that
|
|
29
|
+
finishes on tool calls is refused with `tool_loop_not_supported` rather than
|
|
30
|
+
half-executed — and the fifteen providers the reference has and this port does
|
|
31
|
+
not. Asking for one fails with the `unsupported_provider_action` code rather
|
|
32
|
+
than returning something plausible.
|
|
33
|
+
|
|
34
|
+
Not every capability reaches every provider, because not every provider has one.
|
|
35
|
+
`images`, `moderation`, `textToSpeech`, `files` and `batch` are OpenAI-only
|
|
36
|
+
here, and `fim` is Mistral-only because Mistral is the only provider that
|
|
37
|
+
implements it at all — in the reference as well. See the envelope's port gaps
|
|
38
|
+
register for which of those are work someone could do and which are facts about
|
|
39
|
+
the provider.
|
|
40
|
+
|
|
41
|
+
Every value object serialises **and rebuilds** — `toObject()` and a static
|
|
42
|
+
`fromObject()`. The PHP package has only the first half, which left each consumer
|
|
43
|
+
to invent the second; one of those inventions shipped a defect that corrupted
|
|
44
|
+
stored assistant messages. Both halves ship here, and the rebuild direction is
|
|
45
|
+
pinned by fixtures.
|
|
46
|
+
|
|
47
|
+
Failures carry a stable `code` (`PrismError.code`). The prose is not part of the
|
|
48
|
+
contract and will change; the code will not.
|
|
49
|
+
|
|
50
|
+
## Install
|
|
51
|
+
|
|
52
|
+
```sh
|
|
53
|
+
npm install @particle-academy/prism
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Node 20 or newer.
|
|
57
|
+
|
|
58
|
+
## Usage
|
|
59
|
+
|
|
60
|
+
```ts
|
|
61
|
+
import { Prism } from '@particle-academy/prism';
|
|
62
|
+
|
|
63
|
+
const response = await Prism.text()
|
|
64
|
+
.using('openai', 'gpt-4o')
|
|
65
|
+
.withSystemPrompt('You are terse.')
|
|
66
|
+
.withPrompt('Who are you?')
|
|
67
|
+
.asText();
|
|
68
|
+
|
|
69
|
+
console.log(response.text);
|
|
70
|
+
console.log(response.usage.promptTokens, response.usage.completionTokens);
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Configuration is explicit first, environment second — `OPENAI_API_KEY`,
|
|
74
|
+
`OPENAI_URL`, `OPENAI_ORGANIZATION`, `OPENAI_PROJECT`:
|
|
75
|
+
|
|
76
|
+
```ts
|
|
77
|
+
Prism.text().using('openai', 'gpt-4o', { apiKey: 'sk-…', transport });
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
`transport` is the seam between the provider and the network. Pass one and no
|
|
81
|
+
test ever touches a socket:
|
|
82
|
+
|
|
83
|
+
```ts
|
|
84
|
+
import type { HttpTransport } from '@particle-academy/prism';
|
|
85
|
+
|
|
86
|
+
const transport: HttpTransport = async (request) => ({
|
|
87
|
+
status: 200,
|
|
88
|
+
headers: {},
|
|
89
|
+
body: recordedPayload,
|
|
90
|
+
rawBody: JSON.stringify(recordedPayload),
|
|
91
|
+
});
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Build a request without sending it, or parse a stored payload without HTTP:
|
|
95
|
+
|
|
96
|
+
```ts
|
|
97
|
+
import { buildRequestBody, canonicalJson, parseTextResponse } from '@particle-academy/prism';
|
|
98
|
+
|
|
99
|
+
const request = Prism.text().using('openai', 'gpt-4o').withPrompt('hi').toRequest();
|
|
100
|
+
|
|
101
|
+
canonicalJson(buildRequestBody(request)); // exactly the bytes that would be POSTed
|
|
102
|
+
parseTextResponse(request, recordedPayload); // the same parse a live call performs
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## Parity
|
|
106
|
+
|
|
107
|
+
This port's behaviour is not defined by its own tests. It is pinned by
|
|
108
|
+
[**prism-parity**](https://github.com/Particle-Academy/prism-parity) — a
|
|
109
|
+
language-independent conformance corpus generated by executing the PHP
|
|
110
|
+
reference, which states the rules once so three implementations cannot each
|
|
111
|
+
drift into their own reading of them.
|
|
112
|
+
|
|
113
|
+
The corpus and its loader install as `@particle-academy/prism-conformance`. The
|
|
114
|
+
runner lives in [`conformance/runner.mjs`](conformance/runner.mjs) and implements
|
|
115
|
+
prism-parity's subprocess contract, so `scripts/cross-check.mjs` can run this
|
|
116
|
+
port and the others side by side and require **identical verdicts** — a stronger
|
|
117
|
+
claim than three suites that each went green alone.
|
|
118
|
+
|
|
119
|
+
```sh
|
|
120
|
+
git clone https://github.com/Particle-Academy/prism-parity .parity
|
|
121
|
+
npm install ./.parity/loaders/ts
|
|
122
|
+
npm run conformance # every suite
|
|
123
|
+
node conformance/runner.mjs --suite openai-text-request
|
|
124
|
+
node conformance/runner.mjs --probe omit-null-keys
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
Two rows diverge from the reference on purpose, and the corpus says which and
|
|
128
|
+
why: `trq-0021` and `trq-0022`, where the reference drops a prompt of `""` or
|
|
129
|
+
`"0"` and this port sends it. Read the corpus for the rest — restating its rules
|
|
130
|
+
here would only give them somewhere to drift.
|
|
131
|
+
|
|
132
|
+
### Probes
|
|
133
|
+
|
|
134
|
+
`--probe` runs the port with one deliberate defect injected, from the corpus's
|
|
135
|
+
`probes/probes.json`. Each probe declares the exact set of case ids it must fail,
|
|
136
|
+
and [`tests/probes.test.ts`](tests/probes.test.ts) asserts the observed set
|
|
137
|
+
*equals* it — not that it is non-empty. A table every plausible implementation
|
|
138
|
+
passes measures nothing.
|
|
139
|
+
|
|
140
|
+
The mutants live in [`conformance/mutations.mjs`](conformance/mutations.mjs),
|
|
141
|
+
outside `src/`: a defect you can switch on in production is a defect.
|
|
142
|
+
|
|
143
|
+
## Development
|
|
144
|
+
|
|
145
|
+
```sh
|
|
146
|
+
npm run build # tsc → dist/
|
|
147
|
+
npm run typecheck
|
|
148
|
+
npm run lint
|
|
149
|
+
npm test
|
|
150
|
+
npm run conformance
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
## License
|
|
154
|
+
|
|
155
|
+
MIT. See [LICENSE](LICENSE).
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A URL with every trailing slash removed, in one pass.
|
|
3
|
+
*
|
|
4
|
+
* Not `replace(/\/+$/, '')`. That pattern retries from every slash in a run and
|
|
5
|
+
* rescans the rest of it each time, so a string of slashes followed by anything
|
|
6
|
+
* else costs quadratic time: 40,000 slashes take about a second. The PHP
|
|
7
|
+
* reference uses `rtrim($url, '/')`, which is linear.
|
|
8
|
+
*/
|
|
9
|
+
export declare function withoutTrailingSlashes(url: string): string;
|
|
10
|
+
//# sourceMappingURL=url.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../src/internal/url.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQ1D"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A URL with every trailing slash removed, in one pass.
|
|
3
|
+
*
|
|
4
|
+
* Not `replace(/\/+$/, '')`. That pattern retries from every slash in a run and
|
|
5
|
+
* rescans the rest of it each time, so a string of slashes followed by anything
|
|
6
|
+
* else costs quadratic time: 40,000 slashes take about a second. The PHP
|
|
7
|
+
* reference uses `rtrim($url, '/')`, which is linear.
|
|
8
|
+
*/
|
|
9
|
+
export function withoutTrailingSlashes(url) {
|
|
10
|
+
let end = url.length;
|
|
11
|
+
while (end > 0 && url.charCodeAt(end - 1) === 0x2f) {
|
|
12
|
+
end -= 1;
|
|
13
|
+
}
|
|
14
|
+
return url.slice(0, end);
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=url.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"url.js","sourceRoot":"","sources":["../../src/internal/url.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAAW;IAChD,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC;IAErB,OAAO,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACnD,GAAG,IAAI,CAAC,CAAC;IACX,CAAC;IAED,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC3B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../../src/providers/anthropic/anthropic.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAG7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../../src/providers/anthropic/anthropic.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAG7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAM1C,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,eAAe,CAAC,EAAE,mBAAmB,CAAC;CACvC;AAcD;;;;;;GAMG;AACH,qBAAa,SAAU,SAAQ,QAAQ;;IACrC,SAAkB,YAAY,eAAe;IAE7C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAErB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;gBAMzB,MAAM,GAAE,eAAoB;IAWzB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAmBhE;;;;;;;;OAQG;IACa,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,cAAc,CAAC,WAAW,CAAC;IA2BzE;;;;;;;;;;;;;OAaG;IACY,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAMlF;;;;OAIG;IACH,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAgBlC"}
|
|
@@ -9,6 +9,7 @@ import { Provider } from '../provider.js';
|
|
|
9
9
|
import { buildRequestBody } from './build-request-body.js';
|
|
10
10
|
import { parseTextResponse } from './parse-response.js';
|
|
11
11
|
import { parseRateLimits } from './rate-limits.js';
|
|
12
|
+
import { withoutTrailingSlashes } from '../../internal/url.js';
|
|
12
13
|
const DEFAULT_URL = 'https://api.anthropic.com/v1';
|
|
13
14
|
/**
|
|
14
15
|
* Pinned rather than tracking latest.
|
|
@@ -45,7 +46,7 @@ export class Anthropic extends Provider {
|
|
|
45
46
|
}
|
|
46
47
|
async text(request) {
|
|
47
48
|
const response = await this.#transport({
|
|
48
|
-
url: `${this.url
|
|
49
|
+
url: `${withoutTrailingSlashes(this.url)}/messages`,
|
|
49
50
|
method: 'POST',
|
|
50
51
|
headers: this.headers(),
|
|
51
52
|
body: canonicalJson(buildRequestBody(request)),
|
|
@@ -70,7 +71,7 @@ export class Anthropic extends Provider {
|
|
|
70
71
|
*/
|
|
71
72
|
async *stream(request) {
|
|
72
73
|
const response = await this.#streamTransport({
|
|
73
|
-
url: `${this.url
|
|
74
|
+
url: `${withoutTrailingSlashes(this.url)}/messages`,
|
|
74
75
|
method: 'POST',
|
|
75
76
|
headers: { ...this.headers(), Accept: 'text/event-stream' },
|
|
76
77
|
body: canonicalJson({ ...buildRequestBody(request), stream: true }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../../src/providers/anthropic/anthropic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAGpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAE3E,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAG/E,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAG3D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../../src/providers/anthropic/anthropic.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-request-body.d.ts","sourceRoot":"","sources":["../../../src/providers/anthropic/build-request-body.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"build-request-body.d.ts","sourceRoot":"","sources":["../../../src/providers/anthropic/build-request-body.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAa,MAAM,eAAe,CAAC;AAE3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAkBzD;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,WAAW,GAAG,UAAU,CA4BjE"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isJsonObject } from '../../json.js';
|
|
1
2
|
import { whereNotNull } from '../../internal/filters.js';
|
|
2
3
|
import { mapMessages, mapSystem } from './maps/message-map.js';
|
|
3
4
|
import { mapToolChoice } from './maps/tool-choice-map.js';
|
|
@@ -11,6 +12,8 @@ import { mapTools } from './maps/tool-map.js';
|
|
|
11
12
|
* caller genuinely wanted a long answer and should say so.
|
|
12
13
|
*/
|
|
13
14
|
const DEFAULT_MAX_TOKENS = 4096;
|
|
15
|
+
/** Anthropic's minimum thinking budget, and the reference's default. */
|
|
16
|
+
const DEFAULT_THINKING_BUDGET = 1024;
|
|
14
17
|
/**
|
|
15
18
|
* Build the Anthropic Messages API request body.
|
|
16
19
|
*
|
|
@@ -29,6 +32,7 @@ export function buildRequestBody(request) {
|
|
|
29
32
|
max_tokens: request.maxTokens() ?? DEFAULT_MAX_TOKENS,
|
|
30
33
|
};
|
|
31
34
|
const tools = mapTools(request.tools());
|
|
35
|
+
const effort = request.providerOptions('effort');
|
|
32
36
|
const optional = {
|
|
33
37
|
system: mapSystem(request.systemPrompts()),
|
|
34
38
|
temperature: request.temperature(),
|
|
@@ -38,14 +42,63 @@ export function buildRequestBody(request) {
|
|
|
38
42
|
// sending an empty array — which changes tool_choice defaults.
|
|
39
43
|
tools: tools.length > 0 ? tools : null,
|
|
40
44
|
tool_choice: mapToolChoice(request.toolChoice()),
|
|
41
|
-
|
|
42
|
-
// reason: withReasoning(true) emits nothing, because a budget is a
|
|
43
|
-
// per-provider setting the toggle must not invent. An explicit `thinking`
|
|
44
|
-
// provider option wins.
|
|
45
|
-
thinking: request.providerOptions('thinking') ?? null,
|
|
45
|
+
thinking: resolveThinking(request),
|
|
46
46
|
metadata: request.providerOptions('metadata'),
|
|
47
47
|
stop_sequences: request.providerOptions('stop_sequences'),
|
|
48
|
+
// `effort` is Prism's name for it; Anthropic reads it from output_config.
|
|
49
|
+
// This port used to drop it while the reference sent it (G-57).
|
|
50
|
+
output_config: isPresent(effort) ? { effort } : null,
|
|
48
51
|
};
|
|
49
52
|
return { ...body, ...whereNotNull(optional) };
|
|
50
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* The `thinking` field, spelled the way the reference spells it.
|
|
56
|
+
*
|
|
57
|
+
* Asymmetric like OpenAI's reasoning and for the same reason: withReasoning(true)
|
|
58
|
+
* emits nothing, because a budget is a per-provider setting the toggle must not
|
|
59
|
+
* invent. withReasoning(false) does win over a `thinking` option, as it does in
|
|
60
|
+
* the reference.
|
|
61
|
+
*
|
|
62
|
+
* `{ enabled: true, budgetTokens }` is Prism's spelling, not Anthropic's, and
|
|
63
|
+
* becomes `{ type: 'enabled', budget_tokens }`. Sent as given it was a 400, so a
|
|
64
|
+
* mode that worked in PHP failed here. A budget that is not an integer falls back
|
|
65
|
+
* to 1024, Anthropic's minimum, as in the reference.
|
|
66
|
+
*
|
|
67
|
+
* A map with `enabled` and no `type` that is not `true` asks for no thinking, and
|
|
68
|
+
* so does an empty map. Every other shape, `{ type: 'adaptive' }` included, is
|
|
69
|
+
* sent as given, as the reference sends it.
|
|
70
|
+
*/
|
|
71
|
+
function resolveThinking(request) {
|
|
72
|
+
if (request.reasoningEnabled() === false) {
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
const thinking = request.providerOptions('thinking');
|
|
76
|
+
// `false` asks for no thinking, as in the reference. Sent, it is a 400.
|
|
77
|
+
if (thinking === false) {
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
80
|
+
if (!isJsonObject(thinking)) {
|
|
81
|
+
return thinking ?? null;
|
|
82
|
+
}
|
|
83
|
+
if (Object.keys(thinking).length === 0) {
|
|
84
|
+
return null;
|
|
85
|
+
}
|
|
86
|
+
if (thinking.type === 'adaptive') {
|
|
87
|
+
return thinking;
|
|
88
|
+
}
|
|
89
|
+
if (thinking.enabled === true) {
|
|
90
|
+
const budget = thinking.budgetTokens;
|
|
91
|
+
return {
|
|
92
|
+
type: 'enabled',
|
|
93
|
+
budget_tokens: typeof budget === 'number' && Number.isInteger(budget) ? budget : DEFAULT_THINKING_BUDGET,
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
if ('enabled' in thinking && !('type' in thinking)) {
|
|
97
|
+
return null;
|
|
98
|
+
}
|
|
99
|
+
return thinking;
|
|
100
|
+
}
|
|
101
|
+
function isPresent(value) {
|
|
102
|
+
return value !== undefined && value !== null;
|
|
103
|
+
}
|
|
51
104
|
//# sourceMappingURL=build-request-body.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-request-body.js","sourceRoot":"","sources":["../../../src/providers/anthropic/build-request-body.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"build-request-body.js","sourceRoot":"","sources":["../../../src/providers/anthropic/build-request-body.ts"],"names":[],"mappings":"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"}
|
|
@@ -76,7 +76,10 @@ function documentSource(document) {
|
|
|
76
76
|
catch (cause) {
|
|
77
77
|
throw PrismError.unsupportedMedia('Anthropic', 'text document', `valid UTF-8, or a mime type that is not text/* — ${String(cause)}`);
|
|
78
78
|
}
|
|
79
|
-
|
|
79
|
+
// text/plain whatever the document declared. Anthropic's text source takes
|
|
80
|
+
// nothing else, so text/markdown, text/csv or a charset parameter failed the
|
|
81
|
+
// whole request (prism#49). The content is sent as given.
|
|
82
|
+
return { type: 'text', media_type: 'text/plain', data: decoded };
|
|
80
83
|
}
|
|
81
84
|
const base64 = document.base64();
|
|
82
85
|
if (base64 === null || mimeType === null) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-map.js","sourceRoot":"","sources":["../../../../src/providers/anthropic/maps/media-map.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"media-map.js","sourceRoot":"","sources":["../../../../src/providers/anthropic/maps/media-map.ts"],"names":[],"mappings":"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"}
|
|
@@ -65,6 +65,13 @@ export function mapSystem(systemPrompts) {
|
|
|
65
65
|
}
|
|
66
66
|
function mapAssistantMessage(message, items) {
|
|
67
67
|
const content = [];
|
|
68
|
+
const { thinking, thinking_signature: signature } = message.additionalContent;
|
|
69
|
+
// The thinking block goes back FIRST, with its signature. Anthropic requires
|
|
70
|
+
// it on a tool-use turn with thinking on, and refuses a thinking block that
|
|
71
|
+
// has no signature, so without both it is left out (G-57).
|
|
72
|
+
if (typeof thinking === 'string' && typeof signature === 'string') {
|
|
73
|
+
content.push({ type: 'thinking', thinking, signature });
|
|
74
|
+
}
|
|
68
75
|
// Text first. Anthropic reads content blocks in order, and a tool_use ahead
|
|
69
76
|
// of the reasoning that led to it reads as a model that decided first and
|
|
70
77
|
// explained afterwards.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-map.js","sourceRoot":"","sources":["../../../../src/providers/anthropic/maps/message-map.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAEvD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,WAAW,CAAC,QAA4B;IACtD,MAAM,KAAK,GAAiB,EAAE,CAAC;IAE/B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,QAAQ;gBACX,sEAAsE;gBACtE,mEAAmE;gBACnE,mEAAmE;gBACnE,MAAM,UAAU,CAAC,kBAAkB,CAAC,kEAAkE,CAAC,CAAC;YAC1G,KAAK,MAAM;gBACT,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE;wBACtC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC;wBACjC,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC;qBACxC;oBACD,GAAG,OAAO,CAAC,oBAAoB;iBAChC,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,WAAW;gBACd,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBACpC,MAAM;YACR,KAAK,aAAa;gBAChB,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBACrC,MAAM;YACR;gBACE,MAAM,UAAU,CAAC,kBAAkB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,aAAuC;IAC/D,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC;IAEhG,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACtD,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAyB,EAAE,KAAmB;IACzE,MAAM,OAAO,GAAgB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"message-map.js","sourceRoot":"","sources":["../../../../src/providers/anthropic/maps/message-map.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-response.d.ts","sourceRoot":"","sources":["../../../src/providers/anthropic/parse-response.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAG3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAKpF,MAAM,WAAW,wBAAwB;IACvC,UAAU,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAC3C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,wBAA6B,GACrC,YAAY,
|
|
1
|
+
{"version":3,"file":"parse-response.d.ts","sourceRoot":"","sources":["../../../src/providers/anthropic/parse-response.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAG3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAKpF,MAAM,WAAW,wBAAwB;IACvC,UAAU,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAC3C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,wBAA6B,GACrC,YAAY,CAmCd"}
|
|
@@ -27,9 +27,27 @@ export function parseTextResponse(request, rawBody, options = {}) {
|
|
|
27
27
|
if (finishReason === FinishReason.ToolCalls) {
|
|
28
28
|
throw PrismError.toolLoopNotSupported();
|
|
29
29
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
// A Length finish RETURNS the partial answer here, and does not throw.
|
|
31
|
+
//
|
|
32
|
+
// The reference's stance is per-PROVIDER rather than uniform, which is easy to
|
|
33
|
+
// misread: Anthropic and Mistral return, OpenAI's Responses handler and its
|
|
34
|
+
// structured handler throw, and Azure throws. This port previously threw for
|
|
35
|
+
// all three providers, so it matched the reference on OpenAI and diverged on
|
|
36
|
+
// the other two.
|
|
37
|
+
//
|
|
38
|
+
// Returning is the right behaviour to copy here. The model did write something
|
|
39
|
+
// usable and you paid for the tokens, and running out of room is exactly when
|
|
40
|
+
// the usage numbers matter most -- it is the expensive case and the unfinished
|
|
41
|
+
// one at once, so throwing discards the reasoning-token count on the very call
|
|
42
|
+
// where a caller most wants it.
|
|
43
|
+
//
|
|
44
|
+
// The cost is real and is the caller's to manage: code that ignores
|
|
45
|
+
// finishReason will treat a truncated answer as a complete one. That is why
|
|
46
|
+
// FinishReason.Length is on the response rather than implied.
|
|
47
|
+
//
|
|
48
|
+
// Found by prism-parity's anthropic-text-response suite (G-50). The existing
|
|
49
|
+
// seventeen OpenAI rows never caught it because none of them sends a
|
|
50
|
+
// max_tokens finish.
|
|
33
51
|
const builder = new ResponseBuilder();
|
|
34
52
|
builder.addStep(buildStep(data, request, finishReason, options.rateLimits ?? []));
|
|
35
53
|
return builder.toResponse();
|
|
@@ -69,7 +87,7 @@ function buildStep(data, request, finishReason, rateLimits) {
|
|
|
69
87
|
messages: request.messages(),
|
|
70
88
|
systemPrompts: request.systemPrompts(),
|
|
71
89
|
additionalContent: whereNotNull({
|
|
72
|
-
thinking
|
|
90
|
+
...thinking(content),
|
|
73
91
|
stopSequence: typeof data.stop_sequence === 'string' ? data.stop_sequence : null,
|
|
74
92
|
}),
|
|
75
93
|
raw: data,
|
|
@@ -97,13 +115,20 @@ function mapToolCalls(content) {
|
|
|
97
115
|
// An object on the wire, unlike the Responses API's JSON string.
|
|
98
116
|
isJsonObject(block.input) ? block.input : {}, null));
|
|
99
117
|
}
|
|
100
|
-
/**
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
118
|
+
/**
|
|
119
|
+
* The first thinking block's text and signature, as the reference keeps them.
|
|
120
|
+
*
|
|
121
|
+
* The signature is what lets the block be sent back on a later tool-use turn
|
|
122
|
+
* (G-57). It covers one block's text exactly, so the text kept beside it is that
|
|
123
|
+
* block's, not every block joined: joined text under one signature is a block
|
|
124
|
+
* Anthropic would refuse. A response with more than one thinking block keeps only
|
|
125
|
+
* the first, in all three languages.
|
|
126
|
+
*/
|
|
127
|
+
function thinking(content) {
|
|
128
|
+
const block = content.filter(isJsonObject).find((candidate) => candidate.type === 'thinking');
|
|
129
|
+
return {
|
|
130
|
+
thinking: typeof block?.thinking === 'string' ? block.thinking : null,
|
|
131
|
+
thinking_signature: typeof block?.signature === 'string' ? block.signature : null,
|
|
132
|
+
};
|
|
108
133
|
}
|
|
109
134
|
//# sourceMappingURL=parse-response.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-response.js","sourceRoot":"","sources":["../../../src/providers/anthropic/parse-response.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EACL,wBAAwB,EACxB,SAAS,EACT,kBAAkB,EAClB,UAAU,EACV,UAAU,EACV,UAAU,EACV,YAAY,GACb,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAEnD,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAM9D;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAoB,EACpB,OAAgB,EAChB,UAAoC,EAAE;IAEtC,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAE3C,IAAI,YAAY,KAAK,YAAY,CAAC,SAAS,EAAE,CAAC;QAC5C,MAAM,UAAU,CAAC,oBAAoB,EAAE,CAAC;IAC1C,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"parse-response.js","sourceRoot":"","sources":["../../../src/providers/anthropic/parse-response.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mistral.d.ts","sourceRoot":"","sources":["../../../src/providers/mistral/mistral.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAEvG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"mistral.d.ts","sourceRoot":"","sources":["../../../src/providers/mistral/mistral.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAEvG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAU1C,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,eAAe,CAAC,EAAE,mBAAmB,CAAC;IACtC,eAAe,CAAC,EAAE,mBAAmB,CAAC;CACvC;AAID;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,OAAQ,SAAQ,QAAQ;;IACnC,SAAkB,YAAY,aAAa;IAE3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;gBAQT,MAAM,GAAE,aAAkB;IAUvB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAMhE;;;;;;;OAOG;IACY,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAYlF;;;;;;OAMG;IACY,GAAG,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;IAM9C,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAMlF;;;;;;;;;OASG;IACY,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAqBrF;;;;;;;;;;;OAWG;IACa,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,cAAc,CAAC,WAAW,CAAC;IAqCzE,sEAAsE;IACtE,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAmClC"}
|
|
@@ -11,6 +11,7 @@ import { parseTextResponse } from './parse-response.js';
|
|
|
11
11
|
import { parseRateLimits } from './rate-limits.js';
|
|
12
12
|
import { MistralStreamMapper } from './stream-events.js';
|
|
13
13
|
import { buildTranscriptionForm, parseTranscriptionResponse } from '../openai/audio.js';
|
|
14
|
+
import { withoutTrailingSlashes } from '../../internal/url.js';
|
|
14
15
|
const DEFAULT_URL = 'https://api.mistral.ai/v1';
|
|
15
16
|
/**
|
|
16
17
|
* The Mistral provider.
|
|
@@ -39,7 +40,7 @@ export class Mistral extends Provider {
|
|
|
39
40
|
constructor(config = {}) {
|
|
40
41
|
super();
|
|
41
42
|
this.apiKey = config.apiKey ?? readEnv('MISTRAL_API_KEY') ?? '';
|
|
42
|
-
this.url = (config.url ?? readEnv('MISTRAL_URL') ?? DEFAULT_URL)
|
|
43
|
+
this.url = withoutTrailingSlashes(config.url ?? readEnv('MISTRAL_URL') ?? DEFAULT_URL);
|
|
43
44
|
this.#transport = config.transport ?? fetchTransport;
|
|
44
45
|
this.#streamTransport = config.streamTransport ?? fetchStreamTransport;
|
|
45
46
|
this.#binaryTransport = config.binaryTransport ?? fetchBinaryTransport;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mistral.js","sourceRoot":"","sources":["../../../src/providers/mistral/mistral.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAS7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAE3E,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAErG,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAGjD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"mistral.js","sourceRoot":"","sources":["../../../src/providers/mistral/mistral.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-response.d.ts","sourceRoot":"","sources":["../../../src/providers/mistral/parse-response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAKhD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAG3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAKpF,MAAM,WAAW,wBAAwB;IACvC,UAAU,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAC3C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,wBAA6B,GACrC,YAAY,
|
|
1
|
+
{"version":3,"file":"parse-response.d.ts","sourceRoot":"","sources":["../../../src/providers/mistral/parse-response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAKhD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAG3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAKpF,MAAM,WAAW,wBAAwB;IACvC,UAAU,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAC3C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,wBAA6B,GACrC,YAAY,CAmCd;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,CAwB7D;AAED,oFAAoF;AACpF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CAI/D;AA8BD;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAUvD;AAED,qEAAqE;AACrE,wBAAgB,eAAe,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAUlE"}
|
|
@@ -27,9 +27,27 @@ export function parseTextResponse(request, rawBody, options = {}) {
|
|
|
27
27
|
if (finishReason === FinishReason.ToolCalls) {
|
|
28
28
|
throw PrismError.toolLoopNotSupported();
|
|
29
29
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
// A Length finish RETURNS the partial answer here, and does not throw.
|
|
31
|
+
//
|
|
32
|
+
// The reference's stance is per-PROVIDER rather than uniform, which is easy to
|
|
33
|
+
// misread: Anthropic and Mistral return, OpenAI's Responses handler and its
|
|
34
|
+
// structured handler throw, and Azure throws. This port previously threw for
|
|
35
|
+
// all three providers, so it matched the reference on OpenAI and diverged on
|
|
36
|
+
// the other two.
|
|
37
|
+
//
|
|
38
|
+
// Returning is the right behaviour to copy here. The model did write something
|
|
39
|
+
// usable and you paid for the tokens, and running out of room is exactly when
|
|
40
|
+
// the usage numbers matter most -- it is the expensive case and the unfinished
|
|
41
|
+
// one at once, so throwing discards the reasoning-token count on the very call
|
|
42
|
+
// where a caller most wants it.
|
|
43
|
+
//
|
|
44
|
+
// The cost is real and is the caller's to manage: code that ignores
|
|
45
|
+
// finishReason will treat a truncated answer as a complete one. That is why
|
|
46
|
+
// FinishReason.Length is on the response rather than implied.
|
|
47
|
+
//
|
|
48
|
+
// Found by prism-parity's anthropic-text-response suite (G-50). The existing
|
|
49
|
+
// seventeen OpenAI rows never caught it because none of them sends a
|
|
50
|
+
// max_tokens finish.
|
|
33
51
|
const builder = new ResponseBuilder();
|
|
34
52
|
builder.addStep(buildStep(data, request, finishReason, options.rateLimits ?? []));
|
|
35
53
|
return builder.toResponse();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-response.js","sourceRoot":"","sources":["../../../src/providers/mistral/parse-response.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE5H,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAEnD,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAM9D;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAoB,EACpB,OAAgB,EAChB,UAAoC,EAAE;IAEtC,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAE3C,IAAI,YAAY,KAAK,YAAY,CAAC,SAAS,EAAE,CAAC;QAC5C,MAAM,UAAU,CAAC,oBAAoB,EAAE,CAAC;IAC1C,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"parse-response.js","sourceRoot":"","sources":["../../../src/providers/mistral/parse-response.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../src/providers/openai/openai.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAGvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACvF,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAOhF,OAAO,KAAK,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1G,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAQhF,OAAO,KAAK,EACV,YAAY,EACZ,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAS3F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAiB,MAAM,yBAAyB,CAAC;AAEvG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAG7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../src/providers/openai/openai.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,7 @@ import { Provider } from '../provider.js';
|
|
|
19
19
|
import { buildRequestBody } from './build-request-body.js';
|
|
20
20
|
import { parseTextResponse } from './parse-response.js';
|
|
21
21
|
import { parseRateLimits } from './rate-limits.js';
|
|
22
|
+
import { withoutTrailingSlashes } from '../../internal/url.js';
|
|
22
23
|
const DEFAULT_URL = 'https://api.openai.com/v1';
|
|
23
24
|
/**
|
|
24
25
|
* The OpenAI provider, Responses API only.
|
|
@@ -65,7 +66,7 @@ export class OpenAI extends Provider {
|
|
|
65
66
|
*/
|
|
66
67
|
async *stream(request) {
|
|
67
68
|
const response = await this.#streamTransport({
|
|
68
|
-
url: `${this.url
|
|
69
|
+
url: `${withoutTrailingSlashes(this.url)}/responses`,
|
|
69
70
|
method: 'POST',
|
|
70
71
|
headers: { ...this.headers(), Accept: 'text/event-stream' },
|
|
71
72
|
body: canonicalJson({ ...buildRequestBody(request), stream: true }),
|
|
@@ -93,7 +94,7 @@ export class OpenAI extends Provider {
|
|
|
93
94
|
*/
|
|
94
95
|
async embeddings(request) {
|
|
95
96
|
const response = await this.#transport({
|
|
96
|
-
url: `${this.url
|
|
97
|
+
url: `${withoutTrailingSlashes(this.url)}/embeddings`,
|
|
97
98
|
method: 'POST',
|
|
98
99
|
headers: this.headers(),
|
|
99
100
|
body: canonicalJson(buildEmbeddingsBody(request)),
|
|
@@ -109,7 +110,7 @@ export class OpenAI extends Provider {
|
|
|
109
110
|
}
|
|
110
111
|
async images(request) {
|
|
111
112
|
const response = await this.#transport({
|
|
112
|
-
url: `${this.url
|
|
113
|
+
url: `${withoutTrailingSlashes(this.url)}/images/generations`,
|
|
113
114
|
method: 'POST',
|
|
114
115
|
headers: this.headers(),
|
|
115
116
|
body: canonicalJson(buildImagesBody(request)),
|
|
@@ -125,7 +126,7 @@ export class OpenAI extends Provider {
|
|
|
125
126
|
}
|
|
126
127
|
async moderation(request) {
|
|
127
128
|
const response = await this.#transport({
|
|
128
|
-
url: `${this.url
|
|
129
|
+
url: `${withoutTrailingSlashes(this.url)}/moderations`,
|
|
129
130
|
method: 'POST',
|
|
130
131
|
headers: this.headers(),
|
|
131
132
|
body: canonicalJson(buildModerationBody(request)),
|
|
@@ -141,7 +142,7 @@ export class OpenAI extends Provider {
|
|
|
141
142
|
}
|
|
142
143
|
async textToSpeech(request) {
|
|
143
144
|
const response = await this.#binaryTransport({
|
|
144
|
-
url: `${this.url
|
|
145
|
+
url: `${withoutTrailingSlashes(this.url)}/audio/speech`,
|
|
145
146
|
method: 'POST',
|
|
146
147
|
headers: this.headers(),
|
|
147
148
|
body: canonicalJson(buildSpeechBody(request)),
|
|
@@ -156,7 +157,7 @@ export class OpenAI extends Provider {
|
|
|
156
157
|
}
|
|
157
158
|
async speechToText(request) {
|
|
158
159
|
const response = await this.#binaryTransport({
|
|
159
|
-
url: `${this.url
|
|
160
|
+
url: `${withoutTrailingSlashes(this.url)}/audio/transcriptions`,
|
|
160
161
|
method: 'POST',
|
|
161
162
|
headers: this.headers(),
|
|
162
163
|
body: '',
|
|
@@ -195,7 +196,7 @@ export class OpenAI extends Provider {
|
|
|
195
196
|
*/
|
|
196
197
|
async downloadFile(request) {
|
|
197
198
|
const response = await this.#binaryTransport({
|
|
198
|
-
url: `${this.url
|
|
199
|
+
url: `${withoutTrailingSlashes(this.url)}/files/${encodeURIComponent(request.fileId)}/content`,
|
|
199
200
|
method: 'GET',
|
|
200
201
|
headers: this.headers(),
|
|
201
202
|
body: '',
|
|
@@ -285,7 +286,7 @@ export class OpenAI extends Provider {
|
|
|
285
286
|
*/
|
|
286
287
|
async #file(method, path, clientOptions, multipart, jsonBody) {
|
|
287
288
|
const response = await this.#binaryTransport({
|
|
288
|
-
url: `${this.url
|
|
289
|
+
url: `${withoutTrailingSlashes(this.url)}/${path}`,
|
|
289
290
|
method,
|
|
290
291
|
headers: this.headers(),
|
|
291
292
|
body: jsonBody === undefined ? '' : canonicalJson(jsonBody),
|
|
@@ -310,7 +311,7 @@ export class OpenAI extends Provider {
|
|
|
310
311
|
throw PrismError.unsupportedProviderAction(`${action} in the ${this.apiFormat} api format`, this.providerName);
|
|
311
312
|
}
|
|
312
313
|
const response = await this.#transport({
|
|
313
|
-
url: `${this.url
|
|
314
|
+
url: `${withoutTrailingSlashes(this.url)}/responses`,
|
|
314
315
|
method: 'POST',
|
|
315
316
|
headers: this.headers(),
|
|
316
317
|
body: canonicalJson(body),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/providers/openai/openai.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/providers/openai/openai.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-response.d.ts","sourceRoot":"","sources":["../../../src/providers/openai/parse-response.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"parse-response.d.ts","sourceRoot":"","sources":["../../../src/providers/openai/parse-response.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAI3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAKpF,MAAM,WAAW,wBAAwB;IACvC,UAAU,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAC3C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,wBAA6B,GACrC,YAAY,CAmBd"}
|
|
@@ -4,6 +4,7 @@ import { FinishReason } from '../../enums.js';
|
|
|
4
4
|
import { isTruthyByReferenceRules, readArray, readNullableNumber, readNumber, readObject, readString, whereNotNull, } from '../../internal/filters.js';
|
|
5
5
|
import { ResponseBuilder } from '../../text/response-builder.js';
|
|
6
6
|
import { TextStep } from '../../text/step.js';
|
|
7
|
+
import { GeneratedImage } from '../../value-objects/generated-image.js';
|
|
7
8
|
import { Meta } from '../../value-objects/meta.js';
|
|
8
9
|
import { ToolCall } from '../../value-objects/tool-call.js';
|
|
9
10
|
import { Usage } from '../../value-objects/usage.js';
|
|
@@ -66,6 +67,8 @@ function buildStep(data, request, finishReason, rateLimits) {
|
|
|
66
67
|
openPageUrls: webSearchValues(output, 'open_page', 'url'),
|
|
67
68
|
findInPagePatterns: webSearchValues(output, 'find_in_page', 'pattern'),
|
|
68
69
|
reasoningSummaries: reasoningSummaries(output),
|
|
70
|
+
generatedImages: generatedImages(output),
|
|
71
|
+
imageGenerationCalls: imageGenerationCalls(output),
|
|
69
72
|
}),
|
|
70
73
|
raw: data,
|
|
71
74
|
});
|
|
@@ -101,6 +104,56 @@ function webSearchValues(output, actionType, field) {
|
|
|
101
104
|
const unique = [...new Set(values)];
|
|
102
105
|
return unique.length > 0 ? unique : null;
|
|
103
106
|
}
|
|
107
|
+
/**
|
|
108
|
+
* The images a HOSTED image tool generated, or null when there were none.
|
|
109
|
+
*
|
|
110
|
+
* Every other hosted tool here hands its output back through
|
|
111
|
+
* `additionalContent`, and a turn that generated an image had nowhere to put
|
|
112
|
+
* the bytes but `raw` — the untyped escape hatch, not a surface. So a caller
|
|
113
|
+
* using `web_search` was served and a caller using `image_generation` was not.
|
|
114
|
+
*
|
|
115
|
+
* Built as the same `GeneratedImage` the images endpoint returns and then
|
|
116
|
+
* SERIALISED, because `additionalContent` here is typed `JsonValue` and cannot
|
|
117
|
+
* hold a class instance. The reference keeps the object; both ports emit its
|
|
118
|
+
* serialised form, which is byte-identical once the step is serialised — so the
|
|
119
|
+
* cross-language corpora agree and only the in-process ergonomics differ. That
|
|
120
|
+
* difference is general to `additionalContent` in the ports rather than
|
|
121
|
+
* anything about images, and is recorded as G-43 in the envelope's register.
|
|
122
|
+
*
|
|
123
|
+
* Constructed through the value object rather than assembling the literal by
|
|
124
|
+
* hand, so the key names and the revised-prompt handling come from one place
|
|
125
|
+
* and cannot drift from the images endpoint's shape.
|
|
126
|
+
*/
|
|
127
|
+
function generatedImages(output) {
|
|
128
|
+
const images = output
|
|
129
|
+
.filter(isJsonObject)
|
|
130
|
+
.filter((item) => item.type === 'image_generation_call')
|
|
131
|
+
.filter((item) => typeof item.result === 'string' && item.result !== '')
|
|
132
|
+
.map((item) => new GeneratedImage(null, readString(item.result, ''), typeof item.revised_prompt === 'string' ? item.revised_prompt : null).toObject());
|
|
133
|
+
return images.length > 0 ? images : null;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* What the provider ACTUALLY drew, as opposed to what was asked for.
|
|
137
|
+
*
|
|
138
|
+
* Separate from the images because this is the part a caller reconciles against
|
|
139
|
+
* its own request: a provider that silently served a different size or quality
|
|
140
|
+
* is visible only here.
|
|
141
|
+
*/
|
|
142
|
+
function imageGenerationCalls(output) {
|
|
143
|
+
const calls = output
|
|
144
|
+
.filter(isJsonObject)
|
|
145
|
+
.filter((item) => item.type === 'image_generation_call')
|
|
146
|
+
.map((item) => whereNotNull({
|
|
147
|
+
id: typeof item.id === 'string' ? item.id : null,
|
|
148
|
+
status: typeof item.status === 'string' ? item.status : null,
|
|
149
|
+
revised_prompt: typeof item.revised_prompt === 'string' ? item.revised_prompt : null,
|
|
150
|
+
size: typeof item.size === 'string' ? item.size : null,
|
|
151
|
+
quality: typeof item.quality === 'string' ? item.quality : null,
|
|
152
|
+
background: typeof item.background === 'string' ? item.background : null,
|
|
153
|
+
output_format: typeof item.output_format === 'string' ? item.output_format : null,
|
|
154
|
+
}));
|
|
155
|
+
return calls.length > 0 ? calls : null;
|
|
156
|
+
}
|
|
104
157
|
/** Always present, even when empty — the reference does not drop this one. */
|
|
105
158
|
function reasoningSummaries(output) {
|
|
106
159
|
return output
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-response.js","sourceRoot":"","sources":["../../../src/providers/openai/parse-response.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"parse-response.js","sourceRoot":"","sources":["../../../src/providers/openai/parse-response.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,8 +24,30 @@ export function extractStructured(text) {
|
|
|
24
24
|
if (direct !== null) {
|
|
25
25
|
return direct;
|
|
26
26
|
}
|
|
27
|
-
const fenced =
|
|
28
|
-
return fenced === null ? null : parseObject(fenced
|
|
27
|
+
const fenced = firstFencedBlock(text);
|
|
28
|
+
return fenced === null ? null : parseObject(fenced);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* The contents of the first ``` fence that closes, with a leading `json` tag
|
|
32
|
+
* dropped, or null when none does.
|
|
33
|
+
*
|
|
34
|
+
* Found with indexOf rather than a regular expression. The obvious pattern,
|
|
35
|
+
* /```(?:json)?\s*([\s\S]*?)```/, is retried at every opening fence and rescans
|
|
36
|
+
* the rest of the text each time, which is quadratic on model output, and model
|
|
37
|
+
* output is not ours to bound. Leading whitespace is left in, because
|
|
38
|
+
* parseObject() trims.
|
|
39
|
+
*/
|
|
40
|
+
function firstFencedBlock(text) {
|
|
41
|
+
const open = text.indexOf('```');
|
|
42
|
+
if (open === -1) {
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
let start = open + 3;
|
|
46
|
+
if (text.slice(start, start + 4).toLowerCase() === 'json') {
|
|
47
|
+
start += 4;
|
|
48
|
+
}
|
|
49
|
+
const close = text.indexOf('```', start);
|
|
50
|
+
return close === -1 ? null : text.slice(start, close);
|
|
29
51
|
}
|
|
30
52
|
function parseObject(candidate) {
|
|
31
53
|
const trimmed = candidate.trim();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../src/structured/extract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAEjC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../src/structured/extract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAEjC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAEtC,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AACtD,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,gBAAgB,CAAC,IAAY;IACpC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAEjC,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC;IAErB,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;QAC1D,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAEzC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,WAAW,CAAC,SAAiB;IACpC,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;IAEjC,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAE5C,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@particle-academy/prism",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "TypeScript port of Prism — a unified API layer over LLM providers.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
],
|
|
29
29
|
"scripts": {
|
|
30
30
|
"build": "tsc -p tsconfig.build.json",
|
|
31
|
+
"prepare": "npm run build",
|
|
31
32
|
"typecheck": "tsc -p tsconfig.json",
|
|
32
33
|
"lint": "eslint .",
|
|
33
34
|
"test": "vitest run",
|