agentuity-vscode 0.0.86 → 0.0.88

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/LICENSE CHANGED
@@ -1,21 +1,13 @@
1
- MIT License
1
+ Copyright 2025 Agentuity, Inc.
2
2
 
3
- Copyright (c) 2024 Agentuity
3
+ Licensed under the Apache License, Version 2.0 (the "License");
4
+ you may not use this file except in compliance with the License.
5
+ You may obtain a copy of the License at
4
6
 
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
7
+ http://www.apache.org/licenses/LICENSE-2.0
11
8
 
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
9
+ Unless required by applicable law or agreed to in writing, software
10
+ distributed under the License is distributed on an "AS IS" BASIS,
11
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ See the License for the specific language governing permissions and
13
+ limitations under the License.
package/README.md CHANGED
@@ -28,21 +28,27 @@ code --install-extension agentuity-vscode-<version>.vsix
28
28
  ## Features
29
29
 
30
30
  ### Agent Explorer
31
+
31
32
  View all agents in your Agentuity project in the sidebar.
32
33
 
33
34
  ### Data Explorer
35
+
34
36
  Browse cloud data resources:
37
+
35
38
  - **Key-Value** - View namespaces and keys
36
39
  - **Object Store** - View buckets and objects
37
40
  - **Vector** - View vector indexes
38
41
 
39
42
  ### Dev Server
43
+
40
44
  Start, stop, and monitor the development server with status bar integration.
41
45
 
42
46
  ### Workbench Integration
47
+
43
48
  Open the Agentuity Workbench in your browser with one click.
44
49
 
45
50
  ### AI Commands (for Coding Agents)
51
+
46
52
  The extension exposes commands that AI coding tools (Claude Code, Cursor, Amp) can use:
47
53
 
48
54
  ```typescript
@@ -54,6 +60,7 @@ const schema = await vscode.commands.executeCommand('agentuity.getAiSchema');
54
60
  ```
55
61
 
56
62
  ### Chat Participant
63
+
57
64
  Use `@agentuity` in GitHub Copilot Chat to get help with your agents:
58
65
 
59
66
  - "What agents are available?"
@@ -62,23 +69,23 @@ Use `@agentuity` in GitHub Copilot Chat to get help with your agents:
62
69
 
63
70
  ## Commands
64
71
 
65
- | Command | Description |
66
- |---------|-------------|
67
- | `Agentuity: Login` | Login via CLI in terminal |
68
- | `Agentuity: Logout` | Logout from Agentuity |
69
- | `Agentuity: Who Am I?` | Show current user |
70
- | `Agentuity: Start Dev Server` | Start the dev server |
71
- | `Agentuity: Stop Dev Server` | Stop the dev server |
72
- | `Agentuity: Open Workbench` | Open Workbench in browser |
73
- | `Agentuity: Deploy` | Deploy to Agentuity Cloud |
74
- | `Agentuity: Refresh` | Refresh auth and project state |
72
+ | Command | Description |
73
+ | ----------------------------- | ------------------------------ |
74
+ | `Agentuity: Login` | Login via CLI in terminal |
75
+ | `Agentuity: Logout` | Logout from Agentuity |
76
+ | `Agentuity: Who Am I?` | Show current user |
77
+ | `Agentuity: Start Dev Server` | Start the dev server |
78
+ | `Agentuity: Stop Dev Server` | Stop the dev server |
79
+ | `Agentuity: Open Workbench` | Open Workbench in browser |
80
+ | `Agentuity: Deploy` | Deploy to Agentuity Cloud |
81
+ | `Agentuity: Refresh` | Refresh auth and project state |
75
82
 
76
83
  ## Configuration
77
84
 
78
- | Setting | Default | Description |
79
- |---------|---------|-------------|
80
- | `agentuity.cliPath` | `""` | Custom path to CLI executable |
81
- | `agentuity.devServer.port` | `3500` | Default dev server port |
85
+ | Setting | Default | Description |
86
+ | -------------------------- | ------- | ----------------------------- |
87
+ | `agentuity.cliPath` | `""` | Custom path to CLI executable |
88
+ | `agentuity.devServer.port` | `3500` | Default dev server port |
82
89
 
83
90
  ## Development
84
91
 
@@ -108,7 +115,8 @@ bun run compile
108
115
 
