@wingman-ai/gateway 0.2.2 → 0.2.4

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 (160) hide show
  1. package/.wingman/agents/README.md +7 -1
  2. package/.wingman/agents/coding/agent.md +299 -201
  3. package/.wingman/agents/coding-v2/agent.md +127 -0
  4. package/.wingman/agents/coding-v2/implementor.md +89 -0
  5. package/.wingman/agents/main/agent.md +4 -0
  6. package/README.md +1 -0
  7. package/dist/agent/config/agentConfig.cjs +31 -17
  8. package/dist/agent/config/agentConfig.d.ts +23 -1
  9. package/dist/agent/config/agentConfig.js +30 -19
  10. package/dist/agent/config/agentLoader.cjs +26 -8
  11. package/dist/agent/config/agentLoader.d.ts +4 -2
  12. package/dist/agent/config/agentLoader.js +26 -8
  13. package/dist/agent/config/modelFactory.cjs +95 -25
  14. package/dist/agent/config/modelFactory.d.ts +13 -1
  15. package/dist/agent/config/modelFactory.js +95 -25
  16. package/dist/agent/config/toolRegistry.cjs +19 -6
  17. package/dist/agent/config/toolRegistry.d.ts +5 -2
  18. package/dist/agent/config/toolRegistry.js +19 -6
  19. package/dist/agent/middleware/hooks/types.cjs +13 -13
  20. package/dist/agent/middleware/hooks/types.d.ts +1 -1
  21. package/dist/agent/middleware/hooks/types.js +14 -14
  22. package/dist/agent/tests/agentConfig.test.cjs +22 -2
  23. package/dist/agent/tests/agentConfig.test.js +22 -2
  24. package/dist/agent/tests/agentLoader.test.cjs +38 -1
  25. package/dist/agent/tests/agentLoader.test.js +38 -1
  26. package/dist/agent/tests/backgroundTerminal.test.cjs +70 -0
  27. package/dist/agent/tests/backgroundTerminal.test.d.ts +1 -0
  28. package/dist/agent/tests/backgroundTerminal.test.js +64 -0
  29. package/dist/agent/tests/commandExecuteTool.test.cjs +29 -0
  30. package/dist/agent/tests/commandExecuteTool.test.d.ts +1 -0
  31. package/dist/agent/tests/commandExecuteTool.test.js +23 -0
  32. package/dist/agent/tests/modelFactory.test.cjs +47 -5
  33. package/dist/agent/tests/modelFactory.test.js +47 -5
  34. package/dist/agent/tests/terminalSessionManager.test.cjs +121 -0
  35. package/dist/agent/tests/terminalSessionManager.test.d.ts +1 -0
  36. package/dist/agent/tests/terminalSessionManager.test.js +115 -0
  37. package/dist/agent/tests/toolRegistry.test.cjs +14 -2
  38. package/dist/agent/tests/toolRegistry.test.js +14 -2
  39. package/dist/agent/tools/background_terminal.cjs +128 -0
  40. package/dist/agent/tools/background_terminal.d.ts +41 -0
  41. package/dist/agent/tools/background_terminal.js +94 -0
  42. package/dist/agent/tools/code_search.cjs +6 -6
  43. package/dist/agent/tools/code_search.d.ts +1 -1
  44. package/dist/agent/tools/code_search.js +7 -7
  45. package/dist/agent/tools/command_execute.cjs +22 -7
  46. package/dist/agent/tools/command_execute.d.ts +3 -2
  47. package/dist/agent/tools/command_execute.js +23 -8
  48. package/dist/agent/tools/git_status.cjs +3 -3
  49. package/dist/agent/tools/git_status.d.ts +1 -1
  50. package/dist/agent/tools/git_status.js +4 -4
  51. package/dist/agent/tools/internet_search.cjs +6 -6
  52. package/dist/agent/tools/internet_search.d.ts +1 -1
  53. package/dist/agent/tools/internet_search.js +7 -7
  54. package/dist/agent/tools/terminal_session_manager.cjs +321 -0
  55. package/dist/agent/tools/terminal_session_manager.d.ts +77 -0
  56. package/dist/agent/tools/terminal_session_manager.js +284 -0
  57. package/dist/agent/tools/think.cjs +4 -4
  58. package/dist/agent/tools/think.d.ts +1 -1
  59. package/dist/agent/tools/think.js +5 -5
  60. package/dist/agent/tools/ui_registry.cjs +13 -13
  61. package/dist/agent/tools/ui_registry.d.ts +4 -4
  62. package/dist/agent/tools/ui_registry.js +14 -14
  63. package/dist/agent/tools/web_crawler.cjs +4 -4
  64. package/dist/agent/tools/web_crawler.d.ts +1 -1
  65. package/dist/agent/tools/web_crawler.js +5 -5
  66. package/dist/agent/utils.cjs +2 -1
  67. package/dist/agent/utils.js +2 -1
  68. package/dist/cli/commands/init.cjs +7 -6
  69. package/dist/cli/commands/init.js +7 -6
  70. package/dist/cli/commands/provider.cjs +17 -3
  71. package/dist/cli/commands/provider.js +17 -3
  72. package/dist/cli/config/loader.cjs +27 -0
  73. package/dist/cli/config/loader.js +27 -0
  74. package/dist/cli/config/schema.cjs +146 -68
  75. package/dist/cli/config/schema.d.ts +89 -1
  76. package/dist/cli/config/schema.js +134 -68
  77. package/dist/cli/core/agentInvoker.cjs +344 -17
  78. package/dist/cli/core/agentInvoker.d.ts +63 -3
  79. package/dist/cli/core/agentInvoker.js +303 -12
  80. package/dist/cli/core/sessionManager.cjs +32 -5
  81. package/dist/cli/core/sessionManager.js +32 -5
  82. package/dist/cli/core/streamParser.cjs +15 -0
  83. package/dist/cli/core/streamParser.js +15 -0
  84. package/dist/cli/index.cjs +6 -5
  85. package/dist/cli/index.js +6 -5
  86. package/dist/cli/types.d.ts +32 -0
  87. package/dist/cli/ui/toolDisplayHelpers.cjs +2 -0
  88. package/dist/cli/ui/toolDisplayHelpers.js +2 -0
  89. package/dist/gateway/hooks/registry.cjs +2 -1
  90. package/dist/gateway/hooks/registry.d.ts +1 -1
  91. package/dist/gateway/hooks/registry.js +2 -1
  92. package/dist/gateway/hooks/types.cjs +11 -11
  93. package/dist/gateway/hooks/types.d.ts +1 -1
  94. package/dist/gateway/hooks/types.js +12 -12
  95. package/dist/gateway/http/agents.cjs +67 -4
  96. package/dist/gateway/http/agents.js +67 -4
  97. package/dist/gateway/http/sessions.cjs +7 -7
  98. package/dist/gateway/http/sessions.js +7 -7
  99. package/dist/gateway/http/types.d.ts +5 -3
  100. package/dist/gateway/http/webhooks.cjs +6 -5
  101. package/dist/gateway/http/webhooks.js +6 -5
  102. package/dist/gateway/server.cjs +198 -41
  103. package/dist/gateway/server.d.ts +9 -1
  104. package/dist/gateway/server.js +198 -41
  105. package/dist/gateway/types.d.ts +1 -0
  106. package/dist/gateway/validation.cjs +39 -39
  107. package/dist/gateway/validation.d.ts +1 -1
  108. package/dist/gateway/validation.js +40 -40
  109. package/dist/providers/codex.cjs +167 -0
  110. package/dist/providers/codex.d.ts +15 -0
  111. package/dist/providers/codex.js +127 -0
  112. package/dist/providers/credentials.cjs +8 -0
  113. package/dist/providers/credentials.js +8 -0
  114. package/dist/providers/registry.cjs +11 -0
  115. package/dist/providers/registry.d.ts +1 -1
  116. package/dist/providers/registry.js +11 -0
  117. package/dist/tests/additionalMessageMiddleware.test.cjs +3 -0
  118. package/dist/tests/additionalMessageMiddleware.test.js +3 -0
  119. package/dist/tests/agentInvokerSummarization.test.cjs +455 -0
  120. package/dist/tests/agentInvokerSummarization.test.d.ts +1 -0
  121. package/dist/tests/agentInvokerSummarization.test.js +449 -0
  122. package/dist/tests/agents-api.test.cjs +45 -5
  123. package/dist/tests/agents-api.test.js +45 -5
  124. package/dist/tests/cli-config-loader.test.cjs +88 -0
  125. package/dist/tests/cli-config-loader.test.js +88 -0
  126. package/dist/tests/cli-init.test.cjs +27 -3
  127. package/dist/tests/cli-init.test.js +27 -3
  128. package/dist/tests/codex-credentials-precedence.test.cjs +94 -0
  129. package/dist/tests/codex-credentials-precedence.test.d.ts +1 -0
  130. package/dist/tests/codex-credentials-precedence.test.js +88 -0
  131. package/dist/tests/codex-provider.test.cjs +210 -0
  132. package/dist/tests/codex-provider.test.d.ts +1 -0
  133. package/dist/tests/codex-provider.test.js +204 -0
  134. package/dist/tests/gateway.test.cjs +115 -8
  135. package/dist/tests/gateway.test.js +115 -8
  136. package/dist/tests/provider-command-codex.test.cjs +57 -0
  137. package/dist/tests/provider-command-codex.test.d.ts +1 -0
  138. package/dist/tests/provider-command-codex.test.js +51 -0
  139. package/dist/tests/sessionStateMessages.test.cjs +38 -0
  140. package/dist/tests/sessionStateMessages.test.js +38 -0
  141. package/dist/tests/toolDisplayHelpers.test.cjs +3 -0
  142. package/dist/tests/toolDisplayHelpers.test.js +3 -0
  143. package/dist/tools/mcp-finance.cjs +48 -48
  144. package/dist/tools/mcp-finance.js +48 -48
  145. package/dist/types/mcp.cjs +15 -15
  146. package/dist/types/mcp.d.ts +1 -1
  147. package/dist/types/mcp.js +16 -16
  148. package/dist/types/voice.cjs +21 -21
  149. package/dist/types/voice.d.ts +1 -1
  150. package/dist/types/voice.js +22 -22
  151. package/dist/webui/assets/index-DVWQluit.css +11 -0
  152. package/dist/webui/assets/index-Dlyzwalc.js +270 -0
  153. package/dist/webui/favicon-32x32.png +0 -0
  154. package/dist/webui/favicon-64x64.png +0 -0
  155. package/dist/webui/favicon.webp +0 -0
  156. package/dist/webui/index.html +4 -2
  157. package/package.json +13 -12
  158. package/.wingman/agents/coding/implementor.md +0 -79
  159. package/dist/webui/assets/index-CPhfGPHc.js +0 -182
  160. package/dist/webui/assets/index-DDsMIOTX.css +0 -11
