@ganju/utils 0.0.15 → 0.0.16

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 (57) hide show
  1. package/dist/constants.d.ts +23 -0
  2. package/dist/constants.d.ts.map +1 -1
  3. package/dist/constants.js +95 -8
  4. package/dist/data.d.ts +9 -0
  5. package/dist/data.d.ts.map +1 -0
  6. package/dist/data.js +78 -0
  7. package/dist/dataApi.d.ts +511 -0
  8. package/dist/dataApi.d.ts.map +1 -0
  9. package/dist/dataApi.js +355 -0
  10. package/dist/dataCompiler.d.ts +68 -0
  11. package/dist/dataCompiler.d.ts.map +1 -0
  12. package/dist/dataCompiler.js +726 -0
  13. package/dist/dataDdl.d.ts +29 -0
  14. package/dist/dataDdl.d.ts.map +1 -0
  15. package/dist/dataDdl.js +354 -0
  16. package/dist/dataEngine.d.ts +143 -0
  17. package/dist/dataEngine.d.ts.map +1 -0
  18. package/dist/dataEngine.js +2022 -0
  19. package/dist/dataIdentifiers.d.ts +8 -0
  20. package/dist/dataIdentifiers.d.ts.map +1 -0
  21. package/dist/dataIdentifiers.js +55 -0
  22. package/dist/dataImport.d.ts +77 -0
  23. package/dist/dataImport.d.ts.map +1 -0
  24. package/dist/dataImport.js +450 -0
  25. package/dist/dataRpc.d.ts +131 -0
  26. package/dist/dataRpc.d.ts.map +1 -0
  27. package/dist/dataRpc.js +2 -0
  28. package/dist/dataTypes.d.ts +157 -0
  29. package/dist/dataTypes.d.ts.map +1 -0
  30. package/dist/dataTypes.js +160 -0
  31. package/dist/index.d.ts +308 -6
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +2 -0
  34. package/dist/oauth.d.ts +14 -0
  35. package/dist/oauth.d.ts.map +1 -1
  36. package/dist/oauth.js +42 -2
  37. package/dist/resourceRerank.d.ts +3 -2
  38. package/dist/resourceRerank.d.ts.map +1 -1
  39. package/dist/resourceRerank.js +5 -2
  40. package/dist/schema.d.ts +285 -4
  41. package/dist/schema.d.ts.map +1 -1
  42. package/dist/schema.js +203 -0
  43. package/package.json +17 -2
  44. package/src/constants.ts +108 -8
  45. package/src/data.ts +74 -0
  46. package/src/dataApi.ts +428 -0
  47. package/src/dataCompiler.ts +948 -0
  48. package/src/dataDdl.ts +419 -0
  49. package/src/dataEngine.ts +2753 -0
  50. package/src/dataIdentifiers.ts +63 -0
  51. package/src/dataImport.ts +554 -0
  52. package/src/dataRpc.ts +121 -0
  53. package/src/dataTypes.ts +312 -0
  54. package/src/index.ts +4 -0
  55. package/src/oauth.ts +42 -1
  56. package/src/resourceRerank.ts +5 -2
  57. package/src/schema.ts +246 -0
package/dist/index.d.ts CHANGED
@@ -33,7 +33,7 @@ import type { InstructionWarning, LabelledToolResult } from './untrustedContent'
33
33
  import type { ParticipantMemory, ParticipantMemoryUpdate } from './channelCustomer';
34
34
  import type { LintableTool, ToolLintFinding, ToolLintOptions, ToolLintRule } from './toolLint';
35
35
  import type { Source, ResourceUrlContext, SourceButton } from './sources';
36
- import { OAuthReauthRequiredError } from './oauth';
36
+ import { OAuthReauthRequiredError, OAuthRefreshError } from './oauth';
37
37
  import type { RefreshOAuthTokenInput, RefreshedOAuthToken } from './oauth';
38
38
  import { PlanLimitError } from './planLimitError';
39
39
  import type { PlanLimitDetails } from './planLimitError';
@@ -200,7 +200,6 @@ export declare const utils: {
200
200
  }, import("zod/v4/core").$strip>;
