lakesync 0.1.4 → 0.1.5

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 (46) hide show
  1. package/dist/adapter.js +2 -2
  2. package/dist/analyst.js +1 -1
  3. package/dist/catalogue.js +2 -2
  4. package/dist/{chunk-D7KSRAWK.js → chunk-46CKACNC.js} +2 -2
  5. package/dist/{chunk-B257DXIS.js → chunk-7UBS6MFH.js} +295 -1
  6. package/dist/chunk-7UBS6MFH.js.map +1 -0
  7. package/dist/{chunk-H3BD4SMD.js → chunk-B3QEUG6E.js} +2 -2
  8. package/dist/{chunk-6OCFE42A.js → chunk-L4ZL5JA7.js} +2 -2
  9. package/dist/{chunk-4LP2EWSC.js → chunk-PWGQ3PXE.js} +10 -5
  10. package/dist/{chunk-4LP2EWSC.js.map → chunk-PWGQ3PXE.js.map} +1 -1
  11. package/dist/{chunk-HJ2MOKJ5.js → chunk-SZSGSTVZ.js} +4 -2
  12. package/dist/{chunk-HJ2MOKJ5.js.map → chunk-SZSGSTVZ.js.map} +1 -1
  13. package/dist/{chunk-VDBZ2AOS.js → chunk-TVLTXHW6.js} +4 -2
  14. package/dist/{chunk-VDBZ2AOS.js.map → chunk-TVLTXHW6.js.map} +1 -1
  15. package/dist/{chunk-LZ6R74PT.js → chunk-Z7FGLEQU.js} +2 -2
  16. package/dist/client.d.ts +10 -2
  17. package/dist/client.js +48 -3
  18. package/dist/client.js.map +1 -1
  19. package/dist/compactor.js +3 -3
  20. package/dist/connector-jira.js +2 -2
  21. package/dist/connector-salesforce.js +2 -2
  22. package/dist/{coordinator-DFbyrQEU.d.ts → coordinator-DN8D8C7W.d.ts} +10 -0
  23. package/dist/gateway-server.js +14 -8
  24. package/dist/gateway-server.js.map +1 -1
  25. package/dist/gateway.d.ts +5 -1
  26. package/dist/gateway.js +7 -5
  27. package/dist/index.d.ts +1 -0
  28. package/dist/index.js +9 -1
  29. package/dist/parquet.js +2 -2
  30. package/dist/proto.js +2 -2
  31. package/dist/react.d.ts +31 -2
  32. package/dist/react.js +54 -19
  33. package/dist/react.js.map +1 -1
  34. package/dist/registry-BN_9spxE.d.ts +53 -0
  35. package/dist/{src-CLFH5JSA.js → src-RR7I76OL.js} +3 -3
  36. package/dist/{src-5ABL6A7J.js → src-SLVE5567.js} +10 -2
  37. package/dist/{src-2LUI4O6N.js → src-V2CTPR7V.js} +3 -3
  38. package/package.json +1 -1
  39. package/dist/chunk-B257DXIS.js.map +0 -1
  40. /package/dist/{chunk-D7KSRAWK.js.map → chunk-46CKACNC.js.map} +0 -0
  41. /package/dist/{chunk-H3BD4SMD.js.map → chunk-B3QEUG6E.js.map} +0 -0
  42. /package/dist/{chunk-6OCFE42A.js.map → chunk-L4ZL5JA7.js.map} +0 -0
  43. /package/dist/{chunk-LZ6R74PT.js.map → chunk-Z7FGLEQU.js.map} +0 -0
  44. /package/dist/{src-2LUI4O6N.js.map → src-RR7I76OL.js.map} +0 -0
  45. /package/dist/{src-5ABL6A7J.js.map → src-SLVE5567.js.map} +0 -0
  46. /package/dist/{src-CLFH5JSA.js.map → src-V2CTPR7V.js.map} +0 -0
package/dist/adapter.js CHANGED
@@ -18,8 +18,8 @@ import {
18
18
  migrateToTier,
19
19
  toCause,
20
20
  wrapAsync
21
- } from "./chunk-LZ6R74PT.js";
22
- import "./chunk-B257DXIS.js";
21
+ } from "./chunk-Z7FGLEQU.js";
22
+ import "./chunk-7UBS6MFH.js";
23
23
  import "./chunk-7D4SUZUM.js";
