llm-cli-gateway 2.5.0 → 2.6.3
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/CHANGELOG.md +63 -0
- package/README.md +16 -18
- package/dist/async-job-manager.d.ts +3 -0
- package/dist/async-job-manager.js +44 -3
- package/dist/cache-stats.d.ts +2 -0
- package/dist/cache-stats.js +17 -4
- package/dist/cli-updater.js +22 -13
- package/dist/executor.d.ts +1 -0
- package/dist/executor.js +7 -0
- package/dist/flight-recorder.d.ts +1 -0
- package/dist/flight-recorder.js +14 -2
- package/dist/index.d.ts +1 -0
- package/dist/index.js +116 -281
- package/dist/prompt-parts.js +5 -2
- package/dist/provider-codegen.d.ts +27 -0
- package/dist/provider-codegen.js +335 -0
- package/dist/provider-login-guidance.js +9 -9
- package/dist/provider-status.js +5 -5
- package/dist/request-helpers.js +2 -2
- package/dist/upstream-contracts.js +70 -95
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
|
@@ -36,8 +36,20 @@ function subcommand(commandPath, summary, risk, flags = [], options = {}) {
|
|
|
36
36
|
tokenCost: options.tokenCost ?? "small",
|
|
37
37
|
summary,
|
|
38
38
|
conformanceFixtures: options.fixtures ?? [],
|
|
39
|
+
acknowledgedUpstreamFlags: options.acknowledgedUpstreamFlags ?? [],
|
|
39
40
|
};
|
|
40
41
|
}
|
|
42
|
+
function acknowledgeSubcommandFlags(subcommands, flags) {
|
|
43
|
+
return Object.fromEntries(Object.entries(subcommands).map(([name, contract]) => [
|
|
44
|
+
name,
|
|
45
|
+
{
|
|
46
|
+
...contract,
|
|
47
|
+
acknowledgedUpstreamFlags: Array.from(new Set([...(contract.acknowledgedUpstreamFlags ?? []), ...flags])),
|
|
48
|
+
children: acknowledgeSubcommandFlags(contract.children ?? {}, flags),
|
|
49
|
+
},
|
|
50
|
+
]));
|
|
51
|
+
}
|
|
52
|
+
const GROK_DEBUG_HELP_FLAGS = ["--debug", "--debug-file"];
|
|
41
53
|
export const UPSTREAM_CLI_CONTRACTS = {
|
|
42
54
|
claude: {
|
|
43
55
|
cli: "claude",
|
|
@@ -779,53 +791,37 @@ export const UPSTREAM_CLI_CONTRACTS = {
|
|
|
779
791
|
},
|
|
780
792
|
gemini: {
|
|
781
793
|
cli: "gemini",
|
|
782
|
-
executable: "
|
|
783
|
-
upstream: "Google
|
|
794
|
+
executable: "agy",
|
|
795
|
+
upstream: "Google Antigravity CLI",
|
|
784
796
|
upstreamMetadata: {
|
|
785
797
|
sourceUrls: [
|
|
786
|
-
"https://
|
|
787
|
-
"https://github.com/google-
|
|
798
|
+
"https://antigravity.google/docs/cli-overview",
|
|
799
|
+
"https://github.com/google-antigravity/antigravity-cli/releases",
|
|
788
800
|
],
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
watchCategories: ["flags", "approval-modes", "output-formats", "session-resume"],
|
|
801
|
+
repo: "https://github.com/google-antigravity/antigravity-cli",
|
|
802
|
+
installDocsUrl: "https://antigravity.google/docs/cli-getting-started",
|
|
803
|
+
releaseChannel: "vendor",
|
|
804
|
+
watchCategories: ["flags", "permissions", "session-resume", "subcommands"],
|
|
794
805
|
},
|
|
795
806
|
helpArgs: [["--help"]],
|
|
796
807
|
subcommands: {
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
extensions: subcommand(["extensions"], "Manage Gemini extensions.", "writes_local_config", ["--debug"], {
|
|
801
|
-
aliases: ["extension"],
|
|
802
|
-
flagArities: { "--debug": "none" },
|
|
803
|
-
}),
|
|
804
|
-
extension: subcommand(["extension"], "Alias for Gemini extension management.", "writes_local_config", ["--debug"], {
|
|
805
|
-
aliases: ["extensions"],
|
|
806
|
-
flagArities: { "--debug": "none" },
|
|
808
|
+
changelog: subcommand(["changelog"], "Show Antigravity CLI changelog and release notes.", "read_only", [], { tokenCost: "small" }),
|
|
809
|
+
install: subcommand(["install"], "Configure Antigravity CLI environment paths and shell settings.", "writes_local_config", ["--dir", "--skip-aliases", "--skip-path"], {
|
|
810
|
+
flagArities: { "--dir": "one", "--skip-aliases": "none", "--skip-path": "none" },
|
|
807
811
|
}),
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
812
|
+
models: subcommand(["models"], "List available Antigravity models.", "read_only", [], {
|
|
813
|
+
exposure: "mcp_readonly",
|
|
814
|
+
tokenCost: "small",
|
|
811
815
|
}),
|
|
812
|
-
|
|
813
|
-
aliases: ["
|
|
814
|
-
flagArities: { "--debug": "none" },
|
|
815
|
-
}),
|
|
816
|
-
hooks: subcommand(["hooks"], "Manage Gemini hooks.", "writes_local_config", ["--debug"], {
|
|
817
|
-
aliases: ["hook"],
|
|
818
|
-
flagArities: { "--debug": "none" },
|
|
819
|
-
}),
|
|
820
|
-
hook: subcommand(["hook"], "Alias for Gemini hook management.", "writes_local_config", ["--debug"], {
|
|
821
|
-
aliases: ["hooks"],
|
|
822
|
-
flagArities: { "--debug": "none" },
|
|
816
|
+
plugin: subcommand(["plugin"], "Manage Antigravity plugins.", "writes_local_config", [], {
|
|
817
|
+
aliases: ["plugins"],
|
|
823
818
|
}),
|
|
824
|
-
|
|
825
|
-
|
|
819
|
+
plugins: subcommand(["plugins"], "Alias for Antigravity plugin management.", "writes_local_config", [], {
|
|
820
|
+
aliases: ["plugin"],
|
|
826
821
|
}),
|
|
822
|
+
update: subcommand(["update"], "Update Antigravity CLI to the current release.", "writes_local_config", [], { tokenCost: "small" }),
|
|
827
823
|
},
|
|
828
|
-
maxPositionals:
|
|
824
|
+
maxPositionals: 1,
|
|
829
825
|
mcpTools: ["gemini_request", "gemini_request_async"],
|
|
830
826
|
mcpParameters: [
|
|
831
827
|
"prompt",
|
|
@@ -847,90 +843,63 @@ export const UPSTREAM_CLI_CONTRACTS = {
|
|
|
847
843
|
"yolo",
|
|
848
844
|
],
|
|
849
845
|
flags: {
|
|
850
|
-
"
|
|
846
|
+
"--print": { arity: "none", description: "Run a single prompt non-interactively" },
|
|
847
|
+
"-p": { arity: "none", description: "Short alias for --print" },
|
|
848
|
+
"--prompt": { arity: "none", description: "Alias for --print" },
|
|
851
849
|
"--model": { arity: "one", description: "Model selector" },
|
|
852
|
-
"--
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
description: "Approval mode",
|
|
856
|
-
},
|
|
857
|
-
"--allowed-tools": { arity: "one", description: "Allowed tool" },
|
|
858
|
-
"--allowed-mcp-server-names": { arity: "one", description: "Allowed MCP server" },
|
|
859
|
-
"--include-directories": { arity: "one", description: "Included directory" },
|
|
860
|
-
"-s": { arity: "none", description: "Sandbox mode" },
|
|
861
|
-
"--policy": { arity: "one", description: "Policy file path" },
|
|
862
|
-
"--admin-policy": { arity: "one", description: "Admin policy file path" },
|
|
863
|
-
"-o": {
|
|
864
|
-
arity: "one",
|
|
865
|
-
values: ["json", "stream-json"],
|
|
866
|
-
description: "Output format (Phase 4 slice ε adds stream-json)",
|
|
867
|
-
},
|
|
868
|
-
"--resume": { arity: "one", description: "Resume session" },
|
|
869
|
-
"--skip-trust": {
|
|
870
|
-
arity: "none",
|
|
871
|
-
description: "Trust workspace for this session (Phase 4 slice γ)",
|
|
872
|
-
},
|
|
873
|
-
"--yolo": {
|
|
850
|
+
"--add-dir": { arity: "one", description: "Additional workspace directory" },
|
|
851
|
+
"--sandbox": { arity: "none", description: "Run with terminal sandbox restrictions" },
|
|
852
|
+
"--dangerously-skip-permissions": {
|
|
874
853
|
arity: "none",
|
|
875
|
-
description: "Auto-approve all
|
|
854
|
+
description: "Auto-approve all tool permission requests without prompting",
|
|
876
855
|
},
|
|
856
|
+
"--conversation": { arity: "one", description: "Resume a previous conversation by ID" },
|
|
857
|
+
"--continue": { arity: "none", description: "Continue the most recent conversation" },
|
|
858
|
+
"-c": { arity: "none", description: "Short alias for --continue" },
|
|
877
859
|
},
|
|
878
860
|
acknowledgedUpstreamFlags: [
|
|
879
|
-
"--accept-raw-output-risk",
|
|
880
|
-
"--acp",
|
|
881
|
-
"--debug",
|
|
882
|
-
"--delete-session",
|
|
883
|
-
"--experimental-acp",
|
|
884
|
-
"--extensions",
|
|
885
|
-
"--list-extensions",
|
|
886
|
-
"--list-sessions",
|
|
887
|
-
"--output-format",
|
|
888
|
-
"--prompt",
|
|
889
861
|
"--prompt-interactive",
|
|
890
|
-
"
|
|
891
|
-
"--
|
|
892
|
-
"--
|
|
893
|
-
"--session-file",
|
|
894
|
-
"--session-id",
|
|
862
|
+
"-i",
|
|
863
|
+
"--print-timeout",
|
|
864
|
+
"--log-file",
|
|
895
865
|
"--version",
|
|
896
|
-
"--worktree",
|
|
897
866
|
],
|
|
898
867
|
env: {},
|
|
899
868
|
conformanceFixtures: [
|
|
900
869
|
{
|
|
901
870
|
id: "gemini-minimal",
|
|
902
|
-
description: "Minimal prompt request",
|
|
903
|
-
args: ["
|
|
871
|
+
description: "Minimal Antigravity print-mode prompt request",
|
|
872
|
+
args: ["--print", "hello"],
|
|
904
873
|
expect: "pass",
|
|
905
874
|
},
|
|
906
875
|
{
|
|
907
876
|
id: "gemini-unsupported-flag",
|
|
908
877
|
description: "Unsupported flag is rejected before spawn",
|
|
909
|
-
args: ["
|
|
878
|
+
args: ["--print", "hello", "--not-a-gemini-flag"],
|
|
910
879
|
expect: "fail",
|
|
911
880
|
},
|
|
912
881
|
{
|
|
913
|
-
id: "gemini-
|
|
914
|
-
description: "
|
|
915
|
-
args: ["
|
|
882
|
+
id: "gemini-antigravity-workspace-flags",
|
|
883
|
+
description: "Antigravity workspace and sandbox flags are accepted",
|
|
884
|
+
args: ["--print", "hello", "--add-dir", "/tmp", "--sandbox"],
|
|
916
885
|
expect: "pass",
|
|
917
886
|
},
|
|
918
887
|
{
|
|
919
888
|
id: "gemini-yolo",
|
|
920
|
-
description: "
|
|
921
|
-
args: ["
|
|
889
|
+
description: "Antigravity permission bypass is accepted",
|
|
890
|
+
args: ["--print", "hello", "--dangerously-skip-permissions"],
|
|
922
891
|
expect: "pass",
|
|
923
892
|
},
|
|
924
893
|
{
|
|
925
|
-
id: "gemini-
|
|
926
|
-
description: "
|
|
927
|
-
args: ["
|
|
894
|
+
id: "gemini-conversation",
|
|
895
|
+
description: "Antigravity conversation resume is accepted",
|
|
896
|
+
args: ["--print", "hello", "--conversation", "user-session"],
|
|
928
897
|
expect: "pass",
|
|
929
898
|
},
|
|
930
899
|
{
|
|
931
|
-
id: "gemini-output-format-
|
|
932
|
-
description: "
|
|
933
|
-
args: ["
|
|
900
|
+
id: "gemini-legacy-output-format-rejected",
|
|
901
|
+
description: "Legacy Gemini JSON output flag is rejected",
|
|
902
|
+
args: ["--print", "hello", "-o", "json"],
|
|
934
903
|
expect: "fail",
|
|
935
904
|
},
|
|
936
905
|
],
|
|
@@ -946,7 +915,7 @@ export const UPSTREAM_CLI_CONTRACTS = {
|
|
|
946
915
|
watchCategories: ["flags", "permission-modes", "session-resume", "sandbox", "output-formats"],
|
|
947
916
|
},
|
|
948
917
|
helpArgs: [["--help"]],
|
|
949
|
-
subcommands: {
|
|
918
|
+
subcommands: acknowledgeSubcommandFlags({
|
|
950
919
|
agent: subcommand(["agent"], "Run Grok agent service helpers.", "executes_agent", [
|
|
951
920
|
"--agent-profile",
|
|
952
921
|
"--always-approve",
|
|
@@ -978,6 +947,7 @@ export const UPSTREAM_CLI_CONTRACTS = {
|
|
|
978
947
|
"--leader-socket",
|
|
979
948
|
"--no-auto-update",
|
|
980
949
|
"--no-exit-on-disconnect",
|
|
950
|
+
"--relay-on-demand",
|
|
981
951
|
], { exposure: "not_exposed" }),
|
|
982
952
|
},
|
|
983
953
|
}),
|
|
@@ -1024,11 +994,10 @@ export const UPSTREAM_CLI_CONTRACTS = {
|
|
|
1024
994
|
"--version",
|
|
1025
995
|
], { exposure: "not_exposed" }),
|
|
1026
996
|
version: subcommand(["version"], "Print Grok version information.", "read_only", ["--json", "--leader-socket"], { tier: "diagnostic" }),
|
|
1027
|
-
worktree: subcommand(["worktree"], "Manage Grok worktree sessions.", "writes_local_config", [
|
|
1028
|
-
|
|
1029
|
-
]),
|
|
1030
|
-
},
|
|
997
|
+
worktree: subcommand(["worktree"], "Manage Grok worktree sessions.", "writes_local_config", ["--leader-socket"]),
|
|
998
|
+
}, GROK_DEBUG_HELP_FLAGS),
|
|
1031
999
|
maxPositionals: 0,
|
|
1000
|
+
acknowledgedUpstreamFlags: GROK_DEBUG_HELP_FLAGS,
|
|
1032
1001
|
mcpTools: ["grok_request", "grok_request_async"],
|
|
1033
1002
|
mcpParameters: [
|
|
1034
1003
|
"prompt",
|
|
@@ -1325,6 +1294,12 @@ export const UPSTREAM_CLI_CONTRACTS = {
|
|
|
1325
1294
|
args: ["-p", "hello", "--leader-socket"],
|
|
1326
1295
|
expect: "fail",
|
|
1327
1296
|
},
|
|
1297
|
+
{
|
|
1298
|
+
id: "grok-0.2.38-agent-surface",
|
|
1299
|
+
description: "Grok 0.2.38: top-level --agent + --leader-socket co-occurrence accepted (dated example using flags current at 0.2.38; the agent subcommand expansion flags e.g. --agent-profile/--reauth/--grok-ws-* are listed in the subcommand contract declaration for --probe-installed drift tracking and are not part of this primary-path fixture's argv)",
|
|
1300
|
+
args: ["-p", "hello", "--agent", "reviewer", "--leader-socket", "/tmp/leader.sock"],
|
|
1301
|
+
expect: "pass",
|
|
1302
|
+
},
|
|
1328
1303
|
],
|
|
1329
1304
|
},
|
|
1330
1305
|
mistral: {
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "llm-cli-gateway",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.6.3",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "llm-cli-gateway",
|
|
9
|
-
"version": "2.
|
|
9
|
+
"version": "2.6.3",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "llm-cli-gateway",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.6.3",
|
|
4
4
|
"mcpName": "io.github.verivus-oss/llm-cli-gateway",
|
|
5
5
|
"description": "MCP server providing unified access to Claude Code, Codex, Gemini, Grok, and Mistral Vibe CLIs with session management, retry logic, async job orchestration, durable job results, and cross-LLM validation.",
|
|
6
6
|
"license": "MIT",
|