@tinkerlandai/indiana-sdk 0.8.0 → 0.8.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +67 -20
  3. package/README.zh-CN.md +66 -19
  4. package/dist/ai-usage-BV-FlgWr.d.ts +247 -0
  5. package/dist/{ai-usage-Bigjb8MS.d.ts → api-B3FIE41b.d.ts} +554 -423
  6. package/dist/chunk-2QPETWDX.js +1 -0
  7. package/dist/chunk-ANOOBDW5.js +350 -0
  8. package/dist/chunk-BNU6IG3F.js +1 -0
  9. package/dist/chunk-GRLMT5PR.js +1 -0
  10. package/dist/chunk-LMR2TM3X.js +1 -0
  11. package/dist/chunk-OBYJWIRB.js +1 -0
  12. package/dist/{chunk-G2R56FKU.js → chunk-SHSNIJJM.js} +1 -1
  13. package/dist/{chunk-OVMNCZYC.js → chunk-SOQO2RDZ.js} +1 -1
  14. package/dist/chunk-VVV3JNS3.js +1 -0
  15. package/dist/{chunk-YAFMBXIE.js → chunk-X747SY26.js} +1 -1
  16. package/dist/chunk-Y32NPIYY.js +1 -0
  17. package/dist/chunk-ZT66RIFU.js +10 -0
  18. package/dist/{configuration-sync-VFbY1pCN.d.ts → configuration-sync-DNvKXHk-.d.ts} +25 -25
  19. package/dist/{content-K2HCZVC2.js → content-J3FKZTGT.js} +1 -1
  20. package/dist/{errors-BpCmukJr.d.ts → errors-C8lRYZ0n.d.ts} +49 -2
  21. package/dist/{funnel-runtime-start-DKcTCRrd.d.ts → funnel-local-client-wbz-4gFx.d.ts} +701 -6055
  22. package/dist/funnel-runtime-host-C5P5JTV3.js +1 -0
  23. package/dist/index.d.ts +1831 -1901
  24. package/dist/index.js +1 -1
  25. package/dist/native-shell.js +1 -1
  26. package/dist/openrouter.d.ts +4 -3
  27. package/dist/openrouter.js +1 -1
  28. package/dist/page.d.ts +7 -7
  29. package/dist/page.js +1 -1
  30. package/dist/paywall-3GIRKSHN.js +1 -0
  31. package/dist/popup.d.ts +2 -2
  32. package/dist/popup.js +1 -1
  33. package/dist/react-native.d.ts +97 -4
  34. package/dist/react-native.js +1 -1
  35. package/dist/screen-renderer-5FPYVSPW.js +1 -0
  36. package/dist/server.d.ts +4648 -8
  37. package/dist/server.js +1 -1
  38. package/dist/src-BMJCIMIF.js +1 -0
  39. package/dist/visual.js +1 -1
  40. package/package.json +3 -3
  41. package/dist/chunk-2A6UYUFA.js +0 -1
  42. package/dist/chunk-3BQFJANQ.js +0 -1
  43. package/dist/chunk-3ENVRJE6.js +0 -350
  44. package/dist/chunk-A3N4ZZTM.js +0 -7
  45. package/dist/chunk-AE4CUTUE.js +0 -1
  46. package/dist/chunk-CXYOZSOF.js +0 -1
  47. package/dist/funnel-runtime-host-HNZ47TZW.js +0 -1
  48. package/dist/paywall-PD62B2AY.js +0 -1
  49. package/dist/src-4MRSESVS.js +0 -1
  50. package/dist/{chunk-6X42DWOM.js → chunk-DSPLGTQI.js} +0 -0
  51. package/dist/{chunk-S5TVMQRC.js → chunk-EXCPE2XH.js} +0 -0
  52. package/dist/{customer-page-BrCZxcaQ.d.ts → customer-page-WUQVK_tp.d.ts} +4 -4
  53. package/dist/{screen-BazUOjwM.d.ts → screen-BpAejkn0.d.ts} +267 -267
@@ -1,11 +1,11 @@
1
1
  import { z } from 'zod';
2
- import { S as StackNode } from './screen-BazUOjwM.js';
2
+ import { S as StackNode } from './screen-BpAejkn0.js';
3
3
 