@@ -25,67 +25,110 @@ var __webpack_exports__ = {};
25
25
  __webpack_require__.r(__webpack_exports__);
26
26
  __webpack_require__.d(__webpack_exports__, {
27
27
  SearchConfigSchema: ()=>SearchConfigSchema,
28
- SkillsConfigSchema: ()=>SkillsConfigSchema,
28
+ HumanInTheLoopConfigSchema: ()=>HumanInTheLoopConfigSchema,
29
29
  AgentsConfigSchema: ()=>AgentsConfigSchema,
30
+ GatewayConfigSchema: ()=>GatewayConfigSchema,
31
+ SkillsConfigSchema: ()=>SkillsConfigSchema,
32
+ SummarizationConfigSchema: ()=>SummarizationConfigSchema,
33
+ ModelRetryConfigSchema: ()=>ModelRetryConfigSchema,
30
34
  WingmanConfigSchema: ()=>WingmanConfigSchema,
31
35
  validateConfig: ()=>validateConfig,
32
- GatewayConfigSchema: ()=>GatewayConfigSchema
36
+ ToolRetryConfigSchema: ()=>ToolRetryConfigSchema
33
37
  });
34
38
  const external_zod_namespaceObject = require("zod");
35
39
  const types_cjs_namespaceObject = require("../../agent/middleware/hooks/types.cjs");