109
116
  **Agent Explorer**: Should list agents from your project after the project is detected.
110
117
 
111
- **Data Explorer**:
118
+ **Data Explorer**:
119
+
112
120
  - Expand "Key-Value" to see namespaces and keys
113
121
  - Expand "Object Store" to see buckets and objects
114
122
  - Click on a key to view its contents
package/package.json CHANGED
@@ -2,9 +2,9 @@
2
2
  "name": "agentuity-vscode",
3
3
  "displayName": "Agentuity VSCode Extension",
4
4
  "description": "Build, deploy, and manage AI agents with Agentuity",
5
- "version": "0.0.86",
5
+ "version": "0.0.88",
6
6
  "publisher": "agentuity",
7
- "license": "MIT",
7
+ "license": "Apache-2.0",
8
8
  "repository": {
9
9
  "type": "git",
10
10
  "url": "https://github.com/agentuity/sdk"
@@ -219,7 +219,11 @@ export class CliClient {
219
219
  );
220
220
  resolveOnce({
221
221
  success: false,
222
- error: structuredError?.message || stderr || stdout || `Command failed with exit code ${exitCode}`,
222
+ error:
223
+ structuredError?.message ||
224
+ stderr ||
225
+ stdout ||
226
+ `Command failed with exit code ${exitCode}`,
223
227
  structuredError,
224
228
  exitCode,
225
229
  });
@@ -298,16 +302,12 @@ export class CliClient {
298
302
  });
299
303
  }
300
304
 
301
-
302
-
303
305
  async getKvValue(namespace: string, key: string): Promise<CliResult<KvGetResponse>> {
304
306
  return this.exec<KvGetResponse>(['cloud', 'keyvalue', 'get', namespace, key], {
305
307
  format: 'json',
306
308
  });
307
309
  }
308
310
 
309
-
310
-
311
311
  async getAiCapabilities(): Promise<CliResult<AiCapabilitiesResponse>> {
312
312
  return this.exec<AiCapabilitiesResponse>(['ai', 'capabilities', 'show'], { format: 'json' });
313
313
  }
@@ -379,7 +379,10 @@ export class CliClient {
379
379
  }
380
380
 
381
381
  // Stream methods