24
24
  export {
25
25
  BigQueryAdapter,
package/dist/analyst.js CHANGED
@@ -2,7 +2,7 @@ import {
2
2
  Err,
3
3
  LakeSyncError,
4
4
  Ok
5
- } from "./chunk-B257DXIS.js";
5
+ } from "./chunk-7UBS6MFH.js";
6
6
  import "./chunk-7D4SUZUM.js";
7
7
 
8
8
  // ../analyst/src/duckdb.ts
package/dist/catalogue.js CHANGED
@@ -4,8 +4,8 @@ import {
4
4
  buildPartitionSpec,
5
5
  lakeSyncTableName,
6
6
  tableSchemaToIceberg
7
- } from "./chunk-H3BD4SMD.js";
8
- import "./chunk-B257DXIS.js";
7
+ } from "./chunk-B3QEUG6E.js";
8
+ import "./chunk-7UBS6MFH.js";
9
9
  import "./chunk-7D4SUZUM.js";
10
10
  export {
11
11
  CatalogueError,
@@ -2,7 +2,7 @@ import {
2
2
  Err,
3
3
  FlushError,
4
4
  Ok
5
- } from "./chunk-B257DXIS.js";
5
+ } from "./chunk-7UBS6MFH.js";
6
6
 
7
7
  // ../parquet/src/arrow-schema.ts
8
8
  import * as arrow from "apache-arrow";
@@ -254,4 +254,4 @@ export {
254
254
  readParquetToDeltas,
255
255
  writeDeltasToParquet
256
256
  };
257
- //# sourceMappingURL=chunk-D7KSRAWK.js.map
257
+ //# sourceMappingURL=chunk-46CKACNC.js.map
@@ -620,6 +620,23 @@ var ConnectorValidationError = class extends LakeSyncError {
620
620
  }
621
621
  };
622
622
 
623
+ // ../core/src/connector/registry.ts
624
+ var descriptors = /* @__PURE__ */ new Map();
625
+ function registerConnectorDescriptor(descriptor) {
626
+ descriptors.set(descriptor.type, descriptor);
627
+ }
628
+ function registerOutputSchemas(type, schemas) {
629
+ const existing = descriptors.get(type);
630
+ if (!existing) return;
631
+ descriptors.set(type, { ...existing, outputTables: schemas });
632
+ }
633
+ function getConnectorDescriptor(type) {
634
+ return descriptors.get(type);
635
+ }
636
+ function listConnectorDescriptors() {
637
+ return [...descriptors.values()].sort((a, b) => a.type.localeCompare(b.type));
638
+ }
639
+
623
640
  // ../core/src/connector/types.ts
624
641
  var CONNECTOR_TYPES = ["postgres", "mysql", "bigquery", "jira", "salesforce"];
625
642
 
@@ -814,6 +831,279 @@ function validateConnectorConfig(input) {
814
831
  return Ok(input);
815
832
  }
816
833
 