201
201
  ARTIFACT_CREATE_PROMPT_VIEW: import("zod").ZodObject<{
202
202
  description: import("zod").ZodOptional<import("zod").ZodString>;
203
- title: import("zod").ZodString;
204
203
  schema: import("zod").ZodObject<{
205
204
  type: import("zod").ZodEnum<{
206
205
  [x: string]: string;
@@ -215,6 +214,7 @@ export declare const utils: {
215
214
  pattern: import("zod").ZodOptional<import("zod").ZodString>;
216
215
  enum: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodAny>>;
217
216
  }, import("zod/v4/core").$strip>;
217
+ title: import("zod").ZodString;
218
218
  messages: import("zod").ZodArray<import("zod").ZodObject<{
219
219
  role: import("zod").ZodEnum<{
220
220
  user: "user";
@@ -254,7 +254,6 @@ export declare const utils: {
254
254
  }, import("zod/v4/core").$strip>;
255
255
  ARTIFACT_UPDATE_PROMPT_VIEW: import("zod").ZodObject<{
256
256
  description: import("zod").ZodOptional<import("zod").ZodString>;
257
- title: import("zod").ZodString;
258
257
  schema: import("zod").ZodObject<{
259
258
  type: import("zod").ZodEnum<{
260
259
  [x: string]: string;
@@ -269,6 +268,7 @@ export declare const utils: {
269
268
  pattern: import("zod").ZodOptional<import("zod").ZodString>;
270
269
  enum: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodAny>>;
271
270
  }, import("zod/v4/core").$strip>;
271
+ title: import("zod").ZodString;
272
272
  messages: import("zod").ZodArray<import("zod").ZodObject<{
273
273
  role: import("zod").ZodEnum<{
274
274
  user: "user";
@@ -429,12 +429,12 @@ export declare const utils: {
429
429
  }>>;
430
430
  content: import("zod").ZodOptional<import("zod").ZodString>;
431
431
  description: import("zod").ZodOptional<import("zod").ZodString>;
432
+ size: import("zod").ZodOptional<import("zod").ZodNumber>;
432
433
  title: import("zod").ZodString;
433
434
  crawlConfig: import("zod").ZodOptional<import("zod").ZodObject<{
434
435
  maxPages: import("zod").ZodDefault<import("zod").ZodNumber>;
435
436
  maxDepth: import("zod").ZodDefault<import("zod").ZodNumber>;
436
437
  }, import("zod/v4/core").$strip>>;
437
- size: import("zod").ZodOptional<import("zod").ZodNumber>;
438
438
  encoding: import("zod").ZodOptional<import("zod").ZodString>;
439
439
  fileKey: import("zod").ZodOptional<import("zod").ZodString>;
440
440
  annotations: import("zod").ZodOptional<import("zod").ZodObject<{
@@ -690,8 +690,8 @@ export declare const utils: {
690
690
  }>>;
691
691
  content: import("zod").ZodOptional<import("zod").ZodString>;
692
692
  description: import("zod").ZodOptional<import("zod").ZodString>;
693
- title: import("zod").ZodString;
694
693
  size: import("zod").ZodOptional<import("zod").ZodNumber>;
694
+ title: import("zod").ZodString;
695
695
  encoding: import("zod").ZodOptional<import("zod").ZodString>;
696
696
  fileKey: import("zod").ZodOptional<import("zod").ZodString>;
697
697
  annotations: import("zod").ZodOptional<import("zod").ZodObject<{
@@ -723,6 +723,287 @@ export declare const utils: {
723
723
  userId: import("zod").ZodUUID;
724
724
  organizationId: import("zod").ZodUUID;
725
725
  }, import("zod/v4/core").$strip>;
726
+ DATA_DATABASE_GET: import("zod").ZodObject<{
727
+ projectId: import("zod").ZodUUID;
728
+ userId: import("zod").ZodUUID;
729
+ organizationId: import("zod").ZodUUID;
730
+ }, import("zod/v4/core").$strip>;
731
+ DATA_DATABASE_CREATE: import("zod").ZodObject<{
732
+ projectId: import("zod").ZodUUID;
733
+ userId: import("zod").ZodUUID;
734
+ organizationId: import("zod").ZodUUID;
735
+ name: import("zod").ZodOptional<import("zod").ZodString>;
736
+ replaceDeleted: import("zod").ZodOptional<import("zod").ZodBoolean>;
737
+ }, import("zod/v4/core").$strip>;
738
+ DATA_DATABASE_DELETE: import("zod").ZodObject<{
739
+ projectId: import("zod").ZodUUID;
740
+ userId: import("zod").ZodUUID;
741
+ organizationId: import("zod").ZodUUID;
742
+ confirmName: import("zod").ZodString;
743
+ }, import("zod/v4/core").$strip>;
744
+ DATA_COLUMN_INPUT: import("zod").ZodObject<{
745
+ name: import("zod").ZodString;
746
+ type: import("zod").ZodEnum<{
747
+ boolean: "boolean";
748
+ email: "email";
749
+ json: "json";
750
+ text: "text";
751
+ long_text: "long_text";
752
+ integer: "integer";
753
+ decimal: "decimal";
754
+ date: "date";
755
+ datetime: "datetime";
756
+ enum: "enum";
757
+ url: "url";
758
+ phone: "phone";
759
+ relation: "relation";
760
+ file: "file";
761
+ }>;
762
+ label: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
763
+ description: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
764
+ required: import("zod").ZodOptional<import("zod").ZodBoolean>;
765
+ unique: import("zod").ZodOptional<import("zod").ZodBoolean>;
766
+ filterable: import("zod").ZodOptional<import("zod").ZodBoolean>;
767
+ searchable: import("zod").ZodOptional<import("zod").ZodBoolean>;
768
+ personal: import("zod").ZodOptional<import("zod").ZodBoolean>;
769
+ values: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
770
+ table: import("zod").ZodOptional<import("zod").ZodString>;
771
+ onDelete: import("zod").ZodOptional<import("zod").ZodEnum<{
772
+ restrict: "restrict";
773
+ cascade: "cascade";
774
+ set_null: "set_null";
775
+ }>>;
776
+ min: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
777
+ default: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodNumber, import("zod").ZodBoolean, import("zod").ZodNull]>>;
778
+ }, import("zod/v4/core").$strict>;
779
+ DATA_TABLE_INPUT: import("zod").ZodObject<{
780
+ name: import("zod").ZodString;
781
+ label: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
782
+ description: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
783
+ displayColumn: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
784
+ access: import("zod").ZodOptional<import("zod").ZodEnum<{
785
+ none: "none";
786
+ read: "read";
787
+ add: "add";
788
+ full: "full";
789
+ }>>;
790
+ customerScoped: import("zod").ZodOptional<import("zod").ZodBoolean>;
791
+ history: import("zod").ZodOptional<import("zod").ZodBoolean>;
792
+ columns: import("zod").ZodArray<import("zod").ZodObject<{
793
+ name: import("zod").ZodString;
794
+ type: import("zod").ZodEnum<{
795
+ boolean: "boolean";
796
+ email: "email";
797
+ json: "json";
798
+ text: "text";
799
+ long_text: "long_text";
800
+ integer: "integer";
801
+ decimal: "decimal";
802
+ date: "date";
803
+ datetime: "datetime";
804
+ enum: "enum";
805
+ url: "url";
806
+ phone: "phone";
807
+ relation: "relation";
808
+ file: "file";
809
+ }>;
810
+ label: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
811
+ description: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
812
+ required: import("zod").ZodOptional<import("zod").ZodBoolean>;
813
+ unique: import("zod").ZodOptional<import("zod").ZodBoolean>;
814
+ filterable: import("zod").ZodOptional<import("zod").ZodBoolean>;
815
+ searchable: import("zod").ZodOptional<import("zod").ZodBoolean>;
816
+ personal: import("zod").ZodOptional<import("zod").ZodBoolean>;
817
+ values: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
818
+ table: import("zod").ZodOptional<import("zod").ZodString>;
819
+ onDelete: import("zod").ZodOptional<import("zod").ZodEnum<{
820
+ restrict: "restrict";
821
+ cascade: "cascade";
822
+ set_null: "set_null";
823
+ }>>;
824
+ min: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
825
+ default: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodNumber, import("zod").ZodBoolean, import("zod").ZodNull]>>;
826
+ }, import("zod/v4/core").$strict>>;
827
+ }, import("zod/v4/core").$strict>;
828
+ DATA_TABLE_PATCH: import("zod").ZodObject<{
829
+ name: import("zod").ZodOptional<import("zod").ZodString>;
830
+ label: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>>;
831
+ description: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>>;
832
+ displayColumn: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>>;
833
+ access: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodEnum<{
834
+ none: "none";
835
+ read: "read";
836
+ add: "add";
837
+ full: "full";
838
+ }>>>;
839
+ customerScoped: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodBoolean>>;
840
+ history: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodBoolean>>;
841
+ }, import("zod/v4/core").$strict>;
842
+ DATA_COLUMN_PATCH: import("zod").ZodObject<{
843
+ name: import("zod").ZodOptional<import("zod").ZodString>;
844
+ type: import("zod").ZodOptional<import("zod").ZodEnum<{
845
+ boolean: "boolean";
846
+ email: "email";
847
+ json: "json";
848
+ text: "text";
849
+ long_text: "long_text";
850
+ integer: "integer";
851
+ decimal: "decimal";
852
+ date: "date";
853
+ datetime: "datetime";
854
+ enum: "enum";
855
+ url: "url";
856
+ phone: "phone";
857
+ relation: "relation";
858
+ file: "file";
859
+ }>>;
860
+ label: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>>;
861
+ description: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>>;
862
+ required: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodBoolean>>;
863
+ unique: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodBoolean>>;
864
+ filterable: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodBoolean>>;
865
+ searchable: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodBoolean>>;
866
+ personal: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodBoolean>>;
867
+ values: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>>;
868
+ table: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodString>>;
869
+ onDelete: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodEnum<{
870
+ restrict: "restrict";
871
+ cascade: "cascade";
872
+ set_null: "set_null";
873
+ }>>>;
874
+ min: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>>;
875
+ default: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodNumber, import("zod").ZodBoolean, import("zod").ZodNull]>>>;
876
+ }, import("zod/v4/core").$strict>;
877
+ DATA_TABLE_DROP_BODY: import("zod").ZodObject<{
878
+ confirmName: import("zod").ZodString;
879
+ }, import("zod/v4/core").$strict>;
880
+ DATA_ROW_LIST_QUERY: import("zod").ZodObject<{
881
+ where: import("zod").ZodOptional<import("zod").ZodPipe<import("zod").ZodString, import("zod").ZodTransform<unknown, string>>>;
882
+ sort: import("zod").ZodOptional<import("zod").ZodPipe<import("zod").ZodString, import("zod").ZodTransform<string[], string>>>;
883
+ include: import("zod").ZodOptional<import("zod").ZodPipe<import("zod").ZodString, import("zod").ZodTransform<string[], string>>>;
884
+ limit: import("zod").ZodOptional<import("zod").ZodCoercedNumber<unknown>>;
885
+ cursor: import("zod").ZodOptional<import("zod").ZodString>;
886
+ q: import("zod").ZodOptional<import("zod").ZodString>;
887
+ timeZone: import("zod").ZodOptional<import("zod").ZodString>;
888
+ }, import("zod/v4/core").$strict>;
889
+ DATA_ROW_GET_QUERY: import("zod").ZodObject<{
890
+ timeZone: import("zod").ZodOptional<import("zod").ZodString>;
891
+ include: import("zod").ZodOptional<import("zod").ZodPipe<import("zod").ZodString, import("zod").ZodTransform<string[], string>>>;
892
+ }, import("zod/v4/core").$strict>;
893
+ DATA_ROW_CREATE_BODY: import("zod").ZodUnion<readonly [import("zod").ZodObject<{
894
+ values: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>;
895
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
896
+ rows: import("zod").ZodArray<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
897
+ }, import("zod/v4/core").$strict>]>;
898
+ DATA_ROW_UPDATE_BODY: import("zod").ZodObject<{
899
+ set: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>;
900
+ version: import("zod").ZodOptional<import("zod").ZodNumber>;
901
+ }, import("zod/v4/core").$strict>;
902
+ DATA_ROW_DELETE_BODY: import("zod").ZodObject<{
903
+ version: import("zod").ZodOptional<import("zod").ZodNumber>;
904
+ }, import("zod/v4/core").$strict>;
905
+ DATA_DELETE_PREVIEW_BODY: import("zod").ZodObject<{
906
+ ids: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodNumber>>;
907
+ }, import("zod/v4/core").$strict>;
908
+ DATA_WRITE_OPERATION: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
909
+ op: import("zod").ZodLiteral<"insert">;
910
+ table: import("zod").ZodString;
911
+ values: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
912
+ rows: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>>;
913
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
914
+ set: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>;
915
+ table: import("zod").ZodString;
916
+ id: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodNumber, import("zod").ZodObject<{
917
+ $ref: import("zod").ZodNumber;
918
+ }, import("zod/v4/core").$strict>]>>;
919
+ where: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
920
+ expect: import("zod").ZodOptional<import("zod").ZodNumber>;
921
+ version: import("zod").ZodOptional<import("zod").ZodNumber>;
922
+ op: import("zod").ZodLiteral<"update">;
923
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
924
+ table: import("zod").ZodString;
925
+ id: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodNumber, import("zod").ZodObject<{
926
+ $ref: import("zod").ZodNumber;
927
+ }, import("zod/v4/core").$strict>]>>;
928
+ where: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
929
+ expect: import("zod").ZodOptional<import("zod").ZodNumber>;
930
+ version: import("zod").ZodOptional<import("zod").ZodNumber>;
931
+ op: import("zod").ZodLiteral<"delete">;
932
+ }, import("zod/v4/core").$strict>], "op">;
933
+ DATA_WRITE_BODY: import("zod").ZodObject<{
934
+ operations: import("zod").ZodArray<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
935
+ op: import("zod").ZodLiteral<"insert">;
936
+ table: import("zod").ZodString;
937
+ values: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
938
+ rows: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>>;
939
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
940
+ set: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>;
941
+ table: import("zod").ZodString;
942
+ id: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodNumber, import("zod").ZodObject<{
943
+ $ref: import("zod").ZodNumber;
944
+ }, import("zod/v4/core").$strict>]>>;
945
+ where: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
946
+ expect: import("zod").ZodOptional<import("zod").ZodNumber>;
947
+ version: import("zod").ZodOptional<import("zod").ZodNumber>;
948
+ op: import("zod").ZodLiteral<"update">;
949
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
950
+ table: import("zod").ZodString;
951
+ id: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodNumber, import("zod").ZodObject<{
952
+ $ref: import("zod").ZodNumber;
953
+ }, import("zod/v4/core").$strict>]>>;
954
+ where: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
955
+ expect: import("zod").ZodOptional<import("zod").ZodNumber>;
956
+ version: import("zod").ZodOptional<import("zod").ZodNumber>;
957
+ op: import("zod").ZodLiteral<"delete">;
958
+ }, import("zod/v4/core").$strict>], "op">>;
959
+ }, import("zod/v4/core").$strict>;
960
+ DATA_ROW_HISTORY_QUERY: import("zod").ZodObject<{
961
+ limit: import("zod").ZodOptional<import("zod").ZodCoercedNumber<unknown>>;
962
+ cursor: import("zod").ZodOptional<import("zod").ZodCoercedNumber<unknown>>;
963
+ timeZone: import("zod").ZodOptional<import("zod").ZodString>;
964
+ }, import("zod/v4/core").$strict>;
965
+ DATA_RESTORE_POINT_BODY: import("zod").ZodUnion<readonly [import("zod").ZodObject<{
966
+ timestamp: import("zod").ZodUnion<readonly [import("zod").ZodISODateTime, import("zod").ZodNumber]>;
967
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
968
+ bookmark: import("zod").ZodString;
969
+ }, import("zod/v4/core").$strict>]>;
970
+ DATA_EXPORT_BODY: import("zod").ZodObject<{
971
+ format: import("zod").ZodOptional<import("zod").ZodEnum<{
972
+ csv: "csv";
973
+ jsonl: "jsonl";
974
+ }>>;
975
+ }, import("zod/v4/core").$strict>;
976
+ DATA_EXPORT_QUERY: import("zod").ZodObject<{
977
+ exportId: import("zod").ZodOptional<import("zod").ZodUUID>;
978
+ }, import("zod/v4/core").$strict>;
979
+ DATA_EXPORT_FILE_QUERY: import("zod").ZodObject<{
980
+ exportId: import("zod").ZodUUID;
981
+ table: import("zod").ZodOptional<import("zod").ZodString>;
982
+ }, import("zod/v4/core").$strict>;
983
+ DATA_CHANGE_LIST_QUERY: import("zod").ZodObject<{
984
+ limit: import("zod").ZodOptional<import("zod").ZodCoercedNumber<unknown>>;
985
+ cursor: import("zod").ZodOptional<import("zod").ZodUUID>;
986
+ }, import("zod/v4/core").$strict>;
987
+ DATA_TABLE_PARAMS: import("zod").ZodObject<{
988
+ projectId: import("zod").ZodUUID;
989
+ userId: import("zod").ZodUUID;
990
+ organizationId: import("zod").ZodUUID;
991
+ table: import("zod").ZodString;
992
+ }, import("zod/v4/core").$strip>;
993
+ DATA_COLUMN_PARAMS: import("zod").ZodObject<{
994
+ projectId: import("zod").ZodUUID;
995
+ userId: import("zod").ZodUUID;
996
+ organizationId: import("zod").ZodUUID;
997
+ table: import("zod").ZodString;
998
+ column: import("zod").ZodString;
999
+ }, import("zod/v4/core").$strip>;
1000
+ DATA_ROW_PARAMS: import("zod").ZodObject<{
1001
+ projectId: import("zod").ZodUUID;
1002
+ userId: import("zod").ZodUUID;
1003
+ organizationId: import("zod").ZodUUID;
1004
+ table: import("zod").ZodString;
1005
+ id: import("zod").ZodCoercedNumber<unknown>;
1006
+ }, import("zod/v4/core").$strip>;
726
1007
  ARTIFACT_REMOVE_RESOURCE: import("zod").ZodObject<{
727
1008
  resourceId: import("zod").ZodUUID;
728
1009
  projectId: import("zod").ZodUUID;
@@ -1926,6 +2207,20 @@ export declare const utils: {
1926
2207
  PRICING_TOOL_CALL_PER_M_USD: number;
1927
2208
  PRICING_TOOL_CALL_HARD_CAP: number;
1928
2209
  PRICING_CUSTOM_DOMAIN_USD: number;
2210
+ DATA_MAX_DATABASE_BYTES: number;
2211
+ DATA_MAX_TABLES_PER_DATABASE: number;
2212
+ DATA_TRIGGER_RUN_HARD_CAP: number;
2213
+ DATA_DELETE_GRACE_DAYS: number;
2214
+ DATA_PURGE_BATCH: number;
2215
+ DATA_ACTIVITY_THROTTLE_MS: number;
2216
+ ARTIFACT_DATABASE_STATUS_CREATING: "CREATING";
2217
+ ARTIFACT_DATABASE_STATUS_READY: "READY";
2218
+ ARTIFACT_DATABASE_STATUS_FAILED: "FAILED";
2219
+ ARTIFACT_DATABASE_STATUS_DELETING: "DELETING";
2220
+ ARTIFACT_DATABASE_STATUS_PURGING: "PURGING";
2221
+ ARTIFACT_DATABASE_STATUS_DELETED: "DELETED";
2222
+ DATA_PURGE_STALE_MS: number;
2223
+ ARTIFACT_DATABASE_STATUSES: ("FAILED" | "CREATING" | "READY" | "DELETING" | "PURGING" | "DELETED")[];
1929
2224
  PLAN_FEATURE_ORGANIZATION: "organization";
1930
2225
  PLAN_FEATURE_PROJECT: "project";
1931
2226
  PLAN_FEATURE_TOOL: "tool";
@@ -1940,6 +2235,7 @@ export declare const utils: {
1940
2235
  PLAN_FEATURE_MESSAGE: "message";
1941
2236
  PLAN_FEATURE_TOOL_CALL: "toolCall";
1942
2237
  PLAN_FEATURE_RESOURCE_SYNC: "resourceSync";
2238
+ PLAN_FEATURE_DATA: "data";
1943
2239
  PLAN_LIMIT_ERROR_CODE: string;
1944
2240
  BILLING_METER_MESSAGES: string;
1945
2241
  BILLING_METER_SHARED_MESSAGES: string;
@@ -2033,6 +2329,7 @@ export declare const utils: {
2033
2329
  SLACK_OAUTH_TOKEN_URL: string;
2034
2330
  OAUTH_TOKEN_URLS: Record<string, string>;
2035
2331
  CREDENTIAL_REFRESH_BUFFER_MS: number;
2332
+ CREDENTIAL_REFRESH_GIVE_UP_MS: number;
2036
2333
  GOOGLE_CALENDAR_API_BASE: string;
2037
2334
  GOOGLE_DRIVE_API_BASE: string;
2038
2335
  GOOGLE_DRIVE_DEFAULT_PAGE_SIZE: number;
@@ -2074,6 +2371,7 @@ export declare const utils: {
2074
2371
  label: string;
2075
2372
  }[];
2076
2373
  REAUTH_ERROR_CODES: string[];
2374
+ OAUTH_CLIENT_ERROR_CODES: string[];
2077
2375
  RESOURCE_TYPE_TOOLTIP_MIN_WIDTH: number;
2078
2376
  SEARCH_DEBOUNCE_MS: number;
2079
2377
  GOOGLE_DRIVE_EXPORT_MIME_TYPES: Record<string, string>;
@@ -2309,6 +2607,7 @@ export declare const utils: {
2309
2607
  RESOURCE_SEARCH_RRF_K: number;
2310
2608
  RESOURCE_SEARCH_COMMON_TERM_DIVISOR: number;
2311
2609
  RESOURCE_SEARCH_COMMON_TERM_MIN: number;
2610
+ RESOURCE_SEARCH_RERANK_ENABLED: boolean;
2312
2611
  RESOURCE_SEARCH_RERANK_CANDIDATES: number;
2313
2612
  RESOURCE_SEARCH_RERANK_MODEL: string;
2314
2613
  RESOURCE_SEARCH_EXACT_MAX_RESOURCES: number;
@@ -2497,6 +2796,7 @@ export declare const utils: {
2497
2796
  CUSTOM_CODE_RESOURCE_FILE_TOO_LARGE_MESSAGE: string;
2498
2797
  RESERVED_SLUGS: string[];
2499
2798
  MCP_INTERNAL_HEADER: string;
2799
+ MCP_EVAL_RERANK_HEADER: string;
2500
2800
  MCP_CHANNEL_ID_HEADER: string;
2501
2801
  MCP_CHANNEL_PLATFORM_HEADER: string;
2502
2802
  MCP_CHANNEL_CONVERSATION_HEADER: string;
@@ -3166,7 +3466,7 @@ export declare const utils: {
3166
3466
  }) => PreparedChunk[];
3167
3467
  isEmbeddableMimeType: (mimeType: string) => boolean;
3168
3468
  l2Normalize: (values: number[]) => number[];
3169
- createResourceReranker: (source: EnvSource) => ((query: string, documents: string[]) => Promise<number[] | null>) | undefined;
3469
+ createResourceReranker: (source: EnvSource, enabled?: boolean) => ((query: string, documents: string[]) => Promise<number[] | null>) | undefined;
3170
3470
  sleep: (ms: number) => Promise<void>;
3171
3471
  isRateLimitError: (err: unknown) => boolean;
3172
3472
  withRateLimitRetry: <T>(fn: () => Promise<T>, options?: RateLimitRetryOptions) => Promise<T>;
@@ -3328,6 +3628,8 @@ export declare const utils: {
3328
3628
  selectCitedSources: (sources: Source[], answerText: string) => Source[];
3329
3629
  refreshOAuthToken: (input: RefreshOAuthTokenInput) => Promise<RefreshedOAuthToken>;
3330
3630
  OAuthReauthRequiredError: typeof OAuthReauthRequiredError;
3631
+ OAuthRefreshError: typeof OAuthRefreshError;
3632
+ refreshFailureReauthReason: (err: unknown, expiresAt: Date | null, now?: number) => string | null;
3331
3633
  buildReauthMetadata: (previous: Record<string, unknown> | null, reason: string) => Record<string, unknown>;
3332
3634
  clearReauthMetadata: (previous: Record<string, unknown> | null) => Record<string, unknown> | null;
3333
3635
  isCredentialNeedingReauth: (metadata: unknown) => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,sBAAsB,EACtB,kBAAkB,EAClB,sBAAsB,EACtB,0BAA0B,EAC1B,wBAAwB,EACxB,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,wBAAwB,EACzB,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAyCvD,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACpB,iCAAiC,EAClC,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,8BAA8B,EAC/B,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,gCAAgC,EACjC,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACpB,iCAAiC,EAClC,MAAM,gBAAgB,CAAC;AAKxB,OAAO,EACL,UAAU,EAGX,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG9D,OAAO,EAIL,kBAAkB,EAEnB,MAAM,cAAc,CAAC;AAStB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAKhE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAElE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAG5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAM3D,OAAO,KAAK,EACV,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,oBAAoB,CAAC;AAW5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,cAAc,CAAC;AAmBtB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AASvD,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,qBAAqB,EACrB,eAAe,EACf,YAAY,EACZ,OAAO,EACR,MAAM,eAAe,CAAC;AAiBvB,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAI1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAErD,OAAO,EAAE,iBAAiB,EAAuB,MAAM,gBAAgB,CAAC;AACxE,OAAO,KAAK,EACV,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,yBAAyB,EAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACV,iBAAiB,EACjB,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAO1E,OAAO,KAAK,EACV,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAmB3B,OAAO,KAAK,EACV,uBAAuB,EACvB,wBAAwB,EACxB,UAAU,EACV,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAkB5B,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAkC5B,OAAO,KAAK,EACV,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,mBAAmB,CAAC;AAO3B,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EACf,eAAe,EACf,YAAY,EACb,MAAM,YAAY,CAAC;AASpB,OAAO,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE1E,OAAO,EAEL,wBAAwB,EACxB,iBAAiB,EAKlB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAS3E,OAAO,EAAE,cAAc,EAAoB,MAAM,kBAAkB,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
package/dist/index.js CHANGED
@@ -255,6 +255,8 @@ exports.utils = {
255
255
  selectCitedSources: citations_1.selectCitedSources,
256
256
  refreshOAuthToken: oauth_1.refreshOAuthToken,
257
257
  OAuthReauthRequiredError: oauth_1.OAuthReauthRequiredError,
258
+ OAuthRefreshError: oauth_1.OAuthRefreshError,
259
+ refreshFailureReauthReason: oauth_1.refreshFailureReauthReason,
258
260
  buildReauthMetadata: oauth_1.buildReauthMetadata,
259
261
  clearReauthMetadata: oauth_1.clearReauthMetadata,
260
262
  isCredentialNeedingReauth: oauth_1.isCredentialNeedingReauth,
package/dist/oauth.d.ts CHANGED
@@ -14,8 +14,22 @@ export declare class OAuthReauthRequiredError extends Error {
14
14
  readonly code: string;
15
15
  constructor(code: string);
16
16
  }
17
+ export declare class OAuthRefreshError extends Error {
18
+ readonly status: number;
19
+ readonly code: string | undefined;
20
+ constructor(status: number, code: string | undefined, body: string);
21
+ }
17
22
  export declare const refreshOAuthToken: (input: RefreshOAuthTokenInput) => Promise<RefreshedOAuthToken>;
18
23
  export declare const buildReauthMetadata: (previous: Record<string, unknown> | null, reason: string) => Record<string, unknown>;
19
24
  export declare const clearReauthMetadata: (previous: Record<string, unknown> | null) => Record<string, unknown> | null;
25
+ /**
26
+ * Why a failed refresh should flag the credential for a reconnect, or null
27
+ * when it shouldn't. A reauth code flags it at once. Any other rejection
28
+ * (4xx) flags it only once the access token has been expired for
29
+ * CREDENTIAL_REFRESH_GIVE_UP_MS, so a one-off doesn't. Never flagged: an
30
+ * outage (5xx), a network error, rate limiting (429), and errors about our
31
+ * own client id / secret, which no reconnect can fix.
32
+ */
33
+ export declare const refreshFailureReauthReason: (err: unknown, expiresAt: Date | null, now?: number) => string | null;
20
34
  export declare const isCredentialNeedingReauth: (metadata: unknown) => boolean;
21
35
  //# sourceMappingURL=oauth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,wBAAyB,SAAQ,KAAK;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEV,IAAI,EAAE,MAAM;CAKzB;AAUD,eAAO,MAAM,iBAAiB,GAC5B,OAAO,sBAAsB,KAC5B,OAAO,CAAC,mBAAmB,CAsC7B,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,UAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EACxC,QAAQ,MAAM,KACb,MAAM,CAAC,MAAM,EAAE,OAAO,CAKvB,CAAC;AAEH,eAAO,MAAM,mBAAmB,GAC9B,UAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,KACvC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAO5B,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,UAAU,OAAO,KAAG,OAG7D,CAAC"}
1
+ {"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,wBAAyB,SAAQ,KAAK;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEV,IAAI,EAAE,MAAM;CAKzB;AAKD,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;gBAEtB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM;CAMnE;AAUD,eAAO,MAAM,iBAAiB,GAC5B,OAAO,sBAAsB,KAC5B,OAAO,CAAC,mBAAmB,CAsC7B,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,UAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EACxC,QAAQ,MAAM,KACb,MAAM,CAAC,MAAM,EAAE,OAAO,CAKvB,CAAC;AAEH,eAAO,MAAM,mBAAmB,GAC9B,UAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,KACvC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAO5B,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,GACrC,KAAK,OAAO,EACZ,WAAW,IAAI,GAAG,IAAI,EACtB,YAAgB,KACf,MAAM,GAAG,IAYX,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,UAAU,OAAO,KAAG,OAG7D,CAAC"}
package/dist/oauth.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isCredentialNeedingReauth = exports.clearReauthMetadata = exports.buildReauthMetadata = exports.refreshOAuthToken = exports.OAuthReauthRequiredError = void 0;
3
+ exports.isCredentialNeedingReauth = exports.refreshFailureReauthReason = exports.clearReauthMetadata = exports.buildReauthMetadata = exports.refreshOAuthToken = exports.OAuthRefreshError = exports.OAuthReauthRequiredError = void 0;
4
4
  const constants_1 = require("./constants");
5
5
  class OAuthReauthRequiredError extends Error {
6
6
  code;
@@ -11,6 +11,20 @@ class OAuthReauthRequiredError extends Error {
11
11
  }
12
12
  }
13
13
  exports.OAuthReauthRequiredError = OAuthReauthRequiredError;
14
+ // The token endpoint answered with an error that isn't a reauth code. `status`
15
+ // tells a rejection (4xx) from an outage (5xx); a network failure never gets
16
+ // here, it throws fetch's own error.
17
+ class OAuthRefreshError extends Error {
18
+ status;
19
+ code;
20
+ constructor(status, code, body) {
21
+ super(`oauth refresh failed (${status}): ${body}`);
22
+ this.name = 'OAuthRefreshError';
23
+ this.status = status;
24
+ this.code = code;
25
+ }
26
+ }
27
+ exports.OAuthRefreshError = OAuthRefreshError;
14
28
  const parseErrorCode = (body) => {
15
29
  try {
16
30
  return JSON.parse(body)?.error;
@@ -36,7 +50,7 @@ const refreshOAuthToken = async (input) => {
36
50
  if (code && constants_1.constants.REAUTH_ERROR_CODES.includes(code)) {
37
51
  throw new OAuthReauthRequiredError(code);
38
52
  }
39
- throw new Error(`oauth refresh failed (${response.status}): ${body}`);
53
+ throw new OAuthRefreshError(response.status, code, body);
40
54
  }
41
55
  const tokens = (await response.json());
42
56
  if (!tokens.access_token) {
@@ -67,6 +81,32 @@ const clearReauthMetadata = (previous) => {
67
81
  return Object.keys(next).length > 0 ? next : null;
68
82
  };
69
83
  exports.clearReauthMetadata = clearReauthMetadata;
84
+ /**
85
+ * Why a failed refresh should flag the credential for a reconnect, or null
86
+ * when it shouldn't. A reauth code flags it at once. Any other rejection
87
+ * (4xx) flags it only once the access token has been expired for
88
+ * CREDENTIAL_REFRESH_GIVE_UP_MS, so a one-off doesn't. Never flagged: an
89
+ * outage (5xx), a network error, rate limiting (429), and errors about our
90
+ * own client id / secret, which no reconnect can fix.
91
+ */
92
+ const refreshFailureReauthReason = (err, expiresAt, now = Date.now()) => {
93
+ if (err instanceof OAuthReauthRequiredError)
94
+ return err.code;
95
+ if (!(err instanceof OAuthRefreshError))
96
+ return null;
97
+ if (err.status < 400 || err.status >= 500 || err.status === 429)
98
+ return null;
99
+ if (err.code && constants_1.constants.OAUTH_CLIENT_ERROR_CODES.includes(err.code)) {
100
+ return null;
101
+ }
102
+ if (!expiresAt)
103
+ return null;
104
+ if (now - expiresAt.getTime() < constants_1.constants.CREDENTIAL_REFRESH_GIVE_UP_MS) {
105
+ return null;
106
+ }
107
+ return err.code ? `refresh_rejected:${err.code}` : 'refresh_rejected';
108
+ };
109
+ exports.refreshFailureReauthReason = refreshFailureReauthReason;
70
110
  const isCredentialNeedingReauth = (metadata) => {
71
111
  if (!metadata || typeof metadata !== 'object')
72
112
  return false;
@@ -9,12 +9,13 @@ export interface RerankAiBinding {
9
9
  }): Promise<unknown>;
10
10
  }
11
11
  /**
12
- * The cross-encoder second stage for resource search, or undefined when the
12
+ * The cross-encoder second stage for resource search, or undefined when it is
13
+ * off (RESOURCE_SEARCH_RERANK_ENABLED, unless `enabled` overrides it) or the
13
14
  * Worker has no `AI` binding — local dev without Workers AI keeps plain fusion.
14
15
  *
15
16
  * Returns one score per document, in input order. A response that doesn't
16
17
  * cover every document returns null, which keeps the fused order — a partial
17
18
  * ranking would silently drop the chunks it left out.
18
19
  */
19
- export declare const createResourceReranker: (source: EnvSource) => ((query: string, documents: string[]) => Promise<number[] | null>) | undefined;
20
+ export declare const createResourceReranker: (source: EnvSource, enabled?: boolean) => ((query: string, documents: string[]) => Promise<number[] | null>) | undefined;
20
21
  //# sourceMappingURL=resourceRerank.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resourceRerank.d.ts","sourceRoot":"","sources":["../src/resourceRerank.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAI1C,MAAM,WAAW,eAAe;IAC9B,GAAG,CACD,KAAK,EAAE,MAAM,EACb,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1E,OAAO,CAAC,OAAO,CAAC,CAAC;CACrB;AAMD;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,GACjC,QAAQ,SAAS,KAEf,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,GAClE,SA6BH,CAAC"}
1
+ {"version":3,"file":"resourceRerank.d.ts","sourceRoot":"","sources":["../src/resourceRerank.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAI1C,MAAM,WAAW,eAAe;IAC9B,GAAG,CACD,KAAK,EAAE,MAAM,EACb,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1E,OAAO,CAAC,OAAO,CAAC,CAAC;CACrB;AAMD;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,GACjC,QAAQ,SAAS,EACjB,UAAS,OAAkD,KAEzD,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,GAClE,SA8BH,CAAC"}
@@ -3,14 +3,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createResourceReranker = void 0;
4
4
  const constants_1 = require("./constants");
5
5
  /**
6
- * The cross-encoder second stage for resource search, or undefined when the
6
+ * The cross-encoder second stage for resource search, or undefined when it is
7
+ * off (RESOURCE_SEARCH_RERANK_ENABLED, unless `enabled` overrides it) or the
7
8
  * Worker has no `AI` binding — local dev without Workers AI keeps plain fusion.
8
9
  *
9
10
  * Returns one score per document, in input order. A response that doesn't
10
11
  * cover every document returns null, which keeps the fused order — a partial
11
12
  * ranking would silently drop the chunks it left out.
12
13
  */
13
- const createResourceReranker = (source) => {
14
+ const createResourceReranker = (source, enabled = constants_1.constants.RESOURCE_SEARCH_RERANK_ENABLED) => {
15
+ if (!enabled)
16
+ return undefined;
14
17
  const ai = source.env?.AI;
15
18
  if (!ai)
16
19
  return undefined;