382
- async listStreams(opts?: { size?: number; name?: string }): Promise<CliResult<StreamListResponse>> {
382
+ async listStreams(opts?: {
383
+ size?: number;
384
+ name?: string;
385
+ }): Promise<CliResult<StreamListResponse>> {
383
386
  const args = ['cloud', 'stream', 'list'];
384
387
  if (opts?.size) {
385
388
  args.push('--size', String(opts.size));
@@ -489,10 +492,10 @@ export class CliClient {
489
492
  }
490
493
 
491
494
  async getSessionLogs(sessionId: string): Promise<CliResult<SessionLog[]>> {
492
- return this.exec<SessionLog[]>(
493
- this.withProjectDir(['cloud', 'session', 'logs', sessionId]),
494
- { format: 'json', timeout: 60000 }
495
- );
495
+ return this.exec<SessionLog[]>(this.withProjectDir(['cloud', 'session', 'logs', sessionId]), {
496
+ format: 'json',
497
+ timeout: 60000,
498
+ });
496
499
  }
497
500
 
498
501
  dispose(): void {
@@ -535,8 +538,6 @@ export interface KvGetResponse {
535
538
  contentType: string;
536
539
  }
537
540
 
538
-
539
-
540
541
  // Database types
541
542
  export interface DbInfo {
542
543
  name: string;
@@ -1,4 +1,3 @@
1
-
2
1
  import {
3
2
  getCliClient,
4
3
  type CliClient,
@@ -177,9 +176,11 @@ export class AgentuityService {
177
176
  };
178
177
  }
179
178
 
180
- async getSessionLogs(
181
- sessionId: string
182
- ): Promise<{ success: boolean; logs: Array<{ body: string; severity: string; timestamp: string }>; error?: string }> {
179
+ async getSessionLogs(sessionId: string): Promise<{
180
+ success: boolean;
181
+ logs: Array<{ body: string; severity: string; timestamp: string }>;
182
+ error?: string;
183
+ }> {
183
184
  const result = await this.cli.getSessionLogs(sessionId);
184
185
  return {
185
186
  success: result.success,
@@ -154,7 +154,10 @@ async function handleNaturalLanguage(
154
154
  return handleDeploy(stream);
155
155
  }
156
156
 
157
- if (prompt.includes('session') && (prompt.includes('list') || prompt.includes('show') || prompt.includes('recent'))) {
157
+ if (
158
+ prompt.includes('session') &&
159
+ (prompt.includes('list') || prompt.includes('show') || prompt.includes('recent'))
160
+ ) {
158
161
  return handleSessions(stream);
159
162
  }
160
163
 
@@ -206,15 +209,15 @@ async function handleNaturalLanguage(
206
209
  }
207
210
 
208
211
  // Deployment patterns
209
- if (
210
- prompt.includes('deployment') ||
211
- (prompt.includes('list') && prompt.includes('deploy'))
212
- ) {
212
+ if (prompt.includes('deployment') || (prompt.includes('list') && prompt.includes('deploy'))) {
213
213
  return handleDeployments(stream);
214
214
  }
215
215
 
216
216
  // Logs patterns
217
- if (prompt.includes('log') && (prompt.includes('session') || prompt.includes('view') || prompt.includes('show'))) {
217
+ if (
218
+ prompt.includes('log') &&
219
+ (prompt.includes('session') || prompt.includes('view') || prompt.includes('show'))
220
+ ) {
218
221
  return handleLogs('', stream);
219
222
  }
220
223
 
@@ -500,9 +503,7 @@ async function handleSessions(stream: vscode.ChatResponseStream): Promise<vscode
500
503
  const status = session.success ? '✓' : '✗';
501
504
  const shortId = session.id.substring(0, 8);
502
505
  const time = new Date(session.created_at).toLocaleString();
503
- const duration = session.duration
504
- ? `${(session.duration / 1_000_000).toFixed(0)}ms`
505
- : '-';
506
+ const duration = session.duration ? `${(session.duration / 1_000_000).toFixed(0)}ms` : '-';
506
507
  stream.markdown(`| ${status} | ${shortId} | ${time} | ${duration} | ${session.trigger} |\n`);
507
508
  }
508
509
 
@@ -755,7 +756,10 @@ async function handleDeployments(stream: vscode.ChatResponseStream): Promise<vsc
755
756
  }
756
757
 
757
758
  stream.markdown('\n');
758
- stream.button({ title: 'View in Deployments Explorer', command: 'agentuity.deployments.refresh' });
759
+ stream.button({
760
+ title: 'View in Deployments Explorer',
761
+ command: 'agentuity.deployments.refresh',
762
+ });
759
763
 
760
764
  return { metadata: { command: 'deployments' } };
761
765
  }
@@ -776,7 +780,11 @@ async function handleLogs(
776
780
  stream.markdown('## Session Logs\n\n');
777
781
  stream.markdown('Usage: `/logs <session-id>`\n\n');
778
782
  stream.markdown('Get a session ID from `/sessions` first.\n\n');
779
- stream.button({ title: 'View Sessions', command: 'workbench.action.chat.open', arguments: [{ query: '@agentuity /sessions' }] });
783
+ stream.button({
784
+ title: 'View Sessions',
785
+ command: 'workbench.action.chat.open',
786
+ arguments: [{ query: '@agentuity /sessions' }],
787
+ });
780
788
  return { metadata: { command: 'logs' } };
781
789
  }
782
790
 
@@ -832,7 +840,11 @@ async function handleFallback(
832
840
  stream.markdown('- **CLI** - "What CLI commands are available?"\n\n');
833
841
 
834
842
  stream.markdown('Type `/help` for complete CLI documentation.\n\n');
835
- stream.button({ title: 'Show Help', command: 'workbench.action.chat.open', arguments: [{ query: '@agentuity /help' }] });
843
+ stream.button({
844
+ title: 'Show Help',
845
+ command: 'workbench.action.chat.open',
846
+ arguments: [{ query: '@agentuity /help' }],
847
+ });
836
848
 
837
849
  return { metadata: { command: 'fallback' } };
838
850
  }
@@ -49,10 +49,7 @@ export class AgentCodeLensProvider implements vscode.CodeLensProvider {
49
49
  return codeLenses;
50
50
  }
51
51
 
52
- private extractAgentInfo(
53
- document: vscode.TextDocument,
54
- startIndex: number
55
- ): AgentCodeLensInfo {
52
+ private extractAgentInfo(document: vscode.TextDocument, startIndex: number): AgentCodeLensInfo {
56
53
  const text = document.getText();
57
54
  const afterCreateAgent = text.substring(startIndex);
58
55
 
@@ -14,9 +14,7 @@ export function registerCodeLens(context: vscode.ExtensionContext): AgentCodeLen
14
14
  { language: 'javascript', scheme: 'file' },
15
15
  ];
16
16
 
17
- context.subscriptions.push(
18
- vscode.languages.registerCodeLensProvider(selector, provider)
19
- );
17
+ context.subscriptions.push(vscode.languages.registerCodeLensProvider(selector, provider));
20
18
 
21
19
  context.subscriptions.push(
22
20
  vscode.commands.registerCommand(
@@ -44,7 +42,9 @@ export function registerCodeLens(context: vscode.ExtensionContext): AgentCodeLen
44
42
  }
45
43
  }
46
44
 
47
- const port = vscode.workspace.getConfiguration('agentuity').get<number>('devServer.port', 3500);
45
+ const port = vscode.workspace
46
+ .getConfiguration('agentuity')
47
+ .get<number>('devServer.port', 3500);
48
48
  let url = `http://localhost:${port}/workbench`;
49
49
  if (info.identifier) {
50
50
  url += `?agent=${encodeURIComponent(info.identifier)}`;
@@ -378,9 +378,7 @@ export class DataTreeDataProvider implements vscode.TreeDataProvider<DataTreeIte
378
378
  }
379
379
 
380
380
  if (group.results.length === 0) {
381
- return [
382
- new DataTreeItem('No results', vscode.TreeItemCollapsibleState.None, 'message'),
383
- ];
381
+ return [new DataTreeItem('No results', vscode.TreeItemCollapsibleState.None, 'message')];
384
382
  }
385
383
 
386
384
  return group.results.map((result) => {
@@ -459,11 +457,7 @@ export class DataTreeDataProvider implements vscode.TreeDataProvider<DataTreeIte
459
457
  }
460
458
 
461
459
  return [
462
- new DataTreeItem(
463
- 'Failed to load files',
464
- vscode.TreeItemCollapsibleState.None,
465
- 'message'
466
- ),
460
+ new DataTreeItem('Failed to load files', vscode.TreeItemCollapsibleState.None, 'message'),
467
461
  ];
468
462
  }
469
463
 
@@ -108,8 +108,7 @@ export function registerDataExplorer(context: vscode.ExtensionContext): DataTree
108
108
  .map((log) => {
109
109
  const timestamp = new Date(log.timestamp).toLocaleString();
110
110
  const duration = `${log.duration}ms`;
111
- const sql =
112
- log.sql.length > 200 ? log.sql.substring(0, 200) + '...' : log.sql;
111
+ const sql = log.sql.length > 200 ? log.sql.substring(0, 200) + '...' : log.sql;
113
112
  const errorLine = log.error ? `\n ERROR: ${log.error}` : '';
114
113
  return `[${timestamp}] [${log.command}] (${duration})\n ${sql}${errorLine}`;
115
114
  })
@@ -96,7 +96,11 @@ async function viewDeploymentLogs(deploymentId: string): Promise<void> {
96
96
  })
97
97
  .join('\n');
98
98
 
99
- await openReadonlyDocument(logContent, 'log', `deployment-logs-${deploymentId.substring(0, 8)}`);
99
+ await openReadonlyDocument(
100
+ logContent,
101
+ 'log',
102
+ `deployment-logs-${deploymentId.substring(0, 8)}`
103
+ );
100
104
  } else {
101
105
  vscode.window.showErrorMessage(`Failed to fetch logs: ${result.error}`);
102
106
  }
@@ -13,7 +13,11 @@ export function registerDevServerCommands(context: vscode.ExtensionContext): voi
13
13
  );
14
14
 
15
15
  manager.onStateChanged((state) => {
16
- void vscode.commands.executeCommand('setContext', 'agentuity.devServerRunning', state === 'running');
16
+ void vscode.commands.executeCommand(
17
+ 'setContext',
18
+ 'agentuity.devServerRunning',
19
+ state === 'running'
20
+ );
17
21
  });
18
22
 
19
23
  context.subscriptions.push(