@dbx-tools/cli 0.9.93 → 0.9.95

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
@@ -499,6 +499,7 @@ dbx lakebase-proxy service [command]
499
499
  | `stop` | Stop the running service |
500
500
  | `restart` | Restart the installed service |
501
501
  | `status` | Print service installation and process state as JSON |
502
+ | `logs [command...]` | Print the service log path or append it to a command |
502
503
  | `uninstall` | Stop and remove the service for the current user |
503
504
 
504
505
  ### `dbx lakebase-proxy service install`
@@ -514,6 +515,8 @@ dbx lakebase-proxy service install [options]
514
515
  | Option | Description |
515
516
  | ----------------------------------- | ---------------------------------------------------------------------------- |
516
517
  | `--no-start` | Do not start the service after installation |
518
+ | `--python-project <path>` | Install a local Python project instead of the registry package |
519
+ | `--offline` | Install Python packages from the uv cache without network access |
517
520
  | `--postgres-role <value>` | PostgreSQL role assumed after authentication. (env: DBX_TOOLS_POSTGRES_ROLE) |
518
521
  | `--listen <value>` | Loopback listener address. (default: tcp://localhost:5432, env: LISTEN) |
519
522
  | `--startup-timeout-seconds <value>` | Startup timeout in seconds. (default: 30, env: STARTUP_TIMEOUT_SECONDS) |
@@ -551,6 +554,20 @@ Print service installation and process state as JSON
551
554
  dbx lakebase-proxy service status
552
555
  ```
553
556
 
557
+ ### `dbx lakebase-proxy service logs`
558
+
559
+ Print the service log path or append it to a command
560
+
561
+ ```sh
562
+ dbx lakebase-proxy service logs [command...]
563
+ ```
564
+
565
+ #### Arguments
566
+
567
+ | Argument | Description |
568
+ | --------- | -------------------------------------------------------- |
569
+ | `command` | Command and arguments to run before the service log path |
570
+
554
571
  ### `dbx lakebase-proxy service uninstall`
555
572
 
556
573
  Stop and remove the service for the current user
@@ -603,6 +620,7 @@ dbx model-gateway service [command]
603
620
  | `stop` | Stop the running service |
604
621
  | `restart` | Restart the installed service |
605
622
  | `status` | Print service installation and process state as JSON |
623
+ | `logs [command...]` | Print the service log path or append it to a command |
606
624
  | `uninstall` | Stop and remove the service for the current user |
607
625
 
608
626
  ### `dbx model-gateway service install`
@@ -615,9 +633,11 @@ dbx model-gateway service install [options]
615
633
 
616
634
  #### Options
617
635
 
618
- | Option | Description |
619
- | ------------ | ------------------------------------------- |
620
- | `--no-start` | Do not start the service after installation |
636
+ | Option | Description |
637
+ | ------------------------- | ---------------------------------------------------------------- |
638
+ | `--no-start` | Do not start the service after installation |
639
+ | `--python-project <path>` | Install a local Python project instead of the registry package |
640
+ | `--offline` | Install Python packages from the uv cache without network access |
621
641
 
622
642
  ### `dbx model-gateway service start`
623
643
 
@@ -651,6 +671,20 @@ Print service installation and process state as JSON
651
671
  dbx model-gateway service status
652
672
  ```
653
673
 
674
+ ### `dbx model-gateway service logs`
675
+
676
+ Print the service log path or append it to a command
677
+
678
+ ```sh
679
+ dbx model-gateway service logs [command...]
680
+ ```
681
+
682
+ #### Arguments
683
+
684
+ | Argument | Description |
685
+ | --------- | -------------------------------------------------------- |
686
+ | `command` | Command and arguments to run before the service log path |
687
+
654
688
  ### `dbx model-gateway service uninstall`
655
689
 
656
690
  Stop and remove the service for the current user
@@ -730,6 +764,7 @@ dbx graphiti service [command]
730
764
  | `stop` | Stop the running service |
731
765
  | `restart` | Restart the installed service |
732
766
  | `status` | Print service installation and process state as JSON |
767
+ | `logs [command...]` | Print the service log path or append it to a command |
733
768
  | `uninstall` | Stop and remove the service for the current user |
734
769
 
735
770
  ### `dbx graphiti service install`
@@ -742,9 +777,11 @@ dbx graphiti service install [options]
742
777
 
743
778
  #### Options
744
779
 
745
- | Option | Description |
746
- | ------------ | ------------------------------------------- |
747
- | `--no-start` | Do not start the service after installation |
780
+ | Option | Description |
781
+ | ------------------------- | ---------------------------------------------------------------- |
782
+ | `--no-start` | Do not start the service after installation |
783
+ | `--python-project <path>` | Install a local Python project instead of the registry package |
784
+ | `--offline` | Install Python packages from the uv cache without network access |
748
785
 
749
786
  ### `dbx graphiti service start`
750
787
 
@@ -778,6 +815,20 @@ Print service installation and process state as JSON
778
815
  dbx graphiti service status
779
816
  ```
780
817
 
818
+ ### `dbx graphiti service logs`
819
+
820
+ Print the service log path or append it to a command
821
+
822
+ ```sh
823
+ dbx graphiti service logs [command...]
824
+ ```
825
+
826
+ #### Arguments
827
+
828
+ | Argument | Description |
829
+ | --------- | -------------------------------------------------------- |
830
+ | `command` | Command and arguments to run before the service log path |
831
+
781
832
  ### `dbx graphiti service uninstall`
782
833
 
783
834
  Stop and remove the service for the current user
package/index.ts CHANGED
@@ -3,7 +3,7 @@
3
3
  // Hand edits are overwritten on the next watch; this file is read-only.
4
4
 
5
5
  export const PACKAGE_IDENTIFIER = "@dbx-tools/cli";
6
- export const PACKAGE_VERSION = "0.9.93";
6
+ export const PACKAGE_VERSION = "0.9.95";
7
7
  export * as appkitCli from "./src/appkit/cli.ts";
8
8
  export * as appkitEnvExport from "./src/appkit/env-export.ts";
9
9
  export * as authCli from "./src/auth/cli.ts";
package/lib/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export declare const PACKAGE_IDENTIFIER = "@dbx-tools/cli";
2
- export declare const PACKAGE_VERSION = "0.9.93";
2
+ export declare const PACKAGE_VERSION = "0.9.95";
3
3
  export * as appkitCli from "./src/appkit/cli.ts";
4
4
  export * as appkitEnvExport from "./src/appkit/env-export.ts";
5
5
  export * as authCli from "./src/auth/cli.ts";
package/lib/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
  // Regenerated from the exporting modules in ./src.
3
3
  // Hand edits are overwritten on the next watch; this file is read-only.
4
4
  export const PACKAGE_IDENTIFIER = "@dbx-tools/cli";
5
- export const PACKAGE_VERSION = "0.9.93";
5
+ export const PACKAGE_VERSION = "0.9.95";
6
6
  export * as appkitCli from "./src/appkit/cli.js";
7
7
  export * as appkitEnvExport from "./src/appkit/env-export.js";
8
8
  export * as authCli from "./src/auth/cli.js";
@@ -41,4 +41,4 @@ export { SSL_REQUEST, CANCEL_REQUEST, PROTOCOL_3, PostgresProtocolError } from "
41
41
  export { LakebaseProxy } from "./src/lakebase-proxy/proxy.js";
42
42
  export { workspaceRoot } from "./src/root.js";
43
43
  export { TunnelOptionsSchema } from "./src/tunnel/options.js";
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQ0FBMkM7QUFDM0MsbURBQW1EO0FBQ25ELHdFQUF3RTtBQUV4RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxnQkFBZ0IsQ0FBQztBQUNuRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxTQUFTLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxLQUFLLGVBQWUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEtBQUssT0FBTyxNQUFNLG1CQUFtQixDQUFDO0FBQzdDLE9BQU8sS0FBSyxXQUFXLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxLQUFLLFNBQVMsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFPLEtBQUssR0FBRyxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLEtBQUssR0FBRyxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLEtBQUssWUFBWSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sS0FBSyxlQUFlLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxLQUFLLGdCQUFnQixNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxnQkFBZ0IsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEtBQUssZUFBZSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sS0FBSyxnQkFBZ0IsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEtBQUssV0FBVyxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sS0FBSyxlQUFlLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxLQUFLLHlCQUF5QixNQUFNLHNDQUFzQyxDQUFDO0FBQ2xGLE9BQU8sS0FBSyxnQkFBZ0IsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEtBQUssb0JBQW9CLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxLQUFLLHFCQUFxQixNQUFNLGtDQUFrQyxDQUFDO0FBQzFFLE9BQU8sS0FBSyxrQkFBa0IsTUFBTSwrQkFBK0IsQ0FBQztBQUNwRSxPQUFPLEtBQUssZUFBZSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sS0FBSyxrQkFBa0IsTUFBTSwrQkFBK0IsQ0FBQztBQUNwRSxPQUFPLEtBQUssSUFBSSxNQUFNLGVBQWUsQ0FBQztBQUN0QyxPQUFPLEtBQUssU0FBUyxNQUFNLHFCQUFxQixDQUFDO0FBQ2pELE9BQU8sS0FBSyxTQUFTLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxLQUFLLGFBQWEsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEtBQUssV0FBVyxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTVGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXhGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFOUMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHekUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFHNUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLDZCQUE2QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFNUcsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFbEgsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTlELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBHRU5FUkFURUQgYnkgcHJvamVuIHdhdGNoIC0gRE8gTk9UIEVESVQuXG4vLyBSZWdlbmVyYXRlZCBmcm9tIHRoZSBleHBvcnRpbmcgbW9kdWxlcyBpbiAuL3NyYy5cbi8vIEhhbmQgZWRpdHMgYXJlIG92ZXJ3cml0dGVuIG9uIHRoZSBuZXh0IHdhdGNoOyB0aGlzIGZpbGUgaXMgcmVhZC1vbmx5LlxuXG5leHBvcnQgY29uc3QgUEFDS0FHRV9JREVOVElGSUVSID0gXCJAZGJ4LXRvb2xzL2NsaVwiO1xuZXhwb3J0IGNvbnN0IFBBQ0tBR0VfVkVSU0lPTiA9IFwiMC45LjkzXCI7XG5leHBvcnQgKiBhcyBhcHBraXRDbGkgZnJvbSBcIi4vc3JjL2FwcGtpdC9jbGkudHNcIjtcbmV4cG9ydCAqIGFzIGFwcGtpdEVudkV4cG9ydCBmcm9tIFwiLi9zcmMvYXBwa2l0L2Vudi1leHBvcnQudHNcIjtcbmV4cG9ydCAqIGFzIGF1dGhDbGkgZnJvbSBcIi4vc3JjL2F1dGgvY2xpLnRzXCI7XG5leHBvcnQgKiBhcyBhdXRoT3B0aW9ucyBmcm9tIFwiLi9zcmMvYXV0aC9vcHRpb25zLnRzXCI7XG5leHBvcnQgKiBhcyBib290c3RyYXAgZnJvbSBcIi4vc3JjL2Jvb3RzdHJhcC50c1wiO1xuZXhwb3J0ICogYXMgYnVuIGZyb20gXCIuL3NyYy9idW4udHNcIjtcbmV4cG9ydCAqIGFzIGNsaSBmcm9tIFwiLi9zcmMvY2xpLnRzXCI7XG5leHBvcnQgKiBhcyBnZW5pZUNvZGVDbGkgZnJvbSBcIi4vc3JjL2dlbmllLWNvZGUvY2xpLnRzXCI7XG5leHBvcnQgKiBhcyBnZW5pZUNvZGVDb25maWcgZnJvbSBcIi4vc3JjL2dlbmllLWNvZGUvY29uZmlnLnRzXCI7XG5leHBvcnQgKiBhcyBnZW5pZUNvZGVJbnN0YWxsIGZyb20gXCIuL3NyYy9nZW5pZS1jb2RlL2luc3RhbGwudHNcIjtcbmV4cG9ydCAqIGFzIGdlbmllQ29kZU9wdGlvbnMgZnJvbSBcIi4vc3JjL2dlbmllLWNvZGUvb3B0aW9ucy50c1wiO1xuZXhwb3J0ICogYXMgZ2VuaWVDb2RlUnVubmVyIGZyb20gXCIuL3NyYy9nZW5pZS1jb2RlL3J1bm5lci50c1wiO1xuZXhwb3J0ICogYXMgZ2VuaWVDb2RlUnVudGltZSBmcm9tIFwiLi9zcmMvZ2VuaWUtY29kZS9ydW50aW1lLnRzXCI7XG5leHBvcnQgKiBhcyBncmFwaGl0aUNsaSBmcm9tIFwiLi9zcmMvZ3JhcGhpdGkvY2xpLnRzXCI7XG5leHBvcnQgKiBhcyBncmFwaGl0aU9wdGlvbnMgZnJvbSBcIi4vc3JjL2dyYXBoaXRpL29wdGlvbnMudHNcIjtcbmV4cG9ydCAqIGFzIGxha2ViYXNlUHJveHlDYW5jZWxsYXRpb24gZnJvbSBcIi4vc3JjL2xha2ViYXNlLXByb3h5L2NhbmNlbGxhdGlvbi50c1wiO1xuZXhwb3J0ICogYXMgbGFrZWJhc2VQcm94eUNsaSBmcm9tIFwiLi9zcmMvbGFrZWJhc2UtcHJveHkvY2xpLnRzXCI7XG5leHBvcnQgKiBhcyBsYWtlYmFzZVByb3h5T3B0aW9ucyBmcm9tIFwiLi9zcmMvbGFrZWJhc2UtcHJveHkvb3B0aW9ucy50c1wiO1xuZXhwb3J0ICogYXMgbGFrZWJhc2VQcm94eVByb3RvY29sIGZyb20gXCIuL3NyYy9sYWtlYmFzZS1wcm94eS9wcm90b2NvbC50c1wiO1xuZXhwb3J0ICogYXMgbGFrZWJhc2VQcm94eVByb3h5IGZyb20gXCIuL3NyYy9sYWtlYmFzZS1wcm94eS9wcm94eS50c1wiO1xuZXhwb3J0ICogYXMgbW9kZWxHYXRld2F5Q2xpIGZyb20gXCIuL3NyYy9tb2RlbC1nYXRld2F5L2NsaS50c1wiO1xuZXhwb3J0ICogYXMgbW9kZWxHYXRld2F5U2VydmVyIGZyb20gXCIuL3NyYy9tb2RlbC1nYXRld2F5L3NlcnZlci50c1wiO1xuZXhwb3J0ICogYXMgcm9vdCBmcm9tIFwiLi9zcmMvcm9vdC50c1wiO1xuZXhwb3J0ICogYXMgdHVubmVsQXBwIGZyb20gXCIuL3NyYy90dW5uZWwvYXBwLnRzXCI7XG5leHBvcnQgKiBhcyB0dW5uZWxDbGkgZnJvbSBcIi4vc3JjL3R1bm5lbC9jbGkudHNcIjtcbmV4cG9ydCAqIGFzIHR1bm5lbE9wdGlvbnMgZnJvbSBcIi4vc3JjL3R1bm5lbC9vcHRpb25zLnRzXCI7XG5leHBvcnQgKiBhcyB0dW5uZWxQcm94eSBmcm9tIFwiLi9zcmMvdHVubmVsL3Byb3h5LnRzXCI7XG5leHBvcnQgeyBFbnZFeHBvcnRGb3JtYXRTY2hlbWEsIEVudkNvbW1hbmRPcHRpb25zU2NoZW1hIH0gZnJvbSBcIi4vc3JjL2FwcGtpdC9lbnYtZXhwb3J0LnRzXCI7XG5leHBvcnQgdHlwZSB7IEVudkV4cG9ydEZvcm1hdCwgRW52Q29tbWFuZE9wdGlvbnMgfSBmcm9tIFwiLi9zcmMvYXBwa2l0L2Vudi1leHBvcnQudHNcIjtcbmV4cG9ydCB7IEF1dGhDbGlPcHRpb25zU2NoZW1hLCBUb2tlbkNvbW1hbmRPcHRpb25zU2NoZW1hIH0gZnJvbSBcIi4vc3JjL2F1dGgvb3B0aW9ucy50c1wiO1xuZXhwb3J0IHR5cGUgeyBBdXRoQ2xpT3B0aW9ucywgVG9rZW5Db21tYW5kT3B0aW9ucyB9IGZyb20gXCIuL3NyYy9hdXRoL29wdGlvbnMudHNcIjtcbmV4cG9ydCB7IHJlc29sdmVCdW5Bcmd2IH0gZnJvbSBcIi4vc3JjL2J1bi50c1wiO1xuZXhwb3J0IHR5cGUgeyBHZW5pZUNvZGVDbGlEZXBlbmRlbmNpZXMgfSBmcm9tIFwiLi9zcmMvZ2VuaWUtY29kZS9jbGkudHNcIjtcbmV4cG9ydCB7IEdFTklFX0NPREVfR0FURVdBWV9QUk9WSURFUiB9IGZyb20gXCIuL3NyYy9nZW5pZS1jb2RlL2NvbmZpZy50c1wiO1xuZXhwb3J0IHR5cGUgeyBXcml0ZUdlbmllQ29kZUNvbmZpZ09wdGlvbnMsIEdlbmllQ29kZVByb2ZpbGVIb21lLCBHZW5pZUNvZGVIb21lIH0gZnJvbSBcIi4vc3JjL2dlbmllLWNvZGUvY29uZmlnLnRzXCI7XG5leHBvcnQgdHlwZSB7IEluc3RhbGxHZW5pZUNvZGVPcHRpb25zIH0gZnJvbSBcIi4vc3JjL2dlbmllLWNvZGUvaW5zdGFsbC50c1wiO1xuZXhwb3J0IHsgUlVOTkVSX09QVElPTlNfRU5WIH0gZnJvbSBcIi4vc3JjL2dlbmllLWNvZGUvcnVubmVyLnRzXCI7XG5leHBvcnQgdHlwZSB7IEdlbmllQ29kZVJ1bnRpbWVEZXBlbmRlbmNpZXMsIFJ1bkdlbmllQ29kZU9wdGlvbnMsIFByZXBhcmVkR2VuaWVDb2RlUnVudGltZSB9IGZyb20gXCIuL3NyYy9nZW5pZS1jb2RlL3J1bnRpbWUudHNcIjtcbmV4cG9ydCB0eXBlIHsgR3JhcGhpdGlDbGlEZXBlbmRlbmNpZXMsIEdyYXBoaXRpU2VydmljZU9wdGlvbnMgfSBmcm9tIFwiLi9zcmMvZ3JhcGhpdGkvY2xpLnRzXCI7XG5leHBvcnQgeyBDYW5jZWxsYXRpb25SZWdpc3RyeSB9IGZyb20gXCIuL3NyYy9sYWtlYmFzZS1wcm94eS9jYW5jZWxsYXRpb24udHNcIjtcbmV4cG9ydCB0eXBlIHsgQ2FuY2VsbGF0aW9uVGFyZ2V0LCBDYW5jZWxsYXRpb25Gb3J3YXJkZXIgfSBmcm9tIFwiLi9zcmMvbGFrZWJhc2UtcHJveHkvY2FuY2VsbGF0aW9uLnRzXCI7XG5leHBvcnQgdHlwZSB7IExha2ViYXNlUHJveHlDbGlEZXBlbmRlbmNpZXMgfSBmcm9tIFwiLi9zcmMvbGFrZWJhc2UtcHJveHkvY2xpLnRzXCI7XG5leHBvcnQgeyBMYWtlYmFzZVByb3h5T3B0aW9uc1NjaGVtYSwgTGFrZWJhc2VQcm94eVVybE9wdGlvbnNTY2hlbWEgfSBmcm9tIFwiLi9zcmMvbGFrZWJhc2UtcHJveHkvb3B0aW9ucy50c1wiO1xuZXhwb3J0IHR5cGUgeyBMYWtlYmFzZVByb3h5T3B0aW9ucywgUmVzb2x2ZWRMYWtlYmFzZVByb3h5T3B0aW9ucywgTGFrZWJhc2VQcm94eVVybE9wdGlvbnMgfSBmcm9tIFwiLi9zcmMvbGFrZWJhc2UtcHJveHkvb3B0aW9ucy50c1wiO1xuZXhwb3J0IHsgU1NMX1JFUVVFU1QsIENBTkNFTF9SRVFVRVNULCBQUk9UT0NPTF8zLCBQb3N0Z3Jlc1Byb3RvY29sRXJyb3IgfSBmcm9tIFwiLi9zcmMvbGFrZWJhc2UtcHJveHkvcHJvdG9jb2wudHNcIjtcbmV4cG9ydCB0eXBlIHsgU3RhcnR1cE1lc3NhZ2UsIENhbmNlbE1lc3NhZ2UsIEluaXRpYWxNZXNzYWdlIH0gZnJvbSBcIi4vc3JjL2xha2ViYXNlLXByb3h5L3Byb3RvY29sLnRzXCI7XG5leHBvcnQgeyBMYWtlYmFzZVByb3h5IH0gZnJvbSBcIi4vc3JjL2xha2ViYXNlLXByb3h5L3Byb3h5LnRzXCI7XG5leHBvcnQgdHlwZSB7IE1vZGVsR2F0ZXdheUNsaURlcGVuZGVuY2llcyB9IGZyb20gXCIuL3NyYy9tb2RlbC1nYXRld2F5L2NsaS50c1wiO1xuZXhwb3J0IHsgd29ya3NwYWNlUm9vdCB9IGZyb20gXCIuL3NyYy9yb290LnRzXCI7XG5leHBvcnQgeyBUdW5uZWxPcHRpb25zU2NoZW1hIH0gZnJvbSBcIi4vc3JjL3R1bm5lbC9vcHRpb25zLnRzXCI7XG5leHBvcnQgdHlwZSB7IFR1bm5lbE9wdGlvbnMsIFJlc29sdmVkVHVubmVsT3B0aW9ucyB9IGZyb20gXCIuL3NyYy90dW5uZWwvb3B0aW9ucy50c1wiO1xuZXhwb3J0IHR5cGUgeyBQcm94eU9wdGlvbnMgfSBmcm9tIFwiLi9zcmMvdHVubmVsL3Byb3h5LnRzXCI7XG4iXX0=
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQ0FBMkM7QUFDM0MsbURBQW1EO0FBQ25ELHdFQUF3RTtBQUV4RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxnQkFBZ0IsQ0FBQztBQUNuRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxTQUFTLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxLQUFLLGVBQWUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEtBQUssT0FBTyxNQUFNLG1CQUFtQixDQUFDO0FBQzdDLE9BQU8sS0FBSyxXQUFXLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxLQUFLLFNBQVMsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFPLEtBQUssR0FBRyxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLEtBQUssR0FBRyxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLEtBQUssWUFBWSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sS0FBSyxlQUFlLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxLQUFLLGdCQUFnQixNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxnQkFBZ0IsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEtBQUssZUFBZSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sS0FBSyxnQkFBZ0IsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEtBQUssV0FBVyxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sS0FBSyxlQUFlLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxLQUFLLHlCQUF5QixNQUFNLHNDQUFzQyxDQUFDO0FBQ2xGLE9BQU8sS0FBSyxnQkFBZ0IsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEtBQUssb0JBQW9CLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxLQUFLLHFCQUFxQixNQUFNLGtDQUFrQyxDQUFDO0FBQzFFLE9BQU8sS0FBSyxrQkFBa0IsTUFBTSwrQkFBK0IsQ0FBQztBQUNwRSxPQUFPLEtBQUssZUFBZSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sS0FBSyxrQkFBa0IsTUFBTSwrQkFBK0IsQ0FBQztBQUNwRSxPQUFPLEtBQUssSUFBSSxNQUFNLGVBQWUsQ0FBQztBQUN0QyxPQUFPLEtBQUssU0FBUyxNQUFNLHFCQUFxQixDQUFDO0FBQ2pELE9BQU8sS0FBSyxTQUFTLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxLQUFLLGFBQWEsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEtBQUssV0FBVyxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTVGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXhGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFOUMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHekUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFHNUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLDZCQUE2QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFNUcsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFbEgsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTlELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBHRU5FUkFURUQgYnkgcHJvamVuIHdhdGNoIC0gRE8gTk9UIEVESVQuXG4vLyBSZWdlbmVyYXRlZCBmcm9tIHRoZSBleHBvcnRpbmcgbW9kdWxlcyBpbiAuL3NyYy5cbi8vIEhhbmQgZWRpdHMgYXJlIG92ZXJ3cml0dGVuIG9uIHRoZSBuZXh0IHdhdGNoOyB0aGlzIGZpbGUgaXMgcmVhZC1vbmx5LlxuXG5leHBvcnQgY29uc3QgUEFDS0FHRV9JREVOVElGSUVSID0gXCJAZGJ4LXRvb2xzL2NsaVwiO1xuZXhwb3J0IGNvbnN0IFBBQ0tBR0VfVkVSU0lPTiA9IFwiMC45Ljk1XCI7XG5leHBvcnQgKiBhcyBhcHBraXRDbGkgZnJvbSBcIi4vc3JjL2FwcGtpdC9jbGkudHNcIjtcbmV4cG9ydCAqIGFzIGFwcGtpdEVudkV4cG9ydCBmcm9tIFwiLi9zcmMvYXBwa2l0L2Vudi1leHBvcnQudHNcIjtcbmV4cG9ydCAqIGFzIGF1dGhDbGkgZnJvbSBcIi4vc3JjL2F1dGgvY2xpLnRzXCI7XG5leHBvcnQgKiBhcyBhdXRoT3B0aW9ucyBmcm9tIFwiLi9zcmMvYXV0aC9vcHRpb25zLnRzXCI7XG5leHBvcnQgKiBhcyBib290c3RyYXAgZnJvbSBcIi4vc3JjL2Jvb3RzdHJhcC50c1wiO1xuZXhwb3J0ICogYXMgYnVuIGZyb20gXCIuL3NyYy9idW4udHNcIjtcbmV4cG9ydCAqIGFzIGNsaSBmcm9tIFwiLi9zcmMvY2xpLnRzXCI7XG5leHBvcnQgKiBhcyBnZW5pZUNvZGVDbGkgZnJvbSBcIi4vc3JjL2dlbmllLWNvZGUvY2xpLnRzXCI7XG5leHBvcnQgKiBhcyBnZW5pZUNvZGVDb25maWcgZnJvbSBcIi4vc3JjL2dlbmllLWNvZGUvY29uZmlnLnRzXCI7XG5leHBvcnQgKiBhcyBnZW5pZUNvZGVJbnN0YWxsIGZyb20gXCIuL3NyYy9nZW5pZS1jb2RlL2luc3RhbGwudHNcIjtcbmV4cG9ydCAqIGFzIGdlbmllQ29kZU9wdGlvbnMgZnJvbSBcIi4vc3JjL2dlbmllLWNvZGUvb3B0aW9ucy50c1wiO1xuZXhwb3J0ICogYXMgZ2VuaWVDb2RlUnVubmVyIGZyb20gXCIuL3NyYy9nZW5pZS1jb2RlL3J1bm5lci50c1wiO1xuZXhwb3J0ICogYXMgZ2VuaWVDb2RlUnVudGltZSBmcm9tIFwiLi9zcmMvZ2VuaWUtY29kZS9ydW50aW1lLnRzXCI7XG5leHBvcnQgKiBhcyBncmFwaGl0aUNsaSBmcm9tIFwiLi9zcmMvZ3JhcGhpdGkvY2xpLnRzXCI7XG5leHBvcnQgKiBhcyBncmFwaGl0aU9wdGlvbnMgZnJvbSBcIi4vc3JjL2dyYXBoaXRpL29wdGlvbnMudHNcIjtcbmV4cG9ydCAqIGFzIGxha2ViYXNlUHJveHlDYW5jZWxsYXRpb24gZnJvbSBcIi4vc3JjL2xha2ViYXNlLXByb3h5L2NhbmNlbGxhdGlvbi50c1wiO1xuZXhwb3J0ICogYXMgbGFrZWJhc2VQcm94eUNsaSBmcm9tIFwiLi9zcmMvbGFrZWJhc2UtcHJveHkvY2xpLnRzXCI7XG5leHBvcnQgKiBhcyBsYWtlYmFzZVByb3h5T3B0aW9ucyBmcm9tIFwiLi9zcmMvbGFrZWJhc2UtcHJveHkvb3B0aW9ucy50c1wiO1xuZXhwb3J0ICogYXMgbGFrZWJhc2VQcm94eVByb3RvY29sIGZyb20gXCIuL3NyYy9sYWtlYmFzZS1wcm94eS9wcm90b2NvbC50c1wiO1xuZXhwb3J0ICogYXMgbGFrZWJhc2VQcm94eVByb3h5IGZyb20gXCIuL3NyYy9sYWtlYmFzZS1wcm94eS9wcm94eS50c1wiO1xuZXhwb3J0ICogYXMgbW9kZWxHYXRld2F5Q2xpIGZyb20gXCIuL3NyYy9tb2RlbC1nYXRld2F5L2NsaS50c1wiO1xuZXhwb3J0ICogYXMgbW9kZWxHYXRld2F5U2VydmVyIGZyb20gXCIuL3NyYy9tb2RlbC1nYXRld2F5L3NlcnZlci50c1wiO1xuZXhwb3J0ICogYXMgcm9vdCBmcm9tIFwiLi9zcmMvcm9vdC50c1wiO1xuZXhwb3J0ICogYXMgdHVubmVsQXBwIGZyb20gXCIuL3NyYy90dW5uZWwvYXBwLnRzXCI7XG5leHBvcnQgKiBhcyB0dW5uZWxDbGkgZnJvbSBcIi4vc3JjL3R1bm5lbC9jbGkudHNcIjtcbmV4cG9ydCAqIGFzIHR1bm5lbE9wdGlvbnMgZnJvbSBcIi4vc3JjL3R1bm5lbC9vcHRpb25zLnRzXCI7XG5leHBvcnQgKiBhcyB0dW5uZWxQcm94eSBmcm9tIFwiLi9zcmMvdHVubmVsL3Byb3h5LnRzXCI7XG5leHBvcnQgeyBFbnZFeHBvcnRGb3JtYXRTY2hlbWEsIEVudkNvbW1hbmRPcHRpb25zU2NoZW1hIH0gZnJvbSBcIi4vc3JjL2FwcGtpdC9lbnYtZXhwb3J0LnRzXCI7XG5leHBvcnQgdHlwZSB7IEVudkV4cG9ydEZvcm1hdCwgRW52Q29tbWFuZE9wdGlvbnMgfSBmcm9tIFwiLi9zcmMvYXBwa2l0L2Vudi1leHBvcnQudHNcIjtcbmV4cG9ydCB7IEF1dGhDbGlPcHRpb25zU2NoZW1hLCBUb2tlbkNvbW1hbmRPcHRpb25zU2NoZW1hIH0gZnJvbSBcIi4vc3JjL2F1dGgvb3B0aW9ucy50c1wiO1xuZXhwb3J0IHR5cGUgeyBBdXRoQ2xpT3B0aW9ucywgVG9rZW5Db21tYW5kT3B0aW9ucyB9IGZyb20gXCIuL3NyYy9hdXRoL29wdGlvbnMudHNcIjtcbmV4cG9ydCB7IHJlc29sdmVCdW5Bcmd2IH0gZnJvbSBcIi4vc3JjL2J1bi50c1wiO1xuZXhwb3J0IHR5cGUgeyBHZW5pZUNvZGVDbGlEZXBlbmRlbmNpZXMgfSBmcm9tIFwiLi9zcmMvZ2VuaWUtY29kZS9jbGkudHNcIjtcbmV4cG9ydCB7IEdFTklFX0NPREVfR0FURVdBWV9QUk9WSURFUiB9IGZyb20gXCIuL3NyYy9nZW5pZS1jb2RlL2NvbmZpZy50c1wiO1xuZXhwb3J0IHR5cGUgeyBXcml0ZUdlbmllQ29kZUNvbmZpZ09wdGlvbnMsIEdlbmllQ29kZVByb2ZpbGVIb21lLCBHZW5pZUNvZGVIb21lIH0gZnJvbSBcIi4vc3JjL2dlbmllLWNvZGUvY29uZmlnLnRzXCI7XG5leHBvcnQgdHlwZSB7IEluc3RhbGxHZW5pZUNvZGVPcHRpb25zIH0gZnJvbSBcIi4vc3JjL2dlbmllLWNvZGUvaW5zdGFsbC50c1wiO1xuZXhwb3J0IHsgUlVOTkVSX09QVElPTlNfRU5WIH0gZnJvbSBcIi4vc3JjL2dlbmllLWNvZGUvcnVubmVyLnRzXCI7XG5leHBvcnQgdHlwZSB7IEdlbmllQ29kZVJ1bnRpbWVEZXBlbmRlbmNpZXMsIFJ1bkdlbmllQ29kZU9wdGlvbnMsIFByZXBhcmVkR2VuaWVDb2RlUnVudGltZSB9IGZyb20gXCIuL3NyYy9nZW5pZS1jb2RlL3J1bnRpbWUudHNcIjtcbmV4cG9ydCB0eXBlIHsgR3JhcGhpdGlDbGlEZXBlbmRlbmNpZXMsIEdyYXBoaXRpU2VydmljZU9wdGlvbnMgfSBmcm9tIFwiLi9zcmMvZ3JhcGhpdGkvY2xpLnRzXCI7XG5leHBvcnQgeyBDYW5jZWxsYXRpb25SZWdpc3RyeSB9IGZyb20gXCIuL3NyYy9sYWtlYmFzZS1wcm94eS9jYW5jZWxsYXRpb24udHNcIjtcbmV4cG9ydCB0eXBlIHsgQ2FuY2VsbGF0aW9uVGFyZ2V0LCBDYW5jZWxsYXRpb25Gb3J3YXJkZXIgfSBmcm9tIFwiLi9zcmMvbGFrZWJhc2UtcHJveHkvY2FuY2VsbGF0aW9uLnRzXCI7XG5leHBvcnQgdHlwZSB7IExha2ViYXNlUHJveHlDbGlEZXBlbmRlbmNpZXMgfSBmcm9tIFwiLi9zcmMvbGFrZWJhc2UtcHJveHkvY2xpLnRzXCI7XG5leHBvcnQgeyBMYWtlYmFzZVByb3h5T3B0aW9uc1NjaGVtYSwgTGFrZWJhc2VQcm94eVVybE9wdGlvbnNTY2hlbWEgfSBmcm9tIFwiLi9zcmMvbGFrZWJhc2UtcHJveHkvb3B0aW9ucy50c1wiO1xuZXhwb3J0IHR5cGUgeyBMYWtlYmFzZVByb3h5T3B0aW9ucywgUmVzb2x2ZWRMYWtlYmFzZVByb3h5T3B0aW9ucywgTGFrZWJhc2VQcm94eVVybE9wdGlvbnMgfSBmcm9tIFwiLi9zcmMvbGFrZWJhc2UtcHJveHkvb3B0aW9ucy50c1wiO1xuZXhwb3J0IHsgU1NMX1JFUVVFU1QsIENBTkNFTF9SRVFVRVNULCBQUk9UT0NPTF8zLCBQb3N0Z3Jlc1Byb3RvY29sRXJyb3IgfSBmcm9tIFwiLi9zcmMvbGFrZWJhc2UtcHJveHkvcHJvdG9jb2wudHNcIjtcbmV4cG9ydCB0eXBlIHsgU3RhcnR1cE1lc3NhZ2UsIENhbmNlbE1lc3NhZ2UsIEluaXRpYWxNZXNzYWdlIH0gZnJvbSBcIi4vc3JjL2xha2ViYXNlLXByb3h5L3Byb3RvY29sLnRzXCI7XG5leHBvcnQgeyBMYWtlYmFzZVByb3h5IH0gZnJvbSBcIi4vc3JjL2xha2ViYXNlLXByb3h5L3Byb3h5LnRzXCI7XG5leHBvcnQgdHlwZSB7IE1vZGVsR2F0ZXdheUNsaURlcGVuZGVuY2llcyB9IGZyb20gXCIuL3NyYy9tb2RlbC1nYXRld2F5L2NsaS50c1wiO1xuZXhwb3J0IHsgd29ya3NwYWNlUm9vdCB9IGZyb20gXCIuL3NyYy9yb290LnRzXCI7XG5leHBvcnQgeyBUdW5uZWxPcHRpb25zU2NoZW1hIH0gZnJvbSBcIi4vc3JjL3R1bm5lbC9vcHRpb25zLnRzXCI7XG5leHBvcnQgdHlwZSB7IFR1bm5lbE9wdGlvbnMsIFJlc29sdmVkVHVubmVsT3B0aW9ucyB9IGZyb20gXCIuL3NyYy90dW5uZWwvb3B0aW9ucy50c1wiO1xuZXhwb3J0IHR5cGUgeyBQcm94eU9wdGlvbnMgfSBmcm9tIFwiLi9zcmMvdHVubmVsL3Byb3h5LnRzXCI7XG4iXX0=
@@ -1,6 +1,6 @@
1
+ import { type GraphitiRuntimeOptions } from "@dbx-tools/appkit-graphiti/runtime";
1
2
  import { type CliServiceCliDependencies } from "@dbx-tools/cli-service/cli";
2
3
  import { type CliServiceDefinition } from "@dbx-tools/cli-service/definition";
3
- import { type GraphitiRuntimeOptions } from "@dbx-tools/appkit-graphiti/runtime";
4
4
  import { Command } from "commander";
5
5
  import { type GraphitiOptions } from "./options.ts";
6
6
  /** Injectable runtime and service lifecycle boundaries for CLI callers. */
@@ -7,22 +7,35 @@
7
7
  *
8
8
  * @module
9
9
  */
10
+ import { homedir } from "node:os";
11
+ import { join } from "node:path";
12
+ import { runGraphiti } from "@dbx-tools/appkit-graphiti/runtime";
10
13
  import { addArgs, parseArgs, serializeArgs } from "@dbx-tools/cli-args";
11
14
  import { buildServiceCommand } from "@dbx-tools/cli-service/cli";
12
15
  import { defineService } from "@dbx-tools/cli-service/definition";
13
- import { runGraphiti, } from "@dbx-tools/appkit-graphiti/runtime";
16
+ import { serviceTrayIcon } from "@dbx-tools/cli-service/icon";
14
17
  import { Command } from "commander";
15
18
  import { GraphitiCliOptionsSchema, GraphitiOptionsSchema, } from "./options.js";
16
19
  import { PACKAGE_VERSION } from "../../index.js";
20
+ const DEFAULT_SERVICE_DIRECTORY = join(homedir(), ".dbx-tools", "services", "graphiti");
21
+ const DEFAULT_SERVICE_HOME = join(homedir(), ".dbx-tools", "graphiti");
17
22
  /** Define a Graphiti service without duplicating installation or lifecycle policy. */
18
23
  export function graphitiServiceDefinition(options = {}) {
24
+ const resolved = GraphitiOptionsSchema.parse({
25
+ ...options,
26
+ graphitiHome: options.graphitiHome ?? DEFAULT_SERVICE_HOME,
27
+ });
19
28
  return defineService(import.meta.url, {
20
29
  id: "dbx-tools.cli-graphiti",
21
30
  name: "dbx graphiti",
22
- pythonPackage: { name: "dbx-tools-graphiti" },
31
+ icon: serviceTrayIcon("graphiti"),
32
+ dataDirectory: DEFAULT_SERVICE_DIRECTORY,
33
+ pythonPackage: {
34
+ name: resolved.databaseUrl ? "dbx-tools-graphiti" : "dbx-tools-graphiti[dev]",
35
+ },
23
36
  command: {
24
37
  binName: "dbx-graphiti",
25
- arguments: serializeArgs(GraphitiOptionsSchema.parse(options)),
38
+ arguments: serializeArgs(resolved),
26
39
  },
27
40
  });
28
41
  }
@@ -40,4 +53,4 @@ export function buildProgram(name = "dbx graphiti", dependencies = { run: runGra
40
53
  function graphitiOptions(command) {
41
54
  return GraphitiOptionsSchema.parse(parseArgs(command, GraphitiCliOptionsSchema));
42
55
  }
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dyYXBoaXRpL2NsaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUNILE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBa0MsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRyxPQUFPLEVBQUUsYUFBYSxFQUE2QixNQUFNLG1DQUFtQyxDQUFDO0FBQzdGLE9BQU8sRUFDTCxXQUFXLEdBRVosTUFBTSxvQ0FBb0MsQ0FBQztBQUM1QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXBDLE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIscUJBQXFCLEdBRXRCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQWFqRCxzRkFBc0Y7QUFDdEYsTUFBTSxVQUFVLHlCQUF5QixDQUN2QyxVQUFrQyxFQUFFO0lBRXBDLE9BQU8sYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ3BDLEVBQUUsRUFBRSx3QkFBd0I7UUFDNUIsSUFBSSxFQUFFLGNBQWM7UUFDcEIsYUFBYSxFQUFFLEVBQUUsSUFBSSxFQUFFLG9CQUFvQixFQUFFO1FBQzdDLE9BQU8sRUFBRTtZQUNQLE9BQU8sRUFBRSxjQUFjO1lBQ3ZCLFNBQVMsRUFBRSxhQUFhLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQy9EO0tBQ0YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELHNFQUFzRTtBQUN0RSxNQUFNLFVBQVUsWUFBWSxDQUMxQixJQUFJLEdBQUcsY0FBYyxFQUNyQixlQUF3QyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUU7SUFFNUQsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUNyQixJQUFJLE9BQU8sRUFBRTtTQUNWLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDVixXQUFXLENBQUMseURBQXlELENBQUM7U0FDdEUsT0FBTyxDQUFDLGVBQWUsRUFBRSxlQUFlLENBQUMsRUFDNUMsd0JBQXdCLENBQ3pCLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFO1FBQ2xCLE1BQU0sWUFBWSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNuRCxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sQ0FBQyxVQUFVLENBQ2hCLG1CQUFtQixDQUNqQixHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsRUFDekQsWUFBWSxDQUFDLE9BQU8sQ0FDckIsQ0FDRixDQUFDO0lBQ0YsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQztBQUVELFNBQVMsZUFBZSxDQUFDLE9BQWdCO0lBQ3ZDLE9BQU8scUJBQXFCLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsd0JBQXdCLENBQUMsQ0FBQyxDQUFDO0FBQ25GLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvbW1hbmRlci1vd25lZCBHcmFwaGl0aSBDTEkgYW5kIHNoYXJlZCBjdXJyZW50LXVzZXIgc2VydmljZSBkZWZpbml0aW9uLlxuICpcbiAqIFRoaXMgbW9kdWxlIG93bnMgZXZlcnkgdXNlci1mYWNpbmcgR3JhcGhpdGkgY29tbWFuZC4gVGhlIHNoYXJlZCBHcmFwaGl0aSBab2RcbiAqIHNjaGVtYSBvd25zIGl0cyBvcHRpb25zLCBlbnZpcm9ubWVudCBuYW1lcywgZGVmYXVsdHMsIGFuZCB2YWxpZGF0aW9uLiBUaGVcbiAqIE5vZGUgR3JhcGhpdGkgcGFja2FnZSBvd25zIHJ1bnRpbWUgYW5kIFB5dGhvbiBpbnRlcmFjdGlvbi5cbiAqXG4gKiBAbW9kdWxlXG4gKi9cbmltcG9ydCB7IGFkZEFyZ3MsIHBhcnNlQXJncywgc2VyaWFsaXplQXJncyB9IGZyb20gXCJAZGJ4LXRvb2xzL2NsaS1hcmdzXCI7XG5pbXBvcnQgeyBidWlsZFNlcnZpY2VDb21tYW5kLCB0eXBlIENsaVNlcnZpY2VDbGlEZXBlbmRlbmNpZXMgfSBmcm9tIFwiQGRieC10b29scy9jbGktc2VydmljZS9jbGlcIjtcbmltcG9ydCB7IGRlZmluZVNlcnZpY2UsIHR5cGUgQ2xpU2VydmljZURlZmluaXRpb24gfSBmcm9tIFwiQGRieC10b29scy9jbGktc2VydmljZS9kZWZpbml0aW9uXCI7XG5pbXBvcnQge1xuICBydW5HcmFwaGl0aSxcbiAgdHlwZSBHcmFwaGl0aVJ1bnRpbWVPcHRpb25zLFxufSBmcm9tIFwiQGRieC10b29scy9hcHBraXQtZ3JhcGhpdGkvcnVudGltZVwiO1xuaW1wb3J0IHsgQ29tbWFuZCB9IGZyb20gXCJjb21tYW5kZXJcIjtcblxuaW1wb3J0IHtcbiAgR3JhcGhpdGlDbGlPcHRpb25zU2NoZW1hLFxuICBHcmFwaGl0aU9wdGlvbnNTY2hlbWEsXG4gIHR5cGUgR3JhcGhpdGlPcHRpb25zLFxufSBmcm9tIFwiLi9vcHRpb25zLnRzXCI7XG5pbXBvcnQgeyBQQUNLQUdFX1ZFUlNJT04gfSBmcm9tIFwiLi4vLi4vaW5kZXgudHNcIjtcblxuLyoqIEluamVjdGFibGUgcnVudGltZSBhbmQgc2VydmljZSBsaWZlY3ljbGUgYm91bmRhcmllcyBmb3IgQ0xJIGNhbGxlcnMuICovXG5leHBvcnQgaW50ZXJmYWNlIEdyYXBoaXRpQ2xpRGVwZW5kZW5jaWVzIHtcbiAgLyoqIFJ1biB0aGUgR3JhcGhpdGkgc3RhY2sgdGhyb3VnaCB0aGUgTm9kZSBydW50aW1lIG93bmVyLiAqL1xuICBydW4ob3B0aW9uczogR3JhcGhpdGlSdW50aW1lT3B0aW9ucyk6IFByb21pc2U8dm9pZD47XG4gIC8qKiBTaGFyZWQgc2VydmljZSBjb21tYW5kIGRlcGVuZGVuY2llcyBmb3IgdGVzdHMgYW5kIGVtYmVkZGluZy4gKi9cbiAgcmVhZG9ubHkgc2VydmljZT86IENsaVNlcnZpY2VDbGlEZXBlbmRlbmNpZXM7XG59XG5cbi8qKiBSdW50aW1lIG9wdGlvbnMgcGVyc2lzdGVkIHdoZW4gaW5zdGFsbGluZyB0aGUgR3JhcGhpdGkgZGVza3RvcCBzZXJ2aWNlLiAqL1xuZXhwb3J0IHR5cGUgR3JhcGhpdGlTZXJ2aWNlT3B0aW9ucyA9IEdyYXBoaXRpT3B0aW9ucztcblxuLyoqIERlZmluZSBhIEdyYXBoaXRpIHNlcnZpY2Ugd2l0aG91dCBkdXBsaWNhdGluZyBpbnN0YWxsYXRpb24gb3IgbGlmZWN5Y2xlIHBvbGljeS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBncmFwaGl0aVNlcnZpY2VEZWZpbml0aW9uKFxuICBvcHRpb25zOiBHcmFwaGl0aVNlcnZpY2VPcHRpb25zID0ge30sXG4pOiBDbGlTZXJ2aWNlRGVmaW5pdGlvbiB7XG4gIHJldHVybiBkZWZpbmVTZXJ2aWNlKGltcG9ydC5tZXRhLnVybCwge1xuICAgIGlkOiBcImRieC10b29scy5jbGktZ3JhcGhpdGlcIixcbiAgICBuYW1lOiBcImRieCBncmFwaGl0aVwiLFxuICAgIHB5dGhvblBhY2thZ2U6IHsgbmFtZTogXCJkYngtdG9vbHMtZ3JhcGhpdGlcIiB9LFxuICAgIGNvbW1hbmQ6IHtcbiAgICAgIGJpbk5hbWU6IFwiZGJ4LWdyYXBoaXRpXCIsXG4gICAgICBhcmd1bWVudHM6IHNlcmlhbGl6ZUFyZ3MoR3JhcGhpdGlPcHRpb25zU2NoZW1hLnBhcnNlKG9wdGlvbnMpKSxcbiAgICB9LFxuICB9KTtcbn1cblxuLyoqIEJ1aWxkIGZvcmVncm91bmQgZXhlY3V0aW9uIGFuZCBzaGFyZWQgZGVza3RvcC1zZXJ2aWNlIGNvbW1hbmRzLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkUHJvZ3JhbShcbiAgbmFtZSA9IFwiZGJ4IGdyYXBoaXRpXCIsXG4gIGRlcGVuZGVuY2llczogR3JhcGhpdGlDbGlEZXBlbmRlbmNpZXMgPSB7IHJ1bjogcnVuR3JhcGhpdGkgfSxcbik6IENvbW1hbmQge1xuICBjb25zdCBwcm9ncmFtID0gYWRkQXJncyhcbiAgICBuZXcgQ29tbWFuZCgpXG4gICAgICAubmFtZShuYW1lKVxuICAgICAgLmRlc2NyaXB0aW9uKFwiUnVuIEdyYXBoaXRpIG9yIG1hbmFnZSBpdHMgY3VycmVudC11c2VyIGRlc2t0b3Agc2VydmljZVwiKVxuICAgICAgLnZlcnNpb24oUEFDS0FHRV9WRVJTSU9OLCBcIi12LCAtLXZlcnNpb25cIiksXG4gICAgR3JhcGhpdGlDbGlPcHRpb25zU2NoZW1hLFxuICApLmFjdGlvbihhc3luYyAoKSA9PiB7XG4gICAgYXdhaXQgZGVwZW5kZW5jaWVzLnJ1bihncmFwaGl0aU9wdGlvbnMocHJvZ3JhbSkpO1xuICB9KTtcblxuICBwcm9ncmFtLmFkZENvbW1hbmQoXG4gICAgYnVpbGRTZXJ2aWNlQ29tbWFuZChcbiAgICAgICgpID0+IGdyYXBoaXRpU2VydmljZURlZmluaXRpb24oZ3JhcGhpdGlPcHRpb25zKHByb2dyYW0pKSxcbiAgICAgIGRlcGVuZGVuY2llcy5zZXJ2aWNlLFxuICAgICksXG4gICk7XG4gIHJldHVybiBwcm9ncmFtO1xufVxuXG5mdW5jdGlvbiBncmFwaGl0aU9wdGlvbnMoY29tbWFuZDogQ29tbWFuZCk6IEdyYXBoaXRpT3B0aW9ucyB7XG4gIHJldHVybiBHcmFwaGl0aU9wdGlvbnNTY2hlbWEucGFyc2UocGFyc2VBcmdzKGNvbW1hbmQsIEdyYXBoaXRpQ2xpT3B0aW9uc1NjaGVtYSkpO1xufVxuIl19
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dyYXBoaXRpL2NsaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUNILE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDbEMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVqQyxPQUFPLEVBQUUsV0FBVyxFQUErQixNQUFNLG9DQUFvQyxDQUFDO0FBQzlGLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBa0MsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRyxPQUFPLEVBQUUsYUFBYSxFQUE2QixNQUFNLG1DQUFtQyxDQUFDO0FBQzdGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXBDLE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIscUJBQXFCLEdBRXRCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRCxNQUFNLHlCQUF5QixHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQ3hGLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLFlBQVksRUFBRSxVQUFVLENBQUMsQ0FBQztBQWF2RSxzRkFBc0Y7QUFDdEYsTUFBTSxVQUFVLHlCQUF5QixDQUN2QyxVQUFrQyxFQUFFO0lBRXBDLE1BQU0sUUFBUSxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQztRQUMzQyxHQUFHLE9BQU87UUFDVixZQUFZLEVBQUUsT0FBTyxDQUFDLFlBQVksSUFBSSxvQkFBb0I7S0FDM0QsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDcEMsRUFBRSxFQUFFLHdCQUF3QjtRQUM1QixJQUFJLEVBQUUsY0FBYztRQUNwQixJQUFJLEVBQUUsZUFBZSxDQUFDLFVBQVUsQ0FBQztRQUNqQyxhQUFhLEVBQUUseUJBQXlCO1FBQ3hDLGFBQWEsRUFBRTtZQUNiLElBQUksRUFBRSxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMseUJBQXlCO1NBQzlFO1FBQ0QsT0FBTyxFQUFFO1lBQ1AsT0FBTyxFQUFFLGNBQWM7WUFDdkIsU0FBUyxFQUFFLGFBQWEsQ0FBQyxRQUFRLENBQUM7U0FDbkM7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsc0VBQXNFO0FBQ3RFLE1BQU0sVUFBVSxZQUFZLENBQzFCLElBQUksR0FBRyxjQUFjLEVBQ3JCLGVBQXdDLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRTtJQUU1RCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQ3JCLElBQUksT0FBTyxFQUFFO1NBQ1YsSUFBSSxDQUFDLElBQUksQ0FBQztTQUNWLFdBQVcsQ0FBQyx5REFBeUQsQ0FBQztTQUN0RSxPQUFPLENBQUMsZUFBZSxFQUFFLGVBQWUsQ0FBQyxFQUM1Qyx3QkFBd0IsQ0FDekIsQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUU7UUFDbEIsTUFBTSxZQUFZLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ25ELENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxDQUFDLFVBQVUsQ0FDaEIsbUJBQW1CLENBQ2pCLEdBQUcsRUFBRSxDQUFDLHlCQUF5QixDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUN6RCxZQUFZLENBQUMsT0FBTyxDQUNyQixDQUNGLENBQUM7SUFDRixPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDO0FBRUQsU0FBUyxlQUFlLENBQUMsT0FBZ0I7SUFDdkMsT0FBTyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSx3QkFBd0IsQ0FBQyxDQUFDLENBQUM7QUFDbkYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29tbWFuZGVyLW93bmVkIEdyYXBoaXRpIENMSSBhbmQgc2hhcmVkIGN1cnJlbnQtdXNlciBzZXJ2aWNlIGRlZmluaXRpb24uXG4gKlxuICogVGhpcyBtb2R1bGUgb3ducyBldmVyeSB1c2VyLWZhY2luZyBHcmFwaGl0aSBjb21tYW5kLiBUaGUgc2hhcmVkIEdyYXBoaXRpIFpvZFxuICogc2NoZW1hIG93bnMgaXRzIG9wdGlvbnMsIGVudmlyb25tZW50IG5hbWVzLCBkZWZhdWx0cywgYW5kIHZhbGlkYXRpb24uIFRoZVxuICogTm9kZSBHcmFwaGl0aSBwYWNrYWdlIG93bnMgcnVudGltZSBhbmQgUHl0aG9uIGludGVyYWN0aW9uLlxuICpcbiAqIEBtb2R1bGVcbiAqL1xuaW1wb3J0IHsgaG9tZWRpciB9IGZyb20gXCJub2RlOm9zXCI7XG5pbXBvcnQgeyBqb2luIH0gZnJvbSBcIm5vZGU6cGF0aFwiO1xuXG5pbXBvcnQgeyBydW5HcmFwaGl0aSwgdHlwZSBHcmFwaGl0aVJ1bnRpbWVPcHRpb25zIH0gZnJvbSBcIkBkYngtdG9vbHMvYXBwa2l0LWdyYXBoaXRpL3J1bnRpbWVcIjtcbmltcG9ydCB7IGFkZEFyZ3MsIHBhcnNlQXJncywgc2VyaWFsaXplQXJncyB9IGZyb20gXCJAZGJ4LXRvb2xzL2NsaS1hcmdzXCI7XG5pbXBvcnQgeyBidWlsZFNlcnZpY2VDb21tYW5kLCB0eXBlIENsaVNlcnZpY2VDbGlEZXBlbmRlbmNpZXMgfSBmcm9tIFwiQGRieC10b29scy9jbGktc2VydmljZS9jbGlcIjtcbmltcG9ydCB7IGRlZmluZVNlcnZpY2UsIHR5cGUgQ2xpU2VydmljZURlZmluaXRpb24gfSBmcm9tIFwiQGRieC10b29scy9jbGktc2VydmljZS9kZWZpbml0aW9uXCI7XG5pbXBvcnQgeyBzZXJ2aWNlVHJheUljb24gfSBmcm9tIFwiQGRieC10b29scy9jbGktc2VydmljZS9pY29uXCI7XG5pbXBvcnQgeyBDb21tYW5kIH0gZnJvbSBcImNvbW1hbmRlclwiO1xuXG5pbXBvcnQge1xuICBHcmFwaGl0aUNsaU9wdGlvbnNTY2hlbWEsXG4gIEdyYXBoaXRpT3B0aW9uc1NjaGVtYSxcbiAgdHlwZSBHcmFwaGl0aU9wdGlvbnMsXG59IGZyb20gXCIuL29wdGlvbnMudHNcIjtcbmltcG9ydCB7IFBBQ0tBR0VfVkVSU0lPTiB9IGZyb20gXCIuLi8uLi9pbmRleC50c1wiO1xuXG5jb25zdCBERUZBVUxUX1NFUlZJQ0VfRElSRUNUT1JZID0gam9pbihob21lZGlyKCksIFwiLmRieC10b29sc1wiLCBcInNlcnZpY2VzXCIsIFwiZ3JhcGhpdGlcIik7XG5jb25zdCBERUZBVUxUX1NFUlZJQ0VfSE9NRSA9IGpvaW4oaG9tZWRpcigpLCBcIi5kYngtdG9vbHNcIiwgXCJncmFwaGl0aVwiKTtcblxuLyoqIEluamVjdGFibGUgcnVudGltZSBhbmQgc2VydmljZSBsaWZlY3ljbGUgYm91bmRhcmllcyBmb3IgQ0xJIGNhbGxlcnMuICovXG5leHBvcnQgaW50ZXJmYWNlIEdyYXBoaXRpQ2xpRGVwZW5kZW5jaWVzIHtcbiAgLyoqIFJ1biB0aGUgR3JhcGhpdGkgc3RhY2sgdGhyb3VnaCB0aGUgTm9kZSBydW50aW1lIG93bmVyLiAqL1xuICBydW4ob3B0aW9uczogR3JhcGhpdGlSdW50aW1lT3B0aW9ucyk6IFByb21pc2U8dm9pZD47XG4gIC8qKiBTaGFyZWQgc2VydmljZSBjb21tYW5kIGRlcGVuZGVuY2llcyBmb3IgdGVzdHMgYW5kIGVtYmVkZGluZy4gKi9cbiAgcmVhZG9ubHkgc2VydmljZT86IENsaVNlcnZpY2VDbGlEZXBlbmRlbmNpZXM7XG59XG5cbi8qKiBSdW50aW1lIG9wdGlvbnMgcGVyc2lzdGVkIHdoZW4gaW5zdGFsbGluZyB0aGUgR3JhcGhpdGkgZGVza3RvcCBzZXJ2aWNlLiAqL1xuZXhwb3J0IHR5cGUgR3JhcGhpdGlTZXJ2aWNlT3B0aW9ucyA9IEdyYXBoaXRpT3B0aW9ucztcblxuLyoqIERlZmluZSBhIEdyYXBoaXRpIHNlcnZpY2Ugd2l0aG91dCBkdXBsaWNhdGluZyBpbnN0YWxsYXRpb24gb3IgbGlmZWN5Y2xlIHBvbGljeS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBncmFwaGl0aVNlcnZpY2VEZWZpbml0aW9uKFxuICBvcHRpb25zOiBHcmFwaGl0aVNlcnZpY2VPcHRpb25zID0ge30sXG4pOiBDbGlTZXJ2aWNlRGVmaW5pdGlvbiB7XG4gIGNvbnN0IHJlc29sdmVkID0gR3JhcGhpdGlPcHRpb25zU2NoZW1hLnBhcnNlKHtcbiAgICAuLi5vcHRpb25zLFxuICAgIGdyYXBoaXRpSG9tZTogb3B0aW9ucy5ncmFwaGl0aUhvbWUgPz8gREVGQVVMVF9TRVJWSUNFX0hPTUUsXG4gIH0pO1xuICByZXR1cm4gZGVmaW5lU2VydmljZShpbXBvcnQubWV0YS51cmwsIHtcbiAgICBpZDogXCJkYngtdG9vbHMuY2xpLWdyYXBoaXRpXCIsXG4gICAgbmFtZTogXCJkYnggZ3JhcGhpdGlcIixcbiAgICBpY29uOiBzZXJ2aWNlVHJheUljb24oXCJncmFwaGl0aVwiKSxcbiAgICBkYXRhRGlyZWN0b3J5OiBERUZBVUxUX1NFUlZJQ0VfRElSRUNUT1JZLFxuICAgIHB5dGhvblBhY2thZ2U6IHtcbiAgICAgIG5hbWU6IHJlc29sdmVkLmRhdGFiYXNlVXJsID8gXCJkYngtdG9vbHMtZ3JhcGhpdGlcIiA6IFwiZGJ4LXRvb2xzLWdyYXBoaXRpW2Rldl1cIixcbiAgICB9LFxuICAgIGNvbW1hbmQ6IHtcbiAgICAgIGJpbk5hbWU6IFwiZGJ4LWdyYXBoaXRpXCIsXG4gICAgICBhcmd1bWVudHM6IHNlcmlhbGl6ZUFyZ3MocmVzb2x2ZWQpLFxuICAgIH0sXG4gIH0pO1xufVxuXG4vKiogQnVpbGQgZm9yZWdyb3VuZCBleGVjdXRpb24gYW5kIHNoYXJlZCBkZXNrdG9wLXNlcnZpY2UgY29tbWFuZHMuICovXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRQcm9ncmFtKFxuICBuYW1lID0gXCJkYnggZ3JhcGhpdGlcIixcbiAgZGVwZW5kZW5jaWVzOiBHcmFwaGl0aUNsaURlcGVuZGVuY2llcyA9IHsgcnVuOiBydW5HcmFwaGl0aSB9LFxuKTogQ29tbWFuZCB7XG4gIGNvbnN0IHByb2dyYW0gPSBhZGRBcmdzKFxuICAgIG5ldyBDb21tYW5kKClcbiAgICAgIC5uYW1lKG5hbWUpXG4gICAgICAuZGVzY3JpcHRpb24oXCJSdW4gR3JhcGhpdGkgb3IgbWFuYWdlIGl0cyBjdXJyZW50LXVzZXIgZGVza3RvcCBzZXJ2aWNlXCIpXG4gICAgICAudmVyc2lvbihQQUNLQUdFX1ZFUlNJT04sIFwiLXYsIC0tdmVyc2lvblwiKSxcbiAgICBHcmFwaGl0aUNsaU9wdGlvbnNTY2hlbWEsXG4gICkuYWN0aW9uKGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBkZXBlbmRlbmNpZXMucnVuKGdyYXBoaXRpT3B0aW9ucyhwcm9ncmFtKSk7XG4gIH0pO1xuXG4gIHByb2dyYW0uYWRkQ29tbWFuZChcbiAgICBidWlsZFNlcnZpY2VDb21tYW5kKFxuICAgICAgKCkgPT4gZ3JhcGhpdGlTZXJ2aWNlRGVmaW5pdGlvbihncmFwaGl0aU9wdGlvbnMocHJvZ3JhbSkpLFxuICAgICAgZGVwZW5kZW5jaWVzLnNlcnZpY2UsXG4gICAgKSxcbiAgKTtcbiAgcmV0dXJuIHByb2dyYW07XG59XG5cbmZ1bmN0aW9uIGdyYXBoaXRpT3B0aW9ucyhjb21tYW5kOiBDb21tYW5kKTogR3JhcGhpdGlPcHRpb25zIHtcbiAgcmV0dXJuIEdyYXBoaXRpT3B0aW9uc1NjaGVtYS5wYXJzZShwYXJzZUFyZ3MoY29tbWFuZCwgR3JhcGhpdGlDbGlPcHRpb25zU2NoZW1hKSk7XG59XG4iXX0=
@@ -2,6 +2,7 @@
2
2
  import { addArgs, parseArgs, serializeArgs } from "@dbx-tools/cli-args";
3
3
  import { buildServiceCommand } from "@dbx-tools/cli-service/cli";
4
4
  import { defineService } from "@dbx-tools/cli-service/definition";
5
+ import { serviceTrayIcon } from "@dbx-tools/cli-service/icon";
5
6
  import { connectionUrl } from "@dbx-tools/lakebase";
6
7
  import { Command } from "commander";
7
8
  import { LakebaseProxyOptionsSchema, LakebaseProxyUrlOptionsSchema, resolveLakebaseProxyOptions, } from "./options.js";
@@ -13,6 +14,7 @@ export function lakebaseProxyServiceDefinition(options = {}) {
13
14
  return defineService(import.meta.url, {
14
15
  id: "dbx-tools.cli-lakebase-proxy",
15
16
  name: "dbx lakebase proxy",
17
+ icon: serviceTrayIcon("lakebase"),
16
18
  command: {
17
19
  binName: "dbx-lakebase-proxy",
18
20
  arguments: serializeArgs(resolved),
@@ -51,4 +53,4 @@ function waitForShutdown() {
51
53
  process.once("SIGTERM", shutdown);
52
54
  });
53
55
  }
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xha2ViYXNlLXByb3h5L2NsaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw4REFBOEQ7QUFFOUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFrQyxNQUFNLDRCQUE0QixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxhQUFhLEVBQTZCLE1BQU0sbUNBQW1DLENBQUM7QUFDN0YsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFcEMsT0FBTyxFQUNMLDBCQUEwQixFQUMxQiw2QkFBNkIsRUFDN0IsMkJBQTJCLEdBRTVCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBT2pELDZEQUE2RDtBQUM3RCxNQUFNLFVBQVUsOEJBQThCLENBQzVDLFVBQWdDLEVBQUU7SUFFbEMsTUFBTSxRQUFRLEdBQUcsMkJBQTJCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEQsT0FBTyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDcEMsRUFBRSxFQUFFLDhCQUE4QjtRQUNsQyxJQUFJLEVBQUUsb0JBQW9CO1FBQzFCLE9BQU8sRUFBRTtZQUNQLE9BQU8sRUFBRSxvQkFBb0I7WUFDN0IsU0FBUyxFQUFFLGFBQWEsQ0FBQyxRQUFRLENBQUM7U0FDbkM7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQscURBQXFEO0FBQ3JELE1BQU0sVUFBVSxZQUFZLENBQzFCLElBQUksR0FBRyxvQkFBb0IsRUFDM0IsZUFBNkMsRUFBRTtJQUUvQyxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQ3JCLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQztTQUNkLFdBQVcsQ0FBQyx5REFBeUQsQ0FBQztTQUN0RSxPQUFPLENBQUMsZUFBZSxDQUFDO1NBQ3hCLHVCQUF1QixFQUFFLEVBQzVCLDBCQUEwQixDQUMzQixDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksRUFBRTtRQUNsQixNQUFNLEtBQUssR0FBRyxJQUFJLGFBQWEsQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLDBCQUEwQixDQUFDLENBQUMsQ0FBQztRQUNoRixNQUFNLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNyQixNQUFNLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLE1BQU0sS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBRUgsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUN4QixPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLFdBQVcsQ0FBQyxxREFBcUQsQ0FBQyxFQUN6Riw2QkFBNkIsQ0FDOUIsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFO1FBQ1osTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLFVBQVUsRUFBRSw2QkFBNkIsQ0FBQyxDQUFDO1FBQ3JFLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDLGdCQUFpQixDQUFDO1FBQzNELE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsYUFBYSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvRixDQUFDLENBQUMsQ0FBQztJQUNILElBQUksY0FBd0IsQ0FBQztJQUM3QixNQUFNLGNBQWMsR0FBRyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUU7UUFDOUMsT0FBTyw4QkFBOEIsQ0FBQyxTQUFTLENBQUMsY0FBYyxFQUFFLDBCQUEwQixDQUFDLENBQUMsQ0FBQztJQUMvRixDQUFDLEVBQUUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3pCLGNBQWMsR0FBRyxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLFNBQVMsQ0FBRSxDQUFDO0lBQzFGLE9BQU8sQ0FBQyxjQUFjLEVBQUUsMEJBQTBCLENBQUMsQ0FBQztJQUNwRCxPQUFPLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ25DLE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUM7QUFFRCxTQUFTLGVBQWU7SUFDdEIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1FBQzdCLE1BQU0sUUFBUSxHQUFHLEdBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2pDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ2pDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3BDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBDb21tYW5kZXIgZW50cnkgcG9pbnQgZm9yIHRoZSBwdXJlIE5vZGUgTGFrZWJhc2UgcHJveHkuICovXG5cbmltcG9ydCB7IGFkZEFyZ3MsIHBhcnNlQXJncywgc2VyaWFsaXplQXJncyB9IGZyb20gXCJAZGJ4LXRvb2xzL2NsaS1hcmdzXCI7XG5pbXBvcnQgeyBidWlsZFNlcnZpY2VDb21tYW5kLCB0eXBlIENsaVNlcnZpY2VDbGlEZXBlbmRlbmNpZXMgfSBmcm9tIFwiQGRieC10b29scy9jbGktc2VydmljZS9jbGlcIjtcbmltcG9ydCB7IGRlZmluZVNlcnZpY2UsIHR5cGUgQ2xpU2VydmljZURlZmluaXRpb24gfSBmcm9tIFwiQGRieC10b29scy9jbGktc2VydmljZS9kZWZpbml0aW9uXCI7XG5pbXBvcnQgeyBjb25uZWN0aW9uVXJsIH0gZnJvbSBcIkBkYngtdG9vbHMvbGFrZWJhc2VcIjtcbmltcG9ydCB7IENvbW1hbmQgfSBmcm9tIFwiY29tbWFuZGVyXCI7XG5cbmltcG9ydCB7XG4gIExha2ViYXNlUHJveHlPcHRpb25zU2NoZW1hLFxuICBMYWtlYmFzZVByb3h5VXJsT3B0aW9uc1NjaGVtYSxcbiAgcmVzb2x2ZUxha2ViYXNlUHJveHlPcHRpb25zLFxuICB0eXBlIExha2ViYXNlUHJveHlPcHRpb25zLFxufSBmcm9tIFwiLi9vcHRpb25zLnRzXCI7XG5pbXBvcnQgeyBMYWtlYmFzZVByb3h5IH0gZnJvbSBcIi4vcHJveHkudHNcIjtcbmltcG9ydCB7IFBBQ0tBR0VfVkVSU0lPTiB9IGZyb20gXCIuLi8uLi9pbmRleC50c1wiO1xuXG4vKiogSW5qZWN0YWJsZSBzZXJ2aWNlIGJvdW5kYXJ5IGZvciBMYWtlYmFzZSBwcm94eSBDTEkgY29tcG9zaXRpb24gYW5kIHRlc3RzLiAqL1xuZXhwb3J0IGludGVyZmFjZSBMYWtlYmFzZVByb3h5Q2xpRGVwZW5kZW5jaWVzIHtcbiAgcmVhZG9ubHkgc2VydmljZT86IENsaVNlcnZpY2VDbGlEZXBlbmRlbmNpZXM7XG59XG5cbi8qKiBCdWlsZCB0aGUgdHJheS1vbmx5IExha2ViYXNlIHByb3h5IHNlcnZpY2UgZGVmaW5pdGlvbi4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsYWtlYmFzZVByb3h5U2VydmljZURlZmluaXRpb24oXG4gIG9wdGlvbnM6IExha2ViYXNlUHJveHlPcHRpb25zID0ge30sXG4pOiBDbGlTZXJ2aWNlRGVmaW5pdGlvbiB7XG4gIGNvbnN0IHJlc29sdmVkID0gcmVzb2x2ZUxha2ViYXNlUHJveHlPcHRpb25zKG9wdGlvbnMpO1xuICByZXR1cm4gZGVmaW5lU2VydmljZShpbXBvcnQubWV0YS51cmwsIHtcbiAgICBpZDogXCJkYngtdG9vbHMuY2xpLWxha2ViYXNlLXByb3h5XCIsXG4gICAgbmFtZTogXCJkYnggbGFrZWJhc2UgcHJveHlcIixcbiAgICBjb21tYW5kOiB7XG4gICAgICBiaW5OYW1lOiBcImRieC1sYWtlYmFzZS1wcm94eVwiLFxuICAgICAgYXJndW1lbnRzOiBzZXJpYWxpemVBcmdzKHJlc29sdmVkKSxcbiAgICB9LFxuICB9KTtcbn1cblxuLyoqIEJ1aWxkIHRoZSBMYWtlYmFzZSBwcm94eSBjb21tYW5kLWxpbmUgcHJvZ3JhbS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFByb2dyYW0oXG4gIG5hbWUgPSBcImRieCBsYWtlYmFzZS1wcm94eVwiLFxuICBkZXBlbmRlbmNpZXM6IExha2ViYXNlUHJveHlDbGlEZXBlbmRlbmNpZXMgPSB7fSxcbik6IENvbW1hbmQge1xuICBjb25zdCBwcm9ncmFtID0gYWRkQXJncyhcbiAgICBuZXcgQ29tbWFuZChuYW1lKVxuICAgICAgLmRlc2NyaXB0aW9uKFwiUnVuIGEgbG9vcGJhY2sgUG9zdGdyZVNRTCBwcm94eSBmb3IgRGF0YWJyaWNrcyBMYWtlYmFzZVwiKVxuICAgICAgLnZlcnNpb24oUEFDS0FHRV9WRVJTSU9OKVxuICAgICAgLmVuYWJsZVBvc2l0aW9uYWxPcHRpb25zKCksXG4gICAgTGFrZWJhc2VQcm94eU9wdGlvbnNTY2hlbWEsXG4gICkuYWN0aW9uKGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBwcm94eSA9IG5ldyBMYWtlYmFzZVByb3h5KHBhcnNlQXJncyhwcm9ncmFtLCBMYWtlYmFzZVByb3h5T3B0aW9uc1NjaGVtYSkpO1xuICAgIGF3YWl0IHByb3h5Lmxpc3RlbigpO1xuICAgIGF3YWl0IHdhaXRGb3JTaHV0ZG93bigpO1xuICAgIGF3YWl0IHByb3h5LmNsb3NlKCk7XG4gIH0pO1xuXG4gIGNvbnN0IHVybENvbW1hbmQgPSBhZGRBcmdzKFxuICAgIHByb2dyYW0uY29tbWFuZChcInVybFwiKS5kZXNjcmlwdGlvbihcIkZvcm1hdCBhIGxvY2FsIFBvc3RncmVTUUwgVVJMIGZvciBhIExha2ViYXNlIHRhcmdldFwiKSxcbiAgICBMYWtlYmFzZVByb3h5VXJsT3B0aW9uc1NjaGVtYSxcbiAgKS5hY3Rpb24oKCkgPT4ge1xuICAgIGNvbnN0IG9wdGlvbnMgPSBwYXJzZUFyZ3ModXJsQ29tbWFuZCwgTGFrZWJhc2VQcm94eVVybE9wdGlvbnNTY2hlbWEpO1xuICAgIGNvbnN0IHRhcmdldCA9IG9wdGlvbnMudGFyZ2V0ID8/IG9wdGlvbnMubGFrZWJhc2VFbmRwb2ludCE7XG4gICAgcHJvY2Vzcy5zdGRvdXQud3JpdGUoYCR7Y29ubmVjdGlvblVybCh0YXJnZXQsIG9wdGlvbnMubGlzdGVuLmhvc3QsIG9wdGlvbnMubGlzdGVuLnBvcnQpfVxcbmApO1xuICB9KTtcbiAgbGV0IGluc3RhbGxDb21tYW5kITogQ29tbWFuZDtcbiAgY29uc3Qgc2VydmljZUNvbW1hbmQgPSBidWlsZFNlcnZpY2VDb21tYW5kKCgpID0+IHtcbiAgICByZXR1cm4gbGFrZWJhc2VQcm94eVNlcnZpY2VEZWZpbml0aW9uKHBhcnNlQXJncyhpbnN0YWxsQ29tbWFuZCwgTGFrZWJhc2VQcm94eU9wdGlvbnNTY2hlbWEpKTtcbiAgfSwgZGVwZW5kZW5jaWVzLnNlcnZpY2UpO1xuICBpbnN0YWxsQ29tbWFuZCA9IHNlcnZpY2VDb21tYW5kLmNvbW1hbmRzLmZpbmQoKGNvbW1hbmQpID0+IGNvbW1hbmQubmFtZSgpID09PSBcImluc3RhbGxcIikhO1xuICBhZGRBcmdzKGluc3RhbGxDb21tYW5kLCBMYWtlYmFzZVByb3h5T3B0aW9uc1NjaGVtYSk7XG4gIHByb2dyYW0uYWRkQ29tbWFuZChzZXJ2aWNlQ29tbWFuZCk7XG4gIHJldHVybiBwcm9ncmFtO1xufVxuXG5mdW5jdGlvbiB3YWl0Rm9yU2h1dGRvd24oKTogUHJvbWlzZTx2b2lkPiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgIGNvbnN0IHNodXRkb3duID0gKCkgPT4gcmVzb2x2ZSgpO1xuICAgIHByb2Nlc3Mub25jZShcIlNJR0lOVFwiLCBzaHV0ZG93bik7XG4gICAgcHJvY2Vzcy5vbmNlKFwiU0lHVEVSTVwiLCBzaHV0ZG93bik7XG4gIH0pO1xufVxuIl19
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xha2ViYXNlLXByb3h5L2NsaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw4REFBOEQ7QUFFOUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFrQyxNQUFNLDRCQUE0QixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxhQUFhLEVBQTZCLE1BQU0sbUNBQW1DLENBQUM7QUFDN0YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXBDLE9BQU8sRUFDTCwwQkFBMEIsRUFDMUIsNkJBQTZCLEVBQzdCLDJCQUEyQixHQUU1QixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU9qRCw2REFBNkQ7QUFDN0QsTUFBTSxVQUFVLDhCQUE4QixDQUM1QyxVQUFnQyxFQUFFO0lBRWxDLE1BQU0sUUFBUSxHQUFHLDJCQUEyQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RELE9BQU8sYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ3BDLEVBQUUsRUFBRSw4QkFBOEI7UUFDbEMsSUFBSSxFQUFFLG9CQUFvQjtRQUMxQixJQUFJLEVBQUUsZUFBZSxDQUFDLFVBQVUsQ0FBQztRQUNqQyxPQUFPLEVBQUU7WUFDUCxPQUFPLEVBQUUsb0JBQW9CO1lBQzdCLFNBQVMsRUFBRSxhQUFhLENBQUMsUUFBUSxDQUFDO1NBQ25DO0tBQ0YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELHFEQUFxRDtBQUNyRCxNQUFNLFVBQVUsWUFBWSxDQUMxQixJQUFJLEdBQUcsb0JBQW9CLEVBQzNCLGVBQTZDLEVBQUU7SUFFL0MsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUNyQixJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUM7U0FDZCxXQUFXLENBQUMseURBQXlELENBQUM7U0FDdEUsT0FBTyxDQUFDLGVBQWUsQ0FBQztTQUN4Qix1QkFBdUIsRUFBRSxFQUM1QiwwQkFBMEIsQ0FDM0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUU7UUFDbEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxhQUFhLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSwwQkFBMEIsQ0FBQyxDQUFDLENBQUM7UUFDaEYsTUFBTSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDckIsTUFBTSxlQUFlLEVBQUUsQ0FBQztRQUN4QixNQUFNLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0QixDQUFDLENBQUMsQ0FBQztJQUVILE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FDeEIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLENBQUMscURBQXFELENBQUMsRUFDekYsNkJBQTZCLENBQzlCLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRTtRQUNaLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxVQUFVLEVBQUUsNkJBQTZCLENBQUMsQ0FBQztRQUNyRSxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxJQUFJLE9BQU8sQ0FBQyxnQkFBaUIsQ0FBQztRQUMzRCxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLGFBQWEsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0YsQ0FBQyxDQUFDLENBQUM7SUFDSCxJQUFJLGNBQXdCLENBQUM7SUFDN0IsTUFBTSxjQUFjLEdBQUcsbUJBQW1CLENBQUMsR0FBRyxFQUFFO1FBQzlDLE9BQU8sOEJBQThCLENBQUMsU0FBUyxDQUFDLGNBQWMsRUFBRSwwQkFBMEIsQ0FBQyxDQUFDLENBQUM7SUFDL0YsQ0FBQyxFQUFFLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6QixjQUFjLEdBQUcsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxTQUFTLENBQUUsQ0FBQztJQUMxRixPQUFPLENBQUMsY0FBYyxFQUFFLDBCQUEwQixDQUFDLENBQUM7SUFDcEQsT0FBTyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNuQyxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDO0FBRUQsU0FBUyxlQUFlO0lBQ3RCLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtRQUM3QixNQUFNLFFBQVEsR0FBRyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNqQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNqQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNwQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQ29tbWFuZGVyIGVudHJ5IHBvaW50IGZvciB0aGUgcHVyZSBOb2RlIExha2ViYXNlIHByb3h5LiAqL1xuXG5pbXBvcnQgeyBhZGRBcmdzLCBwYXJzZUFyZ3MsIHNlcmlhbGl6ZUFyZ3MgfSBmcm9tIFwiQGRieC10b29scy9jbGktYXJnc1wiO1xuaW1wb3J0IHsgYnVpbGRTZXJ2aWNlQ29tbWFuZCwgdHlwZSBDbGlTZXJ2aWNlQ2xpRGVwZW5kZW5jaWVzIH0gZnJvbSBcIkBkYngtdG9vbHMvY2xpLXNlcnZpY2UvY2xpXCI7XG5pbXBvcnQgeyBkZWZpbmVTZXJ2aWNlLCB0eXBlIENsaVNlcnZpY2VEZWZpbml0aW9uIH0gZnJvbSBcIkBkYngtdG9vbHMvY2xpLXNlcnZpY2UvZGVmaW5pdGlvblwiO1xuaW1wb3J0IHsgc2VydmljZVRyYXlJY29uIH0gZnJvbSBcIkBkYngtdG9vbHMvY2xpLXNlcnZpY2UvaWNvblwiO1xuaW1wb3J0IHsgY29ubmVjdGlvblVybCB9IGZyb20gXCJAZGJ4LXRvb2xzL2xha2ViYXNlXCI7XG5pbXBvcnQgeyBDb21tYW5kIH0gZnJvbSBcImNvbW1hbmRlclwiO1xuXG5pbXBvcnQge1xuICBMYWtlYmFzZVByb3h5T3B0aW9uc1NjaGVtYSxcbiAgTGFrZWJhc2VQcm94eVVybE9wdGlvbnNTY2hlbWEsXG4gIHJlc29sdmVMYWtlYmFzZVByb3h5T3B0aW9ucyxcbiAgdHlwZSBMYWtlYmFzZVByb3h5T3B0aW9ucyxcbn0gZnJvbSBcIi4vb3B0aW9ucy50c1wiO1xuaW1wb3J0IHsgTGFrZWJhc2VQcm94eSB9IGZyb20gXCIuL3Byb3h5LnRzXCI7XG5pbXBvcnQgeyBQQUNLQUdFX1ZFUlNJT04gfSBmcm9tIFwiLi4vLi4vaW5kZXgudHNcIjtcblxuLyoqIEluamVjdGFibGUgc2VydmljZSBib3VuZGFyeSBmb3IgTGFrZWJhc2UgcHJveHkgQ0xJIGNvbXBvc2l0aW9uIGFuZCB0ZXN0cy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGFrZWJhc2VQcm94eUNsaURlcGVuZGVuY2llcyB7XG4gIHJlYWRvbmx5IHNlcnZpY2U/OiBDbGlTZXJ2aWNlQ2xpRGVwZW5kZW5jaWVzO1xufVxuXG4vKiogQnVpbGQgdGhlIHRyYXktb25seSBMYWtlYmFzZSBwcm94eSBzZXJ2aWNlIGRlZmluaXRpb24uICovXG5leHBvcnQgZnVuY3Rpb24gbGFrZWJhc2VQcm94eVNlcnZpY2VEZWZpbml0aW9uKFxuICBvcHRpb25zOiBMYWtlYmFzZVByb3h5T3B0aW9ucyA9IHt9LFxuKTogQ2xpU2VydmljZURlZmluaXRpb24ge1xuICBjb25zdCByZXNvbHZlZCA9IHJlc29sdmVMYWtlYmFzZVByb3h5T3B0aW9ucyhvcHRpb25zKTtcbiAgcmV0dXJuIGRlZmluZVNlcnZpY2UoaW1wb3J0Lm1ldGEudXJsLCB7XG4gICAgaWQ6IFwiZGJ4LXRvb2xzLmNsaS1sYWtlYmFzZS1wcm94eVwiLFxuICAgIG5hbWU6IFwiZGJ4IGxha2ViYXNlIHByb3h5XCIsXG4gICAgaWNvbjogc2VydmljZVRyYXlJY29uKFwibGFrZWJhc2VcIiksXG4gICAgY29tbWFuZDoge1xuICAgICAgYmluTmFtZTogXCJkYngtbGFrZWJhc2UtcHJveHlcIixcbiAgICAgIGFyZ3VtZW50czogc2VyaWFsaXplQXJncyhyZXNvbHZlZCksXG4gICAgfSxcbiAgfSk7XG59XG5cbi8qKiBCdWlsZCB0aGUgTGFrZWJhc2UgcHJveHkgY29tbWFuZC1saW5lIHByb2dyYW0uICovXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRQcm9ncmFtKFxuICBuYW1lID0gXCJkYnggbGFrZWJhc2UtcHJveHlcIixcbiAgZGVwZW5kZW5jaWVzOiBMYWtlYmFzZVByb3h5Q2xpRGVwZW5kZW5jaWVzID0ge30sXG4pOiBDb21tYW5kIHtcbiAgY29uc3QgcHJvZ3JhbSA9IGFkZEFyZ3MoXG4gICAgbmV3IENvbW1hbmQobmFtZSlcbiAgICAgIC5kZXNjcmlwdGlvbihcIlJ1biBhIGxvb3BiYWNrIFBvc3RncmVTUUwgcHJveHkgZm9yIERhdGFicmlja3MgTGFrZWJhc2VcIilcbiAgICAgIC52ZXJzaW9uKFBBQ0tBR0VfVkVSU0lPTilcbiAgICAgIC5lbmFibGVQb3NpdGlvbmFsT3B0aW9ucygpLFxuICAgIExha2ViYXNlUHJveHlPcHRpb25zU2NoZW1hLFxuICApLmFjdGlvbihhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgcHJveHkgPSBuZXcgTGFrZWJhc2VQcm94eShwYXJzZUFyZ3MocHJvZ3JhbSwgTGFrZWJhc2VQcm94eU9wdGlvbnNTY2hlbWEpKTtcbiAgICBhd2FpdCBwcm94eS5saXN0ZW4oKTtcbiAgICBhd2FpdCB3YWl0Rm9yU2h1dGRvd24oKTtcbiAgICBhd2FpdCBwcm94eS5jbG9zZSgpO1xuICB9KTtcblxuICBjb25zdCB1cmxDb21tYW5kID0gYWRkQXJncyhcbiAgICBwcm9ncmFtLmNvbW1hbmQoXCJ1cmxcIikuZGVzY3JpcHRpb24oXCJGb3JtYXQgYSBsb2NhbCBQb3N0Z3JlU1FMIFVSTCBmb3IgYSBMYWtlYmFzZSB0YXJnZXRcIiksXG4gICAgTGFrZWJhc2VQcm94eVVybE9wdGlvbnNTY2hlbWEsXG4gICkuYWN0aW9uKCgpID0+IHtcbiAgICBjb25zdCBvcHRpb25zID0gcGFyc2VBcmdzKHVybENvbW1hbmQsIExha2ViYXNlUHJveHlVcmxPcHRpb25zU2NoZW1hKTtcbiAgICBjb25zdCB0YXJnZXQgPSBvcHRpb25zLnRhcmdldCA/PyBvcHRpb25zLmxha2ViYXNlRW5kcG9pbnQhO1xuICAgIHByb2Nlc3Muc3Rkb3V0LndyaXRlKGAke2Nvbm5lY3Rpb25VcmwodGFyZ2V0LCBvcHRpb25zLmxpc3Rlbi5ob3N0LCBvcHRpb25zLmxpc3Rlbi5wb3J0KX1cXG5gKTtcbiAgfSk7XG4gIGxldCBpbnN0YWxsQ29tbWFuZCE6IENvbW1hbmQ7XG4gIGNvbnN0IHNlcnZpY2VDb21tYW5kID0gYnVpbGRTZXJ2aWNlQ29tbWFuZCgoKSA9PiB7XG4gICAgcmV0dXJuIGxha2ViYXNlUHJveHlTZXJ2aWNlRGVmaW5pdGlvbihwYXJzZUFyZ3MoaW5zdGFsbENvbW1hbmQsIExha2ViYXNlUHJveHlPcHRpb25zU2NoZW1hKSk7XG4gIH0sIGRlcGVuZGVuY2llcy5zZXJ2aWNlKTtcbiAgaW5zdGFsbENvbW1hbmQgPSBzZXJ2aWNlQ29tbWFuZC5jb21tYW5kcy5maW5kKChjb21tYW5kKSA9PiBjb21tYW5kLm5hbWUoKSA9PT0gXCJpbnN0YWxsXCIpITtcbiAgYWRkQXJncyhpbnN0YWxsQ29tbWFuZCwgTGFrZWJhc2VQcm94eU9wdGlvbnNTY2hlbWEpO1xuICBwcm9ncmFtLmFkZENvbW1hbmQoc2VydmljZUNvbW1hbmQpO1xuICByZXR1cm4gcHJvZ3JhbTtcbn1cblxuZnVuY3Rpb24gd2FpdEZvclNodXRkb3duKCk6IFByb21pc2U8dm9pZD4ge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICBjb25zdCBzaHV0ZG93biA9ICgpID0+IHJlc29sdmUoKTtcbiAgICBwcm9jZXNzLm9uY2UoXCJTSUdJTlRcIiwgc2h1dGRvd24pO1xuICAgIHByb2Nlc3Mub25jZShcIlNJR1RFUk1cIiwgc2h1dGRvd24pO1xuICB9KTtcbn1cbiJdfQ==
package/package.json CHANGED
@@ -34,24 +34,24 @@
34
34
  "dependencies": {
35
35
  "@clack/prompts": "^1.7.0",
36
36
  "@databricks/appkit": "0.81.0",
37
- "@dbx-tools/appkit": "^0.9.93",
38
- "@dbx-tools/appkit-graphiti": "^0.9.93",
39
- "@dbx-tools/appkit-model-gateway": "^0.9.93",
40
- "@dbx-tools/auth": "^0.9.93",
41
- "@dbx-tools/auth-gate": "^0.9.93",
42
- "@dbx-tools/cli-args": "^0.9.93",
43
- "@dbx-tools/cli-service": "^0.9.93",
44
- "@dbx-tools/core": "^0.9.93",
45
- "@dbx-tools/databricks": "^0.9.93",
46
- "@dbx-tools/email": "^0.9.93",
47
- "@dbx-tools/lakebase": "^0.9.93",
48
- "@dbx-tools/postgres": "^0.9.93",
49
- "@dbx-tools/shared-auth": "^0.9.93",
50
- "@dbx-tools/shared-core": "^0.9.93",
51
- "@dbx-tools/shared-email": "^0.9.93",
52
- "@dbx-tools/shared-genie-code": "^0.9.93",
53
- "@dbx-tools/shared-model-gateway": "^0.9.93",
54
- "@dbx-tools/tunnel": "^0.9.93",
37
+ "@dbx-tools/appkit": "^0.9.95",
38
+ "@dbx-tools/appkit-graphiti": "^0.9.95",
39
+ "@dbx-tools/appkit-model-gateway": "^0.9.95",
40
+ "@dbx-tools/auth": "^0.9.95",
41
+ "@dbx-tools/auth-gate": "^0.9.95",
42
+ "@dbx-tools/cli-args": "^0.9.95",
43
+ "@dbx-tools/cli-service": "^0.9.95",
44
+ "@dbx-tools/core": "^0.9.95",
45
+ "@dbx-tools/databricks": "^0.9.95",
46
+ "@dbx-tools/email": "^0.9.95",
47
+ "@dbx-tools/lakebase": "^0.9.95",
48
+ "@dbx-tools/postgres": "^0.9.95",
49
+ "@dbx-tools/shared-auth": "^0.9.95",
50
+ "@dbx-tools/shared-core": "^0.9.95",
51
+ "@dbx-tools/shared-email": "^0.9.95",
52
+ "@dbx-tools/shared-genie-code": "^0.9.95",
53
+ "@dbx-tools/shared-model-gateway": "^0.9.95",
54
+ "@dbx-tools/tunnel": "^0.9.95",
55
55
  "commander": "^15.0.0",
56
56
  "concurrently": "^10.0.3",
57
57
  "get-port": "^7.1.0",
@@ -154,7 +154,7 @@
154
154
  "./package.json": "./package.json"
155
155
  }
156
156
  },
157
- "version": "0.9.93",
157
+ "version": "0.9.95",
158
158
  "types": "./lib/index.d.ts",
159
159
  "dbxToolsConfig": {
160
160
  "tags": [
@@ -7,13 +7,14 @@
7
7
  *
8
8
  * @module
9
9
  */
10
+ import { homedir } from "node:os";
11
+ import { join } from "node:path";
12
+
13
+ import { runGraphiti, type GraphitiRuntimeOptions } from "@dbx-tools/appkit-graphiti/runtime";
10
14
  import { addArgs, parseArgs, serializeArgs } from "@dbx-tools/cli-args";
11
15
  import { buildServiceCommand, type CliServiceCliDependencies } from "@dbx-tools/cli-service/cli";
12
16
  import { defineService, type CliServiceDefinition } from "@dbx-tools/cli-service/definition";
13
- import {
14
- runGraphiti,
15
- type GraphitiRuntimeOptions,
16
- } from "@dbx-tools/appkit-graphiti/runtime";
17
+ import { serviceTrayIcon } from "@dbx-tools/cli-service/icon";
17
18
  import { Command } from "commander";
18
19
 
19
20
  import {
@@ -23,6 +24,9 @@ import {
23
24
  } from "./options.ts";
24
25
  import { PACKAGE_VERSION } from "../../index.ts";
25
26
 
27
+ const DEFAULT_SERVICE_DIRECTORY = join(homedir(), ".dbx-tools", "services", "graphiti");
28
+ const DEFAULT_SERVICE_HOME = join(homedir(), ".dbx-tools", "graphiti");
29
+
26
30
  /** Injectable runtime and service lifecycle boundaries for CLI callers. */
27
31
  export interface GraphitiCliDependencies {
28
32
  /** Run the Graphiti stack through the Node runtime owner. */
@@ -38,13 +42,21 @@ export type GraphitiServiceOptions = GraphitiOptions;
38
42
  export function graphitiServiceDefinition(
39
43
  options: GraphitiServiceOptions = {},
40
44
  ): CliServiceDefinition {
45
+ const resolved = GraphitiOptionsSchema.parse({
46
+ ...options,
47
+ graphitiHome: options.graphitiHome ?? DEFAULT_SERVICE_HOME,
48
+ });
41
49
  return defineService(import.meta.url, {
42
50
  id: "dbx-tools.cli-graphiti",
43
51
  name: "dbx graphiti",
44
- pythonPackage: { name: "dbx-tools-graphiti" },
52
+ icon: serviceTrayIcon("graphiti"),
53
+ dataDirectory: DEFAULT_SERVICE_DIRECTORY,
54
+ pythonPackage: {
55
+ name: resolved.databaseUrl ? "dbx-tools-graphiti" : "dbx-tools-graphiti[dev]",
56
+ },
45
57
  command: {
46
58
  binName: "dbx-graphiti",
47
- arguments: serializeArgs(GraphitiOptionsSchema.parse(options)),
59
+ arguments: serializeArgs(resolved),
48
60
  },
49
61
  });
50
62
  }
@@ -3,6 +3,7 @@
3
3
  import { addArgs, parseArgs, serializeArgs } from "@dbx-tools/cli-args";
4
4
  import { buildServiceCommand, type CliServiceCliDependencies } from "@dbx-tools/cli-service/cli";
5
5
  import { defineService, type CliServiceDefinition } from "@dbx-tools/cli-service/definition";
6
+ import { serviceTrayIcon } from "@dbx-tools/cli-service/icon";
6
7
  import { connectionUrl } from "@dbx-tools/lakebase";
7
8
  import { Command } from "commander";
8
9
 
@@ -28,6 +29,7 @@ export function lakebaseProxyServiceDefinition(
28
29
  return defineService(import.meta.url, {
29
30
  id: "dbx-tools.cli-lakebase-proxy",
30
31
  name: "dbx lakebase proxy",
32
+ icon: serviceTrayIcon("lakebase"),
31
33
  command: {
32
34
  binName: "dbx-lakebase-proxy",
33
35
  arguments: serializeArgs(resolved),