@forgezero/providers 0.1.13 → 0.1.15
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/README.md +328 -61
- package/dist/binance.js +1 -1
- package/dist/chain.js +1 -1
- package/dist/database.js +1 -1
- package/dist/email.js +1 -1
- package/dist/http.js +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/pool.js +1 -1
- package/dist/storage.js +1 -1
- package/dist/translation.js +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -35,16 +35,16 @@ Every row links to the detailed explanation and named-import/example area below.
|
|
|
35
35
|
|
|
36
36
|
| public entry | short description | runtime | details |
|
|
37
37
|
|---|---|---|---|
|
|
38
|
-
| @forgezero/providers | The registry: priority, health, and a terminal-versus-retryable verdict per failure. | portable | [
|
|
39
|
-
| @forgezero/providers/email | JetEmail (`send`, `sendBatch`), SMTP (`send` only), and the typed email service contract; SMTP transport is injected. | portable | [
|
|
40
|
-
| @forgezero/providers/database | ArangoDB in the registry for credential rotation and health — with failover off by default. | portable | [
|
|
41
|
-
| @forgezero/providers/http | Outbound HTTP with a per-host weight budget reserved before the call and settled from the response. | portable | [
|
|
42
|
-
| @forgezero/providers/pool | Which outbound address a request leaves by, sticky per key, over the same budget as everything else. | portable | [
|
|
43
|
-
| @forgezero/providers/chain | An EVM node behind the same failover as any other service: read logs, broadcast, and never stop scanning because one endpoint rate-limited. | portable | [
|
|
44
|
-
| @forgezero/providers/binance | Binance behind the venue adapter: three hosts, one weight budget, signed over the exact string that is sent. | portable | [
|
|
45
|
-
| @forgezero/providers/storage | S3-compatible object storage, SigV4 signed with Web Crypto and no vendor SDK. | portable | [
|
|
46
|
-
| @forgezero/providers/translation | Google AI Studio translation with strict batch alignment and classified quota failures. | portable | [
|
|
47
|
-
| @forgezero/providers/realtime | Cloudflare KV node-directory and Durable Object fan-out clients for project-defined realtime services. | portable | [
|
|
38
|
+
| @forgezero/providers | The registry: priority, health, and a terminal-versus-retryable verdict per failure. | portable | [Reference + usage](#forgezero-providers) |
|
|
39
|
+
| @forgezero/providers/email | JetEmail (`send`, `sendBatch`), SMTP (`send` only), and the typed email service contract; SMTP transport is injected. | portable | [Reference + usage](#forgezero-providers-email) |
|
|
40
|
+
| @forgezero/providers/database | ArangoDB in the registry for credential rotation and health — with failover off by default. | portable | [Reference + usage](#forgezero-providers-database) |
|
|
41
|
+
| @forgezero/providers/http | Outbound HTTP with a per-host weight budget reserved before the call and settled from the response. | portable | [Reference + usage](#forgezero-providers-http) |
|
|
42
|
+
| @forgezero/providers/pool | Which outbound address a request leaves by, sticky per key, over the same budget as everything else. | portable | [Reference + usage](#forgezero-providers-pool) |
|
|
43
|
+
| @forgezero/providers/chain | An EVM node behind the same failover as any other service: read logs, broadcast, and never stop scanning because one endpoint rate-limited. | portable | [Reference + usage](#forgezero-providers-chain) |
|
|
44
|
+
| @forgezero/providers/binance | Binance behind the venue adapter: three hosts, one weight budget, signed over the exact string that is sent. | portable | [Reference + usage](#forgezero-providers-binance) |
|
|
45
|
+
| @forgezero/providers/storage | S3-compatible object storage, SigV4 signed with Web Crypto and no vendor SDK. | portable | [Reference + usage](#forgezero-providers-storage) |
|
|
46
|
+
| @forgezero/providers/translation | Google AI Studio translation with strict batch alignment and classified quota failures. | portable | [Reference + usage](#forgezero-providers-translation) |
|
|
47
|
+
| @forgezero/providers/realtime | Cloudflare KV node-directory and Durable Object fan-out clients for project-defined realtime services. | portable | [Reference + usage](#forgezero-providers-realtime) |
|
|
48
48
|
|
|
49
49
|
## Commands
|
|
50
50
|
|
|
@@ -59,17 +59,59 @@ bun test
|
|
|
59
59
|
<a id="forgezero-providers"></a>
|
|
60
60
|
## @forgezero/providers
|
|
61
61
|
|
|
62
|
-
The registry: priority, health, and a terminal-versus-retryable verdict per failure.
|
|
62
|
+
The registry: priority, health, and a terminal-versus-retryable verdict per failure. This entry exposes 16 named value exports and 29 named type exports. The generated import block lists one name per line for scanning and copying; keep only the names used by your file.
|
|
63
63
|
|
|
64
64
|
```text
|
|
65
|
-
import {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
65
|
+
import {
|
|
66
|
+
ProviderError,
|
|
67
|
+
STRIKES_TO_OFFLINE,
|
|
68
|
+
VERSION,
|
|
69
|
+
chainCredentials,
|
|
70
|
+
chainScopedCredentials,
|
|
71
|
+
createRegistry,
|
|
72
|
+
createService,
|
|
73
|
+
defineProvider,
|
|
74
|
+
defineProviderMethod,
|
|
75
|
+
defineService,
|
|
76
|
+
defineSingleMethodProvider,
|
|
77
|
+
envCredentials,
|
|
78
|
+
nextHealth,
|
|
79
|
+
scopeCredentials,
|
|
80
|
+
serviceMethod,
|
|
81
|
+
staticConfig,
|
|
82
|
+
} from '@forgezero/providers';
|
|
83
|
+
|
|
84
|
+
import type {
|
|
85
|
+
AnyProviderMethod,
|
|
86
|
+
Attempt,
|
|
87
|
+
CallOptions,
|
|
88
|
+
CallResult,
|
|
89
|
+
ConfigSource,
|
|
90
|
+
CredentialSource,
|
|
91
|
+
DirectAttempt,
|
|
92
|
+
DirectCallResult,
|
|
93
|
+
DirectServiceAttachment,
|
|
94
|
+
DirectServiceConfig,
|
|
95
|
+
DirectServiceOptions,
|
|
96
|
+
EmailBatch,
|
|
97
|
+
EmailBatchItemResult,
|
|
98
|
+
EmailBatchResult,
|
|
99
|
+
EmailMessage,
|
|
100
|
+
FailureKind,
|
|
101
|
+
InvokeContext,
|
|
102
|
+
ProviderDefinition,
|
|
103
|
+
ProviderHealth,
|
|
104
|
+
ProviderInstanceConfig,
|
|
105
|
+
ProviderMethodSpec,
|
|
106
|
+
ProviderMethods,
|
|
107
|
+
RegistryOptions,
|
|
108
|
+
ScopedCredentialSource,
|
|
109
|
+
ServiceDefinition,
|
|
110
|
+
ServiceMethodAttachment,
|
|
111
|
+
ServiceMethodContract,
|
|
112
|
+
ServiceMethods,
|
|
113
|
+
StaticRegistryConfig,
|
|
114
|
+
} from '@forgezero/providers';
|
|
73
115
|
```
|
|
74
116
|
|
|
75
117
|
## @forgezero/providers — Extend with a custom provider and service
|
|
@@ -77,9 +119,18 @@ import type { ServiceDefinition, ServiceMethodAttachment, ServiceMethodContract,
|
|
|
77
119
|
Public consumers define provider capabilities and application services independently, then attach them with the same ordered-array API.
|
|
78
120
|
|
|
79
121
|
```text
|
|
80
|
-
import {
|
|
81
|
-
|
|
82
|
-
|
|
122
|
+
import {
|
|
123
|
+
createService,
|
|
124
|
+
defineService,
|
|
125
|
+
defineSingleMethodProvider,
|
|
126
|
+
serviceMethod,
|
|
127
|
+
} from '@forgezero/providers';
|
|
128
|
+
import {
|
|
129
|
+
createVault,
|
|
130
|
+
} from '@forgezero/vault';
|
|
131
|
+
import {
|
|
132
|
+
vaultCredentials,
|
|
133
|
+
} from '@forgezero/vault/providers';
|
|
83
134
|
|
|
84
135
|
type Notice = { text: string };
|
|
85
136
|
type Receipt = { id: string };
|
|
@@ -111,9 +162,17 @@ const service = createService(notifications, {
|
|
|
111
162
|
Bootstrap tries the scoped Vault entry first and the identically named systemd credential second. If neither exists, the provider call fails.
|
|
112
163
|
|
|
113
164
|
```text
|
|
114
|
-
import {
|
|
115
|
-
|
|
116
|
-
|
|
165
|
+
import {
|
|
166
|
+
chainScopedCredentials,
|
|
167
|
+
scopeCredentials,
|
|
168
|
+
} from '@forgezero/providers';
|
|
169
|
+
import {
|
|
170
|
+
createVault,
|
|
171
|
+
systemdCredentials,
|
|
172
|
+
} from '@forgezero/vault';
|
|
173
|
+
import {
|
|
174
|
+
vaultCredentials,
|
|
175
|
+
} from '@forgezero/vault/providers';
|
|
117
176
|
|
|
118
177
|
const vault = createVault({ project: 'my-project', environment: 'production' });
|
|
119
178
|
const credentials = chainScopedCredentials(
|
|
@@ -127,11 +186,20 @@ const credentials = chainScopedCredentials(
|
|
|
127
186
|
<a id="forgezero-providers-email"></a>
|
|
128
187
|
## @forgezero/providers/email
|
|
129
188
|
|
|
130
|
-
JetEmail (`send`, `sendBatch`), SMTP (`send` only), and the typed email service contract; SMTP transport is injected.
|
|
189
|
+
JetEmail (`send`, `sendBatch`), SMTP (`send` only), and the typed email service contract; SMTP transport is injected. This entry exposes 4 named value exports and 2 named type exports. The generated import block lists one name per line for scanning and copying; keep only the names used by your file.
|
|
131
190
|
|
|
132
191
|
```text
|
|
133
|
-
import {
|
|
134
|
-
|
|
192
|
+
import {
|
|
193
|
+
emailProviders,
|
|
194
|
+
emailService,
|
|
195
|
+
jetemail,
|
|
196
|
+
smtp,
|
|
197
|
+
} from '@forgezero/providers/email';
|
|
198
|
+
|
|
199
|
+
import type {
|
|
200
|
+
JetEmailConfig,
|
|
201
|
+
SmtpTransport,
|
|
202
|
+
} from '@forgezero/providers/email';
|
|
135
203
|
```
|
|
136
204
|
|
|
137
205
|
## @forgezero/providers/email — Email with ordered provider fallback
|
|
@@ -139,10 +207,22 @@ import type { JetEmailConfig, SmtpTransport } from '@forgezero/providers/email';
|
|
|
139
207
|
The service owns send/sendBatch. Attach provider methods directly in priority arrays; SMTP is never presented as batch-capable.
|
|
140
208
|
|
|
141
209
|
```text
|
|
142
|
-
import {
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
210
|
+
import {
|
|
211
|
+
createService,
|
|
212
|
+
type EmailMessage,
|
|
213
|
+
} from '@forgezero/providers';
|
|
214
|
+
import {
|
|
215
|
+
emailService,
|
|
216
|
+
jetemail,
|
|
217
|
+
smtp,
|
|
218
|
+
type SmtpTransport,
|
|
219
|
+
} from '@forgezero/providers/email';
|
|
220
|
+
import {
|
|
221
|
+
createVault,
|
|
222
|
+
} from '@forgezero/vault';
|
|
223
|
+
import {
|
|
224
|
+
vaultCredentials,
|
|
225
|
+
} from '@forgezero/vault/providers';
|
|
146
226
|
|
|
147
227
|
// Adapt Nodemailer, Bun, or an HTTP SMTP relay once at the host boundary.
|
|
148
228
|
declare const transport: SmtpTransport;
|
|
@@ -167,86 +247,273 @@ console.log(outcome.result, outcome.attempts);
|
|
|
167
247
|
<a id="forgezero-providers-database"></a>
|
|
168
248
|
## @forgezero/providers/database
|
|
169
249
|
|
|
170
|
-
ArangoDB in the registry for credential rotation and health — with failover off by default.
|
|
250
|
+
ArangoDB in the registry for credential rotation and health — with failover off by default. This entry exposes 7 named value exports and 7 named type exports. The generated import block lists one name per line for scanning and copying; keep only the names used by your file.
|
|
171
251
|
|
|
172
252
|
```text
|
|
173
|
-
import {
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
253
|
+
import {
|
|
254
|
+
ARANGO_COMMUNITY_VERSION,
|
|
255
|
+
ARANGO_SERVER_MODE_PATH,
|
|
256
|
+
MAX_ARANGO_COORDINATORS,
|
|
257
|
+
arangoCoordinatorUrls,
|
|
258
|
+
arangodb,
|
|
259
|
+
databaseProviders,
|
|
260
|
+
resetPools,
|
|
261
|
+
} from '@forgezero/providers/database';
|
|
262
|
+
|
|
263
|
+
import type {
|
|
264
|
+
ArangoConfig,
|
|
265
|
+
ArangoConnectOptions,
|
|
266
|
+
ArangoCoordinatorMember,
|
|
267
|
+
ArangoLike,
|
|
268
|
+
ArangoMembershipSnapshot,
|
|
269
|
+
ArangoMembershipVerifier,
|
|
270
|
+
Query,
|
|
271
|
+
} from '@forgezero/providers/database';
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
## @forgezero/providers/database — Use this entry point
|
|
275
|
+
|
|
276
|
+
This minimal executable use imports one concrete value from this exact entry point without a wildcard or package-root detour. Keep the value or values the application actually needs; the full named inventory remains directly above it.
|
|
277
|
+
|
|
278
|
+
```text
|
|
279
|
+
import {
|
|
280
|
+
ARANGO_COMMUNITY_VERSION,
|
|
281
|
+
} from '@forgezero/providers/database';
|
|
282
|
+
|
|
283
|
+
export const selectedCapability = ARANGO_COMMUNITY_VERSION;
|
|
177
284
|
```
|
|
178
285
|
|
|
179
286
|
<a id="forgezero-providers-http"></a>
|
|
180
287
|
## @forgezero/providers/http
|
|
181
288
|
|
|
182
|
-
Outbound HTTP with a per-host weight budget reserved before the call and settled from the response.
|
|
289
|
+
Outbound HTTP with a per-host weight budget reserved before the call and settled from the response. This entry exposes 9 named value exports and 5 named type exports. The generated import block lists one name per line for scanning and copying; keep only the names used by your file.
|
|
183
290
|
|
|
184
291
|
```text
|
|
185
|
-
import {
|
|
186
|
-
|
|
187
|
-
|
|
292
|
+
import {
|
|
293
|
+
BudgetExhausted,
|
|
294
|
+
binanceWeight,
|
|
295
|
+
budgetState,
|
|
296
|
+
createHttpClient,
|
|
297
|
+
http,
|
|
298
|
+
httpProviders,
|
|
299
|
+
resetBudgets,
|
|
300
|
+
settle,
|
|
301
|
+
spend,
|
|
302
|
+
} from '@forgezero/providers/http';
|
|
303
|
+
|
|
304
|
+
import type {
|
|
305
|
+
HostBudget,
|
|
306
|
+
HttpClient,
|
|
307
|
+
HttpConfig,
|
|
308
|
+
HttpRequest,
|
|
309
|
+
HttpResponse,
|
|
310
|
+
} from '@forgezero/providers/http';
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
## @forgezero/providers/http — Use this entry point
|
|
314
|
+
|
|
315
|
+
This minimal executable use imports one concrete value from this exact entry point without a wildcard or package-root detour. Keep the value or values the application actually needs; the full named inventory remains directly above it.
|
|
316
|
+
|
|
317
|
+
```text
|
|
318
|
+
import {
|
|
319
|
+
BudgetExhausted,
|
|
320
|
+
} from '@forgezero/providers/http';
|
|
321
|
+
|
|
322
|
+
export const selectedCapability = BudgetExhausted;
|
|
188
323
|
```
|
|
189
324
|
|
|
190
325
|
<a id="forgezero-providers-pool"></a>
|
|
191
326
|
## @forgezero/providers/pool
|
|
192
327
|
|
|
193
|
-
Which outbound address a request leaves by, sticky per key, over the same budget as everything else.
|
|
328
|
+
Which outbound address a request leaves by, sticky per key, over the same budget as everything else. This entry exposes 3 named value exports and 4 named type exports. The generated import block lists one name per line for scanning and copying; keep only the names used by your file.
|
|
194
329
|
|
|
195
330
|
```text
|
|
196
|
-
import {
|
|
197
|
-
|
|
331
|
+
import {
|
|
332
|
+
PoolEmpty,
|
|
333
|
+
PoolExhausted,
|
|
334
|
+
createAddressPool,
|
|
335
|
+
} from '@forgezero/providers/pool';
|
|
336
|
+
|
|
337
|
+
import type {
|
|
338
|
+
AddressPool,
|
|
339
|
+
Lease,
|
|
340
|
+
PoolAddress,
|
|
341
|
+
PoolOptions,
|
|
342
|
+
} from '@forgezero/providers/pool';
|
|
343
|
+
```
|
|
344
|
+
|
|
345
|
+
## @forgezero/providers/pool — Use this entry point
|
|
346
|
+
|
|
347
|
+
This minimal executable use imports one concrete value from this exact entry point without a wildcard or package-root detour. Keep the value or values the application actually needs; the full named inventory remains directly above it.
|
|
348
|
+
|
|
349
|
+
```text
|
|
350
|
+
import {
|
|
351
|
+
PoolEmpty,
|
|
352
|
+
} from '@forgezero/providers/pool';
|
|
353
|
+
|
|
354
|
+
export const selectedCapability = PoolEmpty;
|
|
198
355
|
```
|
|
199
356
|
|
|
200
357
|
<a id="forgezero-providers-chain"></a>
|
|
201
358
|
## @forgezero/providers/chain
|
|
202
359
|
|
|
203
|
-
An EVM node behind the same failover as any other service: read logs, broadcast, and never stop scanning because one endpoint rate-limited.
|
|
360
|
+
An EVM node behind the same failover as any other service: read logs, broadcast, and never stop scanning because one endpoint rate-limited. This entry exposes 1 named value export and 4 named type exports. The generated import block lists one name per line for scanning and copying; keep only the names used by your file.
|
|
204
361
|
|
|
205
362
|
```text
|
|
206
|
-
import {
|
|
207
|
-
|
|
363
|
+
import {
|
|
364
|
+
evmRpc,
|
|
365
|
+
} from '@forgezero/providers/chain';
|
|
366
|
+
|
|
367
|
+
import type {
|
|
368
|
+
ChainCall,
|
|
369
|
+
ChainLog,
|
|
370
|
+
ChainReceipt,
|
|
371
|
+
ChainResult,
|
|
372
|
+
} from '@forgezero/providers/chain';
|
|
373
|
+
```
|
|
374
|
+
|
|
375
|
+
## @forgezero/providers/chain — Use this entry point
|
|
376
|
+
|
|
377
|
+
This minimal executable use imports one concrete value from this exact entry point without a wildcard or package-root detour. Keep the value or values the application actually needs; the full named inventory remains directly above it.
|
|
378
|
+
|
|
379
|
+
```text
|
|
380
|
+
import {
|
|
381
|
+
evmRpc,
|
|
382
|
+
} from '@forgezero/providers/chain';
|
|
383
|
+
|
|
384
|
+
export const selectedCapability = evmRpc;
|
|
208
385
|
```
|
|
209
386
|
|
|
210
387
|
<a id="forgezero-providers-binance"></a>
|
|
211
388
|
## @forgezero/providers/binance
|
|
212
389
|
|
|
213
|
-
Binance behind the venue adapter: three hosts, one weight budget, signed over the exact string that is sent.
|
|
390
|
+
Binance behind the venue adapter: three hosts, one weight budget, signed over the exact string that is sent. This entry exposes 4 named value exports and 2 named type exports. The generated import block lists one name per line for scanning and copying; keep only the names used by your file.
|
|
214
391
|
|
|
215
392
|
```text
|
|
216
|
-
import {
|
|
217
|
-
|
|
393
|
+
import {
|
|
394
|
+
binanceSymbol,
|
|
395
|
+
createBinanceAdapter,
|
|
396
|
+
readBinanceError,
|
|
397
|
+
toOrderStatus,
|
|
398
|
+
} from '@forgezero/providers/binance';
|
|
399
|
+
|
|
400
|
+
import type {
|
|
401
|
+
BinanceCredentials,
|
|
402
|
+
BinanceOptions,
|
|
403
|
+
} from '@forgezero/providers/binance';
|
|
404
|
+
```
|
|
405
|
+
|
|
406
|
+
## @forgezero/providers/binance — Use this entry point
|
|
407
|
+
|
|
408
|
+
This minimal executable use imports one concrete value from this exact entry point without a wildcard or package-root detour. Keep the value or values the application actually needs; the full named inventory remains directly above it.
|
|
409
|
+
|
|
410
|
+
```text
|
|
411
|
+
import {
|
|
412
|
+
binanceSymbol,
|
|
413
|
+
} from '@forgezero/providers/binance';
|
|
414
|
+
|
|
415
|
+
export const selectedCapability = binanceSymbol;
|
|
218
416
|
```
|
|
219
417
|
|
|
220
418
|
<a id="forgezero-providers-storage"></a>
|
|
221
419
|
## @forgezero/providers/storage
|
|
222
420
|
|
|
223
|
-
S3-compatible object storage, SigV4 signed with Web Crypto and no vendor SDK.
|
|
421
|
+
S3-compatible object storage, SigV4 signed with Web Crypto and no vendor SDK. This entry exposes 9 named value exports and 7 named type exports. The generated import block lists one name per line for scanning and copying; keep only the names used by your file.
|
|
224
422
|
|
|
225
423
|
```text
|
|
226
|
-
import {
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
424
|
+
import {
|
|
425
|
+
MAX_SINGLE_PUT_BYTES,
|
|
426
|
+
StorageError,
|
|
427
|
+
amzDate,
|
|
428
|
+
createS3Client,
|
|
429
|
+
encodeSegment,
|
|
430
|
+
parseListXml,
|
|
431
|
+
s3,
|
|
432
|
+
signRequest,
|
|
433
|
+
storageProviders,
|
|
434
|
+
} from '@forgezero/providers/storage';
|
|
435
|
+
|
|
436
|
+
import type {
|
|
437
|
+
ObjectSummary,
|
|
438
|
+
PutObjectArgs,
|
|
439
|
+
S3Client,
|
|
440
|
+
S3Config,
|
|
441
|
+
S3Credentials,
|
|
442
|
+
SignedRequest,
|
|
443
|
+
StorageRequest,
|
|
444
|
+
} from '@forgezero/providers/storage';
|
|
445
|
+
```
|
|
446
|
+
|
|
447
|
+
## @forgezero/providers/storage — Use this entry point
|
|
448
|
+
|
|
449
|
+
This minimal executable use imports one concrete value from this exact entry point without a wildcard or package-root detour. Keep the value or values the application actually needs; the full named inventory remains directly above it.
|
|
450
|
+
|
|
451
|
+
```text
|
|
452
|
+
import {
|
|
453
|
+
MAX_SINGLE_PUT_BYTES,
|
|
454
|
+
} from '@forgezero/providers/storage';
|
|
455
|
+
|
|
456
|
+
export const selectedCapability = MAX_SINGLE_PUT_BYTES;
|
|
230
457
|
```
|
|
231
458
|
|
|
232
459
|
<a id="forgezero-providers-translation"></a>
|
|
233
460
|
## @forgezero/providers/translation
|
|
234
461
|
|
|
235
|
-
Google AI Studio translation with strict batch alignment and classified quota failures.
|
|
462
|
+
Google AI Studio translation with strict batch alignment and classified quota failures. This entry exposes 4 named value exports and 3 named type exports. The generated import block lists one name per line for scanning and copying; keep only the names used by your file.
|
|
236
463
|
|
|
237
464
|
```text
|
|
238
|
-
import {
|
|
239
|
-
|
|
465
|
+
import {
|
|
466
|
+
TranslationError,
|
|
467
|
+
googleAiStudio,
|
|
468
|
+
parseStrings,
|
|
469
|
+
translationProviders,
|
|
470
|
+
} from '@forgezero/providers/translation';
|
|
471
|
+
|
|
472
|
+
import type {
|
|
473
|
+
TranslateRequest,
|
|
474
|
+
TranslateResult,
|
|
475
|
+
TranslationProvider,
|
|
476
|
+
} from '@forgezero/providers/translation';
|
|
477
|
+
```
|
|
478
|
+
|
|
479
|
+
## @forgezero/providers/translation — Use this entry point
|
|
480
|
+
|
|
481
|
+
This minimal executable use imports one concrete value from this exact entry point without a wildcard or package-root detour. Keep the value or values the application actually needs; the full named inventory remains directly above it.
|
|
482
|
+
|
|
483
|
+
```text
|
|
484
|
+
import {
|
|
485
|
+
TranslationError,
|
|
486
|
+
} from '@forgezero/providers/translation';
|
|
487
|
+
|
|
488
|
+
export const selectedCapability = TranslationError;
|
|
240
489
|
```
|
|
241
490
|
|
|
242
491
|
<a id="forgezero-providers-realtime"></a>
|
|
243
492
|
## @forgezero/providers/realtime
|
|
244
493
|
|
|
245
|
-
Cloudflare KV node-directory and Durable Object fan-out clients for project-defined realtime services.
|
|
494
|
+
Cloudflare KV node-directory and Durable Object fan-out clients for project-defined realtime services. This entry exposes 2 named value exports and 1 named type export. The generated import block lists one name per line for scanning and copying; keep only the names used by your file.
|
|
246
495
|
|
|
247
496
|
```text
|
|
248
|
-
import {
|
|
249
|
-
|
|
497
|
+
import {
|
|
498
|
+
RealtimeProviderError,
|
|
499
|
+
cloudflareRealtime,
|
|
500
|
+
} from '@forgezero/providers/realtime';
|
|
501
|
+
|
|
502
|
+
import type {
|
|
503
|
+
RealtimeProviderOptions,
|
|
504
|
+
} from '@forgezero/providers/realtime';
|
|
505
|
+
```
|
|
506
|
+
|
|
507
|
+
## @forgezero/providers/realtime — Use this entry point
|
|
508
|
+
|
|
509
|
+
This minimal executable use imports one concrete value from this exact entry point without a wildcard or package-root detour. Keep the value or values the application actually needs; the full named inventory remains directly above it.
|
|
510
|
+
|
|
511
|
+
```text
|
|
512
|
+
import {
|
|
513
|
+
RealtimeProviderError,
|
|
514
|
+
} from '@forgezero/providers/realtime';
|
|
515
|
+
|
|
516
|
+
export const selectedCapability = RealtimeProviderError;
|
|
250
517
|
```
|
|
251
518
|
|
|
252
519
|
## Built-in provider capabilities
|
package/dist/binance.js
CHANGED
package/dist/chain.js
CHANGED
package/dist/database.js
CHANGED
package/dist/email.js
CHANGED
package/dist/http.js
CHANGED
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
package/dist/pool.js
CHANGED
package/dist/storage.js
CHANGED
package/dist/translation.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forgezero/providers",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.15",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public",
|
|
@@ -85,6 +85,6 @@
|
|
|
85
85
|
"LICENSE"
|
|
86
86
|
],
|
|
87
87
|
"dependencies": {
|
|
88
|
-
"@forgezero/runtime": "^0.1.
|
|
88
|
+
"@forgezero/runtime": "^0.1.10"
|
|
89
89
|
}
|
|
90
90
|
}
|