@sqlanvil/core 1.18.0 → 1.20.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/README.md CHANGED
@@ -82,20 +82,22 @@ scripts/ ./scripts/run is the CLI entrypoint wrapper
82
82
 
83
83
  ## Building from source
84
84
 
85
- SQLAnvil uses [Bazel](https://bazel.build) (via Bazelisk). The recommended dev path on macOS is the Docker-based build container:
85
+ SQLAnvil uses [Bazel](https://bazel.build) (via Bazelisk). Native Bazel works on macOS
86
+ and Linux (Bazel 7 + bzlmod):
86
87
 
87
88
  ```bash
88
89
  # Build the proto layer
89
- ./scripts/docker-bazel build //protos:sqlanvil_proto
90
+ bazel build //protos:sqlanvil_proto
90
91
 
91
92
  # Run the CLI
92
- ./scripts/docker-bazel run //packages/@sqlanvil/cli:bin -- help
93
+ ./scripts/run help
93
94
 
94
95
  # Run tests
95
- ./scripts/docker-bazel test //...
96
+ bazel test //core/... //cli/...
96
97
  ```
97
98
 
98
- See [contributing.md](contributing.md) for full instructions.
99
+ A Docker-based build container (`./scripts/docker-bazel`) remains available as an
100
+ optional hermetic environment. See [contributing.md](contributing.md) for full instructions.
99
101
 
100
102
  ---
101
103
 
package/bundle.d.ts CHANGED
@@ -739,6 +739,9 @@ namespace sqlanvil {
739
739
 
740
740
  /** ActionConfig import */
741
741
  "import"?: (sqlanvil.ActionConfig.IImportConfig|null);
742
+
743
+ /** ActionConfig script */
744
+ script?: (sqlanvil.ActionConfig.IScriptConfig|null);
742
745
  }
743
746
 
744
747
  /** Represents an ActionConfig. */
@@ -792,8 +795,11 @@ namespace sqlanvil {
792
795
  /** ActionConfig import. */
793
796
  public import?: (sqlanvil.ActionConfig.IImportConfig|null);
794
797
 
798
+ /** ActionConfig script. */
799
+ public script?: (sqlanvil.ActionConfig.IScriptConfig|null);
800
+
795
801
  /** ActionConfig action. */
796
- public action?: ("table"|"view"|"incrementalTable"|"assertion"|"operation"|"declaration"|"notebook"|"dataPreparation"|"rlsPolicy"|"realtimePublication"|"foreignWrapper"|"vectorIndex"|"export"|"import");
802
+ public action?: ("table"|"view"|"incrementalTable"|"assertion"|"operation"|"declaration"|"notebook"|"dataPreparation"|"rlsPolicy"|"realtimePublication"|"foreignWrapper"|"vectorIndex"|"export"|"import"|"script");
797
803
 
798
804
  /**
799
805
  * Creates a new ActionConfig instance using the specified properties.
@@ -1868,6 +1874,9 @@ namespace sqlanvil {
1868
1874
 
1869
1875
  /** ViewConfig postgres */
1870
1876
  postgres?: (sqlanvil.IPostgresOptions|null);
1877
+
1878
+ /** ViewConfig mysql */
1879
+ mysql?: (sqlanvil.IMysqlOptions|null);
1871
1880
  }
1872
1881
 
1873
1882
  /** Represents a ViewConfig. */
@@ -1945,6 +1954,9 @@ namespace sqlanvil {
1945
1954
  /** ViewConfig postgres. */
1946
1955
  public postgres?: (sqlanvil.IPostgresOptions|null);
1947
1956
 
1957
+ /** ViewConfig mysql. */
1958
+ public mysql?: (sqlanvil.IMysqlOptions|null);
1959
+
1948
1960
  /**
1949
1961
  * Creates a new ViewConfig instance using the specified properties.
1950
1962
  * @param [properties] Properties to set
@@ -3731,6 +3743,181 @@ namespace sqlanvil {
3731
3743
  }
3732
3744
  }
3733
3745
 
3746
+ /** Properties of a ScriptConfig. */
3747
+ interface IScriptConfig {
3748
+
3749
+ /** ScriptConfig name */
3750
+ name?: (string|null);
3751
+
3752
+ /** ScriptConfig dataset */
3753
+ dataset?: (string|null);
3754
+
3755
+ /** ScriptConfig project */
3756
+ project?: (string|null);
3757
+
3758
+ /** ScriptConfig dependencyTargets */
3759
+ dependencyTargets?: (sqlanvil.ActionConfig.ITarget[]|null);
3760
+
3761
+ /** ScriptConfig filename */
3762
+ filename?: (string|null);
3763
+
3764
+ /** ScriptConfig tags */
3765
+ tags?: (string[]|null);
3766
+
3767
+ /** ScriptConfig disabled */
3768
+ disabled?: (boolean|null);
3769
+
3770
+ /** ScriptConfig description */
3771
+ description?: (string|null);
3772
+
3773
+ /** ScriptConfig language */
3774
+ language?: (string|null);
3775
+
3776
+ /** ScriptConfig args */
3777
+ args?: (string[]|null);
3778
+
3779
+ /** ScriptConfig depsFile */
3780
+ depsFile?: (string|null);
3781
+
3782
+ /** ScriptConfig runtimeVersion */
3783
+ runtimeVersion?: (string|null);
3784
+
3785
+ /** ScriptConfig envRoot */
3786
+ envRoot?: (string|null);
3787
+
3788
+ /** ScriptConfig timeoutMillis */
3789
+ timeoutMillis?: (number|null);
3790
+ }
3791
+
3792
+ /** Represents a ScriptConfig. */
3793
+ class ScriptConfig implements IScriptConfig {
3794
+
3795
+ /**
3796
+ * Constructs a new ScriptConfig.
3797
+ * @param [properties] Properties to set
3798
+ */
3799
+ constructor(properties?: sqlanvil.ActionConfig.IScriptConfig);
3800
+
3801
+ /** ScriptConfig name. */
3802
+ public name: string;
3803
+
3804
+ /** ScriptConfig dataset. */
3805
+ public dataset: string;
3806
+
3807
+ /** ScriptConfig project. */
3808
+ public project: string;
3809
+
3810
+ /** ScriptConfig dependencyTargets. */
3811
+ public dependencyTargets: sqlanvil.ActionConfig.ITarget[];
3812
+
3813
+ /** ScriptConfig filename. */
3814
+ public filename: string;
3815
+
3816
+ /** ScriptConfig tags. */
3817
+ public tags: string[];
3818
+
3819
+ /** ScriptConfig disabled. */
3820
+ public disabled: boolean;
3821
+
3822
+ /** ScriptConfig description. */
3823
+ public description: string;
3824
+
3825
+ /** ScriptConfig language. */
3826
+ public language: string;
3827
+
3828
+ /** ScriptConfig args. */
3829
+ public args: string[];
3830
+
3831
+ /** ScriptConfig depsFile. */
3832
+ public depsFile: string;
3833
+
3834
+ /** ScriptConfig runtimeVersion. */
3835
+ public runtimeVersion: string;
3836
+
3837
+ /** ScriptConfig envRoot. */
3838
+ public envRoot: string;
3839
+
3840
+ /** ScriptConfig timeoutMillis. */
3841
+ public timeoutMillis: number;
3842
+
3843
+ /**
3844
+ * Creates a new ScriptConfig instance using the specified properties.
3845
+ * @param [properties] Properties to set
3846
+ * @returns ScriptConfig instance
3847
+ */
3848
+ public static create(properties?: sqlanvil.ActionConfig.IScriptConfig): sqlanvil.ActionConfig.ScriptConfig;
3849
+
3850
+ /**
3851
+ * Encodes the specified ScriptConfig message. Does not implicitly {@link sqlanvil.ActionConfig.ScriptConfig.verify|verify} messages.
3852
+ * @param message ScriptConfig message or plain object to encode
3853
+ * @param [writer] Writer to encode to
3854
+ * @returns Writer
3855
+ */
3856
+ public static encode(message: sqlanvil.ActionConfig.IScriptConfig, writer?: $protobuf.Writer): $protobuf.Writer;
3857
+
3858
+ /**
3859
+ * Encodes the specified ScriptConfig message, length delimited. Does not implicitly {@link sqlanvil.ActionConfig.ScriptConfig.verify|verify} messages.
3860
+ * @param message ScriptConfig message or plain object to encode
3861
+ * @param [writer] Writer to encode to
3862
+ * @returns Writer
3863
+ */
3864
+ public static encodeDelimited(message: sqlanvil.ActionConfig.IScriptConfig, writer?: $protobuf.Writer): $protobuf.Writer;
3865
+
3866
+ /**
3867
+ * Decodes a ScriptConfig message from the specified reader or buffer.
3868
+ * @param reader Reader or buffer to decode from
3869
+ * @param [length] Message length if known beforehand
3870
+ * @returns ScriptConfig
3871
+ * @throws {Error} If the payload is not a reader or valid buffer
3872
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
3873
+ */
3874
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): sqlanvil.ActionConfig.ScriptConfig;
3875
+
3876
+ /**
3877
+ * Decodes a ScriptConfig message from the specified reader or buffer, length delimited.
3878
+ * @param reader Reader or buffer to decode from
3879
+ * @returns ScriptConfig
3880
+ * @throws {Error} If the payload is not a reader or valid buffer
3881
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
3882
+ */
3883
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): sqlanvil.ActionConfig.ScriptConfig;
3884
+
3885
+ /**
3886
+ * Verifies a ScriptConfig message.
3887
+ * @param message Plain object to verify
3888
+ * @returns `null` if valid, otherwise the reason why it is not
3889
+ */
3890
+ public static verify(message: { [k: string]: any }): (string|null);
3891
+
3892
+ /**
3893
+ * Creates a ScriptConfig message from a plain object. Also converts values to their respective internal types.
3894
+ * @param object Plain object
3895
+ * @returns ScriptConfig
3896
+ */
3897
+ public static fromObject(object: { [k: string]: any }): sqlanvil.ActionConfig.ScriptConfig;
3898
+
3899
+ /**
3900
+ * Creates a plain object from a ScriptConfig message. Also converts values to other types if specified.
3901
+ * @param message ScriptConfig
3902
+ * @param [options] Conversion options
3903
+ * @returns Plain object
3904
+ */
3905
+ public static toObject(message: sqlanvil.ActionConfig.ScriptConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
3906
+
3907
+ /**
3908
+ * Converts this ScriptConfig to JSON.
3909
+ * @returns JSON object
3910
+ */
3911
+ public toJSON(): { [k: string]: any };
3912
+
3913
+ /**
3914
+ * Gets the default type url for ScriptConfig
3915
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
3916
+ * @returns The default type url
3917
+ */
3918
+ public static getTypeUrl(typeUrlPrefix?: string): string;
3919
+ }
3920
+
3734
3921
  /** Properties of a RlsPolicyConfig. */
3735
3922
  interface IRlsPolicyConfig {
3736
3923
 
@@ -5115,6 +5302,9 @@ namespace sqlanvil {
5115
5302
  /** MysqlOptions collation */
5116
5303
  collation?: (string|null);
5117
5304
 
5305
+ /** MysqlOptions rowFormat */
5306
+ rowFormat?: (string|null);
5307
+
5118
5308
  /** MysqlOptions indexes */
5119
5309
  indexes?: (sqlanvil.MysqlOptions.IIndex[]|null);
5120
5310
 
@@ -5140,6 +5330,9 @@ namespace sqlanvil {
5140
5330
  /** MysqlOptions collation. */
5141
5331
  public collation: string;
5142
5332
 
5333
+ /** MysqlOptions rowFormat. */
5334
+ public rowFormat: string;
5335
+
5143
5336
  /** MysqlOptions indexes. */
5144
5337
  public indexes: sqlanvil.MysqlOptions.IIndex[];
5145
5338
 
@@ -5237,6 +5430,9 @@ namespace sqlanvil {
5237
5430
 
5238
5431
  /** Index unique */
5239
5432
  unique?: (boolean|null);
5433
+
5434
+ /** Index type */
5435
+ type?: (string|null);
5240
5436
  }
5241
5437
 
5242
5438
  /** Represents an Index. */
@@ -5257,6 +5453,9 @@ namespace sqlanvil {
5257
5453
  /** Index unique. */
5258
5454
  public unique: boolean;
5259
5455
 
5456
+ /** Index type. */
5457
+ public type: string;
5458
+
5260
5459
  /**
5261
5460
  * Creates a new Index instance using the specified properties.
5262
5461
  * @param [properties] Properties to set
@@ -8668,6 +8867,187 @@ namespace sqlanvil {
8668
8867
  public static getTypeUrl(typeUrlPrefix?: string): string;
8669
8868
  }
8670
8869
 
8870
+ /** Properties of a Script. */
8871
+ interface IScript {
8872
+
8873
+ /** Script target */
8874
+ target?: (sqlanvil.ITarget|null);
8875
+
8876
+ /** Script canonicalTarget */
8877
+ canonicalTarget?: (sqlanvil.ITarget|null);
8878
+
8879
+ /** Script dependencyTargets */
8880
+ dependencyTargets?: (sqlanvil.ITarget[]|null);
8881
+
8882
+ /** Script hermeticity */
8883
+ hermeticity?: (sqlanvil.ActionHermeticity|null);
8884
+
8885
+ /** Script disabled */
8886
+ disabled?: (boolean|null);
8887
+
8888
+ /** Script tags */
8889
+ tags?: (string[]|null);
8890
+
8891
+ /** Script actionDescriptor */
8892
+ actionDescriptor?: (sqlanvil.IActionDescriptor|null);
8893
+
8894
+ /** Script language */
8895
+ language?: (string|null);
8896
+
8897
+ /** Script scriptFilename */
8898
+ scriptFilename?: (string|null);
8899
+
8900
+ /** Script args */
8901
+ args?: (string[]|null);
8902
+
8903
+ /** Script depsFile */
8904
+ depsFile?: (string|null);
8905
+
8906
+ /** Script runtimeVersion */
8907
+ runtimeVersion?: (string|null);
8908
+
8909
+ /** Script envRoot */
8910
+ envRoot?: (string|null);
8911
+
8912
+ /** Script timeoutMillis */
8913
+ timeoutMillis?: (number|null);
8914
+
8915
+ /** Script fileName */
8916
+ fileName?: (string|null);
8917
+ }
8918
+
8919
+ /** Represents a Script. */
8920
+ class Script implements IScript {
8921
+
8922
+ /**
8923
+ * Constructs a new Script.
8924
+ * @param [properties] Properties to set
8925
+ */
8926
+ constructor(properties?: sqlanvil.IScript);
8927
+
8928
+ /** Script target. */
8929
+ public target?: (sqlanvil.ITarget|null);
8930
+
8931
+ /** Script canonicalTarget. */
8932
+ public canonicalTarget?: (sqlanvil.ITarget|null);
8933
+
8934
+ /** Script dependencyTargets. */
8935
+ public dependencyTargets: sqlanvil.ITarget[];
8936
+
8937
+ /** Script hermeticity. */
8938
+ public hermeticity: sqlanvil.ActionHermeticity;
8939
+
8940
+ /** Script disabled. */
8941
+ public disabled: boolean;
8942
+
8943
+ /** Script tags. */
8944
+ public tags: string[];
8945
+
8946
+ /** Script actionDescriptor. */
8947
+ public actionDescriptor?: (sqlanvil.IActionDescriptor|null);
8948
+
8949
+ /** Script language. */
8950
+ public language: string;
8951
+
8952
+ /** Script scriptFilename. */
8953
+ public scriptFilename: string;
8954
+
8955
+ /** Script args. */
8956
+ public args: string[];
8957
+
8958
+ /** Script depsFile. */
8959
+ public depsFile: string;
8960
+
8961
+ /** Script runtimeVersion. */
8962
+ public runtimeVersion: string;
8963
+
8964
+ /** Script envRoot. */
8965
+ public envRoot: string;
8966
+
8967
+ /** Script timeoutMillis. */
8968
+ public timeoutMillis: number;
8969
+
8970
+ /** Script fileName. */
8971
+ public fileName: string;
8972
+
8973
+ /**
8974
+ * Creates a new Script instance using the specified properties.
8975
+ * @param [properties] Properties to set
8976
+ * @returns Script instance
8977
+ */
8978
+ public static create(properties?: sqlanvil.IScript): sqlanvil.Script;
8979
+
8980
+ /**
8981
+ * Encodes the specified Script message. Does not implicitly {@link sqlanvil.Script.verify|verify} messages.
8982
+ * @param message Script message or plain object to encode
8983
+ * @param [writer] Writer to encode to
8984
+ * @returns Writer
8985
+ */
8986
+ public static encode(message: sqlanvil.IScript, writer?: $protobuf.Writer): $protobuf.Writer;
8987
+
8988
+ /**
8989
+ * Encodes the specified Script message, length delimited. Does not implicitly {@link sqlanvil.Script.verify|verify} messages.
8990
+ * @param message Script message or plain object to encode
8991
+ * @param [writer] Writer to encode to
8992
+ * @returns Writer
8993
+ */
8994
+ public static encodeDelimited(message: sqlanvil.IScript, writer?: $protobuf.Writer): $protobuf.Writer;
8995
+
8996
+ /**
8997
+ * Decodes a Script message from the specified reader or buffer.
8998
+ * @param reader Reader or buffer to decode from
8999
+ * @param [length] Message length if known beforehand
9000
+ * @returns Script
9001
+ * @throws {Error} If the payload is not a reader or valid buffer
9002
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
9003
+ */
9004
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): sqlanvil.Script;
9005
+
9006
+ /**
9007
+ * Decodes a Script message from the specified reader or buffer, length delimited.
9008
+ * @param reader Reader or buffer to decode from
9009
+ * @returns Script
9010
+ * @throws {Error} If the payload is not a reader or valid buffer
9011
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
9012
+ */
9013
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): sqlanvil.Script;
9014
+
9015
+ /**
9016
+ * Verifies a Script message.
9017
+ * @param message Plain object to verify
9018
+ * @returns `null` if valid, otherwise the reason why it is not
9019
+ */
9020
+ public static verify(message: { [k: string]: any }): (string|null);
9021
+
9022
+ /**
9023
+ * Creates a Script message from a plain object. Also converts values to their respective internal types.
9024
+ * @param object Plain object
9025
+ * @returns Script
9026
+ */
9027
+ public static fromObject(object: { [k: string]: any }): sqlanvil.Script;
9028
+
9029
+ /**
9030
+ * Creates a plain object from a Script message. Also converts values to other types if specified.
9031
+ * @param message Script
9032
+ * @param [options] Conversion options
9033
+ * @returns Plain object
9034
+ */
9035
+ public static toObject(message: sqlanvil.Script, options?: $protobuf.IConversionOptions): { [k: string]: any };
9036
+
9037
+ /**
9038
+ * Converts this Script to JSON.
9039
+ * @returns JSON object
9040
+ */
9041
+ public toJSON(): { [k: string]: any };
9042
+
9043
+ /**
9044
+ * Gets the default type url for Script
9045
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
9046
+ * @returns The default type url
9047
+ */
9048
+ public static getTypeUrl(typeUrlPrefix?: string): string;
9049
+ }
9050
+
8671
9051
  /** Properties of an Assertion. */
8672
9052
  interface IAssertion {
8673
9053
 
@@ -10072,6 +10452,9 @@ namespace sqlanvil {
10072
10452
  /** CompiledGraph extracts */
10073
10453
  extracts?: (sqlanvil.IExtract[]|null);
10074
10454
 
10455
+ /** CompiledGraph scripts */
10456
+ scripts?: (sqlanvil.IScript[]|null);
10457
+
10075
10458
  /** CompiledGraph graphErrors */
10076
10459
  graphErrors?: (sqlanvil.IGraphErrors|null);
10077
10460
 
@@ -10127,6 +10510,9 @@ namespace sqlanvil {
10127
10510
  /** CompiledGraph extracts. */
10128
10511
  public extracts: sqlanvil.IExtract[];
10129
10512
 
10513
+ /** CompiledGraph scripts. */
10514
+ public scripts: sqlanvil.IScript[];
10515
+
10130
10516
  /** CompiledGraph graphErrors. */
10131
10517
  public graphErrors?: (sqlanvil.IGraphErrors|null);
10132
10518
 
@@ -12273,6 +12659,139 @@ namespace sqlanvil {
12273
12659
  public static getTypeUrl(typeUrlPrefix?: string): string;
12274
12660
  }
12275
12661
 
12662
+ /** Properties of a ScriptSpec. */
12663
+ interface IScriptSpec {
12664
+
12665
+ /** ScriptSpec language */
12666
+ language?: (string|null);
12667
+
12668
+ /** ScriptSpec filename */
12669
+ filename?: (string|null);
12670
+
12671
+ /** ScriptSpec args */
12672
+ args?: (string[]|null);
12673
+
12674
+ /** ScriptSpec depsFile */
12675
+ depsFile?: (string|null);
12676
+
12677
+ /** ScriptSpec runtimeVersion */
12678
+ runtimeVersion?: (string|null);
12679
+
12680
+ /** ScriptSpec envRoot */
12681
+ envRoot?: (string|null);
12682
+
12683
+ /** ScriptSpec timeoutMillis */
12684
+ timeoutMillis?: (number|null);
12685
+ }
12686
+
12687
+ /** Represents a ScriptSpec. */
12688
+ class ScriptSpec implements IScriptSpec {
12689
+
12690
+ /**
12691
+ * Constructs a new ScriptSpec.
12692
+ * @param [properties] Properties to set
12693
+ */
12694
+ constructor(properties?: sqlanvil.IScriptSpec);
12695
+
12696
+ /** ScriptSpec language. */
12697
+ public language: string;
12698
+
12699
+ /** ScriptSpec filename. */
12700
+ public filename: string;
12701
+
12702
+ /** ScriptSpec args. */
12703
+ public args: string[];
12704
+
12705
+ /** ScriptSpec depsFile. */
12706
+ public depsFile: string;
12707
+
12708
+ /** ScriptSpec runtimeVersion. */
12709
+ public runtimeVersion: string;
12710
+
12711
+ /** ScriptSpec envRoot. */
12712
+ public envRoot: string;
12713
+
12714
+ /** ScriptSpec timeoutMillis. */
12715
+ public timeoutMillis: number;
12716
+
12717
+ /**
12718
+ * Creates a new ScriptSpec instance using the specified properties.
12719
+ * @param [properties] Properties to set
12720
+ * @returns ScriptSpec instance
12721
+ */
12722
+ public static create(properties?: sqlanvil.IScriptSpec): sqlanvil.ScriptSpec;
12723
+
12724
+ /**
12725
+ * Encodes the specified ScriptSpec message. Does not implicitly {@link sqlanvil.ScriptSpec.verify|verify} messages.
12726
+ * @param message ScriptSpec message or plain object to encode
12727
+ * @param [writer] Writer to encode to
12728
+ * @returns Writer
12729
+ */
12730
+ public static encode(message: sqlanvil.IScriptSpec, writer?: $protobuf.Writer): $protobuf.Writer;
12731
+
12732
+ /**
12733
+ * Encodes the specified ScriptSpec message, length delimited. Does not implicitly {@link sqlanvil.ScriptSpec.verify|verify} messages.
12734
+ * @param message ScriptSpec message or plain object to encode
12735
+ * @param [writer] Writer to encode to
12736
+ * @returns Writer
12737
+ */
12738
+ public static encodeDelimited(message: sqlanvil.IScriptSpec, writer?: $protobuf.Writer): $protobuf.Writer;
12739
+
12740
+ /**
12741
+ * Decodes a ScriptSpec message from the specified reader or buffer.
12742
+ * @param reader Reader or buffer to decode from
12743
+ * @param [length] Message length if known beforehand
12744
+ * @returns ScriptSpec
12745
+ * @throws {Error} If the payload is not a reader or valid buffer
12746
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
12747
+ */
12748
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): sqlanvil.ScriptSpec;
12749
+
12750
+ /**
12751
+ * Decodes a ScriptSpec message from the specified reader or buffer, length delimited.
12752
+ * @param reader Reader or buffer to decode from
12753
+ * @returns ScriptSpec
12754
+ * @throws {Error} If the payload is not a reader or valid buffer
12755
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
12756
+ */
12757
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): sqlanvil.ScriptSpec;
12758
+
12759
+ /**
12760
+ * Verifies a ScriptSpec message.
12761
+ * @param message Plain object to verify
12762
+ * @returns `null` if valid, otherwise the reason why it is not
12763
+ */
12764
+ public static verify(message: { [k: string]: any }): (string|null);
12765
+
12766
+ /**
12767
+ * Creates a ScriptSpec message from a plain object. Also converts values to their respective internal types.
12768
+ * @param object Plain object
12769
+ * @returns ScriptSpec
12770
+ */
12771
+ public static fromObject(object: { [k: string]: any }): sqlanvil.ScriptSpec;
12772
+
12773
+ /**
12774
+ * Creates a plain object from a ScriptSpec message. Also converts values to other types if specified.
12775
+ * @param message ScriptSpec
12776
+ * @param [options] Conversion options
12777
+ * @returns Plain object
12778
+ */
12779
+ public static toObject(message: sqlanvil.ScriptSpec, options?: $protobuf.IConversionOptions): { [k: string]: any };
12780
+
12781
+ /**
12782
+ * Converts this ScriptSpec to JSON.
12783
+ * @returns JSON object
12784
+ */
12785
+ public toJSON(): { [k: string]: any };
12786
+
12787
+ /**
12788
+ * Gets the default type url for ScriptSpec
12789
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
12790
+ * @returns The default type url
12791
+ */
12792
+ public static getTypeUrl(typeUrlPrefix?: string): string;
12793
+ }
12794
+
12276
12795
  /** Properties of an ExecutionAction. */
12277
12796
  interface IExecutionAction {
12278
12797
 
@@ -12311,6 +12830,9 @@ namespace sqlanvil {
12311
12830
 
12312
12831
  /** ExecutionAction extract */
12313
12832
  extract?: (sqlanvil.IExtractSpec|null);
12833
+
12834
+ /** ExecutionAction script */
12835
+ script?: (sqlanvil.IScriptSpec|null);
12314
12836
  }
12315
12837
 
12316
12838
  /** Represents an ExecutionAction. */
@@ -12358,6 +12880,9 @@ namespace sqlanvil {
12358
12880
  /** ExecutionAction extract. */
12359
12881
  public extract?: (sqlanvil.IExtractSpec|null);
12360
12882
 
12883
+ /** ExecutionAction script. */
12884
+ public script?: (sqlanvil.IScriptSpec|null);
12885
+
12361
12886
  /**
12362
12887
  * Creates a new ExecutionAction instance using the specified properties.
12363
12888
  * @param [properties] Properties to set
@@ -15919,6 +16444,22 @@ declare class OperationContext implements IActionContext {
15919
16444
  apply<T>(value: Contextable<IActionContext, T>): T;
15920
16445
  }
15921
16446
 
16447
+ declare class Script extends ActionBuilder<sqlanvil.Script> {
16448
+ session: Session;
16449
+ dependOnDependencyAssertions: boolean;
16450
+ private proto;
16451
+ constructor(session?: Session, unverifiedConfig?: any, configPath?: string, projectFiles?: string[]);
16452
+ dependencies(value: Resolvable | Resolvable[]): this;
16453
+ disabled(disabled?: boolean): this;
16454
+ tags(value: string | string[]): this;
16455
+ description(description: string): this;
16456
+ getFileName(): string;
16457
+ getTarget(): sqlanvil.Target;
16458
+ compile(): sqlanvil.Script;
16459
+ private checkConfig;
16460
+ private verifyConfig;
16461
+ }
16462
+
15922
16463
  interface ITestConfig extends INamedConfig {
15923
16464
  dataset?: Resolvable;
15924
16465
  name?: string;
@@ -15966,6 +16507,7 @@ declare class View extends ActionBuilder<sqlanvil.Table> {
15966
16507
  disabled(disabled?: boolean): this;
15967
16508
  materialized(materialized: boolean): void;
15968
16509
  postgres(postgres: sqlanvil.IPostgresOptions): void;
16510
+ mysql(mysql: sqlanvil.IMysqlOptions): void;
15969
16511
  bigquery(bigquery: sqlanvil.IBigQueryOptions): this;
15970
16512
  dependencies(value: Resolvable | Resolvable[]): this;
15971
16513
  hermetic(hermetic: boolean): void;
@@ -16114,7 +16656,7 @@ interface IRecordDescriptor {
16114
16656
  bigqueryPolicyTags?: string | string[];
16115
16657
  }
16116
16658
 
16117
- declare type Action = Table | View | IncrementalTable | Operation | Assertion | Declaration | Notebook | DataPreparation | Export | Extract | Import | Test | RlsPolicy | RealtimePublication | Wrapper | ForeignTable | VectorIndex;
16659
+ declare type Action = Table | View | IncrementalTable | Operation | Assertion | Declaration | Notebook | DataPreparation | Export | Extract | Import | Script | Test | RlsPolicy | RealtimePublication | Wrapper | ForeignTable | VectorIndex;
16118
16660
  interface INamedConfig {
16119
16661
  type?: string;
16120
16662
  name?: string;
@@ -16271,7 +16813,7 @@ declare function jitCompiler(rpcCallback: RpcCallback): IJitCompiler;
16271
16813
 
16272
16814
  declare function main(coreExecutionRequest: Uint8Array | string): Uint8Array | string;
16273
16815
 
16274
- declare const version = "1.18.0";
16816
+ declare const version = "1.20.0";
16275
16817
 
16276
16818
  declare const session: Session;
16277
16819
  declare const supportedFeatures: sqlanvil.SupportedFeatures[];