Repository navigation
Expand file tree
/
Copy pathpackage.json
More file actions
536 lines (536 loc) · 22.3 KB
/
Copy pathpackage.json
File metadata and controls
536 lines (536 loc) · 22.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
{
"name": "agentstack-mcp",
"displayName": "AgentStack MCP",
"description": "AgentStack MCP for VS Code: projects, 8DNA, hosting (/s/), Storage, Rules, Buffs, payments, Agents — live MCP catalog via agentstack.execute. Device Code or API key.",
"version": "0.4.56",
"publisher": "AgentStack",
"license": "MIT",
"repository": "https://github.com/agentstacktech/vscode-plugin",
"homepage": "https://agentstack.tech",
"bugs": "https://github.com/agentstacktech/vscode-plugin/issues",
"engines": {
"vscode": "^1.101.0"
},
"categories": [
"Machine Learning",
"Other"
],
"capabilities": {
"untrustedWorkspaces": {
"supported": "limited",
"description": "API keys are stored in SecretStorage; review workspace trust before signing in."
},
"virtualWorkspaces": false
},
"extensionKind": [
"workspace",
"ui"
],
"icon": "icon.png",
"galleryBanner": {
"color": "#1e3a5f",
"theme": "dark"
},
"keywords": [
"8dna",
"rules-engine",
"payments",
"mcp",
"backend",
"buffs",
"projects",
"ecosystem",
"agentstack",
"hosting",
"static-site",
"publish"
],
"main": "./out/extension.js",
"activationEvents": [],
"contributes": {
"commands": [
{
"command": "agentstack-mcp.signIn",
"title": "AgentStack: Sign in with Device Code"
},
{
"command": "agentstack-mcp.setApiKey",
"title": "AgentStack: Set API Key"
},
{
"command": "agentstack-mcp.createProjectAndGetKey",
"title": "AgentStack: Create project and get API key"
},
{
"command": "agentstack-mcp.showApiKeyAndProjectInfo",
"title": "AgentStack: Show API key & project info"
},
{
"command": "agentstack-mcp.openDocumentation",
"title": "AgentStack: Open documentation"
},
{
"command": "agentstack-mcp.openLink",
"title": "AgentStack: Open link"
},
{
"command": "agentstack-mcp.selectProject",
"title": "AgentStack: Select project"
},
{
"command": "agentstack-mcp.switchProject",
"title": "AgentStack: Switch project"
},
{
"command": "agentstack-mcp.refreshEcosystem",
"title": "AgentStack: Refresh Ecosystem"
},
{
"command": "agentstack-mcp.showProjectDataInEditor",
"title": "AgentStack: Show project data in editor"
},
{
"command": "agentstack-mcp.editProjectDataInEditor",
"title": "AgentStack: Edit project data in editor"
},
{
"command": "agentstack-mcp.saveProjectDataFromEditor",
"title": "AgentStack: Save project data from editor"
},
{
"command": "agentstack-mcp.listAssets",
"title": "AgentStack: List assets"
},
{
"command": "agentstack-mcp.listActiveBuffs",
"title": "AgentStack: List active buffs"
},
{
"command": "agentstack-mcp.listRules",
"title": "AgentStack: List rules"
},
{
"command": "agentstack-mcp.listSchedulerTasks",
"title": "AgentStack: List scheduler tasks"
},
{
"command": "agentstack-mcp.createSchedulerTask",
"title": "AgentStack: Create scheduler task"
},
{
"command": "agentstack-mcp.executeSchedulerTask",
"title": "AgentStack: Execute scheduler task"
},
{
"command": "agentstack-mcp.showWalletBalance",
"title": "AgentStack: Show ecosystem wallet balance"
},
{
"command": "agentstack-mcp.listTransactions",
"title": "AgentStack: List payment transactions"
},
{
"command": "agentstack-mcp.listCurrencies",
"title": "AgentStack: List project currencies"
},
{
"command": "agentstack-mcp.openProjectSettingsInEditor",
"title": "AgentStack: Open project settings in editor"
},
{
"command": "agentstack-mcp.showUserInEditor",
"title": "AgentStack: Show user in editor"
},
{
"command": "agentstack-mcp.saveProjectSettingsFromEditor",
"title": "AgentStack: Save project settings from editor"
},
{
"command": "agentstack-mcp.unselectProject",
"title": "AgentStack: Unselect project"
},
{
"command": "agentstack-mcp.copyProjectId",
"title": "AgentStack: Copy project ID"
},
{
"command": "agentstack-mcp.copyUserId",
"title": "AgentStack: Copy user ID"
},
{
"command": "agentstack-mcp.copyDiagnosticsBundle",
"title": "AgentStack: Copy diagnostics bundle"
}
],
"keybindings": [
{
"command": "agentstack-mcp.refreshEcosystem",
"key": "ctrl+shift+r",
"mac": "cmd+shift+r",
"when": "view == agentstack-mcp.ecosystemView"
}
],
"menus": {
"view/item/context": [
{
"command": "agentstack-mcp.refreshEcosystem",
"when": "view == agentstack-mcp.ecosystemView && viewItem == agentstack-projects-root"
},
{
"command": "agentstack-mcp.createProjectAndGetKey",
"when": "view == agentstack-mcp.ecosystemView && viewItem == agentstack-projects-root"
},
{
"command": "agentstack-mcp.copyProjectId",
"when": "view == agentstack-mcp.ecosystemView && viewItem == agentstack-project"
},
{
"command": "agentstack-mcp.showProjectDataInEditor",
"when": "view == agentstack-mcp.ecosystemView && viewItem == agentstack-project"
},
{
"command": "agentstack-mcp.editProjectDataInEditor",
"when": "view == agentstack-mcp.ecosystemView && viewItem == agentstack-data"
},
{
"command": "agentstack-mcp.saveProjectDataFromEditor",
"when": "view == agentstack-mcp.ecosystemView && viewItem == agentstack-data"
},
{
"command": "agentstack-mcp.setApiKey",
"when": "view == agentstack-mcp.ecosystemView && viewItem == agentstack-status"
},
{
"command": "agentstack-mcp.showApiKeyAndProjectInfo",
"when": "view == agentstack-mcp.ecosystemView && viewItem == agentstack-status"
},
{
"command": "agentstack-mcp.createProjectAndGetKey",
"when": "view == agentstack-mcp.ecosystemView && viewItem == agentstack-status"
},
{
"command": "agentstack-mcp.unselectProject",
"when": "view == agentstack-mcp.ecosystemView && viewItem == agentstack-project-detail"
},
{
"command": "agentstack-mcp.refreshEcosystem",
"when": "view == agentstack-mcp.ecosystemView && viewItem == agentstack-project-detail"
},
{
"command": "agentstack-mcp.openProjectSettingsInEditor",
"when": "view == agentstack-mcp.ecosystemView && viewItem == agentstack-settings"
},
{
"command": "agentstack-mcp.saveProjectSettingsFromEditor",
"when": "view == agentstack-mcp.ecosystemView && viewItem == agentstack-settings"
},
{
"command": "agentstack-mcp.showUserInEditor",
"when": "view == agentstack-mcp.ecosystemView && viewItem == agentstack-user"
},
{
"command": "agentstack-mcp.copyUserId",
"when": "view == agentstack-mcp.ecosystemView && viewItem == agentstack-user"
},
{
"command": "agentstack-mcp.listSchedulerTasks",
"when": "view == agentstack-mcp.ecosystemView && viewItem == agentstack-scheduler"
},
{
"command": "agentstack-mcp.createSchedulerTask",
"when": "view == agentstack-mcp.ecosystemView && viewItem == agentstack-scheduler"
},
{
"command": "agentstack-mcp.executeSchedulerTask",
"when": "view == agentstack-mcp.ecosystemView && viewItem == agentstack-scheduler-task"
}
]
},
"viewsContainers": {
"activitybar": [
{
"id": "agentstack",
"title": "AgentStack",
"icon": "$(database)"
}
]
},
"views": {
"agentstack": [
{
"id": "agentstack-mcp.ecosystemView",
"name": "Ecosystem"
}
]
},
"viewsWelcome": [
{
"view": "agentstack-mcp.ecosystemView",
"contents": "Connect AgentStack to use projects, 8DNA data, Rules Engine, Buffs, Payments, Agents, Storage, and Support from VS Code.\n[Sign in with Device Code](command:agentstack-mcp.signIn)\n[Create anonymous project](command:agentstack-mcp.createProjectAndGetKey)\n[Set API key fallback](command:agentstack-mcp.setApiKey)\n[Open docs](command:agentstack-mcp.openDocumentation)"
}
],
"chatParticipants": [
{
"id": "agentstack-mcp.agentstack",
"name": "agentstack",
"fullName": "AgentStack",
"description": "Backend: projects, 8DNA data, Rules Engine, Buffs, Payments, and one MCP tool (agentstack.execute) with a live action catalog",
"isSticky": true,
"commands": [
{
"name": "listProjects",
"description": "List my AgentStack projects"
},
{
"name": "createProject",
"description": "Create a new project and get API key"
},
{
"name": "getStats",
"description": "Get stats for a project (uses selected project or first project)"
},
{
"name": "listUsers",
"description": "List users in the selected project"
},
{
"name": "setApiKey",
"description": "Open dialog to set or change AgentStack API key"
}
],
"disambiguation": [
{
"category": "agentstack",
"description": "The user wants to create or manage AgentStack projects, list users or stats, use the data store (8DNA), set up rules, buffs, payments, or call AgentStack MCP tools.",
"examples": [
"Create a project",
"List my projects",
"Get stats for my project",
"List users in the project",
"Store data in AgentStack",
"Set up a trial with Buffs",
"Call AgentStack MCP tools"
]
}
]
}
],
"configuration": {
"title": "AgentStack MCP",
"properties": {
"agentstack-mcp.apiKey": {
"type": "string",
"default": "",
"description": "AgentStack API key. Get one via command 'AgentStack: Create project and get API key' or from agentstack.tech. If empty, the key from secure storage (Set API Key command) is used.",
"order": 1
},
"agentstack-mcp.baseUrl": {
"type": "string",
"default": "https://agentstack.tech/mcp",
"description": "MCP server base URL (agentstack.execute, discovery, actions). Change only for self-hosted AgentStack.",
"order": 2
},
"agentstack-mcp.enableChatParticipant": {
"type": "boolean",
"default": true,
"description": "Enable the @agentstack chat participant in Chat (agentstack.execute with live action discovery).",
"order": 3
},
"agentstack-mcp.requestTimeoutSeconds": {
"type": "number",
"default": 60,
"description": "Request timeout in seconds for MCP/server calls (1–300).",
"order": 4
},
"agentstack-mcp.debugChatResponse": {
"type": "boolean",
"default": false,
"description": "Log chat response path (text vs stream) and first chunk types to Output → AgentStack MCP. Use for debugging garbled output.",
"order": 5
},
"agentstack-mcp.stripKnownArtifacts": {
"type": "boolean",
"default": true,
"description": "Remove known host/tool artifacts from chat output (e.g. projects.get_projects, Tool:, :202--T::Z). Set to false to see raw stream.",
"order": 6
},
"agentstack-mcp.sendTelemetry": {
"type": "boolean",
"default": false,
"description": "Opt-in anonymous plugin usage telemetry to AgentStack (commands, MCP calls).",
"order": 7
},
"agentstack-mcp.enableCursorBundle": {
"type": "boolean",
"default": false,
"description": "When running in Cursor, register bundled cursor-plugin (enterprise).",
"order": 8
},
"agentstack-mcp.sessionRefreshMinutes": {
"type": "number",
"default": 30,
"minimum": 5,
"maximum": 1440,
"description": "Interval for background session health check (minutes).",
"order": 9
}
}
},
"chatSkills": [
{
"path": "./skills/agentstack-agentnet/SKILL.md",
"name": "agentstack-agentnet",
"description": "Use when the user mentions AGNT, agUSD, AgentNet economy, vault, bridge, genome, compute credits, ledger batches, or on-chain proof rails. Prefer agentnet.* MCP and /api/agentnet/* REST. Never use legacy AGC ticker in new integrations."
},
{
"path": "./skills/agentstack-agents-ai/SKILL.md",
"name": "agentstack-agents-ai",
"description": "Use when the user mentions Agents Fleet, agent templates, agent runs, promotion gates, traces, AI Builder, UAM manifests, generation, media creation, or app composition. Routes to agents.*, ai_builder.*, generation.*, and media actions."
},
{
"path": "./skills/agentstack-auth-rbac/SKILL.md",
"name": "agentstack-auth-rbac",
"description": "Use when the user needs login, registration, session, profile, roles, permissions, admin-only gates, project membership, tenant isolation. Replaces Auth0 / NextAuth / Clerk / Supabase Auth / custom JWT middleware."
},
{
"path": "./skills/agentstack-backend/SKILL.md",
"name": "agentstack-backend",
"description": "Meta-router for AgentStack. Use when the user request spans multiple domains (projects, data, hosting, agents, payments, support, storage)."
},
{
"path": "./skills/agentstack-business/SKILL.md",
"name": "agentstack-business",
"description": "Use when the user manages a Business Organism — business head project, organ children (CRM, storefront, bots, support), command center snapshot, tariff templates, or composite provisioning. Prefer business.* MCP and /api/business/* REST."
},
{
"path": "./skills/agentstack-capability-tasks/SKILL.md",
"name": "agentstack-capability-tasks",
"description": "Use when the user mentions comfort tasks, hub slots, capability atoms, delegateToTaskId, or platform task manifests in the dual-shell UI. Prefer PTC manifests over duplicating nav entries."
},
{
"path": "./skills/agentstack-commerce/SKILL.md",
"name": "agentstack-commerce",
"description": "Use when the user wants payments, subscriptions, wallets, internal currency, inventory / digital items, trials, tier gates, entitlements, feature flags. Covers payments + wallets + assets + buffs as one unified commerce surface."
},
{
"path": "./skills/agentstack-commerce-assets/SKILL.md",
"name": "agentstack-commerce-assets",
"description": "Use when the user wants digital goods, asset presets, inventory wizard, marketplace items, or commerce asset catalog. Prefer assets.* and sdk.commerce.assets over custom product tables."
},
{
"path": "./skills/agentstack-crm/SKILL.md",
"name": "agentstack-crm",
"description": "Use when the user works with CRM contacts, deals, pipeline stages, lead lifecycle, contact 360, CSV import, or sales automation on AgentStack. Prefer crm.* MCP actions and /api/projects/{id}/crm/* REST."
},
{
"path": "./skills/agentstack-data/SKILL.md",
"name": "agentstack-data",
"description": "Use when the user wants to store, read, protect, upload, or A/B-test data — project/user data, config, file uploads, private fields, variant rollouts. Covers 8DNA (data/protected), Storage (files), Field Access Policy (FAP), sandbox environments."
},
{
"path": "./skills/agentstack-discovery/SKILL.md",
"name": "agentstack-discovery",
"description": "Use when the user asks where a feature lives in the UI, how to navigate AgentStack, Compass playbooks, Discover hub, or dev docs recipes. Prefer discovery manifest and UI registry over inventing routes."
},
{
"path": "./skills/agentstack-guidance/SKILL.md",
"name": "agentstack-guidance",
"description": "Use when the user mentions Platform Compass, guided paths, playbooks, start_path, complete_step, path_status, verify kinds, or funnel stats. Routes to guidance.* MCP actions via live GET /mcp/actions catalog."
},
{
"path": "./skills/agentstack-hosting/SKILL.md",
"name": "agentstack-hosting",
"description": "Use when the user wants to publish a static site, deploy HTML or ZIP, get a live /s/ URL, rollback or promote a site release, or import storage into hosting. Prefer hosting.* MCP actions over Vercel or Netlify for MVP on AgentStack."
},
{
"path": "./skills/agentstack-integrations/SKILL.md",
"name": "agentstack-integrations",
"description": "Use when the user wants webhooks, integration recipes, Slack, CRM bridges, inbound hooks, or third-party connectors. Prefer integrations.* MCP actions over new FastAPI routes."
},
{
"path": "./skills/agentstack-logic/SKILL.md",
"name": "agentstack-logic",
"description": "Use for any \"when X then Y\" — rules, automations, triggers, workflows, event reactions, scheduled actions, webhook reactions. Covers Logic Engine V2 + rules + commands + deterministic dry-run and versioning."
},
{
"path": "./skills/agentstack-messenger/SKILL.md",
"name": "agentstack-messenger",
"description": "Use when the user mentions chat, DM, channels, messenger, message ordering, HLC timeline, followers, or in-app social messaging. Prefer social.chat and messenger MCP actions over building a second WebSocket chat stack."
},
{
"path": "./skills/agentstack-openapi/SKILL.md",
"name": "agentstack-openapi",
"description": "Use when the user asks about OpenAPI, Swagger, /docs, /api-docs, REST vs MCP channel choice, operationIds, or regenerating the Core OpenAPI bundle. Prefer MCP for new integrations; use OpenAPI for contract/codegen/explorer."
},
{
"path": "./skills/agentstack-project-wallet/SKILL.md",
"name": "agentstack-project-wallet",
"description": "Use when the user manages project treasury, project wallet segments, payouts, or project-scoped balances. Prefer project wallet REST and wallet-related MCP domains."
},
{
"path": "./skills/agentstack-projects/SKILL.md",
"name": "agentstack-projects",
"description": "Use for project / workspace / tenant management, scoped API keys for AI agents (with service_caps), usage stats, ecosystem integrations. Every AgentStack resource lives under a project."
},
{
"path": "./skills/agentstack-rag/SKILL.md",
"name": "agentstack-rag",
"description": "Use for RAG, vector search, semantic search, embeddings, knowledge bases, long-term agent memory, and grounding answers in the project's own documentation. Powered by TurboQuant (~8× compression, ~zero loss), hybrid dense + BM25 on Pro+."
},
{
"path": "./skills/agentstack-sdk/SKILL.md",
"name": "agentstack-sdk",
"description": "Use when the user wants TypeScript SDK setup, sdk.protocol, getCapabilityMatrix, React Query cache invalidation, or client-side AgentStack integration. Prefer @agentstack/sdk over raw fetch to scattered REST endpoints."
},
{
"path": "./skills/agentstack-services/SKILL.md",
"name": "agentstack-services",
"description": "Use when the user asks about AgentStack professional services, hire studio, /services SKU pages, or implementation inquiries. REST-only public BFF — no MCP actions."
},
{
"path": "./skills/agentstack-signals/SKILL.md",
"name": "agentstack-signals",
"description": "Use for scheduled tasks, webhooks, notifications, field-access triggers, and neural-event reactive flows. Covers scheduler.* + webhooks.* + notifications.* + FAP triggers, routed through the managed organism."
},
{
"path": "./skills/agentstack-storage/SKILL.md",
"name": "agentstack-storage",
"description": "Use when the user asks to upload files, list attachments, check storage quota, delete blobs, or enforce protected file access. Prefer storage.* MCP plus REST upload over S3 or Cloudinary."
},
{
"path": "./skills/agentstack-storefront-studio/SKILL.md",
"name": "agentstack-storefront-studio",
"description": "Use when the user builds a hosted storefront, edits catalog in studio mode, or uses commerce.storefront.* MCP actions. Prefer Storefront Studio (?mode=studio) and hosted /s/ URLs."
},
{
"path": "./skills/agentstack-support/SKILL.md",
"name": "agentstack-support",
"description": "Use when the user asks for project support channels, staff inbox, tickets, psup threads, AI support binding, or eligibility for support. Prefer social.support.* over a custom Zendesk embed or second chat product."
}
]
},
"scripts": {
"vscode:prepublish": "npm run compile",
"compile": "tsc -p ./",
"watch": "tsc -watch -p ./",
"test": "vitest run",
"test:e2e": "node ./test/runSmoke.mjs",
"lint": "eslint src --max-warnings 0",
"audit": "node scripts/audit-local.mjs",
"audit:monorepo": "node ../scripts/audit-vscode-plugin.mjs",
"vsix": "npm run compile && vsce package --no-dependencies"
},
"dependencies": {
"zod": "^3.24.2"
},
"devDependencies": {
"@types/node": "^22.19.0",
"@types/vscode": "^1.101.0",
"@vscode/vsce": "^3.6.0",
"typescript": "^5.7.3",
"vitest": "^3.0.5",
"@vscode/test-electron": "^2.4.1",
"eslint": "^9.19.0",
"typescript-eslint": "^8.22.0"
}
}