@bluepic/embed 0.4.0-next.185 → 0.4.0-next.188

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.
@@ -21,11 +21,12 @@ export interface BatchFileExportContext {
21
21
  remoteOptions: RenderRemoteOptions;
22
22
  remoteVideoOptions: RenderRemoteVideoOptions;
23
23
  /**
24
- * Called once per successfully rendered row with that row's data. The
25
- * editor binds it to its per-output credit consumer, so each row is charged
26
- * exactly once per session (and never twice for the same content).
24
+ * Called once per successfully rendered row with that row's data and the
25
+ * media it produced. The editor binds it to its per-output credit consumer,
26
+ * so each row is charged exactly once per session (and never twice for the
27
+ * same content) at the batch rate for that medium.
27
28
  */
28
- consumeOutput: (data: Record<string, unknown>) => Promise<void>;
29
+ consumeOutput: (data: Record<string, unknown>, kind: 'image' | 'video') => Promise<void>;
29
30
  /** Cooperative cancellation: checked before every row starts. */
30
31
  signal?: AbortSignal;
31
32
  }
@@ -1,4 +1,4 @@
1
- import { FieldsBridge, Render, Studio, Template } from '@bluepic/types';
1
+ import { BillingV3, FieldsBridge, Render, Studio, Template } from '@bluepic/types';
2
2
  import { Ref } from 'vue';
3
3
  import { z } from '@hono/zod-openapi';
4
4
  import BxLiveTemplate from '../components/TemplateEditor/BxLiveTemplate.vue';
@@ -92,12 +92,23 @@ svgLoadWaitDelay?: Ref<number | undefined>): {
92
92
  triggerExport: () => Promise<void>;
93
93
  consumeOutputFor: (rowData: {
94
94
  [k: string]: unknown;
95
- }) => Promise<void>;
95
+ }, kind?: "image" | "video") => Promise<void>;
96
96
  preCacheLocalRender: () => Promise<void>;
97
97
  rendering: Ref<boolean, boolean>;
98
98
  videoRenderingProgress: Ref<number | undefined, number | undefined>;
99
99
  };
100
- export declare function consumeCredits(apiBaseUrl: string, env: 'dev' | 'prod', campaignId: number, templateId: string, sessionState: string, billingKey: number): Promise<void>;
100
+ /**
101
+ * Report ONE delivered output to the server.
102
+ *
103
+ * The SDK names the surface (`usage`) and describes what it produced
104
+ * (`assets`) — it never sends, and never learns, a price. The rate table lives
105
+ * server-side in `@bluepic/types` (`BillingV3.calculateCenticreditConsumption`).
106
+ */
107
+ export declare function consumeCredits(apiBaseUrl: string, env: 'dev' | 'prod', campaignId: number, templateId: string, sessionState: string, billingKey: number,
108
+ /** Which surface produced this. Omitted = a single editor export. */
109
+ usage?: Studio.ConsumeRenderCreditsUsage,
110
+ /** One entry per delivered file — an array of one for a single export. */
111
+ assets?: BillingV3.BillableUsageAsset[]): Promise<void>;
101
112
  export declare function hasMobileShareCapability(files: File[]): boolean;
102
113
  export declare function blobsToShareFiles(files: Blob[], baseName: string): File[];
103
114
  export declare function performDownload(files: Blob[], baseName: string): Promise<void>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bluepic/embed",
3
- "version": "0.4.0-next.185",
3
+ "version": "0.4.0-next.188",
4
4
  "description": "Bluepic embed sdk",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -46,7 +46,7 @@
46
46
  },
47
47
  "devDependencies": {
48
48
  "@auth0/auth0-vue": "^2.4.0",
49
- "@bluepic/types": "^0.8.66",
49
+ "@bluepic/types": "^0.8.75",
50
50
  "@hono/zod-openapi": "^1.1.4",
51
51
  "@types/css": "^0.0.38",
52
52
  "@types/downloadjs": "^1.4.6",