36
40
  const external_gateway_hooks_types_cjs_namespaceObject = require("../../gateway/hooks/types.cjs");
37
41
  const mcp_cjs_namespaceObject = require("../../types/mcp.cjs");
38
42
  const voice_cjs_namespaceObject = require("../../types/voice.cjs");
39
- const SearchConfigSchema = external_zod_namespaceObject.z.object({
40
- provider: external_zod_namespaceObject.z["enum"]([
43
+ const SearchConfigSchema = external_zod_namespaceObject.object({
44
+ provider: external_zod_namespaceObject["enum"]([
41
45
  "duckduckgo",
42
46
  "perplexity"
43
47
  ]).default("duckduckgo").describe("Search provider to use"),
44
- maxResults: external_zod_namespaceObject.z.number().min(1).max(20).optional().default(5).describe("Maximum number of search results to return")
48
+ maxResults: external_zod_namespaceObject.number().min(1).max(20).optional().default(5).describe("Maximum number of search results to return")
49
+ });
50
+ const SkillsConfigSchema = external_zod_namespaceObject.object({
51
+ repositoryOwner: external_zod_namespaceObject.string().default("anthropics").describe("GitHub repository owner for skills"),
52
+ repositoryName: external_zod_namespaceObject.string().default("skills").describe("GitHub repository name for skills"),
53
+ githubToken: external_zod_namespaceObject.string().optional().describe("GitHub personal access token for higher API rate limits"),
54
+ skillsDirectory: external_zod_namespaceObject.string().default("skills").describe("Directory to install skills in")
55
+ });
56
+ const SummarizationConfigSchema = external_zod_namespaceObject.object({
57
+ enabled: external_zod_namespaceObject.boolean().optional().default(true).describe("Enable conversation history summarization"),
58
+ maxTokensBeforeSummary: external_zod_namespaceObject.number().min(1000).max(1000000).optional().default(12000).describe("Token threshold before summarizing conversation history"),
59
+ messagesToKeep: external_zod_namespaceObject.number().min(2).max(100).optional().default(8).describe("How many most recent messages to keep after summarization")
60
+ });
61
+ const RetryOnFailureSchema = external_zod_namespaceObject["enum"]([
62
+ "continue",
63
+ "error"
64
+ ]);
65
+ const BaseRetryConfigSchema = external_zod_namespaceObject.object({
66
+ enabled: external_zod_namespaceObject.boolean().optional().default(false).describe("Enable retry middleware"),
67
+ maxRetries: external_zod_namespaceObject.number().min(0).max(20).optional().default(2).describe("Maximum number of retry attempts"),
68
+ backoffFactor: external_zod_namespaceObject.number().min(0).max(10).optional().default(2).describe("Exponential backoff multiplier"),
69
+ initialDelayMs: external_zod_namespaceObject.number().min(0).max(120000).optional().default(1000).describe("Initial delay before first retry in milliseconds"),
70
+ maxDelayMs: external_zod_namespaceObject.number().min(0).max(300000).optional().default(60000).describe("Maximum backoff delay in milliseconds"),
71
+ jitter: external_zod_namespaceObject.boolean().optional().default(true).describe("Add randomized jitter to retry delays"),
72
+ onFailure: RetryOnFailureSchema.optional().default("continue").describe("Behavior when retries are exhausted")
73
+ });
74
+ const ModelRetryConfigSchema = BaseRetryConfigSchema;
75
+ const ToolRetryConfigSchema = BaseRetryConfigSchema.extend({
76
+ tools: external_zod_namespaceObject.array(external_zod_namespaceObject.string().min(1)).optional().describe("Optional list of tool names to apply retry logic to")
45
77
  });
46
- const SkillsConfigSchema = external_zod_namespaceObject.z.object({
47
- repositoryOwner: external_zod_namespaceObject.z.string().default("anthropics").describe("GitHub repository owner for skills"),
48
- repositoryName: external_zod_namespaceObject.z.string().default("skills").describe("GitHub repository name for skills"),
49
- githubToken: external_zod_namespaceObject.z.string().optional().describe("GitHub personal access token for higher API rate limits"),
50
- skillsDirectory: external_zod_namespaceObject.z.string().default("skills").describe("Directory to install skills in")
78
+ const AllowedDecisionSchema = external_zod_namespaceObject["enum"]([
79
+ "approve",
80
+ "edit",
81
+ "reject"
82
+ ]);
83
+ const InterruptOnToolConfigSchema = external_zod_namespaceObject.union([
84
+ external_zod_namespaceObject.boolean(),
85
+ external_zod_namespaceObject.object({
86
+ allowedDecisions: external_zod_namespaceObject.array(AllowedDecisionSchema).min(1).describe("Allowed decisions for this tool"),
87
+ description: external_zod_namespaceObject.string().optional().describe("Optional custom review prompt for this tool"),
88
+ argsSchema: external_zod_namespaceObject.record(external_zod_namespaceObject.string(), external_zod_namespaceObject.any()).optional().describe("Optional argument schema for edit decisions")
89
+ })
90
+ ]);
91
+ const HumanInTheLoopConfigSchema = external_zod_namespaceObject.object({
92
+ enabled: external_zod_namespaceObject.boolean().optional().default(false).describe("Enable human-in-the-loop tool approval"),
93
+ interruptOn: external_zod_namespaceObject.record(external_zod_namespaceObject.string(), InterruptOnToolConfigSchema).optional().default({}).describe("Per-tool approval policy mapping")
51
94
  });
52
- const GatewayAuthSchema = external_zod_namespaceObject.z.object({
53
- mode: external_zod_namespaceObject.z["enum"]([
95
+ const GatewayAuthSchema = external_zod_namespaceObject.object({
96
+ mode: external_zod_namespaceObject["enum"]([
54
97
  "token",
55
98
  "password",
56
99
  "none"
57
100
  ]).default("none"),
58
- token: external_zod_namespaceObject.z.string().optional(),
59
- password: external_zod_namespaceObject.z.string().optional(),
60
- allowTailscale: external_zod_namespaceObject.z.boolean().optional().default(false)
101
+ token: external_zod_namespaceObject.string().optional(),
102
+ password: external_zod_namespaceObject.string().optional(),
103
+ allowTailscale: external_zod_namespaceObject.boolean().optional().default(false)
61
104
  }).default({
62
105
  mode: "none",
63
106
  allowTailscale: false
64
107
  });
65
- const GatewayControlUiSchema = external_zod_namespaceObject.z.object({
66
- enabled: external_zod_namespaceObject.z.boolean().default(true),
67
- port: external_zod_namespaceObject.z.number().min(1).max(65535).default(18790),
68
- pairingRequired: external_zod_namespaceObject.z.boolean().default(true),
69
- allowInsecureAuth: external_zod_namespaceObject.z.boolean().default(false)
108
+ const GatewayControlUiSchema = external_zod_namespaceObject.object({
109
+ enabled: external_zod_namespaceObject.boolean().default(true),
110
+ port: external_zod_namespaceObject.number().min(1).max(65535).default(18790),
111
+ pairingRequired: external_zod_namespaceObject.boolean().default(true),
112
+ allowInsecureAuth: external_zod_namespaceObject.boolean().default(false)
70
113
  }).default({
71
114
  enabled: true,
72
115
  port: 18790,
73
116
  pairingRequired: true,
74
117
  allowInsecureAuth: false
75
118
  });
76
- const DiscordAdapterSchema = external_zod_namespaceObject.z.object({
77
- enabled: external_zod_namespaceObject.z.boolean().default(false),
78
- token: external_zod_namespaceObject.z.string().optional(),
79
- mentionOnly: external_zod_namespaceObject.z.boolean().default(true),
80
- allowBots: external_zod_namespaceObject.z.boolean().default(false),
81
- allowedGuilds: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).default([]),
82
- allowedChannels: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).default([]),
83
- channelSessions: external_zod_namespaceObject.z.record(external_zod_namespaceObject.z.string(), external_zod_namespaceObject.z.string()).default({}),
84
- sessionCommand: external_zod_namespaceObject.z.string().default("!session"),
85
- gatewayUrl: external_zod_namespaceObject.z.string().optional(),
86
- gatewayToken: external_zod_namespaceObject.z.string().optional(),
87
- gatewayPassword: external_zod_namespaceObject.z.string().optional(),
88
- responseChunkSize: external_zod_namespaceObject.z.number().min(500).max(2000).default(1900)
119
+ const DiscordAdapterSchema = external_zod_namespaceObject.object({
120
+ enabled: external_zod_namespaceObject.boolean().default(false),
121
+ token: external_zod_namespaceObject.string().optional(),
122
+ mentionOnly: external_zod_namespaceObject.boolean().default(true),
123
+ allowBots: external_zod_namespaceObject.boolean().default(false),
124
+ allowedGuilds: external_zod_namespaceObject.array(external_zod_namespaceObject.string()).default([]),
125
+ allowedChannels: external_zod_namespaceObject.array(external_zod_namespaceObject.string()).default([]),
126
+ channelSessions: external_zod_namespaceObject.record(external_zod_namespaceObject.string(), external_zod_namespaceObject.string()).default({}),
127
+ sessionCommand: external_zod_namespaceObject.string().default("!session"),
128
+ gatewayUrl: external_zod_namespaceObject.string().optional(),
129
+ gatewayToken: external_zod_namespaceObject.string().optional(),
130
+ gatewayPassword: external_zod_namespaceObject.string().optional(),
131
+ responseChunkSize: external_zod_namespaceObject.number().min(500).max(2000).default(1900)
89
132
  }).default({
90
133
  enabled: false,
91
134
  mentionOnly: true,
@@ -96,14 +139,14 @@ const DiscordAdapterSchema = external_zod_namespaceObject.z.object({
96
139
  sessionCommand: "!session",
97
140
  responseChunkSize: 1900
98
141
  });
99
- const GatewayAdaptersSchema = external_zod_namespaceObject.z.object({
142
+ const GatewayAdaptersSchema = external_zod_namespaceObject.object({
100
143
  discord: DiscordAdapterSchema.optional()
101
144
  }).default({});
102
- const GatewayConfigSchema = external_zod_namespaceObject.z.object({
103
- host: external_zod_namespaceObject.z.string().default("127.0.0.1"),
104
- port: external_zod_namespaceObject.z.number().min(1).max(65535).default(18789),
105
- stateDir: external_zod_namespaceObject.z.string().optional(),
106
- fsRoots: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).optional().default([]),
145
+ const GatewayConfigSchema = external_zod_namespaceObject.object({
146
+ host: external_zod_namespaceObject.string().default("127.0.0.1"),
147
+ port: external_zod_namespaceObject.number().min(1).max(65535).default(18789),
148
+ stateDir: external_zod_namespaceObject.string().optional(),
149
+ fsRoots: external_zod_namespaceObject.array(external_zod_namespaceObject.string()).optional().default([]),
107
150
  auth: GatewayAuthSchema.optional().default({
108
151
  mode: "none",
109
152
  allowTailscale: false
@@ -114,7 +157,7 @@ const GatewayConfigSchema = external_zod_namespaceObject.z.object({
114
157
  pairingRequired: true,
115
158
  allowInsecureAuth: false
116
159
  }),
117
- dynamicUiEnabled: external_zod_namespaceObject.z.boolean().optional().default(true),
160
+ dynamicUiEnabled: external_zod_namespaceObject.boolean().optional().default(true),
118
161
  adapters: GatewayAdaptersSchema.optional().default({})
119
162
  }).default({
120
163
  host: "127.0.0.1",
@@ -133,50 +176,77 @@ const GatewayConfigSchema = external_zod_namespaceObject.z.object({
133
176
  dynamicUiEnabled: true,
134
177
  adapters: {}
135
178
  });
136
- const AgentListItemSchema = external_zod_namespaceObject.z.object({
137
- id: external_zod_namespaceObject.z.string().min(1),
138
- name: external_zod_namespaceObject.z.string().optional(),
139
- default: external_zod_namespaceObject.z.boolean().optional(),
140
- workspace: external_zod_namespaceObject.z.string().optional(),
141
- agentDir: external_zod_namespaceObject.z.string().optional(),
142
- model: external_zod_namespaceObject.z.string().optional()
179
+ const AgentListItemSchema = external_zod_namespaceObject.object({
180
+ id: external_zod_namespaceObject.string().min(1),
181
+ name: external_zod_namespaceObject.string().optional(),
182
+ default: external_zod_namespaceObject.boolean().optional(),
183
+ workspace: external_zod_namespaceObject.string().optional(),
184
+ agentDir: external_zod_namespaceObject.string().optional(),
185
+ model: external_zod_namespaceObject.string().optional()
143
186
  });
144
- const BindingPeerSchema = external_zod_namespaceObject.z.object({
145
- kind: external_zod_namespaceObject.z["enum"]([
187
+ const BindingPeerSchema = external_zod_namespaceObject.object({
188
+ kind: external_zod_namespaceObject["enum"]([
146
189
  "dm",
147
190
  "group",
148
191
  "channel"
149
192
  ]),
150
- id: external_zod_namespaceObject.z.string().min(1)
193
+ id: external_zod_namespaceObject.string().min(1)
151
194
  });
152
- const BindingMatchSchema = external_zod_namespaceObject.z.object({
153
- channel: external_zod_namespaceObject.z.string().min(1),
154
- accountId: external_zod_namespaceObject.z.string().optional(),
155
- guildId: external_zod_namespaceObject.z.string().optional(),
156
- teamId: external_zod_namespaceObject.z.string().optional(),
195
+ const BindingMatchSchema = external_zod_namespaceObject.object({
196
+ channel: external_zod_namespaceObject.string().min(1),
197
+ accountId: external_zod_namespaceObject.string().optional(),
198
+ guildId: external_zod_namespaceObject.string().optional(),
199
+ teamId: external_zod_namespaceObject.string().optional(),
157
200
  peer: BindingPeerSchema.optional()
158
201
  });
159
- const BindingSchema = external_zod_namespaceObject.z.object({
160
- agentId: external_zod_namespaceObject.z.string().min(1),
202
+ const BindingSchema = external_zod_namespaceObject.object({
203
+ agentId: external_zod_namespaceObject.string().min(1),
161
204
  match: BindingMatchSchema
162
205
  });
163
- const AgentsConfigSchema = external_zod_namespaceObject.z.object({
164
- list: external_zod_namespaceObject.z.array(AgentListItemSchema).default([]),
165
- bindings: external_zod_namespaceObject.z.array(BindingSchema).default([])
206
+ const AgentsConfigSchema = external_zod_namespaceObject.object({
207
+ list: external_zod_namespaceObject.array(AgentListItemSchema).default([]),
208
+ bindings: external_zod_namespaceObject.array(BindingSchema).default([])
166
209
  }).default({
167
210
  list: [],
168
211
  bindings: []
169
212
  });
170
- const WingmanConfigSchema = external_zod_namespaceObject.z.object({
171
- logLevel: external_zod_namespaceObject.z["enum"]([
213
+ const WingmanConfigSchema = external_zod_namespaceObject.object({
214
+ logLevel: external_zod_namespaceObject["enum"]([
172
215
  "debug",
173
216
  "info",
174
217
  "warn",
175
218
  "error",
176
219
  "silent"
177
220
  ]).optional().default("info"),
178
- defaultAgent: external_zod_namespaceObject.z.string().optional(),
179
- recursionLimit: external_zod_namespaceObject.z.number().min(1).max(1000000).optional().default(5000),
221
+ defaultAgent: external_zod_namespaceObject.string().optional(),
222
+ recursionLimit: external_zod_namespaceObject.number().min(1).max(1000000).optional().default(5000),
223
+ summarization: SummarizationConfigSchema.optional().default({
224
+ enabled: true,
225
+ maxTokensBeforeSummary: 12000,
226
+ messagesToKeep: 8
227
+ }),
228
+ modelRetry: ModelRetryConfigSchema.optional().default({
229
+ enabled: true,
230
+ maxRetries: 2,
231
+ backoffFactor: 2,
232
+ initialDelayMs: 1000,
233
+ maxDelayMs: 60000,
234
+ jitter: true,
235
+ onFailure: "continue"
236
+ }),
237
+ toolRetry: ToolRetryConfigSchema.optional().default({
238
+ enabled: false,
239
+ maxRetries: 2,
240
+ backoffFactor: 2,
241
+ initialDelayMs: 1000,
242
+ maxDelayMs: 60000,
243
+ jitter: true,
244
+ onFailure: "continue"
245
+ }),
246
+ humanInTheLoop: HumanInTheLoopConfigSchema.optional().default({
247
+ enabled: false,
248
+ interruptOn: {}
249
+ }),
180
250
  toolHooks: types_cjs_namespaceObject.HooksConfigSchema.optional().describe("Global tool hooks configuration"),
181
251
  hooks: external_gateway_hooks_types_cjs_namespaceObject.InternalHooksConfigSchema.optional().describe("Internal hook configuration"),
182
252
  search: SearchConfigSchema.optional().default({
@@ -189,9 +259,9 @@ const WingmanConfigSchema = external_zod_namespaceObject.z.object({
189
259
  webSpeech: {},
190
260
  elevenlabs: {}
191
261
  }),
192
- cli: external_zod_namespaceObject.z.object({
193
- theme: external_zod_namespaceObject.z.string().default("default"),
194
- outputMode: external_zod_namespaceObject.z["enum"]([
262
+ cli: external_zod_namespaceObject.object({
263
+ theme: external_zod_namespaceObject.string().default("default"),
264
+ outputMode: external_zod_namespaceObject["enum"]([
195
265
  "auto",
196
266
  "interactive",
197
267
  "json"
@@ -236,7 +306,7 @@ function validateConfig(data) {
236
306
  data: validated
237
307
  };
238
308
  } catch (error) {
239
- if (error instanceof external_zod_namespaceObject.z.ZodError) return {
309
+ if (error instanceof external_zod_namespaceObject.ZodError) return {
240
310
  success: false,
241
311
  error: error.issues.map((e)=>`${e.path.join(".")}: ${e.message}`).join(", ")
242
312
  };
@@ -248,15 +318,23 @@ function validateConfig(data) {
248
318
  }
249
319
  exports.AgentsConfigSchema = __webpack_exports__.AgentsConfigSchema;
250
320
  exports.GatewayConfigSchema = __webpack_exports__.GatewayConfigSchema;
321
+ exports.HumanInTheLoopConfigSchema = __webpack_exports__.HumanInTheLoopConfigSchema;
322
+ exports.ModelRetryConfigSchema = __webpack_exports__.ModelRetryConfigSchema;
251
323
  exports.SearchConfigSchema = __webpack_exports__.SearchConfigSchema;
252
324
  exports.SkillsConfigSchema = __webpack_exports__.SkillsConfigSchema;
325
+ exports.SummarizationConfigSchema = __webpack_exports__.SummarizationConfigSchema;
326
+ exports.ToolRetryConfigSchema = __webpack_exports__.ToolRetryConfigSchema;
253
327
  exports.WingmanConfigSchema = __webpack_exports__.WingmanConfigSchema;
254
328
  exports.validateConfig = __webpack_exports__.validateConfig;
255
329
  for(var __rspack_i in __webpack_exports__)if (-1 === [
256
330
  "AgentsConfigSchema",
257
331
  "GatewayConfigSchema",
332
+ "HumanInTheLoopConfigSchema",
333
+ "ModelRetryConfigSchema",
258
334
  "SearchConfigSchema",
259
335
  "SkillsConfigSchema",
336
+ "SummarizationConfigSchema",
337
+ "ToolRetryConfigSchema",
260
338
  "WingmanConfigSchema",
261
339
  "validateConfig"
262
340
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
  export declare const SearchConfigSchema: z.ZodObject<{
3
3
  provider: z.ZodDefault<z.ZodEnum<{
4
4
  duckduckgo: "duckduckgo";
@@ -14,6 +14,52 @@ export declare const SkillsConfigSchema: z.ZodObject<{
14
14
  skillsDirectory: z.ZodDefault<z.ZodString>;
15
15
  }, z.core.$strip>;
16
16
  export type SkillsConfig = z.infer<typeof SkillsConfigSchema>;
17
+ export declare const SummarizationConfigSchema: z.ZodObject<{
18
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
19
+ maxTokensBeforeSummary: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
20
+ messagesToKeep: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
21
+ }, z.core.$strip>;
22
+ export type SummarizationConfig = z.infer<typeof SummarizationConfigSchema>;
23
+ export declare const ModelRetryConfigSchema: z.ZodObject<{
24
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
25
+ maxRetries: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
26
+ backoffFactor: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
27
+ initialDelayMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
28
+ maxDelayMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
29
+ jitter: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
30
+ onFailure: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
31
+ error: "error";
32
+ continue: "continue";
33
+ }>>>;
34
+ }, z.core.$strip>;
35
+ export type ModelRetryConfig = z.infer<typeof ModelRetryConfigSchema>;
36
+ export declare const ToolRetryConfigSchema: z.ZodObject<{
37
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
38
+ maxRetries: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
39
+ backoffFactor: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
40
+ initialDelayMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
41
+ maxDelayMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
42
+ jitter: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
43
+ onFailure: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
44
+ error: "error";
45
+ continue: "continue";
46
+ }>>>;
47
+ tools: z.ZodOptional<z.ZodArray<z.ZodString>>;
48
+ }, z.core.$strip>;
49
+ export type ToolRetryConfig = z.infer<typeof ToolRetryConfigSchema>;
50
+ export declare const HumanInTheLoopConfigSchema: z.ZodObject<{
51
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
52
+ interruptOn: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
53
+ allowedDecisions: z.ZodArray<z.ZodEnum<{
54
+ approve: "approve";
55
+ edit: "edit";
56
+ reject: "reject";
57
+ }>>;
58
+ description: z.ZodOptional<z.ZodString>;
59
+ argsSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
60
+ }, z.core.$strip>]>>>>;
61
+ }, z.core.$strip>;
62
+ export type HumanInTheLoopConfig = z.infer<typeof HumanInTheLoopConfigSchema>;
17
63
  export declare const GatewayConfigSchema: z.ZodDefault<z.ZodObject<{
18
64
  host: z.ZodDefault<z.ZodString>;
19
65
  port: z.ZodDefault<z.ZodNumber>;
@@ -92,6 +138,48 @@ export declare const WingmanConfigSchema: z.ZodObject<{
92
138
  }>>>;
93
139
  defaultAgent: z.ZodOptional<z.ZodString>;
94
140
  recursionLimit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
141
+ summarization: z.ZodDefault<z.ZodOptional<z.ZodObject<{
142
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
143
+ maxTokensBeforeSummary: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
144
+ messagesToKeep: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
145
+ }, z.core.$strip>>>;
146
+ modelRetry: z.ZodDefault<z.ZodOptional<z.ZodObject<{
147
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
148
+ maxRetries: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
149
+ backoffFactor: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
150
+ initialDelayMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
151
+ maxDelayMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
152
+ jitter: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
153
+ onFailure: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
154
+ error: "error";
155
+ continue: "continue";
156
+ }>>>;
157
+ }, z.core.$strip>>>;
158
+ toolRetry: z.ZodDefault<z.ZodOptional<z.ZodObject<{
159
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
160
+ maxRetries: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
161
+ backoffFactor: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
162
+ initialDelayMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
163
+ maxDelayMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
164
+ jitter: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
165
+ onFailure: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
166
+ error: "error";
167
+ continue: "continue";
168
+ }>>>;
169
+ tools: z.ZodOptional<z.ZodArray<z.ZodString>>;
170
+ }, z.core.$strip>>>;
171
+ humanInTheLoop: z.ZodDefault<z.ZodOptional<z.ZodObject<{
172
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
173
+ interruptOn: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
174
+ allowedDecisions: z.ZodArray<z.ZodEnum<{
175
+ approve: "approve";
176
+ edit: "edit";
177
+ reject: "reject";
178
+ }>>;
179
+ description: z.ZodOptional<z.ZodString>;
180
+ argsSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
181
+ }, z.core.$strip>]>>>>;
182
+ }, z.core.$strip>>>;
95
183
  toolHooks: z.ZodOptional<z.ZodObject<{
96
184
  PreToolUse: z.ZodOptional<z.ZodArray<z.ZodObject<{
97
185
  matcher: z.ZodOptional<z.ZodString>;