@yeshwanthyk/coding-agent 0.3.35 → 0.3.36

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.
@@ -1 +1 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../../src/domain/commands/builtin/login.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAWpD,eAAO,MAAM,YAAY,EAAE,iBAoG1B,CAAA"}
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../../src/domain/commands/builtin/login.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AA0LpD,eAAO,MAAM,YAAY,EAAE,iBAqE1B,CAAA"}
@@ -1,93 +1,205 @@
1
1
  import { exec } from "node:child_process";
2
- import { saveAnthropicTokens, loadAnthropicTokens, clearAnthropicTokens, getAnthropicTokensPath, } from "@yeshwanthyk/agent-core";
3
- import { loginAnthropic } from "@yeshwanthyk/ai";
2
+ import { saveAnthropicTokens, loadAnthropicTokens, clearAnthropicTokens, getAnthropicTokensPath,
3
+ // Codex auth
4
+ loadTokens as loadCodexTokens, saveTokens as saveCodexTokens, clearTokens as clearCodexTokens, createAuthorizationFlow, exchangeAuthorizationCode, startLocalOAuthServer, } from "@yeshwanthyk/agent-core";
5
+ import { startAnthropicOAuth, completeAnthropicOAuth } from "@yeshwanthyk/ai";
4
6
  import { addSystemMessage } from "../helpers.js";
7
+ // Store pending OAuth state (verifier must persist between /login and /login code#state)
5
8
  let pendingAuthUrl = null;
9
+ let pendingVerifier = null;
6
10
  function openBrowser(url) {
7
11
  const cmd = process.platform === "darwin" ? "open" : process.platform === "win32" ? "start" : "xdg-open";
8
12
  exec(`${cmd} "${url}"`);
9
13
  }