834
+ // ../core/src/connector/schemas/bigquery.ts
835
+ var BIGQUERY_CONFIG_SCHEMA = {
836
+ $schema: "http://json-schema.org/draft-07/schema#",
837
+ type: "object",
838
+ properties: {
839
+ projectId: {
840
+ type: "string",
841
+ description: "GCP project ID."
842
+ },
843
+ dataset: {
844
+ type: "string",
845
+ description: "BigQuery dataset name."
846
+ },
847
+ keyFilename: {
848
+ type: "string",
849
+ description: "Path to service account JSON key file. Falls back to ADC when omitted."
850
+ },
851
+ location: {
852
+ type: "string",
853
+ description: 'Dataset location (default "US").'
854
+ }
855
+ },
856
+ required: ["projectId", "dataset"],
857
+ additionalProperties: false
858
+ };
859
+
860
+ // ../core/src/connector/schemas/ingest.ts
861
+ var DATABASE_INGEST_SCHEMA = {
862
+ $schema: "http://json-schema.org/draft-07/schema#",
863
+ type: "object",
864
+ properties: {
865
+ tables: {
866
+ type: "array",
867
+ description: "Tables to poll for changes.",
868
+ items: {
869
+ type: "object",
870
+ properties: {
871
+ table: { type: "string", description: "Target table name in LakeSync." },
872
+ query: {
873
+ type: "string",
874
+ description: "SQL query to poll (must return rowId + data columns)."
875
+ },
876
+ rowIdColumn: {
877
+ type: "string",
878
+ description: 'Primary key column name (default "id").'
879
+ },
880
+ strategy: {
881
+ oneOf: [
882
+ {
883
+ type: "object",
884
+ properties: {
885
+ type: { const: "cursor" },
886
+ cursorColumn: { type: "string" },
887
+ lookbackMs: { type: "number" }
888
+ },
889
+ required: ["type", "cursorColumn"]
890
+ },
891
+ {
892
+ type: "object",
893
+ properties: {
894
+ type: { const: "diff" }
895
+ },
896
+ required: ["type"]
897
+ }
898
+ ]
899
+ }
900
+ },
901
+ required: ["table", "query", "strategy"]
902
+ }
903
+ },
904
+ intervalMs: {
905
+ type: "number",
906
+ description: "Poll interval in milliseconds (default 10 000)."
907
+ },
908
+ chunkSize: {
909
+ type: "number",
910
+ description: "Deltas per push chunk (default 500)."
911
+ },
912
+ memoryBudgetBytes: {
913
+ type: "number",
914
+ description: "Approximate memory budget in bytes \u2014 triggers flush at 70%."
915
+ }
916
+ },
917
+ required: ["tables"],
918
+ additionalProperties: false
919
+ };
920
+ var API_INGEST_SCHEMA = {
921
+ $schema: "http://json-schema.org/draft-07/schema#",
922
+ type: "object",
923
+ properties: {
924
+ intervalMs: {
925
+ type: "number",
926
+ description: "Poll interval in milliseconds (default 10 000)."
927
+ },
928
+ chunkSize: {
929
+ type: "number",
930
+ description: "Deltas per push chunk (default 500)."
931
+ },
932
+ memoryBudgetBytes: {
933
+ type: "number",
934
+ description: "Approximate memory budget in bytes \u2014 triggers flush at 70%."
935
+ }
936
+ },
937
+ additionalProperties: false
938
+ };
939
+
940
+ // ../core/src/connector/schemas/jira.ts
941
+ var JIRA_CONFIG_SCHEMA = {
942
+ $schema: "http://json-schema.org/draft-07/schema#",
943
+ type: "object",
944
+ properties: {
945
+ domain: {
946
+ type: "string",
947
+ description: "Jira Cloud domain (e.g. mycompany for mycompany.atlassian.net)."
948
+ },
949
+ email: {
950
+ type: "string",
951
+ description: "Email address for Basic auth."
952
+ },
953
+ apiToken: {
954
+ type: "string",
955
+ description: "API token paired with the email."
956
+ },
957
+ jql: {
958
+ type: "string",
959
+ description: "Optional JQL filter to scope issue polling."
960
+ },
961
+ includeComments: {
962
+ type: "boolean",
963
+ description: "Whether to include comments (default true)."
964
+ },
965
+ includeProjects: {
966
+ type: "boolean",
967
+ description: "Whether to include projects (default true)."
968
+ }
969
+ },
970
+ required: ["domain", "email", "apiToken"],
971
+ additionalProperties: false
972
+ };
973
+
974
+ // ../core/src/connector/schemas/mysql.ts
975
+ var MYSQL_CONFIG_SCHEMA = {
976
+ $schema: "http://json-schema.org/draft-07/schema#",
977
+ type: "object",
978
+ properties: {
979
+ connectionString: {
980
+ type: "string",
981
+ description: "MySQL connection string (e.g. mysql://user:pass@host/db)."
982
+ }
983
+ },
984
+ required: ["connectionString"],
985
+ additionalProperties: false
986
+ };
987
+
988
+ // ../core/src/connector/schemas/postgres.ts
989
+ var POSTGRES_CONFIG_SCHEMA = {
990
+ $schema: "http://json-schema.org/draft-07/schema#",
991
+ type: "object",
992
+ properties: {
993
+ connectionString: {
994
+ type: "string",
995
+ description: "PostgreSQL connection string (e.g. postgres://user:pass@host/db)."
996
+ }
997
+ },
998
+ required: ["connectionString"],
999
+ additionalProperties: false
1000
+ };
1001
+
1002
+ // ../core/src/connector/schemas/salesforce.ts
1003
+ var SALESFORCE_CONFIG_SCHEMA = {
1004
+ $schema: "http://json-schema.org/draft-07/schema#",
1005
+ type: "object",
1006
+ properties: {
1007
+ instanceUrl: {
1008
+ type: "string",
1009
+ description: "Salesforce instance URL (e.g. https://mycompany.salesforce.com)."
1010
+ },
1011
+ clientId: {
1012
+ type: "string",
1013
+ description: "Connected App consumer key."
1014
+ },
1015
+ clientSecret: {
1016
+ type: "string",
1017
+ description: "Connected App consumer secret."
1018
+ },
1019
+ username: {
1020
+ type: "string",
1021
+ description: "Salesforce username."
1022
+ },
1023
+ password: {
1024
+ type: "string",
1025
+ description: "Salesforce password + security token concatenated."
1026
+ },
1027
+ apiVersion: {
1028
+ type: "string",
1029
+ description: 'REST API version (default "v62.0").'
1030
+ },
1031
+ isSandbox: {
1032
+ type: "boolean",
1033
+ description: "Use test.salesforce.com for auth (default false)."
1034
+ },
1035
+ soqlFilter: {
1036
+ type: "string",
1037
+ description: "Optional WHERE clause fragment appended to all SOQL queries."
1038
+ },
1039
+ includeAccounts: {
1040
+ type: "boolean",
1041
+ description: "Whether to include Account objects (default true)."
1042
+ },
1043
+ includeContacts: {
1044
+ type: "boolean",
1045
+ description: "Whether to include Contact objects (default true)."
1046
+ },
1047
+ includeOpportunities: {
1048
+ type: "boolean",
1049
+ description: "Whether to include Opportunity objects (default true)."
1050
+ },
1051
+ includeLeads: {
1052
+ type: "boolean",
1053
+ description: "Whether to include Lead objects (default true)."
1054
+ }
1055
+ },
1056
+ required: ["instanceUrl", "clientId", "clientSecret", "username", "password"],
1057
+ additionalProperties: false
1058
+ };
1059
+
1060
+ // ../core/src/connector/register-builtin.ts
1061
+ registerConnectorDescriptor({
1062
+ type: "bigquery",
1063
+ displayName: "BigQuery",
1064
+ description: "Google BigQuery data warehouse connector.",
1065
+ category: "database",
1066
+ configSchema: BIGQUERY_CONFIG_SCHEMA,
1067
+ ingestSchema: DATABASE_INGEST_SCHEMA,
1068
+ outputTables: null
1069
+ });
1070
+ registerConnectorDescriptor({
1071
+ type: "jira",
1072
+ displayName: "Jira",
1073
+ description: "Atlassian Jira Cloud issue tracker connector.",
1074
+ category: "api",
1075
+ configSchema: JIRA_CONFIG_SCHEMA,
1076
+ ingestSchema: API_INGEST_SCHEMA,
1077
+ outputTables: null
1078
+ });
1079
+ registerConnectorDescriptor({
1080
+ type: "mysql",
1081
+ displayName: "MySQL",
1082
+ description: "MySQL relational database connector.",
1083
+ category: "database",
1084
+ configSchema: MYSQL_CONFIG_SCHEMA,
1085
+ ingestSchema: DATABASE_INGEST_SCHEMA,
1086
+ outputTables: null
1087
+ });
1088
+ registerConnectorDescriptor({
1089
+ type: "postgres",
1090
+ displayName: "PostgreSQL",
1091
+ description: "PostgreSQL relational database connector.",
1092
+ category: "database",
1093
+ configSchema: POSTGRES_CONFIG_SCHEMA,
1094
+ ingestSchema: DATABASE_INGEST_SCHEMA,
1095
+ outputTables: null
1096
+ });
1097
+ registerConnectorDescriptor({
1098
+ type: "salesforce",
1099
+ displayName: "Salesforce",
1100
+ description: "Salesforce CRM connector for accounts, contacts, opportunities, and leads.",
1101
+ category: "api",
1102
+ configSchema: SALESFORCE_CONFIG_SCHEMA,
1103
+ ingestSchema: API_INGEST_SCHEMA,
1104
+ outputTables: null
1105
+ });
1106
+
817
1107
  // ../core/src/create-poller.ts
818
1108
  var pollerFactories = /* @__PURE__ */ new Map();
819
1109
  function registerPollerFactory(type, factory) {
@@ -1192,6 +1482,10 @@ export {
1192
1482
  resolveLWW,
1193
1483
  isActionHandler,
1194
1484
  ConnectorValidationError,
1485
+ registerConnectorDescriptor,
1486
+ registerOutputSchemas,
1487
+ getConnectorDescriptor,
1488
+ listConnectorDescriptors,
1195
1489
  CONNECTOR_TYPES,
1196
1490
  validateConnectorConfig,
1197
1491
  registerPollerFactory,
@@ -1213,4 +1507,4 @@ export {
1213
1507
  assertValidIdentifier,
1214
1508
  quoteIdentifier
1215
1509
  };
1216
- //# sourceMappingURL=chunk-B257DXIS.js.map
1510
+ //# sourceMappingURL=chunk-7UBS6MFH.js.map