@dbx-tools/cli 0.9.129 → 0.9.132
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 +46 -31
- package/index.ts +3 -1
- package/lib/index.d.ts +3 -1
- package/lib/index.js +3 -2
- package/lib/src/cli.js +2 -2
- package/lib/src/genie-code/cli.js +2 -2
- package/lib/src/genie-code/runtime.js +3 -2
- package/lib/src/graphiti/cli.d.ts +3 -1
- package/lib/src/graphiti/cli.js +3 -3
- package/lib/src/graphiti/index.d.ts +2 -0
- package/lib/src/graphiti/index.js +2 -1
- package/lib/src/graphiti/options.d.ts +109 -2
- package/lib/src/graphiti/options.js +18 -2
- package/lib/src/model-gateway/server.js +2 -1
- package/package.json +19 -19
- package/src/cli.ts +1 -1
- package/src/genie-code/cli.ts +1 -1
- package/src/genie-code/runtime.ts +2 -1
- package/src/graphiti/cli.ts +3 -2
- package/src/graphiti/index.ts +2 -0
- package/src/graphiti/options.ts +31 -11
- package/src/model-gateway/server.ts +1 -0
package/README.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# @dbx-tools/cli
|
|
2
2
|
|
|
3
|
-
Use
|
|
4
|
-
Lakebase,
|
|
5
|
-
|
|
3
|
+
Use `dbx` to authenticate with Databricks, connect local PostgreSQL tools to
|
|
4
|
+
Lakebase, expose workspace models to local clients, run graph memory, and share
|
|
5
|
+
an application through an access-controlled public URL.
|
|
6
6
|
|
|
7
|
-
## Install
|
|
7
|
+
## Install and connect
|
|
8
8
|
|
|
9
9
|
```sh
|
|
10
10
|
bun add --global @dbx-tools/cli
|
|
@@ -12,21 +12,34 @@ bun add --global @dbx-tools/cli
|
|
|
12
12
|
|
|
13
13
|
`dbx-tools` is an alias for `dbx`. Authentication and a configured Databricks
|
|
14
14
|
profile are resolved automatically. Pass `--profile` only to override that
|
|
15
|
-
selection
|
|
15
|
+
selection. Examples that use `MY-PROFILE` show the explicit form.
|
|
16
16
|
|
|
17
|
-
## Serve
|
|
17
|
+
## Serve models to local tools
|
|
18
18
|
|
|
19
19
|
```sh
|
|
20
|
-
dbx model-gateway --profile MY-PROFILE --
|
|
20
|
+
dbx model-gateway --profile MY-PROFILE --listen tcp://127.0.0.1:4000
|
|
21
21
|
```
|
|
22
22
|
|
|
23
|
-
Point an OpenAI-compatible client at
|
|
23
|
+
Point an OpenAI-compatible client at
|
|
24
|
+
[http://127.0.0.1:4000/v1](http://127.0.0.1:4000/v1). The generated
|
|
24
25
|
command reference includes all gateway and desktop-service options.
|
|
25
26
|
|
|
26
27
|
Requests may omit `model` to select the best available chat endpoint. Set a
|
|
27
28
|
gateway default with `--model` or `--model-class`, or select a class per request
|
|
28
29
|
with the `x-dbx-tools-model-class` header.
|
|
29
30
|
|
|
31
|
+
Run the gateway in the foreground for one terminal session. Install its
|
|
32
|
+
current-user service when local tools need the endpoint after the terminal
|
|
33
|
+
closes:
|
|
34
|
+
|
|
35
|
+
```sh
|
|
36
|
+
dbx model-gateway service install
|
|
37
|
+
dbx model-gateway service status
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Embed [@dbx-tools/appkit-model-gateway](../../node/appkit-model-gateway)
|
|
41
|
+
instead when the gateway belongs inside an AppKit application.
|
|
42
|
+
|
|
30
43
|
## Run Genie Code
|
|
31
44
|
|
|
32
45
|
`dbx genie` runs the Databricks Genie Code CLI with dbx-tools model discovery,
|
|
@@ -84,16 +97,16 @@ dbx genie --model claude -- exec --ephemeral "Review this repository."
|
|
|
84
97
|
Use `--` only when a wrapper option such as `--model` must be sent to Genie
|
|
85
98
|
instead of being consumed by `dbx genie`.
|
|
86
99
|
|
|
87
|
-
## Connect
|
|
100
|
+
## Connect to Lakebase
|
|
88
101
|
|
|
89
102
|
```sh
|
|
90
|
-
dbx lakebase-proxy --profile MY-PROFILE --
|
|
103
|
+
dbx lakebase-proxy --profile MY-PROFILE --listen tcp://127.0.0.1:5432
|
|
91
104
|
```
|
|
92
105
|
|
|
93
106
|
Connect your PostgreSQL client to the loopback listener. The command reference
|
|
94
107
|
includes target selection, connection URLs, and service commands.
|
|
95
108
|
|
|
96
|
-
## Add
|
|
109
|
+
## Add memory or share an app
|
|
97
110
|
|
|
98
111
|
```sh
|
|
99
112
|
dbx graphiti --profile MY-PROFILE
|
|
@@ -103,7 +116,7 @@ dbx tunnel --allow example.com -- bun src/server.ts
|
|
|
103
116
|
`graphiti` provides graph memory for agents. `tunnel` adds a public URL with
|
|
104
117
|
passwordless access to an existing process.
|
|
105
118
|
|
|
106
|
-
## Export AppKit
|
|
119
|
+
## Export AppKit configuration
|
|
107
120
|
|
|
108
121
|
```sh
|
|
109
122
|
eval "$(dbx appkit env --quiet)"
|
|
@@ -112,7 +125,7 @@ eval "$(dbx appkit env --quiet)"
|
|
|
112
125
|
Use the resolved AppKit environment before starting another process. The AppKit
|
|
113
126
|
and authentication command groups below include JSON, Windows, and token options.
|
|
114
127
|
|
|
115
|
-
## Bootstrap
|
|
128
|
+
## Bootstrap a workspace
|
|
116
129
|
|
|
117
130
|
```sh
|
|
118
131
|
dbx dev sync
|
|
@@ -130,14 +143,14 @@ bun run sync -- --watch
|
|
|
130
143
|
bun run barrels
|
|
131
144
|
```
|
|
132
145
|
|
|
133
|
-
See [
|
|
146
|
+
See [@dbx-tools/projen](../../../../projen) for workspace configuration and
|
|
134
147
|
generation. Command implementations are available from `@dbx-tools/cli/appkit`,
|
|
135
148
|
`/auth`, `/genie`, `/graphiti`, `/lakebase-proxy`, `/model-gateway`, and
|
|
136
149
|
`/tunnel` when a Node caller needs to embed one parser.
|
|
137
150
|
|
|
138
151
|
<!-- cli-reference:start -->
|
|
139
152
|
|
|
140
|
-
## Command
|
|
153
|
+
## Command reference
|
|
141
154
|
|
|
142
155
|
### `dbx`
|
|
143
156
|
|
|
@@ -170,9 +183,9 @@ dbx dev [projenArgs...]
|
|
|
170
183
|
|
|
171
184
|
#### Arguments
|
|
172
185
|
|
|
173
|
-
| Argument | Description
|
|
174
|
-
| ------------ |
|
|
175
|
-
| `projenArgs` |
|
|
186
|
+
| Argument | Description |
|
|
187
|
+
| ------------ | --------------------------------------------------- |
|
|
188
|
+
| `projenArgs` | Projen task and arguments, for example sync --watch |
|
|
176
189
|
|
|
177
190
|
### `dbx appkit`
|
|
178
191
|
|
|
@@ -586,16 +599,18 @@ dbx model-gateway [options] [command]
|
|
|
586
599
|
|
|
587
600
|
#### Options
|
|
588
601
|
|
|
589
|
-
| Option
|
|
590
|
-
|
|
|
591
|
-
| `-v, --version`
|
|
592
|
-
| `--model <value>`
|
|
593
|
-
| `--model-class <value>`
|
|
594
|
-
|
|
|
595
|
-
|
|
|
596
|
-
|
|
|
597
|
-
|
|
|
598
|
-
| `--
|
|
602
|
+
| Option | Description |
|
|
603
|
+
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
604
|
+
| `-v, --version` | output the version number |
|
|
605
|
+
| `--model <value>` | Optional fuzzy or exact model name. (env: MODEL) |
|
|
606
|
+
| `--model-class <value>` | Optional model capability class used when selecting a default model. (choices: "chat-thinking", "chat-balanced", "chat-fast", "embedding", env: MODEL_CLASS) |
|
|
607
|
+
| `--prefer-system-models` | Prefer system.ai services over serving endpoints for non-exact model selection. (default: false, env: PREFER_SYSTEM_MODELS) |
|
|
608
|
+
| `--no-prefer-system-models` | Disable prefer system.ai services over serving endpoints for non-exact model selection. |
|
|
609
|
+
| `-l, --listen <value>` | Loopback listener address. (default: tcp://localhost:4000, env: LISTEN) |
|
|
610
|
+
| `--profile <value>` | Databricks profile used for model discovery and requests. (env: DATABRICKS_CONFIG_PROFILE) |
|
|
611
|
+
| `--body-limit <value>` | Maximum JSON request body size. (default: "100mb", env: BODY_LIMIT) |
|
|
612
|
+
| `-r, --runtime-info` | Print runtime implementation metadata. (default: false, env: RUNTIME_INFO) |
|
|
613
|
+
| `--no-runtime-info` | Disable print runtime implementation metadata. |
|
|
599
614
|
|
|
600
615
|
#### Commands
|
|
601
616
|
|
|
@@ -703,9 +718,9 @@ dbx genie [options] [genieArgs...]
|
|
|
703
718
|
|
|
704
719
|
#### Arguments
|
|
705
720
|
|
|
706
|
-
| Argument | Description
|
|
707
|
-
| ----------- |
|
|
708
|
-
| `genieArgs` |
|
|
721
|
+
| Argument | Description |
|
|
722
|
+
| ----------- | ------------------------------------------------------------------------------------- |
|
|
723
|
+
| `genieArgs` | Arguments and unknown flags forwarded to Genie Code. Separate wrapper options with -- |
|
|
709
724
|
|
|
710
725
|
#### Options
|
|
711
726
|
|
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.
|
|
6
|
+
export const PACKAGE_VERSION = "0.9.132";
|
|
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";
|
|
@@ -43,6 +43,8 @@ export type { InstallGenieCodeOptions } from "./src/genie-code/install.ts";
|
|
|
43
43
|
export { RUNNER_OPTIONS_ENV } from "./src/genie-code/runner.ts";
|
|
44
44
|
export type { GenieCodeRuntimeDependencies, RunGenieCodeOptions, PreparedGenieCodeRuntime } from "./src/genie-code/runtime.ts";
|
|
45
45
|
export type { GraphitiCliDependencies, GraphitiServiceOptions } from "./src/graphiti/cli.ts";
|
|
46
|
+
export { GRAPHITI_DEFAULTS, GraphitiCliOptionsSchema, GraphitiOptionsSchema, ResolvedGraphitiOptionsSchema, graphitiOptionOverrides, graphitiOptionsEnvironment, graphitiOptionsFromEnvironment, resolveGraphitiOptions } from "./src/graphiti/options.ts";
|
|
47
|
+
export type { GraphitiOptions, ResolvedGraphitiOptions } from "./src/graphiti/options.ts";
|
|
46
48
|
export { CancellationRegistry } from "./src/lakebase-proxy/cancellation.ts";
|
|
47
49
|
export type { CancellationTarget, CancellationForwarder } from "./src/lakebase-proxy/cancellation.ts";
|
|
48
50
|
export type { LakebaseProxyCliDependencies } from "./src/lakebase-proxy/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.
|
|
2
|
+
export declare const PACKAGE_VERSION = "0.9.132";
|
|
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";
|
|
@@ -39,6 +39,8 @@ export type { InstallGenieCodeOptions } from "./src/genie-code/install.ts";
|
|
|
39
39
|
export { RUNNER_OPTIONS_ENV } from "./src/genie-code/runner.ts";
|
|
40
40
|
export type { GenieCodeRuntimeDependencies, RunGenieCodeOptions, PreparedGenieCodeRuntime } from "./src/genie-code/runtime.ts";
|
|
41
41
|
export type { GraphitiCliDependencies, GraphitiServiceOptions } from "./src/graphiti/cli.ts";
|
|
42
|
+
export { GRAPHITI_DEFAULTS, GraphitiCliOptionsSchema, GraphitiOptionsSchema, ResolvedGraphitiOptionsSchema, graphitiOptionOverrides, graphitiOptionsEnvironment, graphitiOptionsFromEnvironment, resolveGraphitiOptions } from "./src/graphiti/options.ts";
|
|
43
|
+
export type { GraphitiOptions, ResolvedGraphitiOptions } from "./src/graphiti/options.ts";
|
|
42
44
|
export { CancellationRegistry } from "./src/lakebase-proxy/cancellation.ts";
|
|
43
45
|
export type { CancellationTarget, CancellationForwarder } from "./src/lakebase-proxy/cancellation.ts";
|
|
44
46
|
export type { LakebaseProxyCliDependencies } from "./src/lakebase-proxy/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.
|
|
5
|
+
export const PACKAGE_VERSION = "0.9.132";
|
|
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";
|
|
@@ -35,10 +35,11 @@ export { AuthCliOptionsSchema, TokenCommandOptionsSchema } from "./src/auth/opti
|
|
|
35
35
|
export { resolveBunArgv } from "./src/bun.js";
|
|
36
36
|
export { GENIE_CODE_GATEWAY_PROVIDER } from "./src/genie-code/config.js";
|
|
37
37
|
export { RUNNER_OPTIONS_ENV } from "./src/genie-code/runner.js";
|
|
38
|
+
export { GRAPHITI_DEFAULTS, GraphitiCliOptionsSchema, GraphitiOptionsSchema, ResolvedGraphitiOptionsSchema, graphitiOptionOverrides, graphitiOptionsEnvironment, graphitiOptionsFromEnvironment, resolveGraphitiOptions } from "./src/graphiti/options.js";
|
|
38
39
|
export { CancellationRegistry } from "./src/lakebase-proxy/cancellation.js";
|
|
39
40
|
export { LakebaseProxyOptionsSchema, LakebaseProxyUrlOptionsSchema } from "./src/lakebase-proxy/options.js";
|
|
40
41
|
export { SSL_REQUEST, CANCEL_REQUEST, PROTOCOL_3, PostgresProtocolError } from "./src/lakebase-proxy/protocol.js";
|
|
41
42
|
export { LakebaseProxy } from "./src/lakebase-proxy/proxy.js";
|
|
42
43
|
export { workspaceRoot } from "./src/root.js";
|
|
43
44
|
export { TunnelOptionsSchema } from "./src/tunnel/options.js";
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQ0FBMkM7QUFDM0MsbURBQW1EO0FBQ25ELHdFQUF3RTtBQUV4RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxnQkFBZ0IsQ0FBQztBQUNuRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsU0FBUyxDQUFDO0FBQ3pDLE9BQU8sS0FBSyxTQUFTLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxLQUFLLGVBQWUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEtBQUssT0FBTyxNQUFNLG1CQUFtQixDQUFDO0FBQzdDLE9BQU8sS0FBSyxXQUFXLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxLQUFLLFNBQVMsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFPLEtBQUssR0FBRyxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLEtBQUssR0FBRyxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLEtBQUssWUFBWSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sS0FBSyxlQUFlLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxLQUFLLGdCQUFnQixNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxnQkFBZ0IsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEtBQUssZUFBZSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sS0FBSyxnQkFBZ0IsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEtBQUssV0FBVyxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sS0FBSyxlQUFlLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxLQUFLLHlCQUF5QixNQUFNLHNDQUFzQyxDQUFDO0FBQ2xGLE9BQU8sS0FBSyxnQkFBZ0IsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEtBQUssb0JBQW9CLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxLQUFLLHFCQUFxQixNQUFNLGtDQUFrQyxDQUFDO0FBQzFFLE9BQU8sS0FBSyxrQkFBa0IsTUFBTSwrQkFBK0IsQ0FBQztBQUNwRSxPQUFPLEtBQUssZUFBZSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sS0FBSyxrQkFBa0IsTUFBTSwrQkFBK0IsQ0FBQztBQUNwRSxPQUFPLEtBQUssSUFBSSxNQUFNLGVBQWUsQ0FBQztBQUN0QyxPQUFPLEtBQUssU0FBUyxNQUFNLHFCQUFxQixDQUFDO0FBQ2pELE9BQU8sS0FBSyxTQUFTLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxLQUFLLGFBQWEsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEtBQUssV0FBVyxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTVGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXhGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFOUMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHekUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHdCQUF3QixFQUFFLHFCQUFxQixFQUFFLDZCQUE2QixFQUFFLHVCQUF1QixFQUFFLDBCQUEwQixFQUFFLDhCQUE4QixFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFM1AsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFHNUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLDZCQUE2QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFNUcsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFbEgsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTlELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBHRU5FUkFURUQgYnkgcHJvamVuIHdhdGNoIC0gRE8gTk9UIEVESVQuXG4vLyBSZWdlbmVyYXRlZCBmcm9tIHRoZSBleHBvcnRpbmcgbW9kdWxlcyBpbiAuL3NyYy5cbi8vIEhhbmQgZWRpdHMgYXJlIG92ZXJ3cml0dGVuIG9uIHRoZSBuZXh0IHdhdGNoOyB0aGlzIGZpbGUgaXMgcmVhZC1vbmx5LlxuXG5leHBvcnQgY29uc3QgUEFDS0FHRV9JREVOVElGSUVSID0gXCJAZGJ4LXRvb2xzL2NsaVwiO1xuZXhwb3J0IGNvbnN0IFBBQ0tBR0VfVkVSU0lPTiA9IFwiMC45LjEzMlwiO1xuZXhwb3J0ICogYXMgYXBwa2l0Q2xpIGZyb20gXCIuL3NyYy9hcHBraXQvY2xpLnRzXCI7XG5leHBvcnQgKiBhcyBhcHBraXRFbnZFeHBvcnQgZnJvbSBcIi4vc3JjL2FwcGtpdC9lbnYtZXhwb3J0LnRzXCI7XG5leHBvcnQgKiBhcyBhdXRoQ2xpIGZyb20gXCIuL3NyYy9hdXRoL2NsaS50c1wiO1xuZXhwb3J0ICogYXMgYXV0aE9wdGlvbnMgZnJvbSBcIi4vc3JjL2F1dGgvb3B0aW9ucy50c1wiO1xuZXhwb3J0ICogYXMgYm9vdHN0cmFwIGZyb20gXCIuL3NyYy9ib290c3RyYXAudHNcIjtcbmV4cG9ydCAqIGFzIGJ1biBmcm9tIFwiLi9zcmMvYnVuLnRzXCI7XG5leHBvcnQgKiBhcyBjbGkgZnJvbSBcIi4vc3JjL2NsaS50c1wiO1xuZXhwb3J0ICogYXMgZ2VuaWVDb2RlQ2xpIGZyb20gXCIuL3NyYy9nZW5pZS1jb2RlL2NsaS50c1wiO1xuZXhwb3J0ICogYXMgZ2VuaWVDb2RlQ29uZmlnIGZyb20gXCIuL3NyYy9nZW5pZS1jb2RlL2NvbmZpZy50c1wiO1xuZXhwb3J0ICogYXMgZ2VuaWVDb2RlSW5zdGFsbCBmcm9tIFwiLi9zcmMvZ2VuaWUtY29kZS9pbnN0YWxsLnRzXCI7XG5leHBvcnQgKiBhcyBnZW5pZUNvZGVPcHRpb25zIGZyb20gXCIuL3NyYy9nZW5pZS1jb2RlL29wdGlvbnMudHNcIjtcbmV4cG9ydCAqIGFzIGdlbmllQ29kZVJ1bm5lciBmcm9tIFwiLi9zcmMvZ2VuaWUtY29kZS9ydW5uZXIudHNcIjtcbmV4cG9ydCAqIGFzIGdlbmllQ29kZVJ1bnRpbWUgZnJvbSBcIi4vc3JjL2dlbmllLWNvZGUvcnVudGltZS50c1wiO1xuZXhwb3J0ICogYXMgZ3JhcGhpdGlDbGkgZnJvbSBcIi4vc3JjL2dyYXBoaXRpL2NsaS50c1wiO1xuZXhwb3J0ICogYXMgZ3JhcGhpdGlPcHRpb25zIGZyb20gXCIuL3NyYy9ncmFwaGl0aS9vcHRpb25zLnRzXCI7XG5leHBvcnQgKiBhcyBsYWtlYmFzZVByb3h5Q2FuY2VsbGF0aW9uIGZyb20gXCIuL3NyYy9sYWtlYmFzZS1wcm94eS9jYW5jZWxsYXRpb24udHNcIjtcbmV4cG9ydCAqIGFzIGxha2ViYXNlUHJveHlDbGkgZnJvbSBcIi4vc3JjL2xha2ViYXNlLXByb3h5L2NsaS50c1wiO1xuZXhwb3J0ICogYXMgbGFrZWJhc2VQcm94eU9wdGlvbnMgZnJvbSBcIi4vc3JjL2xha2ViYXNlLXByb3h5L29wdGlvbnMudHNcIjtcbmV4cG9ydCAqIGFzIGxha2ViYXNlUHJveHlQcm90b2NvbCBmcm9tIFwiLi9zcmMvbGFrZWJhc2UtcHJveHkvcHJvdG9jb2wudHNcIjtcbmV4cG9ydCAqIGFzIGxha2ViYXNlUHJveHlQcm94eSBmcm9tIFwiLi9zcmMvbGFrZWJhc2UtcHJveHkvcHJveHkudHNcIjtcbmV4cG9ydCAqIGFzIG1vZGVsR2F0ZXdheUNsaSBmcm9tIFwiLi9zcmMvbW9kZWwtZ2F0ZXdheS9jbGkudHNcIjtcbmV4cG9ydCAqIGFzIG1vZGVsR2F0ZXdheVNlcnZlciBmcm9tIFwiLi9zcmMvbW9kZWwtZ2F0ZXdheS9zZXJ2ZXIudHNcIjtcbmV4cG9ydCAqIGFzIHJvb3QgZnJvbSBcIi4vc3JjL3Jvb3QudHNcIjtcbmV4cG9ydCAqIGFzIHR1bm5lbEFwcCBmcm9tIFwiLi9zcmMvdHVubmVsL2FwcC50c1wiO1xuZXhwb3J0ICogYXMgdHVubmVsQ2xpIGZyb20gXCIuL3NyYy90dW5uZWwvY2xpLnRzXCI7XG5leHBvcnQgKiBhcyB0dW5uZWxPcHRpb25zIGZyb20gXCIuL3NyYy90dW5uZWwvb3B0aW9ucy50c1wiO1xuZXhwb3J0ICogYXMgdHVubmVsUHJveHkgZnJvbSBcIi4vc3JjL3R1bm5lbC9wcm94eS50c1wiO1xuZXhwb3J0IHsgRW52RXhwb3J0Rm9ybWF0U2NoZW1hLCBFbnZDb21tYW5kT3B0aW9uc1NjaGVtYSB9IGZyb20gXCIuL3NyYy9hcHBraXQvZW52LWV4cG9ydC50c1wiO1xuZXhwb3J0IHR5cGUgeyBFbnZFeHBvcnRGb3JtYXQsIEVudkNvbW1hbmRPcHRpb25zIH0gZnJvbSBcIi4vc3JjL2FwcGtpdC9lbnYtZXhwb3J0LnRzXCI7XG5leHBvcnQgeyBBdXRoQ2xpT3B0aW9uc1NjaGVtYSwgVG9rZW5Db21tYW5kT3B0aW9uc1NjaGVtYSB9IGZyb20gXCIuL3NyYy9hdXRoL29wdGlvbnMudHNcIjtcbmV4cG9ydCB0eXBlIHsgQXV0aENsaU9wdGlvbnMsIFRva2VuQ29tbWFuZE9wdGlvbnMgfSBmcm9tIFwiLi9zcmMvYXV0aC9vcHRpb25zLnRzXCI7XG5leHBvcnQgeyByZXNvbHZlQnVuQXJndiB9IGZyb20gXCIuL3NyYy9idW4udHNcIjtcbmV4cG9ydCB0eXBlIHsgR2VuaWVDb2RlQ2xpRGVwZW5kZW5jaWVzIH0gZnJvbSBcIi4vc3JjL2dlbmllLWNvZGUvY2xpLnRzXCI7XG5leHBvcnQgeyBHRU5JRV9DT0RFX0dBVEVXQVlfUFJPVklERVIgfSBmcm9tIFwiLi9zcmMvZ2VuaWUtY29kZS9jb25maWcudHNcIjtcbmV4cG9ydCB0eXBlIHsgV3JpdGVHZW5pZUNvZGVDb25maWdPcHRpb25zLCBHZW5pZUNvZGVQcm9maWxlSG9tZSwgR2VuaWVDb2RlSG9tZSB9IGZyb20gXCIuL3NyYy9nZW5pZS1jb2RlL2NvbmZpZy50c1wiO1xuZXhwb3J0IHR5cGUgeyBJbnN0YWxsR2VuaWVDb2RlT3B0aW9ucyB9IGZyb20gXCIuL3NyYy9nZW5pZS1jb2RlL2luc3RhbGwudHNcIjtcbmV4cG9ydCB7IFJVTk5FUl9PUFRJT05TX0VOViB9IGZyb20gXCIuL3NyYy9nZW5pZS1jb2RlL3J1bm5lci50c1wiO1xuZXhwb3J0IHR5cGUgeyBHZW5pZUNvZGVSdW50aW1lRGVwZW5kZW5jaWVzLCBSdW5HZW5pZUNvZGVPcHRpb25zLCBQcmVwYXJlZEdlbmllQ29kZVJ1bnRpbWUgfSBmcm9tIFwiLi9zcmMvZ2VuaWUtY29kZS9ydW50aW1lLnRzXCI7XG5leHBvcnQgdHlwZSB7IEdyYXBoaXRpQ2xpRGVwZW5kZW5jaWVzLCBHcmFwaGl0aVNlcnZpY2VPcHRpb25zIH0gZnJvbSBcIi4vc3JjL2dyYXBoaXRpL2NsaS50c1wiO1xuZXhwb3J0IHsgR1JBUEhJVElfREVGQVVMVFMsIEdyYXBoaXRpQ2xpT3B0aW9uc1NjaGVtYSwgR3JhcGhpdGlPcHRpb25zU2NoZW1hLCBSZXNvbHZlZEdyYXBoaXRpT3B0aW9uc1NjaGVtYSwgZ3JhcGhpdGlPcHRpb25PdmVycmlkZXMsIGdyYXBoaXRpT3B0aW9uc0Vudmlyb25tZW50LCBncmFwaGl0aU9wdGlvbnNGcm9tRW52aXJvbm1lbnQsIHJlc29sdmVHcmFwaGl0aU9wdGlvbnMgfSBmcm9tIFwiLi9zcmMvZ3JhcGhpdGkvb3B0aW9ucy50c1wiO1xuZXhwb3J0IHR5cGUgeyBHcmFwaGl0aU9wdGlvbnMsIFJlc29sdmVkR3JhcGhpdGlPcHRpb25zIH0gZnJvbSBcIi4vc3JjL2dyYXBoaXRpL29wdGlvbnMudHNcIjtcbmV4cG9ydCB7IENhbmNlbGxhdGlvblJlZ2lzdHJ5IH0gZnJvbSBcIi4vc3JjL2xha2ViYXNlLXByb3h5L2NhbmNlbGxhdGlvbi50c1wiO1xuZXhwb3J0IHR5cGUgeyBDYW5jZWxsYXRpb25UYXJnZXQsIENhbmNlbGxhdGlvbkZvcndhcmRlciB9IGZyb20gXCIuL3NyYy9sYWtlYmFzZS1wcm94eS9jYW5jZWxsYXRpb24udHNcIjtcbmV4cG9ydCB0eXBlIHsgTGFrZWJhc2VQcm94eUNsaURlcGVuZGVuY2llcyB9IGZyb20gXCIuL3NyYy9sYWtlYmFzZS1wcm94eS9jbGkudHNcIjtcbmV4cG9ydCB7IExha2ViYXNlUHJveHlPcHRpb25zU2NoZW1hLCBMYWtlYmFzZVByb3h5VXJsT3B0aW9uc1NjaGVtYSB9IGZyb20gXCIuL3NyYy9sYWtlYmFzZS1wcm94eS9vcHRpb25zLnRzXCI7XG5leHBvcnQgdHlwZSB7IExha2ViYXNlUHJveHlPcHRpb25zLCBSZXNvbHZlZExha2ViYXNlUHJveHlPcHRpb25zLCBMYWtlYmFzZVByb3h5VXJsT3B0aW9ucyB9IGZyb20gXCIuL3NyYy9sYWtlYmFzZS1wcm94eS9vcHRpb25zLnRzXCI7XG5leHBvcnQgeyBTU0xfUkVRVUVTVCwgQ0FOQ0VMX1JFUVVFU1QsIFBST1RPQ09MXzMsIFBvc3RncmVzUHJvdG9jb2xFcnJvciB9IGZyb20gXCIuL3NyYy9sYWtlYmFzZS1wcm94eS9wcm90b2NvbC50c1wiO1xuZXhwb3J0IHR5cGUgeyBTdGFydHVwTWVzc2FnZSwgQ2FuY2VsTWVzc2FnZSwgSW5pdGlhbE1lc3NhZ2UgfSBmcm9tIFwiLi9zcmMvbGFrZWJhc2UtcHJveHkvcHJvdG9jb2wudHNcIjtcbmV4cG9ydCB7IExha2ViYXNlUHJveHkgfSBmcm9tIFwiLi9zcmMvbGFrZWJhc2UtcHJveHkvcHJveHkudHNcIjtcbmV4cG9ydCB0eXBlIHsgTW9kZWxHYXRld2F5Q2xpRGVwZW5kZW5jaWVzIH0gZnJvbSBcIi4vc3JjL21vZGVsLWdhdGV3YXkvY2xpLnRzXCI7XG5leHBvcnQgeyB3b3Jrc3BhY2VSb290IH0gZnJvbSBcIi4vc3JjL3Jvb3QudHNcIjtcbmV4cG9ydCB7IFR1bm5lbE9wdGlvbnNTY2hlbWEgfSBmcm9tIFwiLi9zcmMvdHVubmVsL29wdGlvbnMudHNcIjtcbmV4cG9ydCB0eXBlIHsgVHVubmVsT3B0aW9ucywgUmVzb2x2ZWRUdW5uZWxPcHRpb25zIH0gZnJvbSBcIi4vc3JjL3R1bm5lbC9vcHRpb25zLnRzXCI7XG5leHBvcnQgdHlwZSB7IFByb3h5T3B0aW9ucyB9IGZyb20gXCIuL3NyYy90dW5uZWwvcHJveHkudHNcIjtcbiJdfQ==
|
package/lib/src/cli.js
CHANGED
|
@@ -80,7 +80,7 @@ export function buildProgram(name = PROGRAM_NAMES[0]) {
|
|
|
80
80
|
program
|
|
81
81
|
.command("dev")
|
|
82
82
|
.description("Bootstrap or repair a dbx-tools workspace, then forward to projen")
|
|
83
|
-
.argument("[projenArgs...]", "
|
|
83
|
+
.argument("[projenArgs...]", "Projen task and arguments, for example sync --watch")
|
|
84
84
|
.allowUnknownOption()
|
|
85
85
|
.allowExcessArguments()
|
|
86
86
|
.helpOption(false)
|
|
@@ -125,4 +125,4 @@ function programName(argv) {
|
|
|
125
125
|
export async function runCli(argv) {
|
|
126
126
|
await buildProgram(programName(argv)).parseAsync(argv);
|
|
127
127
|
}
|
|
128
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUNMLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIsZUFBZSxFQUNmLGFBQWEsR0FDZCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRTlFLHNFQUFzRTtBQUN0RSxNQUFNLGFBQWEsR0FBRyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQVUsQ0FBQztBQUVwRDs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxtQkFBbUIsQ0FBQyxVQUFvQixFQUFFLFFBQWlCO0lBQy9FLE1BQU0sSUFBSSxHQUFHLE1BQU0saUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0MsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUN6QixrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixPQUFPO0lBQ1QsQ0FBQztJQUNELElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDekIsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BCLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QixNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMxQixPQUFPO0lBQ1QsQ0FBQztJQUNELG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFD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LEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDdkUsS0FBSyxNQUFNLEtBQUssSUFBSSxRQUFRO1FBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4RCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBUyxXQUFXLENBQUMsSUFBYztJQUNqQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUN6RixPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFNBQVMsS0FBSyxPQUFPLENBQUMsSUFBSSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdEYsQ0FBQztBQUVELG9FQUFvRTtBQUNwRSxNQUFNLENBQUMsS0FBSyxVQUFVLE1BQU0sQ0FBQyxJQUFjO0lBQ3pDLE1BQU0sWUFBWSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN6RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb21tYW5kZXIgZW50cnkgZm9yIGBkYnhgIGFuZCBpdHMgYGRieC10b29sc2AgYWxpYXMuXG4gKlxuICogYGRldmAgYm9vdHN0cmFwcyBvciByZXBhaXJzIGEgd29ya3NwYWNlIGFuZCBmb3J3YXJkcyB0byBwcm9qZW4uXG4gKiBgYXBwa2l0YCBwcm92aWRlcyBBcHBLaXQgZW52aXJvbm1lbnQgaGVscGVycy5cbiAqIGBhdXRoYCBtYW5hZ2VzIERhdGFicmlja3MgT0F1dGggYW5kIGFjY2VzcyB0b2tlbnMuXG4gKiBgdHVubmVsYCBydW5zIGEgcHVibGljIHBvcnRyIHR1bm5lbCB3aXRoIHBhc3N3b3JkbGVzcyBhY2Nlc3MgZ2F0aW5nLlxuICpcbiAqIEZlYXR1cmUgY29tbWFuZHMgbG9hZCB0aGVpciBzaWJsaW5nIHBhY2thZ2VzIG9ubHkgd2hlbiBzZWxlY3RlZCBhbmQgZm9yd2FyZFxuICogdGhlaXIgY29tcGxldGUgYXJndW1lbnQgbGlzdCwgaW5jbHVkaW5nIGAtLWhlbHBgLlxuICpcbiAqIEBtb2R1bGVcbiAqL1xuaW1wb3J0IHsgYmFzZW5hbWUgfSBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgeyBDb21tYW5kIH0gZnJvbSBcImNvbW1hbmRlclwiO1xuaW1wb3J0IHtcbiAgYm9vdHN0cmFwV29ya3NwYWNlLFxuICBlbnN1cmVFbmdpbmVDdXJyZW50LFxuICBydW5Jbml0aWFsU3ludGgsXG4gIHNlZWRUb29sY2hhaW4sXG59IGZyb20gXCIuL2Jvb3RzdHJhcC50c1wiO1xuaW1wb3J0IHsgZW5zdXJlV29ya3NwYWNlUmVhZHksIHJ1bkJ1biwgcnVuUHJvamVuIH0gZnJvbSBcIi4vYnVuLnRzXCI7XG5pbXBvcnQgeyBmaW5kV29ya3NwYWNlUm9vdCwgbmVlZHNCb290c3RyYXAsIG5lZWRzVG9vbGNoYWluIH0gZnJvbSBcIi4vcm9vdC50c1wiO1xuXG4vKiogQ29tbWFuZHMgdGhlIGJpbiBleHBvc2VzLCBhbmQgdGhlIG5hbWVzIGhlbHAgaXMgcmVuZGVyZWQgdW5kZXIuICovXG5jb25zdCBQUk9HUkFNX05BTUVTID0gW1wiZGJ4XCIsIFwiZGJ4LXRvb2xzXCJdIGFzIGNvbnN0O1xuXG4vKipcbiAqIFByZXBhcmUgdGhlIHdvcmtzcGFjZSBhdCBgcm9vdGAsIHRoZW4gcnVuIHByb2plbiAodmlhIGJ1bikgd2l0aCBgcHJvamVuQXJnc2AuXG4gKlxuICogVGhyZWUgY2FzZXMsIGluIG9yZGVyOlxuICogICAtIG5vIGAucHJvamVucmMudHNgIGF0IGFsbCAtPiBmdWxsIGJvb3RzdHJhcCAoc2NhZmZvbGQgKyBpbnN0YWxsICsgc3ludGgpLFxuICogICAgIHdoaWNoIGFscmVhZHkgcnVucyB0aGUgaW5pdGlhbCBzeW50aDsgbm90aGluZyBtb3JlIHRvIGZvcndhcmQuXG4gKiAgIC0gYSBgLnByb2plbnJjLnRzYCBidXQgdGhlIGVuZ2luZS90b29sY2hhaW4gaXNuJ3QgaW5zdGFsbGVkIChlLmcuIGEgZnJlc2hseVxuICogICAgIGNvcGllZCBwcm9qZWN0IHdob3NlIGdlbmVyYXRlZCBmaWxlcyArIG1hbmlmZXN0cyBhcmUgZ2l0aWdub3JlZCkgLT4gc2VlZFxuICogICAgIHRoZSB0b29sY2hhaW4sIHRoZW4gcnVuIHRoZSBJTklUSUFMIHN5bnRoIGRpcmVjdGx5ICh0aGUgcHJvamVuIHRhc2tzIHRoZVxuICogICAgIGFyZ3Mgd291bGQgbmFtZSwgbGlrZSBgc3luY2AsIGRvbid0IGV4aXN0IHVudGlsIGAucHJvamVucmMudHNgIGhhcyBydW5cbiAqICAgICBvbmNlKSwgYW5kIGluc3RhbGwuIERvbid0IGZvcndhcmQgYHByb2plbkFyZ3NgIC0gdGhlIHN5bnRoIGlzIHRoZSB3b3JrLlxuICogICAtIG90aGVyd2lzZSAoZXN0YWJsaXNoZWQgd29ya3NwYWNlKSAtPiBlbnN1cmUgZGVwcywgYnJpbmcgdGhlIGVuZ2luZSB1cCB0b1xuICogICAgIHRoaXMgQ0xJJ3MgdmVyc2lvbiwgdGhlbiBmb3J3YXJkIHRvIHByb2plbi5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHByZXBhcmVBbmRSdW5Qcm9qZW4ocHJvamVuQXJnczogc3RyaW5nW10sIHN0YXJ0RGlyPzogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHJvb3QgPSBhd2FpdCBmaW5kV29ya3NwYWNlUm9vdChzdGFydERpcik7XG4gIGlmIChuZWVkc0Jvb3RzdHJhcChyb290KSkge1xuICAgIGJvb3RzdHJhcFdvcmtzcGFjZShyb290KTtcbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKG5lZWRzVG9vbGNoYWluKHJvb3QpKSB7XG4gICAgc2VlZFRvb2xjaGFpbihyb290KTtcbiAgICBydW5Jbml0aWFsU3ludGgocm9vdCk7XG4gICAgcnVuQnVuKFtcImluc3RhbGxcIl0sIHJvb3QpO1xuICAgIHJldHVybjtcbiAgfVxuICBlbnN1cmVXb3Jrc3BhY2VSZWFkeShyb290KTtcbiAgZW5zdXJlRW5naW5lQ3VycmVudChyb290KTtcbiAgcnVuUHJvamVuKHByb2plbkFyZ3MsIHJvb3QpO1xufVxuXG4vKipcbiAqIE1vdW50IGBuYW1lYCBhcyBhIGNvbW1hbmQgdGhhdCBjYXB0dXJlcyBldmVyeSBmb2xsb3dpbmcgdG9rZW4gdmVyYmF0aW0gYW5kXG4gKiBoYW5kcyBpdCB0byB0aGUgcHJvZ3JhbSBgbG9hZCgpYCByZXNvbHZlcy4gYGhlbHBPcHRpb24oZmFsc2UpYCBpcyB3aGF0IGxldHNcbiAqIGAtLWhlbHBgIHRocm91Z2ggdG8gdGhlIGNoaWxkIGluc3RlYWQgb2YgYmVpbmcgYW5zd2VyZWQgaGVyZSwgYW5kXG4gKiBgcGFzc1Rocm91Z2hPcHRpb25zKClgIGtlZXBzIHVua25vd24gZmxhZ3MgaW4gdGhhdCB0b2tlbiBsaXN0IHNvIHRoZSBjaGlsZFxuICogcHJvZ3JhbSBvd25zIHRoZW0uXG4gKi9cbmZ1bmN0aW9uIGFkZEZvcndhcmRlZENvbW1hbmQoXG4gIHByb2dyYW06IENvbW1hbmQsXG4gIG5hbWU6IHN0cmluZyxcbiAgZGVzY3JpcHRpb246IHN0cmluZyxcbiAgbG9hZDogKCkgPT4gUHJvbWlzZTwobmFtZTogc3RyaW5nKSA9PiBDb21tYW5kPixcbik6IHZvaWQge1xuICBwcm9ncmFtXG4gICAgLmNvbW1hbmQobmFtZSlcbiAgICAuZGVzY3JpcHRpb24oZGVzY3JpcHRpb24pXG4gICAgLmFyZ3VtZW50KFwiW2FyZ3MuLi5dXCIsIGBhcmd1bWVudHMgZm9yd2FyZGVkIHRvICR7bmFtZX1gKVxuICAgIC5hbGxvd1Vua25vd25PcHRpb24oKVxuICAgIC5wYXNzVGhyb3VnaE9wdGlvbnMoKVxuICAgIC5hbGxvd0V4Y2Vzc0FyZ3VtZW50cygpXG4gICAgLmhlbHBPcHRpb24oZmFsc2UpXG4gICAgLmFjdGlvbihhc3luYyAoYXJnczogc3RyaW5nW10pID0+IHtcbiAgICAgIGNvbnN0IGJ1aWxkUHJvZ3JhbSA9IGF3YWl0IGxvYWQoKTtcbiAgICAgIGF3YWl0IGJ1aWxkUHJvZ3JhbShgJHtwcm9ncmFtLm5hbWUoKX0gJHtuYW1lfWApLnBhcnNlQXN5bmMoYXJncywgeyBmcm9tOiBcInVzZXJcIiB9KTtcbiAgICB9KTtcbn1cblxuLyoqIEJ1aWxkIHRoZSBgZGJ4YCBjb21tYW5kZXIgcHJvZ3JhbSAobm8gc2lkZSBlZmZlY3RzIHVudGlsIHBhcnNlZCkuICovXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRQcm9ncmFtKG5hbWU6IHN0cmluZyA9IFBST0dSQU1fTkFNRVNbMF0pOiBDb21tYW5kIHtcbiAgY29uc3QgcHJvZ3JhbSA9IG5ldyBDb21tYW5kKClcbiAgICAubmFtZShuYW1lKVxuICAgIC5kZXNjcmlwdGlvbihcbiAgICAgIFwiRGF0YWJyaWNrcyBkZXZlbG9wZXIgdG9vbHM6IHdvcmtzcGFjZSBsaWZlY3ljbGUsIEFwcEtpdCBlbnYsIGF1dGgsIHR1bm5lbHMsIGFuZCBsb2NhbCBwcm94aWVzXCIsXG4gICAgKVxuICAgIC5lbmFibGVQb3NpdGlvbmFsT3B0aW9ucygpXG4gICAgLnNob3dIZWxwQWZ0ZXJFcnJvcigpXG4gICAgLmhlbHBPcHRpb24oXCItaCwgLS1oZWxwXCIsIGBTaG93ICR7bmFtZX0gaGVscGApO1xuXG4gIHByb2dyYW1cbiAgICAuY29tbWFuZChcImRldlwiKVxuICAgIC5kZXNjcmlwdGlvbihcIkJvb3RzdHJhcCBvciByZXBhaXIgYSBkYngtdG9vbHMgd29ya3NwYWNlLCB0aGVuIGZvcndhcmQgdG8gcHJvamVuXCIpXG4gICAgLmFyZ3VtZW50KFwiW3Byb2plbkFyZ3MuLi5dXCIsIFwicHJvamVuIHRhc2sgYW5kIGFyZ3VtZW50cyAoZS5nLiBzeW5jIC0td2F0Y2gpXCIpXG4gICAgLmFsbG93VW5rbm93bk9wdGlvbigpXG4gICAgLmFsbG93RXhjZXNzQXJndW1lbnRzKClcbiAgICAuaGVscE9wdGlvbihmYWxzZSlcbiAgICAuYWN0aW9uKGFzeW5jIChwcm9qZW5BcmdzOiBzdHJpbmdbXSkgPT4ge1xuICAgICAgYXdhaXQgcHJlcGFyZUFuZFJ1blByb2plbihwcm9qZW5BcmdzKTtcbiAgICB9KTtcblxuICBhZGRGb3J3YXJkZWRDb21tYW5kKFxuICAgIHByb2dyYW0sXG4gICAgXCJhcHBraXRcIixcbiAgICBcIkFwcEtpdCBoZWxwZXJzIChlbnY6IHByaW50IHRoZSBlbnZpcm9ubWVudCBhbiBBcHBLaXQgYXBwIHJlc29sdmVzKVwiLFxuICAgIGFzeW5jICgpID0+IChhd2FpdCBpbXBvcnQoXCIuL2FwcGtpdC9jbGkudHNcIikpLmJ1aWxkUHJvZ3JhbSxcbiAgKTtcblxuICBhZGRGb3J3YXJkZWRDb21tYW5kKFxuICAgIHByb2dyYW0sXG4gICAgXCJhdXRoXCIsXG4gICAgXCJBdXRoZW50aWNhdGUgdG8gRGF0YWJyaWNrcyBhbmQgbWFuYWdlIE9BdXRoIHRva2Vuc1wiLFxuICAgIGFzeW5jICgpID0+IChhd2FpdCBpbXBvcnQoXCIuL2F1dGgvY2xpLnRzXCIpKS5idWlsZFByb2dyYW0sXG4gICk7XG5cbiAgYWRkRm9yd2FyZGVkQ29tbWFuZChcbiAgICBwcm9ncmFtLFxuICAgIFwidHVubmVsXCIsXG4gICAgXCJSdW4gYSBwdWJsaWMgcG9ydHIgdHVubmVsIHdpdGggYW4gZW1haWwtT1RQIGdhdGVcIixcbiAgICBhc3luYyAoKSA9PiAoYXdhaXQgaW1wb3J0KFwiLi90dW5uZWwvY2xpLnRzXCIpKS5idWlsZFByb2dyYW0sXG4gICk7XG5cbiAgYWRkRm9yd2FyZGVkQ29tbWFuZChcbiAgICBwcm9ncmFtLFxuICAgIFwibGFrZWJhc2UtcHJveHlcIixcbiAgICBcIlJ1biB0aGUgTm9kZSBEYXRhYnJpY2tzIExha2ViYXNlIFBvc3RncmVTUUwgcHJveHlcIixcbiAgICBhc3luYyAoKSA9PiAoYXdhaXQgaW1wb3J0KFwiLi9sYWtlYmFzZS1wcm94eS9jbGkudHNcIikpLmJ1aWxkUHJvZ3JhbSxcbiAgKTtcblxuICBhZGRGb3J3YXJkZWRDb21tYW5kKFxuICAgIHByb2dyYW0sXG4gICAgXCJtb2RlbC1nYXRld2F5XCIsXG4gICAgXCJSdW4gdGhlIGZvcmVncm91bmQgQXBwS2l0IERhdGFicmlja3MgbW9kZWwgZ2F0ZXdheVwiLFxuICAgIGFzeW5jICgpID0+IChhd2FpdCBpbXBvcnQoXCIuL21vZGVsLWdhdGV3YXkvY2xpLnRzXCIpKS5idWlsZFByb2dyYW0sXG4gICk7XG5cbiAgYWRkRm9yd2FyZGVkQ29tbWFuZChcbiAgICBwcm9ncmFtLFxuICAgIFwiZ2VuaWVcIixcbiAgICBcIlJ1biBtYW5hZ2VkIEdlbmllIENvZGUgdGhyb3VnaCBhIGxvY2FsIERhdGFicmlja3MgbW9kZWwgZ2F0ZXdheVwiLFxuICAgIGFzeW5jICgpID0+IChhd2FpdCBpbXBvcnQoXCIuL2dlbmllLWNvZGUvY2xpLnRzXCIpKS5idWlsZFByb2dyYW0sXG4gICk7XG5cbiAgYWRkRm9yd2FyZGVkQ29tbWFuZChcbiAgICBwcm9ncmFtLFxuICAgIFwiZ3JhcGhpdGlcIixcbiAgICBcIlJ1biBHcmFwaGl0aSBvciBtYW5hZ2UgaXRzIGN1cnJlbnQtdXNlciBkZXNrdG9wIHNlcnZpY2VcIixcbiAgICBhc3luYyAoKSA9PiAoYXdhaXQgaW1wb3J0KFwiLi9ncmFwaGl0aS9jbGkudHNcIikpLmJ1aWxkUHJvZ3JhbSxcbiAgKTtcblxuICByZXR1cm4gcHJvZ3JhbTtcbn1cblxuLyoqIEJ1aWxkIHRoZSBjb21wbGV0ZSBjb21tYW5kIHRyZWUgdXNlZCBmb3IgZ2VuZXJhdGVkIGRvY3VtZW50YXRpb24uICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYnVpbGREb2N1bWVudGF0aW9uUHJvZ3JhbShuYW1lOiBzdHJpbmcgPSBQUk9HUkFNX05BTUVTWzBdKTogUHJvbWlzZTxDb21tYW5kPiB7XG4gIGNvbnN0IHByb2dyYW0gPSBidWlsZFByb2dyYW0obmFtZSk7XG4gIGNvbnN0IGNoaWxkcmVuID0gW1xuICAgIChhd2FpdCBpbXBvcnQoXCIuL2FwcGtpdC9jbGkudHNcIikpLmJ1aWxkUHJvZ3JhbShcImFwcGtpdFwiKSxcbiAgICAoYXdhaXQgaW1wb3J0KFwiLi9hdXRoL2NsaS50c1wiKSkuYnVpbGRQcm9ncmFtKFwiYXV0aFwiKSxcbiAgICAoYXdhaXQgaW1wb3J0KFwiLi90dW5uZWwvY2xpLnRzXCIpKS5idWlsZFByb2dyYW0oXCJ0dW5uZWxcIiksXG4gICAgKGF3YWl0IGltcG9ydChcIi4vbGFrZWJhc2UtcHJveHkvY2xpLnRzXCIpKS5idWlsZFByb2dyYW0oXCJsYWtlYmFzZS1wcm94eVwiKSxcbiAgICAoYXdhaXQgaW1wb3J0KFwiLi9tb2RlbC1nYXRld2F5L2NsaS50c1wiKSkuYnVpbGRQcm9ncmFtKFwibW9kZWwtZ2F0ZXdheVwiKSxcbiAgICAoYXdhaXQgaW1wb3J0KFwiLi9nZW5pZS1jb2RlL2NsaS50c1wiKSkuYnVpbGRQcm9ncmFtKFwiZ2VuaWVcIiksXG4gICAgKGF3YWl0IGltcG9ydChcIi4vZ3JhcGhpdGkvY2xpLnRzXCIpKS5idWlsZFByb2dyYW0oXCJncmFwaGl0aVwiKSxcbiAgXTtcbiAgKHByb2dyYW0uY29tbWFuZHMgYXMgQ29tbWFuZFtdKS5zcGxpY2UoMSwgcHJvZ3JhbS5jb21tYW5kcy5sZW5ndGggLSAxKTtcbiAgZm9yIChjb25zdCBjaGlsZCBvZiBjaGlsZHJlbikgcHJvZ3JhbS5hZGRDb21tYW5kKGNoaWxkKTtcbiAgcmV0dXJuIHByb2dyYW07XG59XG5cbi8qKlxuICogUHJvZ3JhbSBuYW1lIGZvciBoZWxwIG91dHB1dDogd2hpY2hldmVyIGJpbiB0aGUgdXNlciBhY3R1YWxseSB0eXBlZCwgc29cbiAqIGBkYngtdG9vbHMgLS1oZWxwYCBkb2Vzbid0IGRvY3VtZW50IGl0c2VsZiBhcyBgZGJ4YC4gRmFsbHMgYmFjayB0byBgZGJ4YC5cbiAqL1xuZnVuY3Rpb24gcHJvZ3JhbU5hbWUoYXJndjogc3RyaW5nW10pOiBzdHJpbmcge1xuICBjb25zdCBpbnZva2VkID0gYXJndlsxXSA/IGJhc2VuYW1lKGFyZ3ZbMV0pLnJlcGxhY2UoL1xcLig/OltjbV0/W2p0XXMpJC8sIFwiXCIpIDogdW5kZWZpbmVkO1xuICByZXR1cm4gUFJPR1JBTV9OQU1FUy5maW5kKChjYW5kaWRhdGUpID0+IGNhbmRpZGF0ZSA9PT0gaW52b2tlZCkgPz8gUFJPR1JBTV9OQU1FU1swXTtcbn1cblxuLyoqIFBhcnNlIGBhcmd2YCAoYSBgcHJvY2Vzcy5hcmd2YCkgYW5kIHJ1biB0aGUgbWF0Y2hpbmcgY29tbWFuZC4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBydW5DbGkoYXJndjogc3RyaW5nW10pOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgYnVpbGRQcm9ncmFtKHByb2dyYW1OYW1lKGFyZ3YpKS5wYXJzZUFzeW5jKGFyZ3YpO1xufVxuIl19
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUNMLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIsZUFBZSxFQUNmLGFBQWEsR0FDZCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRTlFLHNFQUFzRTtBQUN0RSxNQUFNLGFBQWEsR0FBRyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQVUsQ0FBQztBQUVwRDs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxtQkFBbUIsQ0FBQyxVQUFvQixFQUFFLFFBQWlCO0lBQy9FLE1BQU0sSUFBSSxHQUFHLE1BQU0saUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0MsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUN6QixrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixPQUFPO0lBQ1QsQ0FBQztJQUNELElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDekIsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BCLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QixNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMxQixPQUFPO0lBQ1QsQ0FBQztJQUNELG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFD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LEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDdkUsS0FBSyxNQUFNLEtBQUssSUFBSSxRQUFRO1FBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4RCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBUyxXQUFXLENBQUMsSUFBYztJQUNqQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUN6RixPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFNBQVMsS0FBSyxPQUFPLENBQUMsSUFBSSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdEYsQ0FBQztBQUVELG9FQUFvRTtBQUNwRSxNQUFNLENBQUMsS0FBSyxVQUFVLE1BQU0sQ0FBQyxJQUFjO0lBQ3pDLE1BQU0sWUFBWSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN6RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb21tYW5kZXIgZW50cnkgZm9yIGBkYnhgIGFuZCBpdHMgYGRieC10b29sc2AgYWxpYXMuXG4gKlxuICogYGRldmAgYm9vdHN0cmFwcyBvciByZXBhaXJzIGEgd29ya3NwYWNlIGFuZCBmb3J3YXJkcyB0byBwcm9qZW4uXG4gKiBgYXBwa2l0YCBwcm92aWRlcyBBcHBLaXQgZW52aXJvbm1lbnQgaGVscGVycy5cbiAqIGBhdXRoYCBtYW5hZ2VzIERhdGFicmlja3MgT0F1dGggYW5kIGFjY2VzcyB0b2tlbnMuXG4gKiBgdHVubmVsYCBydW5zIGEgcHVibGljIHBvcnRyIHR1bm5lbCB3aXRoIHBhc3N3b3JkbGVzcyBhY2Nlc3MgZ2F0aW5nLlxuICpcbiAqIEZlYXR1cmUgY29tbWFuZHMgbG9hZCB0aGVpciBzaWJsaW5nIHBhY2thZ2VzIG9ubHkgd2hlbiBzZWxlY3RlZCBhbmQgZm9yd2FyZFxuICogdGhlaXIgY29tcGxldGUgYXJndW1lbnQgbGlzdCwgaW5jbHVkaW5nIGAtLWhlbHBgLlxuICpcbiAqIEBtb2R1bGVcbiAqL1xuaW1wb3J0IHsgYmFzZW5hbWUgfSBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgeyBDb21tYW5kIH0gZnJvbSBcImNvbW1hbmRlclwiO1xuaW1wb3J0IHtcbiAgYm9vdHN0cmFwV29ya3NwYWNlLFxuICBlbnN1cmVFbmdpbmVDdXJyZW50LFxuICBydW5Jbml0aWFsU3ludGgsXG4gIHNlZWRUb29sY2hhaW4sXG59IGZyb20gXCIuL2Jvb3RzdHJhcC50c1wiO1xuaW1wb3J0IHsgZW5zdXJlV29ya3NwYWNlUmVhZHksIHJ1bkJ1biwgcnVuUHJvamVuIH0gZnJvbSBcIi4vYnVuLnRzXCI7XG5pbXBvcnQgeyBmaW5kV29ya3NwYWNlUm9vdCwgbmVlZHNCb290c3RyYXAsIG5lZWRzVG9vbGNoYWluIH0gZnJvbSBcIi4vcm9vdC50c1wiO1xuXG4vKiogQ29tbWFuZHMgdGhlIGJpbiBleHBvc2VzLCBhbmQgdGhlIG5hbWVzIGhlbHAgaXMgcmVuZGVyZWQgdW5kZXIuICovXG5jb25zdCBQUk9HUkFNX05BTUVTID0gW1wiZGJ4XCIsIFwiZGJ4LXRvb2xzXCJdIGFzIGNvbnN0O1xuXG4vKipcbiAqIFByZXBhcmUgdGhlIHdvcmtzcGFjZSBhdCBgcm9vdGAsIHRoZW4gcnVuIHByb2plbiAodmlhIGJ1bikgd2l0aCBgcHJvamVuQXJnc2AuXG4gKlxuICogVGhyZWUgY2FzZXMsIGluIG9yZGVyOlxuICogICAtIG5vIGAucHJvamVucmMudHNgIGF0IGFsbCAtPiBmdWxsIGJvb3RzdHJhcCAoc2NhZmZvbGQgKyBpbnN0YWxsICsgc3ludGgpLFxuICogICAgIHdoaWNoIGFscmVhZHkgcnVucyB0aGUgaW5pdGlhbCBzeW50aDsgbm90aGluZyBtb3JlIHRvIGZvcndhcmQuXG4gKiAgIC0gYSBgLnByb2plbnJjLnRzYCBidXQgdGhlIGVuZ2luZS90b29sY2hhaW4gaXNuJ3QgaW5zdGFsbGVkIChlLmcuIGEgZnJlc2hseVxuICogICAgIGNvcGllZCBwcm9qZWN0IHdob3NlIGdlbmVyYXRlZCBmaWxlcyArIG1hbmlmZXN0cyBhcmUgZ2l0aWdub3JlZCkgLT4gc2VlZFxuICogICAgIHRoZSB0b29sY2hhaW4sIHRoZW4gcnVuIHRoZSBJTklUSUFMIHN5bnRoIGRpcmVjdGx5ICh0aGUgcHJvamVuIHRhc2tzIHRoZVxuICogICAgIGFyZ3Mgd291bGQgbmFtZSwgbGlrZSBgc3luY2AsIGRvbid0IGV4aXN0IHVudGlsIGAucHJvamVucmMudHNgIGhhcyBydW5cbiAqICAgICBvbmNlKSwgYW5kIGluc3RhbGwuIERvbid0IGZvcndhcmQgYHByb2plbkFyZ3NgIC0gdGhlIHN5bnRoIGlzIHRoZSB3b3JrLlxuICogICAtIG90aGVyd2lzZSAoZXN0YWJsaXNoZWQgd29ya3NwYWNlKSAtPiBlbnN1cmUgZGVwcywgYnJpbmcgdGhlIGVuZ2luZSB1cCB0b1xuICogICAgIHRoaXMgQ0xJJ3MgdmVyc2lvbiwgdGhlbiBmb3J3YXJkIHRvIHByb2plbi5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHByZXBhcmVBbmRSdW5Qcm9qZW4ocHJvamVuQXJnczogc3RyaW5nW10sIHN0YXJ0RGlyPzogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHJvb3QgPSBhd2FpdCBmaW5kV29ya3NwYWNlUm9vdChzdGFydERpcik7XG4gIGlmIChuZWVkc0Jvb3RzdHJhcChyb290KSkge1xuICAgIGJvb3RzdHJhcFdvcmtzcGFjZShyb290KTtcbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKG5lZWRzVG9vbGNoYWluKHJvb3QpKSB7XG4gICAgc2VlZFRvb2xjaGFpbihyb290KTtcbiAgICBydW5Jbml0aWFsU3ludGgocm9vdCk7XG4gICAgcnVuQnVuKFtcImluc3RhbGxcIl0sIHJvb3QpO1xuICAgIHJldHVybjtcbiAgfVxuICBlbnN1cmVXb3Jrc3BhY2VSZWFkeShyb290KTtcbiAgZW5zdXJlRW5naW5lQ3VycmVudChyb290KTtcbiAgcnVuUHJvamVuKHByb2plbkFyZ3MsIHJvb3QpO1xufVxuXG4vKipcbiAqIE1vdW50IGBuYW1lYCBhcyBhIGNvbW1hbmQgdGhhdCBjYXB0dXJlcyBldmVyeSBmb2xsb3dpbmcgdG9rZW4gdmVyYmF0aW0gYW5kXG4gKiBoYW5kcyBpdCB0byB0aGUgcHJvZ3JhbSBgbG9hZCgpYCByZXNvbHZlcy4gYGhlbHBPcHRpb24oZmFsc2UpYCBpcyB3aGF0IGxldHNcbiAqIGAtLWhlbHBgIHRocm91Z2ggdG8gdGhlIGNoaWxkIGluc3RlYWQgb2YgYmVpbmcgYW5zd2VyZWQgaGVyZSwgYW5kXG4gKiBgcGFzc1Rocm91Z2hPcHRpb25zKClgIGtlZXBzIHVua25vd24gZmxhZ3MgaW4gdGhhdCB0b2tlbiBsaXN0IHNvIHRoZSBjaGlsZFxuICogcHJvZ3JhbSBvd25zIHRoZW0uXG4gKi9cbmZ1bmN0aW9uIGFkZEZvcndhcmRlZENvbW1hbmQoXG4gIHByb2dyYW06IENvbW1hbmQsXG4gIG5hbWU6IHN0cmluZyxcbiAgZGVzY3JpcHRpb246IHN0cmluZyxcbiAgbG9hZDogKCkgPT4gUHJvbWlzZTwobmFtZTogc3RyaW5nKSA9PiBDb21tYW5kPixcbik6IHZvaWQge1xuICBwcm9ncmFtXG4gICAgLmNvbW1hbmQobmFtZSlcbiAgICAuZGVzY3JpcHRpb24oZGVzY3JpcHRpb24pXG4gICAgLmFyZ3VtZW50KFwiW2FyZ3MuLi5dXCIsIGBhcmd1bWVudHMgZm9yd2FyZGVkIHRvICR7bmFtZX1gKVxuICAgIC5hbGxvd1Vua25vd25PcHRpb24oKVxuICAgIC5wYXNzVGhyb3VnaE9wdGlvbnMoKVxuICAgIC5hbGxvd0V4Y2Vzc0FyZ3VtZW50cygpXG4gICAgLmhlbHBPcHRpb24oZmFsc2UpXG4gICAgLmFjdGlvbihhc3luYyAoYXJnczogc3RyaW5nW10pID0+IHtcbiAgICAgIGNvbnN0IGJ1aWxkUHJvZ3JhbSA9IGF3YWl0IGxvYWQoKTtcbiAgICAgIGF3YWl0IGJ1aWxkUHJvZ3JhbShgJHtwcm9ncmFtLm5hbWUoKX0gJHtuYW1lfWApLnBhcnNlQXN5bmMoYXJncywgeyBmcm9tOiBcInVzZXJcIiB9KTtcbiAgICB9KTtcbn1cblxuLyoqIEJ1aWxkIHRoZSBgZGJ4YCBjb21tYW5kZXIgcHJvZ3JhbSAobm8gc2lkZSBlZmZlY3RzIHVudGlsIHBhcnNlZCkuICovXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRQcm9ncmFtKG5hbWU6IHN0cmluZyA9IFBST0dSQU1fTkFNRVNbMF0pOiBDb21tYW5kIHtcbiAgY29uc3QgcHJvZ3JhbSA9IG5ldyBDb21tYW5kKClcbiAgICAubmFtZShuYW1lKVxuICAgIC5kZXNjcmlwdGlvbihcbiAgICAgIFwiRGF0YWJyaWNrcyBkZXZlbG9wZXIgdG9vbHM6IHdvcmtzcGFjZSBsaWZlY3ljbGUsIEFwcEtpdCBlbnYsIGF1dGgsIHR1bm5lbHMsIGFuZCBsb2NhbCBwcm94aWVzXCIsXG4gICAgKVxuICAgIC5lbmFibGVQb3NpdGlvbmFsT3B0aW9ucygpXG4gICAgLnNob3dIZWxwQWZ0ZXJFcnJvcigpXG4gICAgLmhlbHBPcHRpb24oXCItaCwgLS1oZWxwXCIsIGBTaG93ICR7bmFtZX0gaGVscGApO1xuXG4gIHByb2dyYW1cbiAgICAuY29tbWFuZChcImRldlwiKVxuICAgIC5kZXNjcmlwdGlvbihcIkJvb3RzdHJhcCBvciByZXBhaXIgYSBkYngtdG9vbHMgd29ya3NwYWNlLCB0aGVuIGZvcndhcmQgdG8gcHJvamVuXCIpXG4gICAgLmFyZ3VtZW50KFwiW3Byb2plbkFyZ3MuLi5dXCIsIFwiUHJvamVuIHRhc2sgYW5kIGFyZ3VtZW50cywgZm9yIGV4YW1wbGUgc3luYyAtLXdhdGNoXCIpXG4gICAgLmFsbG93VW5rbm93bk9wdGlvbigpXG4gICAgLmFsbG93RXhjZXNzQXJndW1lbnRzKClcbiAgICAuaGVscE9wdGlvbihmYWxzZSlcbiAgICAuYWN0aW9uKGFzeW5jIChwcm9qZW5BcmdzOiBzdHJpbmdbXSkgPT4ge1xuICAgICAgYXdhaXQgcHJlcGFyZUFuZFJ1blByb2plbihwcm9qZW5BcmdzKTtcbiAgICB9KTtcblxuICBhZGRGb3J3YXJkZWRDb21tYW5kKFxuICAgIHByb2dyYW0sXG4gICAgXCJhcHBraXRcIixcbiAgICBcIkFwcEtpdCBoZWxwZXJzIChlbnY6IHByaW50IHRoZSBlbnZpcm9ubWVudCBhbiBBcHBLaXQgYXBwIHJlc29sdmVzKVwiLFxuICAgIGFzeW5jICgpID0+IChhd2FpdCBpbXBvcnQoXCIuL2FwcGtpdC9jbGkudHNcIikpLmJ1aWxkUHJvZ3JhbSxcbiAgKTtcblxuICBhZGRGb3J3YXJkZWRDb21tYW5kKFxuICAgIHByb2dyYW0sXG4gICAgXCJhdXRoXCIsXG4gICAgXCJBdXRoZW50aWNhdGUgdG8gRGF0YWJyaWNrcyBhbmQgbWFuYWdlIE9BdXRoIHRva2Vuc1wiLFxuICAgIGFzeW5jICgpID0+IChhd2FpdCBpbXBvcnQoXCIuL2F1dGgvY2xpLnRzXCIpKS5idWlsZFByb2dyYW0sXG4gICk7XG5cbiAgYWRkRm9yd2FyZGVkQ29tbWFuZChcbiAgICBwcm9ncmFtLFxuICAgIFwidHVubmVsXCIsXG4gICAgXCJSdW4gYSBwdWJsaWMgcG9ydHIgdHVubmVsIHdpdGggYW4gZW1haWwtT1RQIGdhdGVcIixcbiAgICBhc3luYyAoKSA9PiAoYXdhaXQgaW1wb3J0KFwiLi90dW5uZWwvY2xpLnRzXCIpKS5idWlsZFByb2dyYW0sXG4gICk7XG5cbiAgYWRkRm9yd2FyZGVkQ29tbWFuZChcbiAgICBwcm9ncmFtLFxuICAgIFwibGFrZWJhc2UtcHJveHlcIixcbiAgICBcIlJ1biB0aGUgTm9kZSBEYXRhYnJpY2tzIExha2ViYXNlIFBvc3RncmVTUUwgcHJveHlcIixcbiAgICBhc3luYyAoKSA9PiAoYXdhaXQgaW1wb3J0KFwiLi9sYWtlYmFzZS1wcm94eS9jbGkudHNcIikpLmJ1aWxkUHJvZ3JhbSxcbiAgKTtcblxuICBhZGRGb3J3YXJkZWRDb21tYW5kKFxuICAgIHByb2dyYW0sXG4gICAgXCJtb2RlbC1nYXRld2F5XCIsXG4gICAgXCJSdW4gdGhlIGZvcmVncm91bmQgQXBwS2l0IERhdGFicmlja3MgbW9kZWwgZ2F0ZXdheVwiLFxuICAgIGFzeW5jICgpID0+IChhd2FpdCBpbXBvcnQoXCIuL21vZGVsLWdhdGV3YXkvY2xpLnRzXCIpKS5idWlsZFByb2dyYW0sXG4gICk7XG5cbiAgYWRkRm9yd2FyZGVkQ29tbWFuZChcbiAgICBwcm9ncmFtLFxuICAgIFwiZ2VuaWVcIixcbiAgICBcIlJ1biBtYW5hZ2VkIEdlbmllIENvZGUgdGhyb3VnaCBhIGxvY2FsIERhdGFicmlja3MgbW9kZWwgZ2F0ZXdheVwiLFxuICAgIGFzeW5jICgpID0+IChhd2FpdCBpbXBvcnQoXCIuL2dlbmllLWNvZGUvY2xpLnRzXCIpKS5idWlsZFByb2dyYW0sXG4gICk7XG5cbiAgYWRkRm9yd2FyZGVkQ29tbWFuZChcbiAgICBwcm9ncmFtLFxuICAgIFwiZ3JhcGhpdGlcIixcbiAgICBcIlJ1biBHcmFwaGl0aSBvciBtYW5hZ2UgaXRzIGN1cnJlbnQtdXNlciBkZXNrdG9wIHNlcnZpY2VcIixcbiAgICBhc3luYyAoKSA9PiAoYXdhaXQgaW1wb3J0KFwiLi9ncmFwaGl0aS9jbGkudHNcIikpLmJ1aWxkUHJvZ3JhbSxcbiAgKTtcblxuICByZXR1cm4gcHJvZ3JhbTtcbn1cblxuLyoqIEJ1aWxkIHRoZSBjb21wbGV0ZSBjb21tYW5kIHRyZWUgdXNlZCBmb3IgZ2VuZXJhdGVkIGRvY3VtZW50YXRpb24uICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYnVpbGREb2N1bWVudGF0aW9uUHJvZ3JhbShuYW1lOiBzdHJpbmcgPSBQUk9HUkFNX05BTUVTWzBdKTogUHJvbWlzZTxDb21tYW5kPiB7XG4gIGNvbnN0IHByb2dyYW0gPSBidWlsZFByb2dyYW0obmFtZSk7XG4gIGNvbnN0IGNoaWxkcmVuID0gW1xuICAgIChhd2FpdCBpbXBvcnQoXCIuL2FwcGtpdC9jbGkudHNcIikpLmJ1aWxkUHJvZ3JhbShcImFwcGtpdFwiKSxcbiAgICAoYXdhaXQgaW1wb3J0KFwiLi9hdXRoL2NsaS50c1wiKSkuYnVpbGRQcm9ncmFtKFwiYXV0aFwiKSxcbiAgICAoYXdhaXQgaW1wb3J0KFwiLi90dW5uZWwvY2xpLnRzXCIpKS5idWlsZFByb2dyYW0oXCJ0dW5uZWxcIiksXG4gICAgKGF3YWl0IGltcG9ydChcIi4vbGFrZWJhc2UtcHJveHkvY2xpLnRzXCIpKS5idWlsZFByb2dyYW0oXCJsYWtlYmFzZS1wcm94eVwiKSxcbiAgICAoYXdhaXQgaW1wb3J0KFwiLi9tb2RlbC1nYXRld2F5L2NsaS50c1wiKSkuYnVpbGRQcm9ncmFtKFwibW9kZWwtZ2F0ZXdheVwiKSxcbiAgICAoYXdhaXQgaW1wb3J0KFwiLi9nZW5pZS1jb2RlL2NsaS50c1wiKSkuYnVpbGRQcm9ncmFtKFwiZ2VuaWVcIiksXG4gICAgKGF3YWl0IGltcG9ydChcIi4vZ3JhcGhpdGkvY2xpLnRzXCIpKS5idWlsZFByb2dyYW0oXCJncmFwaGl0aVwiKSxcbiAgXTtcbiAgKHByb2dyYW0uY29tbWFuZHMgYXMgQ29tbWFuZFtdKS5zcGxpY2UoMSwgcHJvZ3JhbS5jb21tYW5kcy5sZW5ndGggLSAxKTtcbiAgZm9yIChjb25zdCBjaGlsZCBvZiBjaGlsZHJlbikgcHJvZ3JhbS5hZGRDb21tYW5kKGNoaWxkKTtcbiAgcmV0dXJuIHByb2dyYW07XG59XG5cbi8qKlxuICogUHJvZ3JhbSBuYW1lIGZvciBoZWxwIG91dHB1dDogd2hpY2hldmVyIGJpbiB0aGUgdXNlciBhY3R1YWxseSB0eXBlZCwgc29cbiAqIGBkYngtdG9vbHMgLS1oZWxwYCBkb2Vzbid0IGRvY3VtZW50IGl0c2VsZiBhcyBgZGJ4YC4gRmFsbHMgYmFjayB0byBgZGJ4YC5cbiAqL1xuZnVuY3Rpb24gcHJvZ3JhbU5hbWUoYXJndjogc3RyaW5nW10pOiBzdHJpbmcge1xuICBjb25zdCBpbnZva2VkID0gYXJndlsxXSA/IGJhc2VuYW1lKGFyZ3ZbMV0pLnJlcGxhY2UoL1xcLig/OltjbV0/W2p0XXMpJC8sIFwiXCIpIDogdW5kZWZpbmVkO1xuICByZXR1cm4gUFJPR1JBTV9OQU1FUy5maW5kKChjYW5kaWRhdGUpID0+IGNhbmRpZGF0ZSA9PT0gaW52b2tlZCkgPz8gUFJPR1JBTV9OQU1FU1swXTtcbn1cblxuLyoqIFBhcnNlIGBhcmd2YCAoYSBgcHJvY2Vzcy5hcmd2YCkgYW5kIHJ1biB0aGUgbWF0Y2hpbmcgY29tbWFuZC4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBydW5DbGkoYXJndjogc3RyaW5nW10pOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgYnVpbGRQcm9ncmFtKHByb2dyYW1OYW1lKGFyZ3YpKS5wYXJzZUFzeW5jKGFyZ3YpO1xufVxuIl19
|
|
@@ -15,7 +15,7 @@ export function buildProgram(name = "dbx genie", dependencies = DEFAULT_DEPENDEN
|
|
|
15
15
|
const program = addArgs(new Command()
|
|
16
16
|
.name(name)
|
|
17
17
|
.description("Run Genie Code through an authenticated local Databricks model gateway")
|
|
18
|
-
.argument("[genieArgs...]", "
|
|
18
|
+
.argument("[genieArgs...]", "Arguments and unknown flags forwarded to Genie Code. Separate wrapper options with --")
|
|
19
19
|
.allowUnknownOption()
|
|
20
20
|
.passThroughOptions()
|
|
21
21
|
.allowExcessArguments()
|
|
@@ -33,4 +33,4 @@ export function buildProgram(name = "dbx genie", dependencies = DEFAULT_DEPENDEN
|
|
|
33
33
|
export async function runCli(argv) {
|
|
34
34
|
await buildProgram().parseAsync(argv);
|
|
35
35
|
}
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dlbmllLWNvZGUvY2xpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFcEMsT0FBTyxFQUFFLHlCQUF5QixFQUE0QixNQUFNLGNBQWMsQ0FBQztBQUNuRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBVzVDLE1BQU0sb0JBQW9CLEdBQTZCO0lBQ3JELEdBQUcsRUFBRSxZQUFZO0NBQ2xCLENBQUM7QUFFRixpRUFBaUU7QUFDakUsTUFBTSxVQUFVLFlBQVksQ0FDMUIsSUFBSSxHQUFHLFdBQVcsRUFDbEIsZUFBeUMsb0JBQW9CO0lBRTdELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FDckIsSUFBSSxPQUFPLEVBQUU7U0FDVixJQUFJLENBQUMsSUFBSSxDQUFDO1NBQ1YsV0FBVyxDQUFDLHdFQUF3RSxDQUFDO1NBQ3JGLFFBQVEsQ0FDUCxnQkFBZ0IsRUFDaEIsdUZBQXVGLENBQ3hGO1NBQ0Esa0JBQWtCLEVBQUU7U0FDcEIsa0JBQWtCLEVBQUU7U0FDcEIsb0JBQW9CLEVBQUU7U0FDdEIsa0JBQWtCLEVBQUUsRUFDdkIseUJBQXlCLENBQzFCLENBQUM7SUFDRixPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxTQUFtQixFQUFFLEVBQUU7UUFDM0MsTUFBTSxZQUFZLENBQUMsR0FBRyxDQUFDO1lBQ3JCLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRyxFQUFFO1lBQ2xCLFNBQVM7WUFDVCxPQUFPLEVBQUUsU0FBUyxDQUFDLE9BQU8sRUFBRSx5QkFBeUIsQ0FBQztTQUN2RCxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUM7QUFFRCw2Q0FBNkM7QUFDN0MsTUFBTSxDQUFDLEtBQUssVUFBVSxNQUFNLENBQUMsSUFBYztJQUN6QyxNQUFNLFlBQVksRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN4QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBNYW5hZ2VkIGBkYnggZ2VuaWVgIGNvbW1hbmQuXG4gKlxuICogQG1vZHVsZVxuICovXG5cbmltcG9ydCB7IGFkZEFyZ3MsIHBhcnNlQXJncyB9IGZyb20gXCJAZGJ4LXRvb2xzL2NsaS1hcmdzXCI7XG5pbXBvcnQgeyBDb21tYW5kIH0gZnJvbSBcImNvbW1hbmRlclwiO1xuXG5pbXBvcnQgeyBHZW5pZUNvZGVDbGlPcHRpb25zU2NoZW1hLCB0eXBlIEdlbmllQ29kZUNsaU9wdGlvbnMgfSBmcm9tIFwiLi9vcHRpb25zLnRzXCI7XG5pbXBvcnQgeyBydW5HZW5pZUNvZGUgfSBmcm9tIFwiLi9ydW50aW1lLnRzXCI7XG5cbi8qKiBJbmplY3RhYmxlIG1hbmFnZWQgR2VuaWUgZXhlY3V0aW9uIGJvdW5kYXJ5IGZvciBwYXJzZXIgdGVzdHMgYW5kIGVtYmVkZGluZy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2VuaWVDb2RlQ2xpRGVwZW5kZW5jaWVzIHtcbiAgcnVuKGlucHV0OiB7XG4gICAgY3dkOiBzdHJpbmc7XG4gICAgZ2VuaWVBcmdzOiByZWFkb25seSBzdHJpbmdbXTtcbiAgICBvcHRpb25zOiBHZW5pZUNvZGVDbGlPcHRpb25zO1xuICB9KTogUHJvbWlzZTx2b2lkPjtcbn1cblxuY29uc3QgREVGQVVMVF9ERVBFTkRFTkNJRVM6IEdlbmllQ29kZUNsaURlcGVuZGVuY2llcyA9IHtcbiAgcnVuOiBydW5HZW5pZUNvZGUsXG59O1xuXG4vKiogQnVpbGQgdGhlIG1hbmFnZWQgR2VuaWUgQ29kZSBjb21tYW5kIHdpdGhvdXQgZXhlY3V0aW5nIGl0LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkUHJvZ3JhbShcbiAgbmFtZSA9IFwiZGJ4IGdlbmllXCIsXG4gIGRlcGVuZGVuY2llczogR2VuaWVDb2RlQ2xpRGVwZW5kZW5jaWVzID0gREVGQVVMVF9ERVBFTkRFTkNJRVMsXG4pOiBDb21tYW5kIHtcbiAgY29uc3QgcHJvZ3JhbSA9IGFkZEFyZ3MoXG4gICAgbmV3IENvbW1hbmQoKVxuICAgICAgLm5hbWUobmFtZSlcbiAgICAgIC5kZXNjcmlwdGlvbihcIlJ1biBHZW5pZSBDb2RlIHRocm91Z2ggYW4gYXV0aGVudGljYXRlZCBsb2NhbCBEYXRhYnJpY2tzIG1vZGVsIGdhdGV3YXlcIilcbiAgICAgIC5hcmd1bWVudChcbiAgICAgICAgXCJbZ2VuaWVBcmdzLi4uXVwiLFxuICAgICAgICBcIkFyZ3VtZW50cyBhbmQgdW5rbm93biBmbGFncyBmb3J3YXJkZWQgdG8gR2VuaWUgQ29kZS4gU2VwYXJhdGUgd3JhcHBlciBvcHRpb25zIHdpdGggLS1cIixcbiAgICAgIClcbiAgICAgIC5hbGxvd1Vua25vd25PcHRpb24oKVxuICAgICAgLnBhc3NUaHJvdWdoT3B0aW9ucygpXG4gICAgICAuYWxsb3dFeGNlc3NBcmd1bWVudHMoKVxuICAgICAgLnNob3dIZWxwQWZ0ZXJFcnJvcigpLFxuICAgIEdlbmllQ29kZUNsaU9wdGlvbnNTY2hlbWEsXG4gICk7XG4gIHByb2dyYW0uYWN0aW9uKGFzeW5jIChnZW5pZUFyZ3M6IHN0cmluZ1tdKSA9PiB7XG4gICAgYXdhaXQgZGVwZW5kZW5jaWVzLnJ1bih7XG4gICAgICBjd2Q6IHByb2Nlc3MuY3dkKCksXG4gICAgICBnZW5pZUFyZ3MsXG4gICAgICBvcHRpb25zOiBwYXJzZUFyZ3MocHJvZ3JhbSwgR2VuaWVDb2RlQ2xpT3B0aW9uc1NjaGVtYSksXG4gICAgfSk7XG4gIH0pO1xuICByZXR1cm4gcHJvZ3JhbTtcbn1cblxuLyoqIFBhcnNlIGFyZ3YgYW5kIHJ1biBtYW5hZ2VkIEdlbmllIENvZGUuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcnVuQ2xpKGFyZ3Y6IHN0cmluZ1tdKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IGJ1aWxkUHJvZ3JhbSgpLnBhcnNlQXN5bmMoYXJndik7XG59XG4iXX0=
|
|
@@ -38,7 +38,8 @@ async function resolveCodexModel(model, profile, modelClass) {
|
|
|
38
38
|
if (!target) {
|
|
39
39
|
throw new Error(model ? `Genie Code model not found: ${model}` : "No tool-capable chat model is available");
|
|
40
40
|
}
|
|
41
|
-
|
|
41
|
+
// Genie Code pins the exact system.ai service slug, which wins regardless of gateway preference.
|
|
42
|
+
return models.codexModelSlug(target, true);
|
|
42
43
|
}
|
|
43
44
|
/** Resolve auth, installation, listener, and configuration before spawning children. */
|
|
44
45
|
export async function prepareGenieCodeRuntime(input = {}) {
|
|
@@ -166,4 +167,4 @@ export async function runGenieCode(input = {}) {
|
|
|
166
167
|
await rm(prepared.home.overlayPath, { force: true });
|
|
167
168
|
}
|
|
168
169
|
}
|
|
169
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nZW5pZS1jb2RlL3J1bnRpbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRixPQUFPLEtBQUssSUFBSSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRTdFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0MsT0FBTyxFQUNMLHVCQUF1QixHQUd4QixNQUFNLHNDQUFzQyxDQUFDO0FBRTlDLE9BQU8sWUFBWSxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLE9BQU8sTUFBTSxVQUFVLENBQUM7QUFFL0IsT0FBTyxFQUFFLG9CQUFvQixFQUFzQixNQUFNLGFBQWEsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRWpELE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7QUFrQnhDLE1BQU0sb0JBQW9CLEdBQWlDO0lBQ3pELGdCQUFnQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCO0lBQzlDLE9BQU8sRUFBRSxnQkFBZ0I7SUFDekIsSUFBSSxFQUFFLENBQUMs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QUksT0FBTyxDQUFDLEdBQUcsRUFBRTtRQUMvQixHQUFHLEVBQUUsSUFBSTtRQUNULFlBQVksRUFBRSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7UUFDcEMsVUFBVSxFQUFFLFNBQVM7UUFDckIsV0FBVyxFQUFFLE1BQU07UUFDbkIsZ0JBQWdCLEVBQUUsZUFBZTtLQUNsQyxDQUNGLENBQUM7SUFDRixNQUFNLENBQUMsSUFBSSxDQUFDLHNDQUFzQyxFQUFFO1FBQ2xELE9BQU8sRUFBRSxRQUFRLENBQUMsT0FBTztRQUN6QixLQUFLLEVBQUUsUUFBUSxDQUFDLEtBQUs7UUFDckIsT0FBTyxFQUFFLFFBQVEsQ0FBQyxjQUFjO1FBQ2hDLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUk7S0FDekIsQ0FBQyxDQUFDO0lBQ0gsSUFBSSxDQUFDO1FBQ0gsTUFBTSxNQUFNLENBQUM7SUFDZixDQUFDO1lBQVMsQ0FBQztRQUNULE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFN1cGVydmlzZSBHZW5pZSBDb2RlIGFuZCBpdHMgYXV0aGVudGljYXRlZCBsb2NhbCBtb2RlbCBnYXRld2F5LlxuICpcbiAqIEBtb2R1bGVcbiAqL1xuXG5pbXBvcnQgeyByYW5kb21CeXRlcyB9IGZyb20gXCJub2RlOmNyeXB0b1wiO1xuaW1wb3J0IHsgcm0gfSBmcm9tIFwibm9kZTpmcy9wcm9taXNlc1wiO1xuaW1wb3J0IHsgZGVsaW1pdGVyLCBkaXJuYW1lIH0gZnJvbSBcIm5vZGU6cGF0aFwiO1xuaW1wb3J0IHsgRGF0YWJyaWNrc01vZGVsUmVnaXN0cnksIG1vZGVscyB9IGZyb20gXCJAZGJ4LXRvb2xzL2FwcGtpdC1tb2RlbC1nYXRld2F5XCI7XG5pbXBvcnQgKiBhcyBhdXRoIGZyb20gXCJAZGJ4LXRvb2xzL2F1dGhcIjtcbmltcG9ydCB7IHJlc29sdmVTZXJ2aWNlUGFja2FnZUJpbiB9IGZyb20gXCJAZGJ4LXRvb2xzL2NsaS1zZXJ2aWNlL2RlZmluaXRpb25cIjtcbmltcG9ydCB0eXBlIHsgQmluQ29udGV4dCB9IGZyb20gXCJAZGJ4LXRvb2xzL2NvcmUvYmluXCI7XG5pbXBvcnQgeyB3b3Jrc3BhY2VDbGllbnQgfSBmcm9tIFwiQGRieC10b29scy9kYXRhYnJpY2tzXCI7XG5pbXBvcnQgeyBsb2cgfSBmcm9tIFwiQGRieC10b29scy9zaGFyZWQtY29yZVwiO1xuaW1wb3J0IHtcbiAgcmVzb2x2ZUdlbmllQ29kZU9wdGlvbnMsXG4gIHR5cGUgR2VuaWVDb2RlT3B0aW9ucyxcbiAgdHlwZSBHZW5pZUNvZGVSdW5uZXJPcHRpb25zLFxufSBmcm9tIFwiQGRieC10b29scy9zaGFyZWQtZ2VuaWUtY29kZS9vcHRpb25zXCI7XG5pbXBvcnQgdHlwZSB7IE1vZGVsQ2xhc3MgfSBmcm9tIFwiQGRieC10b29scy9zaGFyZWQtbW9kZWwvY29udHJhY3RzXCI7XG5pbXBvcnQgY29uY3VycmVudGx5IGZyb20gXCJjb25jdXJyZW50bHlcIjtcbmltcG9ydCBnZXRQb3J0IGZyb20gXCJnZXQtcG9ydFwiO1xuXG5pbXBvcnQgeyB3cml0ZUdlbmllQ29kZUNvbmZpZywgdHlwZSBHZW5pZUNvZGVIb21lIH0gZnJvbSBcIi4vY29uZmlnLnRzXCI7XG5pbXBvcnQgeyBpbnN0YWxsR2VuaWVDb2RlIH0gZnJvbSBcIi4vaW5zdGFsbC50c1wiO1xuaW1wb3J0IHsgUlVOTkVSX09QVElPTlNfRU5WIH0gZnJvbSBcIi4vcnVubmVyLnRzXCI7XG5cbmNvbnN0IGxvZ2dlciA9IGxvZy5sb2dnZXIoXCJnZW5pZS1jb2RlXCIpO1xuXG4vKiogSW5qZWN0YWJsZSBvd25lcnMgdXNlZCB0byBwcmVwYXJlIGFuZCBzdXBlcnZpc2UgbWFuYWdlZCBHZW5pZSBDb2RlLiAqL1xuZXhwb3J0IGludGVyZmFjZSBHZW5pZUNvZGVSdW50aW1lRGVwZW5kZW5jaWVzIHtcbiAgY3JlYXRlQXV0aENsaWVudDogdHlwZW9mIGF1dGguY2xpZW50LmNyZWF0ZUF1dGhDbGllbnQ7XG4gIGluc3RhbGw6IHR5cGVvZiBpbnN0YWxsR2VuaWVDb2RlO1xuICBwb3J0KG9wdGlvbnM6IHsgaG9zdDogc3RyaW5nOyBwb3J0PzogbnVtYmVyIH0pOiBQcm9taXNlPG51bWJlcj47XG4gIHJlc29sdmVCaW4ocGFja2FnZVJlZmVyZW5jZTogc3RyaW5nLCBiaW5OYW1lOiBzdHJpbmcpOiBzdHJpbmc7XG4gIHJlc29sdmVDb2RleE1vZGVsKFxuICAgIG1vZGVsOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgcHJvZmlsZTogc3RyaW5nLFxuICAgIG1vZGVsQ2xhc3M/OiBNb2RlbENsYXNzLFxuICApOiBQcm9taXNlPHN0cmluZz47XG4gIHN1cGVydmlzZTogdHlwZW9mIGNvbmN1cnJlbnRseTtcbiAgdG9rZW4oKTogc3RyaW5nO1xuICB3cml0ZUNvbmZpZzogdHlwZW9mIHdyaXRlR2VuaWVDb2RlQ29uZmlnO1xufVxuXG5jb25zdCBERUZBVUxUX0RFUEVOREVOQ0lFUzogR2VuaWVDb2RlUnVudGltZURlcGVuZGVuY2llcyA9IHtcbiAgY3JlYXRlQXV0aENsaWVudDogYXV0aC5jbGllbnQuY3JlYXRlQXV0aENsaWVudCxcbiAgaW5zdGFsbDogaW5zdGFsbEdlbmllQ29kZSxcbiAgcG9ydDogKHsgaG9zdCwgcG9ydCB9KSA9PiBnZXRQb3J0KHsgaG9zdCwgLi4uKHBvcnQgPyB7IHBvcnQgfSA6IHt9KSB9KSxcbiAgcmVzb2x2ZUJpbjogcmVzb2x2ZVNlcnZpY2VQYWNrYWdlQmluLFxuICByZXNvbHZlQ29kZXhNb2RlbCxcbiAgc3VwZXJ2aXNlOiBjb25jdXJyZW50bHksXG4gIHRva2VuOiAoKSA9PiByYW5kb21CeXRlcygzMikudG9TdHJpbmcoXCJiYXNlNjR1cmxcIiksXG4gIHdyaXRlQ29uZmlnOiB3cml0ZUdlbmllQ29kZUNvbmZpZyxcbn07XG5cbi8qKiBSZXNvbHZlIGEgR2VuaWUgYC0tbW9kZWxgIHZhbHVlIHRvIHRoZSBDb2RleCBjYXRhbG9ndWUgc2x1ZyB0aGUgZ2F0ZXdheSBwdWJsaXNoZXMuICovXG5hc3luYyBmdW5jdGlvbiByZXNvbHZlQ29kZXhNb2RlbChcbiAgbW9kZWw6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgcHJvZmlsZTogc3RyaW5nLFxuICBtb2RlbENsYXNzPzogTW9kZWxDbGFzcyxcbik6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IGNsaWVudCA9IGF3YWl0IHdvcmtzcGFjZUNsaWVudC5jcmVhdGVXb3Jrc3BhY2VDbGllbnQoeyBwcm9maWxlIH0pO1xuICBjb25zdCB0YXJnZXQgPSBhd2FpdCBuZXcgRGF0YWJyaWNrc01vZGVsUmVnaXN0cnkoeyBjbGllbnQgfSkucmVzb2x2ZShtb2RlbCwge1xuICAgIHJlcXVpcmVzVG9vbHM6IHRydWUsXG4gICAgLi4uKG1vZGVsQ2xhc3MgPyB7IG1vZGVsQ2xhc3MgfSA6IHt9KSxcbiAgfSk7XG4gIGlmICghdGFyZ2V0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgbW9kZWwgPyBgR2VuaWUgQ29kZSBtb2RlbCBub3QgZm91bmQ6ICR7bW9kZWx9YCA6IFwiTm8gdG9vbC1jYXBhYmxlIGNoYXQgbW9kZWwgaXMgYXZhaWxhYmxlXCIsXG4gICAgKTtcbiAgfVxuICByZXR1cm4gbW9kZWxzLmNvZGV4TW9kZWxTbHVnKHRhcmdldCk7XG59XG5cbi8qKiBJbnB1dHMgYWNjZXB0ZWQgYnkgbWFuYWdlZCBHZW5pZSBDb2RlIHByZXBhcmF0aW9uIGFuZCBleGVjdXRpb24uICovXG5leHBvcnQgaW50ZXJmYWNlIFJ1bkdlbmllQ29kZU9wdGlvbnMge1xuICBjd2Q/OiBzdHJpbmc7XG4gIGRlcGVuZGVuY2llcz86IFBhcnRpYWw8R2VuaWVDb2RlUnVudGltZURlcGVuZGVuY2llcz47XG4gIGdlbmllQXJncz86IHJlYWRvbmx5IHN0cmluZ1tdO1xuICBvcHRpb25zPzogR2VuaWVDb2RlT3B0aW9ucztcbn1cblxuLyoqIFJlc29sdmVkIGluc3RhbGxhdGlvbiwgYXV0aCwgbGlzdGVuZXIsIGFuZCBob21lIGZvciBvbmUgaW52b2NhdGlvbi4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJlcGFyZWRHZW5pZUNvZGVSdW50aW1lIHtcbiAgYmVhcmVyVG9rZW46IHN0cmluZztcbiAgZ2F0ZXdheUJhc2VVcmw6IHN0cmluZztcbiAgZ2F0ZXdheUhlYWx0aFVybDogc3RyaW5nO1xuICBnYXRld2F5TGlzdGVuOiBzdHJpbmc7XG4gIGdhdGV3YXlQb3J0OiBudW1iZXI7XG4gIGhvbWU6IEdlbmllQ29kZUhvbWU7XG4gIGluc3RhbGxhdGlvbjogQmluQ29udGV4dDtcbiAgbW9kZWw6IHN0cmluZztcbiAgcHJvZmlsZTogc3RyaW5nO1xufVxuXG4vKiogUmVzb2x2ZSBhdXRoLCBpbnN0YWxsYXRpb24sIGxpc3RlbmVyLCBhbmQgY29uZmlndXJhdGlvbiBiZWZvcmUgc3Bhd25pbmcgY2hpbGRyZW4uICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcHJlcGFyZUdlbmllQ29kZVJ1bnRpbWUoXG4gIGlucHV0OiBSdW5HZW5pZUNvZGVPcHRpb25zID0ge30sXG4pOiBQcm9taXNlPFByZXBhcmVkR2VuaWVDb2RlUnVudGltZT4ge1xuICBjb25zdCBkZXBlbmRlbmNpZXMgPSB7IC4uLkRFRkFVTFRfREVQRU5ERU5DSUVTLCAuLi5pbnB1dC5kZXBlbmRlbmNpZXMgfTtcbiAgY29uc3Qgb3B0aW9ucyA9IHJlc29sdmVHZW5pZUNvZGVPcHRpb25zKGlucHV0Lm9wdGlvbnMpO1xuICBsb2dnZXIuaW5mbyhcInJlc29sdmluZyBEYXRhYnJpY2tzIGF1dGhlbnRpY2F0aW9uXCIsIHtcbiAgICByZXF1ZXN0ZWRQcm9maWxlOiBvcHRpb25zLnByb2ZpbGUsXG4gIH0pO1xuICBjb25zdCBhdXRoQ2xpZW50ID0gYXdhaXQgZGVwZW5kZW5jaWVzLmNyZWF0ZUF1dGhDbGllbnQoXG4gICAgb3B0aW9ucy5wcm9maWxlID8geyBwcm9maWxlOiBvcHRpb25zLnByb2ZpbGUgfSA6IHt9LFxuICApO1xuICBjb25zdCBwcm9maWxlID0gYXV0aENsaWVudC5wcm9maWxlO1xuICBpZiAoIXByb2ZpbGUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJHZW5pZSBDb2RlIHJlcXVpcmVzIGEgY29uZmlndXJlZCBEYXRhYnJpY2tzIHByb2ZpbGVcIik7XG4gIH1cbiAgbG9nZ2VyLmluZm8oXCJwcmVwYXJpbmcgR2VuaWUgQ29kZSBydW50aW1lXCIsIHtcbiAgICBwcm9maWxlLFxuICAgIG1vZGVsOiBvcHRpb25zLm1vZGVsLFxuICAgIG1vZGVsQ2xhc3M6IG9wdGlvbnMubW9kZWxDbGFzcyxcbiAgfSk7XG4gIGNvbnN0IGluc3RhbGxhdGlvbiA9IGF3YWl0IGRlcGVuZGVuY2llcy5pbnN0YWxsKCk7XG4gIGNvbnN0IGhvc3QgPSBvcHRpb25zLmdhdGV3YXlMaXN0ZW4uaG9zdDtcbiAgY29uc3QgcmVxdWVzdGVkUG9ydCA9IG9wdGlvbnMuZ2F0ZXdheUxpc3Rlbi5wb3J0O1xuICBjb25zdCBnYXRld2F5UG9ydCA9IGF3YWl0IGRlcGVuZGVuY2llcy5wb3J0KHtcbiAgICBob3N0LFxuICAgIC4uLihyZXF1ZXN0ZWRQb3J0ID4gMCA/IHsgcG9ydDogcmVxdWVzdGVkUG9ydCB9IDoge30pLFxuICB9KTtcbiAgaWYgKHJlcXVlc3RlZFBvcnQgPiAwICYmIGdhdGV3YXlQb3J0ICE9PSByZXF1ZXN0ZWRQb3J0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBHZW5pZSBDb2RlIGdhdGV3YXkgcG9ydCAke3JlcXVlc3RlZFBvcnR9IGlzIGFscmVhZHkgaW4gdXNlYCk7XG4gIH1cbiAgY29uc3QgbW9kZWwgPSBhd2FpdCBkZXBlbmRlbmNpZXMucmVzb2x2ZUNvZGV4TW9kZWwob3B0aW9ucy5tb2RlbCwgcHJvZmlsZSwgb3B0aW9ucy5tb2RlbENsYXNzKTtcbiAgbG9nZ2VyLmluZm8oXCJyZXNvbHZlZCBHZW5pZSBDb2RlIG1vZGVsXCIsIHtcbiAgICByZXF1ZXN0ZWQ6IG9wdGlvbnMubW9kZWwsXG4gICAgbW9kZWxDbGFzczogb3B0aW9ucy5tb2RlbENsYXNzLFxuICAgIG1vZGVsLFxuICB9KTtcbiAgY29uc3QgdXJsSG9zdCA9IGhvc3QuaW5jbHVkZXMoXCI6XCIpID8gYFske2hvc3R9XWAgOiBob3N0O1xuICBjb25zdCBnYXRld2F5QmFzZVVybCA9IGBodHRwOi8vJHt1cmxIb3N0fToke2dhdGV3YXlQb3J0fS92MWA7XG4gIGNvbnN0IGdhdGV3YXlIZWFsdGhVcmwgPSBgaHR0cDovLyR7dXJsSG9zdH06JHtnYXRld2F5UG9ydH0vYXBpL2hlYWx0aHpgO1xuICBjb25zdCBnYXRld2F5TGlzdGVuID0gYHRjcDovLyR7dXJsSG9zdH06JHtnYXRld2F5UG9ydH1gO1xuICBjb25zdCBiZWFyZXJUb2tlbiA9IGRlcGVuZGVuY2llcy50b2tlbigpO1xuICBjb25zdCBob21lID0gYXdhaXQgZGVwZW5kZW5jaWVzLndyaXRlQ29uZmlnKHtcbiAgICBiZWFyZXJUb2tlbixcbiAgICBnYXRld2F5QmFzZVVybCxcbiAgICBtb2RlbCxcbiAgICBwcm9maWxlLFxuICAgIHByb2plY3REaXJlY3Rvcnk6IGlucHV0LmN3ZCA/PyBwcm9jZXNzLmN3ZCgpLFxuICB9KTtcbiAgcmV0dXJuIHtcbiAgICBiZWFyZXJUb2tlbixcbiAgICBnYXRld2F5QmFzZVVybCxcbiAgICBnYXRld2F5SGVhbHRoVXJsLFxuICAgIGdhdGV3YXlMaXN0ZW4sXG4gICAgZ2F0ZXdheVBvcnQsXG4gICAgaG9tZSxcbiAgICBpbnN0YWxsYXRpb24sXG4gICAgbW9kZWwsXG4gICAgcHJvZmlsZSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gc2hlbGxFeGVjdXRhYmxlKHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmIChwcm9jZXNzLnBsYXRmb3JtID09PSBcIndpbjMyXCIpIHJldHVybiBgXCIke3BhdGgucmVwbGFjZUFsbCgnXCInLCAnXCJcIicpfVwiYDtcbiAgcmV0dXJuIGAnJHtwYXRoLnJlcGxhY2VBbGwoXCInXCIsIFwiJ1xcXFwnJ1wiKX0nYDtcbn1cblxuZnVuY3Rpb24gY2hpbGRQYXRoKC4uLnBhdGhzOiBzdHJpbmdbXSk6IHN0cmluZyB7XG4gIHJldHVybiBbLi4ubmV3IFNldChbLi4ucGF0aHMubWFwKGRpcm5hbWUpLCBwcm9jZXNzLmVudi5QQVRIXS5maWx0ZXIoQm9vbGVhbikpXS5qb2luKGRlbGltaXRlcik7XG59XG5cbi8qKiBSdW4gR2VuaWUgQ29kZSBhbmQgdGhlIG1vZGVsIGdhdGV3YXkgdW50aWwgZWl0aGVyIHByb2Nlc3MgZXhpdHMuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcnVuR2VuaWVDb2RlKGlucHV0OiBSdW5HZW5pZUNvZGVPcHRpb25zID0ge30pOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgZGVwZW5kZW5jaWVzID0geyAuLi5ERUZBVUxUX0RFUEVOREVOQ0lFUywgLi4uaW5wdXQuZGVwZW5kZW5jaWVzIH07XG4gIGNvbnN0IHByZXBhcmVkID0gYXdhaXQgcHJlcGFyZUdlbmllQ29kZVJ1bnRpbWUoe1xuICAgIC4uLmlucHV0LFxuICAgIGRlcGVuZGVuY2llcyxcbiAgfSk7XG4gIGNvbnN0IGdhdGV3YXlCaW4gPSBkZXBlbmRlbmNpZXMucmVzb2x2ZUJpbihpbXBvcnQubWV0YS51cmwsIFwiZGJ4LW1vZGVsLWdhdGV3YXlcIik7XG4gIGNvbnN0IHJ1bm5lckJpbiA9IGRlcGVuZGVuY2llcy5yZXNvbHZlQmluKGltcG9ydC5tZXRhLnVybCwgXCJkYngtZ2VuaWVcIik7XG4gIGNvbnN0IHBhdGggPSBjaGlsZFBhdGgoZ2F0ZXdheUJpbiwgcnVubmVyQmluKTtcbiAgY29uc3QgcnVubmVyT3B0aW9uczogR2VuaWVDb2RlUnVubmVyT3B0aW9ucyA9IHtcbiAgICBleGVjdXRhYmxlOiBwcmVwYXJlZC5pbnN0YWxsYXRpb24ucGF0aCxcbiAgICBhcmd1bWVudHM6IFtcIi1wXCIsIHByZXBhcmVkLmhvbWUub3ZlcmxheU5hbWUsIC4uLihpbnB1dC5nZW5pZUFyZ3MgPz8gW10pXSxcbiAgICBob21lOiBwcmVwYXJlZC5ob21lLmhvbWUsXG4gICAgZ2F0ZXdheUhlYWx0aFVybDogcHJlcGFyZWQuZ2F0ZXdheUhlYWx0aFVybCxcbiAgICBiZWFyZXJUb2tlbjogcHJlcGFyZWQuYmVhcmVyVG9rZW4sXG4gICAgc3RhcnR1cFRpbWVvdXRNczogNjBfMDAwLFxuICB9O1xuICBjb25zdCB7IHJlc3VsdCB9ID0gZGVwZW5kZW5jaWVzLnN1cGVydmlzZShcbiAgICBbXG4gICAgICB7XG4gICAgICAgIGNvbW1hbmQ6IHNoZWxsRXhlY3V0YWJsZShnYXRld2F5QmluKSxcbiAgICAgICAgbmFtZTogXCJnYXRld2F5XCIsXG4gICAgICAgIGVudjoge1xuICAgICAgICAgIC4uLnByb2Nlc3MuZW52LFxuICAgICAgICAgIFBBVEg6IHBhdGgsXG4gICAgICAgICAgTElTVEVOOiBwcmVwYXJlZC5nYXRld2F5TGlzdGVuLFxuICAgICAgICAgIERBVEFCUklDS1NfQ09ORklHX1BST0ZJTEU6IHByZXBhcmVkLnByb2ZpbGUsXG4gICAgICAgICAgREJYX1RPT0xTX01PREVMX0dBVEVXQVlfQkVBUkVSX1RPS0VOOiBwcmVwYXJlZC5iZWFyZXJUb2tlbixcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGNvbW1hbmQ6IHNoZWxsRXhlY3V0YWJsZShydW5uZXJCaW4pLFxuICAgICAgICBuYW1lOiBcImdlbmllXCIsXG4gICAgICAgIGVudjoge1xuICAgICAgICAgIC4uLnByb2Nlc3MuZW52LFxuICAgICAgICAgIFBBVEg6IHBhdGgsXG4gICAgICAgICAgREFUQUJSSUNLU19DT05GSUdfUFJPRklMRTogcHJlcGFyZWQucHJvZmlsZSxcbiAgICAgICAgICBbUlVOTkVSX09QVElPTlNfRU5WXTogSlNPTi5zdHJpbmdpZnkocnVubmVyT3B0aW9ucyksXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIF0sXG4gICAge1xuICAgICAgY3dkOiBpbnB1dC5jd2QgPz8gcHJvY2Vzcy5jd2QoKSxcbiAgICAgIHJhdzogdHJ1ZSxcbiAgICAgIGtpbGxPdGhlcnNPbjogW1wiZmFpbHVyZVwiLCBcInN1Y2Nlc3NcIl0sXG4gICAgICBraWxsU2lnbmFsOiBcIlNJR1RFUk1cIixcbiAgICAgIGtpbGxUaW1lb3V0OiAxN18wMDAsXG4gICAgICBzdWNjZXNzQ29uZGl0aW9uOiBcImNvbW1hbmQtZ2VuaWVcIixcbiAgICB9LFxuICApO1xuICBsb2dnZXIuaW5mbyhcInN0YXJ0ZWQgR2VuaWUgQ29kZSBhbmQgbW9kZWwgZ2F0ZXdheVwiLCB7XG4gICAgcHJvZmlsZTogcHJlcGFyZWQucHJvZmlsZSxcbiAgICBtb2RlbDogcHJlcGFyZWQubW9kZWwsXG4gICAgZ2F0ZXdheTogcHJlcGFyZWQuZ2F0ZXdheUJhc2VVcmwsXG4gICAgaG9tZTogcHJlcGFyZWQuaG9tZS5ob21lLFxuICB9KTtcbiAgdHJ5IHtcbiAgICBhd2FpdCByZXN1bHQ7XG4gIH0gZmluYWxseSB7XG4gICAgYXdhaXQgcm0ocHJlcGFyZWQuaG9tZS5vdmVybGF5UGF0aCwgeyBmb3JjZTogdHJ1ZSB9KTtcbiAgfVxufVxuIl19
|
|
170
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nZW5pZS1jb2RlL3J1bnRpbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRixPQUFPLEtBQUssSUFBSSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRTdFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0MsT0FBTyxFQUNMLHVCQUF1QixHQUd4QixNQUFNLHNDQUFzQyxDQUFDO0FBRTlDLE9BQU8sWUFBWSxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLE9BQU8sTUFBTSxVQUFVLENBQUM7QUFFL0IsT0FBTyxFQUFFLG9CQUFvQixFQUFzQixNQUFNLGFBQWEsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRWpELE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7QUFrQnhDLE1BQU0sb0JBQW9CLEdBQWlDO0lBQ3pELGdCQUFnQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCO0lBQzlDLE9BQU8sRUFBRSxnQkFBZ0I7SUFDekIsSUFBSSxFQUFFLENBQUMs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LEVBQUUsS0FBSyxDQUFDLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFO1FBQy9CLEdBQUcsRUFBRSxJQUFJO1FBQ1QsWUFBWSxFQUFFLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQztRQUNwQyxVQUFVLEVBQUUsU0FBUztRQUNyQixXQUFXLEVBQUUsTUFBTTtRQUNuQixnQkFBZ0IsRUFBRSxlQUFlO0tBQ2xDLENBQ0YsQ0FBQztJQUNGLE1BQU0sQ0FBQyxJQUFJLENBQUMsc0NBQXNDLEVBQUU7UUFDbEQsT0FBTyxFQUFFLFFBQVEsQ0FBQyxPQUFPO1FBQ3pCLEtBQUssRUFBRSxRQUFRLENBQUMsS0FBSztRQUNyQixPQUFPLEVBQUUsUUFBUSxDQUFDLGNBQWM7UUFDaEMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSTtLQUN6QixDQUFDLENBQUM7SUFDSCxJQUFJLENBQUM7UUFDSCxNQUFNLE1BQU0sQ0FBQztJQUNmLENBQUM7WUFBUyxDQUFDO1FBQ1QsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN2RCxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU3VwZXJ2aXNlIEdlbmllIENvZGUgYW5kIGl0cyBhdXRoZW50aWNhdGVkIGxvY2FsIG1vZGVsIGdhdGV3YXkuXG4gKlxuICogQG1vZHVsZVxuICovXG5cbmltcG9ydCB7IHJhbmRvbUJ5dGVzIH0gZnJvbSBcIm5vZGU6Y3J5cHRvXCI7XG5pbXBvcnQgeyBybSB9IGZyb20gXCJub2RlOmZzL3Byb21pc2VzXCI7XG5pbXBvcnQgeyBkZWxpbWl0ZXIsIGRpcm5hbWUgfSBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgeyBEYXRhYnJpY2tzTW9kZWxSZWdpc3RyeSwgbW9kZWxzIH0gZnJvbSBcIkBkYngtdG9vbHMvYXBwa2l0LW1vZGVsLWdhdGV3YXlcIjtcbmltcG9ydCAqIGFzIGF1dGggZnJvbSBcIkBkYngtdG9vbHMvYXV0aFwiO1xuaW1wb3J0IHsgcmVzb2x2ZVNlcnZpY2VQYWNrYWdlQmluIH0gZnJvbSBcIkBkYngtdG9vbHMvY2xpLXNlcnZpY2UvZGVmaW5pdGlvblwiO1xuaW1wb3J0IHR5cGUgeyBCaW5Db250ZXh0IH0gZnJvbSBcIkBkYngtdG9vbHMvY29yZS9iaW5cIjtcbmltcG9ydCB7IHdvcmtzcGFjZUNsaWVudCB9IGZyb20gXCJAZGJ4LXRvb2xzL2RhdGFicmlja3NcIjtcbmltcG9ydCB7IGxvZyB9IGZyb20gXCJAZGJ4LXRvb2xzL3NoYXJlZC1jb3JlXCI7XG5pbXBvcnQge1xuICByZXNvbHZlR2VuaWVDb2RlT3B0aW9ucyxcbiAgdHlwZSBHZW5pZUNvZGVPcHRpb25zLFxuICB0eXBlIEdlbmllQ29kZVJ1bm5lck9wdGlvbnMsXG59IGZyb20gXCJAZGJ4LXRvb2xzL3NoYXJlZC1nZW5pZS1jb2RlL29wdGlvbnNcIjtcbmltcG9ydCB0eXBlIHsgTW9kZWxDbGFzcyB9IGZyb20gXCJAZGJ4LXRvb2xzL3NoYXJlZC1tb2RlbC9jb250cmFjdHNcIjtcbmltcG9ydCBjb25jdXJyZW50bHkgZnJvbSBcImNvbmN1cnJlbnRseVwiO1xuaW1wb3J0IGdldFBvcnQgZnJvbSBcImdldC1wb3J0XCI7XG5cbmltcG9ydCB7IHdyaXRlR2VuaWVDb2RlQ29uZmlnLCB0eXBlIEdlbmllQ29kZUhvbWUgfSBmcm9tIFwiLi9jb25maWcudHNcIjtcbmltcG9ydCB7IGluc3RhbGxHZW5pZUNvZGUgfSBmcm9tIFwiLi9pbnN0YWxsLnRzXCI7XG5pbXBvcnQgeyBSVU5ORVJfT1BUSU9OU19FTlYgfSBmcm9tIFwiLi9ydW5uZXIudHNcIjtcblxuY29uc3QgbG9nZ2VyID0gbG9nLmxvZ2dlcihcImdlbmllLWNvZGVcIik7XG5cbi8qKiBJbmplY3RhYmxlIG93bmVycyB1c2VkIHRvIHByZXBhcmUgYW5kIHN1cGVydmlzZSBtYW5hZ2VkIEdlbmllIENvZGUuICovXG5leHBvcnQgaW50ZXJmYWNlIEdlbmllQ29kZVJ1bnRpbWVEZXBlbmRlbmNpZXMge1xuICBjcmVhdGVBdXRoQ2xpZW50OiB0eXBlb2YgYXV0aC5jbGllbnQuY3JlYXRlQXV0aENsaWVudDtcbiAgaW5zdGFsbDogdHlwZW9mIGluc3RhbGxHZW5pZUNvZGU7XG4gIHBvcnQob3B0aW9uczogeyBob3N0OiBzdHJpbmc7IHBvcnQ/OiBudW1iZXIgfSk6IFByb21pc2U8bnVtYmVyPjtcbiAgcmVzb2x2ZUJpbihwYWNrYWdlUmVmZXJlbmNlOiBzdHJpbmcsIGJpbk5hbWU6IHN0cmluZyk6IHN0cmluZztcbiAgcmVzb2x2ZUNvZGV4TW9kZWwoXG4gICAgbW9kZWw6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICBwcm9maWxlOiBzdHJpbmcsXG4gICAgbW9kZWxDbGFzcz86IE1vZGVsQ2xhc3MsXG4gICk6IFByb21pc2U8c3RyaW5nPjtcbiAgc3VwZXJ2aXNlOiB0eXBlb2YgY29uY3VycmVudGx5O1xuICB0b2tlbigpOiBzdHJpbmc7XG4gIHdyaXRlQ29uZmlnOiB0eXBlb2Ygd3JpdGVHZW5pZUNvZGVDb25maWc7XG59XG5cbmNvbnN0IERFRkFVTFRfREVQRU5ERU5DSUVTOiBHZW5pZUNvZGVSdW50aW1lRGVwZW5kZW5jaWVzID0ge1xuICBjcmVhdGVBdXRoQ2xpZW50OiBhdXRoLmNsaWVudC5jcmVhdGVBdXRoQ2xpZW50LFxuICBpbnN0YWxsOiBpbnN0YWxsR2VuaWVDb2RlLFxuICBwb3J0OiAoeyBob3N0LCBwb3J0IH0pID0+IGdldFBvcnQoeyBob3N0LCAuLi4ocG9ydCA/IHsgcG9ydCB9IDoge30pIH0pLFxuICByZXNvbHZlQmluOiByZXNvbHZlU2VydmljZVBhY2thZ2VCaW4sXG4gIHJlc29sdmVDb2RleE1vZGVsLFxuICBzdXBlcnZpc2U6IGNvbmN1cnJlbnRseSxcbiAgdG9rZW46ICgpID0+IHJhbmRvbUJ5dGVzKDMyKS50b1N0cmluZyhcImJhc2U2NHVybFwiKSxcbiAgd3JpdGVDb25maWc6IHdyaXRlR2VuaWVDb2RlQ29uZmlnLFxufTtcblxuLyoqIFJlc29sdmUgYSBHZW5pZSBgLS1tb2RlbGAgdmFsdWUgdG8gdGhlIENvZGV4IGNhdGFsb2d1ZSBzbHVnIHRoZSBnYXRld2F5IHB1Ymxpc2hlcy4gKi9cbmFzeW5jIGZ1bmN0aW9uIHJlc29sdmVDb2RleE1vZGVsKFxuICBtb2RlbDogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICBwcm9maWxlOiBzdHJpbmcsXG4gIG1vZGVsQ2xhc3M/OiBNb2RlbENsYXNzLFxuKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgY2xpZW50ID0gYXdhaXQgd29ya3NwYWNlQ2xpZW50LmNyZWF0ZVdvcmtzcGFjZUNsaWVudCh7IHByb2ZpbGUgfSk7XG4gIGNvbnN0IHRhcmdldCA9IGF3YWl0IG5ldyBEYXRhYnJpY2tzTW9kZWxSZWdpc3RyeSh7IGNsaWVudCB9KS5yZXNvbHZlKG1vZGVsLCB7XG4gICAgcmVxdWlyZXNUb29sczogdHJ1ZSxcbiAgICAuLi4obW9kZWxDbGFzcyA/IHsgbW9kZWxDbGFzcyB9IDoge30pLFxuICB9KTtcbiAgaWYgKCF0YXJnZXQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBtb2RlbCA/IGBHZW5pZSBDb2RlIG1vZGVsIG5vdCBmb3VuZDogJHttb2RlbH1gIDogXCJObyB0b29sLWNhcGFibGUgY2hhdCBtb2RlbCBpcyBhdmFpbGFibGVcIixcbiAgICApO1xuICB9XG4gIC8vIEdlbmllIENvZGUgcGlucyB0aGUgZXhhY3Qgc3lzdGVtLmFpIHNlcnZpY2Ugc2x1Zywgd2hpY2ggd2lucyByZWdhcmRsZXNzIG9mIGdhdGV3YXkgcHJlZmVyZW5jZS5cbiAgcmV0dXJuIG1vZGVscy5jb2RleE1vZGVsU2x1Zyh0YXJnZXQsIHRydWUpO1xufVxuXG4vKiogSW5wdXRzIGFjY2VwdGVkIGJ5IG1hbmFnZWQgR2VuaWUgQ29kZSBwcmVwYXJhdGlvbiBhbmQgZXhlY3V0aW9uLiAqL1xuZXhwb3J0IGludGVyZmFjZSBSdW5HZW5pZUNvZGVPcHRpb25zIHtcbiAgY3dkPzogc3RyaW5nO1xuICBkZXBlbmRlbmNpZXM/OiBQYXJ0aWFsPEdlbmllQ29kZVJ1bnRpbWVEZXBlbmRlbmNpZXM+O1xuICBnZW5pZUFyZ3M/OiByZWFkb25seSBzdHJpbmdbXTtcbiAgb3B0aW9ucz86IEdlbmllQ29kZU9wdGlvbnM7XG59XG5cbi8qKiBSZXNvbHZlZCBpbnN0YWxsYXRpb24sIGF1dGgsIGxpc3RlbmVyLCBhbmQgaG9tZSBmb3Igb25lIGludm9jYXRpb24uICovXG5leHBvcnQgaW50ZXJmYWNlIFByZXBhcmVkR2VuaWVDb2RlUnVudGltZSB7XG4gIGJlYXJlclRva2VuOiBzdHJpbmc7XG4gIGdhdGV3YXlCYXNlVXJsOiBzdHJpbmc7XG4gIGdhdGV3YXlIZWFsdGhVcmw6IHN0cmluZztcbiAgZ2F0ZXdheUxpc3Rlbjogc3RyaW5nO1xuICBnYXRld2F5UG9ydDogbnVtYmVyO1xuICBob21lOiBHZW5pZUNvZGVIb21lO1xuICBpbnN0YWxsYXRpb246IEJpbkNvbnRleHQ7XG4gIG1vZGVsOiBzdHJpbmc7XG4gIHByb2ZpbGU6IHN0cmluZztcbn1cblxuLyoqIFJlc29sdmUgYXV0aCwgaW5zdGFsbGF0aW9uLCBsaXN0ZW5lciwgYW5kIGNvbmZpZ3VyYXRpb24gYmVmb3JlIHNwYXduaW5nIGNoaWxkcmVuLiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHByZXBhcmVHZW5pZUNvZGVSdW50aW1lKFxuICBpbnB1dDogUnVuR2VuaWVDb2RlT3B0aW9ucyA9IHt9LFxuKTogUHJvbWlzZTxQcmVwYXJlZEdlbmllQ29kZVJ1bnRpbWU+IHtcbiAgY29uc3QgZGVwZW5kZW5jaWVzID0geyAuLi5ERUZBVUxUX0RFUEVOREVOQ0lFUywgLi4uaW5wdXQuZGVwZW5kZW5jaWVzIH07XG4gIGNvbnN0IG9wdGlvbnMgPSByZXNvbHZlR2VuaWVDb2RlT3B0aW9ucyhpbnB1dC5vcHRpb25zKTtcbiAgbG9nZ2VyLmluZm8oXCJyZXNvbHZpbmcgRGF0YWJyaWNrcyBhdXRoZW50aWNhdGlvblwiLCB7XG4gICAgcmVxdWVzdGVkUHJvZmlsZTogb3B0aW9ucy5wcm9maWxlLFxuICB9KTtcbiAgY29uc3QgYXV0aENsaWVudCA9IGF3YWl0IGRlcGVuZGVuY2llcy5jcmVhdGVBdXRoQ2xpZW50KFxuICAgIG9wdGlvbnMucHJvZmlsZSA/IHsgcHJvZmlsZTogb3B0aW9ucy5wcm9maWxlIH0gOiB7fSxcbiAgKTtcbiAgY29uc3QgcHJvZmlsZSA9IGF1dGhDbGllbnQucHJvZmlsZTtcbiAgaWYgKCFwcm9maWxlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiR2VuaWUgQ29kZSByZXF1aXJlcyBhIGNvbmZpZ3VyZWQgRGF0YWJyaWNrcyBwcm9maWxlXCIpO1xuICB9XG4gIGxvZ2dlci5pbmZvKFwicHJlcGFyaW5nIEdlbmllIENvZGUgcnVudGltZVwiLCB7XG4gICAgcHJvZmlsZSxcbiAgICBtb2RlbDogb3B0aW9ucy5tb2RlbCxcbiAgICBtb2RlbENsYXNzOiBvcHRpb25zLm1vZGVsQ2xhc3MsXG4gIH0pO1xuICBjb25zdCBpbnN0YWxsYXRpb24gPSBhd2FpdCBkZXBlbmRlbmNpZXMuaW5zdGFsbCgpO1xuICBjb25zdCBob3N0ID0gb3B0aW9ucy5nYXRld2F5TGlzdGVuLmhvc3Q7XG4gIGNvbnN0IHJlcXVlc3RlZFBvcnQgPSBvcHRpb25zLmdhdGV3YXlMaXN0ZW4ucG9ydDtcbiAgY29uc3QgZ2F0ZXdheVBvcnQgPSBhd2FpdCBkZXBlbmRlbmNpZXMucG9ydCh7XG4gICAgaG9zdCxcbiAgICAuLi4ocmVxdWVzdGVkUG9ydCA+IDAgPyB7IHBvcnQ6IHJlcXVlc3RlZFBvcnQgfSA6IHt9KSxcbiAgfSk7XG4gIGlmIChyZXF1ZXN0ZWRQb3J0ID4gMCAmJiBnYXRld2F5UG9ydCAhPT0gcmVxdWVzdGVkUG9ydCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgR2VuaWUgQ29kZSBnYXRld2F5IHBvcnQgJHtyZXF1ZXN0ZWRQb3J0fSBpcyBhbHJlYWR5IGluIHVzZWApO1xuICB9XG4gIGNvbnN0IG1vZGVsID0gYXdhaXQgZGVwZW5kZW5jaWVzLnJlc29sdmVDb2RleE1vZGVsKG9wdGlvbnMubW9kZWwsIHByb2ZpbGUsIG9wdGlvbnMubW9kZWxDbGFzcyk7XG4gIGxvZ2dlci5pbmZvKFwicmVzb2x2ZWQgR2VuaWUgQ29kZSBtb2RlbFwiLCB7XG4gICAgcmVxdWVzdGVkOiBvcHRpb25zLm1vZGVsLFxuICAgIG1vZGVsQ2xhc3M6IG9wdGlvbnMubW9kZWxDbGFzcyxcbiAgICBtb2RlbCxcbiAgfSk7XG4gIGNvbnN0IHVybEhvc3QgPSBob3N0LmluY2x1ZGVzKFwiOlwiKSA/IGBbJHtob3N0fV1gIDogaG9zdDtcbiAgY29uc3QgZ2F0ZXdheUJhc2VVcmwgPSBgaHR0cDovLyR7dXJsSG9zdH06JHtnYXRld2F5UG9ydH0vdjFgO1xuICBjb25zdCBnYXRld2F5SGVhbHRoVXJsID0gYGh0dHA6Ly8ke3VybEhvc3R9OiR7Z2F0ZXdheVBvcnR9L2FwaS9oZWFsdGh6YDtcbiAgY29uc3QgZ2F0ZXdheUxpc3RlbiA9IGB0Y3A6Ly8ke3VybEhvc3R9OiR7Z2F0ZXdheVBvcnR9YDtcbiAgY29uc3QgYmVhcmVyVG9rZW4gPSBkZXBlbmRlbmNpZXMudG9rZW4oKTtcbiAgY29uc3QgaG9tZSA9IGF3YWl0IGRlcGVuZGVuY2llcy53cml0ZUNvbmZpZyh7XG4gICAgYmVhcmVyVG9rZW4sXG4gICAgZ2F0ZXdheUJhc2VVcmwsXG4gICAgbW9kZWwsXG4gICAgcHJvZmlsZSxcbiAgICBwcm9qZWN0RGlyZWN0b3J5OiBpbnB1dC5jd2QgPz8gcHJvY2Vzcy5jd2QoKSxcbiAgfSk7XG4gIHJldHVybiB7XG4gICAgYmVhcmVyVG9rZW4sXG4gICAgZ2F0ZXdheUJhc2VVcmwsXG4gICAgZ2F0ZXdheUhlYWx0aFVybCxcbiAgICBnYXRld2F5TGlzdGVuLFxuICAgIGdhdGV3YXlQb3J0LFxuICAgIGhvbWUsXG4gICAgaW5zdGFsbGF0aW9uLFxuICAgIG1vZGVsLFxuICAgIHByb2ZpbGUsXG4gIH07XG59XG5cbmZ1bmN0aW9uIHNoZWxsRXhlY3V0YWJsZShwYXRoOiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAocHJvY2Vzcy5wbGF0Zm9ybSA9PT0gXCJ3aW4zMlwiKSByZXR1cm4gYFwiJHtwYXRoLnJlcGxhY2VBbGwoJ1wiJywgJ1wiXCInKX1cImA7XG4gIHJldHVybiBgJyR7cGF0aC5yZXBsYWNlQWxsKFwiJ1wiLCBcIidcXFxcJydcIil9J2A7XG59XG5cbmZ1bmN0aW9uIGNoaWxkUGF0aCguLi5wYXRoczogc3RyaW5nW10pOiBzdHJpbmcge1xuICByZXR1cm4gWy4uLm5ldyBTZXQoWy4uLnBhdGhzLm1hcChkaXJuYW1lKSwgcHJvY2Vzcy5lbnYuUEFUSF0uZmlsdGVyKEJvb2xlYW4pKV0uam9pbihkZWxpbWl0ZXIpO1xufVxuXG4vKiogUnVuIEdlbmllIENvZGUgYW5kIHRoZSBtb2RlbCBnYXRld2F5IHVudGlsIGVpdGhlciBwcm9jZXNzIGV4aXRzLiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJ1bkdlbmllQ29kZShpbnB1dDogUnVuR2VuaWVDb2RlT3B0aW9ucyA9IHt9KTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IGRlcGVuZGVuY2llcyA9IHsgLi4uREVGQVVMVF9ERVBFTkRFTkNJRVMsIC4uLmlucHV0LmRlcGVuZGVuY2llcyB9O1xuICBjb25zdCBwcmVwYXJlZCA9IGF3YWl0IHByZXBhcmVHZW5pZUNvZGVSdW50aW1lKHtcbiAgICAuLi5pbnB1dCxcbiAgICBkZXBlbmRlbmNpZXMsXG4gIH0pO1xuICBjb25zdCBnYXRld2F5QmluID0gZGVwZW5kZW5jaWVzLnJlc29sdmVCaW4oaW1wb3J0Lm1ldGEudXJsLCBcImRieC1tb2RlbC1nYXRld2F5XCIpO1xuICBjb25zdCBydW5uZXJCaW4gPSBkZXBlbmRlbmNpZXMucmVzb2x2ZUJpbihpbXBvcnQubWV0YS51cmwsIFwiZGJ4LWdlbmllXCIpO1xuICBjb25zdCBwYXRoID0gY2hpbGRQYXRoKGdhdGV3YXlCaW4sIHJ1bm5lckJpbik7XG4gIGNvbnN0IHJ1bm5lck9wdGlvbnM6IEdlbmllQ29kZVJ1bm5lck9wdGlvbnMgPSB7XG4gICAgZXhlY3V0YWJsZTogcHJlcGFyZWQuaW5zdGFsbGF0aW9uLnBhdGgsXG4gICAgYXJndW1lbnRzOiBbXCItcFwiLCBwcmVwYXJlZC5ob21lLm92ZXJsYXlOYW1lLCAuLi4oaW5wdXQuZ2VuaWVBcmdzID8/IFtdKV0sXG4gICAgaG9tZTogcHJlcGFyZWQuaG9tZS5ob21lLFxuICAgIGdhdGV3YXlIZWFsdGhVcmw6IHByZXBhcmVkLmdhdGV3YXlIZWFsdGhVcmwsXG4gICAgYmVhcmVyVG9rZW46IHByZXBhcmVkLmJlYXJlclRva2VuLFxuICAgIHN0YXJ0dXBUaW1lb3V0TXM6IDYwXzAwMCxcbiAgfTtcbiAgY29uc3QgeyByZXN1bHQgfSA9IGRlcGVuZGVuY2llcy5zdXBlcnZpc2UoXG4gICAgW1xuICAgICAge1xuICAgICAgICBjb21tYW5kOiBzaGVsbEV4ZWN1dGFibGUoZ2F0ZXdheUJpbiksXG4gICAgICAgIG5hbWU6IFwiZ2F0ZXdheVwiLFxuICAgICAgICBlbnY6IHtcbiAgICAgICAgICAuLi5wcm9jZXNzLmVudixcbiAgICAgICAgICBQQVRIOiBwYXRoLFxuICAgICAgICAgIExJU1RFTjogcHJlcGFyZWQuZ2F0ZXdheUxpc3RlbixcbiAgICAgICAgICBEQVRBQlJJQ0tTX0NPTkZJR19QUk9GSUxFOiBwcmVwYXJlZC5wcm9maWxlLFxuICAgICAgICAgIERCWF9UT09MU19NT0RFTF9HQVRFV0FZX0JFQVJFUl9UT0tFTjogcHJlcGFyZWQuYmVhcmVyVG9rZW4sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBjb21tYW5kOiBzaGVsbEV4ZWN1dGFibGUocnVubmVyQmluKSxcbiAgICAgICAgbmFtZTogXCJnZW5pZVwiLFxuICAgICAgICBlbnY6IHtcbiAgICAgICAgICAuLi5wcm9jZXNzLmVudixcbiAgICAgICAgICBQQVRIOiBwYXRoLFxuICAgICAgICAgIERBVEFCUklDS1NfQ09ORklHX1BST0ZJTEU6IHByZXBhcmVkLnByb2ZpbGUsXG4gICAgICAgICAgW1JVTk5FUl9PUFRJT05TX0VOVl06IEpTT04uc3RyaW5naWZ5KHJ1bm5lck9wdGlvbnMpLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICBdLFxuICAgIHtcbiAgICAgIGN3ZDogaW5wdXQuY3dkID8/IHByb2Nlc3MuY3dkKCksXG4gICAgICByYXc6IHRydWUsXG4gICAgICBraWxsT3RoZXJzT246IFtcImZhaWx1cmVcIiwgXCJzdWNjZXNzXCJdLFxuICAgICAga2lsbFNpZ25hbDogXCJTSUdURVJNXCIsXG4gICAgICBraWxsVGltZW91dDogMTdfMDAwLFxuICAgICAgc3VjY2Vzc0NvbmRpdGlvbjogXCJjb21tYW5kLWdlbmllXCIsXG4gICAgfSxcbiAgKTtcbiAgbG9nZ2VyLmluZm8oXCJzdGFydGVkIEdlbmllIENvZGUgYW5kIG1vZGVsIGdhdGV3YXlcIiwge1xuICAgIHByb2ZpbGU6IHByZXBhcmVkLnByb2ZpbGUsXG4gICAgbW9kZWw6IHByZXBhcmVkLm1vZGVsLFxuICAgIGdhdGV3YXk6IHByZXBhcmVkLmdhdGV3YXlCYXNlVXJsLFxuICAgIGhvbWU6IHByZXBhcmVkLmhvbWUuaG9tZSxcbiAgfSk7XG4gIHRyeSB7XG4gICAgYXdhaXQgcmVzdWx0O1xuICB9IGZpbmFsbHkge1xuICAgIGF3YWl0IHJtKHByZXBhcmVkLmhvbWUub3ZlcmxheVBhdGgsIHsgZm9yY2U6IHRydWUgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { runtime as graphitiRuntime } from "@dbx-tools/appkit-memory/graphiti";
|
|
2
2
|
import { type CliServiceCliDependencies } from "@dbx-tools/cli-service/cli";
|
|
3
3
|
import { type CliServiceDefinition } from "@dbx-tools/cli-service/definition";
|
|
4
4
|
import { Command } from "commander";
|
|
5
5
|
import { type GraphitiOptions } from "./options.ts";
|
|
6
|
+
type GraphitiRuntimeOptions = graphitiRuntime.GraphitiRuntimeOptions;
|
|
6
7
|
/** Injectable runtime and service lifecycle boundaries for CLI callers. */
|
|
7
8
|
export interface GraphitiCliDependencies {
|
|
8
9
|
/** Run the Graphiti stack through the Node runtime owner. */
|
|
@@ -16,3 +17,4 @@ export type GraphitiServiceOptions = GraphitiOptions;
|
|
|
16
17
|
export declare function graphitiServiceDefinition(options?: GraphitiServiceOptions): CliServiceDefinition;
|
|
17
18
|
/** Build foreground execution and shared desktop-service commands. */
|
|
18
19
|
export declare function buildProgram(name?: string, dependencies?: GraphitiCliDependencies): Command;
|
|
20
|
+
export {};
|
package/lib/src/graphiti/cli.js
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import { homedir } from "node:os";
|
|
11
11
|
import { join } from "node:path";
|
|
12
|
-
import {
|
|
12
|
+
import { runtime as graphitiRuntime } from "@dbx-tools/appkit-memory/graphiti";
|
|
13
13
|
import { addArgs, parseArgs, serializeArgs } from "@dbx-tools/cli-args";
|
|
14
14
|
import { buildServiceCommand } from "@dbx-tools/cli-service/cli";
|
|
15
15
|
import { defineService } from "@dbx-tools/cli-service/definition";
|
|
@@ -40,7 +40,7 @@ export function graphitiServiceDefinition(options = {}) {
|
|
|
40
40
|
});
|
|
41
41
|
}
|
|
42
42
|
/** Build foreground execution and shared desktop-service commands. */
|
|
43
|
-
export function buildProgram(name = "dbx graphiti", dependencies = { run: runGraphiti }) {
|
|
43
|
+
export function buildProgram(name = "dbx graphiti", dependencies = { run: graphitiRuntime.runGraphiti }) {
|
|
44
44
|
const program = addArgs(new Command()
|
|
45
45
|
.name(name)
|
|
46
46
|
.description("Run Graphiti or manage its current-user desktop service")
|
|
@@ -53,4 +53,4 @@ export function buildProgram(name = "dbx graphiti", dependencies = { run: runGra
|
|
|
53
53
|
function graphitiOptions(command) {
|
|
54
54
|
return GraphitiOptionsSchema.parse(parseArgs(command, GraphitiCliOptionsSchema));
|
|
55
55
|
}
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dyYXBoaXRpL2NsaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUNILE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDbEMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVqQyxPQUFPLEVBQUUsT0FBTyxJQUFJLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBa0MsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRyxPQUFPLEVBQUUsYUFBYSxFQUE2QixNQUFNLG1DQUFtQyxDQUFDO0FBQzdGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXBDLE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIscUJBQXFCLEdBRXRCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRCxNQUFNLHlCQUF5QixHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQ3hGLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLFlBQVksRUFBRSxVQUFVLENBQUMsQ0FBQztBQWN2RSxzRkFBc0Y7QUFDdEYsTUFBTSxVQUFVLHlCQUF5QixDQUN2QyxVQUFrQyxFQUFFO0lBRXBDLE1BQU0sUUFBUSxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQztRQUMzQyxHQUFHLE9BQU87UUFDVixZQUFZLEVBQUUsT0FBTyxDQUFDLFlBQVksSUFBSSxvQkFBb0I7S0FDM0QsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDcEMsRUFBRSxFQUFFLHdCQUF3QjtRQUM1QixJQUFJLEVBQUUsY0FBYztRQUNwQixJQUFJLEVBQUUsZUFBZSxDQUFDLFVBQVUsQ0FBQztRQUNqQyxhQUFhLEVBQUUseUJBQXlCO1FBQ3hDLGFBQWEsRUFBRTtZQUNiLElBQUksRUFBRSxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMseUJBQXlCO1NBQzlFO1FBQ0QsT0FBTyxFQUFFO1lBQ1AsT0FBTyxFQUFFLGNBQWM7WUFDdkIsU0FBUyxFQUFFLGFBQWEsQ0FBQyxRQUFRLENBQUM7U0FDbkM7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsc0VBQXNFO0FBQ3RFLE1BQU0sVUFBVSxZQUFZLENBQzFCLElBQUksR0FBRyxjQUFjLEVBQ3JCLGVBQXdDLEVBQUUsR0FBRyxFQUFFLGVBQWUsQ0FBQyxXQUFXLEVBQUU7SUFFNUUsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUNyQixJQUFJLE9BQU8sRUFBRTtTQUNWLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDVixXQUFXLENBQUMseURBQXlELENBQUM7U0FDdEUsT0FBTyxDQUFDLGVBQWUsRUFBRSxlQUFlLENBQUMsRUFDNUMsd0JBQXdCLENBQ3pCLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFO1FBQ2xCLE1BQU0sWUFBWSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNuRCxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sQ0FBQyxVQUFVLENBQ2hCLG1CQUFtQixDQUNqQixHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsRUFDekQsWUFBWSxDQUFDLE9BQU8sQ0FDckIsQ0FDRixDQUFDO0lBQ0YsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQztBQUVELFNBQVMsZUFBZSxDQUFDLE9BQWdCO0lBQ3ZDLE9BQU8scUJBQXFCLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsd0JBQXdCLENBQUMsQ0FBQyxDQUFDO0FBQ25GLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvbW1hbmRlci1vd25lZCBHcmFwaGl0aSBDTEkgYW5kIHNoYXJlZCBjdXJyZW50LXVzZXIgc2VydmljZSBkZWZpbml0aW9uLlxuICpcbiAqIFRoaXMgbW9kdWxlIG93bnMgZXZlcnkgdXNlci1mYWNpbmcgR3JhcGhpdGkgY29tbWFuZC4gVGhlIHNoYXJlZCBHcmFwaGl0aSBab2RcbiAqIHNjaGVtYSBvd25zIGl0cyBvcHRpb25zLCBlbnZpcm9ubWVudCBuYW1lcywgZGVmYXVsdHMsIGFuZCB2YWxpZGF0aW9uLiBUaGVcbiAqIE5vZGUgR3JhcGhpdGkgcGFja2FnZSBvd25zIHJ1bnRpbWUgYW5kIFB5dGhvbiBpbnRlcmFjdGlvbi5cbiAqXG4gKiBAbW9kdWxlXG4gKi9cbmltcG9ydCB7IGhvbWVkaXIgfSBmcm9tIFwibm9kZTpvc1wiO1xuaW1wb3J0IHsgam9pbiB9IGZyb20gXCJub2RlOnBhdGhcIjtcblxuaW1wb3J0IHsgcnVudGltZSBhcyBncmFwaGl0aVJ1bnRpbWUgfSBmcm9tIFwiQGRieC10b29scy9hcHBraXQtbWVtb3J5L2dyYXBoaXRpXCI7XG5pbXBvcnQgeyBhZGRBcmdzLCBwYXJzZUFyZ3MsIHNlcmlhbGl6ZUFyZ3MgfSBmcm9tIFwiQGRieC10b29scy9jbGktYXJnc1wiO1xuaW1wb3J0IHsgYnVpbGRTZXJ2aWNlQ29tbWFuZCwgdHlwZSBDbGlTZXJ2aWNlQ2xpRGVwZW5kZW5jaWVzIH0gZnJvbSBcIkBkYngtdG9vbHMvY2xpLXNlcnZpY2UvY2xpXCI7XG5pbXBvcnQgeyBkZWZpbmVTZXJ2aWNlLCB0eXBlIENsaVNlcnZpY2VEZWZpbml0aW9uIH0gZnJvbSBcIkBkYngtdG9vbHMvY2xpLXNlcnZpY2UvZGVmaW5pdGlvblwiO1xuaW1wb3J0IHsgc2VydmljZVRyYXlJY29uIH0gZnJvbSBcIkBkYngtdG9vbHMvY2xpLXNlcnZpY2UvaWNvblwiO1xuaW1wb3J0IHsgQ29tbWFuZCB9IGZyb20gXCJjb21tYW5kZXJcIjtcblxuaW1wb3J0IHtcbiAgR3JhcGhpdGlDbGlPcHRpb25zU2NoZW1hLFxuICBHcmFwaGl0aU9wdGlvbnNTY2hlbWEsXG4gIHR5cGUgR3JhcGhpdGlPcHRpb25zLFxufSBmcm9tIFwiLi9vcHRpb25zLnRzXCI7XG5pbXBvcnQgeyBQQUNLQUdFX1ZFUlNJT04gfSBmcm9tIFwiLi4vLi4vaW5kZXgudHNcIjtcblxuY29uc3QgREVGQVVMVF9TRVJWSUNFX0RJUkVDVE9SWSA9IGpvaW4oaG9tZWRpcigpLCBcIi5kYngtdG9vbHNcIiwgXCJzZXJ2aWNlc1wiLCBcImdyYXBoaXRpXCIpO1xuY29uc3QgREVGQVVMVF9TRVJWSUNFX0hPTUUgPSBqb2luKGhvbWVkaXIoKSwgXCIuZGJ4LXRvb2xzXCIsIFwiZ3JhcGhpdGlcIik7XG50eXBlIEdyYXBoaXRpUnVudGltZU9wdGlvbnMgPSBncmFwaGl0aVJ1bnRpbWUuR3JhcGhpdGlSdW50aW1lT3B0aW9ucztcblxuLyoqIEluamVjdGFibGUgcnVudGltZSBhbmQgc2VydmljZSBsaWZlY3ljbGUgYm91bmRhcmllcyBmb3IgQ0xJIGNhbGxlcnMuICovXG5leHBvcnQgaW50ZXJmYWNlIEdyYXBoaXRpQ2xpRGVwZW5kZW5jaWVzIHtcbiAgLyoqIFJ1biB0aGUgR3JhcGhpdGkgc3RhY2sgdGhyb3VnaCB0aGUgTm9kZSBydW50aW1lIG93bmVyLiAqL1xuICBydW4ob3B0aW9uczogR3JhcGhpdGlSdW50aW1lT3B0aW9ucyk6IFByb21pc2U8dm9pZD47XG4gIC8qKiBTaGFyZWQgc2VydmljZSBjb21tYW5kIGRlcGVuZGVuY2llcyBmb3IgdGVzdHMgYW5kIGVtYmVkZGluZy4gKi9cbiAgcmVhZG9ubHkgc2VydmljZT86IENsaVNlcnZpY2VDbGlEZXBlbmRlbmNpZXM7XG59XG5cbi8qKiBSdW50aW1lIG9wdGlvbnMgcGVyc2lzdGVkIHdoZW4gaW5zdGFsbGluZyB0aGUgR3JhcGhpdGkgZGVza3RvcCBzZXJ2aWNlLiAqL1xuZXhwb3J0IHR5cGUgR3JhcGhpdGlTZXJ2aWNlT3B0aW9ucyA9IEdyYXBoaXRpT3B0aW9ucztcblxuLyoqIERlZmluZSBhIEdyYXBoaXRpIHNlcnZpY2Ugd2l0aG91dCBkdXBsaWNhdGluZyBpbnN0YWxsYXRpb24gb3IgbGlmZWN5Y2xlIHBvbGljeS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBncmFwaGl0aVNlcnZpY2VEZWZpbml0aW9uKFxuICBvcHRpb25zOiBHcmFwaGl0aVNlcnZpY2VPcHRpb25zID0ge30sXG4pOiBDbGlTZXJ2aWNlRGVmaW5pdGlvbiB7XG4gIGNvbnN0IHJlc29sdmVkID0gR3JhcGhpdGlPcHRpb25zU2NoZW1hLnBhcnNlKHtcbiAgICAuLi5vcHRpb25zLFxuICAgIGdyYXBoaXRpSG9tZTogb3B0aW9ucy5ncmFwaGl0aUhvbWUgPz8gREVGQVVMVF9TRVJWSUNFX0hPTUUsXG4gIH0pO1xuICByZXR1cm4gZGVmaW5lU2VydmljZShpbXBvcnQubWV0YS51cmwsIHtcbiAgICBpZDogXCJkYngtdG9vbHMuY2xpLWdyYXBoaXRpXCIsXG4gICAgbmFtZTogXCJkYnggZ3JhcGhpdGlcIixcbiAgICBpY29uOiBzZXJ2aWNlVHJheUljb24oXCJncmFwaGl0aVwiKSxcbiAgICBkYXRhRGlyZWN0b3J5OiBERUZBVUxUX1NFUlZJQ0VfRElSRUNUT1JZLFxuICAgIHB5dGhvblBhY2thZ2U6IHtcbiAgICAgIG5hbWU6IHJlc29sdmVkLmRhdGFiYXNlVXJsID8gXCJkYngtdG9vbHMtZ3JhcGhpdGlcIiA6IFwiZGJ4LXRvb2xzLWdyYXBoaXRpW2Rldl1cIixcbiAgICB9LFxuICAgIGNvbW1hbmQ6IHtcbiAgICAgIGJpbk5hbWU6IFwiZGJ4LWdyYXBoaXRpXCIsXG4gICAgICBhcmd1bWVudHM6IHNlcmlhbGl6ZUFyZ3MocmVzb2x2ZWQpLFxuICAgIH0sXG4gIH0pO1xufVxuXG4vKiogQnVpbGQgZm9yZWdyb3VuZCBleGVjdXRpb24gYW5kIHNoYXJlZCBkZXNrdG9wLXNlcnZpY2UgY29tbWFuZHMuICovXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRQcm9ncmFtKFxuICBuYW1lID0gXCJkYnggZ3JhcGhpdGlcIixcbiAgZGVwZW5kZW5jaWVzOiBHcmFwaGl0aUNsaURlcGVuZGVuY2llcyA9IHsgcnVuOiBncmFwaGl0aVJ1bnRpbWUucnVuR3JhcGhpdGkgfSxcbik6IENvbW1hbmQge1xuICBjb25zdCBwcm9ncmFtID0gYWRkQXJncyhcbiAgICBuZXcgQ29tbWFuZCgpXG4gICAgICAubmFtZShuYW1lKVxuICAgICAgLmRlc2NyaXB0aW9uKFwiUnVuIEdyYXBoaXRpIG9yIG1hbmFnZSBpdHMgY3VycmVudC11c2VyIGRlc2t0b3Agc2VydmljZVwiKVxuICAgICAgLnZlcnNpb24oUEFDS0FHRV9WRVJTSU9OLCBcIi12LCAtLXZlcnNpb25cIiksXG4gICAgR3JhcGhpdGlDbGlPcHRpb25zU2NoZW1hLFxuICApLmFjdGlvbihhc3luYyAoKSA9PiB7XG4gICAgYXdhaXQgZGVwZW5kZW5jaWVzLnJ1bihncmFwaGl0aU9wdGlvbnMocHJvZ3JhbSkpO1xuICB9KTtcblxuICBwcm9ncmFtLmFkZENvbW1hbmQoXG4gICAgYnVpbGRTZXJ2aWNlQ29tbWFuZChcbiAgICAgICgpID0+IGdyYXBoaXRpU2VydmljZURlZmluaXRpb24oZ3JhcGhpdGlPcHRpb25zKHByb2dyYW0pKSxcbiAgICAgIGRlcGVuZGVuY2llcy5zZXJ2aWNlLFxuICAgICksXG4gICk7XG4gIHJldHVybiBwcm9ncmFtO1xufVxuXG5mdW5jdGlvbiBncmFwaGl0aU9wdGlvbnMoY29tbWFuZDogQ29tbWFuZCk6IEdyYXBoaXRpT3B0aW9ucyB7XG4gIHJldHVybiBHcmFwaGl0aU9wdGlvbnNTY2hlbWEucGFyc2UocGFyc2VBcmdzKGNvbW1hbmQsIEdyYXBoaXRpQ2xpT3B0aW9uc1NjaGVtYSkpO1xufVxuIl19
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
export * as cli from "./cli.ts";
|
|
2
2
|
export * as options from "./options.ts";
|
|
3
3
|
export type { GraphitiCliDependencies, GraphitiServiceOptions } from "./cli.ts";
|
|
4
|
+
export { GRAPHITI_DEFAULTS, GraphitiCliOptionsSchema, GraphitiOptionsSchema, ResolvedGraphitiOptionsSchema, graphitiOptionOverrides, graphitiOptionsEnvironment, graphitiOptionsFromEnvironment, resolveGraphitiOptions } from "./options.ts";
|
|
5
|
+
export type { GraphitiOptions, ResolvedGraphitiOptions } from "./options.ts";
|
|
@@ -3,4 +3,5 @@
|
|
|
3
3
|
// Hand edits are overwritten on the next watch; this file is read-only.
|
|
4
4
|
export * as cli from "./cli.js";
|
|
5
5
|
export * as options from "./options.js";
|
|
6
|
-
|
|
6
|
+
export { GRAPHITI_DEFAULTS, GraphitiCliOptionsSchema, GraphitiOptionsSchema, ResolvedGraphitiOptionsSchema, graphitiOptionOverrides, graphitiOptionsEnvironment, graphitiOptionsFromEnvironment, resolveGraphitiOptions } from "./options.js";
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZ3JhcGhpdGkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkNBQTJDO0FBQzNDLG1EQUFtRDtBQUNuRCx3RUFBd0U7QUFFeEUsT0FBTyxLQUFLLEdBQUcsTUFBTSxVQUFVLENBQUM7QUFDaEMsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFFeEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHdCQUF3QixFQUFFLHFCQUFxQixFQUFFLDZCQUE2QixFQUFFLHVCQUF1QixFQUFFLDBCQUEwQixFQUFFLDhCQUE4QixFQUFFLHNCQUFzQixFQUFFLE1BQU0sY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gR0VORVJBVEVEIGJ5IHByb2plbiB3YXRjaCAtIERPIE5PVCBFRElULlxuLy8gUmVnZW5lcmF0ZWQgZnJvbSB0aGUgZXhwb3J0aW5nIG1vZHVsZXMgaW4gLi9zcmMuXG4vLyBIYW5kIGVkaXRzIGFyZSBvdmVyd3JpdHRlbiBvbiB0aGUgbmV4dCB3YXRjaDsgdGhpcyBmaWxlIGlzIHJlYWQtb25seS5cblxuZXhwb3J0ICogYXMgY2xpIGZyb20gXCIuL2NsaS50c1wiO1xuZXhwb3J0ICogYXMgb3B0aW9ucyBmcm9tIFwiLi9vcHRpb25zLnRzXCI7XG5leHBvcnQgdHlwZSB7IEdyYXBoaXRpQ2xpRGVwZW5kZW5jaWVzLCBHcmFwaGl0aVNlcnZpY2VPcHRpb25zIH0gZnJvbSBcIi4vY2xpLnRzXCI7XG5leHBvcnQgeyBHUkFQSElUSV9ERUZBVUxUUywgR3JhcGhpdGlDbGlPcHRpb25zU2NoZW1hLCBHcmFwaGl0aU9wdGlvbnNTY2hlbWEsIFJlc29sdmVkR3JhcGhpdGlPcHRpb25zU2NoZW1hLCBncmFwaGl0aU9wdGlvbk92ZXJyaWRlcywgZ3JhcGhpdGlPcHRpb25zRW52aXJvbm1lbnQsIGdyYXBoaXRpT3B0aW9uc0Zyb21FbnZpcm9ubWVudCwgcmVzb2x2ZUdyYXBoaXRpT3B0aW9ucyB9IGZyb20gXCIuL29wdGlvbnMudHNcIjtcbmV4cG9ydCB0eXBlIHsgR3JhcGhpdGlPcHRpb25zLCBSZXNvbHZlZEdyYXBoaXRpT3B0aW9ucyB9IGZyb20gXCIuL29wdGlvbnMudHNcIjtcbiJdfQ==
|
|
@@ -6,5 +6,112 @@
|
|
|
6
6
|
*
|
|
7
7
|
* @module
|
|
8
8
|
*/
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
import { options } from "@dbx-tools/appkit-memory/graphiti";
|
|
10
|
+
/** Graphiti defaults derived from the shared owning schema. */
|
|
11
|
+
export declare const GRAPHITI_DEFAULTS: Readonly<{
|
|
12
|
+
modelClass: "chat-thinking" | "chat-balanced" | "chat-fast";
|
|
13
|
+
temperature: number;
|
|
14
|
+
structuredOutputMode: string;
|
|
15
|
+
startupTimeoutMs: number;
|
|
16
|
+
listen: {
|
|
17
|
+
scheme: "tcp";
|
|
18
|
+
host: string;
|
|
19
|
+
port: number;
|
|
20
|
+
};
|
|
21
|
+
databaseSchema: string;
|
|
22
|
+
postgresRole?: string | undefined;
|
|
23
|
+
profile?: string | undefined;
|
|
24
|
+
bearer?: string | undefined;
|
|
25
|
+
graphitiHome?: string | undefined;
|
|
26
|
+
databaseUrl?: string | undefined;
|
|
27
|
+
}>;
|
|
28
|
+
/** Graphiti options represented as Commander flags. */
|
|
29
|
+
export declare const GraphitiCliOptionsSchema: import("zod").ZodObject<{
|
|
30
|
+
postgresRole: import("zod").ZodOptional<import("zod").ZodString>;
|
|
31
|
+
profile: import("zod").ZodOptional<import("zod").ZodString>;
|
|
32
|
+
bearer: import("zod").ZodOptional<import("zod").ZodString>;
|
|
33
|
+
graphitiHome: import("zod").ZodOptional<import("zod").ZodString>;
|
|
34
|
+
modelClass: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodEnum<{
|
|
35
|
+
"chat-thinking": "chat-thinking";
|
|
36
|
+
"chat-balanced": "chat-balanced";
|
|
37
|
+
"chat-fast": "chat-fast";
|
|
38
|
+
}>>>;
|
|
39
|
+
temperature: import("zod").ZodDefault<import("zod").ZodCoercedNumber<number>>;
|
|
40
|
+
structuredOutputMode: import("zod").ZodDefault<import("zod").ZodString>;
|
|
41
|
+
startupTimeoutMs: import("zod").ZodDefault<import("zod").ZodCoercedNumber<number>>;
|
|
42
|
+
listen: import("zod").ZodDefault<import("zod").ZodType<{
|
|
43
|
+
scheme: "tcp";
|
|
44
|
+
host: string;
|
|
45
|
+
port: number;
|
|
46
|
+
}, unknown, import("zod/v4/core").$ZodTypeInternals<{
|
|
47
|
+
scheme: "tcp";
|
|
48
|
+
host: string;
|
|
49
|
+
port: number;
|
|
50
|
+
}, unknown>>>;
|
|
51
|
+
databaseUrl: import("zod").ZodOptional<import("zod").ZodString>;
|
|
52
|
+
databaseSchema: import("zod").ZodDefault<import("zod").ZodString>;
|
|
53
|
+
}, import("zod/v4/core").$strict>;
|
|
54
|
+
/** Shared Graphiti option schema used by the CLI runtime. */
|
|
55
|
+
export declare const GraphitiOptionsSchema: import("zod").ZodObject<{
|
|
56
|
+
postgresRole: import("zod").ZodOptional<import("zod").ZodString>;
|
|
57
|
+
profile: import("zod").ZodOptional<import("zod").ZodString>;
|
|
58
|
+
bearer: import("zod").ZodOptional<import("zod").ZodString>;
|
|
59
|
+
graphitiHome: import("zod").ZodOptional<import("zod").ZodString>;
|
|
60
|
+
modelClass: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodEnum<{
|
|
61
|
+
"chat-thinking": "chat-thinking";
|
|
62
|
+
"chat-balanced": "chat-balanced";
|
|
63
|
+
"chat-fast": "chat-fast";
|
|
64
|
+
}>>>;
|
|
65
|
+
temperature: import("zod").ZodDefault<import("zod").ZodCoercedNumber<number>>;
|
|
66
|
+
structuredOutputMode: import("zod").ZodDefault<import("zod").ZodString>;
|
|
67
|
+
startupTimeoutMs: import("zod").ZodDefault<import("zod").ZodCoercedNumber<number>>;
|
|
68
|
+
listen: import("zod").ZodDefault<import("zod").ZodType<{
|
|
69
|
+
scheme: "tcp";
|
|
70
|
+
host: string;
|
|
71
|
+
port: number;
|
|
72
|
+
}, unknown, import("zod/v4/core").$ZodTypeInternals<{
|
|
73
|
+
scheme: "tcp";
|
|
74
|
+
host: string;
|
|
75
|
+
port: number;
|
|
76
|
+
}, unknown>>>;
|
|
77
|
+
databaseUrl: import("zod").ZodOptional<import("zod").ZodString>;
|
|
78
|
+
databaseSchema: import("zod").ZodDefault<import("zod").ZodString>;
|
|
79
|
+
}, import("zod/v4/core").$strict>;
|
|
80
|
+
/** Schema for Graphiti options after defaults are resolved. */
|
|
81
|
+
export declare const ResolvedGraphitiOptionsSchema: import("zod").ZodObject<{
|
|
82
|
+
postgresRole: import("zod").ZodOptional<import("zod").ZodString>;
|
|
83
|
+
profile: import("zod").ZodOptional<import("zod").ZodString>;
|
|
84
|
+
bearer: import("zod").ZodOptional<import("zod").ZodString>;
|
|
85
|
+
graphitiHome: import("zod").ZodOptional<import("zod").ZodString>;
|
|
86
|
+
modelClass: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodEnum<{
|
|
87
|
+
"chat-thinking": "chat-thinking";
|
|
88
|
+
"chat-balanced": "chat-balanced";
|
|
89
|
+
"chat-fast": "chat-fast";
|
|
90
|
+
}>>>;
|
|
91
|
+
temperature: import("zod").ZodDefault<import("zod").ZodCoercedNumber<number>>;
|
|
92
|
+
structuredOutputMode: import("zod").ZodDefault<import("zod").ZodString>;
|
|
93
|
+
startupTimeoutMs: import("zod").ZodDefault<import("zod").ZodCoercedNumber<number>>;
|
|
94
|
+
listen: import("zod").ZodDefault<import("zod").ZodType<{
|
|
95
|
+
scheme: "tcp";
|
|
96
|
+
host: string;
|
|
97
|
+
port: number;
|
|
98
|
+
}, unknown, import("zod/v4/core").$ZodTypeInternals<{
|
|
99
|
+
scheme: "tcp";
|
|
100
|
+
host: string;
|
|
101
|
+
port: number;
|
|
102
|
+
}, unknown>>>;
|
|
103
|
+
databaseUrl: import("zod").ZodOptional<import("zod").ZodString>;
|
|
104
|
+
databaseSchema: import("zod").ZodDefault<import("zod").ZodString>;
|
|
105
|
+
}, import("zod/v4/core").$strict>;
|
|
106
|
+
/** Keep only explicitly supplied Graphiti fields and validate their values. */
|
|
107
|
+
export declare const graphitiOptionOverrides: typeof options.graphitiOptionOverrides;
|
|
108
|
+
/** Serialize Graphiti options into the Python runtime environment. */
|
|
109
|
+
export declare const graphitiOptionsEnvironment: typeof options.graphitiOptionsEnvironment;
|
|
110
|
+
/** Parse Graphiti option overrides from an environment record. */
|
|
111
|
+
export declare const graphitiOptionsFromEnvironment: typeof options.graphitiOptionsFromEnvironment;
|
|
112
|
+
/** Apply shared defaults and validate Graphiti runtime invariants. */
|
|
113
|
+
export declare const resolveGraphitiOptions: typeof options.resolveGraphitiOptions;
|
|
114
|
+
/** Graphiti option inputs accepted by the CLI. */
|
|
115
|
+
export type GraphitiOptions = options.GraphitiOptions;
|
|
116
|
+
/** Graphiti options after shared defaults are resolved. */
|
|
117
|
+
export type ResolvedGraphitiOptions = options.ResolvedGraphitiOptions;
|
|
@@ -6,5 +6,21 @@
|
|
|
6
6
|
*
|
|
7
7
|
* @module
|
|
8
8
|
*/
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
import { options } from "@dbx-tools/appkit-memory/graphiti";
|
|
10
|
+
/** Graphiti defaults derived from the shared owning schema. */
|
|
11
|
+
export const GRAPHITI_DEFAULTS = options.GRAPHITI_DEFAULTS;
|
|
12
|
+
/** Graphiti options represented as Commander flags. */
|
|
13
|
+
export const GraphitiCliOptionsSchema = options.GraphitiCliOptionsSchema;
|
|
14
|
+
/** Shared Graphiti option schema used by the CLI runtime. */
|
|
15
|
+
export const GraphitiOptionsSchema = options.GraphitiOptionsSchema;
|
|
16
|
+
/** Schema for Graphiti options after defaults are resolved. */
|
|
17
|
+
export const ResolvedGraphitiOptionsSchema = options.ResolvedGraphitiOptionsSchema;
|
|
18
|
+
/** Keep only explicitly supplied Graphiti fields and validate their values. */
|
|
19
|
+
export const graphitiOptionOverrides = options.graphitiOptionOverrides;
|
|
20
|
+
/** Serialize Graphiti options into the Python runtime environment. */
|
|
21
|
+
export const graphitiOptionsEnvironment = options.graphitiOptionsEnvironment;
|
|
22
|
+
/** Parse Graphiti option overrides from an environment record. */
|
|
23
|
+
export const graphitiOptionsFromEnvironment = options.graphitiOptionsFromEnvironment;
|
|
24
|
+
/** Apply shared defaults and validate Graphiti runtime invariants. */
|
|
25
|
+
export const resolveGraphitiOptions = options.resolveGraphitiOptions;
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ncmFwaGl0aS9vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O0dBT0c7QUFFSCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFNUQsK0RBQStEO0FBQy9ELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztBQUUzRCx1REFBdUQ7QUFDdkQsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsT0FBTyxDQUFDLHdCQUF3QixDQUFDO0FBRXpFLDZEQUE2RDtBQUM3RCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxPQUFPLENBQUMscUJBQXFCLENBQUM7QUFFbkUsK0RBQStEO0FBQy9ELE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLE9BQU8sQ0FBQyw2QkFBNkIsQ0FBQztBQUVuRiwrRUFBK0U7QUFDL0UsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsT0FBTyxDQUFDLHVCQUF1QixDQUFDO0FBRXZFLHNFQUFzRTtBQUN0RSxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxPQUFPLENBQUMsMEJBQTBCLENBQUM7QUFFN0Usa0VBQWtFO0FBQ2xFLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLE9BQU8sQ0FBQyw4QkFBOEIsQ0FBQztBQUVyRixzRUFBc0U7QUFDdEUsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsT0FBTyxDQUFDLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHcmFwaGl0aSBDTEkgb3B0aW9uIHN1cmZhY2UuXG4gKlxuICogVGhlIE5vZGUgR3JhcGhpdGkgcnVudGltZSBvd25zIHRoZSBjb21wbGV0ZSBzaGFyZWQgb3B0aW9uIGNvbnRyYWN0LiBUaGlzXG4gKiBtb2R1bGUgcmUtZXhwb3J0cyB0aGF0IHN1cmZhY2Ugd2l0aG91dCBjcmVhdGluZyBwYXJhbGxlbCBDTEkgcG9saWN5LlxuICpcbiAqIEBtb2R1bGVcbiAqL1xuXG5pbXBvcnQgeyBvcHRpb25zIH0gZnJvbSBcIkBkYngtdG9vbHMvYXBwa2l0LW1lbW9yeS9ncmFwaGl0aVwiO1xuXG4vKiogR3JhcGhpdGkgZGVmYXVsdHMgZGVyaXZlZCBmcm9tIHRoZSBzaGFyZWQgb3duaW5nIHNjaGVtYS4gKi9cbmV4cG9ydCBjb25zdCBHUkFQSElUSV9ERUZBVUxUUyA9IG9wdGlvbnMuR1JBUEhJVElfREVGQVVMVFM7XG5cbi8qKiBHcmFwaGl0aSBvcHRpb25zIHJlcHJlc2VudGVkIGFzIENvbW1hbmRlciBmbGFncy4gKi9cbmV4cG9ydCBjb25zdCBHcmFwaGl0aUNsaU9wdGlvbnNTY2hlbWEgPSBvcHRpb25zLkdyYXBoaXRpQ2xpT3B0aW9uc1NjaGVtYTtcblxuLyoqIFNoYXJlZCBHcmFwaGl0aSBvcHRpb24gc2NoZW1hIHVzZWQgYnkgdGhlIENMSSBydW50aW1lLiAqL1xuZXhwb3J0IGNvbnN0IEdyYXBoaXRpT3B0aW9uc1NjaGVtYSA9IG9wdGlvbnMuR3JhcGhpdGlPcHRpb25zU2NoZW1hO1xuXG4vKiogU2NoZW1hIGZvciBHcmFwaGl0aSBvcHRpb25zIGFmdGVyIGRlZmF1bHRzIGFyZSByZXNvbHZlZC4gKi9cbmV4cG9ydCBjb25zdCBSZXNvbHZlZEdyYXBoaXRpT3B0aW9uc1NjaGVtYSA9IG9wdGlvbnMuUmVzb2x2ZWRHcmFwaGl0aU9wdGlvbnNTY2hlbWE7XG5cbi8qKiBLZWVwIG9ubHkgZXhwbGljaXRseSBzdXBwbGllZCBHcmFwaGl0aSBmaWVsZHMgYW5kIHZhbGlkYXRlIHRoZWlyIHZhbHVlcy4gKi9cbmV4cG9ydCBjb25zdCBncmFwaGl0aU9wdGlvbk92ZXJyaWRlcyA9IG9wdGlvbnMuZ3JhcGhpdGlPcHRpb25PdmVycmlkZXM7XG5cbi8qKiBTZXJpYWxpemUgR3JhcGhpdGkgb3B0aW9ucyBpbnRvIHRoZSBQeXRob24gcnVudGltZSBlbnZpcm9ubWVudC4gKi9cbmV4cG9ydCBjb25zdCBncmFwaGl0aU9wdGlvbnNFbnZpcm9ubWVudCA9IG9wdGlvbnMuZ3JhcGhpdGlPcHRpb25zRW52aXJvbm1lbnQ7XG5cbi8qKiBQYXJzZSBHcmFwaGl0aSBvcHRpb24gb3ZlcnJpZGVzIGZyb20gYW4gZW52aXJvbm1lbnQgcmVjb3JkLiAqL1xuZXhwb3J0IGNvbnN0IGdyYXBoaXRpT3B0aW9uc0Zyb21FbnZpcm9ubWVudCA9IG9wdGlvbnMuZ3JhcGhpdGlPcHRpb25zRnJvbUVudmlyb25tZW50O1xuXG4vKiogQXBwbHkgc2hhcmVkIGRlZmF1bHRzIGFuZCB2YWxpZGF0ZSBHcmFwaGl0aSBydW50aW1lIGludmFyaWFudHMuICovXG5leHBvcnQgY29uc3QgcmVzb2x2ZUdyYXBoaXRpT3B0aW9ucyA9IG9wdGlvbnMucmVzb2x2ZUdyYXBoaXRpT3B0aW9ucztcblxuLyoqIEdyYXBoaXRpIG9wdGlvbiBpbnB1dHMgYWNjZXB0ZWQgYnkgdGhlIENMSS4gKi9cbmV4cG9ydCB0eXBlIEdyYXBoaXRpT3B0aW9ucyA9IG9wdGlvbnMuR3JhcGhpdGlPcHRpb25zO1xuXG4vKiogR3JhcGhpdGkgb3B0aW9ucyBhZnRlciBzaGFyZWQgZGVmYXVsdHMgYXJlIHJlc29sdmVkLiAqL1xuZXhwb3J0IHR5cGUgUmVzb2x2ZWRHcmFwaGl0aU9wdGlvbnMgPSBvcHRpb25zLlJlc29sdmVkR3JhcGhpdGlPcHRpb25zO1xuIl19
|
|
@@ -51,6 +51,7 @@ export async function startModelGateway(options = {}) {
|
|
|
51
51
|
const gateway = new ModelGateway({
|
|
52
52
|
...(resolved.model ? { model: resolved.model } : {}),
|
|
53
53
|
...(resolved.modelClass ? { modelClass: resolved.modelClass } : {}),
|
|
54
|
+
preferSystemModels: resolved.preferSystemModels,
|
|
54
55
|
});
|
|
55
56
|
const client = await workspaceClient.createWorkspaceClient({
|
|
56
57
|
...(resolved.profile ? { profile: resolved.profile } : {}),
|
|
@@ -83,4 +84,4 @@ export async function startModelGateway(options = {}) {
|
|
|
83
84
|
},
|
|
84
85
|
});
|
|
85
86
|
}
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZGVsLWdhdGV3YXkvc2VydmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMvRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUNMLDBCQUEwQixHQUczQixNQUFNLHlDQUF5QyxDQUFDO0FBS2pELHFFQUFxRTtBQUNyRSxNQUFNLFVBQVUseUJBQXlCLENBQUMsVUFBK0IsRUFBRTtJQUN6RSxPQUFPLG1CQUFtQixDQUFDLDBCQUEwQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFDbEUsQ0FBQztBQUVELFNBQVMsbUJBQW1CLENBQUMsT0FBb0M7SUFDL0QsT0FBTztRQUNMLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUztRQUM1QixJQUFJLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJO1FBQ3pCLElBQUksRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUk7S0FDMUIsQ0FBQztBQUNKLENBQUM7QUFFRCxpRkFBaUY7QUFDakYsTUFBTSxVQUFVLHVCQUF1QixDQUFDLEtBQWE7SUFDbkQsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM3RCxPQUFPLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUs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QkFBa0IsQ0FBQztvQkFDckMsQ0FBQyxjQUFjLEVBQUUsb0JBQW9CLENBQUM7b0JBQ3RDLENBQUMsZ0JBQWdCLEVBQUUsbUJBQW1CLENBQUM7aUJBQy9CLEVBQUUsQ0FBQztvQkFDWCxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsRUFBRTt3QkFDM0MsS0FBSyxhQUFhLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7b0JBQzNELENBQUMsQ0FBQyxDQUFDO2dCQUNMLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBGb3JlZ3JvdW5kIG1vZGVsLWdhdGV3YXkgc2VydmVyIG93bmVkIGJ5IHRoZSBDTEkgcGFja2FnZS5cbiAqXG4gKiBAbW9kdWxlXG4gKi9cblxuaW1wb3J0IHsgY3JlYXRlSGFzaCwgdGltaW5nU2FmZUVxdWFsIH0gZnJvbSBcIm5vZGU6Y3J5cHRvXCI7XG5pbXBvcnQgeyBjcmVhdGVBcHAsIHNlcnZlciB9IGZyb20gXCJAZGF0YWJyaWNrcy9hcHBraXRcIjtcbmltcG9ydCB7IE1vZGVsR2F0ZXdheSB9IGZyb20gXCJAZGJ4LXRvb2xzL2FwcGtpdC1tb2RlbC1nYXRld2F5XCI7XG5pbXBvcnQgeyBzZW5kSGVhbHRoLCBzZW5kSW5mZXJlbmNlLCBzZW5kTW9kZWxzIH0gZnJvbSBcIkBkYngtdG9vbHMvYXBwa2l0LW1vZGVsLWdhdGV3YXkvcm91dGVzXCI7XG5pbXBvcnQgeyB3b3Jrc3BhY2VDbGllbnQgfSBmcm9tIFwiQGRieC10b29scy9kYXRhYnJpY2tzXCI7XG5pbXBvcnQge1xuICByZXNvbHZlTW9kZWxHYXRld2F5T3B0aW9ucyxcbiAgdHlwZSBNb2RlbEdhdGV3YXlPcHRpb25zLFxuICB0eXBlIFJlc29sdmVkTW9kZWxHYXRld2F5T3B0aW9ucyxcbn0gZnJvbSBcIkBkYngtdG9vbHMvc2hhcmVkLW1vZGVsLWdhdGV3YXkvb3B0aW9uc1wiO1xuaW1wb3J0IHR5cGUgZXhwcmVzcyBmcm9tIFwiZXhwcmVzc1wiO1xuXG50eXBlIEFwcEtpdFNlcnZlck9wdGlvbnMgPSBOb25OdWxsYWJsZTxQYXJhbWV0ZXJzPHR5cGVvZiBzZXJ2ZXI+WzBdPjtcblxuLyoqIFJlc29sdmUgQXBwS2l0IHNlcnZlciBzZXR0aW5ncyBmb3IgdGhlIGxvb3BiYWNrIG1vZGVsIGdhdGV3YXkuICovXG5leHBvcnQgZnVuY3Rpb24gbW9kZWxHYXRld2F5U2VydmVyT3B0aW9ucyhvcHRpb25zOiBNb2RlbEdhdGV3YXlPcHRpb25zID0ge30pOiBBcHBLaXRTZXJ2ZXJPcHRpb25zIHtcbiAgcmV0dXJuIGFwcEtpdFNlcnZlck9wdGlvbnMocmVzb2x2ZU1vZGVsR2F0ZXdheU9wdGlvbnMob3B0aW9ucykpO1xufVxuXG5mdW5jdGlvbiBhcHBLaXRTZXJ2ZXJPcHRpb25zKG9wdGlvbnM6IFJlc29sdmVkTW9kZWxHYXRld2F5T3B0aW9ucyk6IEFwcEtpdFNlcnZlck9wdGlvbnMge1xuICByZXR1cm4ge1xuICAgIGJvZHlMaW1pdDogb3B0aW9ucy5ib2R5TGltaXQsXG4gICAgaG9zdDogb3B0aW9ucy5saXN0ZW4uaG9zdCxcbiAgICBwb3J0OiBvcHRpb25zLmxpc3Rlbi5wb3J0LFxuICB9O1xufVxuXG4vKiogUmVxdWlyZSBvbmUgYmVhcmVyIHRva2VuIHdpdGhvdXQgcmV0YWluaW5nIG9yIGxvZ2dpbmcgcmVxdWVzdCBjcmVkZW50aWFscy4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnYXRld2F5QmVhcmVyTWlkZGxld2FyZSh0b2tlbjogc3RyaW5nKTogZXhwcmVzcy5SZXF1ZXN0SGFuZGxlciB7XG4gIGNvbnN0IGV4cGVjdGVkID0gY3JlYXRlSGFzaChcInNoYTI1NlwiKS51cGRhdGUodG9rZW4pLmRpZ2VzdCgpO1xuICByZXR1cm4gKHJlcXVlc3QsIHJlc3BvbnNlLCBuZXh0KSA9PiB7XG4gICAgY29uc3QgYXV0aG9yaXphdGlvbiA9IHJlcXVlc3QuaGVhZGVyKFwiYXV0aG9yaXphdGlvblwiKTtcbiAgICBjb25zdCBtYXRjaCA9IC9eQmVhcmVyXFxzKyguKykkL2kuZXhlYyhhdXRob3JpemF0aW9uID8/IFwiXCIpO1xuICAgIGNvbnN0IGFjdHVhbCA9IGNyZWF0ZUhhc2goXCJzaGEyNTZcIilcbiAgICAgIC51cGRhdGUobWF0Y2g/LlsxXSA/PyBcIlwiKVxuICAgICAgLmRpZ2VzdCgpO1xuICAgIGlmIChtYXRjaCAmJiB0aW1pbmdTYWZlRXF1YWwoYWN0dWFsLCBleHBlY3RlZCkpIHtcbiAgICAgIG5leHQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgcmVzcG9uc2VcbiAgICAgIC5zdGF0dXMoNDAxKVxuICAgICAgLnNldEhlYWRlcihcInd3dy1hdXRoZW50aWNhdGVcIiwgXCJCZWFyZXJcIilcbiAgICAgIC5qc29uKHtcbiAgICAgICAgZXJyb3I6IHtcbiAgICAgICAgICBtZXNzYWdlOiBcIkludmFsaWQgb3IgbWlzc2luZyBtb2RlbC1nYXRld2F5IGJlYXJlciB0b2tlbi5cIixcbiAgICAgICAgICB0eXBlOiBcImF1dGhlbnRpY2F0aW9uX2Vycm9yXCIsXG4gICAgICAgICAgY29kZTogXCJpbnZhbGlkX2JlYXJlcl90b2tlblwiLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gIH07XG59XG5cbi8qKiBTdGFydCB0aGUgZm9yZWdyb3VuZCBtb2RlbCBnYXRld2F5IGFuZCBrZWVwIGl0cyBBcHBLaXQgc2VydmVyIGFjdGl2ZS4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzdGFydE1vZGVsR2F0ZXdheShvcHRpb25zOiBNb2RlbEdhdGV3YXlPcHRpb25zID0ge30pOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgcmVzb2x2ZWQgPSByZXNvbHZlTW9kZWxHYXRld2F5T3B0aW9ucyhvcHRpb25zKTtcbiAgY29uc3QgZ2F0ZXdheSA9IG5ldyBNb2RlbEdhdGV3YXkoe1xuICAgIC4uLihyZXNvbHZlZC5tb2RlbCA/IHsgbW9kZWw6IHJlc29sdmVkLm1vZGVsIH0gOiB7fSksXG4gICAgLi4uKHJlc29sdmVkLm1vZGVsQ2xhc3MgPyB7IG1vZGVsQ2xhc3M6IHJlc29sdmVkLm1vZGVsQ2xhc3MgfSA6IHt9KSxcbiAgICBwcmVmZXJTeXN0ZW1Nb2RlbHM6IHJlc29sdmVkLnByZWZlclN5c3RlbU1vZGVscyxcbiAgfSk7XG4gIGNvbnN0IGNsaWVudCA9IGF3YWl0IHdvcmtzcGFjZUNsaWVudC5jcmVhdGVXb3Jrc3BhY2VDbGllbnQoe1xuICAgIC4uLihyZXNvbHZlZC5wcm9maWxlID8geyBwcm9maWxlOiByZXNvbHZlZC5wcm9maWxlIH0gOiB7fSksXG4gIH0pO1xuICBhd2FpdCBjcmVhdGVBcHAoe1xuICAgIGNsaWVudCxcbiAgICBwbHVnaW5zOiBbc2VydmVyKGFwcEtpdFNlcnZlck9wdGlvbnMocmVzb2x2ZWQpKV0sXG4gICAgb25QbHVnaW5zUmVhZHkoYXBwa2l0KSB7XG4gICAgICBhcHBraXQuc2VydmVyLmV4dGVuZCgoYXBwbGljYXRpb24pID0+IHtcbiAgICAgICAgaWYgKHJlc29sdmVkLmJlYXJlclRva2VuKSB7XG4gICAgICAgICAgYXBwbGljYXRpb24udXNlKGdhdGV3YXlCZWFyZXJNaWRkbGV3YXJlKHJlc29sdmVkLmJlYXJlclRva2VuKSk7XG4gICAgICAgIH1cbiAgICAgICAgYXBwbGljYXRpb24uZ2V0KFwiL2FwaS9oZWFsdGh6XCIsIChfcmVxdWVzdCwgcmVzcG9uc2UpID0+IHtcbiAgICAgICAgICBzZW5kSGVhbHRoKHJlc3BvbnNlKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGFwcGxpY2F0aW9uLmdldChcIi92MS9tb2RlbHNcIiwgKHJlcXVlc3QsIHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgdm9pZCBzZW5kTW9kZWxzKGdhdGV3YXksIHJlcXVlc3QsIHJlc3BvbnNlKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGZvciAoY29uc3QgW3BhdGgsIHByb3RvY29sXSBvZiBbXG4gICAgICAgICAgW1wiL3YxL2NoYXQvY29tcGxldGlvbnNcIiwgXCJvcGVuYWktY2hhdFwiXSxcbiAgICAgICAgICBbXCIvdjEvcmVzcG9uc2VzXCIsIFwib3BlbmFpLXJlc3BvbnNlc1wiXSxcbiAgICAgICAgICBbXCIvdjEvbWVzc2FnZXNcIiwgXCJhbnRocm9waWMtbWVzc2FnZXNcIl0sXG4gICAgICAgICAgW1wiL3YxL2VtYmVkZGluZ3NcIiwgXCJvcGVuYWktZW1iZWRkaW5nc1wiXSxcbiAgICAgICAgXSBhcyBjb25zdCkge1xuICAgICAgICAgIGFwcGxpY2F0aW9uLnBvc3QocGF0aCwgKHJlcXVlc3QsIHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICB2b2lkIHNlbmRJbmZlcmVuY2UoZ2F0ZXdheSwgcHJvdG9jb2wsIHJlcXVlc3QsIHJlc3BvbnNlKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSxcbiAgfSk7XG59XG4iXX0=
|
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.
|
|
38
|
-
"@dbx-tools/appkit-
|
|
39
|
-
"@dbx-tools/appkit-model-gateway": "^0.9.
|
|
40
|
-
"@dbx-tools/auth": "^0.9.
|
|
41
|
-
"@dbx-tools/auth-gate": "^0.9.
|
|
42
|
-
"@dbx-tools/cli-args": "^0.9.
|
|
43
|
-
"@dbx-tools/cli-service": "^0.9.
|
|
44
|
-
"@dbx-tools/core": "^0.9.
|
|
45
|
-
"@dbx-tools/databricks": "^0.9.
|
|
46
|
-
"@dbx-tools/email": "^0.9.
|
|
47
|
-
"@dbx-tools/lakebase": "^0.9.
|
|
48
|
-
"@dbx-tools/postgres": "^0.9.
|
|
49
|
-
"@dbx-tools/shared-auth": "^0.9.
|
|
50
|
-
"@dbx-tools/shared-core": "^0.9.
|
|
51
|
-
"@dbx-tools/shared-email": "^0.9.
|
|
52
|
-
"@dbx-tools/shared-genie-code": "^0.9.
|
|
53
|
-
"@dbx-tools/shared-model-gateway": "^0.9.
|
|
54
|
-
"@dbx-tools/tunnel": "^0.9.
|
|
37
|
+
"@dbx-tools/appkit": "^0.9.132",
|
|
38
|
+
"@dbx-tools/appkit-memory": "^0.9.132",
|
|
39
|
+
"@dbx-tools/appkit-model-gateway": "^0.9.132",
|
|
40
|
+
"@dbx-tools/auth": "^0.9.132",
|
|
41
|
+
"@dbx-tools/auth-gate": "^0.9.132",
|
|
42
|
+
"@dbx-tools/cli-args": "^0.9.132",
|
|
43
|
+
"@dbx-tools/cli-service": "^0.9.132",
|
|
44
|
+
"@dbx-tools/core": "^0.9.132",
|
|
45
|
+
"@dbx-tools/databricks": "^0.9.132",
|
|
46
|
+
"@dbx-tools/email": "^0.9.132",
|
|
47
|
+
"@dbx-tools/lakebase": "^0.9.132",
|
|
48
|
+
"@dbx-tools/postgres": "^0.9.132",
|
|
49
|
+
"@dbx-tools/shared-auth": "^0.9.132",
|
|
50
|
+
"@dbx-tools/shared-core": "^0.9.132",
|
|
51
|
+
"@dbx-tools/shared-email": "^0.9.132",
|
|
52
|
+
"@dbx-tools/shared-genie-code": "^0.9.132",
|
|
53
|
+
"@dbx-tools/shared-model-gateway": "^0.9.132",
|
|
54
|
+
"@dbx-tools/tunnel": "^0.9.132",
|
|
55
55
|
"commander": "^15.0.0",
|
|
56
56
|
"concurrently": "^10.0.3",
|
|
57
57
|
"get-port": "^7.1.0",
|
|
@@ -158,7 +158,7 @@
|
|
|
158
158
|
"./package.json": "./package.json"
|
|
159
159
|
}
|
|
160
160
|
},
|
|
161
|
-
"version": "0.9.
|
|
161
|
+
"version": "0.9.132",
|
|
162
162
|
"types": "./lib/index.d.ts",
|
|
163
163
|
"dbxToolsConfig": {
|
|
164
164
|
"tags": [
|
package/src/cli.ts
CHANGED
|
@@ -97,7 +97,7 @@ export function buildProgram(name: string = PROGRAM_NAMES[0]): Command {
|
|
|
97
97
|
program
|
|
98
98
|
.command("dev")
|
|
99
99
|
.description("Bootstrap or repair a dbx-tools workspace, then forward to projen")
|
|
100
|
-
.argument("[projenArgs...]", "
|
|
100
|
+
.argument("[projenArgs...]", "Projen task and arguments, for example sync --watch")
|
|
101
101
|
.allowUnknownOption()
|
|
102
102
|
.allowExcessArguments()
|
|
103
103
|
.helpOption(false)
|
package/src/genie-code/cli.ts
CHANGED
|
@@ -34,7 +34,7 @@ export function buildProgram(
|
|
|
34
34
|
.description("Run Genie Code through an authenticated local Databricks model gateway")
|
|
35
35
|
.argument(
|
|
36
36
|
"[genieArgs...]",
|
|
37
|
-
"
|
|
37
|
+
"Arguments and unknown flags forwarded to Genie Code. Separate wrapper options with --",
|
|
38
38
|
)
|
|
39
39
|
.allowUnknownOption()
|
|
40
40
|
.passThroughOptions()
|
|
@@ -71,7 +71,8 @@ async function resolveCodexModel(
|
|
|
71
71
|
model ? `Genie Code model not found: ${model}` : "No tool-capable chat model is available",
|
|
72
72
|
);
|
|
73
73
|
}
|
|
74
|
-
|
|
74
|
+
// Genie Code pins the exact system.ai service slug, which wins regardless of gateway preference.
|
|
75
|
+
return models.codexModelSlug(target, true);
|
|
75
76
|
}
|
|
76
77
|
|
|
77
78
|
/** Inputs accepted by managed Genie Code preparation and execution. */
|
package/src/graphiti/cli.ts
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
import { homedir } from "node:os";
|
|
11
11
|
import { join } from "node:path";
|
|
12
12
|
|
|
13
|
-
import {
|
|
13
|
+
import { runtime as graphitiRuntime } from "@dbx-tools/appkit-memory/graphiti";
|
|
14
14
|
import { addArgs, parseArgs, serializeArgs } from "@dbx-tools/cli-args";
|
|
15
15
|
import { buildServiceCommand, type CliServiceCliDependencies } from "@dbx-tools/cli-service/cli";
|
|
16
16
|
import { defineService, type CliServiceDefinition } from "@dbx-tools/cli-service/definition";
|
|
@@ -26,6 +26,7 @@ import { PACKAGE_VERSION } from "../../index.ts";
|
|
|
26
26
|
|
|
27
27
|
const DEFAULT_SERVICE_DIRECTORY = join(homedir(), ".dbx-tools", "services", "graphiti");
|
|
28
28
|
const DEFAULT_SERVICE_HOME = join(homedir(), ".dbx-tools", "graphiti");
|
|
29
|
+
type GraphitiRuntimeOptions = graphitiRuntime.GraphitiRuntimeOptions;
|
|
29
30
|
|
|
30
31
|
/** Injectable runtime and service lifecycle boundaries for CLI callers. */
|
|
31
32
|
export interface GraphitiCliDependencies {
|
|
@@ -64,7 +65,7 @@ export function graphitiServiceDefinition(
|
|
|
64
65
|
/** Build foreground execution and shared desktop-service commands. */
|
|
65
66
|
export function buildProgram(
|
|
66
67
|
name = "dbx graphiti",
|
|
67
|
-
dependencies: GraphitiCliDependencies = { run: runGraphiti },
|
|
68
|
+
dependencies: GraphitiCliDependencies = { run: graphitiRuntime.runGraphiti },
|
|
68
69
|
): Command {
|
|
69
70
|
const program = addArgs(
|
|
70
71
|
new Command()
|
package/src/graphiti/index.ts
CHANGED
|
@@ -5,3 +5,5 @@
|
|
|
5
5
|
export * as cli from "./cli.ts";
|
|
6
6
|
export * as options from "./options.ts";
|
|
7
7
|
export type { GraphitiCliDependencies, GraphitiServiceOptions } from "./cli.ts";
|
|
8
|
+
export { GRAPHITI_DEFAULTS, GraphitiCliOptionsSchema, GraphitiOptionsSchema, ResolvedGraphitiOptionsSchema, graphitiOptionOverrides, graphitiOptionsEnvironment, graphitiOptionsFromEnvironment, resolveGraphitiOptions } from "./options.ts";
|
|
9
|
+
export type { GraphitiOptions, ResolvedGraphitiOptions } from "./options.ts";
|
package/src/graphiti/options.ts
CHANGED
|
@@ -7,14 +7,34 @@
|
|
|
7
7
|
* @module
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
10
|
+
import { options } from "@dbx-tools/appkit-memory/graphiti";
|
|
11
|
+
|
|
12
|
+
/** Graphiti defaults derived from the shared owning schema. */
|
|
13
|
+
export const GRAPHITI_DEFAULTS = options.GRAPHITI_DEFAULTS;
|
|
14
|
+
|
|
15
|
+
/** Graphiti options represented as Commander flags. */
|
|
16
|
+
export const GraphitiCliOptionsSchema = options.GraphitiCliOptionsSchema;
|
|
17
|
+
|
|
18
|
+
/** Shared Graphiti option schema used by the CLI runtime. */
|
|
19
|
+
export const GraphitiOptionsSchema = options.GraphitiOptionsSchema;
|
|
20
|
+
|
|
21
|
+
/** Schema for Graphiti options after defaults are resolved. */
|
|
22
|
+
export const ResolvedGraphitiOptionsSchema = options.ResolvedGraphitiOptionsSchema;
|
|
23
|
+
|
|
24
|
+
/** Keep only explicitly supplied Graphiti fields and validate their values. */
|
|
25
|
+
export const graphitiOptionOverrides = options.graphitiOptionOverrides;
|
|
26
|
+
|
|
27
|
+
/** Serialize Graphiti options into the Python runtime environment. */
|
|
28
|
+
export const graphitiOptionsEnvironment = options.graphitiOptionsEnvironment;
|
|
29
|
+
|
|
30
|
+
/** Parse Graphiti option overrides from an environment record. */
|
|
31
|
+
export const graphitiOptionsFromEnvironment = options.graphitiOptionsFromEnvironment;
|
|
32
|
+
|
|
33
|
+
/** Apply shared defaults and validate Graphiti runtime invariants. */
|
|
34
|
+
export const resolveGraphitiOptions = options.resolveGraphitiOptions;
|
|
35
|
+
|
|
36
|
+
/** Graphiti option inputs accepted by the CLI. */
|
|
37
|
+
export type GraphitiOptions = options.GraphitiOptions;
|
|
38
|
+
|
|
39
|
+
/** Graphiti options after shared defaults are resolved. */
|
|
40
|
+
export type ResolvedGraphitiOptions = options.ResolvedGraphitiOptions;
|
|
@@ -63,6 +63,7 @@ export async function startModelGateway(options: ModelGatewayOptions = {}): Prom
|
|
|
63
63
|
const gateway = new ModelGateway({
|
|
64
64
|
...(resolved.model ? { model: resolved.model } : {}),
|
|
65
65
|
...(resolved.modelClass ? { modelClass: resolved.modelClass } : {}),
|
|
66
|
+
preferSystemModels: resolved.preferSystemModels,
|
|
66
67
|
});
|
|
67
68
|
const client = await workspaceClient.createWorkspaceClient({
|
|
68
69
|
...(resolved.profile ? { profile: resolved.profile } : {}),
|