@junctionpanel/server 0.1.19 → 0.1.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/dist/server/client/daemon-client.d.ts +4 -2
  2. package/dist/server/client/daemon-client.d.ts.map +1 -1
  3. package/dist/server/client/daemon-client.js +2 -1
  4. package/dist/server/client/daemon-client.js.map +1 -1
  5. package/dist/server/server/agent/agent-storage.d.ts.map +1 -1
  6. package/dist/server/server/agent/agent-storage.js +4 -3
  7. package/dist/server/server/agent/agent-storage.js.map +1 -1
  8. package/dist/server/server/agent/provider-manifest.d.ts.map +1 -1
  9. package/dist/server/server/agent/provider-manifest.js +29 -0
  10. package/dist/server/server/agent/provider-manifest.js.map +1 -1
  11. package/dist/server/server/agent/provider-registry.d.ts.map +1 -1
  12. package/dist/server/server/agent/provider-registry.js +8 -0
  13. package/dist/server/server/agent/provider-registry.js.map +1 -1
  14. package/dist/server/server/agent/providers/gemini-agent.d.ts +425 -0
  15. package/dist/server/server/agent/providers/gemini-agent.d.ts.map +1 -0
  16. package/dist/server/server/agent/providers/gemini-agent.js +973 -0
  17. package/dist/server/server/agent/providers/gemini-agent.js.map +1 -0
  18. package/dist/server/server/persistence-hooks.d.ts.map +1 -1
  19. package/dist/server/server/persistence-hooks.js +4 -1
  20. package/dist/server/server/persistence-hooks.js.map +1 -1
  21. package/dist/server/server/session.d.ts +2 -1
  22. package/dist/server/server/session.d.ts.map +1 -1
  23. package/dist/server/server/session.js +76 -56
  24. package/dist/server/server/session.js.map +1 -1
  25. package/dist/server/shared/messages.d.ts +18 -0
  26. package/dist/server/shared/messages.d.ts.map +1 -1
  27. package/dist/server/shared/messages.js +2 -0
  28. package/dist/server/shared/messages.js.map +1 -1
  29. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"provider-registry.d.ts","sourceRoot":"","sources":["../../../../src/server/agent/provider-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,oBAAoB,EACpB,aAAa,EACb,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAMnC,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,KAAK,uBAAuB,EAC7B,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EACV,uBAAuB,GACxB,CAAC;AAEF,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,GAC3B,CAAC;AAEF,MAAM,WAAW,kBAAmB,SAAQ,uBAAuB;IACjE,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,WAAW,CAAC;IAC9C,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE,iBAAiB,KAAK,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;CAC/E;AAED,KAAK,4BAA4B,GAAG;IAClC,eAAe,CAAC,EAAE,+BAA+B,CAAC;CACnD,CAAC;AAEF,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,4BAA4B,GACrC,MAAM,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAmC3C;AAGD,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,aAAa,EAAE,kBAAkB,CAAe,CAAC;AAExF,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,4BAA4B,GACrC,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,CAOpC;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,4BAA4B,GACrC,OAAO,CAAC,IAAI,CAAC,CAKf"}
1
+ {"version":3,"file":"provider-registry.d.ts","sourceRoot":"","sources":["../../../../src/server/agent/provider-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,oBAAoB,EACpB,aAAa,EACb,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAOnC,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,KAAK,uBAAuB,EAC7B,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EACV,uBAAuB,GACxB,CAAC;AAEF,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,GAC3B,CAAC;AAEF,MAAM,WAAW,kBAAmB,SAAQ,uBAAuB;IACjE,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,WAAW,CAAC;IAC9C,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE,iBAAiB,KAAK,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;CAC/E;AAED,KAAK,4BAA4B,GAAG;IAClC,eAAe,CAAC,EAAE,+BAA+B,CAAC;CACnD,CAAC;AAEF,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,4BAA4B,GACrC,MAAM,CAAC,aAAa,EAAE,kBAAkB,CAAC,CA6C3C;AAGD,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,aAAa,EAAE,kBAAkB,CAAe,CAAC;AAExF,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,4BAA4B,GACrC,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,CAQpC;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,4BAA4B,GACrC,OAAO,CAAC,IAAI,CAAC,CAKf"}
@@ -1,5 +1,6 @@
1
1
  import { ClaudeAgentClient } from "./providers/claude-agent.js";
2
2
  import { CodexAppServerAgentClient } from "./providers/codex-app-server-agent.js";
3
+ import { GeminiAgentClient } from "./providers/gemini-agent.js";
3
4
  import { OpenCodeAgentClient, OpenCodeServerManager } from "./providers/opencode-agent.js";
4
5
  import { AGENT_PROVIDER_DEFINITIONS, getAgentProviderDefinition, } from "./provider-manifest.js";
5
6
  export { AGENT_PROVIDER_DEFINITIONS, getAgentProviderDefinition, };
@@ -10,6 +11,7 @@ export function buildProviderRegistry(logger, options) {
10
11
  runtimeSettings: runtimeSettings?.claude,
11
12
  });