4
4
  declare const configurationScopeSchema: z.ZodObject<{
5
5
  projectId: z.ZodString;
6
6
  environment: z.ZodEnum<{
7
- live: "live";
8
7
  sandbox: "sandbox";
8
+ live: "live";
9
9
  }>;
10
10
  environmentId: z.ZodUUID;
11
11
  }, z.core.$strict>;
@@ -15,8 +15,8 @@ declare const sdkConfigurationManifestSchema: z.ZodObject<{
15
15
  scope: z.ZodObject<{
16
16
  projectId: z.ZodString;
17
17
  environment: z.ZodEnum<{
18
- live: "live";
19
18
  sandbox: "sandbox";
19
+ live: "live";
20
20
  }>;
21
21
  environmentId: z.ZodUUID;
22
22
  }, z.core.$strict>;
@@ -104,7 +104,7 @@ type Listener = () => void;
104
104
  declare function createConfigurationSync(options: ConfigurationSyncOptions): {
105
105
  scope: Readonly<{
106
106
  projectId: string;
107
- environment: "live" | "sandbox";
107
+ environment: "sandbox" | "live";
108
108
  environmentId: string;
109
109
  }>;
110
110
  refresh: () => Promise<Manifest>;
@@ -117,7 +117,7 @@ declare function createConfigurationSync(options: ConfigurationSyncOptions): {
117
117
  schemaVersion: 1;
118
118
  scope: {
119
119
  projectId: string;
120
- environment: "live" | "sandbox";
120
+ environment: "sandbox" | "live";
121
121
  environmentId: string;
122
122
  };
123
123
  revision: number;
@@ -268,7 +268,7 @@ declare function createConfigurationSync(options: ConfigurationSyncOptions): {
268
268
  }>;
269
269
  scope: {
270
270
  projectId: string;
271
- environment: "live" | "sandbox";
271
+ environment: "sandbox" | "live";
272
272
  };
273
273
  generation: string;
274
274
  savedGroups: Record<string, {
@@ -342,11 +342,6 @@ declare function createConfigurationSync(options: ConfigurationSyncOptions): {
342
342
  urlRedirect: string;
343
343
  }[];
344
344
  name?: string | undefined;
345
- meta?: {
346
- key?: string | undefined;
347
- name?: string | undefined;
348
- passthrough?: boolean | undefined;
349
- }[] | undefined;
350
345
  filters?: {
351
346
  seed: string;
352
347
  hashVersion: 2;
@@ -376,6 +371,11 @@ declare function createConfigurationSync(options: ConfigurationSyncOptions): {
376
371
  disableStickyBucketing?: boolean | undefined;
377
372
  bucketVersion?: number | undefined;
378
373
  minBucketVersion?: number | undefined;
374
+ meta?: {
375
+ key?: string | undefined;
376
+ name?: string | undefined;
377
+ passthrough?: boolean | undefined;
378
+ }[] | undefined;
379
379
  phase?: string | undefined;
380
380
  }[];
381
381
  savedGroups: Record<string, {
@@ -608,7 +608,7 @@ declare function createConfigurationSync(options: ConfigurationSyncOptions): {
608
608
  event: string;
609
609
  } | {
610
610
  type: "api";
611
- operation: "attach" | "refund" | "update" | "readBalanceSource" | "adjustBalance" | "readUsage" | "setUsage" | "manageBalanceGrant" | "listBalanceGrants" | "restoreNativePurchase" | "setupPayment" | "readPaymentSetup" | "verifySubscriptions" | "previewAttach" | "readSubscriptionOperation" | "previewUpdate" | "readSubscriptionUpdate" | "previewRefund" | "readRefund" | "readBillingControls" | "prepareBillingAuthorization" | "confirmBillingAuthorization" | "setBillingCoupons" | "revokeBillingAuthorization" | "listBillingInvoices" | "confirmBillingAdjustment" | "manageBillingLimits" | "manageUsageEntity" | "readUsageAnalytics" | "readCreditAnalytics" | "submitUsageBatch" | "readUsageBatch" | "checkEntitlement" | "resolveOffering" | "readHoldings" | "readLedger" | "readBillingInvoice" | "readCreditStatement" | "quoteBalance" | "trackUsage" | "mutateBalance" | "redeemReward" | "createReferralCode" | "claimRewardProduct" | "readSeats" | "manageSeat" | "redeemCoupon" | "listOffers" | "grantOffer";
611
+ operation: "update" | "attach" | "refund" | "sendMessage" | "readBalanceSource" | "adjustBalance" | "readUsage" | "setUsage" | "manageBalanceGrant" | "listBalanceGrants" | "restoreNativePurchase" | "setupPayment" | "readPaymentSetup" | "verifySubscriptions" | "previewAttach" | "readSubscriptionOperation" | "previewUpdate" | "readSubscriptionUpdate" | "previewRefund" | "readRefund" | "readBillingControls" | "prepareBillingAuthorization" | "confirmBillingAuthorization" | "setBillingCoupons" | "revokeBillingAuthorization" | "listBillingInvoices" | "confirmBillingAdjustment" | "manageBillingLimits" | "manageUsageEntity" | "readUsageAnalytics" | "readCreditAnalytics" | "submitUsageBatch" | "readUsageBatch" | "checkEntitlement" | "resolveOffering" | "readHoldings" | "readLedger" | "readBillingInvoice" | "readCreditStatement" | "quoteBalance" | "trackUsage" | "mutateBalance" | "redeemReward" | "createReferralCode" | "claimRewardProduct" | "readSeats" | "manageSeat" | "redeemCoupon" | "listOffers" | "grantOffer";
612
612
  inputs: Record<string, {
613
613
  source: "literal";
614
614
  value: z.core.util.JSONType;
@@ -664,7 +664,7 @@ declare function createConfigurationSync(options: ConfigurationSyncOptions): {
664
664
  } | undefined;
665
665
  } | {
666
666
  type: "end";
667
- outcome: "closed" | "failed" | "completed" | "ineligible";
667
+ outcome: "failed" | "completed" | "closed" | "ineligible";
668
668
  id: string;
669
669
  name: string;
670
670
  output?: {
@@ -731,7 +731,7 @@ declare function createConfigurationSync(options: ConfigurationSyncOptions): {
731
731
  primary: string;
732
732
  background: string;
733
733
  text: string;
734
- radius: "sm" | "md" | "lg" | "none" | "full";
734
+ radius: "none" | "sm" | "md" | "lg" | "full";
735
735
  font: "system" | "serif" | "rounded" | "mono";
736
736
  };
737
737
  pages: {
@@ -742,7 +742,7 @@ declare function createConfigurationSync(options: ConfigurationSyncOptions): {
742
742
  primary: string;
743
743
  background: string;
744
744
  text: string;
745
- radius: "sm" | "md" | "lg" | "none" | "full";
745
+ radius: "none" | "sm" | "md" | "lg" | "full";
746
746
  font: "system" | "serif" | "rounded" | "mono";
747
747
  } | undefined;
748
748
  editorPosition?: {
@@ -792,7 +792,7 @@ declare function createConfigurationSync(options: ConfigurationSyncOptions): {
792
792
  };
793
793
  publicData?: {
794
794
  couponDigests: Record<string, string>;
795
- variables: Record<string, Record<string, Partial<Record<"offer.ends_at" | "offer.headline" | "offer.name" | "offer.description" | "offer.eligibility" | "offer.validity" | "offer.terms" | "offer.discount" | "offer.months", string>>>>;
795
+ variables: Record<string, Record<string, Partial<Record<"offer.headline" | "offer.name" | "offer.description" | "offer.eligibility" | "offer.validity" | "offer.terms" | "offer.discount" | "offer.months" | "offer.ends_at", string>>>>;
796
796
  locales: Record<string, {
797
797
  nodes: Record<string, {
798
798
  base: {
@@ -983,7 +983,7 @@ declare function createConfigurationSync(options: ConfigurationSyncOptions): {
983
983
  }>;
984
984
  scope: {
985
985
  projectId: string;
986
- environment: "live" | "sandbox";
986
+ environment: "sandbox" | "live";
987
987
  };
988
988
  generation: string;
989
989
  savedGroups: Record<string, {
@@ -1069,7 +1069,7 @@ declare function createConfigurationSync(options: ConfigurationSyncOptions): {
1069
1069
  schemaVersion: 1;
1070
1070
  scope: {
1071
1071
  projectId: string;
1072
- environment: "live" | "sandbox";
1072
+ environment: "sandbox" | "live";
1073
1073
  environmentId: string;
1074
1074
  };
1075
1075
  revision: number;
@@ -1156,7 +1156,7 @@ declare function createConfigurationSync(options: ConfigurationSyncOptions): {
1156
1156
  primary: string;
1157
1157
  background: string;
1158
1158
  text: string;
1159
- radius: "sm" | "md" | "lg" | "none" | "full";
1159
+ radius: "none" | "sm" | "md" | "lg" | "full";
1160
1160
  font: "system" | "serif" | "rounded" | "mono";
1161
1161
  };
1162
1162
  pages: {
@@ -1167,7 +1167,7 @@ declare function createConfigurationSync(options: ConfigurationSyncOptions): {
1167
1167
  primary: string;
1168
1168
  background: string;
1169
1169
  text: string;
1170
- radius: "sm" | "md" | "lg" | "none" | "full";
1170
+ radius: "none" | "sm" | "md" | "lg" | "full";
1171
1171
  font: "system" | "serif" | "rounded" | "mono";
1172
1172
  } | undefined;
1173
1173
  editorPosition?: {
@@ -1345,7 +1345,7 @@ declare function createConfigurationSync(options: ConfigurationSyncOptions): {
1345
1345
  schemaVersion: 1;
1346
1346
  scope: {
1347
1347
  projectId: string;
1348
- environment: "live" | "sandbox";
1348
+ environment: "sandbox" | "live";
1349
1349
  environmentId: string;
1350
1350
  };
1351
1351
  revision: number;
@@ -1400,7 +1400,7 @@ declare function createConfigurationSync(options: ConfigurationSyncOptions): {
1400
1400
  growth: {
1401
1401
  scope: {
1402
1402
  projectId: string;
1403
- environment: "live" | "sandbox";
1403
+ environment: "sandbox" | "live";
1404
1404
  };
1405
1405
  generation: string;
1406
1406
  evaluatedAt: string;
@@ -1561,7 +1561,7 @@ declare function createConfigurationSync(options: ConfigurationSyncOptions): {
1561
1561
  }[]>;
1562
1562
  scope: {
1563
1563
  projectId: string;
1564
- environment: "live" | "sandbox";
1564
+ environment: "sandbox" | "live";
1565
1565
  };
1566
1566
  funnelId: string;
1567
1567
  versionId: string;
@@ -1571,7 +1571,7 @@ declare function createConfigurationSync(options: ConfigurationSyncOptions): {
1571
1571
  entry: string;
1572
1572
  nodes: {
1573
1573
  id: string;
1574
- type: "output" | "action" | "screen" | "end" | "coupon" | "feature" | "split" | "condition" | "offering" | "coupons" | "entry" | "external_page" | "wait";
1574
+ type: "output" | "action" | "feature" | "split" | "condition" | "coupon" | "end" | "screen" | "offering" | "coupons" | "entry" | "external_page" | "wait";
1575
1575
  outputs: Record<string, string>;
1576
1576
  writes: Record<string, string>;
1577
1577
  resources: {
@@ -1616,7 +1616,7 @@ declare function createConfigurationSync(options: ConfigurationSyncOptions): {
1616
1616
  } | undefined;
1617
1617
  };
1618
1618
  terminals: Record<string, {
1619
- outcome: "closed" | "failed" | "completed" | "ineligible";
1619
+ outcome: "failed" | "completed" | "closed" | "ineligible";
1620
1620
  output: {
1621
1621
  type: "literal";
1622
1622
  value: z.core.util.JSONType;
@@ -1 +1 @@
1
- import{h as H}from"./chunk-3ENVRJE6.js";import{a as b}from"./chunk-6X42DWOM.js";import"./chunk-CXYOZSOF.js";import{jc as D}from"./chunk-A3N4ZZTM.js";import{a as f}from"./chunk-OVMNCZYC.js";import{Eb as T,Mb as L,Ob as j,tb as k}from"./chunk-3BQFJANQ.js";import"./chunk-AE4CUTUE.js";import"./chunk-S5TVMQRC.js";import{a as I}from"./chunk-RRII2DMC.js";import"./chunk-KQCTDXVD.js";import{z as l}from"zod";var x=new WeakMap;function P(o){let t={string:l.string(),number:l.number().finite(),boolean:l.boolean(),strings:l.array(l.string()),json:I}[o.type];return o.nullable?t.nullable():t}async function J(o,t){let S=D.parse(t.content),r=S.document;if(x.has(o))throw new f("CONFLICT","Content is already mounted in this container");let u=l.record(l.string(),I).parse(t.inputs??{});if(Object.keys(u).length>40)throw new f("INVALID_REQUEST","Too many content inputs");for(let[e,i]of Object.entries(u))L.parse({[e]:i});if(Object.keys(u).some(e=>!Object.hasOwn(r.contract.inputs,e)))throw new f("INVALID_REQUEST","Undeclared content input");for(let[e,i]of Object.entries(r.contract.inputs))if(Object.hasOwn(u,e))P(i).parse(u[e]);else if(i.required)throw new f("INVALID_REQUEST",`Missing content input ${e}`);for(let e of Object.keys(r.contract.outputs))if(typeof t.actions[e]!="function")throw new f("INVALID_REQUEST",`Missing host handler for ${e}`);let R=j.parse(t.bindings??[]),d=o.ownerDocument,v=d.activeElement,A=r.kind==="popup",n=A?d.createElement("dialog"):null,s=d.createElement("div");if(s.dataset.indianaContent=r.kind,s.setAttribute("aria-label",r.name),s.style.cssText="width:100%;min-width:0",n){n.setAttribute("aria-label",r.name);let e=r.screen.presentation;n.style.cssText="box-sizing:border-box;padding:0;border:0;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto",e.type==="modal"||e.type==="sheet"?(n.style.width=`${k[e.size]}px`,e.type==="sheet"&&(n.style.margin="auto auto 0")):n.style.width="100vw",n.append(s),o.append(n)}else o.append(s);let m=!1,g=!1,a=null,w=structuredClone(r.screen);w.actions=w.actions.map(e=>e.type==="event"?{...e,close:!1}:e);let h;function E(){m||(m=!0,h?.destroy(),n?.close(),n?.remove(),s.remove(),x.delete(o),n&&v instanceof HTMLElement&&v.isConnected&&v.focus())}let C=()=>{E(),b(t.onDismiss)};if(n){let e=d.createElement("button");e.type="button",e.textContent="\xD7",e.setAttribute("aria-label",t.locale?.startsWith("zh")?"\u5173\u95ED":"Close"),e.style.cssText="position:absolute;right:8px;top:8px;width:30px;height:30px;z-index:1",e.addEventListener("click",C),n.prepend(e)}n?.addEventListener("cancel",e=>{e.preventDefault(),C()});async function V(){if(m||g||!a)return;let e=a;g=!0,s.setAttribute("aria-busy","true");try{await t.actions[e.actionId](structuredClone(e)),a=null}catch(i){b(t.onError,i)}finally{g=!1,m||s.removeAttribute("aria-busy")}}try{n?.showModal(),h=H(s,{mode:"live",title:r.name,viewportHeight:r.kind==="page"?o.clientHeight||d.defaultView?.innerHeight||800:void 0,onError:c=>b(t.onError,new Error(c)),onEscape:A?C:void 0,onAction:(c,U,M)=>{if(m||g||a)return;let p=r.screen.actions.find(y=>y.id===c),O=r.contract.outputs[c];if(!(p?.type!=="event"||!O))try{let y=P(O).parse(Object.hasOwn(p.properties,"value")?p.properties.value:p.properties);a={requestId:crypto.randomUUID(),contentVersionId:S.id,actionId:c,event:p.event,value:y,selection:U??{},answers:M??{},requestedClose:p.close},V()}catch(y){b(t.onError,y)}}});let e={destroy:E,get pendingAction(){return a?structuredClone(a):null},retryAction:V,updateCapabilities:c=>h?.updateCapabilities(c)};x.set(o,e);let i=T(w,[t.locale,...d.defaultView?.navigator.languages??[]]);return h.update(w,i,{capabilities:t.capabilities,serverInput:{bindings:R,answers:{},values:u}}),await h.ready,e}catch(e){throw E(),e}}export{J as mountContent};
1
+ import{h as H}from"./chunk-ANOOBDW5.js";import{a as b}from"./chunk-DSPLGTQI.js";import"./chunk-2QPETWDX.js";import{Pc as D}from"./chunk-ZT66RIFU.js";import{a as f}from"./chunk-SOQO2RDZ.js";import{Eb as T,Mb as L,Ob as j,tb as k}from"./chunk-LMR2TM3X.js";import"./chunk-OBYJWIRB.js";import"./chunk-EXCPE2XH.js";import{a as I}from"./chunk-RRII2DMC.js";import"./chunk-KQCTDXVD.js";import{z as l}from"zod";var x=new WeakMap;function P(o){let t={string:l.string(),number:l.number().finite(),boolean:l.boolean(),strings:l.array(l.string()),json:I}[o.type];return o.nullable?t.nullable():t}async function J(o,t){let S=D.parse(t.content),r=S.document;if(x.has(o))throw new f("CONFLICT","Content is already mounted in this container");let u=l.record(l.string(),I).parse(t.inputs??{});if(Object.keys(u).length>40)throw new f("INVALID_REQUEST","Too many content inputs");for(let[e,i]of Object.entries(u))L.parse({[e]:i});if(Object.keys(u).some(e=>!Object.hasOwn(r.contract.inputs,e)))throw new f("INVALID_REQUEST","Undeclared content input");for(let[e,i]of Object.entries(r.contract.inputs))if(Object.hasOwn(u,e))P(i).parse(u[e]);else if(i.required)throw new f("INVALID_REQUEST",`Missing content input ${e}`);for(let e of Object.keys(r.contract.outputs))if(typeof t.actions[e]!="function")throw new f("INVALID_REQUEST",`Missing host handler for ${e}`);let R=j.parse(t.bindings??[]),d=o.ownerDocument,v=d.activeElement,A=r.kind==="popup",n=A?d.createElement("dialog"):null,s=d.createElement("div");if(s.dataset.indianaContent=r.kind,s.setAttribute("aria-label",r.name),s.style.cssText="width:100%;min-width:0",n){n.setAttribute("aria-label",r.name);let e=r.screen.presentation;n.style.cssText="box-sizing:border-box;padding:0;border:0;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto",e.type==="modal"||e.type==="sheet"?(n.style.width=`${k[e.size]}px`,e.type==="sheet"&&(n.style.margin="auto auto 0")):n.style.width="100vw",n.append(s),o.append(n)}else o.append(s);let m=!1,g=!1,a=null,w=structuredClone(r.screen);w.actions=w.actions.map(e=>e.type==="event"?{...e,close:!1}:e);let h;function E(){m||(m=!0,h?.destroy(),n?.close(),n?.remove(),s.remove(),x.delete(o),n&&v instanceof HTMLElement&&v.isConnected&&v.focus())}let C=()=>{E(),b(t.onDismiss)};if(n){let e=d.createElement("button");e.type="button",e.textContent="\xD7",e.setAttribute("aria-label",t.locale?.startsWith("zh")?"\u5173\u95ED":"Close"),e.style.cssText="position:absolute;right:8px;top:8px;width:30px;height:30px;z-index:1",e.addEventListener("click",C),n.prepend(e)}n?.addEventListener("cancel",e=>{e.preventDefault(),C()});async function V(){if(m||g||!a)return;let e=a;g=!0,s.setAttribute("aria-busy","true");try{await t.actions[e.actionId](structuredClone(e)),a=null}catch(i){b(t.onError,i)}finally{g=!1,m||s.removeAttribute("aria-busy")}}try{n?.showModal(),h=H(s,{mode:"live",title:r.name,viewportHeight:r.kind==="page"?o.clientHeight||d.defaultView?.innerHeight||800:void 0,onError:c=>b(t.onError,new Error(c)),onEscape:A?C:void 0,onAction:(c,U,M)=>{if(m||g||a)return;let p=r.screen.actions.find(y=>y.id===c),O=r.contract.outputs[c];if(!(p?.type!=="event"||!O))try{let y=P(O).parse(Object.hasOwn(p.properties,"value")?p.properties.value:p.properties);a={requestId:crypto.randomUUID(),contentVersionId:S.id,actionId:c,event:p.event,value:y,selection:U??{},answers:M??{},requestedClose:p.close},V()}catch(y){b(t.onError,y)}}});let e={destroy:E,get pendingAction(){return a?structuredClone(a):null},retryAction:V,updateCapabilities:c=>h?.updateCapabilities(c)};x.set(o,e);let i=T(w,[t.locale,...d.defaultView?.navigator.languages??[]]);return h.update(w,i,{capabilities:t.capabilities,serverInput:{bindings:R,answers:{},values:u}}),await h.ready,e}catch(e){throw E(),e}}export{J as mountContent};
@@ -3,12 +3,39 @@ import { z } from 'zod';
3
3
  declare const scopeSchema: z.ZodObject<{
4
4
  projectId: z.ZodString;
5
5
  environment: z.ZodEnum<{
6
- live: "live";
7
6
  sandbox: "sandbox";
7
+ live: "live";
8
8
  }>;
9
9
  }, z.core.$strict>;
10
10
  type Scope = z.infer<typeof scopeSchema>;
11
11
 
12
+ declare const pushPlatformSchema: z.ZodEnum<{
13
+ ios: "ios";
14
+ android: "android";
15
+ }>;
16
+ declare const pushAddressRequestSchema: z.ZodObject<{
17
+ installationId: z.ZodUUID;
18
+ publicKey: z.ZodString;
19
+ issuedAt: z.ZodISODateTime;
20
+ signature: z.ZodString;
21
+ sequence: z.ZodNumber;
22
+ credentialDigest: z.ZodString;
23
+ connectionId: z.ZodNullable<z.ZodUUID>;
24
+ kind: z.ZodNullable<z.ZodEnum<{
25
+ fcm_token: "fcm_token";
26
+ apns_token: "apns_token";
27
+ }>>;
28
+ token: z.ZodNullable<z.ZodString>;
29
+ permission: z.ZodEnum<{
30
+ unknown: "unknown";
31
+ denied: "denied";
32
+ provisional: "provisional";
33
+ granted: "granted";
34
+ }>;
35
+ }, z.core.$strict>;
36
+ type PushPlatform = z.infer<typeof pushPlatformSchema>;
37
+ type PushAddressObservation = Pick<z.infer<typeof pushAddressRequestSchema>, "connectionId" | "kind" | "token" | "permission">;
38
+
12
39
  declare const errorRecoverySchema: z.ZodEnum<{
13
40
  fix_request: "fix_request";
14
41
  authenticate: "authenticate";
@@ -38,6 +65,26 @@ declare const errorReasonSchema: z.ZodEnum<{
38
65
  }>;
39
66
  type ErrorReason = z.infer<typeof errorReasonSchema>;
40
67
 
68
+ type PushJournal = {
69
+ identitySeq: number;
70
+ addressSeq: number;
71
+ detachSeq: number | null;
72
+ };
73
+ /** Scope-bound protected native storage. transaction commits atomically before
74
+ * returning; it never stores Customer credentials or provider tokens. */
75
+ interface PushHost {
76
+ readonly installationId: string;
77
+ readonly publicKey: string;
78
+ readonly platform: PushPlatform;
79
+ readonly scope: Scope;
80
+ transaction(update: (current: PushJournal) => PushJournal): PushJournal;
81
+ /** P-256 SHA-256, 64-byte IEEE-P1363 signature as unpadded base64url. */
82
+ sign(payload: Uint8Array): Promise<string>;
83
+ /** Native bridge fallback on runtimes without Web Crypto, including Hermes. */
84
+ sha256?(payload: Uint8Array): Promise<string>;
85
+ onError?(error: Error): void;
86
+ }
87
+
41
88
  declare class IndianaError extends Error {
42
89
  readonly code: string;
43
90
  readonly status?: number | undefined;
@@ -54,4 +101,4 @@ declare class IndianaError extends Error {
54
101
  });
55
102
  }
56
103
 
57
- export { IndianaError as I, type Scope as S };
104
+ export { IndianaError as I, type PushAddressObservation as P, type Scope as S, type PushHost as a, type PushJournal as b };