@teamkeel/functions-runtime 0.419.0 → 0.420.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -690,6 +690,17 @@ interface UiElementInputScanApiResponse extends BaseUiMinimalInputResponse<"ui.i
690
690
  duplicateHandling: ScanDuplicateMode;
691
691
  }
692
692
 
693
+ type UiElementFile = DisplayElementWithRequiredConfig<{
694
+ title?: string;
695
+ file: File;
696
+ }>;
697
+ interface UiElementFileApiResponse extends BaseUiDisplayResponse<"ui.display.file"> {
698
+ title: string;
699
+ file?: FileDbRecord & {
700
+ url: string;
701
+ };
702
+ }
703
+
693
704
  interface UI<C extends FlowConfig> {
694
705
  page: UiPage<C>;
695
706
  display: UiDisplayElements;
@@ -720,6 +731,7 @@ type UiDisplayElements = {
720
731
  list: UiElementList;
721
732
  table: UiElementTable;
722
733
  keyValue: UiElementKeyValue;
734
+ file: UiElementFile;
723
735
  };
724
736
  type UiInteractiveElements = {
725
737
  print: UiElementPrint;
@@ -787,6 +799,7 @@ type UIApiResponses = {
787
799
  list: UiElementListApiResponse;
788
800
  table: UiElementTableApiResponse;
789
801
  keyValue: UiElementKeyValueApiResponse;
802
+ file: UiElementFileApiResponse;
790
803
  };
791
804
  input: {
792
805
  text: UiElementInputTextApiResponse;
@@ -805,7 +818,7 @@ type UIApiResponses = {
805
818
  pickList: UiElementPickListApiResponse;
806
819
  };
807
820
  };
808
- type UiElementApiResponse = UiElementDividerApiResponse | UiElementMarkdownApiResponse | UiElementHeaderApiResponse | UiElementBannerApiResponse | UiElementImageApiResponse | UiElementCodeApiResponse | UiElementGridApiResponse | UiElementListApiResponse | UiElementTableApiResponse | UiElementKeyValueApiResponse | UiElementInputTextApiResponse | UiElementInputNumberApiResponse | UiElementInputBooleanApiResponse | UiElementInputDataGridApiResponse | UiElementInputScanApiResponse | UiElementSelectOneApiResponse | UiElementSelectTableApiResponse | UiElementIteratorApiResponse | UiElementPrintApiResponse | UiElementPickListApiResponse;
821
+ type UiElementApiResponse = UiElementDividerApiResponse | UiElementMarkdownApiResponse | UiElementHeaderApiResponse | UiElementBannerApiResponse | UiElementImageApiResponse | UiElementCodeApiResponse | UiElementGridApiResponse | UiElementListApiResponse | UiElementTableApiResponse | UiElementKeyValueApiResponse | UiElementFileApiResponse | UiElementInputTextApiResponse | UiElementInputNumberApiResponse | UiElementInputBooleanApiResponse | UiElementInputDataGridApiResponse | UiElementInputScanApiResponse | UiElementSelectOneApiResponse | UiElementSelectTableApiResponse | UiElementIteratorApiResponse | UiElementPrintApiResponse | UiElementPickListApiResponse;
809
822
  type UiElementApiResponses = UiElementApiResponse[];
810
823
 
811
824
  declare class NonRetriableError extends Error {
package/dist/index.d.ts CHANGED
@@ -690,6 +690,17 @@ interface UiElementInputScanApiResponse extends BaseUiMinimalInputResponse<"ui.i
690
690
  duplicateHandling: ScanDuplicateMode;
691
691
  }
692
692
 
693
+ type UiElementFile = DisplayElementWithRequiredConfig<{
694
+ title?: string;
695
+ file: File;
696
+ }>;
697
+ interface UiElementFileApiResponse extends BaseUiDisplayResponse<"ui.display.file"> {
698
+ title: string;
699
+ file?: FileDbRecord & {
700
+ url: string;
701
+ };
702
+ }
703
+
693
704
  interface UI<C extends FlowConfig> {
694
705
  page: UiPage<C>;
695
706
  display: UiDisplayElements;
@@ -720,6 +731,7 @@ type UiDisplayElements = {
720
731
  list: UiElementList;
721
732
  table: UiElementTable;
722
733
  keyValue: UiElementKeyValue;
734
+ file: UiElementFile;
723
735
  };
724
736
  type UiInteractiveElements = {
725
737
  print: UiElementPrint;
@@ -787,6 +799,7 @@ type UIApiResponses = {
787
799
  list: UiElementListApiResponse;
788
800
  table: UiElementTableApiResponse;
789
801
  keyValue: UiElementKeyValueApiResponse;
802
+ file: UiElementFileApiResponse;
790
803
  };
791
804
  input: {
792
805
  text: UiElementInputTextApiResponse;
@@ -805,7 +818,7 @@ type UIApiResponses = {
805
818
  pickList: UiElementPickListApiResponse;
806
819
  };
807
820
  };
808
- type UiElementApiResponse = UiElementDividerApiResponse | UiElementMarkdownApiResponse | UiElementHeaderApiResponse | UiElementBannerApiResponse | UiElementImageApiResponse | UiElementCodeApiResponse | UiElementGridApiResponse | UiElementListApiResponse | UiElementTableApiResponse | UiElementKeyValueApiResponse | UiElementInputTextApiResponse | UiElementInputNumberApiResponse | UiElementInputBooleanApiResponse | UiElementInputDataGridApiResponse | UiElementInputScanApiResponse | UiElementSelectOneApiResponse | UiElementSelectTableApiResponse | UiElementIteratorApiResponse | UiElementPrintApiResponse | UiElementPickListApiResponse;
821
+ type UiElementApiResponse = UiElementDividerApiResponse | UiElementMarkdownApiResponse | UiElementHeaderApiResponse | UiElementBannerApiResponse | UiElementImageApiResponse | UiElementCodeApiResponse | UiElementGridApiResponse | UiElementListApiResponse | UiElementTableApiResponse | UiElementKeyValueApiResponse | UiElementFileApiResponse | UiElementInputTextApiResponse | UiElementInputNumberApiResponse | UiElementInputBooleanApiResponse | UiElementInputDataGridApiResponse | UiElementInputScanApiResponse | UiElementSelectOneApiResponse | UiElementSelectTableApiResponse | UiElementIteratorApiResponse | UiElementPrintApiResponse | UiElementPickListApiResponse;
809
822
  type UiElementApiResponses = UiElementApiResponse[];
810
823
 
811
824
  declare class NonRetriableError extends Error {
package/dist/index.js CHANGED
@@ -736,9 +736,9 @@ var InlineFile = class _InlineFile {
736
736
  const mime = info.split(";")[0];
737
737
  const name = info.split(";")[1].split("=")[1];
738
738
  const buffer = Buffer.from(data, "base64");
739
- const file = new _InlineFile({ filename: name, contentType: mime });
740
- file.write(buffer);
741
- return file;
739
+ const file2 = new _InlineFile({ filename: name, contentType: mime });
740
+ file2.write(buffer);
741
+ return file2;
742
742
  }
743
743
  // Gets size of the file's contents in bytes
744
744
  get size() {
@@ -2939,6 +2939,23 @@ var scan = /* @__PURE__ */ __name((name, options) => {
2939
2939
  };
2940
2940
  }, "scan");
2941
2941
 
2942
+ // src/flows/ui/elements/display/file.ts
2943
+ var file = /* @__PURE__ */ __name(async (options) => {
2944
+ const title = options.title || options.file.filename;
2945
+ const url = await options.file.getPresignedUrl();
2946
+ const metadata = await options.file.toJSON();
2947
+ return {
2948
+ uiConfig: {
2949
+ __type: "ui.display.file",
2950
+ title,
2951
+ file: metadata ? {
2952
+ url: url?.toString() || "",
2953
+ ...metadata
2954
+ } : void 0
2955
+ }
2956
+ };
2957
+ }, "file");
2958
+
2942
2959
  // src/flows/index.ts
2943
2960
  var STEP_STATUS = /* @__PURE__ */ ((STEP_STATUS2) => {
2944
2961
  STEP_STATUS2["NEW"] = "NEW";
@@ -3189,7 +3206,8 @@ function createFlowContext(runId, data, action, callback, element, spanId, ctx)
3189
3206
  code,
3190
3207
  grid,
3191
3208
  list,
3192
- keyValue
3209
+ keyValue,
3210
+ file
3193
3211
  },
3194
3212
  select: {
3195
3213
  one: selectOne,