10
- export const loginCommand = {
11
- name: "login",
12
- description: "Login with Anthropic OAuth (Claude Pro/Max)",
13
- execute: async (args, ctx) => {
14
- const configDir = ctx.configDir;
15
- // /login status - show current login status
16
- if (args === "status") {
17
- const tokens = loadAnthropicTokens({ configDir });
18
- if (tokens) {
19
- const expiresAt = new Date(tokens.expires).toLocaleString();
20
- const isExpired = tokens.expires <= Date.now();
21
- addSystemMessage(ctx, isExpired
22
- ? `Anthropic OAuth: Token expired at ${expiresAt}. Run /login to re-authenticate.`
23
- : `Anthropic OAuth: Logged in, token expires ${expiresAt}`);
24
- }
25
- else {
26
- addSystemMessage(ctx, "Anthropic OAuth: Not logged in. Run /login to authenticate.");
27
- }
14
+ // ============ Codex Login ============
15
+ async function handleCodexLogin(args, configDir, ctx) {
16
+ const subcommand = args?.replace(/^codex\s*/, "").trim();
17
+ // /login codex status
18
+ if (subcommand === "status") {
19
+ const tokens = loadCodexTokens({ configDir });
20
+ if (tokens) {
21
+ const expiresAt = new Date(tokens.expires).toLocaleString();
22
+ const isExpired = tokens.expires <= Date.now();
23
+ addSystemMessage(ctx, isExpired
24
+ ? `Codex OAuth: Token expired at ${expiresAt}. Run /login codex to re-authenticate.`
25
+ : `Codex OAuth: Logged in, token expires ${expiresAt}`);
26
+ }
27
+ else {
28
+ addSystemMessage(ctx, "Codex OAuth: Not logged in. Run /login codex to authenticate.");
29
+ }
30
+ return true;
31
+ }
32
+ // /login codex clear
33
+ if (subcommand === "clear" || subcommand === "logout") {
34
+ clearCodexTokens({ configDir });
35
+ addSystemMessage(ctx, "Codex OAuth tokens cleared.");
36
+ return true;
37
+ }
38
+ // /login codex - start OAuth flow with local server
39
+ addSystemMessage(ctx, "Starting Codex OAuth flow...");
40
+ try {
41
+ const flow = await createAuthorizationFlow();
42
+ const server = await startLocalOAuthServer(flow.state);
43
+ openBrowser(flow.url);
44
+ addSystemMessage(ctx, [
45
+ "Browser opened for ChatGPT login.",
46
+ "",
47
+ "Waiting for authorization callback on localhost:1455...",
48
+ "",
49
+ `If browser didn't open, visit: ${flow.url}`,
50
+ ].join("\n"));
51
+ // Wait for callback (up to 60s)
52
+ const result = await server.waitForCode(flow.state);
53
+ server.close();
54
+ if (!result) {
55
+ addSystemMessage(ctx, "Codex login timed out. Please try again.");
28
56
  return true;
29
57
  }
30
- // /login clear - clear stored tokens
31
- if (args === "clear" || args === "logout") {
32
- clearAnthropicTokens({ configDir });
33
- addSystemMessage(ctx, "Anthropic OAuth tokens cleared.");
58
+ // Exchange code for tokens
59
+ const tokens = await exchangeAuthorizationCode(result.code, flow.pkce.verifier);
60
+ if (tokens.type === "failed") {
61
+ addSystemMessage(ctx, "Codex token exchange failed. Please try again.");
34
62
  return true;
35
63
  }
36
- // /login <code#state> - complete the OAuth flow
37
- if (args && args.includes("#")) {
38
- if (!pendingAuthUrl) {
39
- addSystemMessage(ctx, "No pending login. Run /login first to start the OAuth flow.");
40
- return true;
41
- }
42
- try {
43
- const credentials = await loginAnthropic(() => { }, // URL already shown
44
- async () => args);
45
- saveAnthropicTokens(credentials, { configDir });
46
- pendingAuthUrl = null;
47
- ctx.clearEditor?.();
48
- addSystemMessage(ctx, `Logged in successfully! Token saved to ${getAnthropicTokensPath({ configDir })}`);
49
- }
50
- catch (err) {
51
- pendingAuthUrl = null;
52
- addSystemMessage(ctx, `Login failed: ${err instanceof Error ? err.message : String(err)}`);
53
- }
64
+ saveCodexTokens({ access: tokens.access, refresh: tokens.refresh, expires: tokens.expires }, { configDir });
65
+ ctx.clearEditor?.();
66
+ addSystemMessage(ctx, `Codex login successful! Token expires ${new Date(tokens.expires).toLocaleString()}`);
67
+ }
68
+ catch (err) {
69
+ addSystemMessage(ctx, `Codex login failed: ${err instanceof Error ? err.message : String(err)}`);
70
+ }
71
+ return true;
72
+ }
73
+ // ============ Anthropic Login ============
74
+ async function handleAnthropicLogin(args, configDir, ctx) {
75
+ // Strip "anthropic" prefix if present
76
+ const subcommand = args?.replace(/^anthropic\s*/, "").trim();
77
+ // /login anthropic status - show current login status
78
+ if (subcommand === "status") {
79
+ const tokens = loadAnthropicTokens({ configDir });
80
+ if (tokens) {
81
+ const expiresAt = new Date(tokens.expires).toLocaleString();
82
+ const isExpired = tokens.expires <= Date.now();
83
+ addSystemMessage(ctx, isExpired
84
+ ? `Anthropic OAuth: Token expired at ${expiresAt}. Run /login anthropic to re-authenticate.`
85
+ : `Anthropic OAuth: Logged in, token expires ${expiresAt}`);
86
+ }
87
+ else {
88
+ addSystemMessage(ctx, "Anthropic OAuth: Not logged in. Run /login anthropic to authenticate.");
89
+ }
90
+ return true;
91
+ }
92
+ // /login anthropic clear - clear stored tokens
93
+ if (subcommand === "clear" || subcommand === "logout") {
94
+ clearAnthropicTokens({ configDir });
95
+ addSystemMessage(ctx, "Anthropic OAuth tokens cleared.");
96
+ return true;
97
+ }
98
+ // /login anthropic <code#state> - complete the OAuth flow
99
+ if (subcommand && subcommand.includes("#")) {
100
+ if (!pendingAuthUrl || !pendingVerifier) {
101
+ addSystemMessage(ctx, "No pending login. Run /login anthropic first to start the OAuth flow.");
54
102
  return true;
55
103
  }
56
- // /login - start the OAuth flow
57
- addSystemMessage(ctx, "Starting Anthropic OAuth flow...");
58
104
  try {
59
- // We need to capture the URL without completing the flow
60
- const credentials = await loginAnthropic((url) => {
61
- pendingAuthUrl = url;
62
- openBrowser(url);
63
- }, async () => {
64
- // Show instructions and return empty to abort this attempt
65
- // User will call /login <code> to complete
66
- throw new Error("PENDING");
67
- });
68
- // If we get here, somehow completed without user input (shouldn't happen)
105
+ const credentials = await completeAnthropicOAuth(subcommand, pendingVerifier);
69
106
  saveAnthropicTokens(credentials, { configDir });
70
- addSystemMessage(ctx, "Logged in successfully!");
107
+ pendingAuthUrl = null;
108
+ pendingVerifier = null;
109
+ ctx.clearEditor?.();
110
+ addSystemMessage(ctx, `Logged in successfully! Token saved to ${getAnthropicTokensPath({ configDir })}`);
71
111
  }
72
112
  catch (err) {
73
- if (err instanceof Error && err.message === "PENDING") {
74
- // Expected - show instructions
75
- ctx.clearEditor?.();
76
- addSystemMessage(ctx, [
77
- "Browser opened for Anthropic login.",
78
- "",
79
- "After authorizing, you'll see a code like: abc123#xyz789",
80
- "",
81
- "Run: /login <code#state>",
82
- "",
83
- `Or visit: ${pendingAuthUrl}`,
84
- ].join("\n"));
113
+ pendingAuthUrl = null;
114
+ pendingVerifier = null;
115
+ addSystemMessage(ctx, `Login failed: ${err instanceof Error ? err.message : String(err)}`);
116
+ }
117
+ return true;
118
+ }
119
+ // /login - start the OAuth flow
120
+ addSystemMessage(ctx, "Starting Anthropic OAuth flow...");
121
+ try {
122
+ const { authUrl, verifier } = await startAnthropicOAuth();
123
+ pendingAuthUrl = authUrl;
124
+ pendingVerifier = verifier;
125
+ openBrowser(authUrl);
126
+ ctx.clearEditor?.();
127
+ addSystemMessage(ctx, [
128
+ "Browser opened for Anthropic login.",
129
+ "",
130
+ "After authorizing, you'll see a code like: abc123#xyz789",
131
+ "",
132
+ "Run: /login anthropic <code#state>",
133
+ "",
134
+ `Or visit: ${pendingAuthUrl}`,
135
+ ].join("\n"));
136
+ }
137
+ catch (err) {
138
+ pendingAuthUrl = null;
139
+ pendingVerifier = null;
140
+ addSystemMessage(ctx, `Login failed: ${err instanceof Error ? err.message : String(err)}`);
141
+ }
142
+ return true;
143
+ }
144
+ // ============ Main Login Command ============
145
+ export const loginCommand = {
146
+ name: "login",
147
+ description: "Login with OAuth (anthropic or codex)",
148
+ execute: async (args, ctx) => {
149
+ const configDir = ctx.configDir;
150
+ // /login codex ... - Codex/ChatGPT login
151
+ if (args?.startsWith("codex")) {
152
+ return handleCodexLogin(args, configDir, ctx);
153
+ }
154
+ // /login anthropic ... - Anthropic/Claude login
155
+ if (args?.startsWith("anthropic")) {
156
+ return handleAnthropicLogin(args, configDir, ctx);
157
+ }
158
+ // /login status - show all login statuses
159
+ if (args === "status") {
160
+ const anthropicTokens = loadAnthropicTokens({ configDir });
161
+ const codexTokens = loadCodexTokens({ configDir });
162
+ const lines = [];
163
+ if (anthropicTokens) {
164
+ const expiresAt = new Date(anthropicTokens.expires).toLocaleString();
165
+ const isExpired = anthropicTokens.expires <= Date.now();
166
+ lines.push(isExpired
167
+ ? `Anthropic: Expired at ${expiresAt}`
168
+ : `Anthropic: Logged in, expires ${expiresAt}`);
85
169
  }
86
170
  else {
87
- pendingAuthUrl = null;
88
- addSystemMessage(ctx, `Login failed: ${err instanceof Error ? err.message : String(err)}`);
171
+ lines.push("Anthropic: Not logged in");
89
172
  }
173
+ if (codexTokens) {
174
+ const expiresAt = new Date(codexTokens.expires).toLocaleString();
175
+ const isExpired = codexTokens.expires <= Date.now();
176
+ lines.push(isExpired
177
+ ? `Codex: Expired at ${expiresAt}`
178
+ : `Codex: Logged in, expires ${expiresAt}`);
179
+ }
180
+ else {
181
+ lines.push("Codex: Not logged in");
182
+ }
183
+ addSystemMessage(ctx, lines.join("\n"));
184
+ return true;
90
185
  }
186
+ // /login (no args) - show help
187
+ addSystemMessage(ctx, [
188
+ "Usage: /login <provider> [subcommand]",
189
+ "",
190
+ "Providers:",
191
+ " anthropic - Claude Pro/Max (manual code entry)",
192
+ " codex - ChatGPT Plus/Pro (browser callback)",
193
+ "",
194
+ "Subcommands:",
195
+ " status - Show login status",
196
+ " clear - Clear stored tokens",
197
+ "",
198
+ "Examples:",
199
+ " /login anthropic - Start Anthropic OAuth",
200
+ " /login codex - Start Codex OAuth",
201
+ " /login status - Show all login statuses",
202
+ ].join("\n"));
91
203
  return true;
92
204
  },
93
205
  };
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../../src/domain/commands/builtin/login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AACzC,OAAO,EACN,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,GACtB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAEhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAEhD,IAAI,cAAc,GAAkB,IAAI,CAAA;AAExC,SAAS,WAAW,CAAC,GAAW;IAC/B,MAAM,GAAG,GACR,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAA;IAC7F,IAAI,CAAC,GAAG,GAAG,KAAK,GAAG,GAAG,CAAC,CAAA;AACxB,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAsB;IAC9C,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,6CAA6C;IAC1D,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAC5B,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAA;QAE/B,4CAA4C;QAC5C,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,mBAAmB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAA;YACjD,IAAI,MAAM,EAAE,CAAC;gBACZ,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,CAAA;gBAC3D,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,CAAA;gBAC9C,gBAAgB,CACf,GAAG,EACH,SAAS;oBACR,CAAC,CAAC,qCAAqC,SAAS,kCAAkC;oBAClF,CAAC,CAAC,6CAA6C,SAAS,EAAE,CAC3D,CAAA;YACF,CAAC;iBAAM,CAAC;gBACP,gBAAgB,CAAC,GAAG,EAAE,6DAA6D,CAAC,CAAA;YACrF,CAAC;YACD,OAAO,IAAI,CAAA;QACZ,CAAC;QAED,qCAAqC;QACrC,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3C,oBAAoB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAA;YACnC,gBAAgB,CAAC,GAAG,EAAE,iCAAiC,CAAC,CAAA;YACxD,OAAO,IAAI,CAAA;QACZ,CAAC;QAED,gDAAgD;QAChD,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACrB,gBAAgB,CAAC,GAAG,EAAE,6DAA6D,CAAC,CAAA;gBACpF,OAAO,IAAI,CAAA;YACZ,CAAC;YAED,IAAI,CAAC;gBACJ,MAAM,WAAW,GAAG,MAAM,cAAc,CACvC,GAAG,EAAE,GAAE,CAAC,EAAE,oBAAoB;gBAC9B,KAAK,IAAI,EAAE,CAAC,IAAI,CAChB,CAAA;gBACD,mBAAmB,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,CAAC,CAAA;gBAC/C,cAAc,GAAG,IAAI,CAAA;gBACrB,GAAG,CAAC,WAAW,EAAE,EAAE,CAAA;gBACnB,gBAAgB,CACf,GAAG,EACH,0CAA0C,sBAAsB,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CACjF,CAAA;YACF,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,cAAc,GAAG,IAAI,CAAA;gBACrB,gBAAgB,CAAC,GAAG,EAAE,iBAAiB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAC3F,CAAC;YACD,OAAO,IAAI,CAAA;QACZ,CAAC;QAED,gCAAgC;QAChC,gBAAgB,CAAC,GAAG,EAAE,kCAAkC,CAAC,CAAA;QAEzD,IAAI,CAAC;YACJ,yDAAyD;YACzD,MAAM,WAAW,GAAG,MAAM,cAAc,CACvC,CAAC,GAAW,EAAE,EAAE;gBACf,cAAc,GAAG,GAAG,CAAA;gBACpB,WAAW,CAAC,GAAG,CAAC,CAAA;YACjB,CAAC,EACD,KAAK,IAAI,EAAE;gBACV,2DAA2D;gBAC3D,2CAA2C;gBAC3C,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAA;YAC3B,CAAC,CACD,CAAA;YACD,0EAA0E;YAC1E,mBAAmB,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,CAAC,CAAA;YAC/C,gBAAgB,CAAC,GAAG,EAAE,yBAAyB,CAAC,CAAA;QACjD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBACvD,+BAA+B;gBAC/B,GAAG,CAAC,WAAW,EAAE,EAAE,CAAA;gBACnB,gBAAgB,CACf,GAAG,EACH;oBACC,qCAAqC;oBACrC,EAAE;oBACF,0DAA0D;oBAC1D,EAAE;oBACF,0BAA0B;oBAC1B,EAAE;oBACF,aAAa,cAAc,EAAE;iBAC7B,CAAC,IAAI,CAAC,IAAI,CAAC,CACZ,CAAA;YACF,CAAC;iBAAM,CAAC;gBACP,cAAc,GAAG,IAAI,CAAA;gBACrB,gBAAgB,CAAC,GAAG,EAAE,iBAAiB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAC3F,CAAC;QACF,CAAC;QAED,OAAO,IAAI,CAAA;IACZ,CAAC;CACD,CAAA"}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../../src/domain/commands/builtin/login.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import type { LspManager } from "@yeshwanthyk/lsp";
4
4
  import type { CustomCommand } from "@yeshwanthyk/runtime-effect/extensibility/custom-commands.js";
5
5
  import type { ActivityState, ToolBlock, UIMessage } from "../../../types.js";
6
6
  import type { QueueCounts } from "@yeshwanthyk/runtime-effect/session/prompt-queue.js";
7
- import type { ValidationIssue } from "../../../extensibility/schema.js";
7
+ import type { ValidationIssue } from "@yeshwanthyk/runtime-effect/extensibility/schema.js";
8
8
  export interface MainViewProps {
9
9
  validationIssues?: ValidationIssue[];
10
10
  messages: UIMessage[];
@@ -1 +1 @@
1
- {"version":3,"file":"MainView.d.ts","sourceRoot":"","sources":["../../../../src/ui/features/main-view/MainView.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAGlD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8DAA8D,CAAA;AAGjG,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC5E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qDAAqD,CAAA;AAQtF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAErD,MAAM,WAAW,aAAa;IAC7B,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAA;IACpC,QAAQ,EAAE,SAAS,EAAE,CAAA;IACrB,UAAU,EAAE,SAAS,EAAE,CAAA;IACvB,YAAY,EAAE,OAAO,CAAA;IACrB,aAAa,EAAE,aAAa,CAAA;IAC5B,eAAe,EAAE,OAAO,CAAA;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,aAAa,CAAA;IACvB,QAAQ,EAAE,aAAa,CAAA;IACvB,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,WAAW,CAAA;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,OAAO,CAAA;IAClB,YAAY,EAAE,MAAM,GAAG,MAAM,CAAA;IAC7B,eAAe,EAAE,OAAO,CAAA;IACxB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IAC1C,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,IAAI,KAAK,IAAI,CAAA;IACtD,OAAO,EAAE,MAAM,MAAM,GAAG,IAAI,CAAA;IAC5B,gBAAgB,EAAE,MAAM,IAAI,CAAA;IAC5B,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB,eAAe,EAAE,MAAM,IAAI,CAAA;IAC3B,cAAc,EAAE;QAAE,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE,CAAA;IACvC,aAAa,EAAE;QAAE,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;KAAE,CAAA;IACtD,gBAAgB,EAAE;QAAE,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,CAAA;IACrD,gBAAgB,EAAE;QAAE,OAAO,EAAE,MAAM,MAAM,CAAA;KAAE,CAAA;IAC3C,YAAY,EAAE;QAAE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,KAAK,IAAI,CAAA;KAAE,CAAA;IACvH,cAAc,EAAE;QAAE,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE,CAAA;IACvC,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAClC,MAAM,CAAC,EAAE,OAAO,oBAAoB,EAAE,YAAY,CAAA;IAClD,GAAG,EAAE,UAAU,CAAA;CACf;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,OAoT5C"}
1
+ {"version":3,"file":"MainView.d.ts","sourceRoot":"","sources":["../../../../src/ui/features/main-view/MainView.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAGlD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8DAA8D,CAAA;AAGjG,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC5E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qDAAqD,CAAA;AAQtF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qDAAqD,CAAA;AAE1F,MAAM,WAAW,aAAa;IAC7B,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAA;IACpC,QAAQ,EAAE,SAAS,EAAE,CAAA;IACrB,UAAU,EAAE,SAAS,EAAE,CAAA;IACvB,YAAY,EAAE,OAAO,CAAA;IACrB,aAAa,EAAE,aAAa,CAAA;IAC5B,eAAe,EAAE,OAAO,CAAA;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,aAAa,CAAA;IACvB,QAAQ,EAAE,aAAa,CAAA;IACvB,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,WAAW,CAAA;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,OAAO,CAAA;IAClB,YAAY,EAAE,MAAM,GAAG,MAAM,CAAA;IAC7B,eAAe,EAAE,OAAO,CAAA;IACxB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IAC1C,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,IAAI,KAAK,IAAI,CAAA;IACtD,OAAO,EAAE,MAAM,MAAM,GAAG,IAAI,CAAA;IAC5B,gBAAgB,EAAE,MAAM,IAAI,CAAA;IAC5B,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB,eAAe,EAAE,MAAM,IAAI,CAAA;IAC3B,cAAc,EAAE;QAAE,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE,CAAA;IACvC,aAAa,EAAE;QAAE,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;KAAE,CAAA;IACtD,gBAAgB,EAAE;QAAE,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,CAAA;IACrD,gBAAgB,EAAE;QAAE,OAAO,EAAE,MAAM,MAAM,CAAA;KAAE,CAAA;IAC3C,YAAY,EAAE;QAAE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,KAAK,IAAI,CAAA;KAAE,CAAA;IACvH,cAAc,EAAE;QAAE,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE,CAAA;IACvC,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAClC,MAAM,CAAC,EAAE,OAAO,oBAAoB,EAAE,YAAY,CAAA;IAClD,GAAG,EAAE,UAAU,CAAA;CACf;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,OAoT5C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yeshwanthyk/coding-agent",
3
- "version": "0.3.35",
3
+ "version": "0.3.36",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "marvin": "./dist/cli.js"