-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathpackage.json
More file actions
121 lines (121 loc) · 8.67 KB
/
Copy pathpackage.json
File metadata and controls
121 lines (121 loc) · 8.67 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
{
"name": "airtable-formula",
"private": true,
"version": "2.0.12",
"publisher": "Nskha",
"displayName": "Airtable Formula",
"description": "Airtable formula editor, MCP server installer, and AI skills for VS Code.",
"icon": "images/icon.png",
"license": "MIT",
"repository": "https://github.com/Automations-Project/VSCode-Airtable-Formula",
"engines": { "vscode": "^1.100.0" },
"categories": ["AI", "Other", "Formatters"],
"keywords": ["airtable", "formula", "mcp", "ai", "beautifier"],
"main": "./dist/extension.js",
"activationEvents": [
"onStartupFinished",
"onView:airtable-formula.dashboard",
"onCommand:airtable-formula.openDashboard"
],
"contributes": {
"languages": [
{
"id": "airtable-formula",
"aliases": ["Airtable Formula", "formula"],
"extensions": [".formula", ".min.formula", ".ultra-min.formula"],
"configuration": "./language-configuration/airtable-formula-language-configuration.json"
}
],
"grammars": [{ "language": "airtable-formula", "scopeName": "source.airtable-formula", "path": "./syntaxes/airtable-formula.tmLanguage.json" }],
"snippets": [{ "language": "airtable-formula", "path": "./snippets/airtable-formula-snippets.json" }],
"commands": [
{ "command": "airtable-formula.openDashboard", "title": "Airtable Formula: Open Dashboard", "category": "Airtable Formula" },
{ "command": "airtable-formula.setupAll", "title": "Airtable Formula: Setup All IDEs", "category": "Airtable Formula" },
{ "command": "airtable-formula.refreshStatus", "title": "Airtable Formula: Refresh Status", "category": "Airtable Formula" },
{ "command": "airtable-formula.installAISkills","title": "Airtable Formula: Install AI Skills", "category": "Airtable Formula" },
{ "command": "airtable-formula.login", "title": "Airtable Formula: Login to Airtable", "category": "Airtable Formula" },
{ "command": "airtable-formula.logout", "title": "Airtable Formula: Logout (Clear Credentials)", "category": "Airtable Formula" },
{ "command": "airtable-formula.status", "title": "Airtable Formula: Status", "category": "Airtable Formula" },
{ "command": "airtable-formula.install-browser", "title": "Airtable Formula: Install Browser", "category": "Airtable Formula" },
{ "command": "airtable-formula.switchToolProfile","title": "Airtable Formula: Switch MCP Tool Profile", "category": "Airtable Formula" },
{ "command": "airtable-formula.toggleToolCategory","title": "Airtable Formula: Toggle MCP Tool Category", "category": "Airtable Formula" },
{ "command": "airtable-formula.showToolStatus", "title": "Airtable Formula: Show MCP Tool Status", "category": "Airtable Formula" },
{ "command": "airtable-formula.openToolConfig", "title": "Airtable Formula: Open MCP Tool Config File", "category": "Airtable Formula" }
],
"viewsContainers": {
"activitybar": [{ "id": "airtable-formula-container", "title": "Airtable Formula", "icon": "images/icon.png" }]
},
"views": {
"airtable-formula-container": [{ "id": "airtable-formula.dashboard", "name": "Dashboard", "type": "webview" }]
},
"menus": {
"view/title": [
{ "command": "airtable-formula.refreshStatus", "when": "view == airtable-formula.dashboard", "group": "navigation" }
]
},
"configuration": {
"title": "Airtable Formula",
"properties": {
"airtableFormula.mcp.autoConfigureOnInstall": { "type": "boolean", "default": true, "description": "Automatically configure MCP in detected IDEs on first launch." },
"airtableFormula.mcp.serverPathOverride": { "type": "string", "default": "", "description": "Override bundled MCP server path. Leave empty to use bundled." },
"airtableFormula.mcp.notifyOnUpdates": { "type": "boolean", "default": true, "description": "Show notification when MCP server updates are available." },
"airtableFormula.ai.autoInstallFiles": { "type": "boolean", "default": true, "description": "Automatically install AI skills/rules/workflows on first launch." },
"airtableFormula.ai.includeAgents": { "type": "boolean", "default": false, "description": "Install agent config files where the IDE supports them." },
"airtableFormula.formula.formatterVersion": { "type": "string", "default": "v2", "enum": ["v1", "v2"], "description": "Beautifier/minifier engine version." },
"airtableFormula.formula.defaultBeautifyStyle":{ "type": "string", "default": "readable", "description": "Default beautify style (readable, compact, smart, etc.)." },
"airtableFormula.auth.autoRefresh": { "type": "boolean", "default": true, "description": "Automatically check and refresh Airtable session on a schedule." },
"airtableFormula.auth.refreshIntervalHours": { "type": "number", "default": 12, "minimum": 1, "maximum": 168, "description": "Hours between automatic session health checks (1–168)." },
"airtableFormula.mcp.toolProfile": {
"type": "string",
"default": "full",
"enum": ["read-only", "safe-write", "full", "custom"],
"enumDescriptions": [
"Schema inspection and formula validation only (6 tools)",
"Read + create/update fields and views, no deletes (23 tools)",
"All tools enabled including destructive and extensions (32 tools)",
"User-defined per-tool selection"
],
"description": "Active MCP tool profile. Controls which tools are exposed to AI agents through the bundled Airtable MCP server."
},
"airtableFormula.mcp.categories.read": { "type": "boolean", "default": true, "description": "Read / Inspect tools: get_base_schema, list_tables, get_table_schema, list_fields, list_views, validate_formula." },
"airtableFormula.mcp.categories.fieldWrite": { "type": "boolean", "default": true, "description": "Field Write tools: create_field, create_formula_field, update_field_config, update_formula_field, rename_field, update_field_description, duplicate_field." },
"airtableFormula.mcp.categories.fieldDestructive": { "type": "boolean", "default": true, "description": "Field Destructive tool: delete_field." },
"airtableFormula.mcp.categories.viewWrite": { "type": "boolean", "default": true, "description": "View Write tools: create_view, duplicate_view, rename_view, update_view_description, update_view_filters, reorder_view_fields, show_or_hide_view_columns, apply_view_sorts, update_view_group_levels, update_view_row_height." },
"airtableFormula.mcp.categories.viewDestructive": { "type": "boolean", "default": true, "description": "View Destructive tool: delete_view." },
"airtableFormula.mcp.categories.extension": { "type": "boolean", "default": true, "description": "Extension Management tools: create_extension, create_extension_dashboard, install_extension, update_extension_state, rename_extension, duplicate_extension, remove_extension." },
"airtableFormula.mcp.tools": { "type": "object", "default": {}, "description": "Per-tool enable/disable overrides (only used in 'custom' profile). Keys are tool names, values are booleans.", "additionalProperties": { "type": "boolean" } }
}
},
"mcpServerDefinitionProviders": [
{
"id": "AirtableFormula.server",
"label": "Airtable User MCP",
"description": "Manage Airtable bases via 30 MCP tools: schema read, field CRUD (including formula/rollup/lookup), view configuration, formula validation, and extension management. Operates over stdio using JSON-RPC 2.0."
}
]
},
"scripts": {
"build": "tsup src/extension.ts --format cjs --dts --external vscode --out-dir dist && node -e \"require('fs').cpSync('src/vendor','dist/vendor',{recursive:true})\"",
"build:mcp": "node ../../scripts/bundle-mcp.mjs",
"prepare:deps": "node ../../scripts/prepare-package-deps.mjs",
"package": "vsce package --no-dependencies",
"package:vsix": "npm run build && npm run build:mcp && npm run prepare:deps && npm run package",
"packx": "node scripts/package-vsix.cjs",
"packx:no-bump": "node scripts/package-vsix.cjs --no-bump",
"version:bump": "node scripts/bump-version.cjs",
"test": "node ./dist/test/runTest.js"
},
"dependencies": {
"@airtable-formula/shared": "workspace:*"
},
"devDependencies": {
"@types/node": "^20.0.0",
"@types/vscode": "^1.100.0",
"@vscode/test-electron": "^2.4.0",
"@vscode/vsce": "^3.0.0",
"airtable-user-mcp": "workspace:*",
"tsup": "^8.0.0",
"typescript": "^5.4.0",
"vitest": "^1.6.0"
}
}