@brotu/ai 0.6.0 → 0.7.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/README.md +18 -2
- package/dist/adapters/brotu.adapter.d.ts.map +1 -1
- package/dist/adapters/estimate.d.ts.map +1 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/helpers/result.d.ts +6 -0
- package/dist/helpers/result.d.ts.map +1 -1
- package/dist/index.cjs +22 -3
- package/dist/index.js +22 -3
- package/dist/lib/hooks.d.ts +2 -0
- package/dist/lib/hooks.d.ts.map +1 -1
- package/dist/lib/webhook.d.ts +2 -0
- package/dist/lib/webhook.d.ts.map +1 -1
- package/dist/ports/content-generator.port.d.ts +14 -0
- package/dist/ports/content-generator.port.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -79,7 +79,7 @@ Every public call returns `{ data, error }`. `data` is unusable until you narrow
|
|
|
79
79
|
| `ai.jobs` | `poll` / `wait` |
|
|
80
80
|
| `ai.webhook` | `set` / `clear` / `get` |
|
|
81
81
|
| `hooks` | constructor option: your own code on start, success and failure |
|
|
82
|
-
| `ai.estimateCost` | units, and USD when verified |
|
|
82
|
+
| `ai.estimateCost` | units, credits from the catalog, and USD when verified |
|
|
83
83
|
| `ai.kling` | `motionControl`, `omniVideo`, `avatar`, `outpainting`, `imageOmni` |
|
|
84
84
|
| `ai.google` | `omniVideo` (conversational refine) |
|
|
85
85
|
|
|
@@ -242,7 +242,7 @@ const ai = brotu({
|
|
|
242
242
|
|
|
243
243
|
One optional callback per kind and stage — `on{Image,Video,Audio,Text}{Loading,Success,Error}`, twelve typed names. `Loading` fires once the model is routed, before the provider is called; `Success` and `Error` fire wherever the webhook fires, deduped by job id. A hook that throws never fails the generation.
|
|
244
244
|
|
|
245
|
-
The event is `HookEvent`: `kind`, `stage`, `provider`, `model`, `jobId`, `outputs`, `error`, `metadata`, `processingTimeMs`, `at`.
|
|
245
|
+
The event is `HookEvent`: `kind`, `stage`, `provider`, `model`, `jobId`, `outputs`, `error`, `metadata`, `creditsUsed`, `processingTimeMs`, `at`.
|
|
246
246
|
|
|
247
247
|
## Motion control, avatars, omni
|
|
248
248
|
|
|
@@ -315,6 +315,22 @@ const { data } = await ai.estimateCost("video", {
|
|
|
315
315
|
});
|
|
316
316
|
```
|
|
317
317
|
|
|
318
|
+
`data.credits` is the catalog's credit price for that request, or null where the model carries no rate.
|
|
319
|
+
|
|
320
|
+
To bill your own users per generation, pass `credits` on the request. It comes back as `creditsUsed` on the result, the hook and the webhook, so your ledger debits one number instead of recomputing it per model — nothing is debited here.
|
|
321
|
+
|
|
322
|
+
```ts
|
|
323
|
+
const estimate = await ai.estimateCost("video", { model: "kling/v3", prompt: "x", duration: 5 });
|
|
324
|
+
|
|
325
|
+
await ai.video.generate({
|
|
326
|
+
model: "kling/v3",
|
|
327
|
+
prompt: "x",
|
|
328
|
+
duration: 5,
|
|
329
|
+
credits: estimate.data?.credits ?? 0,
|
|
330
|
+
metadata: { userId: "u_1" },
|
|
331
|
+
});
|
|
332
|
+
```
|
|
333
|
+
|
|
318
334
|
Provider URLs expire. Pass `storage` (any S3 API) and outputs land in your bucket. `outputs[].url` is your copy; `sourceUrl` is the original. `@aws-sdk/client-s3` is an optional peer.
|
|
319
335
|
|
|
320
336
|
```ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brotu.adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/brotu.adapter.ts"],"names":[],"mappings":"AACA,OAAO,EAEN,KAAK,GAAG,EACR,KAAK,WAAW,EAEhB,MAAM,aAAa,CAAC;AACrB,OAAO,EACN,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,YAAY,EAEjB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,MAAM,iCAAiC,CAAC;AAGzC,MAAM,WAAW,mBAAmB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB;AAMD;;;GAGG;AACH,QAAA,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAO9C,CAAC;AAuBF,qBAAa,YAAa,YAAW,oBAAoB;IAM5C,OAAO,CAAC,QAAQ,CAAC,IAAI;IALjC,QAAQ,CAAC,YAAY,WAAW;IAChC,QAAQ,CAAC,cAAc,EAAE,cAAc,EAAE,CAA8B;IAEvE,OAAO,CAAC,gBAAgB,CAAC,CAAS;IAElC,YAA6B,IAAI,EAAE,mBAAmB,EAAI;IAE1D,OAAO,KAAK,MAAM,GAEjB;IAED,OAAO,CAAC,OAAO;YAOD,WAAW;IAiBzB,OAAO,CAAC,UAAU;YAKJ,OAAO;IAyBrB,OAAO,CAAC,aAAa;YAIP,eAAe;IAwB7B,OAAO,CAAC,SAAS;IAgBjB,OAAO,CAAC,SAAS;YAqBH,GAAG;IA4DX,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,CAgChD;IAED,OAAO,CAAC,iBAAiB;IAUzB,aAAa,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAEtE;IAED,aAAa,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAEtE;IAEK,YAAY,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAU1E;IAEK,aAAa,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAU5E;IAEK,YAAY,CACjB,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,gBAAgB,GACtB,OAAO,CAAC,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"brotu.adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/brotu.adapter.ts"],"names":[],"mappings":"AACA,OAAO,EAEN,KAAK,GAAG,EACR,KAAK,WAAW,EAEhB,MAAM,aAAa,CAAC;AACrB,OAAO,EACN,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,YAAY,EAEjB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,MAAM,iCAAiC,CAAC;AAGzC,MAAM,WAAW,mBAAmB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB;AAMD;;;GAGG;AACH,QAAA,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAO9C,CAAC;AAuBF,qBAAa,YAAa,YAAW,oBAAoB;IAM5C,OAAO,CAAC,QAAQ,CAAC,IAAI;IALjC,QAAQ,CAAC,YAAY,WAAW;IAChC,QAAQ,CAAC,cAAc,EAAE,cAAc,EAAE,CAA8B;IAEvE,OAAO,CAAC,gBAAgB,CAAC,CAAS;IAElC,YAA6B,IAAI,EAAE,mBAAmB,EAAI;IAE1D,OAAO,KAAK,MAAM,GAEjB;IAED,OAAO,CAAC,OAAO;YAOD,WAAW;IAiBzB,OAAO,CAAC,UAAU;YAKJ,OAAO;IAyBrB,OAAO,CAAC,aAAa;YAIP,eAAe;IAwB7B,OAAO,CAAC,SAAS;IAgBjB,OAAO,CAAC,SAAS;YAqBH,GAAG;IA4DX,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,CAgChD;IAED,OAAO,CAAC,iBAAiB;IAUzB,aAAa,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAEtE;IAED,aAAa,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAEtE;IAEK,YAAY,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAU1E;IAEK,aAAa,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAU5E;IAEK,YAAY,CACjB,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,gBAAgB,GACtB,OAAO,CAAC,YAAY,CAAC,CAwDvB;IAED,aAAa,IAAI,OAAO,CAEvB;IAED,kBAAkB,IAAI;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,cAAc,CAAA;KAAE,EAAE,CAEzE;CACD;AA2BD,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"estimate.d.ts","sourceRoot":"","sources":["../../src/adapters/estimate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,MAAM,iCAAiC,CAAC;AAEzC;;;;GAIG;AACH,wBAAgB,WAAW,CAC1B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,gBAAgB,EACxB,QAAQ,CAAC,EAAE;IAAE,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,GACrC,YAAY,
|
|
1
|
+
{"version":3,"file":"estimate.d.ts","sourceRoot":"","sources":["../../src/adapters/estimate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,MAAM,iCAAiC,CAAC;AAEzC;;;;GAIG;AACH,wBAAgB,WAAW,CAC1B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,gBAAgB,EACxB,QAAQ,CAAC,EAAE;IAAE,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,GACrC,YAAY,CA6Dd"}
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAQA,OAAO,EAGN,QAAQ,EACR,KAAK,iBAAiB,EAGtB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAmB,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EACN,KAAK,OAAO,EAGZ,KAAK,UAAU,EAEf,KAAK,MAAM,EACX,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAEN,KAAK,GAAG,EACR,KAAK,WAAW,EAEhB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAGN,KAAK,aAAa,EAGlB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EACX,qBAAqB,EAErB,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAEhB,cAAc,EACd,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACN,KAAK,WAAW,EAChB,KAAK,cAAc,EAEnB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,mDAAmD;AACnD,eAAO,MAAM,gBAAgB,YAC5B,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,MAAM,EACN,OAAO,CACE,CAAC;AAOX,MAAM,WAAW,OAAO;IACvB,KAAK,EAAE;QACN,sEAAsE;QACtE,MAAM,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5D,4EAA4E;QAC5E,QAAQ,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QACrE;;;;WAIG;QACH,IAAI,IAAI,iBAAiB,EAAE,CAAC;QAC5B;;;WAGG;QACH,OAAO,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;KACjE,CAAC;IACF,KAAK,EAAE;QACN,MAAM,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5D,QAAQ,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QACrE,IAAI,IAAI,iBAAiB,EAAE,CAAC;QAC5B;;;WAGG;QACH,OAAO,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;KAC1D,CAAC;IACF,IAAI,EAAE;QACL,MAAM,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3D,QAAQ,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QACpE,2EAA2E;QAC3E,IAAI,IAAI,iBAAiB,EAAE,CAAC;KAC5B,CAAC;IACF,uDAAuD;IACvD,KAAK,EAAE;QACN,MAAM,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5D,QAAQ,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QACrE,6EAA6E;QAC7E,IAAI,IAAI,iBAAiB,EAAE,CAAC;KAC5B,CAAC;IACF,IAAI,EAAE;QACL,uDAAuD;QACvD,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;QAC7C,wDAAwD;QACxD,IAAI,CACH,GAAG,EAAE,GAAG,EACR,OAAO,CAAC,EAAE;YAAE,SAAS,CAAC,EAAE,MAAM,CAAA;SAAE,GAC9B,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;KAC/B,CAAC;IACF;;;OAGG;IACH,OAAO,EAAE;QACR,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAAC;QACzC,KAAK,IAAI,IAAI,CAAC;QACd,GAAG,IAAI,aAAa,GAAG,SAAS,CAAC;KACjC,CAAC;IACF;;;OAGG;IACH,MAAM,CAAC,EAAE;QACR;;;;;WAKG;QACH,SAAS,CACR,KAAK,EAAE,qBAAqB,GAAG;YAAE,qBAAqB,CAAC,EAAE,MAAM,CAAA;SAAE,GAC/D,OAAO,CAAC,MAAM,CAAC;YAAE,aAAa,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,gBAAgB,EAAE,CAAA;SAAE,CAAC,CAAC,CAAC;KAC5E,CAAC;IACF;;;;;OAKG;IACH,KAAK,CAAC,EAAE;QACP,wDAAwD;QACxD,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/D,8EAA8E;QAC9E,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACvD,6DAA6D;QAC7D,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACjD,iDAAiD;QACjD,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3D,mDAAmD;QACnD,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;KACvD,CAAC;IACF,kCAAkC;IAClC,MAAM,IAAI,aAAa,EAAE,CAAC;IAC1B;;;;OAIG;IACH,YAAY,CACX,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,gBAAgB,GACtB,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;CACjC;AAED,wBAAgB,KAAK,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/helpers/result.d.ts
CHANGED
|
@@ -48,6 +48,12 @@ export interface Generation {
|
|
|
48
48
|
provider: string;
|
|
49
49
|
model: string;
|
|
50
50
|
processingTimeMs: number;
|
|
51
|
+
/**
|
|
52
|
+
* Credits this generation cost. The `credits` you passed on the request when
|
|
53
|
+
* you passed one, otherwise what the platform charged — 0 on a vendor key,
|
|
54
|
+
* which bills you in dollars, not credits.
|
|
55
|
+
*/
|
|
56
|
+
creditsUsed: number;
|
|
51
57
|
/** The tags the request carried, handed straight back. */
|
|
52
58
|
metadata?: Record<string, string>;
|
|
53
59
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../src/helpers/result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAExE,MAAM,MAAM,WAAW;AACtB,0CAA0C;AACxC,eAAe;AACjB,+DAA+D;GAC7D,aAAa;AACf,0CAA0C;GACxC,sBAAsB;AACxB,kEAAkE;GAChE,iBAAiB;AACnB,yEAAyE;GACvE,gBAAgB;AAClB,2EAA2E;GACzE,SAAS,CAAC;AAEb,MAAM,WAAW,OAAO;IACvB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,IACjB;IAAE,IAAI,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,IAAI,CAAA;CAAE,GACxB;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC;AAElC,wBAAgB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAExC;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAEjD;AAED,gFAAgF;AAChF,wBAAgB,QAAQ,CAAC,CAAC,EACzB,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7C,MAAM,CAAC,CAAC,CAAC,CAOX;AAED,iFAAiF;AACjF,MAAM,WAAW,UAAU;IAC1B,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,MAAM,CAAC;IACzB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC"}
|
|
1
|
+
{"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../src/helpers/result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAExE,MAAM,MAAM,WAAW;AACtB,0CAA0C;AACxC,eAAe;AACjB,+DAA+D;GAC7D,aAAa;AACf,0CAA0C;GACxC,sBAAsB;AACxB,kEAAkE;GAChE,iBAAiB;AACnB,yEAAyE;GACvE,gBAAgB;AAClB,2EAA2E;GACzE,SAAS,CAAC;AAEb,MAAM,WAAW,OAAO;IACvB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,IACjB;IAAE,IAAI,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,IAAI,CAAA;CAAE,GACxB;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC;AAElC,wBAAgB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAExC;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAEjD;AAED,gFAAgF;AAChF,wBAAgB,QAAQ,CAAC,CAAC,EACzB,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7C,MAAM,CAAC,CAAC,CAAC,CAOX;AAED,iFAAiF;AACjF,MAAM,WAAW,UAAU;IAC1B,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC"}
|
package/dist/index.cjs
CHANGED
|
@@ -1521,9 +1521,14 @@ function estimateFor(provider, type, params, defaults) {
|
|
|
1521
1521
|
}
|
|
1522
1522
|
const resolution = params.resolution;
|
|
1523
1523
|
const rate = (resolution ? model?.pricing?.byResolution?.[resolution] : void 0) ?? model?.pricing?.usdPerUnit;
|
|
1524
|
+
const tier = model?.runtimePricingTiers?.find(
|
|
1525
|
+
(candidate) => (candidate.resolution === void 0 || candidate.resolution === resolution) && (candidate.durationSeconds === void 0 || candidate.durationSeconds === units)
|
|
1526
|
+
);
|
|
1527
|
+
const creditsPerUnit = tier?.creditsPerUnit ?? model?.creditsPerUnit;
|
|
1524
1528
|
return {
|
|
1525
1529
|
unit,
|
|
1526
1530
|
units,
|
|
1531
|
+
credits: creditsPerUnit ? creditsPerUnit * units : null,
|
|
1527
1532
|
usd: rate === void 0 || unit === "token" ? null : Number((rate * units).toFixed(4)),
|
|
1528
1533
|
note: unit === "token" && rate !== void 0 ? `Billed per token at $${(rate * 1e6).toFixed(2)} per million output tokens. The total depends on how much the model writes, so it is only known after generating.` : rate === void 0 ? `No verified rate for "${modelId}". It bills to your own ${provider} account; ${units} ${unit}${units === 1 ? "" : "s"} will be charged.` : void 0,
|
|
1529
1534
|
provider,
|
|
@@ -1797,6 +1802,7 @@ var BrotuAdapter = class {
|
|
|
1797
1802
|
return {
|
|
1798
1803
|
unit: type === "video" ? "second" : "image",
|
|
1799
1804
|
units: credits,
|
|
1805
|
+
credits,
|
|
1800
1806
|
usd: null,
|
|
1801
1807
|
note: `${credits} Brotu credit${credits === 1 ? "" : "s"}. A vendor key generates on that provider.`,
|
|
1802
1808
|
provider: this.providerName,
|
|
@@ -4671,6 +4677,7 @@ function brotu(options) {
|
|
|
4671
4677
|
outputs: input.outputs,
|
|
4672
4678
|
error: input.error ? { code: input.error.code, message: input.error.message } : void 0,
|
|
4673
4679
|
metadata: input.metadata ?? input.job?.metadata,
|
|
4680
|
+
creditsUsed: input.params?.credits ?? input.creditsUsed,
|
|
4674
4681
|
processingTimeMs: input.processingTimeMs,
|
|
4675
4682
|
completedAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
4676
4683
|
};
|
|
@@ -4684,6 +4691,7 @@ function brotu(options) {
|
|
|
4684
4691
|
outputs: payload.outputs,
|
|
4685
4692
|
error: payload.error,
|
|
4686
4693
|
metadata: payload.metadata,
|
|
4694
|
+
creditsUsed: payload.creditsUsed,
|
|
4687
4695
|
processingTimeMs: payload.processingTimeMs,
|
|
4688
4696
|
at: payload.completedAt
|
|
4689
4697
|
});
|
|
@@ -4700,7 +4708,7 @@ function brotu(options) {
|
|
|
4700
4708
|
at: (/* @__PURE__ */ new Date()).toISOString()
|
|
4701
4709
|
});
|
|
4702
4710
|
}
|
|
4703
|
-
async function toGeneration(raw, metadata) {
|
|
4711
|
+
async function toGeneration(raw, metadata, credits) {
|
|
4704
4712
|
if (!raw.success) {
|
|
4705
4713
|
return fail({
|
|
4706
4714
|
code: "provider_error",
|
|
@@ -4715,6 +4723,9 @@ function brotu(options) {
|
|
|
4715
4723
|
provider: raw.provider,
|
|
4716
4724
|
model: raw.model,
|
|
4717
4725
|
processingTimeMs: raw.processingTimeMs,
|
|
4726
|
+
// What you said to charge wins over what the platform reported: the
|
|
4727
|
+
// caller's number is the one their ledger has to match.
|
|
4728
|
+
creditsUsed: credits ?? raw.creditsUsed,
|
|
4718
4729
|
metadata
|
|
4719
4730
|
});
|
|
4720
4731
|
}
|
|
@@ -4725,7 +4736,8 @@ function brotu(options) {
|
|
|
4725
4736
|
try {
|
|
4726
4737
|
const result = await toGeneration(
|
|
4727
4738
|
await generateWith(routed.data.adapter, kind, params),
|
|
4728
|
-
params.metadata
|
|
4739
|
+
params.metadata,
|
|
4740
|
+
params.credits
|
|
4729
4741
|
);
|
|
4730
4742
|
if (result.error) {
|
|
4731
4743
|
await notifySettled({
|
|
@@ -4747,6 +4759,7 @@ function brotu(options) {
|
|
|
4747
4759
|
model: result.data.model,
|
|
4748
4760
|
outputs: result.data.outputs,
|
|
4749
4761
|
metadata: result.data.metadata,
|
|
4762
|
+
creditsUsed: result.data.creditsUsed,
|
|
4750
4763
|
processingTimeMs: result.data.processingTimeMs
|
|
4751
4764
|
});
|
|
4752
4765
|
return result;
|
|
@@ -4843,6 +4856,7 @@ function brotu(options) {
|
|
|
4843
4856
|
outputs: snapshot.result.outputs,
|
|
4844
4857
|
provider: snapshot.result.provider,
|
|
4845
4858
|
model: snapshot.result.model,
|
|
4859
|
+
creditsUsed: snapshot.result.creditsUsed,
|
|
4846
4860
|
processingTimeMs: snapshot.result.processingTimeMs,
|
|
4847
4861
|
metadata: job.metadata
|
|
4848
4862
|
});
|
|
@@ -4865,7 +4879,11 @@ function brotu(options) {
|
|
|
4865
4879
|
}
|
|
4866
4880
|
async function finalizeSnapshot(job, snapshot) {
|
|
4867
4881
|
if (snapshot.status === "succeeded" && snapshot.result) {
|
|
4868
|
-
const persisted = await toGeneration(
|
|
4882
|
+
const persisted = await toGeneration(
|
|
4883
|
+
snapshot.result,
|
|
4884
|
+
job.metadata,
|
|
4885
|
+
job.params.credits
|
|
4886
|
+
);
|
|
4869
4887
|
if (!persisted.error) {
|
|
4870
4888
|
snapshot = {
|
|
4871
4889
|
status: "succeeded",
|
|
@@ -5052,6 +5070,7 @@ function brotu(options) {
|
|
|
5052
5070
|
provider: snapshot.result.provider,
|
|
5053
5071
|
model: snapshot.result.model,
|
|
5054
5072
|
processingTimeMs: snapshot.result.processingTimeMs,
|
|
5073
|
+
creditsUsed: job.params.credits ?? snapshot.result.creditsUsed,
|
|
5055
5074
|
metadata: job.metadata
|
|
5056
5075
|
});
|
|
5057
5076
|
}
|
package/dist/index.js
CHANGED
|
@@ -88,9 +88,14 @@ function estimateFor(provider, type, params, defaults) {
|
|
|
88
88
|
}
|
|
89
89
|
const resolution = params.resolution;
|
|
90
90
|
const rate = (resolution ? model?.pricing?.byResolution?.[resolution] : void 0) ?? model?.pricing?.usdPerUnit;
|
|
91
|
+
const tier = model?.runtimePricingTiers?.find(
|
|
92
|
+
(candidate) => (candidate.resolution === void 0 || candidate.resolution === resolution) && (candidate.durationSeconds === void 0 || candidate.durationSeconds === units)
|
|
93
|
+
);
|
|
94
|
+
const creditsPerUnit = tier?.creditsPerUnit ?? model?.creditsPerUnit;
|
|
91
95
|
return {
|
|
92
96
|
unit,
|
|
93
97
|
units,
|
|
98
|
+
credits: creditsPerUnit ? creditsPerUnit * units : null,
|
|
94
99
|
usd: rate === void 0 || unit === "token" ? null : Number((rate * units).toFixed(4)),
|
|
95
100
|
note: unit === "token" && rate !== void 0 ? `Billed per token at $${(rate * 1e6).toFixed(2)} per million output tokens. The total depends on how much the model writes, so it is only known after generating.` : rate === void 0 ? `No verified rate for "${modelId}". It bills to your own ${provider} account; ${units} ${unit}${units === 1 ? "" : "s"} will be charged.` : void 0,
|
|
96
101
|
provider,
|
|
@@ -364,6 +369,7 @@ var BrotuAdapter = class {
|
|
|
364
369
|
return {
|
|
365
370
|
unit: type === "video" ? "second" : "image",
|
|
366
371
|
units: credits,
|
|
372
|
+
credits,
|
|
367
373
|
usd: null,
|
|
368
374
|
note: `${credits} Brotu credit${credits === 1 ? "" : "s"}. A vendor key generates on that provider.`,
|
|
369
375
|
provider: this.providerName,
|
|
@@ -3238,6 +3244,7 @@ function brotu(options) {
|
|
|
3238
3244
|
outputs: input.outputs,
|
|
3239
3245
|
error: input.error ? { code: input.error.code, message: input.error.message } : void 0,
|
|
3240
3246
|
metadata: input.metadata ?? input.job?.metadata,
|
|
3247
|
+
creditsUsed: input.params?.credits ?? input.creditsUsed,
|
|
3241
3248
|
processingTimeMs: input.processingTimeMs,
|
|
3242
3249
|
completedAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
3243
3250
|
};
|
|
@@ -3251,6 +3258,7 @@ function brotu(options) {
|
|
|
3251
3258
|
outputs: payload.outputs,
|
|
3252
3259
|
error: payload.error,
|
|
3253
3260
|
metadata: payload.metadata,
|
|
3261
|
+
creditsUsed: payload.creditsUsed,
|
|
3254
3262
|
processingTimeMs: payload.processingTimeMs,
|
|
3255
3263
|
at: payload.completedAt
|
|
3256
3264
|
});
|
|
@@ -3267,7 +3275,7 @@ function brotu(options) {
|
|
|
3267
3275
|
at: (/* @__PURE__ */ new Date()).toISOString()
|
|
3268
3276
|
});
|
|
3269
3277
|
}
|
|
3270
|
-
async function toGeneration(raw, metadata) {
|
|
3278
|
+
async function toGeneration(raw, metadata, credits) {
|
|
3271
3279
|
if (!raw.success) {
|
|
3272
3280
|
return fail({
|
|
3273
3281
|
code: "provider_error",
|
|
@@ -3282,6 +3290,9 @@ function brotu(options) {
|
|
|
3282
3290
|
provider: raw.provider,
|
|
3283
3291
|
model: raw.model,
|
|
3284
3292
|
processingTimeMs: raw.processingTimeMs,
|
|
3293
|
+
// What you said to charge wins over what the platform reported: the
|
|
3294
|
+
// caller's number is the one their ledger has to match.
|
|
3295
|
+
creditsUsed: credits ?? raw.creditsUsed,
|
|
3285
3296
|
metadata
|
|
3286
3297
|
});
|
|
3287
3298
|
}
|
|
@@ -3292,7 +3303,8 @@ function brotu(options) {
|
|
|
3292
3303
|
try {
|
|
3293
3304
|
const result = await toGeneration(
|
|
3294
3305
|
await generateWith(routed.data.adapter, kind, params),
|
|
3295
|
-
params.metadata
|
|
3306
|
+
params.metadata,
|
|
3307
|
+
params.credits
|
|
3296
3308
|
);
|
|
3297
3309
|
if (result.error) {
|
|
3298
3310
|
await notifySettled({
|
|
@@ -3314,6 +3326,7 @@ function brotu(options) {
|
|
|
3314
3326
|
model: result.data.model,
|
|
3315
3327
|
outputs: result.data.outputs,
|
|
3316
3328
|
metadata: result.data.metadata,
|
|
3329
|
+
creditsUsed: result.data.creditsUsed,
|
|
3317
3330
|
processingTimeMs: result.data.processingTimeMs
|
|
3318
3331
|
});
|
|
3319
3332
|
return result;
|
|
@@ -3410,6 +3423,7 @@ function brotu(options) {
|
|
|
3410
3423
|
outputs: snapshot.result.outputs,
|
|
3411
3424
|
provider: snapshot.result.provider,
|
|
3412
3425
|
model: snapshot.result.model,
|
|
3426
|
+
creditsUsed: snapshot.result.creditsUsed,
|
|
3413
3427
|
processingTimeMs: snapshot.result.processingTimeMs,
|
|
3414
3428
|
metadata: job.metadata
|
|
3415
3429
|
});
|
|
@@ -3432,7 +3446,11 @@ function brotu(options) {
|
|
|
3432
3446
|
}
|
|
3433
3447
|
async function finalizeSnapshot(job, snapshot) {
|
|
3434
3448
|
if (snapshot.status === "succeeded" && snapshot.result) {
|
|
3435
|
-
const persisted = await toGeneration(
|
|
3449
|
+
const persisted = await toGeneration(
|
|
3450
|
+
snapshot.result,
|
|
3451
|
+
job.metadata,
|
|
3452
|
+
job.params.credits
|
|
3453
|
+
);
|
|
3436
3454
|
if (!persisted.error) {
|
|
3437
3455
|
snapshot = {
|
|
3438
3456
|
status: "succeeded",
|
|
@@ -3619,6 +3637,7 @@ function brotu(options) {
|
|
|
3619
3637
|
provider: snapshot.result.provider,
|
|
3620
3638
|
model: snapshot.result.model,
|
|
3621
3639
|
processingTimeMs: snapshot.result.processingTimeMs,
|
|
3640
|
+
creditsUsed: job.params.credits ?? snapshot.result.creditsUsed,
|
|
3622
3641
|
metadata: job.metadata
|
|
3623
3642
|
});
|
|
3624
3643
|
}
|
package/dist/lib/hooks.d.ts
CHANGED
|
@@ -12,6 +12,8 @@ export interface HookEvent {
|
|
|
12
12
|
outputs?: GenerationOutput[];
|
|
13
13
|
error?: Pick<AIError, "code" | "message">;
|
|
14
14
|
metadata?: Record<string, string>;
|
|
15
|
+
/** Credits to charge for this generation, as `Generation.creditsUsed`. */
|
|
16
|
+
creditsUsed?: number;
|
|
15
17
|
processingTimeMs?: number;
|
|
16
18
|
at: string;
|
|
17
19
|
}
|
package/dist/lib/hooks.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/lib/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EACX,gBAAgB,EAChB,cAAc,EACd,MAAM,iCAAiC,CAAC;AAEzC,iDAAiD;AACjD,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAExD,4EAA4E;AAC5E,MAAM,WAAW,SAAS;IACzB,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,EAAE,EAAE,MAAM,CAAC;CACX;AAED,MAAM,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAEhE;;;GAGG;AACH,MAAM,MAAM,KAAK,GAAG,OAAO,CAC1B,MAAM,CAAC,KAAK,UAAU,CAAC,cAAc,CAAC,GAAG,SAAS,EAAE,EAAE,MAAM,CAAC,CAC7D,CAAC;AAMF,2DAA2D;AAC3D,wBAAgB,QAAQ,CACvB,KAAK,EAAE,KAAK,GAAG,SAAS,EACxB,IAAI,EAAE,cAAc,GAAG,SAAS,EAChC,KAAK,EAAE,SAAS,GACd,MAAM,GAAG,SAAS,CAGpB;AAED;;;;GAIG;AACH,wBAAsB,OAAO,CAC5B,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,KAAK,EAAE,SAAS,GACd,OAAO,CAAC,IAAI,CAAC,CAOf"}
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/lib/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EACX,gBAAgB,EAChB,cAAc,EACd,MAAM,iCAAiC,CAAC;AAEzC,iDAAiD;AACjD,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAExD,4EAA4E;AAC5E,MAAM,WAAW,SAAS;IACzB,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,EAAE,EAAE,MAAM,CAAC;CACX;AAED,MAAM,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAEhE;;;GAGG;AACH,MAAM,MAAM,KAAK,GAAG,OAAO,CAC1B,MAAM,CAAC,KAAK,UAAU,CAAC,cAAc,CAAC,GAAG,SAAS,EAAE,EAAE,MAAM,CAAC,CAC7D,CAAC;AAMF,2DAA2D;AAC3D,wBAAgB,QAAQ,CACvB,KAAK,EAAE,KAAK,GAAG,SAAS,EACxB,IAAI,EAAE,cAAc,GAAG,SAAS,EAChC,KAAK,EAAE,SAAS,GACd,MAAM,GAAG,SAAS,CAGpB;AAED;;;;GAIG;AACH,wBAAsB,OAAO,CAC5B,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,KAAK,EAAE,SAAS,GACd,OAAO,CAAC,IAAI,CAAC,CAOf"}
|
package/dist/lib/webhook.d.ts
CHANGED
|
@@ -16,6 +16,8 @@ export interface WebhookEvent {
|
|
|
16
16
|
outputs?: GenerationOutput[];
|
|
17
17
|
error?: Pick<AIError, "code" | "message">;
|
|
18
18
|
metadata?: Record<string, string>;
|
|
19
|
+
/** Credits to charge for this generation, as `Generation.creditsUsed`. */
|
|
20
|
+
creditsUsed?: number;
|
|
19
21
|
processingTimeMs?: number;
|
|
20
22
|
completedAt: string;
|
|
21
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhook.d.ts","sourceRoot":"","sources":["../../src/lib/webhook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EACX,gBAAgB,EAChB,cAAc,EACd,MAAM,iCAAiC,CAAC;AAEzC,MAAM,MAAM,gBAAgB,GAAG,sBAAsB,GAAG,mBAAmB,CAAC;AAE5E,MAAM,WAAW,aAAa;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,YAAY;IAC5B,KAAK,EAAE,gBAAgB,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,cAAc,CAC7B,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,GACvC,aAAa,GAAG,SAAS,CAW3B;AAWD;;;GAGG;AACH,wBAAsB,cAAc,CACnC,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,YAAY,GACnB,OAAO,CAAC,IAAI,CAAC,CAmBf"}
|
|
1
|
+
{"version":3,"file":"webhook.d.ts","sourceRoot":"","sources":["../../src/lib/webhook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EACX,gBAAgB,EAChB,cAAc,EACd,MAAM,iCAAiC,CAAC;AAEzC,MAAM,MAAM,gBAAgB,GAAG,sBAAsB,GAAG,mBAAmB,CAAC;AAE5E,MAAM,WAAW,aAAa;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,YAAY;IAC5B,KAAK,EAAE,gBAAgB,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,cAAc,CAC7B,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,GACvC,aAAa,GAAG,SAAS,CAW3B;AAWD;;;GAGG;AACH,wBAAsB,cAAc,CACnC,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,YAAY,GACnB,OAAO,CAAC,IAAI,CAAC,CAmBf"}
|
|
@@ -29,6 +29,15 @@ export interface CommonGenerationParams {
|
|
|
29
29
|
* string or `{ url, secret }`. Not sent to the provider.
|
|
30
30
|
*/
|
|
31
31
|
webhook?: string | WebhookConfig;
|
|
32
|
+
/**
|
|
33
|
+
* What this generation costs the user on your side, in your own credits.
|
|
34
|
+
* Carried through untouched and handed back on the job, the result, the hook
|
|
35
|
+
* and the webhook, so your server debits from one number instead of
|
|
36
|
+
* recomputing it per model. Never sent to the provider, and nothing is
|
|
37
|
+
* debited here — the SDK holds no balance. `estimateCost().credits` gives the
|
|
38
|
+
* catalog's own figure for the model, if you want to charge that.
|
|
39
|
+
*/
|
|
40
|
+
credits?: number;
|
|
32
41
|
}
|
|
33
42
|
/**
|
|
34
43
|
* Shared image parameters.
|
|
@@ -165,6 +174,11 @@ export interface CostEstimate {
|
|
|
165
174
|
* gap, and zero reads as free.
|
|
166
175
|
*/
|
|
167
176
|
usd: number | null;
|
|
177
|
+
/**
|
|
178
|
+
* What the catalog says this generation costs in credits, or null when the
|
|
179
|
+
* model carries no credit rate. Same honesty rule as `usd`.
|
|
180
|
+
*/
|
|
181
|
+
credits: number | null;
|
|
168
182
|
/** What the price depends on, or why it is unknown. */
|
|
169
183
|
note?: string;
|
|
170
184
|
provider: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-generator.port.d.ts","sourceRoot":"","sources":["../../src/ports/content-generator.port.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,gFAAgF;AAChF,MAAM,MAAM,eAAe,GACxB,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,MAAM,GACN,MAAM,GACN,OAAO,GAEP,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAEjB,MAAM,MAAM,eAAe,GACxB,IAAI,GACJ,IAAI,GACJ,IAAI,GAEJ,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAEjB;;;GAGG;AAEH,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;AAElE,gEAAgE;AAChE,MAAM,WAAW,sBAAsB;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1D;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"content-generator.port.d.ts","sourceRoot":"","sources":["../../src/ports/content-generator.port.ts"],"names":[],"mappings":"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"}
|