@tinybirdco/sdk 0.0.77 → 0.0.79

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 (122) hide show
  1. package/README.md +27 -2
  2. package/dist/api/branches.d.ts +4 -3
  3. package/dist/api/branches.d.ts.map +1 -1
  4. package/dist/api/branches.js +4 -4
  5. package/dist/api/branches.js.map +1 -1
  6. package/dist/api/branches.test.js +34 -1
  7. package/dist/api/branches.test.js.map +1 -1
  8. package/dist/cli/commands/build.d.ts.map +1 -1
  9. package/dist/cli/commands/build.js +7 -1
  10. package/dist/cli/commands/build.js.map +1 -1
  11. package/dist/cli/commands/build.test.js +159 -0
  12. package/dist/cli/commands/build.test.js.map +1 -1
  13. package/dist/cli/commands/clear.d.ts.map +1 -1
  14. package/dist/cli/commands/clear.js +4 -1
  15. package/dist/cli/commands/clear.js.map +1 -1
  16. package/dist/cli/commands/deploy.test.js +1 -0
  17. package/dist/cli/commands/deploy.test.js.map +1 -1
  18. package/dist/cli/commands/dev.d.ts.map +1 -1
  19. package/dist/cli/commands/dev.js +7 -1
  20. package/dist/cli/commands/dev.js.map +1 -1
  21. package/dist/cli/commands/generate.test.js +3 -0
  22. package/dist/cli/commands/generate.test.js.map +1 -1
  23. package/dist/cli/commands/migrate.d.ts.map +1 -1
  24. package/dist/cli/commands/migrate.js +14 -1
  25. package/dist/cli/commands/migrate.js.map +1 -1
  26. package/dist/cli/commands/migrate.test.js +60 -0
  27. package/dist/cli/commands/migrate.test.js.map +1 -1
  28. package/dist/cli/commands/preview.d.ts.map +1 -1
  29. package/dist/cli/commands/preview.js +4 -1
  30. package/dist/cli/commands/preview.js.map +1 -1
  31. package/dist/cli/commands/preview.test.js +116 -2
  32. package/dist/cli/commands/preview.test.js.map +1 -1
  33. package/dist/cli/config-types.d.ts +4 -0
  34. package/dist/cli/config-types.d.ts.map +1 -1
  35. package/dist/cli/config-types.js +1 -1
  36. package/dist/cli/config-types.js.map +1 -1
  37. package/dist/cli/config.d.ts +4 -2
  38. package/dist/cli/config.d.ts.map +1 -1
  39. package/dist/cli/config.js +27 -0
  40. package/dist/cli/config.js.map +1 -1
  41. package/dist/cli/config.test.js +79 -0
  42. package/dist/cli/config.test.js.map +1 -1
  43. package/dist/cli/index.js +2 -2
  44. package/dist/cli/index.js.map +1 -1
  45. package/dist/client/base.d.ts.map +1 -1
  46. package/dist/client/base.js +4 -1
  47. package/dist/client/base.js.map +1 -1
  48. package/dist/client/base.test.js +2 -1
  49. package/dist/client/base.test.js.map +1 -1
  50. package/dist/generator/connection.d.ts.map +1 -1
  51. package/dist/generator/connection.js +15 -1
  52. package/dist/generator/connection.js.map +1 -1
  53. package/dist/generator/connection.test.js +10 -1
  54. package/dist/generator/connection.test.js.map +1 -1
  55. package/dist/generator/datasource.d.ts.map +1 -1
  56. package/dist/generator/datasource.js +17 -1
  57. package/dist/generator/datasource.js.map +1 -1
  58. package/dist/generator/datasource.test.js +44 -1
  59. package/dist/generator/datasource.test.js.map +1 -1
  60. package/dist/index.d.ts +4 -4
  61. package/dist/index.d.ts.map +1 -1
  62. package/dist/index.js +1 -1
  63. package/dist/index.js.map +1 -1
  64. package/dist/migrate/emit-ts.d.ts.map +1 -1
  65. package/dist/migrate/emit-ts.js +28 -0
  66. package/dist/migrate/emit-ts.js.map +1 -1
  67. package/dist/migrate/parse-connection.d.ts +2 -2
  68. package/dist/migrate/parse-connection.d.ts.map +1 -1
  69. package/dist/migrate/parse-connection.js +60 -6
  70. package/dist/migrate/parse-connection.js.map +1 -1
  71. package/dist/migrate/parse-connection.test.js +18 -0
  72. package/dist/migrate/parse-connection.test.js.map +1 -1
  73. package/dist/migrate/parse-datasource.d.ts.map +1 -1
  74. package/dist/migrate/parse-datasource.js +27 -2
  75. package/dist/migrate/parse-datasource.js.map +1 -1
  76. package/dist/migrate/types.d.ts +15 -1
  77. package/dist/migrate/types.d.ts.map +1 -1
  78. package/dist/schema/connection.d.ts +46 -1
  79. package/dist/schema/connection.d.ts.map +1 -1
  80. package/dist/schema/connection.js +39 -0
  81. package/dist/schema/connection.js.map +1 -1
  82. package/dist/schema/connection.test.js +46 -1
  83. package/dist/schema/connection.test.js.map +1 -1
  84. package/dist/schema/datasource.d.ts +14 -1
  85. package/dist/schema/datasource.d.ts.map +1 -1
  86. package/dist/schema/datasource.js +2 -2
  87. package/dist/schema/datasource.js.map +1 -1
  88. package/dist/schema/datasource.test.js +2 -2
  89. package/dist/schema/datasource.test.js.map +1 -1
  90. package/package.json +1 -1
  91. package/src/api/branches.test.ts +38 -1
  92. package/src/api/branches.ts +8 -6
  93. package/src/cli/commands/build.test.ts +176 -0
  94. package/src/cli/commands/build.ts +9 -2
  95. package/src/cli/commands/clear.ts +8 -1
  96. package/src/cli/commands/deploy.test.ts +1 -0
  97. package/src/cli/commands/dev.ts +9 -1
  98. package/src/cli/commands/generate.test.ts +3 -0
  99. package/src/cli/commands/migrate.test.ts +95 -0
  100. package/src/cli/commands/migrate.ts +17 -1
  101. package/src/cli/commands/preview.test.ts +133 -2
  102. package/src/cli/commands/preview.ts +6 -2
  103. package/src/cli/config-types.ts +4 -0
  104. package/src/cli/config.test.ts +123 -0
  105. package/src/cli/config.ts +41 -3
  106. package/src/cli/index.ts +8 -2
  107. package/src/client/base.test.ts +3 -1
  108. package/src/client/base.ts +7 -1
  109. package/src/generator/connection.test.ts +17 -0
  110. package/src/generator/connection.ts +18 -0
  111. package/src/generator/datasource.test.ts +54 -1
  112. package/src/generator/datasource.ts +24 -1
  113. package/src/index.ts +6 -1
  114. package/src/migrate/emit-ts.ts +44 -3
  115. package/src/migrate/parse-connection.test.ts +41 -0
  116. package/src/migrate/parse-connection.ts +86 -7
  117. package/src/migrate/parse-datasource.ts +35 -2
  118. package/src/migrate/types.ts +18 -1
  119. package/src/schema/connection.test.ts +65 -0
  120. package/src/schema/connection.ts +76 -1
  121. package/src/schema/datasource.test.ts +2 -2
  122. package/src/schema/datasource.ts +21 -2
