@swarm.ing/pieui 2.0.33 → 2.0.34

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 (48) hide show
  1. package/dist/agent/index.d.ts +11 -0
  2. package/dist/agent/index.d.ts.map +1 -0
  3. package/dist/agent/index.esm.js +2 -0
  4. package/dist/agent/index.js +2 -0
  5. package/dist/cli.js +85 -52
  6. package/dist/components/Common/AutoRedirectCard/ui/AutoRedirectCard.d.ts +1 -1
  7. package/dist/components/Common/AutoRedirectCard/ui/AutoRedirectCard.d.ts.map +1 -1
  8. package/dist/components/Common/CloudStorageCard/ui/CloudStorageCard.d.ts +1 -1
  9. package/dist/components/Common/CloudStorageCard/ui/CloudStorageCard.d.ts.map +1 -1
  10. package/dist/components/Common/DeviceStorageCard/ui/DeviceStorageCard.d.ts +1 -1
  11. package/dist/components/Common/DeviceStorageCard/ui/DeviceStorageCard.d.ts.map +1 -1
  12. package/dist/components/Common/HTMLEmbedCard/ui/HTMLEmbedCard.d.ts +1 -1
  13. package/dist/components/Common/HTMLEmbedCard/ui/HTMLEmbedCard.d.ts.map +1 -1
  14. package/dist/components/Common/HiddenCard/ui/HiddenCard.d.ts +1 -1
  15. package/dist/components/Common/HiddenCard/ui/HiddenCard.d.ts.map +1 -1
  16. package/dist/components/Common/IOEventsCard/ui/IOEventsCard.d.ts +1 -1
  17. package/dist/components/Common/IOEventsCard/ui/IOEventsCard.d.ts.map +1 -1
  18. package/dist/components/Common/SecureStorageCard/ui/SecureStorageCard.d.ts +1 -1
  19. package/dist/components/Common/SecureStorageCard/ui/SecureStorageCard.d.ts.map +1 -1
  20. package/dist/components/Common/SessionStorageCard/ui/SessionStorageCard.d.ts +1 -1
  21. package/dist/components/Common/SessionStorageCard/ui/SessionStorageCard.d.ts.map +1 -1
  22. package/dist/components/Containers/AjaxGroupCard/ui/AjaxGroupCard.d.ts +1 -1
  23. package/dist/components/Containers/AjaxGroupCard/ui/AjaxGroupCard.d.ts.map +1 -1
  24. package/dist/components/Containers/BoxCard/ui/BoxCard.d.ts +1 -1
  25. package/dist/components/Containers/BoxCard/ui/BoxCard.d.ts.map +1 -1
  26. package/dist/components/Containers/OneOfCard/ui/OneOfCard.d.ts +1 -1
  27. package/dist/components/Containers/OneOfCard/ui/OneOfCard.d.ts.map +1 -1
  28. package/dist/components/Containers/SequenceCard/ui/SequenceCard.d.ts +1 -1
  29. package/dist/components/Containers/SequenceCard/ui/SequenceCard.d.ts.map +1 -1
  30. package/dist/components/Containers/UnionCard/ui/UnionCard.d.ts +1 -1
  31. package/dist/components/Containers/UnionCard/ui/UnionCard.d.ts.map +1 -1
  32. package/dist/components/PieBaseRoot/index.d.ts +1 -1
  33. package/dist/components/PieBaseRoot/index.d.ts.map +1 -1
  34. package/dist/components/PieCard/index.d.ts +1 -1
  35. package/dist/components/PieCard/index.d.ts.map +1 -1
  36. package/dist/components/PieRoot/index.d.ts +1 -1
  37. package/dist/components/PieRoot/index.d.ts.map +1 -1
  38. package/dist/components/UI/index.d.ts +1 -1
  39. package/dist/components/UI/index.d.ts.map +1 -1
  40. package/dist/components/UILoading/index.d.ts +1 -1
  41. package/dist/components/UILoading/index.d.ts.map +1 -1
  42. package/dist/index.d.ts +0 -1
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.esm.js +2 -2
  45. package/dist/index.js +2 -2
  46. package/dist/storybook/index.d.ts +3 -3
  47. package/dist/storybook/index.d.ts.map +1 -1
  48. package/package.json +10 -3
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Optional OpenAI-agent integration entry.
3
+ *
4
+ * These helpers depend on `@openai/agents` (which transitively pulls the OpenAI
5
+ * + MCP SDKs). They are intentionally split out of the main `@swarm.ing/pieui`
6
+ * barrel so that apps which only use the UI primitives never ship the agent
7
+ * stack to the browser. Import from `@swarm.ing/pieui/agent` when you need to
8
+ * expose PieCard methods as OpenAI function tools.
9
+ */
10
+ export { getMittAgentTools, usePieMittAgentTools, type MittAgentTool, type MittAgentToolDescriptor, type MittAgentToolsOptions, } from '../util/mittAgentTools';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agent/index.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,OAAO,EACH,iBAAiB,EACjB,oBAAoB,EACpB,KAAK,aAAa,EAClB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,GAC7B,MAAM,wBAAwB,CAAA"}
@@ -0,0 +1,2 @@
1
+ "use client";
2
+ import{tool as A}from"@openai/agents";import{useContext as P,useMemo as I}from"react";import S from"mitt";import{createContext as O,useCallback as w,useContext as E}from"react";var Z=null;function $(){if(!Z)Z=S();return Z}var R=O(null);var q=R;var z=/^pie(.+?)_(.+)$/;function D(X=$(),Q={}){let G=[],H=new Set;for(let j of X.all.keys()){if(typeof j!=="string")continue;let W=j.match(z);if(!W)continue;let[,J,L]=W,B={methodName:J,cardName:L,eventName:j};if(Q.filter&&!Q.filter(B))continue;let Y=Q.nameFor?.(B)??`${L}_${J}`;if(H.has(Y))continue;H.add(Y);let U=Q.describe?.(B)??`Invokes the "${J}" method on the PieCard "${L}" by emitting the in-process mitt event "${j}". The optional "payload" argument is forwarded verbatim to the card's handler.`;G.push(A({name:Y,description:U,strict:!1,parameters:{type:"object",properties:{payload:{description:"Arbitrary JSON payload forwarded to the PieCard method handler. Omit for fire-and-forget calls."}},required:[],additionalProperties:!0},execute:async(F)=>{let V=F?.payload;return X.emit(j,V),`Emitted "${j}"`}}))}return G}function _(X={}){let G=P(q)??$(),H=[];for(let B of G.all.keys())if(typeof B==="string"&&z.test(B))H.push(B);H.sort();let j=H.join("|"),{filter:W,describe:J,nameFor:L}=X;return I(()=>D(G,{filter:W,describe:J,nameFor:L}),[G,j,W,J,L])}export{_ as usePieMittAgentTools,D as getMittAgentTools};
@@ -0,0 +1,2 @@
1
+ "use client";
2
+ var M=Object.create;var{getPrototypeOf:w,defineProperty:Y,getOwnPropertyNames:V,getOwnPropertyDescriptor:E}=Object,S=Object.prototype.hasOwnProperty;var f=(j,B,G)=>{G=j!=null?M(w(j)):{};let H=B||!j||!j.__esModule?Y(G,"default",{value:j,enumerable:!0}):G;for(let J of V(j))if(!S.call(H,J))Y(H,J,{get:()=>j[J],enumerable:!0});return H},F=new WeakMap,x=(j)=>{var B=F.get(j),G;if(B)return B;if(B=Y({},"__esModule",{value:!0}),j&&typeof j==="object"||typeof j==="function")V(j).map((H)=>!S.call(B,H)&&Y(B,H,{get:()=>j[H],enumerable:!(G=E(j,H))||G.enumerable}));return F.set(j,B),B};var T=(j,B)=>{for(var G in B)Y(j,G,{get:B[G],enumerable:!0,configurable:!0,set:(H)=>B[G]=()=>H})};var C={};T(C,{usePieMittAgentTools:()=>I,getMittAgentTools:()=>U});module.exports=x(C);var A=require("@openai/agents"),$=require("react");var O=f(require("mitt")),Z=require("react"),z=null;function D(){if(!z)z=O.default();return z}var b=Z.createContext(null);var R=b;var P=/^pie(.+?)_(.+)$/;function U(j=D(),B={}){let G=[],H=new Set;for(let J of j.all.keys()){if(typeof J!=="string")continue;let X=J.match(P);if(!X)continue;let[,Q,W]=X,L={methodName:Q,cardName:W,eventName:J};if(B.filter&&!B.filter(L))continue;let q=B.nameFor?.(L)??`${W}_${Q}`;if(H.has(q))continue;H.add(q);let _=B.describe?.(L)??`Invokes the "${Q}" method on the PieCard "${W}" by emitting the in-process mitt event "${J}". The optional "payload" argument is forwarded verbatim to the card's handler.`;G.push(A.tool({name:q,description:_,strict:!1,parameters:{type:"object",properties:{payload:{description:"Arbitrary JSON payload forwarded to the PieCard method handler. Omit for fire-and-forget calls."}},required:[],additionalProperties:!0},execute:async(K)=>{let k=K?.payload;return j.emit(J,k),`Emitted "${J}"`}}))}return G}function I(j={}){let G=$.useContext(R)??D(),H=[];for(let L of G.all.keys())if(typeof L==="string"&&P.test(L))H.push(L);H.sort();let J=H.join("|"),{filter:X,describe:Q,nameFor:W}=j;return $.useMemo(()=>U(G,{filter:X,describe:Q,nameFor:W}),[G,J,X,Q,W])}
package/dist/cli.js CHANGED
@@ -175416,6 +175416,7 @@ var require_acorn = __commonJS((exports2, module2) => {
175416
175416
  var defaultOptions = {
175417
175417
  ecmaVersion: null,
175418
175418
  sourceType: "script",
175419
+ strict: false,
175419
175420
  onInsertedSemicolon: null,
175420
175421
  onTrailingComma: null,
175421
175422
  allowReserved: null,
@@ -175529,7 +175530,7 @@ Defaulting to 2020, but this will stop working in the future.`);
175529
175530
  this.context = this.initialContext();
175530
175531
  this.exprAllowed = true;
175531
175532
  this.inModule = options.sourceType === "module";
175532
- this.strict = this.inModule || this.strictDirective(this.pos);
175533
+ this.strict = this.inModule || options.strict === true || this.strictDirective(this.pos);
175533
175534
  this.potentialArrowAt = -1;
175534
175535
  this.potentialArrowInForAwait = false;
175535
175536
  this.yieldPos = this.awaitPos = this.awaitIdentPos = 0;
@@ -175545,9 +175546,12 @@ Defaulting to 2020, but this will stop working in the future.`);
175545
175546
  };
175546
175547
  var prototypeAccessors = { inFunction: { configurable: true }, inGenerator: { configurable: true }, inAsync: { configurable: true }, canAwait: { configurable: true }, allowReturn: { configurable: true }, allowSuper: { configurable: true }, allowDirectSuper: { configurable: true }, treatFunctionsAsVar: { configurable: true }, allowNewDotTarget: { configurable: true }, allowUsing: { configurable: true }, inClassStaticBlock: { configurable: true } };
175547
175548
  Parser.prototype.parse = function parse2() {
175549
+ var this$1$1 = this;
175548
175550
  var node = this.options.program || this.startNode();
175549
175551
  this.nextToken();
175550
- return this.parseTopLevel(node);
175552
+ return this.catchStackOverflow(function() {
175553
+ return this$1$1.parseTopLevel(node);
175554
+ });
175551
175555
  };
175552
175556
  prototypeAccessors.inFunction.get = function() {
175553
175557
  return (this.currentVarScope().flags & SCOPE_FUNCTION) > 0;
@@ -175682,6 +175686,17 @@ Defaulting to 2020, but this will stop working in the future.`);
175682
175686
  this.next();
175683
175687
  return true;
175684
175688
  };
175689
+ pp$9.catchStackOverflow = function(f) {
175690
+ try {
175691
+ return f();
175692
+ } catch (e) {
175693
+ if (e instanceof Error && (/\bstack\b.*\b(exceeded|overflow)\b/i.test(e.message) || /\btoo much recursion\b/i.test(e.message))) {
175694
+ this.raise(this.start, "Not enough stack space to parse input");
175695
+ } else {
175696
+ throw e;
175697
+ }
175698
+ }
175699
+ };
175685
175700
  pp$9.expectContextual = function(name) {
175686
175701
  if (!this.eatContextual(name)) {
175687
175702
  this.unexpected();
@@ -175767,12 +175782,12 @@ Defaulting to 2020, but this will stop working in the future.`);
175767
175782
  };
175768
175783
  var pp$8 = Parser.prototype;
175769
175784
  pp$8.parseTopLevel = function(node) {
175770
- var exports4 = Object.create(null);
175785
+ var exports$1 = Object.create(null);
175771
175786
  if (!node.body) {
175772
175787
  node.body = [];
175773
175788
  }
175774
175789
  while (this.type !== types$1.eof) {
175775
- var stmt = this.parseStatement(null, true, exports4);
175790
+ var stmt = this.parseStatement(null, true, exports$1);
175776
175791
  node.body.push(stmt);
175777
175792
  }
175778
175793
  if (this.inModule) {
@@ -175861,9 +175876,17 @@ Defaulting to 2020, but this will stop working in the future.`);
175861
175876
  return true;
175862
175877
  }
175863
175878
  var id = this.input.slice(idStart, next);
175864
- if (keywordRelationalOperator.test(id) || isFor && id === "of") {
175879
+ if (keywordRelationalOperator.test(id)) {
175865
175880
  return false;
175866
175881
  }
175882
+ if (isFor && !isAwaitUsing && id === "of") {
175883
+ skipWhiteSpace.lastIndex = next;
175884
+ var skipAfterOf = skipWhiteSpace.exec(this.input);
175885
+ next = next + skipAfterOf[0].length;
175886
+ if (this.input.charCodeAt(next) !== 61 || (ch = this.input.charCodeAt(next + 1)) === 61 || ch === 62) {
175887
+ return false;
175888
+ }
175889
+ }
175867
175890
  return true;
175868
175891
  };
175869
175892
  pp$8.isAwaitUsing = function(isFor) {
@@ -175872,7 +175895,7 @@ Defaulting to 2020, but this will stop working in the future.`);
175872
175895
  pp$8.isUsing = function(isFor) {
175873
175896
  return this.isUsingKeyword(false, isFor);
175874
175897
  };
175875
- pp$8.parseStatement = function(context, topLevel, exports4) {
175898
+ pp$8.parseStatement = function(context, topLevel, exports$1) {
175876
175899
  var starttype = this.type, node = this.startNode(), kind;
175877
175900
  if (this.isLet(context)) {
175878
175901
  starttype = types$1._var;
@@ -175941,7 +175964,7 @@ Defaulting to 2020, but this will stop working in the future.`);
175941
175964
  this.raise(this.start, "'import' and 'export' may appear only with 'sourceType: module'");
175942
175965
  }
175943
175966
  }
175944
- return starttype === types$1._import ? this.parseImport(node) : this.parseExport(node, exports4);
175967
+ return starttype === types$1._import ? this.parseImport(node) : this.parseExport(node, exports$1);
175945
175968
  default:
175946
175969
  if (this.isAsyncFunction()) {
175947
175970
  if (context) {
@@ -175955,6 +175978,9 @@ Defaulting to 2020, but this will stop working in the future.`);
175955
175978
  if (!this.allowUsing) {
175956
175979
  this.raise(this.start, "Using declaration cannot appear in the top level when source type is `script` or in the bare case statement");
175957
175980
  }
175981
+ if (context) {
175982
+ this.raise(this.start, "Using declaration is not allowed in single-statement positions");
175983
+ }
175958
175984
  if (usingKind === "await using") {
175959
175985
  if (!this.canAwait) {
175960
175986
  this.raise(this.start, "Await using cannot appear outside of async function");
@@ -176089,14 +176115,15 @@ Defaulting to 2020, but this will stop working in the future.`);
176089
176115
  };
176090
176116
  pp$8.parseForAfterInit = function(node, init, awaitAt) {
176091
176117
  if ((this.type === types$1._in || this.options.ecmaVersion >= 6 && this.isContextual("of")) && init.declarations.length === 1) {
176092
- if (this.options.ecmaVersion >= 9) {
176093
- if (this.type === types$1._in) {
176094
- if (awaitAt > -1) {
176095
- this.unexpected(awaitAt);
176096
- }
176097
- } else {
176098
- node.await = awaitAt > -1;
176118
+ if (this.type === types$1._in) {
176119
+ if ((init.kind === "using" || init.kind === "await using") && !init.declarations[0].init) {
176120
+ this.raise(this.start, "Using declaration is not allowed in for-in loops");
176099
176121
  }
176122
+ if (this.options.ecmaVersion >= 9 && awaitAt > -1) {
176123
+ this.unexpected(awaitAt);
176124
+ }
176125
+ } else if (this.options.ecmaVersion >= 9) {
176126
+ node.await = awaitAt > -1;
176100
176127
  }
176101
176128
  return this.parseForIn(node, init);
176102
176129
  }
@@ -176611,11 +176638,11 @@ Defaulting to 2020, but this will stop working in the future.`);
176611
176638
  var key = node.key;
176612
176639
  return !computed && (key.type === "Identifier" && key.name === name || key.type === "Literal" && key.value === name);
176613
176640
  }
176614
- pp$8.parseExportAllDeclaration = function(node, exports4) {
176641
+ pp$8.parseExportAllDeclaration = function(node, exports$1) {
176615
176642
  if (this.options.ecmaVersion >= 11) {
176616
176643
  if (this.eatContextual("as")) {
176617
176644
  node.exported = this.parseModuleExportName();
176618
- this.checkExport(exports4, node.exported, this.lastTokStart);
176645
+ this.checkExport(exports$1, node.exported, this.lastTokStart);
176619
176646
  } else {
176620
176647
  node.exported = null;
176621
176648
  }
@@ -176631,22 +176658,22 @@ Defaulting to 2020, but this will stop working in the future.`);
176631
176658
  this.semicolon();
176632
176659
  return this.finishNode(node, "ExportAllDeclaration");
176633
176660
  };
176634
- pp$8.parseExport = function(node, exports4) {
176661
+ pp$8.parseExport = function(node, exports$1) {
176635
176662
  this.next();
176636
176663
  if (this.eat(types$1.star)) {
176637
- return this.parseExportAllDeclaration(node, exports4);
176664
+ return this.parseExportAllDeclaration(node, exports$1);
176638
176665
  }
176639
176666
  if (this.eat(types$1._default)) {
176640
- this.checkExport(exports4, "default", this.lastTokStart);
176667
+ this.checkExport(exports$1, "default", this.lastTokStart);
176641
176668
  node.declaration = this.parseExportDefaultDeclaration();
176642
176669
  return this.finishNode(node, "ExportDefaultDeclaration");
176643
176670
  }
176644
176671
  if (this.shouldParseExportStatement()) {
176645
176672
  node.declaration = this.parseExportDeclaration(node);
176646
176673
  if (node.declaration.type === "VariableDeclaration") {
176647
- this.checkVariableExport(exports4, node.declaration.declarations);
176674
+ this.checkVariableExport(exports$1, node.declaration.declarations);
176648
176675
  } else {
176649
- this.checkExport(exports4, node.declaration.id, node.declaration.id.start);
176676
+ this.checkExport(exports$1, node.declaration.id, node.declaration.id.start);
176650
176677
  }
176651
176678
  node.specifiers = [];
176652
176679
  node.source = null;
@@ -176655,7 +176682,7 @@ Defaulting to 2020, but this will stop working in the future.`);
176655
176682
  }
176656
176683
  } else {
176657
176684
  node.declaration = null;
176658
- node.specifiers = this.parseExportSpecifiers(exports4);
176685
+ node.specifiers = this.parseExportSpecifiers(exports$1);
176659
176686
  if (this.eatContextual("from")) {
176660
176687
  if (this.type !== types$1.string) {
176661
176688
  this.unexpected();
@@ -176703,62 +176730,62 @@ Defaulting to 2020, but this will stop working in the future.`);
176703
176730
  return declaration;
176704
176731
  }
176705
176732
  };
176706
- pp$8.checkExport = function(exports4, name, pos) {
176707
- if (!exports4) {
176733
+ pp$8.checkExport = function(exports$1, name, pos) {
176734
+ if (!exports$1) {
176708
176735
  return;
176709
176736
  }
176710
176737
  if (typeof name !== "string") {
176711
176738
  name = name.type === "Identifier" ? name.name : name.value;
176712
176739
  }
176713
- if (hasOwn(exports4, name)) {
176740
+ if (hasOwn(exports$1, name)) {
176714
176741
  this.raiseRecoverable(pos, "Duplicate export '" + name + "'");
176715
176742
  }
176716
- exports4[name] = true;
176743
+ exports$1[name] = true;
176717
176744
  };
176718
- pp$8.checkPatternExport = function(exports4, pat) {
176745
+ pp$8.checkPatternExport = function(exports$1, pat) {
176719
176746
  var type = pat.type;
176720
176747
  if (type === "Identifier") {
176721
- this.checkExport(exports4, pat, pat.start);
176748
+ this.checkExport(exports$1, pat, pat.start);
176722
176749
  } else if (type === "ObjectPattern") {
176723
176750
  for (var i2 = 0, list2 = pat.properties;i2 < list2.length; i2 += 1) {
176724
176751
  var prop = list2[i2];
176725
- this.checkPatternExport(exports4, prop);
176752
+ this.checkPatternExport(exports$1, prop);
176726
176753
  }
176727
176754
  } else if (type === "ArrayPattern") {
176728
176755
  for (var i$1 = 0, list$1 = pat.elements;i$1 < list$1.length; i$1 += 1) {
176729
176756
  var elt = list$1[i$1];
176730
176757
  if (elt) {
176731
- this.checkPatternExport(exports4, elt);
176758
+ this.checkPatternExport(exports$1, elt);
176732
176759
  }
176733
176760
  }
176734
176761
  } else if (type === "Property") {
176735
- this.checkPatternExport(exports4, pat.value);
176762
+ this.checkPatternExport(exports$1, pat.value);
176736
176763
  } else if (type === "AssignmentPattern") {
176737
- this.checkPatternExport(exports4, pat.left);
176764
+ this.checkPatternExport(exports$1, pat.left);
176738
176765
  } else if (type === "RestElement") {
176739
- this.checkPatternExport(exports4, pat.argument);
176766
+ this.checkPatternExport(exports$1, pat.argument);
176740
176767
  }
176741
176768
  };
176742
- pp$8.checkVariableExport = function(exports4, decls) {
176743
- if (!exports4) {
176769
+ pp$8.checkVariableExport = function(exports$1, decls) {
176770
+ if (!exports$1) {
176744
176771
  return;
176745
176772
  }
176746
176773
  for (var i2 = 0, list2 = decls;i2 < list2.length; i2 += 1) {
176747
176774
  var decl = list2[i2];
176748
- this.checkPatternExport(exports4, decl.id);
176775
+ this.checkPatternExport(exports$1, decl.id);
176749
176776
  }
176750
176777
  };
176751
176778
  pp$8.shouldParseExportStatement = function() {
176752
176779
  return this.type.keyword === "var" || this.type.keyword === "const" || this.type.keyword === "class" || this.type.keyword === "function" || this.isLet() || this.isAsyncFunction();
176753
176780
  };
176754
- pp$8.parseExportSpecifier = function(exports4) {
176781
+ pp$8.parseExportSpecifier = function(exports$1) {
176755
176782
  var node = this.startNode();
176756
176783
  node.local = this.parseModuleExportName();
176757
176784
  node.exported = this.eatContextual("as") ? this.parseModuleExportName() : node.local;
176758
- this.checkExport(exports4, node.exported, node.exported.start);
176785
+ this.checkExport(exports$1, node.exported, node.exported.start);
176759
176786
  return this.finishNode(node, "ExportSpecifier");
176760
176787
  };
176761
- pp$8.parseExportSpecifiers = function(exports4) {
176788
+ pp$8.parseExportSpecifiers = function(exports$1) {
176762
176789
  var nodes = [], first = true;
176763
176790
  this.expect(types$1.braceL);
176764
176791
  while (!this.eat(types$1.braceR)) {
@@ -176770,7 +176797,7 @@ Defaulting to 2020, but this will stop working in the future.`);
176770
176797
  } else {
176771
176798
  first = false;
176772
176799
  }
176773
- nodes.push(this.parseExportSpecifier(exports4));
176800
+ nodes.push(this.parseExportSpecifier(exports$1));
176774
176801
  }
176775
176802
  return nodes;
176776
176803
  };
@@ -177339,17 +177366,20 @@ Defaulting to 2020, but this will stop working in the future.`);
177339
177366
  other[kind] = true;
177340
177367
  };
177341
177368
  pp$5.parseExpression = function(forInit, refDestructuringErrors) {
177342
- var startPos = this.start, startLoc = this.startLoc;
177343
- var expr = this.parseMaybeAssign(forInit, refDestructuringErrors);
177344
- if (this.type === types$1.comma) {
177345
- var node = this.startNodeAt(startPos, startLoc);
177346
- node.expressions = [expr];
177347
- while (this.eat(types$1.comma)) {
177348
- node.expressions.push(this.parseMaybeAssign(forInit, refDestructuringErrors));
177369
+ var this$1$1 = this;
177370
+ return this.catchStackOverflow(function() {
177371
+ var { start: startPos, startLoc } = this$1$1;
177372
+ var expr = this$1$1.parseMaybeAssign(forInit, refDestructuringErrors);
177373
+ if (this$1$1.type === types$1.comma) {
177374
+ var node = this$1$1.startNodeAt(startPos, startLoc);
177375
+ node.expressions = [expr];
177376
+ while (this$1$1.eat(types$1.comma)) {
177377
+ node.expressions.push(this$1$1.parseMaybeAssign(forInit, refDestructuringErrors));
177378
+ }
177379
+ return this$1$1.finishNode(node, "SequenceExpression");
177349
177380
  }
177350
- return this.finishNode(node, "SequenceExpression");
177351
- }
177352
- return expr;
177381
+ return expr;
177382
+ });
177353
177383
  };
177354
177384
  pp$5.parseMaybeAssign = function(forInit, refDestructuringErrors, afterLeftParse) {
177355
177385
  if (this.isContextual("yield")) {
@@ -177421,7 +177451,7 @@ Defaulting to 2020, but this will stop working in the future.`);
177421
177451
  if (this.checkExpressionErrors(refDestructuringErrors)) {
177422
177452
  return expr;
177423
177453
  }
177424
- if (this.eat(types$1.question)) {
177454
+ if (!(expr.type === "ArrowFunctionExpression" && expr.start === startPos) && this.eat(types$1.question)) {
177425
177455
  var node = this.startNodeAt(startPos, startLoc);
177426
177456
  node.test = expr;
177427
177457
  node.consequent = this.parseMaybeAssign();
@@ -177917,6 +177947,9 @@ Defaulting to 2020, but this will stop working in the future.`);
177917
177947
  }
177918
177948
  var startPos = this.start, startLoc = this.startLoc;
177919
177949
  node.callee = this.parseSubscripts(this.parseExprAtom(null, false, true), startPos, startLoc, true, false);
177950
+ if (node.callee.type === "Super") {
177951
+ this.raiseRecoverable(startPos, "Invalid use of 'super'");
177952
+ }
177920
177953
  if (this.eat(types$1.parenL)) {
177921
177954
  node.arguments = this.parseExprList(types$1.parenR, this.options.ecmaVersion >= 8, false);
177922
177955
  } else {
@@ -180432,7 +180465,7 @@ Defaulting to 2020, but this will stop working in the future.`);
180432
180465
  }
180433
180466
  return this.finishToken(type, word);
180434
180467
  };