12
13
  const codexClient = new CodexAppServerAgentClient(logger, runtimeSettings?.codex);
14
+ const geminiClient = new GeminiAgentClient(logger, runtimeSettings?.gemini);
13
15
  const opencodeClient = new OpenCodeAgentClient(logger, runtimeSettings?.opencode);
14
16
  return {
15
17
  claude: {
@@ -22,6 +24,11 @@ export function buildProviderRegistry(logger, options) {
22
24
  createClient: (logger) => new CodexAppServerAgentClient(logger, runtimeSettings?.codex),
23
25
  fetchModels: (options) => codexClient.listModels(options),
24
26
  },
27
+ gemini: {
28
+ ...AGENT_PROVIDER_DEFINITIONS.find((d) => d.id === "gemini"),
29
+ createClient: (logger) => new GeminiAgentClient(logger, runtimeSettings?.gemini),
30
+ fetchModels: (options) => geminiClient.listModels(options),
31
+ },
25
32
  opencode: {
26
33
  ...AGENT_PROVIDER_DEFINITIONS.find((d) => d.id === "opencode"),
27
34
  createClient: (logger) => new OpenCodeAgentClient(logger, runtimeSettings?.opencode),
@@ -36,6 +43,7 @@ export function createAllClients(logger, options) {
36
43
  return {
37
44
  claude: registry.claude.createClient(logger),
38
45
  codex: registry.codex.createClient(logger),
46
+ gemini: registry.gemini.createClient(logger),
39
47
  opencode: registry.opencode.createClient(logger),
40
48
  };
41
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"provider-registry.js","sourceRoot":"","sources":["../../../../src/server/agent/provider-registry.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAE3F,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,GAE3B,MAAM,wBAAwB,CAAC;AAMhC,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,GAC3B,CAAC;AAWF,MAAM,UAAU,qBAAqB,CACnC,MAAc,EACd,OAAsC;IAEtC,MAAM,eAAe,GAAG,OAAO,EAAE,eAAe,CAAC;IACjD,MAAM,YAAY,GAAG,IAAI,iBAAiB,CAAC;QACzC,MAAM;QACN,eAAe,EAAE,eAAe,EAAE,MAAM;KACzC,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,IAAI,yBAAyB,CAC/C,MAAM,EACN,eAAe,EAAE,KAAK,CACvB,CAAC;IACF,MAAM,cAAc,GAAG,IAAI,mBAAmB,CAC5C,MAAM,EACN,eAAe,EAAE,QAAQ,CAC1B,CAAC;IAEF,OAAO;QACL,MAAM,EAAE;YACN,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAE;YAC7D,YAAY,EAAE,CAAC,MAAc,EAAE,EAAE,CAC/B,IAAI,iBAAiB,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC;YAC7E,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC;SAC3D;QACD,KAAK,EAAE;YACL,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAE;YAC5D,YAAY,EAAE,CAAC,MAAc,EAAE,EAAE,CAC/B,IAAI,yBAAyB,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,CAAC;YAC/D,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC;SAC1D;QACD,QAAQ,EAAE;YACR,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CAAE;YAC/D,YAAY,EAAE,CAAC,MAAc,EAAE,EAAE,CAC/B,IAAI,mBAAmB,CAAC,MAAM,EAAE,eAAe,EAAE,QAAQ,CAAC;YAC5D,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC;SAC7D;KACF,CAAC;AACJ,CAAC;AAED,gDAAgD;AAChD,MAAM,CAAC,MAAM,iBAAiB,GAA8C,IAAW,CAAC;AAExF,MAAM,UAAU,gBAAgB,CAC9B,MAAc,EACd,OAAsC;IAEtC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxD,OAAO;QACL,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC;QAC5C,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC;QAC1C,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC;KACjD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAc,EACd,OAAsC;IAEtC,MAAM,qBAAqB,CAAC,WAAW,CACrC,MAAM,EACN,OAAO,EAAE,eAAe,EAAE,QAAQ,CACnC,CAAC,QAAQ,EAAE,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"provider-registry.js","sourceRoot":"","sources":["../../../../src/server/agent/provider-registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,425 @@
1
+ import type { Logger } from "pino";
2
+ import { z } from "zod";
3
+ import type { AgentCapabilityFlags, AgentClient, AgentModelDefinition, AgentPersistenceHandle, AgentSession, AgentSessionConfig, AgentTimelineItem, ListModelsOptions, ListPersistedAgentsOptions, PersistedAgentDescriptor, ToolCallTimelineItem } from "../agent-sdk-types.js";
4
+ import { type ProviderRuntimeSettings } from "../provider-launch-config.js";
5
+ declare const GEMINI_MODES: readonly ["default", "auto_edit", "yolo", "plan"];
6
+ type GeminiModeId = (typeof GEMINI_MODES)[number];
7
+ export declare const GEMINI_MODEL_CATALOG: readonly [{
8
+ readonly id: "auto-gemini-2.5";
9
+ readonly label: "Auto 2.5";
10
+ readonly description: "Automatic routing across Gemini 2.5 models";
11
+ readonly isDefault: true;
12
+ }, {
13
+ readonly id: "auto-gemini-3";
14
+ readonly label: "Auto 3 Preview";
15
+ readonly description: "Automatic routing across Gemini 3 preview models";
16
+ }, {
17
+ readonly id: "gemini-2.5-pro";
18
+ readonly label: "Gemini 2.5 Pro";
19
+ readonly description: "High-capability reasoning model";
20
+ }, {
21
+ readonly id: "gemini-2.5-flash";
22
+ readonly label: "Gemini 2.5 Flash";
23
+ readonly description: "Fast general-purpose model";
24
+ }, {
25
+ readonly id: "gemini-2.5-flash-lite";
26
+ readonly label: "Gemini 2.5 Flash Lite";
27
+ readonly description: "Low-latency lightweight model";
28
+ }, {
29
+ readonly id: "gemini-3-pro-preview";
30
+ readonly label: "Gemini 3 Pro Preview";
31
+ readonly description: "Preview reasoning model";
32
+ }, {
33
+ readonly id: "gemini-3.1-pro-preview";
34
+ readonly label: "Gemini 3.1 Pro Preview";
35
+ readonly description: "Preview reasoning model with updated capabilities";
36
+ }, {
37
+ readonly id: "gemini-3.1-pro-preview-customtools";
38
+ readonly label: "Gemini 3.1 Pro Preview Custom Tools";
39
+ readonly description: "Preview custom-tools model";
40
+ }, {
41
+ readonly id: "gemini-3-flash-preview";
42
+ readonly label: "Gemini 3 Flash Preview";
43
+ readonly description: "Preview fast model";
44
+ }];
45
+ declare const GeminiRecordedSessionSchema: z.ZodObject<{
46
+ sessionId: z.ZodString;
47
+ startTime: z.ZodString;
48
+ lastUpdated: z.ZodString;
49
+ summary: z.ZodOptional<z.ZodString>;
50
+ kind: z.ZodOptional<z.ZodString>;
51
+ messages: z.ZodArray<z.ZodObject<{
52
+ id: z.ZodOptional<z.ZodString>;
53
+ type: z.ZodString;
54
+ content: z.ZodOptional<z.ZodUnknown>;
55
+ displayContent: z.ZodOptional<z.ZodUnknown>;
56
+ thoughts: z.ZodOptional<z.ZodArray<z.ZodObject<{
57
+ thought: z.ZodOptional<z.ZodString>;
58
+ text: z.ZodOptional<z.ZodString>;
59
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
60
+ thought: z.ZodOptional<z.ZodString>;
61
+ text: z.ZodOptional<z.ZodString>;
62
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
63
+ thought: z.ZodOptional<z.ZodString>;
64
+ text: z.ZodOptional<z.ZodString>;
65
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
66
+ toolCalls: z.ZodOptional<z.ZodArray<z.ZodObject<{
67
+ id: z.ZodOptional<z.ZodString>;
68
+ name: z.ZodOptional<z.ZodString>;
69
+ args: z.ZodOptional<z.ZodUnknown>;
70
+ result: z.ZodOptional<z.ZodUnknown>;
71
+ resultDisplay: z.ZodOptional<z.ZodString>;
72
+ status: z.ZodOptional<z.ZodString>;
73
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
74
+ id: z.ZodOptional<z.ZodString>;
75
+ name: z.ZodOptional<z.ZodString>;
76
+ args: z.ZodOptional<z.ZodUnknown>;
77
+ result: z.ZodOptional<z.ZodUnknown>;
78
+ resultDisplay: z.ZodOptional<z.ZodString>;
79
+ status: z.ZodOptional<z.ZodString>;
80
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
81
+ id: z.ZodOptional<z.ZodString>;
82
+ name: z.ZodOptional<z.ZodString>;
83
+ args: z.ZodOptional<z.ZodUnknown>;
84
+ result: z.ZodOptional<z.ZodUnknown>;
85
+ resultDisplay: z.ZodOptional<z.ZodString>;
86
+ status: z.ZodOptional<z.ZodString>;
87
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
88
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
89
+ id: z.ZodOptional<z.ZodString>;
90
+ type: z.ZodString;
91
+ content: z.ZodOptional<z.ZodUnknown>;
92
+ displayContent: z.ZodOptional<z.ZodUnknown>;
93
+ thoughts: z.ZodOptional<z.ZodArray<z.ZodObject<{
94
+ thought: z.ZodOptional<z.ZodString>;
95
+ text: z.ZodOptional<z.ZodString>;
96
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
97
+ thought: z.ZodOptional<z.ZodString>;
98
+ text: z.ZodOptional<z.ZodString>;
99
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
100
+ thought: z.ZodOptional<z.ZodString>;
101
+ text: z.ZodOptional<z.ZodString>;
102
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
103
+ toolCalls: z.ZodOptional<z.ZodArray<z.ZodObject<{
104
+ id: z.ZodOptional<z.ZodString>;
105
+ name: z.ZodOptional<z.ZodString>;
106
+ args: z.ZodOptional<z.ZodUnknown>;
107
+ result: z.ZodOptional<z.ZodUnknown>;
108
+ resultDisplay: z.ZodOptional<z.ZodString>;
109
+ status: z.ZodOptional<z.ZodString>;
110
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
111
+ id: z.ZodOptional<z.ZodString>;
112
+ name: z.ZodOptional<z.ZodString>;
113
+ args: z.ZodOptional<z.ZodUnknown>;
114
+ result: z.ZodOptional<z.ZodUnknown>;
115
+ resultDisplay: z.ZodOptional<z.ZodString>;
116
+ status: z.ZodOptional<z.ZodString>;
117
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
118
+ id: z.ZodOptional<z.ZodString>;
119
+ name: z.ZodOptional<z.ZodString>;
120
+ args: z.ZodOptional<z.ZodUnknown>;
121
+ result: z.ZodOptional<z.ZodUnknown>;
122
+ resultDisplay: z.ZodOptional<z.ZodString>;
123
+ status: z.ZodOptional<z.ZodString>;
124
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
125
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
126
+ id: z.ZodOptional<z.ZodString>;
127
+ type: z.ZodString;
128
+ content: z.ZodOptional<z.ZodUnknown>;
129
+ displayContent: z.ZodOptional<z.ZodUnknown>;
130
+ thoughts: z.ZodOptional<z.ZodArray<z.ZodObject<{
131
+ thought: z.ZodOptional<z.ZodString>;
132
+ text: z.ZodOptional<z.ZodString>;
133
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
134
+ thought: z.ZodOptional<z.ZodString>;
135
+ text: z.ZodOptional<z.ZodString>;
136
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
137
+ thought: z.ZodOptional<z.ZodString>;
138
+ text: z.ZodOptional<z.ZodString>;
139
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
140
+ toolCalls: z.ZodOptional<z.ZodArray<z.ZodObject<{
141
+ id: z.ZodOptional<z.ZodString>;
142
+ name: z.ZodOptional<z.ZodString>;
143
+ args: z.ZodOptional<z.ZodUnknown>;
144
+ result: z.ZodOptional<z.ZodUnknown>;
145
+ resultDisplay: z.ZodOptional<z.ZodString>;
146
+ status: z.ZodOptional<z.ZodString>;
147
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
148
+ id: z.ZodOptional<z.ZodString>;
149
+ name: z.ZodOptional<z.ZodString>;
150
+ args: z.ZodOptional<z.ZodUnknown>;
151
+ result: z.ZodOptional<z.ZodUnknown>;
152
+ resultDisplay: z.ZodOptional<z.ZodString>;
153
+ status: z.ZodOptional<z.ZodString>;
154
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
155
+ id: z.ZodOptional<z.ZodString>;
156
+ name: z.ZodOptional<z.ZodString>;
157
+ args: z.ZodOptional<z.ZodUnknown>;
158
+ result: z.ZodOptional<z.ZodUnknown>;
159
+ resultDisplay: z.ZodOptional<z.ZodString>;
160
+ status: z.ZodOptional<z.ZodString>;
161
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
162
+ }, z.ZodTypeAny, "passthrough">>, "many">;
163
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
164
+ sessionId: z.ZodString;
165
+ startTime: z.ZodString;
166
+ lastUpdated: z.ZodString;
167
+ summary: z.ZodOptional<z.ZodString>;
168
+ kind: z.ZodOptional<z.ZodString>;
169
+ messages: z.ZodArray<z.ZodObject<{
170
+ id: z.ZodOptional<z.ZodString>;
171
+ type: z.ZodString;
172
+ content: z.ZodOptional<z.ZodUnknown>;
173
+ displayContent: z.ZodOptional<z.ZodUnknown>;
174
+ thoughts: z.ZodOptional<z.ZodArray<z.ZodObject<{
175
+ thought: z.ZodOptional<z.ZodString>;
176
+ text: z.ZodOptional<z.ZodString>;
177
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
178
+ thought: z.ZodOptional<z.ZodString>;
179
+ text: z.ZodOptional<z.ZodString>;
180
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
181
+ thought: z.ZodOptional<z.ZodString>;
182
+ text: z.ZodOptional<z.ZodString>;
183
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
184
+ toolCalls: z.ZodOptional<z.ZodArray<z.ZodObject<{
185
+ id: z.ZodOptional<z.ZodString>;
186
+ name: z.ZodOptional<z.ZodString>;
187
+ args: z.ZodOptional<z.ZodUnknown>;
188
+ result: z.ZodOptional<z.ZodUnknown>;
189
+ resultDisplay: z.ZodOptional<z.ZodString>;
190
+ status: z.ZodOptional<z.ZodString>;
191
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
192
+ id: z.ZodOptional<z.ZodString>;
193
+ name: z.ZodOptional<z.ZodString>;
194
+ args: z.ZodOptional<z.ZodUnknown>;
195
+ result: z.ZodOptional<z.ZodUnknown>;
196
+ resultDisplay: z.ZodOptional<z.ZodString>;
197
+ status: z.ZodOptional<z.ZodString>;
198
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
199
+ id: z.ZodOptional<z.ZodString>;
200
+ name: z.ZodOptional<z.ZodString>;
201
+ args: z.ZodOptional<z.ZodUnknown>;
202
+ result: z.ZodOptional<z.ZodUnknown>;
203
+ resultDisplay: z.ZodOptional<z.ZodString>;
204
+ status: z.ZodOptional<z.ZodString>;
205
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
206
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
207
+ id: z.ZodOptional<z.ZodString>;
208
+ type: z.ZodString;
209
+ content: z.ZodOptional<z.ZodUnknown>;
210
+ displayContent: z.ZodOptional<z.ZodUnknown>;
211
+ thoughts: z.ZodOptional<z.ZodArray<z.ZodObject<{
212
+ thought: z.ZodOptional<z.ZodString>;
213
+ text: z.ZodOptional<z.ZodString>;
214
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
215
+ thought: z.ZodOptional<z.ZodString>;
216
+ text: z.ZodOptional<z.ZodString>;
217
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
218
+ thought: z.ZodOptional<z.ZodString>;
219
+ text: z.ZodOptional<z.ZodString>;
220
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
221
+ toolCalls: z.ZodOptional<z.ZodArray<z.ZodObject<{
222
+ id: z.ZodOptional<z.ZodString>;
223
+ name: z.ZodOptional<z.ZodString>;
224
+ args: z.ZodOptional<z.ZodUnknown>;
225
+ result: z.ZodOptional<z.ZodUnknown>;
226
+ resultDisplay: z.ZodOptional<z.ZodString>;
227
+ status: z.ZodOptional<z.ZodString>;
228
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
229
+ id: z.ZodOptional<z.ZodString>;
230
+ name: z.ZodOptional<z.ZodString>;
231
+ args: z.ZodOptional<z.ZodUnknown>;
232
+ result: z.ZodOptional<z.ZodUnknown>;
233
+ resultDisplay: z.ZodOptional<z.ZodString>;
234
+ status: z.ZodOptional<z.ZodString>;
235
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
236
+ id: z.ZodOptional<z.ZodString>;
237
+ name: z.ZodOptional<z.ZodString>;
238
+ args: z.ZodOptional<z.ZodUnknown>;
239
+ result: z.ZodOptional<z.ZodUnknown>;
240
+ resultDisplay: z.ZodOptional<z.ZodString>;
241
+ status: z.ZodOptional<z.ZodString>;
242
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
243
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
244
+ id: z.ZodOptional<z.ZodString>;
245
+ type: z.ZodString;
246
+ content: z.ZodOptional<z.ZodUnknown>;
247
+ displayContent: z.ZodOptional<z.ZodUnknown>;
248
+ thoughts: z.ZodOptional<z.ZodArray<z.ZodObject<{
249
+ thought: z.ZodOptional<z.ZodString>;
250
+ text: z.ZodOptional<z.ZodString>;
251
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
252
+ thought: z.ZodOptional<z.ZodString>;
253
+ text: z.ZodOptional<z.ZodString>;
254
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
255
+ thought: z.ZodOptional<z.ZodString>;
256
+ text: z.ZodOptional<z.ZodString>;
257
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
258
+ toolCalls: z.ZodOptional<z.ZodArray<z.ZodObject<{
259
+ id: z.ZodOptional<z.ZodString>;
260
+ name: z.ZodOptional<z.ZodString>;
261
+ args: z.ZodOptional<z.ZodUnknown>;
262
+ result: z.ZodOptional<z.ZodUnknown>;
263
+ resultDisplay: z.ZodOptional<z.ZodString>;
264
+ status: z.ZodOptional<z.ZodString>;
265
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
266
+ id: z.ZodOptional<z.ZodString>;
267
+ name: z.ZodOptional<z.ZodString>;
268
+ args: z.ZodOptional<z.ZodUnknown>;
269
+ result: z.ZodOptional<z.ZodUnknown>;
270
+ resultDisplay: z.ZodOptional<z.ZodString>;
271
+ status: z.ZodOptional<z.ZodString>;
272
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
273
+ id: z.ZodOptional<z.ZodString>;
274
+ name: z.ZodOptional<z.ZodString>;
275
+ args: z.ZodOptional<z.ZodUnknown>;
276
+ result: z.ZodOptional<z.ZodUnknown>;
277
+ resultDisplay: z.ZodOptional<z.ZodString>;
278
+ status: z.ZodOptional<z.ZodString>;
279
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
280
+ }, z.ZodTypeAny, "passthrough">>, "many">;
281
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
282
+ sessionId: z.ZodString;
283
+ startTime: z.ZodString;
284
+ lastUpdated: z.ZodString;
285
+ summary: z.ZodOptional<z.ZodString>;
286
+ kind: z.ZodOptional<z.ZodString>;
287
+ messages: z.ZodArray<z.ZodObject<{
288
+ id: z.ZodOptional<z.ZodString>;
289
+ type: z.ZodString;
290
+ content: z.ZodOptional<z.ZodUnknown>;
291
+ displayContent: z.ZodOptional<z.ZodUnknown>;
292
+ thoughts: z.ZodOptional<z.ZodArray<z.ZodObject<{
293
+ thought: z.ZodOptional<z.ZodString>;
294
+ text: z.ZodOptional<z.ZodString>;
295
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
296
+ thought: z.ZodOptional<z.ZodString>;
297
+ text: z.ZodOptional<z.ZodString>;
298
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
299
+ thought: z.ZodOptional<z.ZodString>;
300
+ text: z.ZodOptional<z.ZodString>;
301
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
302
+ toolCalls: z.ZodOptional<z.ZodArray<z.ZodObject<{
303
+ id: z.ZodOptional<z.ZodString>;
304
+ name: z.ZodOptional<z.ZodString>;
305
+ args: z.ZodOptional<z.ZodUnknown>;
306
+ result: z.ZodOptional<z.ZodUnknown>;
307
+ resultDisplay: z.ZodOptional<z.ZodString>;
308
+ status: z.ZodOptional<z.ZodString>;
309
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
310
+ id: z.ZodOptional<z.ZodString>;
311
+ name: z.ZodOptional<z.ZodString>;
312
+ args: z.ZodOptional<z.ZodUnknown>;
313
+ result: z.ZodOptional<z.ZodUnknown>;
314
+ resultDisplay: z.ZodOptional<z.ZodString>;
315
+ status: z.ZodOptional<z.ZodString>;
316
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
317
+ id: z.ZodOptional<z.ZodString>;
318
+ name: z.ZodOptional<z.ZodString>;
319
+ args: z.ZodOptional<z.ZodUnknown>;
320
+ result: z.ZodOptional<z.ZodUnknown>;
321
+ resultDisplay: z.ZodOptional<z.ZodString>;
322
+ status: z.ZodOptional<z.ZodString>;
323
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
324
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
325
+ id: z.ZodOptional<z.ZodString>;
326
+ type: z.ZodString;
327
+ content: z.ZodOptional<z.ZodUnknown>;
328
+ displayContent: z.ZodOptional<z.ZodUnknown>;
329
+ thoughts: z.ZodOptional<z.ZodArray<z.ZodObject<{
330
+ thought: z.ZodOptional<z.ZodString>;
331
+ text: z.ZodOptional<z.ZodString>;
332
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
333
+ thought: z.ZodOptional<z.ZodString>;
334
+ text: z.ZodOptional<z.ZodString>;
335
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
336
+ thought: z.ZodOptional<z.ZodString>;
337
+ text: z.ZodOptional<z.ZodString>;
338
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
339
+ toolCalls: z.ZodOptional<z.ZodArray<z.ZodObject<{
340
+ id: z.ZodOptional<z.ZodString>;
341
+ name: z.ZodOptional<z.ZodString>;
342
+ args: z.ZodOptional<z.ZodUnknown>;
343
+ result: z.ZodOptional<z.ZodUnknown>;
344
+ resultDisplay: z.ZodOptional<z.ZodString>;
345
+ status: z.ZodOptional<z.ZodString>;
346
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
347
+ id: z.ZodOptional<z.ZodString>;
348
+ name: z.ZodOptional<z.ZodString>;
349
+ args: z.ZodOptional<z.ZodUnknown>;
350
+ result: z.ZodOptional<z.ZodUnknown>;
351
+ resultDisplay: z.ZodOptional<z.ZodString>;
352
+ status: z.ZodOptional<z.ZodString>;
353
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
354
+ id: z.ZodOptional<z.ZodString>;
355
+ name: z.ZodOptional<z.ZodString>;
356
+ args: z.ZodOptional<z.ZodUnknown>;
357
+ result: z.ZodOptional<z.ZodUnknown>;
358
+ resultDisplay: z.ZodOptional<z.ZodString>;
359
+ status: z.ZodOptional<z.ZodString>;
360
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
361
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
362
+ id: z.ZodOptional<z.ZodString>;
363
+ type: z.ZodString;
364
+ content: z.ZodOptional<z.ZodUnknown>;
365
+ displayContent: z.ZodOptional<z.ZodUnknown>;
366
+ thoughts: z.ZodOptional<z.ZodArray<z.ZodObject<{
367
+ thought: z.ZodOptional<z.ZodString>;
368
+ text: z.ZodOptional<z.ZodString>;
369
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
370
+ thought: z.ZodOptional<z.ZodString>;
371
+ text: z.ZodOptional<z.ZodString>;
372
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
373
+ thought: z.ZodOptional<z.ZodString>;
374
+ text: z.ZodOptional<z.ZodString>;
375
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
376
+ toolCalls: z.ZodOptional<z.ZodArray<z.ZodObject<{
377
+ id: z.ZodOptional<z.ZodString>;
378
+ name: z.ZodOptional<z.ZodString>;
379
+ args: z.ZodOptional<z.ZodUnknown>;
380
+ result: z.ZodOptional<z.ZodUnknown>;
381
+ resultDisplay: z.ZodOptional<z.ZodString>;
382
+ status: z.ZodOptional<z.ZodString>;
383
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
384
+ id: z.ZodOptional<z.ZodString>;
385
+ name: z.ZodOptional<z.ZodString>;
386
+ args: z.ZodOptional<z.ZodUnknown>;
387
+ result: z.ZodOptional<z.ZodUnknown>;
388
+ resultDisplay: z.ZodOptional<z.ZodString>;
389
+ status: z.ZodOptional<z.ZodString>;
390
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
391
+ id: z.ZodOptional<z.ZodString>;
392
+ name: z.ZodOptional<z.ZodString>;
393
+ args: z.ZodOptional<z.ZodUnknown>;
394
+ result: z.ZodOptional<z.ZodUnknown>;
395
+ resultDisplay: z.ZodOptional<z.ZodString>;
396
+ status: z.ZodOptional<z.ZodString>;
397
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
398
+ }, z.ZodTypeAny, "passthrough">>, "many">;
399
+ }, z.ZodTypeAny, "passthrough">>;
400
+ type GeminiRecordedSession = z.infer<typeof GeminiRecordedSessionSchema>;
401
+ export declare function normalizeGeminiMode(modeId: string | undefined): GeminiModeId;
402
+ export declare function toGeminiToolTimelineItem(params: {
403
+ toolName: string;
404
+ callId?: string | null;
405
+ status?: string;
406
+ input?: unknown;
407
+ output?: unknown;
408
+ error?: unknown;
409
+ }): ToolCallTimelineItem;
410
+ export declare function buildGeminiHistoryTimeline(session: GeminiRecordedSession): AgentTimelineItem[];
411
+ export declare class GeminiAgentClient implements AgentClient {
412
+ readonly provider: "gemini";
413
+ readonly capabilities: AgentCapabilityFlags;
414
+ private readonly logger;
415
+ private readonly runtimeSettings?;
416
+ constructor(logger: Logger, runtimeSettings?: ProviderRuntimeSettings);
417
+ createSession(config: AgentSessionConfig): Promise<AgentSession>;
418
+ resumeSession(handle: AgentPersistenceHandle, overrides?: Partial<AgentSessionConfig>): Promise<AgentSession>;
419
+ listModels(_options?: ListModelsOptions): Promise<AgentModelDefinition[]>;
420
+ listPersistedAgents(options?: ListPersistedAgentsOptions): Promise<PersistedAgentDescriptor[]>;
421
+ isAvailable(): Promise<boolean>;
422
+ private assertConfig;
423
+ }
424
+ export {};
425
+ //# sourceMappingURL=gemini-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gemini-agent.d.ts","sourceRoot":"","sources":["../../../../../src/server/agent/providers/gemini-agent.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EACV,oBAAoB,EACpB,WAAW,EAEX,oBAAoB,EAGpB,sBAAsB,EAKtB,YAAY,EACZ,kBAAkB,EAElB,iBAAiB,EAEjB,iBAAiB,EACjB,0BAA0B,EAE1B,wBAAwB,EAExB,oBAAoB,EACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAIL,KAAK,uBAAuB,EAC7B,MAAM,8BAA8B,CAAC;AAoBtC,QAAA,MAAM,YAAY,mDAAoD,CAAC;AAIvE,KAAK,YAAY,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAclD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoD/B,CAAC;AAkHH,QAAA,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCASjB,CAAC;AAEjB,KAAK,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AA+BzE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,CAgB5E;AAoKD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GAAG,oBAAoB,CAiCvB;AAsID,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,qBAAqB,GAAG,iBAAiB,EAAE,CAuD9F;AAiGD,qBAAa,iBAAkB,YAAW,WAAW;IACnD,QAAQ,CAAC,QAAQ,WAAmB;IACpC,QAAQ,CAAC,YAAY,uBAAuB;IAE5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAA0B;gBAE/C,MAAM,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,uBAAuB;IAK/D,aAAa,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,YAAY,CAAC;IAKhE,aAAa,CACjB,MAAM,EAAE,sBAAsB,EAC9B,SAAS,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GACtC,OAAO,CAAC,YAAY,CAAC;IAoBlB,UAAU,CAAC,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAIzE,mBAAmB,CACvB,OAAO,CAAC,EAAE,0BAA0B,GACnC,OAAO,CAAC,wBAAwB,EAAE,CAAC;IAiBhC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAOrC,OAAO,CAAC,YAAY;CASrB"}