@@ -9,6 +9,7 @@ import type {
9
9
  KafkaConnectionDefinition,
10
10
  S3ConnectionDefinition,
11
11
  GCSConnectionDefinition,
12
+ DynamoDBConnectionDefinition,
12
13
  } from "./connection.js";
13
14
  import type { TokenDefinition, DatasourceTokenScope } from "./token.js";
14
15
 
@@ -102,6 +103,18 @@ export interface GCSConfig {
102
103
  fromTimestamp?: string;
103
104
  }
104
105
 
106
+ /**
107
+ * DynamoDB import configuration for a datasource
108
+ */
109
+ export interface DynamoDBConfig {
110
+ /** DynamoDB connection to use */
111
+ connection: DynamoDBConnectionDefinition;
112
+ /** Source DynamoDB table ARN */
113
+ tableArn: string;
114
+ /** S3 bucket Tinybird uses to stage the initial table export */
115
+ exportBucket: string;
116
+ }
117
+
105
118
  /**
106
119
  * Datasource index configuration.
107
120
  * Emits as: `<name> <expr> TYPE <type> GRANULARITY <n>`
@@ -152,6 +165,8 @@ export interface DatasourceOptions<TSchema extends SchemaDefinition> {
152
165
  s3?: S3Config;
153
166
  /** GCS ingestion configuration */
154
167
  gcs?: GCSConfig;
168
+ /** DynamoDB ingestion configuration */
169
+ dynamodb?: DynamoDBConfig;
155
170
  }
156
171
 
157
172
  /**
@@ -209,9 +224,13 @@ export function defineDatasource<TSchema extends SchemaDefinition>(
209
224
  );
210
225
  }
211
226
 
212
- const ingestionConfigCount = [options.kafka, options.s3, options.gcs].filter(Boolean).length;
227
+ const ingestionConfigCount = [options.kafka, options.s3, options.gcs, options.dynamodb].filter(
228
+ Boolean
229
+ ).length;
213
230
  if (ingestionConfigCount > 1) {
214
- throw new Error("Datasource can only define one ingestion option: `kafka`, `s3`, or `gcs`.");
231
+ throw new Error(
232
+ "Datasource can only define one ingestion option: `kafka`, `s3`, `gcs`, or `dynamodb`."
233
+ );
215
234
  }
216
235
 
217
236
  if (options.indexes) {