180435
- var version = "8.16.0";
180468
+ var version = "8.17.0";
180436
180469
  Parser.acorn = {
180437
180470
  Parser,
180438
180471
  version,
@@ -1,4 +1,4 @@
1
1
  import { AutoRedirectCardProps } from '../types';
2
- declare const AutoRedirectCard: ({ data }: AutoRedirectCardProps) => import("react/jsx-runtime").JSX.Element;
2
+ declare const AutoRedirectCard: ({ data }: AutoRedirectCardProps) => import("react").JSX.Element;
3
3
  export default AutoRedirectCard;
4
4
  //# sourceMappingURL=AutoRedirectCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AutoRedirectCard.d.ts","sourceRoot":"","sources":["../../../../../src/components/Common/AutoRedirectCard/ui/AutoRedirectCard.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAKhD,QAAA,MAAM,gBAAgB,GAAI,UAAU,qBAAqB,4CAexD,CAAA;AAED,eAAe,gBAAgB,CAAA"}
1
+ {"version":3,"file":"AutoRedirectCard.d.ts","sourceRoot":"","sources":["../../../../../src/components/Common/AutoRedirectCard/ui/AutoRedirectCard.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAKhD,QAAA,MAAM,gBAAgB,GAAI,UAAU,qBAAqB,gCAexD,CAAA;AAED,eAAe,gBAAgB,CAAA"}
@@ -1,4 +1,4 @@
1
1
  import { CloudStorageCardProps } from '../types';
2
- declare const CloudStorageCard: ({ data }: CloudStorageCardProps) => import("react/jsx-runtime").JSX.Element;
2
+ declare const CloudStorageCard: ({ data }: CloudStorageCardProps) => import("react").JSX.Element;
3
3
  export default CloudStorageCard;
4
4
  //# sourceMappingURL=CloudStorageCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CloudStorageCard.d.ts","sourceRoot":"","sources":["../../../../../src/components/Common/CloudStorageCard/ui/CloudStorageCard.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAGhD,QAAA,MAAM,gBAAgB,GAAI,UAAU,qBAAqB,4CA6CxD,CAAA;AAED,eAAe,gBAAgB,CAAA"}
1
+ {"version":3,"file":"CloudStorageCard.d.ts","sourceRoot":"","sources":["../../../../../src/components/Common/CloudStorageCard/ui/CloudStorageCard.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAGhD,QAAA,MAAM,gBAAgB,GAAI,UAAU,qBAAqB,gCA6CxD,CAAA;AAED,eAAe,gBAAgB,CAAA"}
@@ -1,4 +1,4 @@
1
1
  import { DeviceStorageCardProps } from '../types';
2
- declare const DeviceStorageCard: ({ data }: DeviceStorageCardProps) => import("react/jsx-runtime").JSX.Element;
2
+ declare const DeviceStorageCard: ({ data }: DeviceStorageCardProps) => import("react").JSX.Element;
3
3
  export default DeviceStorageCard;
4
4
  //# sourceMappingURL=DeviceStorageCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DeviceStorageCard.d.ts","sourceRoot":"","sources":["../../../../../src/components/Common/DeviceStorageCard/ui/DeviceStorageCard.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAGjD,QAAA,MAAM,iBAAiB,GAAI,UAAU,sBAAsB,4CA0C1D,CAAA;AAED,eAAe,iBAAiB,CAAA"}
1
+ {"version":3,"file":"DeviceStorageCard.d.ts","sourceRoot":"","sources":["../../../../../src/components/Common/DeviceStorageCard/ui/DeviceStorageCard.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAGjD,QAAA,MAAM,iBAAiB,GAAI,UAAU,sBAAsB,gCA0C1D,CAAA;AAED,eAAe,iBAAiB,CAAA"}
@@ -1,4 +1,4 @@
1
1
  import { HTMLEmbedCardProps } from '../types';
2
- declare const HTMLEmbedCard: ({ data }: HTMLEmbedCardProps) => import("react/jsx-runtime").JSX.Element;
2
+ declare const HTMLEmbedCard: ({ data }: HTMLEmbedCardProps) => import("react").JSX.Element;
3
3
  export default HTMLEmbedCard;
4
4
  //# sourceMappingURL=HTMLEmbedCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HTMLEmbedCard.d.ts","sourceRoot":"","sources":["../../../../../src/components/Common/HTMLEmbedCard/ui/HTMLEmbedCard.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAG7C,QAAA,MAAM,aAAa,GAAI,UAAU,kBAAkB,4CAoElD,CAAA;AAED,eAAe,aAAa,CAAA"}
1
+ {"version":3,"file":"HTMLEmbedCard.d.ts","sourceRoot":"","sources":["../../../../../src/components/Common/HTMLEmbedCard/ui/HTMLEmbedCard.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAG7C,QAAA,MAAM,aAAa,GAAI,UAAU,kBAAkB,gCAoElD,CAAA;AAED,eAAe,aAAa,CAAA"}
@@ -1,4 +1,4 @@
1
1
  import { HiddenCardProps } from '../types';
2
- declare const HiddenCard: ({ data }: HiddenCardProps) => import("react/jsx-runtime").JSX.Element;
2
+ declare const HiddenCard: ({ data }: HiddenCardProps) => import("react").JSX.Element;
3
3
  export default HiddenCard;
4
4
  //# sourceMappingURL=HiddenCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HiddenCard.d.ts","sourceRoot":"","sources":["../../../../../src/components/Common/HiddenCard/ui/HiddenCard.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAG1C,QAAA,MAAM,UAAU,GAAI,UAAU,eAAe,4CAgC5C,CAAA;AAED,eAAe,UAAU,CAAA"}
1
+ {"version":3,"file":"HiddenCard.d.ts","sourceRoot":"","sources":["../../../../../src/components/Common/HiddenCard/ui/HiddenCard.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAG1C,QAAA,MAAM,UAAU,GAAI,UAAU,eAAe,gCAgC5C,CAAA;AAED,eAAe,UAAU,CAAA"}
@@ -1,4 +1,4 @@
1
1
  import { IOEventsCardProps } from '../types';
2
- declare const IOEventsCard: ({ data }: IOEventsCardProps) => import("react/jsx-runtime").JSX.Element;
2
+ declare const IOEventsCard: ({ data }: IOEventsCardProps) => import("react").JSX.Element;
3
3
  export default IOEventsCard;
4
4
  //# sourceMappingURL=IOEventsCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IOEventsCard.d.ts","sourceRoot":"","sources":["../../../../../src/components/Common/IOEventsCard/ui/IOEventsCard.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAe,iBAAiB,EAAE,MAAM,UAAU,CAAA;AA8EzD,QAAA,MAAM,YAAY,GAAI,UAAU,iBAAiB,4CA6DhD,CAAA;AAED,eAAe,YAAY,CAAA"}
1
+ {"version":3,"file":"IOEventsCard.d.ts","sourceRoot":"","sources":["../../../../../src/components/Common/IOEventsCard/ui/IOEventsCard.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAe,iBAAiB,EAAE,MAAM,UAAU,CAAA;AA8EzD,QAAA,MAAM,YAAY,GAAI,UAAU,iBAAiB,gCA6DhD,CAAA;AAED,eAAe,YAAY,CAAA"}
@@ -1,4 +1,4 @@
1
1
  import { SecureStorageCardProps } from '../types';
2
- declare const SecureStorageCard: ({ data }: SecureStorageCardProps) => import("react/jsx-runtime").JSX.Element;
2
+ declare const SecureStorageCard: ({ data }: SecureStorageCardProps) => import("react").JSX.Element;
3
3
  export default SecureStorageCard;
4
4
  //# sourceMappingURL=SecureStorageCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SecureStorageCard.d.ts","sourceRoot":"","sources":["../../../../../src/components/Common/SecureStorageCard/ui/SecureStorageCard.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAGjD,QAAA,MAAM,iBAAiB,GAAI,UAAU,sBAAsB,4CA6C1D,CAAA;AAED,eAAe,iBAAiB,CAAA"}
1
+ {"version":3,"file":"SecureStorageCard.d.ts","sourceRoot":"","sources":["../../../../../src/components/Common/SecureStorageCard/ui/SecureStorageCard.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAGjD,QAAA,MAAM,iBAAiB,GAAI,UAAU,sBAAsB,gCA6C1D,CAAA;AAED,eAAe,iBAAiB,CAAA"}
@@ -1,4 +1,4 @@
1
1
  import { SessionStorageCardProps } from '../types';
2
- declare const SessionStorageCard: ({ data }: SessionStorageCardProps) => import("react/jsx-runtime").JSX.Element;
2
+ declare const SessionStorageCard: ({ data }: SessionStorageCardProps) => import("react").JSX.Element;
3
3
  export default SessionStorageCard;
4
4
  //# sourceMappingURL=SessionStorageCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SessionStorageCard.d.ts","sourceRoot":"","sources":["../../../../../src/components/Common/SessionStorageCard/ui/SessionStorageCard.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAGlD,QAAA,MAAM,kBAAkB,GAAI,UAAU,uBAAuB,4CA0C5D,CAAA;AAED,eAAe,kBAAkB,CAAA"}
1
+ {"version":3,"file":"SessionStorageCard.d.ts","sourceRoot":"","sources":["../../../../../src/components/Common/SessionStorageCard/ui/SessionStorageCard.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAGlD,QAAA,MAAM,kBAAkB,GAAI,UAAU,uBAAuB,gCA0C5D,CAAA;AAED,eAAe,kBAAkB,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { AjaxGroupCardProps } from '../types';
3
- declare const AjaxGroupCard: ({ data, content }: AjaxGroupCardProps) => string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | import("react/jsx-runtime").JSX.Element | null | undefined;
3
+ declare const AjaxGroupCard: ({ data, content }: AjaxGroupCardProps) => string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | import("react").JSX.Element | null | undefined;
4
4
  export default AjaxGroupCard;
5
5
  //# sourceMappingURL=AjaxGroupCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AjaxGroupCard.d.ts","sourceRoot":"","sources":["../../../../../src/components/Containers/AjaxGroupCard/ui/AjaxGroupCard.tsx"],"names":[],"mappings":"AAAA,OAAO,EACH,SAAS,EAMZ,MAAM,OAAO,CAAA;AAEd,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAO7C,QAAA,MAAM,aAAa,GAAI,mBAAmB,kBAAkB,4UAuF3D,CAAA;AAED,eAAe,aAAa,CAAA"}
1
+ {"version":3,"file":"AjaxGroupCard.d.ts","sourceRoot":"","sources":["../../../../../src/components/Containers/AjaxGroupCard/ui/AjaxGroupCard.tsx"],"names":[],"mappings":"AAAA,OAAO,EACH,SAAS,EAMZ,MAAM,OAAO,CAAA;AAEd,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAO7C,QAAA,MAAM,aAAa,GAAI,mBAAmB,kBAAkB,gUAuF3D,CAAA;AAED,eAAe,aAAa,CAAA"}
@@ -4,6 +4,6 @@ declare const BoxCard: ({ data, content, setUiAjaxConfiguration, }: {
4
4
  data: BoxCardData;
5
5
  content: UIConfigType;
6
6
  setUiAjaxConfiguration?: SetUiAjaxConfigurationType;
7
- }) => import("react/jsx-runtime").JSX.Element;
7
+ }) => import("react").JSX.Element;
8
8
  export default BoxCard;
9
9
  //# sourceMappingURL=BoxCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BoxCard.d.ts","sourceRoot":"","sources":["../../../../../src/components/Containers/BoxCard/ui/BoxCard.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAEtC,OAAO,EAAE,0BAA0B,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAM5E,QAAA,MAAM,OAAO,GAAI,4CAId;IACC,IAAI,EAAE,WAAW,CAAA;IACjB,OAAO,EAAE,YAAY,CAAA;IACrB,sBAAsB,CAAC,EAAE,0BAA0B,CAAA;CACtD,4CA4BA,CAAA;AAED,eAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"BoxCard.d.ts","sourceRoot":"","sources":["../../../../../src/components/Containers/BoxCard/ui/BoxCard.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAEtC,OAAO,EAAE,0BAA0B,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAM5E,QAAA,MAAM,OAAO,GAAI,4CAId;IACC,IAAI,EAAE,WAAW,CAAA;IACjB,OAAO,EAAE,YAAY,CAAA;IACrB,sBAAsB,CAAC,EAAE,0BAA0B,CAAA;CACtD,gCA4BA,CAAA;AAED,eAAe,OAAO,CAAA"}
@@ -1,4 +1,4 @@
1
1
  import { OneOfCardProps } from '../types';
2
- declare const OneOfCard: ({ data, content, setUiAjaxConfiguration, }: OneOfCardProps) => import("react/jsx-runtime").JSX.Element;
2
+ declare const OneOfCard: ({ data, content, setUiAjaxConfiguration, }: OneOfCardProps) => import("react").JSX.Element;
3
3
  export default OneOfCard;
4
4
  //# sourceMappingURL=OneOfCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OneOfCard.d.ts","sourceRoot":"","sources":["../../../../../src/components/Containers/OneOfCard/ui/OneOfCard.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAKzC,QAAA,MAAM,SAAS,GAAI,4CAIhB,cAAc,4CAkBhB,CAAA;AAED,eAAe,SAAS,CAAA"}
1
+ {"version":3,"file":"OneOfCard.d.ts","sourceRoot":"","sources":["../../../../../src/components/Containers/OneOfCard/ui/OneOfCard.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAKzC,QAAA,MAAM,SAAS,GAAI,4CAIhB,cAAc,gCAkBhB,CAAA;AAED,eAAe,SAAS,CAAA"}
@@ -1,4 +1,4 @@
1
1
  import { SequenceCardProps } from '../types';
2
- declare const SequenceCard: ({ data, content, setUiAjaxConfiguration, }: SequenceCardProps) => import("react/jsx-runtime").JSX.Element;
2
+ declare const SequenceCard: ({ data, content, setUiAjaxConfiguration, }: SequenceCardProps) => import("react").JSX.Element;
3
3
  export default SequenceCard;
4
4
  //# sourceMappingURL=SequenceCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SequenceCard.d.ts","sourceRoot":"","sources":["../../../../../src/components/Containers/SequenceCard/ui/SequenceCard.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAK5C,QAAA,MAAM,YAAY,GAAI,4CAInB,iBAAiB,4CAkBnB,CAAA;AAED,eAAe,YAAY,CAAA"}
1
+ {"version":3,"file":"SequenceCard.d.ts","sourceRoot":"","sources":["../../../../../src/components/Containers/SequenceCard/ui/SequenceCard.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAK5C,QAAA,MAAM,YAAY,GAAI,4CAInB,iBAAiB,gCAkBnB,CAAA;AAED,eAAe,YAAY,CAAA"}
@@ -1,4 +1,4 @@
1
1
  import { UnionCardProps } from '../types';
2
- declare const UnionCard: ({ data, content, setUiAjaxConfiguration, }: UnionCardProps) => import("react/jsx-runtime").JSX.Element;
2
+ declare const UnionCard: ({ data, content, setUiAjaxConfiguration, }: UnionCardProps) => import("react").JSX.Element;
3
3
  export default UnionCard;
4
4
  //# sourceMappingURL=UnionCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UnionCard.d.ts","sourceRoot":"","sources":["../../../../../src/components/Containers/UnionCard/ui/UnionCard.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAKzC,QAAA,MAAM,SAAS,GAAI,4CAIhB,cAAc,4CAgBhB,CAAA;AAED,eAAe,SAAS,CAAA"}
1
+ {"version":3,"file":"UnionCard.d.ts","sourceRoot":"","sources":["../../../../../src/components/Containers/UnionCard/ui/UnionCard.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAKzC,QAAA,MAAM,SAAS,GAAI,4CAIhB,cAAc,gCAgBhB,CAAA;AAED,eAAe,SAAS,CAAA"}
@@ -10,6 +10,6 @@ import { PieBaseRootProps } from './types';
10
10
  * that tree. Use this when you want full control over what is rendered or
11
11
  * when combining a PieUI widget with a non-PieUI application shell.
12
12
  */
13
- declare const PieBaseRoot: (props: PieBaseRootProps) => import("react/jsx-runtime").JSX.Element;
13
+ declare const PieBaseRoot: (props: PieBaseRootProps) => import("react").JSX.Element;
14
14
  export default PieBaseRoot;
15
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/PieBaseRoot/index.tsx"],"names":[],"mappings":"AAmBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AA6D1C;;;;;;;;;;GAUG;AACH,QAAA,MAAM,WAAW,GAAI,OAAO,gBAAgB,4CAY3C,CAAA;AAED,eAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/PieBaseRoot/index.tsx"],"names":[],"mappings":"AAmBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AA6D1C;;;;;;;;;;GAUG;AACH,QAAA,MAAM,WAAW,GAAI,OAAO,gBAAgB,gCAY3C,CAAA;AAED,eAAe,WAAW,CAAA"}
@@ -17,6 +17,6 @@ import { PieCardProps } from './types';
17
17
  * Cleanup runs automatically on unmount or when `data.name`/the support
18
18
  * flags change.
19
19
  */
20
- declare const PieCard: <TStored = unknown>({ card, data, children, useSocketioSupport, useCentrifugeSupport, useMittSupport, centrifugeChannel, methods, stored, }: PieCardProps<TStored>) => string | number | bigint | boolean | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | null | undefined> | import("react/jsx-runtime").JSX.Element | null | undefined;
20
+ declare const PieCard: <TStored = unknown>({ card, data, children, useSocketioSupport, useCentrifugeSupport, useMittSupport, centrifugeChannel, methods, stored, }: PieCardProps<TStored>) => string | number | bigint | boolean | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | null | undefined> | import("react").JSX.Element | null | undefined;
21
21
  export default PieCard;
22
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/PieCard/index.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEtC;;;;;;;;;;;;;;;;;GAiBG;AACH,QAAA,MAAM,OAAO,GAAI,OAAO,GAAG,OAAO,EAAG,yHAUlC,YAAY,CAAC,OAAO,CAAC,4WAiMvB,CAAA;AAED,eAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/PieCard/index.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEtC;;;;;;;;;;;;;;;;;GAiBG;AACH,QAAA,MAAM,OAAO,GAAI,OAAO,GAAG,OAAO,EAAG,yHAUlC,YAAY,CAAC,OAAO,CAAC,gWAiMvB,CAAA;AAED,eAAe,OAAO,CAAA"}
@@ -16,6 +16,6 @@ import { PieRootProps } from './types';
16
16
  * (`staleTime: Infinity`); supply `queryOptions` to override the
17
17
  * react-query behaviour.
18
18
  */
19
- declare const PieRoot: (props: PieRootProps) => import("react/jsx-runtime").JSX.Element;
19
+ declare const PieRoot: (props: PieRootProps) => import("react").JSX.Element;
20
20
  export default PieRoot;
21
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/PieRoot/index.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAmLtC;;;;;;;;;;;;;;;;GAgBG;AACH,QAAA,MAAM,OAAO,GAAI,OAAO,YAAY,4CAYnC,CAAA;AAED,eAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/PieRoot/index.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAmLtC;;;;;;;;;;;;;;;;GAgBG;AACH,QAAA,MAAM,OAAO,GAAI,OAAO,YAAY,gCAYnC,CAAA;AAED,eAAe,OAAO,CAAA"}
@@ -3,7 +3,7 @@ import { ReactNode } from 'react';
3
3
  declare function UI({ uiConfig, setUiAjaxConfiguration, }: {
4
4
  uiConfig: UIConfigType;
5
5
  setUiAjaxConfiguration?: SetUiAjaxConfigurationType;
6
- }): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | import("react/jsx-runtime").JSX.Element | null | undefined;
6
+ }): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | import("react").JSX.Element | null | undefined;
7
7
  declare const _default: import("react").MemoExoticComponent<typeof UI>;
8
8
  export default _default;
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/UI/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAEtE,OAAO,EAAwB,SAAS,EAAQ,MAAM,OAAO,CAAA;AAI7D,iBAAS,EAAE,CAAC,EACR,QAAQ,EACR,sBAAsB,GACzB,EAAE;IACC,QAAQ,EAAE,YAAY,CAAA;IACtB,sBAAsB,CAAC,EAAE,0BAA0B,CAAA;CACtD,2UAiEA;;AAED,wBAAuB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/UI/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAEtE,OAAO,EAAwB,SAAS,EAAQ,MAAM,OAAO,CAAA;AAI7D,iBAAS,EAAE,CAAC,EACR,QAAQ,EACR,sBAAsB,GACzB,EAAE;IACC,QAAQ,EAAE,YAAY,CAAA;IACtB,sBAAsB,CAAC,EAAE,0BAA0B,CAAA;CACtD,+TAiEA;;AAED,wBAAuB"}
@@ -3,6 +3,6 @@ import { ReactNode } from 'react';
3
3
  declare function UILoading({ uiConfig, setUiAjaxConfiguration, }: {
4
4
  uiConfig: UIConfigType;
5
5
  setUiAjaxConfiguration?: SetUiAjaxConfigurationType;
6
- }): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | import("react/jsx-runtime").JSX.Element | null | undefined;
6
+ }): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | import("react").JSX.Element | null | undefined;
7
7
  export default UILoading;
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/UILoading/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAEtE,OAAO,EAAwB,SAAS,EAAE,MAAM,OAAO,CAAA;AAKvD,iBAAS,SAAS,CAAC,EACf,QAAQ,EACR,sBAAsB,GACzB,EAAE;IACC,QAAQ,EAAE,YAAY,CAAA;IACtB,sBAAsB,CAAC,EAAE,0BAA0B,CAAA;CACtD,2UAsEA;AAED,eAAe,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/UILoading/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAEtE,OAAO,EAAwB,SAAS,EAAE,MAAM,OAAO,CAAA;AAKvD,iBAAS,SAAS,CAAC,EACf,QAAQ,EACR,sBAAsB,GACzB,EAAE;IACC,QAAQ,EAAE,YAAY,CAAA;IACtB,sBAAsB,CAAC,EAAE,0BAA0B,CAAA;CACtD,+TAsEA;AAED,eAAe,SAAS,CAAA"}
package/dist/index.d.ts CHANGED
@@ -18,7 +18,6 @@ export { default as SocketIOContext } from './util/socket';
18
18
  export { default as CentrifugeIOContext } from './util/centrifuge';
19
19
  export { default as FallbackContext } from './util/fallback';
20
20
  export { PieConfigContext } from './util/pieConfig';
21
- export { getMittAgentTools, usePieMittAgentTools, type MittAgentTool, type MittAgentToolDescriptor, type MittAgentToolsOptions, } from './util/mittAgentTools';
22
21
  export { default as useOpenAIWebRTC, type OpenAIEvent, type UseOpenAIWebRTCReturn, } from './util/useOpenAIWebRTC';
23
22
  export { cn } from './util/tailwindCommonUtils';
24
23
  export { PIEBREAK } from './util/pieConfig';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,cAAc,cAAc,CAAA;AAE5B,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EACH,OAAO,IAAI,iBAAiB,EAC5B,KAAK,eAAe,GACvB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EACH,oBAAoB,EACpB,0BAA0B,EAC1B,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,0BAA0B,EAC1B,mBAAmB,GACtB,MAAM,iBAAiB,CAAA;AAExB,YAAY,EACR,iBAAiB,EACjB,uBAAuB,EACvB,wBAAwB,EACxB,0BAA0B,EAC1B,iCAAiC,EACjC,4BAA4B,EAC5B,6BAA6B,EAC7B,+BAA+B,EAC/B,sCAAsC,EACtC,SAAS,EACT,YAAY,EACZ,0BAA0B,GAC7B,MAAM,SAAS,CAAA;AAEhB,YAAY,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAEjE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACnE,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAChE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,eAAe,CAAA;AAC1D,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAClE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EACH,iBAAiB,EACjB,oBAAoB,EACpB,KAAK,aAAa,EAClB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,GAC7B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACH,OAAO,IAAI,eAAe,EAC1B,KAAK,WAAW,EAChB,KAAK,qBAAqB,GAC7B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,EAAE,EAAE,MAAM,4BAA4B,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,cAAc,cAAc,CAAA;AAE5B,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EACH,OAAO,IAAI,iBAAiB,EAC5B,KAAK,eAAe,GACvB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EACH,oBAAoB,EACpB,0BAA0B,EAC1B,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,0BAA0B,EAC1B,mBAAmB,GACtB,MAAM,iBAAiB,CAAA;AAExB,YAAY,EACR,iBAAiB,EACjB,uBAAuB,EACvB,wBAAwB,EACxB,0BAA0B,EAC1B,iCAAiC,EACjC,4BAA4B,EAC5B,6BAA6B,EAC7B,+BAA+B,EAC/B,sCAAsC,EACtC,SAAS,EACT,YAAY,EACZ,0BAA0B,GAC7B,MAAM,SAAS,CAAA;AAEhB,YAAY,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAEjE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACnE,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAChE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,eAAe,CAAA;AAC1D,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAClE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAKnD,OAAO,EACH,OAAO,IAAI,eAAe,EAC1B,KAAK,WAAW,EAChB,KAAK,qBAAqB,GAC7B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,EAAE,EAAE,MAAM,4BAA4B,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA"}
package/dist/index.esm.js CHANGED
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{useContext as Tf,useEffect as Vf,useRef as NU}from"react";import{createContext as WU,useContext as QU}from"react";var x=WU(null),h=()=>{let f=QU(x);if(!f)throw Error("usePieConfig must be used within PieConfigProvider");return f},j=()=>{let{apiServer:f}=h();return f},e=j,u=()=>{let{centrifugeServer:f}=h();return f};var A=()=>{let{enableRenderingLog:f}=h();return f},Mf=A,Lf=()=>{let{pageProcessor:f}=h();return f};var zf="__piedemo__";import{createContext as RU}from"react";import{Centrifuge as Af}from"centrifuge";var Nf=new Map,d=(f,U)=>{if(!U)return null;let H=`${f}::${U}`,P=Nf.get(H);if(P)return P;async function C(){let D=await fetch(f+"api/centrifuge/gen_token");if(!D.ok){if(D.status===403)throw new Af.UnauthorizedError("Backend is not answering");throw Error(`Unexpected status code ${D.status}`)}return(await D.json()).token}let Z=new Af(U,{getToken:C});return Nf.set(H,Z),Z},_U=RU(null),N=_U;import{io as wU}from"socket.io-client";import{createContext as KU}from"react";var yf=new Map,b=(f)=>{let U=yf.get(f);if(U)return U;let H=wU(f,{autoConnect:!1,transports:["websocket"]});return yf.set(f,H),H},SU=KU(null),y=SU;import oU from"mitt";import{createContext as FU,useCallback as MU,useContext as LU}from"react";var If=null;function m(){if(!If)If=oU();return If}var mf=FU(null);function AU(f){let U=LU(mf);return MU((H,P)=>{(U??m()).emit(`pie${H}_${f}`,P)},[f,U])}var S=mf;import{jsx as EU,jsxs as kU,Fragment as mU}from"react/jsx-runtime";var yU=({card:f,data:U,children:H,useSocketioSupport:P=!1,useCentrifugeSupport:C=!1,useMittSupport:Z=!1,centrifugeChannel:D=void 0,methods:I=void 0,stored:$=void 0})=>{let z=Mf(),T=NU(I);if(T.current=I,z)console.log("[PieCard] Rendering card:",f),console.log("[PieCard] Card data:",U),console.log("[PieCard] Component name:",U?.name),console.log("[PieCard] Real-time support:",{socketio:P,centrifuge:C,mitt:Z,centrifugeChannel:D}),console.log("[PieCard] Methods:",I?Object.keys(I):"none"),console.log("[PieCard] Has children:",!!H);let X=Tf(y),G=Tf(N),O=Tf(S);if(Vf(()=>{if(!X||!P||!T.current||!U.name){if(z&&P)console.log("[PieCard] Socket.IO setup skipped:",{hasSocket:!!X,useSocketioSupport:P,hasMethods:!!T.current,hasDataName:!!U?.name});return}let q=Object.keys(T.current??{}).map((V)=>{let Y=`pie${V}_${U.name}`;if(z)console.log(`[PieCard] Socket.IO registering event: ${Y}`);let W=(B)=>{T.current?.[V]?.(B)};return X.on(Y,W),[Y,W]});return()=>{q.forEach(([V,Y])=>{if(z)console.log(`[PieCard] Socket.IO unregistering event: ${V}`);X.off(V,Y)})}},[X,U.name,P]),Vf(()=>{if(!G||!C||!D||!U.name){if(z&&C)console.log("[PieCard] Centrifuge setup skipped:",{hasCentrifuge:!!G,useCentrifugeSupport:C,hasCentrifugeChannel:!!D,hasMethods:!!T.current,hasDataName:!!U?.name});return}let q=Object.keys(T.current??{}).map((V)=>{let Y=`pie${V}_${U.name}_${D}`;if(z)console.log(`[PieCard] Centrifuge subscribing to channel: ${Y}`);let W=G.newSubscription(Y);return W.on("publication",(B)=>{if(z)console.log(`[PieCard] Centrifuge received data on ${Y}:`,B.data);T.current?.[V]?.(B.data)}),W.subscribe(),W});return()=>{q.forEach((V)=>{if(z)console.log("[PieCard] Centrifuge unsubscribing from channel");V.unsubscribe(),G.removeSubscription(V)})}},[G,D,U.name,C]),Vf(()=>{if(!O||!Z||!U.name){if(z&&Z)console.log("[PieCard] Mitt setup skipped:",{hasMitt:!!O,useMittSupport:Z,hasMethods:!!T.current,hasDataName:!!U?.name});return}let J=Object.keys(T.current??{}),q={};return J.forEach((V)=>{let Y=`pie${V}_${U.name}`,W=(B)=>{if(z)console.log(`[PieCard] Mitt registering event: ${Y}`);T.current?.[V]?.(B)};q[Y]=W,O.on(Y,W)}),()=>{Object.entries(q).forEach(([V,Y])=>{if(z)console.log(`[PieCard] Mitt unregistering event: ${V}`);O.off(V,Y)})}},[O,U.name,Z]),z)console.log("[PieCard] Rendering complete, returning children");if($!==void 0)return kU(mU,{children:[EU("input",{type:"hidden",name:U.name,value:JSON.stringify($)}),H]});return H},_=yU;import{lazy as xU}from"react";var Of=new Map;function Ef(f,U){return xU(()=>{if(Of.has(U))return Of.get(U);let H=f().then((P)=>P);return Of.set(U,H),H})}var p=new Map,jU=(f)=>{if(!f.name)throw Error("Component registration requires a name");if(!f.component&&!f.loader)throw Error(`Component "${f.name}" requires component or loader`);let U={name:f.name,component:f.component,loader:f.loader,metadata:f.metadata,fallback:f.fallback,isLazy:!1};if(!U.component&&U.loader)U.component=Ef(U.loader,f.name),U.loader=void 0,U.isLazy=!0;return U};function Q(f){let U=jU(f);return p.set(U.name,U),U.component}var uU=(f)=>{f.forEach((U)=>Q(U))},dU=(f)=>{p.delete(f)},bU=(f)=>{return p.has(f)},pU=(f)=>{return p.get(f)?.metadata},r=(f)=>{return p.get(f)},gU=()=>{return Array.from(p.keys())},vU=()=>{return p.size};import{Suspense as nU,useContext as tU,memo as iU}from"react";import{createContext as cU}from"react";import{jsx as rU,Fragment as lU}from"react/jsx-runtime";var hU=cU(rU(lU,{})),K=hU;import{jsx as Jf}from"react/jsx-runtime";function sU({uiConfig:f,setUiAjaxConfiguration:U}){let H=tU(K),P=A();if(P)console.log("[UI] Rendering component:",f.card),console.log("[UI] Component data:",f.data),console.log("[UI] Component content:",f.content),console.log("[UI] Has setUiAjaxConfiguration:",!!U);let C=r(f.card);if(!C?.component){if(P)console.warn(`[UI] Component not found in registry: ${f.card}`),console.log("[UI] Returning fallback component");return H}if(P)console.log("[UI] Found component in registry:",{name:C.name,isLazy:C.isLazy,hasMetadata:!!C.metadata});let Z=C.component,D=Jf(Z,{data:f.data,content:f.content,setUiAjaxConfiguration:U});if(C.isLazy){if(P)console.log("[UI] Rendering lazy component with Suspense:",C.name);return Jf(nU,{fallback:C.fallback?Jf(C.fallback,{}):H,children:D},`${C.name}`)}if(P)console.log("[UI] Rendering component directly:",C.name);return D}var w=iU(sU);import{Suspense as fP,useContext as UP}from"react";import{createContext as aU}from"react";var eU=aU(null),E=eU;import{jsx as ff}from"react/jsx-runtime";function kf({uiConfig:f,setUiAjaxConfiguration:U}){let H=UP(K),P=A();if(P)console.log("[UILoading] Rendering fallback for:",f.card),console.log("[UILoading] Component data:",f.data),console.log("[UILoading] Component content:",f.content),console.log("[UILoading] Has setUiAjaxConfiguration:",!!U);let C=r(f.card);if(!C?.component){if(P)console.warn(`[UILoading] Component not found in registry: ${f.card}`),console.log("[UILoading] Returning fallback component");return H}if(P)console.log("[UILoading] Found component in registry:",{name:C.name,isLazy:C.isLazy,hasMetadata:!!C.metadata,hasFallback:!!C.fallback});if(C.fallback){if(P)console.log("[UILoading] Rendering fallback for:",C.name);let I=C.fallback;return ff(I,{})}if(P)console.log("[UILoading] No fallback, rendering full component:",C.name);let Z=C.component,D=ff(E.Provider,{value:kf,children:ff(Z,{data:f.data,content:f.content,setUiAjaxConfiguration:U})});if(C.isLazy)return ff(fP,{fallback:H,children:D},`${C.name}`);return D}var Yf=kf;import{useContext as PP}from"react";import{jsx as Xf}from"react/jsx-runtime";var CP=({data:f,content:U,setUiAjaxConfiguration:H})=>{let{name:P,sx:C}=f,Z=PP(E)??w;return Xf(_,{card:P,data:f,children:Xf("div",{style:C,id:P,children:U.map((D,I)=>{return Xf(Z,{uiConfig:D,setUiAjaxConfiguration:H},`children-${I}`)})})})},xf=CP;var HP=Q({name:"SequenceCard",component:xf,metadata:{author:"Swarm.ing",description:"Simple div with styles joining few components"}});import{useContext as DP}from"react";import{jsx as jf}from"react/jsx-runtime";var ZP=({data:f,content:U,setUiAjaxConfiguration:H})=>{let{name:P}=f,C=DP(E)??w;return jf(_,{card:P,data:f,children:U.map((Z,D)=>{return jf(C,{uiConfig:Z,setUiAjaxConfiguration:H},`children-${D}`)})})},uf=ZP;var $P=Q({name:"UnionCard",component:uf,metadata:{author:"Swarm.ing",description:"Renders one of many components"}});import{useEffect as VP,useState as OP}from"react";import JP from"html-react-parser";import{useCallback as Uf,useEffect as zP,useRef as Gf,useState as IP}from"react";function TP(){let f=new AudioContext,U=f.createOscillator(),H=U.connect(f.createMediaStreamDestination());U.start();let P=H.stream.getAudioTracks()[0];return P.enabled=!1,P}function Pf(f=null,U){let[H,P]=IP(!1),C=Gf(null),Z=Gf(null),D=Gf(null),I=Uf(async(X,G=!0)=>{if(C.current)$();let O=new RTCPeerConnection;if(O.onconnectionstatechange=()=>{if(O.connectionState==="connected")P(!0);else if(["disconnected","failed","closed"].includes(O.connectionState))P(!1)},O.ontrack=(R)=>{if(f)f.srcObject=R.streams[0]},G){let R=await navigator.mediaDevices.getUserMedia({audio:!0});O.addTrack(R.getTracks()[0],R)}else{let R=TP();O.addTrack(R)}let J=O.createDataChannel("oai-events");Z.current=J,D.current=new Promise((R)=>{J.addEventListener("open",()=>{R()})});let q=await O.createOffer();await O.setLocalDescription(q);let B=await(await fetch(`${"https://api.openai.com/v1/realtime/calls"}?model=${"gpt-realtime"}`,{method:"POST",body:q.sdp,headers:{Authorization:`Bearer ${X}`,"Content-Type":"application/sdp"}})).text();await O.setRemoteDescription({type:"answer",sdp:B}),C.current=O,await D.current},[f]),$=Uf(()=>{let X=Z.current;if(X)X.close();C.current?.getSenders()?.forEach((G)=>G.track?.stop()),C.current?.close(),P(!1),C.current=null,Z.current=null,D.current=null},[f]),z=Uf((X)=>{let G=Z.current;if(!G){console.error("Data channel is not ready",X);return}let O=new Date().toLocaleTimeString();if(X.event_id=X.event_id||crypto.randomUUID(),G.send(JSON.stringify(X)),!X.timestamp)X.timestamp=O;U?.(X)},[U,f]),T=Uf((X)=>{if(!Z.current){console.error("Data channel is not ready");return}let O=()=>{z({type:"conversation.item.create",item:{type:"message",role:"user",content:[{type:"input_text",text:X}]}}),z({type:"response.create"})};if(D.current)D.current.then(O);else O()},[U,f]);return zP(()=>{let X=Z.current;if(!X)return;let G=(O)=>{let J=JSON.parse(O.data);if(!J.timestamp)J.timestamp=new Date().toLocaleTimeString();U?.(J)};return X.addEventListener("message",G),()=>{X.removeEventListener("message",G)}},[U,f]),{isSessionActive:H,startSession:I,stopSession:$,sendTextMessage:T}}import{jsx as XP}from"react/jsx-runtime";var YP=({data:f})=>{let{html:U,useSocketioSupport:H,useCentrifugeSupport:P,useMittSupport:C,centrifugeChannel:Z}=f,[D,I]=OP(U),{isSessionActive:$,startSession:z,sendTextMessage:T}=Pf(null,(J)=>{if(console.log(J.type,J.type==="response.output_text.delta"&&J.delta),J.type==="response.output_text.delta"&&J.delta)I((q)=>q+J.delta)});return VP(()=>{I(U)},[U]),XP(_,{card:"HTMLEmbedCard",data:f,methods:{update:(J)=>{I(J.value)},generateUsingAI:async(J)=>{try{if(!$&&J.token)await z(J.token,!1);T(J.prompt)}catch(q){console.error("Failed to generate using AI",q)}},initializeAI:async(J)=>{if(!$&&J.token)await z(J.token,!1)}},useCentrifugeSupport:P,useSocketioSupport:H,useMittSupport:C,centrifugeChannel:Z,children:JP(D)})},df=YP;var GP=Q({name:"HTMLEmbedCard",component:df,metadata:{author:"Swarm.ing"}});import{useEffect as qP,useState as BP}from"react";import{jsx as bf}from"react/jsx-runtime";var WP=({data:f})=>{let{name:U,value:H,useSocketioSupport:P,useCentrifugeSupport:C,useMittSupport:Z,centrifugeChannel:D}=f,[I,$]=BP(H);return qP(()=>{$(H)},[H]),bf(_,{card:"HiddenCard",data:f,useSocketioSupport:P,useCentrifugeSupport:C,useMittSupport:Z,centrifugeChannel:D,methods:{update:({value:z})=>{$(z)}},children:bf("input",{type:"hidden",id:U,name:U,value:I})})},pf=WP;var QP=Q({name:"HiddenCard",component:pf,metadata:{author:"Swarm.ing"}});import{useContext as gf,useEffect as wP}from"react";import{createContext as RP}from"react";var _P=RP(void 0),o=_P;import{jsx as oP,Fragment as SP}from"react/jsx-runtime";var KP=({data:f})=>{let{url:U}=f,H=gf(o),P=gf(K);return wP(()=>{if(/^[a-zA-Z][a-zA-Z\d+\-.]*:\/\//.test(U))window.location.href=U;else H?.(U)},[U,H]),oP(SP,{children:P})},vf=KP;var FP=Q({name:"AutoRedirectCard",component:vf,metadata:{author:"Swarm.ing"}});import{Bounce as MP,Slide as LP,Zoom as AP,Flip as NP}from"react-toastify";import{toast as yP,ToastContainer as mP}from"react-toastify";import{useContext as EP,useMemo as kP,useRef as xP}from"react";import{jsx as qf,Fragment as gP}from"react/jsx-runtime";var jP={bounce:MP,slide:LP,zoom:AP,flip:NP},uP=(f)=>{let U={...f,type:f.alertType,transition:f.transition?jP[f.transition]:void 0,position:f.position??"bottom-right",autoClose:f.autoClose??3000,style:{backgroundColor:"black",...f.sx}};yP(f.message,U)},dP=(f)=>{console.log("Log event",f)},bP=(f)=>{if(typeof window>"u"||!window.Notification){console.warn("[IOEventsCard] Notifications API is not available");return}let U=()=>{try{new window.Notification(f.title,{body:f.message??f.subtitle,icon:f.icon,silent:f.silent})}catch(P){console.error("[IOEventsCard] Failed to show notification",P)}},H=window.Notification.permission;if(H==="granted"){U();return}if(H==="denied"){console.warn("[IOEventsCard] Notification permission denied");return}window.Notification.requestPermission().then((P)=>{if(P==="granted")U()})},pP=({data:f})=>{let{useCentrifugeSupport:U,useSocketioSupport:H,useMittSupport:P,centrifugeChannel:C}=f,Z=EP(o),D=xP(Z);D.current=Z;let I=kP(()=>({alert:uP,log:dP,push:bP,redirect:($)=>{if($.to){let z=$.to;if(/^[a-zA-Z][a-zA-Z\d+\-.]*:\/\//.test(z))window.location.href=z;else D.current?.(z)}else window.location.reload()},reload:($)=>{if($.to){let z=$.to;if(/^[a-zA-Z][a-zA-Z\d+\-.]*:\/\//.test(z))window.location.href=z;else D.current?.(z)}else window.location.reload()}}),[]);return qf(gP,{children:qf(_,{card:"IOEventsCard",data:f,useCentrifugeSupport:U,useSocketioSupport:H,useMittSupport:P,centrifugeChannel:C,methods:I,children:qf(mP,{})})})},cf=pP;var vP=Q({name:"IOEventsCard",component:cf,metadata:{author:"Swarm.ing"}});import{useEffect as hf,useState as cP}from"react";import{jsx as lf}from"react/jsx-runtime";var hP=({data:f})=>{let{name:U,key:H,value:P,useSocketioSupport:C,useCentrifugeSupport:Z,useMittSupport:D,centrifugeChannel:I}=f,[$,z]=cP(P);return hf(()=>{z(P)},[P]),hf(()=>{if(typeof window>"u")return;sessionStorage.setItem(H,$)},[H,$]),lf(_,{card:"SessionStorageCard",data:f,useSocketioSupport:C,useCentrifugeSupport:Z,useMittSupport:D,centrifugeChannel:I,methods:{update:({value:T})=>{z(T)},remove:()=>{sessionStorage.removeItem(H),z("")}},children:lf("input",{type:"hidden",id:U,name:U,value:$})})},rf=hP;var lP=Q({name:"SessionStorageCard",component:rf,metadata:{author:"PieData"}});import{useEffect as nf,useState as rP}from"react";import{jsx as tf}from"react/jsx-runtime";var nP=({data:f})=>{let{name:U,key:H,value:P,useSocketioSupport:C,useCentrifugeSupport:Z,useMittSupport:D,centrifugeChannel:I}=f,[$,z]=rP(P);return nf(()=>{z(P)},[P]),nf(()=>{if(typeof window>"u")return;localStorage.setItem(H,$)},[H,$]),tf(_,{card:"DeviceStorageCard",data:f,useSocketioSupport:C,useCentrifugeSupport:Z,useMittSupport:D,centrifugeChannel:I,methods:{update:({value:T})=>{z(T)},remove:()=>{localStorage.removeItem(H),z("")}},children:tf("input",{type:"hidden",id:U,name:U,value:$})})},sf=nP;var tP=Q({name:"DeviceStorageCard",component:sf,metadata:{author:"PieData"}});import{useEffect as af,useState as iP}from"react";import{jsx as ef}from"react/jsx-runtime";var sP=({data:f})=>{let{name:U,key:H,value:P,useSocketioSupport:C,useCentrifugeSupport:Z,useMittSupport:D,centrifugeChannel:I}=f,[$,z]=iP(P);return af(()=>{z(P)},[P]),af(()=>{if(typeof window>"u")return;let T=window.Telegram?.WebApp?.CloudStorage;if(!T)return;T.setItem(H,$)},[H,$]),ef(_,{card:"CloudStorageCard",data:f,useSocketioSupport:C,useCentrifugeSupport:Z,useMittSupport:D,centrifugeChannel:I,methods:{update:({value:T})=>{z(T)},remove:()=>{let T=window.Telegram?.WebApp?.CloudStorage;if(T)T.removeItem(H);z("")}},children:ef("input",{type:"hidden",id:U,name:U,value:$})})},fU=sP;var aP=Q({name:"CloudStorageCard",component:fU,metadata:{author:"PieData"}});import{useEffect as UU,useState as eP}from"react";import{jsx as PU}from"react/jsx-runtime";var fC=({data:f})=>{let{name:U,key:H,value:P,useSocketioSupport:C,useCentrifugeSupport:Z,useMittSupport:D,centrifugeChannel:I}=f,[$,z]=eP(P);return UU(()=>{z(P)},[P]),UU(()=>{if(typeof window>"u")return;let T=window.Telegram?.WebApp?.SecureStorage;if(!T)return;T.setItem(H,$)},[H,$]),PU(_,{card:"SecureStorageCard",data:f,useSocketioSupport:C,useCentrifugeSupport:Z,useMittSupport:D,centrifugeChannel:I,methods:{update:({value:T})=>{z(T)},remove:()=>{let T=window.Telegram?.WebApp?.SecureStorage;if(T)T.removeItem(H);z("")}},children:PU("input",{type:"hidden",id:U,name:U,value:$})})},CU=fC;var UC=Q({name:"SecureStorageCard",component:CU,metadata:{author:"PieData"}});import{useCallback as Bf,useContext as Wf,useEffect as PC,useRef as CC,useState as HU}from"react";import{jsx as DU}from"react/jsx-runtime";var HC=({data:f,content:U})=>{let{useLoader:H,noReturn:P,returnType:C,useSocketioSupport:Z,useCentrifugeSupport:D,useMittSupport:I,centrifugeChannel:$}=f,z=Wf(K),T=Wf(E)??w,[X,G]=HU(!1),[O,J]=HU(null),q=CC(U),V=Wf(S),Y=Bf((R)=>{if(R===null)G(!0);else if(G(!1),!P)q.current=R;if(!P)J(R)},[P]),W=Bf((R)=>{q.current=R.content,J(R.content)},[]),B=Bf((R)=>{if(R===null)G(!0);else if(G(!1),!P)for(let s of R)V?.emit(s.name,s.data)},[P,V]);if(PC(()=>{J(U),G(!1)},[U]),!O&&H)return z;return DU(_,{card:"AjaxGroupCard",data:f,methods:{changeContent:W},useSocketioSupport:Z,useCentrifugeSupport:D,useMittSupport:I,centrifugeChannel:$,children:DU(T,{uiConfig:O??q.current,setUiAjaxConfiguration:C==="events"?B:Y})})},ZU=HC;var DC=Q({name:"AjaxGroupCard",component:ZU,metadata:{author:"Swarm.ing",description:"Group card with AJAX support"}});import{useContext as $U}from"react";import{jsx as Qf}from"react/jsx-runtime";var ZC=({data:f,content:U,setUiAjaxConfiguration:H})=>{let{name:P,url:C,sx:Z}=f,D=$U(o),I=$U(E)??w;return Qf(_,{card:P,data:f,children:Qf("div",{style:Z,id:P,onClick:(z)=>{if(C)if(z.stopPropagation(),/^[a-zA-Z][a-zA-Z\d+\-.]*:\/\//.test(C))window.location.href=C;else D?.(C)},children:Qf(I,{setUiAjaxConfiguration:H,uiConfig:U})})})},zU=ZC;var $C=Q({name:"BoxCard",component:zU,metadata:{author:"Swarm.ing",description:"Simple div with styles joining few components"}});import{useContext as zC}from"react";import{jsx as Rf}from"react/jsx-runtime";var IC=({data:f,content:U,setUiAjaxConfiguration:H})=>{let{name:P,sx:C}=f,Z=zC(E)??w;return Rf(_,{card:P,data:f,children:Rf("div",{style:C,id:P,children:U.map((D,I)=>{return Rf(Z,{uiConfig:D,setUiAjaxConfiguration:H},`children-${I}`)})})})},IU=IC;var TC=Q({name:"OneOfCard",component:IU,metadata:{author:"Swarm.ing",description:"Different variants"}});import{useMemo as n}from"react";import{QueryClient as QC,QueryClientProvider as RC,useQuery as _C}from"@tanstack/react-query";import{useContext as JC,useEffect as YC}from"react";import{useEffect as VC,useState as OC}from"react";var Cf=new Map,Hf=new Map;function Df(f,U){let H=`${f}::${U}`,P=f?Cf.get(H):void 0,[C,Z]=OC(P??null);return VC(()=>{if(!f)return;if(Cf.has(H)){Z(Cf.get(H));return}let D=Hf.get(H);if(!D)D=fetch(f+`api/support/${U}`,{method:"GET"}).then(($)=>$.json()).then(($)=>{return Cf.set(H,$),Hf.delete(H),$}).catch(($)=>{throw Hf.delete(H),$}),Hf.set(H,D);let I=!1;return D.then(($)=>{if(!I)Z($)}).catch(()=>{}),()=>{I=!0}},[f,U,H]),C}var _f=null,TU=null;function VU(){TU?.()}function wf(){if(typeof window>"u")return Promise.resolve();if(typeof window.sid<"u")return Promise.resolve();if(!_f)_f=new Promise((f)=>{TU=()=>{f()}});return _f}var XC=({children:f})=>{let U=JC(y),H=e(),P=Df(H,"socketIO"),C=(Z)=>{if(typeof window<"u")window.sid=Z.sid,VU(),console.log(`SocketIO initialized: ${window.sid}`)};return YC(()=>{if(!U)return;let Z=()=>{console.log("SocketIO connected")},D=(I)=>{console.log(`SocketIO disconnected: ${I}`),U.connect()};if(P)U.on("pieinit",C),U.on("connect",Z),U.on("disconnect",D),U.connect();return()=>{if(P)U.off("pieinit",C),U.off("connect",Z),U.off("disconnect",D),U.disconnect()}},[U,P]),f},g=XC;import{useContext as GC,useEffect as qC}from"react";var BC=({children:f})=>{let U=GC(N),H=e(),P=Df(H,"centrifuge");return qC(()=>{if(!U)return;let C=()=>{console.log("Centrifuge connected")},Z=(D)=>{console.log("Centrifuge disconnected:",D)};if(P)U.on("connected",C),U.on("disconnected",Z),U.connect();return()=>{if(P)U.disconnect()}},[U,P]),f},v=BC;import{createAxiosDateTransformer as wC}from"axios-date-transformer";import{jsx as WC}from"react/jsx-runtime";function l(f,U,H){if(!U)return H;let P=f.replace(/^\//,""),C=U[P];if(!C)return H;return WC(Yf,{uiConfig:C})}import{jsx as F,Fragment as oC}from"react/jsx-runtime";var KC=({location:f,fallback:U,piecache:H,onError:P,queryOptions:C,disableGlobalForm:Z})=>{let D=j(),I=u(),$=A(),z=n(()=>wC({baseURL:D||""}),[D]),T=n(()=>m(),[]),X=n(()=>D?b(D):null,[D]),G=n(()=>D?d(D,I):null,[D,I]),{data:O,isLoading:J,error:q}=_C({queryKey:["uiConfig",f.pathname+f.search,D],enabled:!!D,queryFn:async()=>{let Y=new URLSearchParams(f.search);Y.set("__pieroot","web");let W="/api/content"+f.pathname+"?"+Y.toString();if($)console.log("[PieRoot] Fetching UI configuration from:",W);let B=await z.get(W,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET,PUT,POST,DELETE,PATCH,OPTIONS","Content-type":"application/json"},withCredentials:!0});if($)console.log("[PieRoot] Received UI configuration:",B.data);return B.data},staleTime:1/0,gcTime:1/0,refetchOnWindowFocus:!1,refetchOnMount:!1,refetchOnReconnect:!1,retry:!0,retryDelay:(Y)=>Math.min(1000*2**Y,30000),...C}),V=l(f.pathname,H,U);if(!D)return V??null;if($)console.log("[PieRoot] Rendering with location:",f),console.log("[PieRoot] API_SERVER:",D),console.log("[PieRoot] CENTRIFUGE_SERVER:",I),console.log("[PieRoot] Fallback provided:",!!U),console.log("[PieRoot] Piecache provided:",!!H);if(q){if($)console.error("[PieRoot] Error fetching UI configuration:",q),console.error("[PieRoot] Error details:",{message:q.message,status:q.response?.status,data:q.response?.data});return P?.(),V}if(J||!O){if($)console.log("[PieRoot] Loading state:",{isLoading:J,hasUiConfiguration:!!O});return V}if($)console.log("[PieRoot] UI configuration loaded successfully:",O),console.log("[PieRoot] Rendering UI with configuration");return F(S.Provider,{value:T,children:F(y.Provider,{value:X,children:F(N.Provider,{value:G,children:F(K.Provider,{value:U??F(oC,{}),children:F(g,{children:F(v,{children:Z?F(w,{uiConfig:O}):F("form",{id:"piedata_global_form",action:D+"api/process"+f.pathname,method:"post",encType:"multipart/form-data",children:F(w,{uiConfig:O})})})})})})})})},SC=(f)=>{let U=n(()=>new QC,[]);return F(o.Provider,{value:f.onNavigate,children:F(x.Provider,{value:f.config,children:F(RC,{client:U,children:F(KC,{...f})})})})},FC=SC;import{useMemo as t}from"react";import{QueryClient as AC,QueryClientProvider as NC,useQuery as yC}from"@tanstack/react-query";import{createAxiosDateTransformer as mC}from"axios-date-transformer";import{useEffect as MC,useState as LC}from"react";var Kf=({onError:f}={})=>{let[U,H]=LC(null),P=Lf();return MC(()=>{if(typeof window>"u")return;let C=window.Telegram?.WebApp;if(!C)return;try{C.ready?.()}catch(Z){f?.()}if(P==="telegram_expanded"&&(C.platform==="ios"||C.platform==="android"))C.expand();H(C)},[]),U};import{jsx as M,Fragment as xC}from"react/jsx-runtime";var EC=({location:f,fallback:U,piecache:H,onError:P,queryOptions:C,disableGlobalForm:Z})=>{let D=j(),I=u(),$=A(),z=t(()=>mC({baseURL:D}),[D]),T=t(()=>m(),[]),X=t(()=>D?b(D):null,[D]),G=t(()=>D?d(D,I):null,[D,I]),O=Kf({onError:P}),{data:J,isLoading:q,error:V}=yC({queryKey:["uiConfig",f.pathname+f.search,O?.initData],enabled:!!O?.initData,queryFn:async()=>{let W=new URLSearchParams(f.search);if(W.set("__pieroot","telegram"),O?.initData)W.set("initData",O.initData);let B="/api/content"+f.pathname+"?"+W.toString();if($)console.log("[PieRoot] Fetching UI configuration from:",B);let R=await z.get(B,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET,PUT,POST,DELETE,PATCH,OPTIONS","Content-type":"application/json"},withCredentials:!0});if($)console.log("[PieRoot] Received UI configuration:",R.data);return R.data},staleTime:1/0,gcTime:1/0,refetchOnWindowFocus:!1,refetchOnMount:!1,refetchOnReconnect:!1,retry:!0,retryDelay:(W)=>Math.min(1000*2**W,30000),...C}),Y=l(f.pathname,H,U);if(!D)throw Error("Set PIE_API_SERVER and PIE_CENTRIFUGE_SERVER");if(V&&$)return console.error("[PieRoot] Error fetching UI configuration:",V),console.error("[PieRoot] Error details:",{message:V.message,status:V.response?.status,data:V.response?.data}),P?.(),Y;if(q||!J){if($)console.log("[PieRoot] Loading state:",{isLoading:q,hasUiConfiguration:!!J});return Y}if($)console.log("[PieRoot] UI configuration loaded successfully:",J),console.log("[PieRoot] Rendering UI with configuration");return M(S.Provider,{value:T,children:M(y.Provider,{value:X,children:M(N.Provider,{value:G,children:M(K.Provider,{value:U??M(xC,{}),children:M(g,{children:M(v,{children:Z?M(w,{uiConfig:J}):M("form",{id:"piedata_global_form",action:D+"api/process"+f.pathname,method:"post",encType:"multipart/form-data",children:M(w,{uiConfig:J})})})})})})})})},kC=(f)=>{let U=t(()=>new AC,[]);return M(o.Provider,{value:f.onNavigate,children:M(x.Provider,{value:f.config,children:M(NC,{client:U,children:M(EC,{...f})})})})},jC=kC;import{useMemo as Sf,useState as uC}from"react";import{QueryClient as dC,QueryClientProvider as bC}from"@tanstack/react-query";import{jsx as k,Fragment as vC}from"react/jsx-runtime";var pC=({location:f,fallback:U,children:H,disableGlobalForm:P})=>{let C=j(),Z=u(),D=A(),I=Sf(()=>m(),[]),$=Sf(()=>C?b(C):null,[C]),z=Sf(()=>C?d(C,Z):null,[C,Z]);if(D)console.log("[PieRoot] Rendering with location:",f),console.log("[PieRoot] API_SERVER:",C),console.log("[PieRoot] CENTRIFUGE_SERVER:",Z),console.log("[PieRoot] Fallback provided:",!!U);return k(S.Provider,{value:I,children:k(y.Provider,{value:$,children:k(N.Provider,{value:z,children:k(K.Provider,{value:U??k(vC,{}),children:k(g,{children:k(v,{children:P?H:k("form",{id:"piedata_global_form",action:C+"api/process"+f.pathname,method:"post",encType:"multipart/form-data",children:H})})})})})})})},gC=(f)=>{let[U]=uC(()=>new dC);return k(o.Provider,{value:f.onNavigate,children:k(x.Provider,{value:f.config,children:k(bC,{client:U,children:k(pC,{...f})})})})},cC=gC;import{useMemo as i}from"react";import{QueryClient as rC,QueryClientProvider as nC,useQuery as tC}from"@tanstack/react-query";import{createAxiosDateTransformer as iC}from"axios-date-transformer";import{useEffect as hC,useState as lC}from"react";var of=()=>{let[f,U]=lC(null);return hC(()=>{if(typeof window>"u")return;let H=window.WebApp;if(!H)return;H.ready(),U(H)},[]),f};import{jsx as L,Fragment as eC}from"react/jsx-runtime";var sC=({location:f,fallback:U,piecache:H,onError:P,queryOptions:C,disableGlobalForm:Z})=>{let D=j(),I=u(),$=A(),z=i(()=>iC({baseURL:D}),[D]),T=i(()=>m(),[]),X=i(()=>D?b(D):null,[D]),G=i(()=>D?d(D,I):null,[D,I]),O=of(),{data:J,isLoading:q,error:V}=tC({queryKey:["uiConfig",f.pathname+f.search,O?.initData],queryFn:async()=>{let W=new URLSearchParams(f.search);if(W.set("__pieroot","max"),O?.initData)W.set("initData",O.initData);let B="/api/content"+f.pathname+"?"+W.toString();if($)console.log("[PieRoot] Fetching UI configuration from:",B);let R=await z.get(B,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET,PUT,POST,DELETE,PATCH,OPTIONS","Content-type":"application/json"},withCredentials:!0});if($)console.log("[PieRoot] Received UI configuration:",R.data);return R.data},enabled:!!O?.initData,staleTime:1/0,gcTime:1/0,refetchOnWindowFocus:!1,refetchOnMount:!1,refetchOnReconnect:!1,retry:!0,retryDelay:(W)=>Math.min(1000*2**W,30000),...C}),Y=l(f.pathname,H,U);if(!D)throw Error("Set PIE_API_SERVER and PIE_CENTRIFUGE_SERVER");if(V&&$)return console.error("[PieRoot] Error fetching UI configuration:",V),console.error("[PieRoot] Error details:",{message:V.message,status:V.response?.status,data:V.response?.data}),P?.(),Y;if(q||!J){if($)console.log("[PieRoot] Loading state:",{isLoading:q,hasUiConfiguration:!!J});return Y}if($)console.log("[PieRoot] UI configuration loaded successfully:",J),console.log("[PieRoot] Rendering UI with configuration");return L(S.Provider,{value:T,children:L(y.Provider,{value:X,children:L(N.Provider,{value:G,children:L(K.Provider,{value:U??L(eC,{}),children:L(g,{children:L(v,{children:Z?L(w,{uiConfig:J}):L("form",{id:"piedata_global_form",action:D+"api/process"+f.pathname,method:"post",encType:"multipart/form-data",children:L(w,{uiConfig:J})})})})})})})})},aC=(f)=>{let U=i(()=>new rC,[]);return L(o.Provider,{value:f.onNavigate,children:L(x.Provider,{value:f.config,children:L(nC,{client:U,children:L(sC,{...f})})})})},fH=aC;import{useMemo as UH}from"react";var OU=(f,U=!1)=>{if(f==="sid"){if(!window.sid)throw Error("SocketIO isn't initialized properly");return[window.sid]}let H=document.getElementsByName(f);if(!H.length){if(U)console.warn(`No input found with name ${f}`);return[]}let P=H[0];if(P instanceof HTMLInputElement){if(P.type==="file"&&P.files)return Array.from(P.files);return[P.value]}if(P instanceof HTMLTextAreaElement)return[P.value];return[]},PH=(f,U={},H=[],P,C)=>{let Z=C?.renderingLogEnabled??!1,D=C?.timeout,I=C?.retryPolicy,$=I?.maxRetries??0,z=I?.baseDelay??1000,T=I?.retryOn??[502,503,504];if(Z)console.log("Registering AJAX: ",P,U,H);return async(X={})=>{if(typeof window>"u"||typeof document>"u"){if(Z)console.warn("getAjaxSubmit called on server, skipping DOM-dependent logic");return}let G=C?.apiServer;if(!G){if(Z)console.warn("AJAX skipped: apiServer is missing");return}if(!P||!f){if(Z)console.warn("AJAX skipped: pathname or setUiAjaxConfiguration is missing");return}if(H.includes("sid"))await wf();let O=new FormData;for(let[V,Y]of Object.entries({...U,...X}))O.append(V,Y);for(let V of H)for(let Y of OU(V,Z))O.append(V,Y);let J=G+"api/ajax_content"+P;f(null);let q;for(let V=0;V<=$;V++){if(V>0){let B=z*2**(V-1);if(Z)console.log(`AJAX retry ${V}/${$} after ${B}ms`);await new Promise((R)=>setTimeout(R,B))}let Y=D!=null?new AbortController:null,W=Y&&setTimeout(()=>Y.abort(),D);try{let B=await fetch(J,{method:"POST",body:O,signal:Y?.signal});if(W)clearTimeout(W);if(!B.ok&&T.includes(B.status)&&V<$){q=Error(`HTTP ${B.status}`);continue}let s=(B.headers.get("content-type")||"").includes("application/json");if(!!B.body?.getReader&&!s){let a=B.body.getReader(),XU=new TextDecoder,c="";while(!0){let{done:Zf,value:GU}=await a.read();if(Zf)break;c+=XU.decode(GU,{stream:!0});let Ff=c.split(`
3
- `);c=Ff.pop()??"";for(let qU of Ff){let $f=qU.trim();if(!$f)continue;try{let BU=JSON.parse($f);f([BU])}catch{if(Z)console.warn("Failed to parse streamed line:",$f)}}}if(c.trim())try{let Zf=JSON.parse(c);f([Zf])}catch{if(Z)console.warn("Failed to parse final streamed line:",c)}return{}}else{let a=await B.json();return f(a),a}}catch(B){if(W)clearTimeout(W);if(q=B,V<$)continue;if(Z)console.error("AJAX request failed:",B);return f(null),B}}if(Z)console.error("AJAX request failed after retries:",q);return f(null),q}},CH=(f,U={},H=[],P,C)=>{let{apiServer:Z,enableRenderingLog:D}=h(),I=JSON.stringify(U),$=JSON.stringify(H),z=JSON.stringify(C);return UH(()=>PH(f,U,H,P,{apiServer:Z,renderingLogEnabled:D,timeout:C?.timeout,retryPolicy:C?.retryPolicy}),[f,I,$,P,Z,D,z])};import{tool as HH}from"@openai/agents";import{useContext as DH,useMemo as ZH}from"react";var JU=/^pie(.+?)_(.+)$/;function YU(f=m(),U={}){let H=[],P=new Set;for(let C of f.all.keys()){if(typeof C!=="string")continue;let Z=C.match(JU);if(!Z)continue;let[,D,I]=Z,$={methodName:D,cardName:I,eventName:C};if(U.filter&&!U.filter($))continue;let z=U.nameFor?.($)??`${I}_${D}`;if(P.has(z))continue;P.add(z);let T=U.describe?.($)??`Invokes the "${D}" method on the PieCard "${I}" by emitting the in-process mitt event "${C}". The optional "payload" argument is forwarded verbatim to the card's handler.`;H.push(HH({name:z,description:T,strict:!1,parameters:{type:"object",properties:{payload:{description:"Arbitrary JSON payload forwarded to the PieCard method handler. Omit for fire-and-forget calls."}},required:[],additionalProperties:!0},execute:async(X)=>{let G=X?.payload;return f.emit(C,G),`Emitted "${C}"`}}))}return H}function $H(f={}){let H=DH(S)??m(),P=[];for(let $ of H.all.keys())if(typeof $==="string"&&JU.test($))P.push($);P.sort();let C=P.join("|"),{filter:Z,describe:D,nameFor:I}=f;return ZH(()=>YU(H,{filter:Z,describe:D,nameFor:I}),[H,C,Z,D,I])}import{clsx as zH}from"clsx";import{twMerge as IH}from"tailwind-merge";function TH(...f){return IH(zH(f))}var VH=()=>{if(typeof document>"u")return;let f=document.getElementById("piedata_global_form");f&&f.submit()};var OH=(f,U)=>`${f}${zf}${U}`;export{Kf as useWebApp,$H as usePieMittAgentTools,AU as usePieEmit,Pf as useOpenAIWebRTC,of as useMaxWebApp,CH as useAjaxSubmit,dU as unregisterComponent,VH as submitGlobalForm,p as registry,Q as registerPieComponent,uU as registerMultipleComponents,OU as readAjaxKey,OH as pieName,bU as hasComponent,vU as getRegistrySize,r as getRegistryEntry,YU as getMittAgentTools,m as getEmitter,pU as getComponentMeta,gU as getAllRegisteredComponents,TH as cn,$P as UnionCard,E as UIRendererContext,Yf as UILoading,w as UI,y as SocketIOContext,lP as SessionStorageCard,HP as SequenceCard,UC as SecureStorageCard,jC as PieTelegramRoot,FC as PieRoot,fH as PieMaxRoot,x as PieConfigContext,_ as PieCard,cC as PieBaseRoot,zf as PIEBREAK,TC as OneOfCard,S as MittContext,vP as IOEventsCard,QP as HiddenCard,GP as HTMLEmbedCard,K as FallbackContext,tP as DeviceStorageCard,aP as CloudStorageCard,N as CentrifugeIOContext,$C as BoxCard,FP as AutoRedirectCard,DC as AjaxGroupCard};
2
+ import{useContext as Yf,useEffect as Xf,useRef as NH}from"react";import{createContext as _H,useContext as QH}from"react";var j=_H(null),p=()=>{let f=QH(j);if(!f)throw Error("usePieConfig must be used within PieConfigProvider");return f},x=()=>{let{apiServer:f}=p();return f},e=x,o=()=>{let{centrifugeServer:f}=p();return f};var N=()=>{let{enableRenderingLog:f}=p();return f},Mf=N,Nf=()=>{let{pageProcessor:f}=p();return f};var Tf="__piedemo__";import{createContext as KH}from"react";import{Centrifuge as Af}from"centrifuge";var yf=new Map,b=(f,H)=>{if(!H)return null;let Z=`${f}::${H}`,U=yf.get(Z);if(U)return U;async function $(){let D=await fetch(f+"api/centrifuge/gen_token");if(!D.ok){if(D.status===403)throw new Af.UnauthorizedError("Backend is not answering");throw Error(`Unexpected status code ${D.status}`)}return(await D.json()).token}let z=new Af(H,{getToken:$});return yf.set(Z,z),z},WH=KH(null),A=WH;import{io as PH}from"socket.io-client";import{createContext as wH}from"react";var Ef=new Map,u=(f)=>{let H=Ef.get(f);if(H)return H;let Z=PH(f,{autoConnect:!1,transports:["websocket"]});return Ef.set(f,Z),Z},CH=wH(null),y=CH;import FH from"mitt";import{createContext as RH,useCallback as SH,useContext as LH}from"react";var Jf=null;function d(){if(!Jf)Jf=FH();return Jf}var kf=RH(null);function MH(f){let H=LH(kf);return SH((Z,U)=>{(H??d()).emit(`pie${Z}_${f}`,U)},[f,H])}var E=kf;import{jsx as EH,jsxs as kH,Fragment as yH}from"react/jsx-runtime";var AH=({card:f,data:H,children:Z,useSocketioSupport:U=!1,useCentrifugeSupport:$=!1,useMittSupport:z=!1,centrifugeChannel:D=void 0,methods:J=void 0,stored:V=void 0})=>{let T=Mf(),X=NH(J);if(X.current=J,T)console.log("[PieCard] Rendering card:",f),console.log("[PieCard] Card data:",H),console.log("[PieCard] Component name:",H?.name),console.log("[PieCard] Real-time support:",{socketio:U,centrifuge:$,mitt:z,centrifugeChannel:D}),console.log("[PieCard] Methods:",J?Object.keys(J):"none"),console.log("[PieCard] Has children:",!!Z);let B=Yf(y),Q=Yf(A),q=Yf(E);if(Xf(()=>{if(!B||!U||!X.current||!H.name){if(T&&U)console.log("[PieCard] Socket.IO setup skipped:",{hasSocket:!!B,useSocketioSupport:U,hasMethods:!!X.current,hasDataName:!!H?.name});return}let I=Object.keys(X.current??{}).map((Y)=>{let O=`pie${Y}_${H.name}`;if(T)console.log(`[PieCard] Socket.IO registering event: ${O}`);let K=(_)=>{X.current?.[Y]?.(_)};return B.on(O,K),[O,K]});return()=>{I.forEach(([Y,O])=>{if(T)console.log(`[PieCard] Socket.IO unregistering event: ${Y}`);B.off(Y,O)})}},[B,H.name,U]),Xf(()=>{if(!Q||!$||!D||!H.name){if(T&&$)console.log("[PieCard] Centrifuge setup skipped:",{hasCentrifuge:!!Q,useCentrifugeSupport:$,hasCentrifugeChannel:!!D,hasMethods:!!X.current,hasDataName:!!H?.name});return}let I=Object.keys(X.current??{}).map((Y)=>{let O=`pie${Y}_${H.name}_${D}`;if(T)console.log(`[PieCard] Centrifuge subscribing to channel: ${O}`);let K=Q.newSubscription(O);return K.on("publication",(_)=>{if(T)console.log(`[PieCard] Centrifuge received data on ${O}:`,_.data);X.current?.[Y]?.(_.data)}),K.subscribe(),K});return()=>{I.forEach((Y)=>{if(T)console.log("[PieCard] Centrifuge unsubscribing from channel");Y.unsubscribe(),Q.removeSubscription(Y)})}},[Q,D,H.name,$]),Xf(()=>{if(!q||!z||!H.name){if(T&&z)console.log("[PieCard] Mitt setup skipped:",{hasMitt:!!q,useMittSupport:z,hasMethods:!!X.current,hasDataName:!!H?.name});return}let G=Object.keys(X.current??{}),I={};return G.forEach((Y)=>{let O=`pie${Y}_${H.name}`,K=(_)=>{if(T)console.log(`[PieCard] Mitt registering event: ${O}`);X.current?.[Y]?.(_)};I[O]=K,q.on(O,K)}),()=>{Object.entries(I).forEach(([Y,O])=>{if(T)console.log(`[PieCard] Mitt unregistering event: ${Y}`);q.off(Y,O)})}},[q,H.name,z]),T)console.log("[PieCard] Rendering complete, returning children");if(V!==void 0)return kH(yH,{children:[EH("input",{type:"hidden",name:H.name,value:JSON.stringify(V)}),Z]});return Z},w=AH;import{lazy as mH}from"react";var qf=new Map;function mf(f,H){return mH(()=>{if(qf.has(H))return qf.get(H);let Z=f().then((U)=>U);return qf.set(H,Z),Z})}var v=new Map,jH=(f)=>{if(!f.name)throw Error("Component registration requires a name");if(!f.component&&!f.loader)throw Error(`Component "${f.name}" requires component or loader`);let H={name:f.name,component:f.component,loader:f.loader,metadata:f.metadata,fallback:f.fallback,isLazy:!1};if(!H.component&&H.loader)H.component=mf(H.loader,f.name),H.loader=void 0,H.isLazy=!0;return H};function W(f){let H=jH(f);return v.set(H.name,H),H.component}var dH=(f)=>{f.forEach((H)=>W(H))},xH=(f)=>{v.delete(f)},oH=(f)=>{return v.has(f)},bH=(f)=>{return v.get(f)?.metadata},r=(f)=>{return v.get(f)},uH=()=>{return Array.from(v.keys())},vH=()=>{return v.size};import{Suspense as lH,useContext as rH,memo as nH}from"react";import{createContext as gH}from"react";import{jsx as pH,Fragment as hH}from"react/jsx-runtime";var cH=gH(pH(hH,{})),F=cH;import{jsx as Gf}from"react/jsx-runtime";function sH({uiConfig:f,setUiAjaxConfiguration:H}){let Z=rH(F),U=N();if(U)console.log("[UI] Rendering component:",f.card),console.log("[UI] Component data:",f.data),console.log("[UI] Component content:",f.content),console.log("[UI] Has setUiAjaxConfiguration:",!!H);let $=r(f.card);if(!$?.component){if(U)console.warn(`[UI] Component not found in registry: ${f.card}`),console.log("[UI] Returning fallback component");return Z}if(U)console.log("[UI] Found component in registry:",{name:$.name,isLazy:$.isLazy,hasMetadata:!!$.metadata});let z=$.component,D=Gf(z,{data:f.data,content:f.content,setUiAjaxConfiguration:H});if($.isLazy){if(U)console.log("[UI] Rendering lazy component with Suspense:",$.name);return Gf(lH,{fallback:$.fallback?Gf($.fallback,{}):Z,children:D},`${$.name}`)}if(U)console.log("[UI] Rendering component directly:",$.name);return D}var C=nH(sH);import{Suspense as aH,useContext as eH}from"react";import{createContext as iH}from"react";var tH=iH(null),k=tH;import{jsx as ff}from"react/jsx-runtime";function jf({uiConfig:f,setUiAjaxConfiguration:H}){let Z=eH(F),U=N();if(U)console.log("[UILoading] Rendering fallback for:",f.card),console.log("[UILoading] Component data:",f.data),console.log("[UILoading] Component content:",f.content),console.log("[UILoading] Has setUiAjaxConfiguration:",!!H);let $=r(f.card);if(!$?.component){if(U)console.warn(`[UILoading] Component not found in registry: ${f.card}`),console.log("[UILoading] Returning fallback component");return Z}if(U)console.log("[UILoading] Found component in registry:",{name:$.name,isLazy:$.isLazy,hasMetadata:!!$.metadata,hasFallback:!!$.fallback});if($.fallback){if(U)console.log("[UILoading] Rendering fallback for:",$.name);let J=$.fallback;return ff(J,{})}if(U)console.log("[UILoading] No fallback, rendering full component:",$.name);let z=$.component,D=ff(k.Provider,{value:jf,children:ff(z,{data:f.data,content:f.content,setUiAjaxConfiguration:H})});if($.isLazy)return ff(aH,{fallback:Z,children:D},`${$.name}`);return D}var Of=jf;import{useContext as fU}from"react";import{jsx as Bf}from"react/jsx-runtime";var HU=({data:f,content:H,setUiAjaxConfiguration:Z})=>{let{name:U,sx:$}=f,z=fU(k)??C;return Bf(w,{card:U,data:f,children:Bf("div",{style:$,id:U,children:H.map((D,J)=>{return Bf(z,{uiConfig:D,setUiAjaxConfiguration:Z},`children-${J}`)})})})},df=HU;var UU=W({name:"SequenceCard",component:df,metadata:{author:"Swarm.ing",description:"Simple div with styles joining few components"}});import{useContext as ZU}from"react";import{jsx as xf}from"react/jsx-runtime";var $U=({data:f,content:H,setUiAjaxConfiguration:Z})=>{let{name:U}=f,$=ZU(k)??C;return xf(w,{card:U,data:f,children:H.map((z,D)=>{return xf($,{uiConfig:z,setUiAjaxConfiguration:Z},`children-${D}`)})})},of=$U;var DU=W({name:"UnionCard",component:of,metadata:{author:"Swarm.ing",description:"Renders one of many components"}});import{useEffect as JU,useState as YU}from"react";import XU from"html-react-parser";import{useCallback as Hf,useEffect as zU,useRef as If,useState as VU}from"react";function TU(){let f=new AudioContext,H=f.createOscillator(),Z=H.connect(f.createMediaStreamDestination());H.start();let U=Z.stream.getAudioTracks()[0];return U.enabled=!1,U}function Uf(f=null,H){let[Z,U]=VU(!1),$=If(null),z=If(null),D=If(null),J=Hf(async(B,Q=!0)=>{if($.current)V();let q=new RTCPeerConnection;if(q.onconnectionstatechange=()=>{if(q.connectionState==="connected")U(!0);else if(["disconnected","failed","closed"].includes(q.connectionState))U(!1)},q.ontrack=(P)=>{if(f)f.srcObject=P.streams[0]},Q){let P=await navigator.mediaDevices.getUserMedia({audio:!0});q.addTrack(P.getTracks()[0],P)}else{let P=TU();q.addTrack(P)}let G=q.createDataChannel("oai-events");z.current=G,D.current=new Promise((P)=>{G.addEventListener("open",()=>{P()})});let I=await q.createOffer();await q.setLocalDescription(I);let _=await(await fetch(`${"https://api.openai.com/v1/realtime/calls"}?model=${"gpt-realtime"}`,{method:"POST",body:I.sdp,headers:{Authorization:`Bearer ${B}`,"Content-Type":"application/sdp"}})).text();await q.setRemoteDescription({type:"answer",sdp:_}),$.current=q,await D.current},[f]),V=Hf(()=>{let B=z.current;if(B)B.close();$.current?.getSenders()?.forEach((Q)=>Q.track?.stop()),$.current?.close(),U(!1),$.current=null,z.current=null,D.current=null},[f]),T=Hf((B)=>{let Q=z.current;if(!Q){console.error("Data channel is not ready",B);return}let q=new Date().toLocaleTimeString();if(B.event_id=B.event_id||crypto.randomUUID(),Q.send(JSON.stringify(B)),!B.timestamp)B.timestamp=q;H?.(B)},[H,f]),X=Hf((B)=>{if(!z.current){console.error("Data channel is not ready");return}let q=()=>{T({type:"conversation.item.create",item:{type:"message",role:"user",content:[{type:"input_text",text:B}]}}),T({type:"response.create"})};if(D.current)D.current.then(q);else q()},[H,f]);return zU(()=>{let B=z.current;if(!B)return;let Q=(q)=>{let G=JSON.parse(q.data);if(!G.timestamp)G.timestamp=new Date().toLocaleTimeString();H?.(G)};return B.addEventListener("message",Q),()=>{B.removeEventListener("message",Q)}},[H,f]),{isSessionActive:Z,startSession:J,stopSession:V,sendTextMessage:X}}import{jsx as GU}from"react/jsx-runtime";var qU=({data:f})=>{let{html:H,useSocketioSupport:Z,useCentrifugeSupport:U,useMittSupport:$,centrifugeChannel:z}=f,[D,J]=YU(H),{isSessionActive:V,startSession:T,sendTextMessage:X}=Uf(null,(G)=>{if(console.log(G.type,G.type==="response.output_text.delta"&&G.delta),G.type==="response.output_text.delta"&&G.delta)J((I)=>I+G.delta)});return JU(()=>{J(H)},[H]),GU(w,{card:"HTMLEmbedCard",data:f,methods:{update:(G)=>{J(G.value)},generateUsingAI:async(G)=>{try{if(!V&&G.token)await T(G.token,!1);X(G.prompt)}catch(I){console.error("Failed to generate using AI",I)}},initializeAI:async(G)=>{if(!V&&G.token)await T(G.token,!1)}},useCentrifugeSupport:U,useSocketioSupport:Z,useMittSupport:$,centrifugeChannel:z,children:XU(D)})},bf=qU;var OU=W({name:"HTMLEmbedCard",component:bf,metadata:{author:"Swarm.ing"}});import{useEffect as BU,useState as IU}from"react";import{jsx as uf}from"react/jsx-runtime";var _U=({data:f})=>{let{name:H,value:Z,useSocketioSupport:U,useCentrifugeSupport:$,useMittSupport:z,centrifugeChannel:D}=f,[J,V]=IU(Z);return BU(()=>{V(Z)},[Z]),uf(w,{card:"HiddenCard",data:f,useSocketioSupport:U,useCentrifugeSupport:$,useMittSupport:z,centrifugeChannel:D,methods:{update:({value:T})=>{V(T)}},children:uf("input",{type:"hidden",id:H,name:H,value:J})})},vf=_U;var QU=W({name:"HiddenCard",component:vf,metadata:{author:"Swarm.ing"}});import{useContext as gf,useEffect as PU}from"react";import{createContext as KU}from"react";var WU=KU(void 0),R=WU;import{jsx as FU,Fragment as CU}from"react/jsx-runtime";var wU=({data:f})=>{let{url:H}=f,Z=gf(R),U=gf(F);return PU(()=>{if(/^[a-zA-Z][a-zA-Z\d+\-.]*:\/\//.test(H))window.location.href=H;else Z?.(H)},[H,Z]),FU(CU,{children:U})},cf=wU;var RU=W({name:"AutoRedirectCard",component:cf,metadata:{author:"Swarm.ing"}});import{Bounce as SU,Slide as LU,Zoom as MU,Flip as NU}from"react-toastify";import{toast as AU,ToastContainer as yU}from"react-toastify";import{useContext as EU,useMemo as kU,useRef as mU}from"react";import{jsx as _f,Fragment as uU}from"react/jsx-runtime";var jU={bounce:SU,slide:LU,zoom:MU,flip:NU},dU=(f)=>{let H={...f,type:f.alertType,transition:f.transition?jU[f.transition]:void 0,position:f.position??"bottom-right",autoClose:f.autoClose??3000,style:{backgroundColor:"black",...f.sx}};AU(f.message,H)},xU=(f)=>{console.log("Log event",f)},oU=(f)=>{if(typeof window>"u"||!window.Notification){console.warn("[IOEventsCard] Notifications API is not available");return}let H=()=>{try{new window.Notification(f.title,{body:f.message??f.subtitle,icon:f.icon,silent:f.silent})}catch(U){console.error("[IOEventsCard] Failed to show notification",U)}},Z=window.Notification.permission;if(Z==="granted"){H();return}if(Z==="denied"){console.warn("[IOEventsCard] Notification permission denied");return}window.Notification.requestPermission().then((U)=>{if(U==="granted")H()})},bU=({data:f})=>{let{useCentrifugeSupport:H,useSocketioSupport:Z,useMittSupport:U,centrifugeChannel:$}=f,z=EU(R),D=mU(z);D.current=z;let J=kU(()=>({alert:dU,log:xU,push:oU,redirect:(V)=>{if(V.to){let T=V.to;if(/^[a-zA-Z][a-zA-Z\d+\-.]*:\/\//.test(T))window.location.href=T;else D.current?.(T)}else window.location.reload()},reload:(V)=>{if(V.to){let T=V.to;if(/^[a-zA-Z][a-zA-Z\d+\-.]*:\/\//.test(T))window.location.href=T;else D.current?.(T)}else window.location.reload()}}),[]);return _f(uU,{children:_f(w,{card:"IOEventsCard",data:f,useCentrifugeSupport:H,useSocketioSupport:Z,useMittSupport:U,centrifugeChannel:$,methods:J,children:_f(yU,{})})})},hf=bU;var vU=W({name:"IOEventsCard",component:hf,metadata:{author:"Swarm.ing"}});import{useEffect as pf,useState as gU}from"react";import{jsx as lf}from"react/jsx-runtime";var cU=({data:f})=>{let{name:H,key:Z,value:U,useSocketioSupport:$,useCentrifugeSupport:z,useMittSupport:D,centrifugeChannel:J}=f,[V,T]=gU(U);return pf(()=>{T(U)},[U]),pf(()=>{if(typeof window>"u")return;sessionStorage.setItem(Z,V)},[Z,V]),lf(w,{card:"SessionStorageCard",data:f,useSocketioSupport:$,useCentrifugeSupport:z,useMittSupport:D,centrifugeChannel:J,methods:{update:({value:X})=>{T(X)},remove:()=>{sessionStorage.removeItem(Z),T("")}},children:lf("input",{type:"hidden",id:H,name:H,value:V})})},rf=cU;var hU=W({name:"SessionStorageCard",component:rf,metadata:{author:"PieData"}});import{useEffect as nf,useState as pU}from"react";import{jsx as sf}from"react/jsx-runtime";var lU=({data:f})=>{let{name:H,key:Z,value:U,useSocketioSupport:$,useCentrifugeSupport:z,useMittSupport:D,centrifugeChannel:J}=f,[V,T]=pU(U);return nf(()=>{T(U)},[U]),nf(()=>{if(typeof window>"u")return;localStorage.setItem(Z,V)},[Z,V]),sf(w,{card:"DeviceStorageCard",data:f,useSocketioSupport:$,useCentrifugeSupport:z,useMittSupport:D,centrifugeChannel:J,methods:{update:({value:X})=>{T(X)},remove:()=>{localStorage.removeItem(Z),T("")}},children:sf("input",{type:"hidden",id:H,name:H,value:V})})},tf=lU;var rU=W({name:"DeviceStorageCard",component:tf,metadata:{author:"PieData"}});import{useEffect as af,useState as nU}from"react";import{jsx as ef}from"react/jsx-runtime";var sU=({data:f})=>{let{name:H,key:Z,value:U,useSocketioSupport:$,useCentrifugeSupport:z,useMittSupport:D,centrifugeChannel:J}=f,[V,T]=nU(U);return af(()=>{T(U)},[U]),af(()=>{if(typeof window>"u")return;let X=window.Telegram?.WebApp?.CloudStorage;if(!X)return;X.setItem(Z,V)},[Z,V]),ef(w,{card:"CloudStorageCard",data:f,useSocketioSupport:$,useCentrifugeSupport:z,useMittSupport:D,centrifugeChannel:J,methods:{update:({value:X})=>{T(X)},remove:()=>{let X=window.Telegram?.WebApp?.CloudStorage;if(X)X.removeItem(Z);T("")}},children:ef("input",{type:"hidden",id:H,name:H,value:V})})},fH=sU;var iU=W({name:"CloudStorageCard",component:fH,metadata:{author:"PieData"}});import{useEffect as HH,useState as tU}from"react";import{jsx as UH}from"react/jsx-runtime";var aU=({data:f})=>{let{name:H,key:Z,value:U,useSocketioSupport:$,useCentrifugeSupport:z,useMittSupport:D,centrifugeChannel:J}=f,[V,T]=tU(U);return HH(()=>{T(U)},[U]),HH(()=>{if(typeof window>"u")return;let X=window.Telegram?.WebApp?.SecureStorage;if(!X)return;X.setItem(Z,V)},[Z,V]),UH(w,{card:"SecureStorageCard",data:f,useSocketioSupport:$,useCentrifugeSupport:z,useMittSupport:D,centrifugeChannel:J,methods:{update:({value:X})=>{T(X)},remove:()=>{let X=window.Telegram?.WebApp?.SecureStorage;if(X)X.removeItem(Z);T("")}},children:UH("input",{type:"hidden",id:H,name:H,value:V})})},ZH=aU;var eU=W({name:"SecureStorageCard",component:ZH,metadata:{author:"PieData"}});import{useCallback as Qf,useContext as Kf,useEffect as fZ,useRef as HZ,useState as $H}from"react";import{jsx as DH}from"react/jsx-runtime";var UZ=({data:f,content:H})=>{let{useLoader:Z,noReturn:U,returnType:$,useSocketioSupport:z,useCentrifugeSupport:D,useMittSupport:J,centrifugeChannel:V}=f,T=Kf(F),X=Kf(k)??C,[B,Q]=$H(!1),[q,G]=$H(null),I=HZ(H),Y=Kf(E),O=Qf((P)=>{if(P===null)Q(!0);else if(Q(!1),!U)I.current=P;if(!U)G(P)},[U]),K=Qf((P)=>{I.current=P.content,G(P.content)},[]),_=Qf((P)=>{if(P===null)Q(!0);else if(Q(!1),!U)for(let t of P)Y?.emit(t.name,t.data)},[U,Y]);if(fZ(()=>{G(H),Q(!1)},[H]),!q&&Z)return T;return DH(w,{card:"AjaxGroupCard",data:f,methods:{changeContent:K},useSocketioSupport:z,useCentrifugeSupport:D,useMittSupport:J,centrifugeChannel:V,children:DH(X,{uiConfig:q??I.current,setUiAjaxConfiguration:$==="events"?_:O})})},zH=UZ;var ZZ=W({name:"AjaxGroupCard",component:zH,metadata:{author:"Swarm.ing",description:"Group card with AJAX support"}});import{useContext as VH}from"react";import{jsx as Wf}from"react/jsx-runtime";var $Z=({data:f,content:H,setUiAjaxConfiguration:Z})=>{let{name:U,url:$,sx:z}=f,D=VH(R),J=VH(k)??C;return Wf(w,{card:U,data:f,children:Wf("div",{style:z,id:U,onClick:(T)=>{if($)if(T.stopPropagation(),/^[a-zA-Z][a-zA-Z\d+\-.]*:\/\//.test($))window.location.href=$;else D?.($)},children:Wf(J,{setUiAjaxConfiguration:Z,uiConfig:H})})})},TH=$Z;var DZ=W({name:"BoxCard",component:TH,metadata:{author:"Swarm.ing",description:"Simple div with styles joining few components"}});import{useContext as zZ}from"react";import{jsx as Pf}from"react/jsx-runtime";var VZ=({data:f,content:H,setUiAjaxConfiguration:Z})=>{let{name:U,sx:$}=f,z=zZ(k)??C;return Pf(w,{card:U,data:f,children:Pf("div",{style:$,id:U,children:H.map((D,J)=>{return Pf(z,{uiConfig:D,setUiAjaxConfiguration:Z},`children-${J}`)})})})},JH=VZ;var TZ=W({name:"OneOfCard",component:JH,metadata:{author:"Swarm.ing",description:"Different variants"}});import{useMemo as n}from"react";import{QueryClient as QZ,QueryClientProvider as KZ,useQuery as WZ}from"@tanstack/react-query";import{useContext as XZ,useEffect as qZ}from"react";import{useEffect as JZ,useState as YZ}from"react";var Zf=new Map,$f=new Map;function Df(f,H){let Z=`${f}::${H}`,U=f?Zf.get(Z):void 0,[$,z]=YZ(U??null);return JZ(()=>{if(!f)return;if(Zf.has(Z)){z(Zf.get(Z));return}let D=$f.get(Z);if(!D)D=fetch(f+`api/support/${H}`,{method:"GET"}).then((V)=>V.json()).then((V)=>{return Zf.set(Z,V),$f.delete(Z),V}).catch((V)=>{throw $f.delete(Z),V}),$f.set(Z,D);let J=!1;return D.then((V)=>{if(!J)z(V)}).catch(()=>{}),()=>{J=!0}},[f,H,Z]),$}var wf=null,YH=null;function XH(){YH?.()}function Cf(){if(typeof window>"u")return Promise.resolve();if(typeof window.sid<"u")return Promise.resolve();if(!wf)wf=new Promise((f)=>{YH=()=>{f()}});return wf}var GZ=({children:f})=>{let H=XZ(y),Z=e(),U=Df(Z,"socketIO"),$=(z)=>{if(typeof window<"u")window.sid=z.sid,XH(),console.log(`SocketIO initialized: ${window.sid}`)};return qZ(()=>{if(!H)return;let z=()=>{console.log("SocketIO connected")},D=(J)=>{console.log(`SocketIO disconnected: ${J}`),H.connect()};if(U)H.on("pieinit",$),H.on("connect",z),H.on("disconnect",D),H.connect();return()=>{if(U)H.off("pieinit",$),H.off("connect",z),H.off("disconnect",D),H.disconnect()}},[H,U]),f},g=GZ;import{useContext as OZ,useEffect as BZ}from"react";var IZ=({children:f})=>{let H=OZ(A),Z=e(),U=Df(Z,"centrifuge");return BZ(()=>{if(!H)return;let $=()=>{console.log("Centrifuge connected")},z=(D)=>{console.log("Centrifuge disconnected:",D)};if(U)H.on("connected",$),H.on("disconnected",z),H.connect();return()=>{if(U)H.disconnect()}},[H,U]),f},c=IZ;import{createAxiosDateTransformer as PZ}from"axios-date-transformer";import{jsx as _Z}from"react/jsx-runtime";function l(f,H,Z){if(!H)return Z;let U=f.replace(/^\//,""),$=H[U];if(!$)return Z;return _Z(Of,{uiConfig:$})}import{jsx as S,Fragment as FZ}from"react/jsx-runtime";var wZ=({location:f,fallback:H,piecache:Z,onError:U,queryOptions:$,disableGlobalForm:z})=>{let D=x(),J=o(),V=N(),T=n(()=>PZ({baseURL:D||""}),[D]),X=n(()=>d(),[]),B=n(()=>D?u(D):null,[D]),Q=n(()=>D?b(D,J):null,[D,J]),{data:q,isLoading:G,error:I}=WZ({queryKey:["uiConfig",f.pathname+f.search,D],enabled:!!D,queryFn:async()=>{let O=new URLSearchParams(f.search);O.set("__pieroot","web");let K="/api/content"+f.pathname+"?"+O.toString();if(V)console.log("[PieRoot] Fetching UI configuration from:",K);let _=await T.get(K,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET,PUT,POST,DELETE,PATCH,OPTIONS","Content-type":"application/json"},withCredentials:!0});if(V)console.log("[PieRoot] Received UI configuration:",_.data);return _.data},staleTime:1/0,gcTime:1/0,refetchOnWindowFocus:!1,refetchOnMount:!1,refetchOnReconnect:!1,retry:!0,retryDelay:(O)=>Math.min(1000*2**O,30000),...$}),Y=l(f.pathname,Z,H);if(!D)return Y??null;if(V)console.log("[PieRoot] Rendering with location:",f),console.log("[PieRoot] API_SERVER:",D),console.log("[PieRoot] CENTRIFUGE_SERVER:",J),console.log("[PieRoot] Fallback provided:",!!H),console.log("[PieRoot] Piecache provided:",!!Z);if(I){if(V)console.error("[PieRoot] Error fetching UI configuration:",I),console.error("[PieRoot] Error details:",{message:I.message,status:I.response?.status,data:I.response?.data});return U?.(),Y}if(G||!q){if(V)console.log("[PieRoot] Loading state:",{isLoading:G,hasUiConfiguration:!!q});return Y}if(V)console.log("[PieRoot] UI configuration loaded successfully:",q),console.log("[PieRoot] Rendering UI with configuration");return S(E.Provider,{value:X,children:S(y.Provider,{value:B,children:S(A.Provider,{value:Q,children:S(F.Provider,{value:H??S(FZ,{}),children:S(g,{children:S(c,{children:z?S(C,{uiConfig:q}):S("form",{id:"piedata_global_form",action:D+"api/process"+f.pathname,method:"post",encType:"multipart/form-data",children:S(C,{uiConfig:q})})})})})})})})},CZ=(f)=>{let H=n(()=>new QZ,[]);return S(R.Provider,{value:f.onNavigate,children:S(j.Provider,{value:f.config,children:S(KZ,{client:H,children:S(wZ,{...f})})})})},RZ=CZ;import{useMemo as s}from"react";import{QueryClient as MZ,QueryClientProvider as NZ,useQuery as AZ}from"@tanstack/react-query";import{createAxiosDateTransformer as yZ}from"axios-date-transformer";import{useEffect as SZ,useState as LZ}from"react";var Ff=({onError:f}={})=>{let[H,Z]=LZ(null),U=Nf();return SZ(()=>{if(typeof window>"u")return;let $=window.Telegram?.WebApp;if(!$)return;try{$.ready?.()}catch(z){f?.()}if(U==="telegram_expanded"&&($.platform==="ios"||$.platform==="android"))$.expand();Z($)},[]),H};import{jsx as L,Fragment as mZ}from"react/jsx-runtime";var EZ=({location:f,fallback:H,piecache:Z,onError:U,queryOptions:$,disableGlobalForm:z})=>{let D=x(),J=o(),V=N(),T=s(()=>yZ({baseURL:D}),[D]),X=s(()=>d(),[]),B=s(()=>D?u(D):null,[D]),Q=s(()=>D?b(D,J):null,[D,J]),q=Ff({onError:U}),{data:G,isLoading:I,error:Y}=AZ({queryKey:["uiConfig",f.pathname+f.search,q?.initData],enabled:!!q?.initData,queryFn:async()=>{let K=new URLSearchParams(f.search);if(K.set("__pieroot","telegram"),q?.initData)K.set("initData",q.initData);let _="/api/content"+f.pathname+"?"+K.toString();if(V)console.log("[PieRoot] Fetching UI configuration from:",_);let P=await T.get(_,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET,PUT,POST,DELETE,PATCH,OPTIONS","Content-type":"application/json"},withCredentials:!0});if(V)console.log("[PieRoot] Received UI configuration:",P.data);return P.data},staleTime:1/0,gcTime:1/0,refetchOnWindowFocus:!1,refetchOnMount:!1,refetchOnReconnect:!1,retry:!0,retryDelay:(K)=>Math.min(1000*2**K,30000),...$}),O=l(f.pathname,Z,H);if(!D)throw Error("Set PIE_API_SERVER and PIE_CENTRIFUGE_SERVER");if(Y&&V)return console.error("[PieRoot] Error fetching UI configuration:",Y),console.error("[PieRoot] Error details:",{message:Y.message,status:Y.response?.status,data:Y.response?.data}),U?.(),O;if(I||!G){if(V)console.log("[PieRoot] Loading state:",{isLoading:I,hasUiConfiguration:!!G});return O}if(V)console.log("[PieRoot] UI configuration loaded successfully:",G),console.log("[PieRoot] Rendering UI with configuration");return L(E.Provider,{value:X,children:L(y.Provider,{value:B,children:L(A.Provider,{value:Q,children:L(F.Provider,{value:H??L(mZ,{}),children:L(g,{children:L(c,{children:z?L(C,{uiConfig:G}):L("form",{id:"piedata_global_form",action:D+"api/process"+f.pathname,method:"post",encType:"multipart/form-data",children:L(C,{uiConfig:G})})})})})})})})},kZ=(f)=>{let H=s(()=>new MZ,[]);return L(R.Provider,{value:f.onNavigate,children:L(j.Provider,{value:f.config,children:L(NZ,{client:H,children:L(EZ,{...f})})})})},jZ=kZ;import{useMemo as Rf,useState as dZ}from"react";import{QueryClient as xZ,QueryClientProvider as oZ}from"@tanstack/react-query";import{jsx as m,Fragment as vZ}from"react/jsx-runtime";var bZ=({location:f,fallback:H,children:Z,disableGlobalForm:U})=>{let $=x(),z=o(),D=N(),J=Rf(()=>d(),[]),V=Rf(()=>$?u($):null,[$]),T=Rf(()=>$?b($,z):null,[$,z]);if(D)console.log("[PieRoot] Rendering with location:",f),console.log("[PieRoot] API_SERVER:",$),console.log("[PieRoot] CENTRIFUGE_SERVER:",z),console.log("[PieRoot] Fallback provided:",!!H);return m(E.Provider,{value:J,children:m(y.Provider,{value:V,children:m(A.Provider,{value:T,children:m(F.Provider,{value:H??m(vZ,{}),children:m(g,{children:m(c,{children:U?Z:m("form",{id:"piedata_global_form",action:$+"api/process"+f.pathname,method:"post",encType:"multipart/form-data",children:Z})})})})})})})},uZ=(f)=>{let[H]=dZ(()=>new xZ);return m(R.Provider,{value:f.onNavigate,children:m(j.Provider,{value:f.config,children:m(oZ,{client:H,children:m(bZ,{...f})})})})},gZ=uZ;import{useMemo as i}from"react";import{QueryClient as pZ,QueryClientProvider as lZ,useQuery as rZ}from"@tanstack/react-query";import{createAxiosDateTransformer as nZ}from"axios-date-transformer";import{useEffect as cZ,useState as hZ}from"react";var Sf=()=>{let[f,H]=hZ(null);return cZ(()=>{if(typeof window>"u")return;let Z=window.WebApp;if(!Z)return;Z.ready(),H(Z)},[]),f};import{jsx as M,Fragment as tZ}from"react/jsx-runtime";var sZ=({location:f,fallback:H,piecache:Z,onError:U,queryOptions:$,disableGlobalForm:z})=>{let D=x(),J=o(),V=N(),T=i(()=>nZ({baseURL:D}),[D]),X=i(()=>d(),[]),B=i(()=>D?u(D):null,[D]),Q=i(()=>D?b(D,J):null,[D,J]),q=Sf(),{data:G,isLoading:I,error:Y}=rZ({queryKey:["uiConfig",f.pathname+f.search,q?.initData],queryFn:async()=>{let K=new URLSearchParams(f.search);if(K.set("__pieroot","max"),q?.initData)K.set("initData",q.initData);let _="/api/content"+f.pathname+"?"+K.toString();if(V)console.log("[PieRoot] Fetching UI configuration from:",_);let P=await T.get(_,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET,PUT,POST,DELETE,PATCH,OPTIONS","Content-type":"application/json"},withCredentials:!0});if(V)console.log("[PieRoot] Received UI configuration:",P.data);return P.data},enabled:!!q?.initData,staleTime:1/0,gcTime:1/0,refetchOnWindowFocus:!1,refetchOnMount:!1,refetchOnReconnect:!1,retry:!0,retryDelay:(K)=>Math.min(1000*2**K,30000),...$}),O=l(f.pathname,Z,H);if(!D)throw Error("Set PIE_API_SERVER and PIE_CENTRIFUGE_SERVER");if(Y&&V)return console.error("[PieRoot] Error fetching UI configuration:",Y),console.error("[PieRoot] Error details:",{message:Y.message,status:Y.response?.status,data:Y.response?.data}),U?.(),O;if(I||!G){if(V)console.log("[PieRoot] Loading state:",{isLoading:I,hasUiConfiguration:!!G});return O}if(V)console.log("[PieRoot] UI configuration loaded successfully:",G),console.log("[PieRoot] Rendering UI with configuration");return M(E.Provider,{value:X,children:M(y.Provider,{value:B,children:M(A.Provider,{value:Q,children:M(F.Provider,{value:H??M(tZ,{}),children:M(g,{children:M(c,{children:z?M(C,{uiConfig:G}):M("form",{id:"piedata_global_form",action:D+"api/process"+f.pathname,method:"post",encType:"multipart/form-data",children:M(C,{uiConfig:G})})})})})})})})},iZ=(f)=>{let H=i(()=>new pZ,[]);return M(R.Provider,{value:f.onNavigate,children:M(j.Provider,{value:f.config,children:M(lZ,{client:H,children:M(sZ,{...f})})})})},aZ=iZ;import{useMemo as eZ}from"react";var qH=(f,H=!1)=>{if(f==="sid"){if(!window.sid)throw Error("SocketIO isn't initialized properly");return[window.sid]}let Z=document.getElementsByName(f);if(!Z.length){if(H)console.warn(`No input found with name ${f}`);return[]}let U=Z[0];if(U instanceof HTMLInputElement){if(U.type==="file"&&U.files)return Array.from(U.files);return[U.value]}if(U instanceof HTMLTextAreaElement)return[U.value];return[]},f$=(f,H={},Z=[],U,$)=>{let z=$?.renderingLogEnabled??!1,D=$?.timeout,J=$?.retryPolicy,V=J?.maxRetries??0,T=J?.baseDelay??1000,X=J?.retryOn??[502,503,504];if(z)console.log("Registering AJAX: ",U,H,Z);return async(B={})=>{if(typeof window>"u"||typeof document>"u"){if(z)console.warn("getAjaxSubmit called on server, skipping DOM-dependent logic");return}let Q=$?.apiServer;if(!Q){if(z)console.warn("AJAX skipped: apiServer is missing");return}if(!U||!f){if(z)console.warn("AJAX skipped: pathname or setUiAjaxConfiguration is missing");return}if(Z.includes("sid"))await Cf();let q=new FormData;for(let[Y,O]of Object.entries({...H,...B}))q.append(Y,O);for(let Y of Z)for(let O of qH(Y,z))q.append(Y,O);let G=Q+"api/ajax_content"+U;f(null);let I;for(let Y=0;Y<=V;Y++){if(Y>0){let _=T*2**(Y-1);if(z)console.log(`AJAX retry ${Y}/${V} after ${_}ms`);await new Promise((P)=>setTimeout(P,_))}let O=D!=null?new AbortController:null,K=O&&setTimeout(()=>O.abort(),D);try{let _=await fetch(G,{method:"POST",body:q,signal:O?.signal});if(K)clearTimeout(K);if(!_.ok&&X.includes(_.status)&&Y<V){I=Error(`HTTP ${_.status}`);continue}let t=(_.headers.get("content-type")||"").includes("application/json");if(!!_.body?.getReader&&!t){let a=_.body.getReader(),GH=new TextDecoder,h="";while(!0){let{done:zf,value:OH}=await a.read();if(zf)break;h+=GH.decode(OH,{stream:!0});let Lf=h.split(`
3
+ `);h=Lf.pop()??"";for(let BH of Lf){let Vf=BH.trim();if(!Vf)continue;try{let IH=JSON.parse(Vf);f([IH])}catch{if(z)console.warn("Failed to parse streamed line:",Vf)}}}if(h.trim())try{let zf=JSON.parse(h);f([zf])}catch{if(z)console.warn("Failed to parse final streamed line:",h)}return{}}else{let a=await _.json();return f(a),a}}catch(_){if(K)clearTimeout(K);if(I=_,Y<V)continue;if(z)console.error("AJAX request failed:",_);return f(null),_}}if(z)console.error("AJAX request failed after retries:",I);return f(null),I}},H$=(f,H={},Z=[],U,$)=>{let{apiServer:z,enableRenderingLog:D}=p(),J=JSON.stringify(H),V=JSON.stringify(Z),T=JSON.stringify($);return eZ(()=>f$(f,H,Z,U,{apiServer:z,renderingLogEnabled:D,timeout:$?.timeout,retryPolicy:$?.retryPolicy}),[f,J,V,U,z,D,T])};import{clsx as U$}from"clsx";import{twMerge as Z$}from"tailwind-merge";function $$(...f){return Z$(U$(f))}var D$=()=>{if(typeof document>"u")return;let f=document.getElementById("piedata_global_form");f&&f.submit()};var z$=(f,H)=>`${f}${Tf}${H}`;export{Ff as useWebApp,MH as usePieEmit,Uf as useOpenAIWebRTC,Sf as useMaxWebApp,H$ as useAjaxSubmit,xH as unregisterComponent,D$ as submitGlobalForm,v as registry,W as registerPieComponent,dH as registerMultipleComponents,qH as readAjaxKey,z$ as pieName,oH as hasComponent,vH as getRegistrySize,r as getRegistryEntry,d as getEmitter,bH as getComponentMeta,uH as getAllRegisteredComponents,$$ as cn,DU as UnionCard,k as UIRendererContext,Of as UILoading,C as UI,y as SocketIOContext,hU as SessionStorageCard,UU as SequenceCard,eU as SecureStorageCard,jZ as PieTelegramRoot,RZ as PieRoot,aZ as PieMaxRoot,j as PieConfigContext,w as PieCard,gZ as PieBaseRoot,Tf as PIEBREAK,TZ as OneOfCard,E as MittContext,vU as IOEventsCard,QU as HiddenCard,OU as HTMLEmbedCard,F as FallbackContext,rU as DeviceStorageCard,iU as CloudStorageCard,A as CentrifugeIOContext,DZ as BoxCard,RU as AutoRedirectCard,ZZ as AjaxGroupCard};
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- var uP=Object.create;var{getPrototypeOf:dP,defineProperty:Tf,getOwnPropertyNames:OU,getOwnPropertyDescriptor:bP}=Object,JU=Object.prototype.hasOwnProperty;var YU=(f,U,C)=>{C=f!=null?uP(dP(f)):{};let P=U||!f||!f.__esModule?Tf(C,"default",{value:f,enumerable:!0}):C;for(let H of OU(f))if(!JU.call(P,H))Tf(P,H,{get:()=>f[H],enumerable:!0});return P},VU=new WeakMap,pP=(f)=>{var U=VU.get(f),C;if(U)return U;if(U=Tf({},"__esModule",{value:!0}),f&&typeof f==="object"||typeof f==="function")OU(f).map((P)=>!JU.call(U,P)&&Tf(U,P,{get:()=>f[P],enumerable:!(C=bP(f,P))||C.enumerable}));return VU.set(f,U),U};var gP=(f,U)=>{for(var C in U)Tf(f,C,{get:U[C],enumerable:!0,configurable:!0,set:(P)=>U[C]=()=>P})};var oC={};gP(oC,{useWebApp:()=>pf,usePieMittAgentTools:()=>MP,usePieEmit:()=>KU,useOpenAIWebRTC:()=>Of,useMaxWebApp:()=>cf,useAjaxSubmit:()=>SP,unregisterComponent:()=>MU,submitGlobalForm:()=>yP,registry:()=>p,registerPieComponent:()=>Q,registerMultipleComponents:()=>FU,readAjaxKey:()=>zU,pieName:()=>mP,hasComponent:()=>LU,getRegistrySize:()=>yU,getRegistryEntry:()=>a,getMittAgentTools:()=>IU,getEmitter:()=>m,getComponentMeta:()=>AU,getAllRegisteredComponents:()=>NU,cn:()=>NP,UnionCard:()=>pU,UIRendererContext:()=>E,UILoading:()=>of,UI:()=>w,SocketIOContext:()=>y,SessionStorageCard:()=>fP,SequenceCard:()=>uU,SecureStorageCard:()=>ZP,PieTelegramRoot:()=>QP,PieRoot:()=>BP,PieMaxRoot:()=>wP,PieConfigContext:()=>u,PieCard:()=>_,PieBaseRoot:()=>RP,PIEBREAK:()=>_f,OneOfCard:()=>JP,MittContext:()=>M,IOEventsCard:()=>aU,HiddenCard:()=>rU,HTMLEmbedCard:()=>hU,FallbackContext:()=>K,DeviceStorageCard:()=>PP,CloudStorageCard:()=>HP,CentrifugeIOContext:()=>N,BoxCard:()=>TP,AutoRedirectCard:()=>iU,AjaxGroupCard:()=>zP});module.exports=pP(oC);var d=require("react");var Qf=require("react"),u=Qf.createContext(null),t=()=>{let f=Qf.useContext(u);if(!f)throw Error("usePieConfig must be used within PieConfigProvider");return f},b=()=>{let{apiServer:f}=t();return f},Rf=b,g=()=>{let{centrifugeServer:f}=t();return f};var x=()=>{let{enableRenderingLog:f}=t();return f},XU=x,GU=()=>{let{pageProcessor:f}=t();return f};var _f="__piedemo__";var BU=require("react"),nf=require("centrifuge"),qU=new Map,v=(f,U)=>{if(!U)return null;let C=`${f}::${U}`,P=qU.get(C);if(P)return P;async function H(){let D=await fetch(f+"api/centrifuge/gen_token");if(!D.ok){if(D.status===403)throw new nf.Centrifuge.UnauthorizedError("Backend is not answering");throw Error(`Unexpected status code ${D.status}`)}return(await D.json()).token}let Z=new nf.Centrifuge(U,{getToken:H});return qU.set(C,Z),Z},vP=BU.createContext(null),N=vP;var QU=require("socket.io-client"),RU=require("react"),WU=new Map,c=(f)=>{let U=WU.get(f);if(U)return U;let C=QU.io(f,{autoConnect:!1,transports:["websocket"]});return WU.set(f,C),C},cP=RU.createContext(null),y=cP;var _U=YU(require("mitt")),i=require("react"),tf=null;function m(){if(!tf)tf=_U.default();return tf}var wU=i.createContext(null);function KU(f){let U=i.useContext(wU);return i.useCallback((C,P)=>{(U??m()).emit(`pie${C}_${f}`,P)},[f,U])}var M=wU;var s=require("react/jsx-runtime"),hP=({card:f,data:U,children:C,useSocketioSupport:P=!1,useCentrifugeSupport:H=!1,useMittSupport:Z=!1,centrifugeChannel:D=void 0,methods:I=void 0,stored:$=void 0})=>{let z=XU(),T=d.useRef(I);if(T.current=I,z)console.log("[PieCard] Rendering card:",f),console.log("[PieCard] Card data:",U),console.log("[PieCard] Component name:",U?.name),console.log("[PieCard] Real-time support:",{socketio:P,centrifuge:H,mitt:Z,centrifugeChannel:D}),console.log("[PieCard] Methods:",I?Object.keys(I):"none"),console.log("[PieCard] Has children:",!!C);let X=d.useContext(y),G=d.useContext(N),O=d.useContext(M);if(d.useEffect(()=>{if(!X||!P||!T.current||!U.name){if(z&&P)console.log("[PieCard] Socket.IO setup skipped:",{hasSocket:!!X,useSocketioSupport:P,hasMethods:!!T.current,hasDataName:!!U?.name});return}let q=Object.keys(T.current??{}).map((V)=>{let Y=`pie${V}_${U.name}`;if(z)console.log(`[PieCard] Socket.IO registering event: ${Y}`);let W=(B)=>{T.current?.[V]?.(B)};return X.on(Y,W),[Y,W]});return()=>{q.forEach(([V,Y])=>{if(z)console.log(`[PieCard] Socket.IO unregistering event: ${V}`);X.off(V,Y)})}},[X,U.name,P]),d.useEffect(()=>{if(!G||!H||!D||!U.name){if(z&&H)console.log("[PieCard] Centrifuge setup skipped:",{hasCentrifuge:!!G,useCentrifugeSupport:H,hasCentrifugeChannel:!!D,hasMethods:!!T.current,hasDataName:!!U?.name});return}let q=Object.keys(T.current??{}).map((V)=>{let Y=`pie${V}_${U.name}_${D}`;if(z)console.log(`[PieCard] Centrifuge subscribing to channel: ${Y}`);let W=G.newSubscription(Y);return W.on("publication",(B)=>{if(z)console.log(`[PieCard] Centrifuge received data on ${Y}:`,B.data);T.current?.[V]?.(B.data)}),W.subscribe(),W});return()=>{q.forEach((V)=>{if(z)console.log("[PieCard] Centrifuge unsubscribing from channel");V.unsubscribe(),G.removeSubscription(V)})}},[G,D,U.name,H]),d.useEffect(()=>{if(!O||!Z||!U.name){if(z&&Z)console.log("[PieCard] Mitt setup skipped:",{hasMitt:!!O,useMittSupport:Z,hasMethods:!!T.current,hasDataName:!!U?.name});return}let J=Object.keys(T.current??{}),q={};return J.forEach((V)=>{let Y=`pie${V}_${U.name}`,W=(B)=>{if(z)console.log(`[PieCard] Mitt registering event: ${Y}`);T.current?.[V]?.(B)};q[Y]=W,O.on(Y,W)}),()=>{Object.entries(q).forEach(([V,Y])=>{if(z)console.log(`[PieCard] Mitt unregistering event: ${V}`);O.off(V,Y)})}},[O,U.name,Z]),z)console.log("[PieCard] Rendering complete, returning children");if($!==void 0)return s.jsxs(s.Fragment,{children:[s.jsx("input",{type:"hidden",name:U.name,value:JSON.stringify($)}),C]});return C},_=hP;var SU=require("react"),sf=new Map;function oU(f,U){return SU.lazy(()=>{if(sf.has(U))return sf.get(U);let C=f().then((P)=>P);return sf.set(U,C),C})}var p=new Map,lP=(f)=>{if(!f.name)throw Error("Component registration requires a name");if(!f.component&&!f.loader)throw Error(`Component "${f.name}" requires component or loader`);let U={name:f.name,component:f.component,loader:f.loader,metadata:f.metadata,fallback:f.fallback,isLazy:!1};if(!U.component&&U.loader)U.component=oU(U.loader,f.name),U.loader=void 0,U.isLazy=!0;return U};function Q(f){let U=lP(f);return p.set(U.name,U),U.component}var FU=(f)=>{f.forEach((U)=>Q(U))},MU=(f)=>{p.delete(f)},LU=(f)=>{return p.has(f)},AU=(f)=>{return p.get(f)?.metadata},a=(f)=>{return p.get(f)},NU=()=>{return Array.from(p.keys())},yU=()=>{return p.size};var e=require("react");var mU=require("react"),wf=require("react/jsx-runtime"),rP=mU.createContext(wf.jsx(wf.Fragment,{})),K=rP;var Kf=require("react/jsx-runtime");function nP({uiConfig:f,setUiAjaxConfiguration:U}){let C=e.useContext(K),P=x();if(P)console.log("[UI] Rendering component:",f.card),console.log("[UI] Component data:",f.data),console.log("[UI] Component content:",f.content),console.log("[UI] Has setUiAjaxConfiguration:",!!U);let H=a(f.card);if(!H?.component){if(P)console.warn(`[UI] Component not found in registry: ${f.card}`),console.log("[UI] Returning fallback component");return C}if(P)console.log("[UI] Found component in registry:",{name:H.name,isLazy:H.isLazy,hasMetadata:!!H.metadata});let Z=H.component,D=Kf.jsx(Z,{data:f.data,content:f.content,setUiAjaxConfiguration:U});if(H.isLazy){if(P)console.log("[UI] Rendering lazy component with Suspense:",H.name);return Kf.jsx(e.Suspense,{fallback:H.fallback?Kf.jsx(H.fallback,{}):C,children:D},`${H.name}`)}if(P)console.log("[UI] Rendering component directly:",H.name);return D}var w=e.memo(nP);var Sf=require("react");var EU=require("react"),tP=EU.createContext(null),E=tP;var Vf=require("react/jsx-runtime");function kU({uiConfig:f,setUiAjaxConfiguration:U}){let C=Sf.useContext(K),P=x();if(P)console.log("[UILoading] Rendering fallback for:",f.card),console.log("[UILoading] Component data:",f.data),console.log("[UILoading] Component content:",f.content),console.log("[UILoading] Has setUiAjaxConfiguration:",!!U);let H=a(f.card);if(!H?.component){if(P)console.warn(`[UILoading] Component not found in registry: ${f.card}`),console.log("[UILoading] Returning fallback component");return C}if(P)console.log("[UILoading] Found component in registry:",{name:H.name,isLazy:H.isLazy,hasMetadata:!!H.metadata,hasFallback:!!H.fallback});if(H.fallback){if(P)console.log("[UILoading] Rendering fallback for:",H.name);let I=H.fallback;return Vf.jsx(I,{})}if(P)console.log("[UILoading] No fallback, rendering full component:",H.name);let Z=H.component,D=Vf.jsx(E.Provider,{value:kU,children:Vf.jsx(Z,{data:f.data,content:f.content,setUiAjaxConfiguration:U})});if(H.isLazy)return Vf.jsx(Sf.Suspense,{fallback:C,children:D},`${H.name}`);return D}var of=kU;var xU=require("react");var Ff=require("react/jsx-runtime"),iP=({data:f,content:U,setUiAjaxConfiguration:C})=>{let{name:P,sx:H}=f,Z=xU.useContext(E)??w;return Ff.jsx(_,{card:P,data:f,children:Ff.jsx("div",{style:H,id:P,children:U.map((D,I)=>{return Ff.jsx(Z,{uiConfig:D,setUiAjaxConfiguration:C},`children-${I}`)})})})},jU=iP;var uU=Q({name:"SequenceCard",component:jU,metadata:{author:"Swarm.ing",description:"Simple div with styles joining few components"}});var dU=require("react");var af=require("react/jsx-runtime"),sP=({data:f,content:U,setUiAjaxConfiguration:C})=>{let{name:P}=f,H=dU.useContext(E)??w;return af.jsx(_,{card:P,data:f,children:U.map((Z,D)=>{return af.jsx(H,{uiConfig:Z,setUiAjaxConfiguration:C},`children-${D}`)})})},bU=sP;var pU=Q({name:"UnionCard",component:bU,metadata:{author:"Swarm.ing",description:"Renders one of many components"}});var Mf=require("react"),gU=YU(require("html-react-parser"));var j=require("react");function aP(){let f=new AudioContext,U=f.createOscillator(),C=U.connect(f.createMediaStreamDestination());U.start();let P=C.stream.getAudioTracks()[0];return P.enabled=!1,P}function Of(f=null,U){let[C,P]=j.useState(!1),H=j.useRef(null),Z=j.useRef(null),D=j.useRef(null),I=j.useCallback(async(X,G=!0)=>{if(H.current)$();let O=new RTCPeerConnection;if(O.onconnectionstatechange=()=>{if(O.connectionState==="connected")P(!0);else if(["disconnected","failed","closed"].includes(O.connectionState))P(!1)},O.ontrack=(R)=>{if(f)f.srcObject=R.streams[0]},G){let R=await navigator.mediaDevices.getUserMedia({audio:!0});O.addTrack(R.getTracks()[0],R)}else{let R=aP();O.addTrack(R)}let J=O.createDataChannel("oai-events");Z.current=J,D.current=new Promise((R)=>{J.addEventListener("open",()=>{R()})});let q=await O.createOffer();await O.setLocalDescription(q);let B=await(await fetch(`${"https://api.openai.com/v1/realtime/calls"}?model=${"gpt-realtime"}`,{method:"POST",body:q.sdp,headers:{Authorization:`Bearer ${X}`,"Content-Type":"application/sdp"}})).text();await O.setRemoteDescription({type:"answer",sdp:B}),H.current=O,await D.current},[f]),$=j.useCallback(()=>{let X=Z.current;if(X)X.close();H.current?.getSenders()?.forEach((G)=>G.track?.stop()),H.current?.close(),P(!1),H.current=null,Z.current=null,D.current=null},[f]),z=j.useCallback((X)=>{let G=Z.current;if(!G){console.error("Data channel is not ready",X);return}let O=new Date().toLocaleTimeString();if(X.event_id=X.event_id||crypto.randomUUID(),G.send(JSON.stringify(X)),!X.timestamp)X.timestamp=O;U?.(X)},[U,f]),T=j.useCallback((X)=>{if(!Z.current){console.error("Data channel is not ready");return}let O=()=>{z({type:"conversation.item.create",item:{type:"message",role:"user",content:[{type:"input_text",text:X}]}}),z({type:"response.create"})};if(D.current)D.current.then(O);else O()},[U,f]);return j.useEffect(()=>{let X=Z.current;if(!X)return;let G=(O)=>{let J=JSON.parse(O.data);if(!J.timestamp)J.timestamp=new Date().toLocaleTimeString();U?.(J)};return X.addEventListener("message",G),()=>{X.removeEventListener("message",G)}},[U,f]),{isSessionActive:C,startSession:I,stopSession:$,sendTextMessage:T}}var cU=require("react/jsx-runtime"),eP=({data:f})=>{let{html:U,useSocketioSupport:C,useCentrifugeSupport:P,useMittSupport:H,centrifugeChannel:Z}=f,[D,I]=Mf.useState(U),{isSessionActive:$,startSession:z,sendTextMessage:T}=Of(null,(J)=>{if(console.log(J.type,J.type==="response.output_text.delta"&&J.delta),J.type==="response.output_text.delta"&&J.delta)I((q)=>q+J.delta)});return Mf.useEffect(()=>{I(U)},[U]),cU.jsx(_,{card:"HTMLEmbedCard",data:f,methods:{update:(J)=>{I(J.value)},generateUsingAI:async(J)=>{try{if(!$&&J.token)await z(J.token,!1);T(J.prompt)}catch(q){console.error("Failed to generate using AI",q)}},initializeAI:async(J)=>{if(!$&&J.token)await z(J.token,!1)}},useCentrifugeSupport:P,useSocketioSupport:C,useMittSupport:H,centrifugeChannel:Z,children:gU.default(D)})},vU=eP;var hU=Q({name:"HTMLEmbedCard",component:vU,metadata:{author:"Swarm.ing"}});var Lf=require("react");var ef=require("react/jsx-runtime"),fC=({data:f})=>{let{name:U,value:C,useSocketioSupport:P,useCentrifugeSupport:H,useMittSupport:Z,centrifugeChannel:D}=f,[I,$]=Lf.useState(C);return Lf.useEffect(()=>{$(C)},[C]),ef.jsx(_,{card:"HiddenCard",data:f,useSocketioSupport:P,useCentrifugeSupport:H,useMittSupport:Z,centrifugeChannel:D,methods:{update:({value:z})=>{$(z)}},children:ef.jsx("input",{type:"hidden",id:U,name:U,value:I})})},lU=fC;var rU=Q({name:"HiddenCard",component:lU,metadata:{author:"Swarm.ing"}});var Jf=require("react");var nU=require("react"),UC=nU.createContext(void 0),k=UC;var Af=require("react/jsx-runtime"),PC=({data:f})=>{let{url:U}=f,C=Jf.useContext(k),P=Jf.useContext(K);return Jf.useEffect(()=>{if(/^[a-zA-Z][a-zA-Z\d+\-.]*:\/\//.test(U))window.location.href=U;else C?.(U)},[U,C]),Af.jsx(Af.Fragment,{children:P})},tU=PC;var iU=Q({name:"AutoRedirectCard",component:tU,metadata:{author:"Swarm.ing"}});var h=require("react-toastify"),Nf=require("react-toastify");var Uf=require("react");var ff=require("react/jsx-runtime"),CC={bounce:h.Bounce,slide:h.Slide,zoom:h.Zoom,flip:h.Flip},HC=(f)=>{let U={...f,type:f.alertType,transition:f.transition?CC[f.transition]:void 0,position:f.position??"bottom-right",autoClose:f.autoClose??3000,style:{backgroundColor:"black",...f.sx}};Nf.toast(f.message,U)},DC=(f)=>{console.log("Log event",f)},ZC=(f)=>{if(typeof window>"u"||!window.Notification){console.warn("[IOEventsCard] Notifications API is not available");return}let U=()=>{try{new window.Notification(f.title,{body:f.message??f.subtitle,icon:f.icon,silent:f.silent})}catch(P){console.error("[IOEventsCard] Failed to show notification",P)}},C=window.Notification.permission;if(C==="granted"){U();return}if(C==="denied"){console.warn("[IOEventsCard] Notification permission denied");return}window.Notification.requestPermission().then((P)=>{if(P==="granted")U()})},$C=({data:f})=>{let{useCentrifugeSupport:U,useSocketioSupport:C,useMittSupport:P,centrifugeChannel:H}=f,Z=Uf.useContext(k),D=Uf.useRef(Z);D.current=Z;let I=Uf.useMemo(()=>({alert:HC,log:DC,push:ZC,redirect:($)=>{if($.to){let z=$.to;if(/^[a-zA-Z][a-zA-Z\d+\-.]*:\/\//.test(z))window.location.href=z;else D.current?.(z)}else window.location.reload()},reload:($)=>{if($.to){let z=$.to;if(/^[a-zA-Z][a-zA-Z\d+\-.]*:\/\//.test(z))window.location.href=z;else D.current?.(z)}else window.location.reload()}}),[]);return ff.jsx(ff.Fragment,{children:ff.jsx(_,{card:"IOEventsCard",data:f,useCentrifugeSupport:U,useSocketioSupport:C,useMittSupport:P,centrifugeChannel:H,methods:I,children:ff.jsx(Nf.ToastContainer,{})})})},sU=$C;var aU=Q({name:"IOEventsCard",component:sU,metadata:{author:"Swarm.ing"}});var Yf=require("react");var fU=require("react/jsx-runtime"),zC=({data:f})=>{let{name:U,key:C,value:P,useSocketioSupport:H,useCentrifugeSupport:Z,useMittSupport:D,centrifugeChannel:I}=f,[$,z]=Yf.useState(P);return Yf.useEffect(()=>{z(P)},[P]),Yf.useEffect(()=>{if(typeof window>"u")return;sessionStorage.setItem(C,$)},[C,$]),fU.jsx(_,{card:"SessionStorageCard",data:f,useSocketioSupport:H,useCentrifugeSupport:Z,useMittSupport:D,centrifugeChannel:I,methods:{update:({value:T})=>{z(T)},remove:()=>{sessionStorage.removeItem(C),z("")}},children:fU.jsx("input",{type:"hidden",id:U,name:U,value:$})})},eU=zC;var fP=Q({name:"SessionStorageCard",component:eU,metadata:{author:"PieData"}});var Xf=require("react");var UU=require("react/jsx-runtime"),IC=({data:f})=>{let{name:U,key:C,value:P,useSocketioSupport:H,useCentrifugeSupport:Z,useMittSupport:D,centrifugeChannel:I}=f,[$,z]=Xf.useState(P);return Xf.useEffect(()=>{z(P)},[P]),Xf.useEffect(()=>{if(typeof window>"u")return;localStorage.setItem(C,$)},[C,$]),UU.jsx(_,{card:"DeviceStorageCard",data:f,useSocketioSupport:H,useCentrifugeSupport:Z,useMittSupport:D,centrifugeChannel:I,methods:{update:({value:T})=>{z(T)},remove:()=>{localStorage.removeItem(C),z("")}},children:UU.jsx("input",{type:"hidden",id:U,name:U,value:$})})},UP=IC;var PP=Q({name:"DeviceStorageCard",component:UP,metadata:{author:"PieData"}});var Gf=require("react");var PU=require("react/jsx-runtime"),TC=({data:f})=>{let{name:U,key:C,value:P,useSocketioSupport:H,useCentrifugeSupport:Z,useMittSupport:D,centrifugeChannel:I}=f,[$,z]=Gf.useState(P);return Gf.useEffect(()=>{z(P)},[P]),Gf.useEffect(()=>{if(typeof window>"u")return;let T=window.Telegram?.WebApp?.CloudStorage;if(!T)return;T.setItem(C,$)},[C,$]),PU.jsx(_,{card:"CloudStorageCard",data:f,useSocketioSupport:H,useCentrifugeSupport:Z,useMittSupport:D,centrifugeChannel:I,methods:{update:({value:T})=>{z(T)},remove:()=>{let T=window.Telegram?.WebApp?.CloudStorage;if(T)T.removeItem(C);z("")}},children:PU.jsx("input",{type:"hidden",id:U,name:U,value:$})})},CP=TC;var HP=Q({name:"CloudStorageCard",component:CP,metadata:{author:"PieData"}});var qf=require("react");var CU=require("react/jsx-runtime"),VC=({data:f})=>{let{name:U,key:C,value:P,useSocketioSupport:H,useCentrifugeSupport:Z,useMittSupport:D,centrifugeChannel:I}=f,[$,z]=qf.useState(P);return qf.useEffect(()=>{z(P)},[P]),qf.useEffect(()=>{if(typeof window>"u")return;let T=window.Telegram?.WebApp?.SecureStorage;if(!T)return;T.setItem(C,$)},[C,$]),CU.jsx(_,{card:"SecureStorageCard",data:f,useSocketioSupport:H,useCentrifugeSupport:Z,useMittSupport:D,centrifugeChannel:I,methods:{update:({value:T})=>{z(T)},remove:()=>{let T=window.Telegram?.WebApp?.SecureStorage;if(T)T.removeItem(C);z("")}},children:CU.jsx("input",{type:"hidden",id:U,name:U,value:$})})},DP=VC;var ZP=Q({name:"SecureStorageCard",component:DP,metadata:{author:"PieData"}});var L=require("react");var HU=require("react/jsx-runtime"),OC=({data:f,content:U})=>{let{useLoader:C,noReturn:P,returnType:H,useSocketioSupport:Z,useCentrifugeSupport:D,useMittSupport:I,centrifugeChannel:$}=f,z=L.useContext(K),T=L.useContext(E)??w,[X,G]=L.useState(!1),[O,J]=L.useState(null),q=L.useRef(U),V=L.useContext(M),Y=L.useCallback((R)=>{if(R===null)G(!0);else if(G(!1),!P)q.current=R;if(!P)J(R)},[P]),W=L.useCallback((R)=>{q.current=R.content,J(R.content)},[]),B=L.useCallback((R)=>{if(R===null)G(!0);else if(G(!1),!P)for(let Bf of R)V?.emit(Bf.name,Bf.data)},[P,V]);if(L.useEffect(()=>{J(U),G(!1)},[U]),!O&&C)return z;return HU.jsx(_,{card:"AjaxGroupCard",data:f,methods:{changeContent:W},useSocketioSupport:Z,useCentrifugeSupport:D,useMittSupport:I,centrifugeChannel:$,children:HU.jsx(T,{uiConfig:O??q.current,setUiAjaxConfiguration:H==="events"?B:Y})})},$P=OC;var zP=Q({name:"AjaxGroupCard",component:$P,metadata:{author:"Swarm.ing",description:"Group card with AJAX support"}});var DU=require("react");var yf=require("react/jsx-runtime"),JC=({data:f,content:U,setUiAjaxConfiguration:C})=>{let{name:P,url:H,sx:Z}=f,D=DU.useContext(k),I=DU.useContext(E)??w;return yf.jsx(_,{card:P,data:f,children:yf.jsx("div",{style:Z,id:P,onClick:(z)=>{if(H)if(z.stopPropagation(),/^[a-zA-Z][a-zA-Z\d+\-.]*:\/\//.test(H))window.location.href=H;else D?.(H)},children:yf.jsx(I,{setUiAjaxConfiguration:C,uiConfig:U})})})},IP=JC;var TP=Q({name:"BoxCard",component:IP,metadata:{author:"Swarm.ing",description:"Simple div with styles joining few components"}});var VP=require("react");var mf=require("react/jsx-runtime"),YC=({data:f,content:U,setUiAjaxConfiguration:C})=>{let{name:P,sx:H}=f,Z=VP.useContext(E)??w;return mf.jsx(_,{card:P,data:f,children:mf.jsx("div",{style:H,id:P,children:U.map((D,I)=>{return mf.jsx(Z,{uiConfig:D,setUiAjaxConfiguration:C},`children-${I}`)})})})},OP=YC;var JP=Q({name:"OneOfCard",component:OP,metadata:{author:"Swarm.ing",description:"Different variants"}});var Cf=require("react"),Hf=require("@tanstack/react-query");var uf=require("react");var xf=require("react"),Ef=new Map,kf=new Map;function jf(f,U){let C=`${f}::${U}`,P=f?Ef.get(C):void 0,[H,Z]=xf.useState(P??null);return xf.useEffect(()=>{if(!f)return;if(Ef.has(C)){Z(Ef.get(C));return}let D=kf.get(C);if(!D)D=fetch(f+`api/support/${U}`,{method:"GET"}).then(($)=>$.json()).then(($)=>{return Ef.set(C,$),kf.delete(C),$}).catch(($)=>{throw kf.delete(C),$}),kf.set(C,D);let I=!1;return D.then(($)=>{if(!I)Z($)}).catch(()=>{}),()=>{I=!0}},[f,U,C]),H}var ZU=null,YP=null;function XP(){YP?.()}function $U(){if(typeof window>"u")return Promise.resolve();if(typeof window.sid<"u")return Promise.resolve();if(!ZU)ZU=new Promise((f)=>{YP=()=>{f()}});return ZU}var XC=({children:f})=>{let U=uf.useContext(y),C=Rf(),P=jf(C,"socketIO"),H=(Z)=>{if(typeof window<"u")window.sid=Z.sid,XP(),console.log(`SocketIO initialized: ${window.sid}`)};return uf.useEffect(()=>{if(!U)return;let Z=()=>{console.log("SocketIO connected")},D=(I)=>{console.log(`SocketIO disconnected: ${I}`),U.connect()};if(P)U.on("pieinit",H),U.on("connect",Z),U.on("disconnect",D),U.connect();return()=>{if(P)U.off("pieinit",H),U.off("connect",Z),U.off("disconnect",D),U.disconnect()}},[U,P]),f},l=XC;var df=require("react");var GC=({children:f})=>{let U=df.useContext(N),C=Rf(),P=jf(C,"centrifuge");return df.useEffect(()=>{if(!U)return;let H=()=>{console.log("Centrifuge connected")},Z=(D)=>{console.log("Centrifuge disconnected:",D)};if(P)U.on("connected",H),U.on("disconnected",Z),U.connect();return()=>{if(P)U.disconnect()}},[U,P]),f},r=GC;var qP=require("axios-date-transformer");var GP=require("react/jsx-runtime");function Pf(f,U,C){if(!U)return C;let P=f.replace(/^\//,""),H=U[P];if(!H)return C;return GP.jsx(of,{uiConfig:H})}var S=require("react/jsx-runtime"),qC=({location:f,fallback:U,piecache:C,onError:P,queryOptions:H,disableGlobalForm:Z})=>{let D=b(),I=g(),$=x(),z=Cf.useMemo(()=>qP.createAxiosDateTransformer({baseURL:D||""}),[D]),T=Cf.useMemo(()=>m(),[]),X=Cf.useMemo(()=>D?c(D):null,[D]),G=Cf.useMemo(()=>D?v(D,I):null,[D,I]),{data:O,isLoading:J,error:q}=Hf.useQuery({queryKey:["uiConfig",f.pathname+f.search,D],enabled:!!D,queryFn:async()=>{let Y=new URLSearchParams(f.search);Y.set("__pieroot","web");let W="/api/content"+f.pathname+"?"+Y.toString();if($)console.log("[PieRoot] Fetching UI configuration from:",W);let B=await z.get(W,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET,PUT,POST,DELETE,PATCH,OPTIONS","Content-type":"application/json"},withCredentials:!0});if($)console.log("[PieRoot] Received UI configuration:",B.data);return B.data},staleTime:1/0,gcTime:1/0,refetchOnWindowFocus:!1,refetchOnMount:!1,refetchOnReconnect:!1,retry:!0,retryDelay:(Y)=>Math.min(1000*2**Y,30000),...H}),V=Pf(f.pathname,C,U);if(!D)return V??null;if($)console.log("[PieRoot] Rendering with location:",f),console.log("[PieRoot] API_SERVER:",D),console.log("[PieRoot] CENTRIFUGE_SERVER:",I),console.log("[PieRoot] Fallback provided:",!!U),console.log("[PieRoot] Piecache provided:",!!C);if(q){if($)console.error("[PieRoot] Error fetching UI configuration:",q),console.error("[PieRoot] Error details:",{message:q.message,status:q.response?.status,data:q.response?.data});return P?.(),V}if(J||!O){if($)console.log("[PieRoot] Loading state:",{isLoading:J,hasUiConfiguration:!!O});return V}if($)console.log("[PieRoot] UI configuration loaded successfully:",O),console.log("[PieRoot] Rendering UI with configuration");return S.jsx(M.Provider,{value:T,children:S.jsx(y.Provider,{value:X,children:S.jsx(N.Provider,{value:G,children:S.jsx(K.Provider,{value:U??S.jsx(S.Fragment,{}),children:S.jsx(l,{children:S.jsx(r,{children:Z?S.jsx(w,{uiConfig:O}):S.jsx("form",{id:"piedata_global_form",action:D+"api/process"+f.pathname,method:"post",encType:"multipart/form-data",children:S.jsx(w,{uiConfig:O})})})})})})})})},BC=(f)=>{let U=Cf.useMemo(()=>new Hf.QueryClient,[]);return S.jsx(k.Provider,{value:f.onNavigate,children:S.jsx(u.Provider,{value:f.config,children:S.jsx(Hf.QueryClientProvider,{client:U,children:S.jsx(qC,{...f})})})})},BP=BC;var Df=require("react"),Zf=require("@tanstack/react-query");var WP=require("axios-date-transformer");var bf=require("react");var pf=({onError:f}={})=>{let[U,C]=bf.useState(null),P=GU();return bf.useEffect(()=>{if(typeof window>"u")return;let H=window.Telegram?.WebApp;if(!H)return;try{H.ready?.()}catch(Z){f?.()}if(P==="telegram_expanded"&&(H.platform==="ios"||H.platform==="android"))H.expand();C(H)},[]),U};var o=require("react/jsx-runtime"),WC=({location:f,fallback:U,piecache:C,onError:P,queryOptions:H,disableGlobalForm:Z})=>{let D=b(),I=g(),$=x(),z=Df.useMemo(()=>WP.createAxiosDateTransformer({baseURL:D}),[D]),T=Df.useMemo(()=>m(),[]),X=Df.useMemo(()=>D?c(D):null,[D]),G=Df.useMemo(()=>D?v(D,I):null,[D,I]),O=pf({onError:P}),{data:J,isLoading:q,error:V}=Zf.useQuery({queryKey:["uiConfig",f.pathname+f.search,O?.initData],enabled:!!O?.initData,queryFn:async()=>{let W=new URLSearchParams(f.search);if(W.set("__pieroot","telegram"),O?.initData)W.set("initData",O.initData);let B="/api/content"+f.pathname+"?"+W.toString();if($)console.log("[PieRoot] Fetching UI configuration from:",B);let R=await z.get(B,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET,PUT,POST,DELETE,PATCH,OPTIONS","Content-type":"application/json"},withCredentials:!0});if($)console.log("[PieRoot] Received UI configuration:",R.data);return R.data},staleTime:1/0,gcTime:1/0,refetchOnWindowFocus:!1,refetchOnMount:!1,refetchOnReconnect:!1,retry:!0,retryDelay:(W)=>Math.min(1000*2**W,30000),...H}),Y=Pf(f.pathname,C,U);if(!D)throw Error("Set PIE_API_SERVER and PIE_CENTRIFUGE_SERVER");if(V&&$)return console.error("[PieRoot] Error fetching UI configuration:",V),console.error("[PieRoot] Error details:",{message:V.message,status:V.response?.status,data:V.response?.data}),P?.(),Y;if(q||!J){if($)console.log("[PieRoot] Loading state:",{isLoading:q,hasUiConfiguration:!!J});return Y}if($)console.log("[PieRoot] UI configuration loaded successfully:",J),console.log("[PieRoot] Rendering UI with configuration");return o.jsx(M.Provider,{value:T,children:o.jsx(y.Provider,{value:X,children:o.jsx(N.Provider,{value:G,children:o.jsx(K.Provider,{value:U??o.jsx(o.Fragment,{}),children:o.jsx(l,{children:o.jsx(r,{children:Z?o.jsx(w,{uiConfig:J}):o.jsx("form",{id:"piedata_global_form",action:D+"api/process"+f.pathname,method:"post",encType:"multipart/form-data",children:o.jsx(w,{uiConfig:J})})})})})})})})},QC=(f)=>{let U=Df.useMemo(()=>new Zf.QueryClient,[]);return o.jsx(k.Provider,{value:f.onNavigate,children:o.jsx(u.Provider,{value:f.config,children:o.jsx(Zf.QueryClientProvider,{client:U,children:o.jsx(WC,{...f})})})})},QP=QC;var $f=require("react"),gf=require("@tanstack/react-query");var A=require("react/jsx-runtime"),RC=({location:f,fallback:U,children:C,disableGlobalForm:P})=>{let H=b(),Z=g(),D=x(),I=$f.useMemo(()=>m(),[]),$=$f.useMemo(()=>H?c(H):null,[H]),z=$f.useMemo(()=>H?v(H,Z):null,[H,Z]);if(D)console.log("[PieRoot] Rendering with location:",f),console.log("[PieRoot] API_SERVER:",H),console.log("[PieRoot] CENTRIFUGE_SERVER:",Z),console.log("[PieRoot] Fallback provided:",!!U);return A.jsx(M.Provider,{value:I,children:A.jsx(y.Provider,{value:$,children:A.jsx(N.Provider,{value:z,children:A.jsx(K.Provider,{value:U??A.jsx(A.Fragment,{}),children:A.jsx(l,{children:A.jsx(r,{children:P?C:A.jsx("form",{id:"piedata_global_form",action:H+"api/process"+f.pathname,method:"post",encType:"multipart/form-data",children:C})})})})})})})},_C=(f)=>{let[U]=$f.useState(()=>new gf.QueryClient);return A.jsx(k.Provider,{value:f.onNavigate,children:A.jsx(u.Provider,{value:f.config,children:A.jsx(gf.QueryClientProvider,{client:U,children:A.jsx(RC,{...f})})})})},RP=_C;var zf=require("react"),If=require("@tanstack/react-query");var _P=require("axios-date-transformer");var vf=require("react"),cf=()=>{let[f,U]=vf.useState(null);return vf.useEffect(()=>{if(typeof window>"u")return;let C=window.WebApp;if(!C)return;C.ready(),U(C)},[]),f};var F=require("react/jsx-runtime"),wC=({location:f,fallback:U,piecache:C,onError:P,queryOptions:H,disableGlobalForm:Z})=>{let D=b(),I=g(),$=x(),z=zf.useMemo(()=>_P.createAxiosDateTransformer({baseURL:D}),[D]),T=zf.useMemo(()=>m(),[]),X=zf.useMemo(()=>D?c(D):null,[D]),G=zf.useMemo(()=>D?v(D,I):null,[D,I]),O=cf(),{data:J,isLoading:q,error:V}=If.useQuery({queryKey:["uiConfig",f.pathname+f.search,O?.initData],queryFn:async()=>{let W=new URLSearchParams(f.search);if(W.set("__pieroot","max"),O?.initData)W.set("initData",O.initData);let B="/api/content"+f.pathname+"?"+W.toString();if($)console.log("[PieRoot] Fetching UI configuration from:",B);let R=await z.get(B,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET,PUT,POST,DELETE,PATCH,OPTIONS","Content-type":"application/json"},withCredentials:!0});if($)console.log("[PieRoot] Received UI configuration:",R.data);return R.data},enabled:!!O?.initData,staleTime:1/0,gcTime:1/0,refetchOnWindowFocus:!1,refetchOnMount:!1,refetchOnReconnect:!1,retry:!0,retryDelay:(W)=>Math.min(1000*2**W,30000),...H}),Y=Pf(f.pathname,C,U);if(!D)throw Error("Set PIE_API_SERVER and PIE_CENTRIFUGE_SERVER");if(V&&$)return console.error("[PieRoot] Error fetching UI configuration:",V),console.error("[PieRoot] Error details:",{message:V.message,status:V.response?.status,data:V.response?.data}),P?.(),Y;if(q||!J){if($)console.log("[PieRoot] Loading state:",{isLoading:q,hasUiConfiguration:!!J});return Y}if($)console.log("[PieRoot] UI configuration loaded successfully:",J),console.log("[PieRoot] Rendering UI with configuration");return F.jsx(M.Provider,{value:T,children:F.jsx(y.Provider,{value:X,children:F.jsx(N.Provider,{value:G,children:F.jsx(K.Provider,{value:U??F.jsx(F.Fragment,{}),children:F.jsx(l,{children:F.jsx(r,{children:Z?F.jsx(w,{uiConfig:J}):F.jsx("form",{id:"piedata_global_form",action:D+"api/process"+f.pathname,method:"post",encType:"multipart/form-data",children:F.jsx(w,{uiConfig:J})})})})})})})})},KC=(f)=>{let U=zf.useMemo(()=>new If.QueryClient,[]);return F.jsx(k.Provider,{value:f.onNavigate,children:F.jsx(u.Provider,{value:f.config,children:F.jsx(If.QueryClientProvider,{client:U,children:F.jsx(wC,{...f})})})})},wP=KC;var KP=require("react"),zU=(f,U=!1)=>{if(f==="sid"){if(!window.sid)throw Error("SocketIO isn't initialized properly");return[window.sid]}let C=document.getElementsByName(f);if(!C.length){if(U)console.warn(`No input found with name ${f}`);return[]}let P=C[0];if(P instanceof HTMLInputElement){if(P.type==="file"&&P.files)return Array.from(P.files);return[P.value]}if(P instanceof HTMLTextAreaElement)return[P.value];return[]},SC=(f,U={},C=[],P,H)=>{let Z=H?.renderingLogEnabled??!1,D=H?.timeout,I=H?.retryPolicy,$=I?.maxRetries??0,z=I?.baseDelay??1000,T=I?.retryOn??[502,503,504];if(Z)console.log("Registering AJAX: ",P,U,C);return async(X={})=>{if(typeof window>"u"||typeof document>"u"){if(Z)console.warn("getAjaxSubmit called on server, skipping DOM-dependent logic");return}let G=H?.apiServer;if(!G){if(Z)console.warn("AJAX skipped: apiServer is missing");return}if(!P||!f){if(Z)console.warn("AJAX skipped: pathname or setUiAjaxConfiguration is missing");return}if(C.includes("sid"))await $U();let O=new FormData;for(let[V,Y]of Object.entries({...U,...X}))O.append(V,Y);for(let V of C)for(let Y of zU(V,Z))O.append(V,Y);let J=G+"api/ajax_content"+P;f(null);let q;for(let V=0;V<=$;V++){if(V>0){let B=z*2**(V-1);if(Z)console.log(`AJAX retry ${V}/${$} after ${B}ms`);await new Promise((R)=>setTimeout(R,B))}let Y=D!=null?new AbortController:null,W=Y&&setTimeout(()=>Y.abort(),D);try{let B=await fetch(J,{method:"POST",body:O,signal:Y?.signal});if(W)clearTimeout(W);if(!B.ok&&T.includes(B.status)&&V<$){q=Error(`HTTP ${B.status}`);continue}let Bf=(B.headers.get("content-type")||"").includes("application/json");if(!!B.body?.getReader&&!Bf){let Wf=B.body.getReader(),EP=new TextDecoder,n="";while(!0){let{done:lf,value:kP}=await Wf.read();if(lf)break;n+=EP.decode(kP,{stream:!0});let TU=n.split(`
3
- `);n=TU.pop()??"";for(let xP of TU){let rf=xP.trim();if(!rf)continue;try{let jP=JSON.parse(rf);f([jP])}catch{if(Z)console.warn("Failed to parse streamed line:",rf)}}}if(n.trim())try{let lf=JSON.parse(n);f([lf])}catch{if(Z)console.warn("Failed to parse final streamed line:",n)}return{}}else{let Wf=await B.json();return f(Wf),Wf}}catch(B){if(W)clearTimeout(W);if(q=B,V<$)continue;if(Z)console.error("AJAX request failed:",B);return f(null),B}}if(Z)console.error("AJAX request failed after retries:",q);return f(null),q}},SP=(f,U={},C=[],P,H)=>{let{apiServer:Z,enableRenderingLog:D}=t(),I=JSON.stringify(U),$=JSON.stringify(C),z=JSON.stringify(H);return KP.useMemo(()=>SC(f,U,C,P,{apiServer:Z,renderingLogEnabled:D,timeout:H?.timeout,retryPolicy:H?.retryPolicy}),[f,I,$,P,Z,D,z])};var oP=require("@openai/agents"),hf=require("react");var FP=/^pie(.+?)_(.+)$/;function IU(f=m(),U={}){let C=[],P=new Set;for(let H of f.all.keys()){if(typeof H!=="string")continue;let Z=H.match(FP);if(!Z)continue;let[,D,I]=Z,$={methodName:D,cardName:I,eventName:H};if(U.filter&&!U.filter($))continue;let z=U.nameFor?.($)??`${I}_${D}`;if(P.has(z))continue;P.add(z);let T=U.describe?.($)??`Invokes the "${D}" method on the PieCard "${I}" by emitting the in-process mitt event "${H}". The optional "payload" argument is forwarded verbatim to the card's handler.`;C.push(oP.tool({name:z,description:T,strict:!1,parameters:{type:"object",properties:{payload:{description:"Arbitrary JSON payload forwarded to the PieCard method handler. Omit for fire-and-forget calls."}},required:[],additionalProperties:!0},execute:async(X)=>{let G=X?.payload;return f.emit(H,G),`Emitted "${H}"`}}))}return C}function MP(f={}){let C=hf.useContext(M)??m(),P=[];for(let $ of C.all.keys())if(typeof $==="string"&&FP.test($))P.push($);P.sort();let H=P.join("|"),{filter:Z,describe:D,nameFor:I}=f;return hf.useMemo(()=>IU(C,{filter:Z,describe:D,nameFor:I}),[C,H,Z,D,I])}var LP=require("clsx"),AP=require("tailwind-merge");function NP(...f){return AP.twMerge(LP.clsx(f))}var yP=()=>{if(typeof document>"u")return;let f=document.getElementById("piedata_global_form");f&&f.submit()};var mP=(f,U)=>`${f}${_f}${U}`;
2
+ var kU=Object.create;var{getPrototypeOf:mU,defineProperty:Yf,getOwnPropertyNames:YH,getOwnPropertyDescriptor:jU}=Object,XH=Object.prototype.hasOwnProperty;var qH=(f,H,Z)=>{Z=f!=null?kU(mU(f)):{};let U=H||!f||!f.__esModule?Yf(Z,"default",{value:f,enumerable:!0}):Z;for(let $ of YH(f))if(!XH.call(U,$))Yf(U,$,{get:()=>f[$],enumerable:!0});return U},JH=new WeakMap,dU=(f)=>{var H=JH.get(f),Z;if(H)return H;if(H=Yf({},"__esModule",{value:!0}),f&&typeof f==="object"||typeof f==="function")YH(f).map((U)=>!XH.call(H,U)&&Yf(H,U,{get:()=>f[U],enumerable:!(Z=jU(f,U))||Z.enumerable}));return JH.set(f,H),H};var xU=(f,H)=>{for(var Z in H)Yf(f,Z,{get:H[Z],enumerable:!0,configurable:!0,set:(U)=>H[Z]=()=>U})};var PZ={};xU(PZ,{useWebApp:()=>vf,usePieEmit:()=>wH,useOpenAIWebRTC:()=>qf,useMaxWebApp:()=>hf,useAjaxSubmit:()=>CU,unregisterComponent:()=>SH,submitGlobalForm:()=>LU,registry:()=>v,registerPieComponent:()=>W,registerMultipleComponents:()=>RH,readAjaxKey:()=>VH,pieName:()=>MU,hasComponent:()=>LH,getRegistrySize:()=>AH,getRegistryEntry:()=>a,getEmitter:()=>o,getComponentMeta:()=>MH,getAllRegisteredComponents:()=>NH,cn:()=>SU,UnionCard:()=>bH,UIRendererContext:()=>k,UILoading:()=>Sf,UI:()=>C,SocketIOContext:()=>y,SessionStorageCard:()=>aH,SequenceCard:()=>dH,SecureStorageCard:()=>$U,PieTelegramRoot:()=>QU,PieRoot:()=>IU,PieMaxRoot:()=>PU,PieConfigContext:()=>x,PieCard:()=>w,PieBaseRoot:()=>KU,PIEBREAK:()=>wf,OneOfCard:()=>XU,MittContext:()=>E,IOEventsCard:()=>iH,HiddenCard:()=>pH,HTMLEmbedCard:()=>cH,FallbackContext:()=>F,DeviceStorageCard:()=>fU,CloudStorageCard:()=>UU,CentrifugeIOContext:()=>A,BoxCard:()=>TU,AutoRedirectCard:()=>nH,AjaxGroupCard:()=>zU});module.exports=dU(PZ);var b=require("react");var Wf=require("react"),x=Wf.createContext(null),s=()=>{let f=Wf.useContext(x);if(!f)throw Error("usePieConfig must be used within PieConfigProvider");return f},u=()=>{let{apiServer:f}=s();return f},Pf=u,g=()=>{let{centrifugeServer:f}=s();return f};var j=()=>{let{enableRenderingLog:f}=s();return f},GH=j,OH=()=>{let{pageProcessor:f}=s();return f};var wf="__piedemo__";var IH=require("react"),rf=require("centrifuge"),BH=new Map,c=(f,H)=>{if(!H)return null;let Z=`${f}::${H}`,U=BH.get(Z);if(U)return U;async function $(){let D=await fetch(f+"api/centrifuge/gen_token");if(!D.ok){if(D.status===403)throw new rf.Centrifuge.UnauthorizedError("Backend is not answering");throw Error(`Unexpected status code ${D.status}`)}return(await D.json()).token}let z=new rf.Centrifuge(H,{getToken:$});return BH.set(Z,z),z},oU=IH.createContext(null),A=oU;var QH=require("socket.io-client"),KH=require("react"),_H=new Map,h=(f)=>{let H=_H.get(f);if(H)return H;let Z=QH.io(f,{autoConnect:!1,transports:["websocket"]});return _H.set(f,Z),Z},bU=KH.createContext(null),y=bU;var WH=qH(require("mitt")),i=require("react"),nf=null;function o(){if(!nf)nf=WH.default();return nf}var PH=i.createContext(null);function wH(f){let H=i.useContext(PH);return i.useCallback((Z,U)=>{(H??o()).emit(`pie${Z}_${f}`,U)},[f,H])}var E=PH;var t=require("react/jsx-runtime"),uU=({card:f,data:H,children:Z,useSocketioSupport:U=!1,useCentrifugeSupport:$=!1,useMittSupport:z=!1,centrifugeChannel:D=void 0,methods:J=void 0,stored:V=void 0})=>{let T=GH(),X=b.useRef(J);if(X.current=J,T)console.log("[PieCard] Rendering card:",f),console.log("[PieCard] Card data:",H),console.log("[PieCard] Component name:",H?.name),console.log("[PieCard] Real-time support:",{socketio:U,centrifuge:$,mitt:z,centrifugeChannel:D}),console.log("[PieCard] Methods:",J?Object.keys(J):"none"),console.log("[PieCard] Has children:",!!Z);let B=b.useContext(y),Q=b.useContext(A),q=b.useContext(E);if(b.useEffect(()=>{if(!B||!U||!X.current||!H.name){if(T&&U)console.log("[PieCard] Socket.IO setup skipped:",{hasSocket:!!B,useSocketioSupport:U,hasMethods:!!X.current,hasDataName:!!H?.name});return}let I=Object.keys(X.current??{}).map((Y)=>{let O=`pie${Y}_${H.name}`;if(T)console.log(`[PieCard] Socket.IO registering event: ${O}`);let K=(_)=>{X.current?.[Y]?.(_)};return B.on(O,K),[O,K]});return()=>{I.forEach(([Y,O])=>{if(T)console.log(`[PieCard] Socket.IO unregistering event: ${Y}`);B.off(Y,O)})}},[B,H.name,U]),b.useEffect(()=>{if(!Q||!$||!D||!H.name){if(T&&$)console.log("[PieCard] Centrifuge setup skipped:",{hasCentrifuge:!!Q,useCentrifugeSupport:$,hasCentrifugeChannel:!!D,hasMethods:!!X.current,hasDataName:!!H?.name});return}let I=Object.keys(X.current??{}).map((Y)=>{let O=`pie${Y}_${H.name}_${D}`;if(T)console.log(`[PieCard] Centrifuge subscribing to channel: ${O}`);let K=Q.newSubscription(O);return K.on("publication",(_)=>{if(T)console.log(`[PieCard] Centrifuge received data on ${O}:`,_.data);X.current?.[Y]?.(_.data)}),K.subscribe(),K});return()=>{I.forEach((Y)=>{if(T)console.log("[PieCard] Centrifuge unsubscribing from channel");Y.unsubscribe(),Q.removeSubscription(Y)})}},[Q,D,H.name,$]),b.useEffect(()=>{if(!q||!z||!H.name){if(T&&z)console.log("[PieCard] Mitt setup skipped:",{hasMitt:!!q,useMittSupport:z,hasMethods:!!X.current,hasDataName:!!H?.name});return}let G=Object.keys(X.current??{}),I={};return G.forEach((Y)=>{let O=`pie${Y}_${H.name}`,K=(_)=>{if(T)console.log(`[PieCard] Mitt registering event: ${O}`);X.current?.[Y]?.(_)};I[O]=K,q.on(O,K)}),()=>{Object.entries(I).forEach(([Y,O])=>{if(T)console.log(`[PieCard] Mitt unregistering event: ${Y}`);q.off(Y,O)})}},[q,H.name,z]),T)console.log("[PieCard] Rendering complete, returning children");if(V!==void 0)return t.jsxs(t.Fragment,{children:[t.jsx("input",{type:"hidden",name:H.name,value:JSON.stringify(V)}),Z]});return Z},w=uU;var CH=require("react"),sf=new Map;function FH(f,H){return CH.lazy(()=>{if(sf.has(H))return sf.get(H);let Z=f().then((U)=>U);return sf.set(H,Z),Z})}var v=new Map,vU=(f)=>{if(!f.name)throw Error("Component registration requires a name");if(!f.component&&!f.loader)throw Error(`Component "${f.name}" requires component or loader`);let H={name:f.name,component:f.component,loader:f.loader,metadata:f.metadata,fallback:f.fallback,isLazy:!1};if(!H.component&&H.loader)H.component=FH(H.loader,f.name),H.loader=void 0,H.isLazy=!0;return H};function W(f){let H=vU(f);return v.set(H.name,H),H.component}var RH=(f)=>{f.forEach((H)=>W(H))},SH=(f)=>{v.delete(f)},LH=(f)=>{return v.has(f)},MH=(f)=>{return v.get(f)?.metadata},a=(f)=>{return v.get(f)},NH=()=>{return Array.from(v.keys())},AH=()=>{return v.size};var e=require("react");var yH=require("react"),Cf=require("react/jsx-runtime"),gU=yH.createContext(Cf.jsx(Cf.Fragment,{})),F=gU;var Ff=require("react/jsx-runtime");function cU({uiConfig:f,setUiAjaxConfiguration:H}){let Z=e.useContext(F),U=j();if(U)console.log("[UI] Rendering component:",f.card),console.log("[UI] Component data:",f.data),console.log("[UI] Component content:",f.content),console.log("[UI] Has setUiAjaxConfiguration:",!!H);let $=a(f.card);if(!$?.component){if(U)console.warn(`[UI] Component not found in registry: ${f.card}`),console.log("[UI] Returning fallback component");return Z}if(U)console.log("[UI] Found component in registry:",{name:$.name,isLazy:$.isLazy,hasMetadata:!!$.metadata});let z=$.component,D=Ff.jsx(z,{data:f.data,content:f.content,setUiAjaxConfiguration:H});if($.isLazy){if(U)console.log("[UI] Rendering lazy component with Suspense:",$.name);return Ff.jsx(e.Suspense,{fallback:$.fallback?Ff.jsx($.fallback,{}):Z,children:D},`${$.name}`)}if(U)console.log("[UI] Rendering component directly:",$.name);return D}var C=e.memo(cU);var Rf=require("react");var EH=require("react"),hU=EH.createContext(null),k=hU;var Xf=require("react/jsx-runtime");function kH({uiConfig:f,setUiAjaxConfiguration:H}){let Z=Rf.useContext(F),U=j();if(U)console.log("[UILoading] Rendering fallback for:",f.card),console.log("[UILoading] Component data:",f.data),console.log("[UILoading] Component content:",f.content),console.log("[UILoading] Has setUiAjaxConfiguration:",!!H);let $=a(f.card);if(!$?.component){if(U)console.warn(`[UILoading] Component not found in registry: ${f.card}`),console.log("[UILoading] Returning fallback component");return Z}if(U)console.log("[UILoading] Found component in registry:",{name:$.name,isLazy:$.isLazy,hasMetadata:!!$.metadata,hasFallback:!!$.fallback});if($.fallback){if(U)console.log("[UILoading] Rendering fallback for:",$.name);let J=$.fallback;return Xf.jsx(J,{})}if(U)console.log("[UILoading] No fallback, rendering full component:",$.name);let z=$.component,D=Xf.jsx(k.Provider,{value:kH,children:Xf.jsx(z,{data:f.data,content:f.content,setUiAjaxConfiguration:H})});if($.isLazy)return Xf.jsx(Rf.Suspense,{fallback:Z,children:D},`${$.name}`);return D}var Sf=kH;var mH=require("react");var Lf=require("react/jsx-runtime"),pU=({data:f,content:H,setUiAjaxConfiguration:Z})=>{let{name:U,sx:$}=f,z=mH.useContext(k)??C;return Lf.jsx(w,{card:U,data:f,children:Lf.jsx("div",{style:$,id:U,children:H.map((D,J)=>{return Lf.jsx(z,{uiConfig:D,setUiAjaxConfiguration:Z},`children-${J}`)})})})},jH=pU;var dH=W({name:"SequenceCard",component:jH,metadata:{author:"Swarm.ing",description:"Simple div with styles joining few components"}});var xH=require("react");var tf=require("react/jsx-runtime"),lU=({data:f,content:H,setUiAjaxConfiguration:Z})=>{let{name:U}=f,$=xH.useContext(k)??C;return tf.jsx(w,{card:U,data:f,children:H.map((z,D)=>{return tf.jsx($,{uiConfig:z,setUiAjaxConfiguration:Z},`children-${D}`)})})},oH=lU;var bH=W({name:"UnionCard",component:oH,metadata:{author:"Swarm.ing",description:"Renders one of many components"}});var Mf=require("react"),uH=qH(require("html-react-parser"));var d=require("react");function rU(){let f=new AudioContext,H=f.createOscillator(),Z=H.connect(f.createMediaStreamDestination());H.start();let U=Z.stream.getAudioTracks()[0];return U.enabled=!1,U}function qf(f=null,H){let[Z,U]=d.useState(!1),$=d.useRef(null),z=d.useRef(null),D=d.useRef(null),J=d.useCallback(async(B,Q=!0)=>{if($.current)V();let q=new RTCPeerConnection;if(q.onconnectionstatechange=()=>{if(q.connectionState==="connected")U(!0);else if(["disconnected","failed","closed"].includes(q.connectionState))U(!1)},q.ontrack=(P)=>{if(f)f.srcObject=P.streams[0]},Q){let P=await navigator.mediaDevices.getUserMedia({audio:!0});q.addTrack(P.getTracks()[0],P)}else{let P=rU();q.addTrack(P)}let G=q.createDataChannel("oai-events");z.current=G,D.current=new Promise((P)=>{G.addEventListener("open",()=>{P()})});let I=await q.createOffer();await q.setLocalDescription(I);let _=await(await fetch(`${"https://api.openai.com/v1/realtime/calls"}?model=${"gpt-realtime"}`,{method:"POST",body:I.sdp,headers:{Authorization:`Bearer ${B}`,"Content-Type":"application/sdp"}})).text();await q.setRemoteDescription({type:"answer",sdp:_}),$.current=q,await D.current},[f]),V=d.useCallback(()=>{let B=z.current;if(B)B.close();$.current?.getSenders()?.forEach((Q)=>Q.track?.stop()),$.current?.close(),U(!1),$.current=null,z.current=null,D.current=null},[f]),T=d.useCallback((B)=>{let Q=z.current;if(!Q){console.error("Data channel is not ready",B);return}let q=new Date().toLocaleTimeString();if(B.event_id=B.event_id||crypto.randomUUID(),Q.send(JSON.stringify(B)),!B.timestamp)B.timestamp=q;H?.(B)},[H,f]),X=d.useCallback((B)=>{if(!z.current){console.error("Data channel is not ready");return}let q=()=>{T({type:"conversation.item.create",item:{type:"message",role:"user",content:[{type:"input_text",text:B}]}}),T({type:"response.create"})};if(D.current)D.current.then(q);else q()},[H,f]);return d.useEffect(()=>{let B=z.current;if(!B)return;let Q=(q)=>{let G=JSON.parse(q.data);if(!G.timestamp)G.timestamp=new Date().toLocaleTimeString();H?.(G)};return B.addEventListener("message",Q),()=>{B.removeEventListener("message",Q)}},[H,f]),{isSessionActive:Z,startSession:J,stopSession:V,sendTextMessage:X}}var gH=require("react/jsx-runtime"),nU=({data:f})=>{let{html:H,useSocketioSupport:Z,useCentrifugeSupport:U,useMittSupport:$,centrifugeChannel:z}=f,[D,J]=Mf.useState(H),{isSessionActive:V,startSession:T,sendTextMessage:X}=qf(null,(G)=>{if(console.log(G.type,G.type==="response.output_text.delta"&&G.delta),G.type==="response.output_text.delta"&&G.delta)J((I)=>I+G.delta)});return Mf.useEffect(()=>{J(H)},[H]),gH.jsx(w,{card:"HTMLEmbedCard",data:f,methods:{update:(G)=>{J(G.value)},generateUsingAI:async(G)=>{try{if(!V&&G.token)await T(G.token,!1);X(G.prompt)}catch(I){console.error("Failed to generate using AI",I)}},initializeAI:async(G)=>{if(!V&&G.token)await T(G.token,!1)}},useCentrifugeSupport:U,useSocketioSupport:Z,useMittSupport:$,centrifugeChannel:z,children:uH.default(D)})},vH=nU;var cH=W({name:"HTMLEmbedCard",component:vH,metadata:{author:"Swarm.ing"}});var Nf=require("react");var af=require("react/jsx-runtime"),sU=({data:f})=>{let{name:H,value:Z,useSocketioSupport:U,useCentrifugeSupport:$,useMittSupport:z,centrifugeChannel:D}=f,[J,V]=Nf.useState(Z);return Nf.useEffect(()=>{V(Z)},[Z]),af.jsx(w,{card:"HiddenCard",data:f,useSocketioSupport:U,useCentrifugeSupport:$,useMittSupport:z,centrifugeChannel:D,methods:{update:({value:T})=>{V(T)}},children:af.jsx("input",{type:"hidden",id:H,name:H,value:J})})},hH=sU;var pH=W({name:"HiddenCard",component:hH,metadata:{author:"Swarm.ing"}});var Gf=require("react");var lH=require("react"),iU=lH.createContext(void 0),m=iU;var Af=require("react/jsx-runtime"),tU=({data:f})=>{let{url:H}=f,Z=Gf.useContext(m),U=Gf.useContext(F);return Gf.useEffect(()=>{if(/^[a-zA-Z][a-zA-Z\d+\-.]*:\/\//.test(H))window.location.href=H;else Z?.(H)},[H,Z]),Af.jsx(Af.Fragment,{children:U})},rH=tU;var nH=W({name:"AutoRedirectCard",component:rH,metadata:{author:"Swarm.ing"}});var p=require("react-toastify"),yf=require("react-toastify");var Hf=require("react");var ff=require("react/jsx-runtime"),aU={bounce:p.Bounce,slide:p.Slide,zoom:p.Zoom,flip:p.Flip},eU=(f)=>{let H={...f,type:f.alertType,transition:f.transition?aU[f.transition]:void 0,position:f.position??"bottom-right",autoClose:f.autoClose??3000,style:{backgroundColor:"black",...f.sx}};yf.toast(f.message,H)},fZ=(f)=>{console.log("Log event",f)},HZ=(f)=>{if(typeof window>"u"||!window.Notification){console.warn("[IOEventsCard] Notifications API is not available");return}let H=()=>{try{new window.Notification(f.title,{body:f.message??f.subtitle,icon:f.icon,silent:f.silent})}catch(U){console.error("[IOEventsCard] Failed to show notification",U)}},Z=window.Notification.permission;if(Z==="granted"){H();return}if(Z==="denied"){console.warn("[IOEventsCard] Notification permission denied");return}window.Notification.requestPermission().then((U)=>{if(U==="granted")H()})},UZ=({data:f})=>{let{useCentrifugeSupport:H,useSocketioSupport:Z,useMittSupport:U,centrifugeChannel:$}=f,z=Hf.useContext(m),D=Hf.useRef(z);D.current=z;let J=Hf.useMemo(()=>({alert:eU,log:fZ,push:HZ,redirect:(V)=>{if(V.to){let T=V.to;if(/^[a-zA-Z][a-zA-Z\d+\-.]*:\/\//.test(T))window.location.href=T;else D.current?.(T)}else window.location.reload()},reload:(V)=>{if(V.to){let T=V.to;if(/^[a-zA-Z][a-zA-Z\d+\-.]*:\/\//.test(T))window.location.href=T;else D.current?.(T)}else window.location.reload()}}),[]);return ff.jsx(ff.Fragment,{children:ff.jsx(w,{card:"IOEventsCard",data:f,useCentrifugeSupport:H,useSocketioSupport:Z,useMittSupport:U,centrifugeChannel:$,methods:J,children:ff.jsx(yf.ToastContainer,{})})})},sH=UZ;var iH=W({name:"IOEventsCard",component:sH,metadata:{author:"Swarm.ing"}});var Of=require("react");var ef=require("react/jsx-runtime"),ZZ=({data:f})=>{let{name:H,key:Z,value:U,useSocketioSupport:$,useCentrifugeSupport:z,useMittSupport:D,centrifugeChannel:J}=f,[V,T]=Of.useState(U);return Of.useEffect(()=>{T(U)},[U]),Of.useEffect(()=>{if(typeof window>"u")return;sessionStorage.setItem(Z,V)},[Z,V]),ef.jsx(w,{card:"SessionStorageCard",data:f,useSocketioSupport:$,useCentrifugeSupport:z,useMittSupport:D,centrifugeChannel:J,methods:{update:({value:X})=>{T(X)},remove:()=>{sessionStorage.removeItem(Z),T("")}},children:ef.jsx("input",{type:"hidden",id:H,name:H,value:V})})},tH=ZZ;var aH=W({name:"SessionStorageCard",component:tH,metadata:{author:"PieData"}});var Bf=require("react");var fH=require("react/jsx-runtime"),$Z=({data:f})=>{let{name:H,key:Z,value:U,useSocketioSupport:$,useCentrifugeSupport:z,useMittSupport:D,centrifugeChannel:J}=f,[V,T]=Bf.useState(U);return Bf.useEffect(()=>{T(U)},[U]),Bf.useEffect(()=>{if(typeof window>"u")return;localStorage.setItem(Z,V)},[Z,V]),fH.jsx(w,{card:"DeviceStorageCard",data:f,useSocketioSupport:$,useCentrifugeSupport:z,useMittSupport:D,centrifugeChannel:J,methods:{update:({value:X})=>{T(X)},remove:()=>{localStorage.removeItem(Z),T("")}},children:fH.jsx("input",{type:"hidden",id:H,name:H,value:V})})},eH=$Z;var fU=W({name:"DeviceStorageCard",component:eH,metadata:{author:"PieData"}});var If=require("react");var HH=require("react/jsx-runtime"),DZ=({data:f})=>{let{name:H,key:Z,value:U,useSocketioSupport:$,useCentrifugeSupport:z,useMittSupport:D,centrifugeChannel:J}=f,[V,T]=If.useState(U);return If.useEffect(()=>{T(U)},[U]),If.useEffect(()=>{if(typeof window>"u")return;let X=window.Telegram?.WebApp?.CloudStorage;if(!X)return;X.setItem(Z,V)},[Z,V]),HH.jsx(w,{card:"CloudStorageCard",data:f,useSocketioSupport:$,useCentrifugeSupport:z,useMittSupport:D,centrifugeChannel:J,methods:{update:({value:X})=>{T(X)},remove:()=>{let X=window.Telegram?.WebApp?.CloudStorage;if(X)X.removeItem(Z);T("")}},children:HH.jsx("input",{type:"hidden",id:H,name:H,value:V})})},HU=DZ;var UU=W({name:"CloudStorageCard",component:HU,metadata:{author:"PieData"}});var _f=require("react");var UH=require("react/jsx-runtime"),zZ=({data:f})=>{let{name:H,key:Z,value:U,useSocketioSupport:$,useCentrifugeSupport:z,useMittSupport:D,centrifugeChannel:J}=f,[V,T]=_f.useState(U);return _f.useEffect(()=>{T(U)},[U]),_f.useEffect(()=>{if(typeof window>"u")return;let X=window.Telegram?.WebApp?.SecureStorage;if(!X)return;X.setItem(Z,V)},[Z,V]),UH.jsx(w,{card:"SecureStorageCard",data:f,useSocketioSupport:$,useCentrifugeSupport:z,useMittSupport:D,centrifugeChannel:J,methods:{update:({value:X})=>{T(X)},remove:()=>{let X=window.Telegram?.WebApp?.SecureStorage;if(X)X.removeItem(Z);T("")}},children:UH.jsx("input",{type:"hidden",id:H,name:H,value:V})})},ZU=zZ;var $U=W({name:"SecureStorageCard",component:ZU,metadata:{author:"PieData"}});var M=require("react");var ZH=require("react/jsx-runtime"),VZ=({data:f,content:H})=>{let{useLoader:Z,noReturn:U,returnType:$,useSocketioSupport:z,useCentrifugeSupport:D,useMittSupport:J,centrifugeChannel:V}=f,T=M.useContext(F),X=M.useContext(k)??C,[B,Q]=M.useState(!1),[q,G]=M.useState(null),I=M.useRef(H),Y=M.useContext(E),O=M.useCallback((P)=>{if(P===null)Q(!0);else if(Q(!1),!U)I.current=P;if(!U)G(P)},[U]),K=M.useCallback((P)=>{I.current=P.content,G(P.content)},[]),_=M.useCallback((P)=>{if(P===null)Q(!0);else if(Q(!1),!U)for(let Qf of P)Y?.emit(Qf.name,Qf.data)},[U,Y]);if(M.useEffect(()=>{G(H),Q(!1)},[H]),!q&&Z)return T;return ZH.jsx(w,{card:"AjaxGroupCard",data:f,methods:{changeContent:K},useSocketioSupport:z,useCentrifugeSupport:D,useMittSupport:J,centrifugeChannel:V,children:ZH.jsx(X,{uiConfig:q??I.current,setUiAjaxConfiguration:$==="events"?_:O})})},DU=VZ;var zU=W({name:"AjaxGroupCard",component:DU,metadata:{author:"Swarm.ing",description:"Group card with AJAX support"}});var $H=require("react");var Ef=require("react/jsx-runtime"),TZ=({data:f,content:H,setUiAjaxConfiguration:Z})=>{let{name:U,url:$,sx:z}=f,D=$H.useContext(m),J=$H.useContext(k)??C;return Ef.jsx(w,{card:U,data:f,children:Ef.jsx("div",{style:z,id:U,onClick:(T)=>{if($)if(T.stopPropagation(),/^[a-zA-Z][a-zA-Z\d+\-.]*:\/\//.test($))window.location.href=$;else D?.($)},children:Ef.jsx(J,{setUiAjaxConfiguration:Z,uiConfig:H})})})},VU=TZ;var TU=W({name:"BoxCard",component:VU,metadata:{author:"Swarm.ing",description:"Simple div with styles joining few components"}});var JU=require("react");var kf=require("react/jsx-runtime"),JZ=({data:f,content:H,setUiAjaxConfiguration:Z})=>{let{name:U,sx:$}=f,z=JU.useContext(k)??C;return kf.jsx(w,{card:U,data:f,children:kf.jsx("div",{style:$,id:U,children:H.map((D,J)=>{return kf.jsx(z,{uiConfig:D,setUiAjaxConfiguration:Z},`children-${J}`)})})})},YU=JZ;var XU=W({name:"OneOfCard",component:YU,metadata:{author:"Swarm.ing",description:"Different variants"}});var Zf=require("react"),$f=require("@tanstack/react-query");var of=require("react");var df=require("react"),mf=new Map,jf=new Map;function xf(f,H){let Z=`${f}::${H}`,U=f?mf.get(Z):void 0,[$,z]=df.useState(U??null);return df.useEffect(()=>{if(!f)return;if(mf.has(Z)){z(mf.get(Z));return}let D=jf.get(Z);if(!D)D=fetch(f+`api/support/${H}`,{method:"GET"}).then((V)=>V.json()).then((V)=>{return mf.set(Z,V),jf.delete(Z),V}).catch((V)=>{throw jf.delete(Z),V}),jf.set(Z,D);let J=!1;return D.then((V)=>{if(!J)z(V)}).catch(()=>{}),()=>{J=!0}},[f,H,Z]),$}var DH=null,qU=null;function GU(){qU?.()}function zH(){if(typeof window>"u")return Promise.resolve();if(typeof window.sid<"u")return Promise.resolve();if(!DH)DH=new Promise((f)=>{qU=()=>{f()}});return DH}var YZ=({children:f})=>{let H=of.useContext(y),Z=Pf(),U=xf(Z,"socketIO"),$=(z)=>{if(typeof window<"u")window.sid=z.sid,GU(),console.log(`SocketIO initialized: ${window.sid}`)};return of.useEffect(()=>{if(!H)return;let z=()=>{console.log("SocketIO connected")},D=(J)=>{console.log(`SocketIO disconnected: ${J}`),H.connect()};if(U)H.on("pieinit",$),H.on("connect",z),H.on("disconnect",D),H.connect();return()=>{if(U)H.off("pieinit",$),H.off("connect",z),H.off("disconnect",D),H.disconnect()}},[H,U]),f},l=YZ;var bf=require("react");var XZ=({children:f})=>{let H=bf.useContext(A),Z=Pf(),U=xf(Z,"centrifuge");return bf.useEffect(()=>{if(!H)return;let $=()=>{console.log("Centrifuge connected")},z=(D)=>{console.log("Centrifuge disconnected:",D)};if(U)H.on("connected",$),H.on("disconnected",z),H.connect();return()=>{if(U)H.disconnect()}},[H,U]),f},r=XZ;var BU=require("axios-date-transformer");var OU=require("react/jsx-runtime");function Uf(f,H,Z){if(!H)return Z;let U=f.replace(/^\//,""),$=H[U];if(!$)return Z;return OU.jsx(Sf,{uiConfig:$})}var R=require("react/jsx-runtime"),qZ=({location:f,fallback:H,piecache:Z,onError:U,queryOptions:$,disableGlobalForm:z})=>{let D=u(),J=g(),V=j(),T=Zf.useMemo(()=>BU.createAxiosDateTransformer({baseURL:D||""}),[D]),X=Zf.useMemo(()=>o(),[]),B=Zf.useMemo(()=>D?h(D):null,[D]),Q=Zf.useMemo(()=>D?c(D,J):null,[D,J]),{data:q,isLoading:G,error:I}=$f.useQuery({queryKey:["uiConfig",f.pathname+f.search,D],enabled:!!D,queryFn:async()=>{let O=new URLSearchParams(f.search);O.set("__pieroot","web");let K="/api/content"+f.pathname+"?"+O.toString();if(V)console.log("[PieRoot] Fetching UI configuration from:",K);let _=await T.get(K,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET,PUT,POST,DELETE,PATCH,OPTIONS","Content-type":"application/json"},withCredentials:!0});if(V)console.log("[PieRoot] Received UI configuration:",_.data);return _.data},staleTime:1/0,gcTime:1/0,refetchOnWindowFocus:!1,refetchOnMount:!1,refetchOnReconnect:!1,retry:!0,retryDelay:(O)=>Math.min(1000*2**O,30000),...$}),Y=Uf(f.pathname,Z,H);if(!D)return Y??null;if(V)console.log("[PieRoot] Rendering with location:",f),console.log("[PieRoot] API_SERVER:",D),console.log("[PieRoot] CENTRIFUGE_SERVER:",J),console.log("[PieRoot] Fallback provided:",!!H),console.log("[PieRoot] Piecache provided:",!!Z);if(I){if(V)console.error("[PieRoot] Error fetching UI configuration:",I),console.error("[PieRoot] Error details:",{message:I.message,status:I.response?.status,data:I.response?.data});return U?.(),Y}if(G||!q){if(V)console.log("[PieRoot] Loading state:",{isLoading:G,hasUiConfiguration:!!q});return Y}if(V)console.log("[PieRoot] UI configuration loaded successfully:",q),console.log("[PieRoot] Rendering UI with configuration");return R.jsx(E.Provider,{value:X,children:R.jsx(y.Provider,{value:B,children:R.jsx(A.Provider,{value:Q,children:R.jsx(F.Provider,{value:H??R.jsx(R.Fragment,{}),children:R.jsx(l,{children:R.jsx(r,{children:z?R.jsx(C,{uiConfig:q}):R.jsx("form",{id:"piedata_global_form",action:D+"api/process"+f.pathname,method:"post",encType:"multipart/form-data",children:R.jsx(C,{uiConfig:q})})})})})})})})},GZ=(f)=>{let H=Zf.useMemo(()=>new $f.QueryClient,[]);return R.jsx(m.Provider,{value:f.onNavigate,children:R.jsx(x.Provider,{value:f.config,children:R.jsx($f.QueryClientProvider,{client:H,children:R.jsx(qZ,{...f})})})})},IU=GZ;var Df=require("react"),zf=require("@tanstack/react-query");var _U=require("axios-date-transformer");var uf=require("react");var vf=({onError:f}={})=>{let[H,Z]=uf.useState(null),U=OH();return uf.useEffect(()=>{if(typeof window>"u")return;let $=window.Telegram?.WebApp;if(!$)return;try{$.ready?.()}catch(z){f?.()}if(U==="telegram_expanded"&&($.platform==="ios"||$.platform==="android"))$.expand();Z($)},[]),H};var S=require("react/jsx-runtime"),OZ=({location:f,fallback:H,piecache:Z,onError:U,queryOptions:$,disableGlobalForm:z})=>{let D=u(),J=g(),V=j(),T=Df.useMemo(()=>_U.createAxiosDateTransformer({baseURL:D}),[D]),X=Df.useMemo(()=>o(),[]),B=Df.useMemo(()=>D?h(D):null,[D]),Q=Df.useMemo(()=>D?c(D,J):null,[D,J]),q=vf({onError:U}),{data:G,isLoading:I,error:Y}=zf.useQuery({queryKey:["uiConfig",f.pathname+f.search,q?.initData],enabled:!!q?.initData,queryFn:async()=>{let K=new URLSearchParams(f.search);if(K.set("__pieroot","telegram"),q?.initData)K.set("initData",q.initData);let _="/api/content"+f.pathname+"?"+K.toString();if(V)console.log("[PieRoot] Fetching UI configuration from:",_);let P=await T.get(_,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET,PUT,POST,DELETE,PATCH,OPTIONS","Content-type":"application/json"},withCredentials:!0});if(V)console.log("[PieRoot] Received UI configuration:",P.data);return P.data},staleTime:1/0,gcTime:1/0,refetchOnWindowFocus:!1,refetchOnMount:!1,refetchOnReconnect:!1,retry:!0,retryDelay:(K)=>Math.min(1000*2**K,30000),...$}),O=Uf(f.pathname,Z,H);if(!D)throw Error("Set PIE_API_SERVER and PIE_CENTRIFUGE_SERVER");if(Y&&V)return console.error("[PieRoot] Error fetching UI configuration:",Y),console.error("[PieRoot] Error details:",{message:Y.message,status:Y.response?.status,data:Y.response?.data}),U?.(),O;if(I||!G){if(V)console.log("[PieRoot] Loading state:",{isLoading:I,hasUiConfiguration:!!G});return O}if(V)console.log("[PieRoot] UI configuration loaded successfully:",G),console.log("[PieRoot] Rendering UI with configuration");return S.jsx(E.Provider,{value:X,children:S.jsx(y.Provider,{value:B,children:S.jsx(A.Provider,{value:Q,children:S.jsx(F.Provider,{value:H??S.jsx(S.Fragment,{}),children:S.jsx(l,{children:S.jsx(r,{children:z?S.jsx(C,{uiConfig:G}):S.jsx("form",{id:"piedata_global_form",action:D+"api/process"+f.pathname,method:"post",encType:"multipart/form-data",children:S.jsx(C,{uiConfig:G})})})})})})})})},BZ=(f)=>{let H=Df.useMemo(()=>new zf.QueryClient,[]);return S.jsx(m.Provider,{value:f.onNavigate,children:S.jsx(x.Provider,{value:f.config,children:S.jsx(zf.QueryClientProvider,{client:H,children:S.jsx(OZ,{...f})})})})},QU=BZ;var Vf=require("react"),gf=require("@tanstack/react-query");var N=require("react/jsx-runtime"),IZ=({location:f,fallback:H,children:Z,disableGlobalForm:U})=>{let $=u(),z=g(),D=j(),J=Vf.useMemo(()=>o(),[]),V=Vf.useMemo(()=>$?h($):null,[$]),T=Vf.useMemo(()=>$?c($,z):null,[$,z]);if(D)console.log("[PieRoot] Rendering with location:",f),console.log("[PieRoot] API_SERVER:",$),console.log("[PieRoot] CENTRIFUGE_SERVER:",z),console.log("[PieRoot] Fallback provided:",!!H);return N.jsx(E.Provider,{value:J,children:N.jsx(y.Provider,{value:V,children:N.jsx(A.Provider,{value:T,children:N.jsx(F.Provider,{value:H??N.jsx(N.Fragment,{}),children:N.jsx(l,{children:N.jsx(r,{children:U?Z:N.jsx("form",{id:"piedata_global_form",action:$+"api/process"+f.pathname,method:"post",encType:"multipart/form-data",children:Z})})})})})})})},_Z=(f)=>{let[H]=Vf.useState(()=>new gf.QueryClient);return N.jsx(m.Provider,{value:f.onNavigate,children:N.jsx(x.Provider,{value:f.config,children:N.jsx(gf.QueryClientProvider,{client:H,children:N.jsx(IZ,{...f})})})})},KU=_Z;var Tf=require("react"),Jf=require("@tanstack/react-query");var WU=require("axios-date-transformer");var cf=require("react"),hf=()=>{let[f,H]=cf.useState(null);return cf.useEffect(()=>{if(typeof window>"u")return;let Z=window.WebApp;if(!Z)return;Z.ready(),H(Z)},[]),f};var L=require("react/jsx-runtime"),QZ=({location:f,fallback:H,piecache:Z,onError:U,queryOptions:$,disableGlobalForm:z})=>{let D=u(),J=g(),V=j(),T=Tf.useMemo(()=>WU.createAxiosDateTransformer({baseURL:D}),[D]),X=Tf.useMemo(()=>o(),[]),B=Tf.useMemo(()=>D?h(D):null,[D]),Q=Tf.useMemo(()=>D?c(D,J):null,[D,J]),q=hf(),{data:G,isLoading:I,error:Y}=Jf.useQuery({queryKey:["uiConfig",f.pathname+f.search,q?.initData],queryFn:async()=>{let K=new URLSearchParams(f.search);if(K.set("__pieroot","max"),q?.initData)K.set("initData",q.initData);let _="/api/content"+f.pathname+"?"+K.toString();if(V)console.log("[PieRoot] Fetching UI configuration from:",_);let P=await T.get(_,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET,PUT,POST,DELETE,PATCH,OPTIONS","Content-type":"application/json"},withCredentials:!0});if(V)console.log("[PieRoot] Received UI configuration:",P.data);return P.data},enabled:!!q?.initData,staleTime:1/0,gcTime:1/0,refetchOnWindowFocus:!1,refetchOnMount:!1,refetchOnReconnect:!1,retry:!0,retryDelay:(K)=>Math.min(1000*2**K,30000),...$}),O=Uf(f.pathname,Z,H);if(!D)throw Error("Set PIE_API_SERVER and PIE_CENTRIFUGE_SERVER");if(Y&&V)return console.error("[PieRoot] Error fetching UI configuration:",Y),console.error("[PieRoot] Error details:",{message:Y.message,status:Y.response?.status,data:Y.response?.data}),U?.(),O;if(I||!G){if(V)console.log("[PieRoot] Loading state:",{isLoading:I,hasUiConfiguration:!!G});return O}if(V)console.log("[PieRoot] UI configuration loaded successfully:",G),console.log("[PieRoot] Rendering UI with configuration");return L.jsx(E.Provider,{value:X,children:L.jsx(y.Provider,{value:B,children:L.jsx(A.Provider,{value:Q,children:L.jsx(F.Provider,{value:H??L.jsx(L.Fragment,{}),children:L.jsx(l,{children:L.jsx(r,{children:z?L.jsx(C,{uiConfig:G}):L.jsx("form",{id:"piedata_global_form",action:D+"api/process"+f.pathname,method:"post",encType:"multipart/form-data",children:L.jsx(C,{uiConfig:G})})})})})})})})},KZ=(f)=>{let H=Tf.useMemo(()=>new Jf.QueryClient,[]);return L.jsx(m.Provider,{value:f.onNavigate,children:L.jsx(x.Provider,{value:f.config,children:L.jsx(Jf.QueryClientProvider,{client:H,children:L.jsx(QZ,{...f})})})})},PU=KZ;var wU=require("react"),VH=(f,H=!1)=>{if(f==="sid"){if(!window.sid)throw Error("SocketIO isn't initialized properly");return[window.sid]}let Z=document.getElementsByName(f);if(!Z.length){if(H)console.warn(`No input found with name ${f}`);return[]}let U=Z[0];if(U instanceof HTMLInputElement){if(U.type==="file"&&U.files)return Array.from(U.files);return[U.value]}if(U instanceof HTMLTextAreaElement)return[U.value];return[]},WZ=(f,H={},Z=[],U,$)=>{let z=$?.renderingLogEnabled??!1,D=$?.timeout,J=$?.retryPolicy,V=J?.maxRetries??0,T=J?.baseDelay??1000,X=J?.retryOn??[502,503,504];if(z)console.log("Registering AJAX: ",U,H,Z);return async(B={})=>{if(typeof window>"u"||typeof document>"u"){if(z)console.warn("getAjaxSubmit called on server, skipping DOM-dependent logic");return}let Q=$?.apiServer;if(!Q){if(z)console.warn("AJAX skipped: apiServer is missing");return}if(!U||!f){if(z)console.warn("AJAX skipped: pathname or setUiAjaxConfiguration is missing");return}if(Z.includes("sid"))await zH();let q=new FormData;for(let[Y,O]of Object.entries({...H,...B}))q.append(Y,O);for(let Y of Z)for(let O of VH(Y,z))q.append(Y,O);let G=Q+"api/ajax_content"+U;f(null);let I;for(let Y=0;Y<=V;Y++){if(Y>0){let _=T*2**(Y-1);if(z)console.log(`AJAX retry ${Y}/${V} after ${_}ms`);await new Promise((P)=>setTimeout(P,_))}let O=D!=null?new AbortController:null,K=O&&setTimeout(()=>O.abort(),D);try{let _=await fetch(G,{method:"POST",body:q,signal:O?.signal});if(K)clearTimeout(K);if(!_.ok&&X.includes(_.status)&&Y<V){I=Error(`HTTP ${_.status}`);continue}let Qf=(_.headers.get("content-type")||"").includes("application/json");if(!!_.body?.getReader&&!Qf){let Kf=_.body.getReader(),NU=new TextDecoder,n="";while(!0){let{done:pf,value:AU}=await Kf.read();if(pf)break;n+=NU.decode(AU,{stream:!0});let TH=n.split(`
3
+ `);n=TH.pop()??"";for(let yU of TH){let lf=yU.trim();if(!lf)continue;try{let EU=JSON.parse(lf);f([EU])}catch{if(z)console.warn("Failed to parse streamed line:",lf)}}}if(n.trim())try{let pf=JSON.parse(n);f([pf])}catch{if(z)console.warn("Failed to parse final streamed line:",n)}return{}}else{let Kf=await _.json();return f(Kf),Kf}}catch(_){if(K)clearTimeout(K);if(I=_,Y<V)continue;if(z)console.error("AJAX request failed:",_);return f(null),_}}if(z)console.error("AJAX request failed after retries:",I);return f(null),I}},CU=(f,H={},Z=[],U,$)=>{let{apiServer:z,enableRenderingLog:D}=s(),J=JSON.stringify(H),V=JSON.stringify(Z),T=JSON.stringify($);return wU.useMemo(()=>WZ(f,H,Z,U,{apiServer:z,renderingLogEnabled:D,timeout:$?.timeout,retryPolicy:$?.retryPolicy}),[f,J,V,U,z,D,T])};var FU=require("clsx"),RU=require("tailwind-merge");function SU(...f){return RU.twMerge(FU.clsx(f))}var LU=()=>{if(typeof document>"u")return;let f=document.getElementById("piedata_global_form");f&&f.submit()};var MU=(f,H)=>`${f}${wf}${H}`;
@@ -13,8 +13,8 @@ export type PieStorybookProvidersProps = {
13
13
  emitter?: SBEmitter;
14
14
  pieConfig?: Partial<typeof STORYBOOK_PIE_CONFIG>;
15
15
  };
16
- export declare const PieStorybookProviders: ({ children, emitter, pieConfig, }: PieStorybookProvidersProps) => import("react/jsx-runtime").JSX.Element;
17
- export declare const withPieCard: (Story: (props?: unknown) => ReactNode) => import("react/jsx-runtime").JSX.Element;
16
+ export declare const PieStorybookProviders: ({ children, emitter, pieConfig, }: PieStorybookProvidersProps) => import("react").JSX.Element;
17
+ export declare const withPieCard: (Story: (props?: unknown) => ReactNode) => import("react").JSX.Element;
18
18
  export declare const firePieMethod: (emitter: SBEmitter, cardName: string, methodName: string, payload: unknown) => void;
19
19
  export type PieMethodTriggerProps = {
20
20
  card: string;
@@ -22,7 +22,7 @@ export type PieMethodTriggerProps = {
22
22
  payload?: unknown;
23
23
  label?: string;
24
24
  };
25
- export declare const PieMethodTrigger: ({ card, method, payload, label, }: PieMethodTriggerProps) => import("react/jsx-runtime").JSX.Element;
25
+ export declare const PieMethodTrigger: ({ card, method, payload, label, }: PieMethodTriggerProps) => import("react").JSX.Element;
26
26
  export { PIECARD_PARAM_KEY, PIE_STORYBOOK_FIRE_EVENT } from './addon/constants';
27
27
  export type { PieMethodSpec, PieCardParams } from './addon/constants';
28
28
  export declare const PieStorybookChannelBridge: () => null;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storybook/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEH,SAAS,EAKZ,MAAM,OAAO,CAAA;AAEd,OAAa,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAgBpC,QAAA,MAAM,oBAAoB;;;;;CAKzB,CAAA;AAcD,KAAK,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;AAIjD,eAAO,MAAM,sBAAsB,QAAO,SAQzC,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG;IACrC,QAAQ,EAAE,SAAS,CAAA;IACnB,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC,OAAO,oBAAoB,CAAC,CAAA;CACnD,CAAA;AAED,eAAO,MAAM,qBAAqB,GAAI,mCAInC,0BAA0B,4CA6B5B,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,SAAS,4CAKhE,CAAA;AAKD,eAAO,MAAM,aAAa,GACtB,SAAS,SAAS,EAClB,UAAU,MAAM,EAChB,YAAY,MAAM,EAClB,SAAS,OAAO,KACjB,IAEF,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,mCAK9B,qBAAqB,4CAoBvB,CAAA;AAED,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AAC/E,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAgBrE,eAAO,MAAM,yBAAyB,YAyBrC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storybook/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEH,SAAS,EAKZ,MAAM,OAAO,CAAA;AAEd,OAAa,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAgBpC,QAAA,MAAM,oBAAoB;;;;;CAKzB,CAAA;AAcD,KAAK,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;AAIjD,eAAO,MAAM,sBAAsB,QAAO,SAQzC,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG;IACrC,QAAQ,EAAE,SAAS,CAAA;IACnB,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC,OAAO,oBAAoB,CAAC,CAAA;CACnD,CAAA;AAED,eAAO,MAAM,qBAAqB,GAAI,mCAInC,0BAA0B,gCA6B5B,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,SAAS,gCAKhE,CAAA;AAKD,eAAO,MAAM,aAAa,GACtB,SAAS,SAAS,EAClB,UAAU,MAAM,EAChB,YAAY,MAAM,EAClB,SAAS,OAAO,KACjB,IAEF,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,mCAK9B,qBAAqB,gCAoBvB,CAAA;AAED,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AAC/E,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAgBrE,eAAO,MAAM,yBAAyB,YAyBrC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@swarm.ing/pieui",
3
- "version": "2.0.33",
3
+ "version": "2.0.34",
4
4
  "description": "A React component library featuring PieCard component",
5
5
  "repository": {
6
6
  "type": "git",
@@ -29,6 +29,11 @@
29
29
  "require": "./dist/components/index.js",
30
30
  "types": "./dist/components/index.d.ts"
31
31
  },
32
+ "./agent": {
33
+ "import": "./dist/agent/index.esm.js",
34
+ "require": "./dist/agent/index.js",
35
+ "types": "./dist/agent/index.d.ts"
36
+ },
32
37
  "./storybook": {
33
38
  "import": "./dist/storybook/index.esm.js",
34
39
  "require": "./dist/storybook/index.js",
@@ -46,13 +51,15 @@
46
51
  }
47
52
  },
48
53
  "scripts": {
49
- "build": "rm -rf ./dist && rm -rf pieui-*.tgz && bun run build:clean && NODE_ENV=production bun run build:esm && NODE_ENV=production bun run build:cjs && NODE_ENV=production bun run build:components:esm && NODE_ENV=production bun run build:components:cjs && NODE_ENV=production bun run build:storybook:esm && NODE_ENV=production bun run build:storybook:cjs && NODE_ENV=production bun run build:storybook:addon:esm && NODE_ENV=production bun run build:storybook:addon:cjs && NODE_ENV=production bun run build:storybook:addon:preset && bun run build:banner && NODE_ENV=production bun run build:types && NODE_ENV=production bun run build:cli && bun src/cli.ts postbuild --src-dir src --out-dir dist && bun pm pack",
50
- "build:banner": "node -e \"const fs=require('fs');['dist/index.esm.js','dist/index.js','dist/components/index.esm.js','dist/components/index.js','dist/storybook/index.esm.js','dist/storybook/index.js','dist/storybook/addon/index.esm.js','dist/storybook/addon/index.js'].forEach(f=>{if(fs.existsSync(f)){fs.writeFileSync(f,'\\\"use client\\\";\\n'+fs.readFileSync(f,'utf8'))}})\"",
54
+ "build": "rm -rf ./dist && rm -rf pieui-*.tgz && bun run build:clean && NODE_ENV=production bun run build:esm && NODE_ENV=production bun run build:cjs && NODE_ENV=production bun run build:components:esm && NODE_ENV=production bun run build:components:cjs && NODE_ENV=production bun run build:agent:esm && NODE_ENV=production bun run build:agent:cjs && NODE_ENV=production bun run build:storybook:esm && NODE_ENV=production bun run build:storybook:cjs && NODE_ENV=production bun run build:storybook:addon:esm && NODE_ENV=production bun run build:storybook:addon:cjs && NODE_ENV=production bun run build:storybook:addon:preset && bun run build:banner && NODE_ENV=production bun run build:types && NODE_ENV=production bun run build:cli && bun src/cli.ts postbuild --src-dir src --out-dir dist && bun pm pack",
55
+ "build:banner": "node -e \"const fs=require('fs');['dist/index.esm.js','dist/index.js','dist/components/index.esm.js','dist/components/index.js','dist/agent/index.esm.js','dist/agent/index.js','dist/storybook/index.esm.js','dist/storybook/index.js','dist/storybook/addon/index.esm.js','dist/storybook/addon/index.js'].forEach(f=>{if(fs.existsSync(f)){fs.writeFileSync(f,'\\\"use client\\\";\\n'+fs.readFileSync(f,'utf8'))}})\"",
51
56
  "build:clean": "rm -rf dist",
52
57
  "build:esm": "bun build src/index.ts --outfile dist/index.esm.js --format esm --target browser --jsx=automatic --jsx-import-source=react --minify --packages=external",
53
58
  "build:cjs": "bun build src/index.ts --outfile dist/index.js --format cjs --target node --jsx=automatic --jsx-import-source=react --minify --packages=external",
54
59
  "build:components:esm": "bun build src/components/index.ts --outfile dist/components/index.esm.js --format esm --target browser --jsx=automatic --jsx-import-source=react --minify --packages=external",
55
60
  "build:components:cjs": "bun build src/components/index.ts --outfile dist/components/index.js --format cjs --target node --jsx=automatic --jsx-import-source=react --minify --packages=external",
61
+ "build:agent:esm": "bun build src/agent/index.ts --outfile dist/agent/index.esm.js --format esm --target browser --jsx=automatic --jsx-import-source=react --minify --packages=external",
62
+ "build:agent:cjs": "bun build src/agent/index.ts --outfile dist/agent/index.js --format cjs --target node --jsx=automatic --jsx-import-source=react --minify --packages=external",
56
63
  "build:storybook:esm": "bun build src/storybook/index.tsx --outfile dist/storybook/index.esm.js --format esm --target browser --jsx=automatic --jsx-import-source=react --minify --packages=external",
57
64
  "build:storybook:cjs": "bun build src/storybook/index.tsx --outfile dist/storybook/index.js --format cjs --target node --jsx=automatic --jsx-import-source=react --minify --packages=external",
58
65
  "build:storybook:addon:esm": "bun build src/storybook/addon/index.tsx --outfile dist/storybook/addon/index.esm.js --format esm --target browser --jsx=automatic --jsx-import-source=react --minify --packages=external",