@actioneer/ads-mcp 0.2.1 → 0.2.3
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/bin/ads-mcp.mjs +27 -11
- package/manifest.json +71 -106
- package/package.json +7 -3
package/bin/ads-mcp.mjs
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
// Manifest resolution order (first hit wins):
|
|
5
5
|
// 1. $ADS_MANIFEST (explicit path override)
|
|
6
6
|
// 2. @actioneer/ads/manifest.json (the consumer's installed ADS version —
|
|
7
|
-
//
|
|
8
|
-
//
|
|
7
|
+
// resolved from the consumer's CWD preferred, so the catalog matches what
|
|
8
|
+
// FIRST, then package-relative they actually import)
|
|
9
9
|
// 3. <this package>/manifest.json (the snapshot BUNDLED at publish time —
|
|
10
10
|
// makes `npx @actioneer/ads-mcp` work
|
|
11
11
|
// standalone, with no ADS installed)
|
|
@@ -15,22 +15,38 @@
|
|
|
15
15
|
|
|
16
16
|
import { readFileSync, existsSync } from "node:fs";
|
|
17
17
|
import { createRequire } from "node:module";
|
|
18
|
-
import { dirname, resolve } from "node:path";
|
|
19
|
-
import { fileURLToPath } from "node:url";
|
|
18
|
+
import { dirname, join, resolve } from "node:path";
|
|
19
|
+
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
20
20
|
import { startServer } from "../src/server.mjs";
|
|
21
21
|
|
|
22
22
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
23
|
-
const require = createRequire(import.meta.url);
|
|
24
23
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
24
|
+
/**
|
|
25
|
+
* Resolve `@actioneer/ads/manifest.json` from a given base (a file URL). Returns
|
|
26
|
+
* the absolute path or null if it isn't installed relative to that base.
|
|
27
|
+
* @param {URL|string} base
|
|
28
|
+
*/
|
|
29
|
+
function resolveInstalledManifest(base) {
|
|
29
30
|
try {
|
|
30
|
-
return
|
|
31
|
+
return createRequire(base).resolve("@actioneer/ads/manifest.json");
|
|
31
32
|
} catch {
|
|
32
|
-
|
|
33
|
+
return null;
|
|
33
34
|
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
function resolveManifestPath() {
|
|
38
|
+
// 1. Explicit override.
|
|
39
|
+
if (process.env.ADS_MANIFEST && existsSync(process.env.ADS_MANIFEST)) return process.env.ADS_MANIFEST;
|
|
40
|
+
// 2a. The consumer's PROJECT-installed @actioneer/ads, resolved from their CWD.
|
|
41
|
+
// `npx @actioneer/ads-mcp` runs from the npx cache, so an import.meta.url
|
|
42
|
+
// require never sees the consumer's node_modules — root the resolution at
|
|
43
|
+
// their package.json so the project's EXACT version wins over the bundled
|
|
44
|
+
// snapshot (best-effort; it's an optional peer).
|
|
45
|
+
const cwdInstalled = resolveInstalledManifest(pathToFileURL(join(process.cwd(), "package.json")));
|
|
46
|
+
if (cwdInstalled) return cwdInstalled;
|
|
47
|
+
// 2b. Package-relative install (this bin colocated with @actioneer/ads).
|
|
48
|
+
const pkgInstalled = resolveInstalledManifest(import.meta.url);
|
|
49
|
+
if (pkgInstalled) return pkgInstalled;
|
|
34
50
|
// 3. The snapshot bundled INTO this package by `prepack` — the self-contained
|
|
35
51
|
// fallback that guarantees a published install always has a catalog.
|
|
36
52
|
const bundled = resolve(__dirname, "../manifest.json");
|
package/manifest.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@actioneer/ads",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.3",
|
|
4
4
|
"importPath": "@actioneer/ads",
|
|
5
5
|
"styleImport": "@import \"@actioneer/ads/styles.css\";",
|
|
6
6
|
"families": [
|
|
@@ -17,10 +17,10 @@
|
|
|
17
17
|
],
|
|
18
18
|
"counts": {
|
|
19
19
|
"total": 583,
|
|
20
|
-
"component":
|
|
20
|
+
"component": 298,
|
|
21
21
|
"type": 236,
|
|
22
22
|
"hook": 6,
|
|
23
|
-
"util":
|
|
23
|
+
"util": 43
|
|
24
24
|
},
|
|
25
25
|
"tokens": [
|
|
26
26
|
{
|
|
@@ -1618,48 +1618,6 @@
|
|
|
1618
1618
|
"title"
|
|
1619
1619
|
]
|
|
1620
1620
|
},
|
|
1621
|
-
{
|
|
1622
|
-
"name": "ANSWER_TOOL_DESCRIPTION",
|
|
1623
|
-
"family": "Data display",
|
|
1624
|
-
"kind": "component",
|
|
1625
|
-
"importPath": "@actioneer/ads",
|
|
1626
|
-
"module": "answer",
|
|
1627
|
-
"showcaseUrl": "https://ads.actioneer.dev/#/ai/answer",
|
|
1628
|
-
"variants": {
|
|
1629
|
-
"tone": {
|
|
1630
|
-
"values": [
|
|
1631
|
-
"default",
|
|
1632
|
-
"primary",
|
|
1633
|
-
"success",
|
|
1634
|
-
"warning",
|
|
1635
|
-
"danger",
|
|
1636
|
-
"info"
|
|
1637
|
-
],
|
|
1638
|
-
"default": "default"
|
|
1639
|
-
}
|
|
1640
|
-
}
|
|
1641
|
-
},
|
|
1642
|
-
{
|
|
1643
|
-
"name": "ANSWER_TOOL_NAME",
|
|
1644
|
-
"family": "Data display",
|
|
1645
|
-
"kind": "component",
|
|
1646
|
-
"importPath": "@actioneer/ads",
|
|
1647
|
-
"module": "answer",
|
|
1648
|
-
"showcaseUrl": "https://ads.actioneer.dev/#/ai/answer",
|
|
1649
|
-
"variants": {
|
|
1650
|
-
"tone": {
|
|
1651
|
-
"values": [
|
|
1652
|
-
"default",
|
|
1653
|
-
"primary",
|
|
1654
|
-
"success",
|
|
1655
|
-
"warning",
|
|
1656
|
-
"danger",
|
|
1657
|
-
"info"
|
|
1658
|
-
],
|
|
1659
|
-
"default": "default"
|
|
1660
|
-
}
|
|
1661
|
-
}
|
|
1662
|
-
},
|
|
1663
1621
|
{
|
|
1664
1622
|
"name": "AnswerRenderer",
|
|
1665
1623
|
"family": "Data display",
|
|
@@ -3005,6 +2963,20 @@
|
|
|
3005
2963
|
"importPath": "@actioneer/ads",
|
|
3006
2964
|
"module": "answer"
|
|
3007
2965
|
},
|
|
2966
|
+
{
|
|
2967
|
+
"name": "ANSWER_TOOL_DESCRIPTION",
|
|
2968
|
+
"family": "Data display",
|
|
2969
|
+
"kind": "util",
|
|
2970
|
+
"importPath": "@actioneer/ads",
|
|
2971
|
+
"module": "answer"
|
|
2972
|
+
},
|
|
2973
|
+
{
|
|
2974
|
+
"name": "ANSWER_TOOL_NAME",
|
|
2975
|
+
"family": "Data display",
|
|
2976
|
+
"kind": "util",
|
|
2977
|
+
"importPath": "@actioneer/ads",
|
|
2978
|
+
"module": "answer"
|
|
2979
|
+
},
|
|
3008
2980
|
{
|
|
3009
2981
|
"name": "AnswerFollowUpSchema",
|
|
3010
2982
|
"family": "Data display",
|
|
@@ -4360,30 +4332,6 @@
|
|
|
4360
4332
|
"onReady"
|
|
4361
4333
|
]
|
|
4362
4334
|
},
|
|
4363
|
-
{
|
|
4364
|
-
"name": "VOICE_PALETTES",
|
|
4365
|
-
"family": "AI Elements",
|
|
4366
|
-
"kind": "component",
|
|
4367
|
-
"importPath": "@actioneer/ads",
|
|
4368
|
-
"module": "voice",
|
|
4369
|
-
"showcaseUrl": "https://ads.actioneer.dev/#/ai/voice"
|
|
4370
|
-
},
|
|
4371
|
-
{
|
|
4372
|
-
"name": "VOICE_STATES",
|
|
4373
|
-
"family": "AI Elements",
|
|
4374
|
-
"kind": "component",
|
|
4375
|
-
"importPath": "@actioneer/ads",
|
|
4376
|
-
"module": "voice",
|
|
4377
|
-
"showcaseUrl": "https://ads.actioneer.dev/#/ai/voice"
|
|
4378
|
-
},
|
|
4379
|
-
{
|
|
4380
|
-
"name": "VOICE_VARIANTS",
|
|
4381
|
-
"family": "AI Elements",
|
|
4382
|
-
"kind": "component",
|
|
4383
|
-
"importPath": "@actioneer/ads",
|
|
4384
|
-
"module": "voice",
|
|
4385
|
-
"showcaseUrl": "https://ads.actioneer.dev/#/ai/voice"
|
|
4386
|
-
},
|
|
4387
4335
|
{
|
|
4388
4336
|
"name": "VoiceConnectButton",
|
|
4389
4337
|
"family": "AI Elements",
|
|
@@ -5071,14 +5019,25 @@
|
|
|
5071
5019
|
"module": "tool"
|
|
5072
5020
|
},
|
|
5073
5021
|
{
|
|
5074
|
-
"name": "
|
|
5075
|
-
"family": "
|
|
5076
|
-
"kind": "
|
|
5022
|
+
"name": "VOICE_PALETTES",
|
|
5023
|
+
"family": "AI Elements",
|
|
5024
|
+
"kind": "util",
|
|
5077
5025
|
"importPath": "@actioneer/ads",
|
|
5078
|
-
"module": "
|
|
5079
|
-
|
|
5080
|
-
|
|
5081
|
-
"
|
|
5026
|
+
"module": "voice"
|
|
5027
|
+
},
|
|
5028
|
+
{
|
|
5029
|
+
"name": "VOICE_STATES",
|
|
5030
|
+
"family": "AI Elements",
|
|
5031
|
+
"kind": "util",
|
|
5032
|
+
"importPath": "@actioneer/ads",
|
|
5033
|
+
"module": "voice"
|
|
5034
|
+
},
|
|
5035
|
+
{
|
|
5036
|
+
"name": "VOICE_VARIANTS",
|
|
5037
|
+
"family": "AI Elements",
|
|
5038
|
+
"kind": "util",
|
|
5039
|
+
"importPath": "@actioneer/ads",
|
|
5040
|
+
"module": "voice"
|
|
5082
5041
|
},
|
|
5083
5042
|
{
|
|
5084
5043
|
"name": "AssistantActionBar",
|
|
@@ -5290,16 +5249,6 @@
|
|
|
5290
5249
|
"note": "Vendored assistant-ui component. Props follow upstream assistant-ui, not ADS conventions; the chat family needs an <AssistantRuntimeProvider> (chat runtime) and a <TooltipProvider> ancestor. Import from \"@actioneer/ads\" like any ADS export.",
|
|
5291
5250
|
"showcaseUrl": "https://ads.actioneer.dev/#/demo/ask"
|
|
5292
5251
|
},
|
|
5293
|
-
{
|
|
5294
|
-
"name": "CONTEXT_MIME",
|
|
5295
|
-
"family": "Chat",
|
|
5296
|
-
"kind": "component",
|
|
5297
|
-
"importPath": "@actioneer/ads",
|
|
5298
|
-
"module": "composer-add-context",
|
|
5299
|
-
"vendored": true,
|
|
5300
|
-
"note": "Vendored assistant-ui component. Props follow upstream assistant-ui, not ADS conventions; the chat family needs an <AssistantRuntimeProvider> (chat runtime) and a <TooltipProvider> ancestor. Import from \"@actioneer/ads\" like any ADS export.",
|
|
5301
|
-
"showcaseUrl": "https://ads.actioneer.dev/#/demo/ask"
|
|
5302
|
-
},
|
|
5303
5252
|
{
|
|
5304
5253
|
"name": "DeepResearchProvider",
|
|
5305
5254
|
"family": "Chat",
|
|
@@ -5330,16 +5279,6 @@
|
|
|
5330
5279
|
"note": "Vendored assistant-ui component. Props follow upstream assistant-ui, not ADS conventions; the chat family needs an <AssistantRuntimeProvider> (chat runtime) and a <TooltipProvider> ancestor. Import from \"@actioneer/ads\" like any ADS export.",
|
|
5331
5280
|
"showcaseUrl": "https://ads.actioneer.dev/#/demo/ask"
|
|
5332
5281
|
},
|
|
5333
|
-
{
|
|
5334
|
-
"name": "EMPTY_COMPONENTS",
|
|
5335
|
-
"family": "Chat",
|
|
5336
|
-
"kind": "component",
|
|
5337
|
-
"importPath": "@actioneer/ads",
|
|
5338
|
-
"module": "thread-context",
|
|
5339
|
-
"vendored": true,
|
|
5340
|
-
"note": "Vendored assistant-ui component. Props follow upstream assistant-ui, not ADS conventions; the chat family needs an <AssistantRuntimeProvider> (chat runtime) and a <TooltipProvider> ancestor. Import from \"@actioneer/ads\" like any ADS export.",
|
|
5341
|
-
"showcaseUrl": "https://ads.actioneer.dev/#/demo/ask"
|
|
5342
|
-
},
|
|
5343
5282
|
{
|
|
5344
5283
|
"name": "ErrorRoot",
|
|
5345
5284
|
"family": "Chat",
|
|
@@ -5430,16 +5369,6 @@
|
|
|
5430
5369
|
"note": "Vendored assistant-ui component. Props follow upstream assistant-ui, not ADS conventions; the chat family needs an <AssistantRuntimeProvider> (chat runtime) and a <TooltipProvider> ancestor. Import from \"@actioneer/ads\" like any ADS export.",
|
|
5431
5370
|
"showcaseUrl": "https://ads.actioneer.dev/#/demo/ask"
|
|
5432
5371
|
},
|
|
5433
|
-
{
|
|
5434
|
-
"name": "HARNESS_MIME",
|
|
5435
|
-
"family": "Chat",
|
|
5436
|
-
"kind": "component",
|
|
5437
|
-
"importPath": "@actioneer/ads",
|
|
5438
|
-
"module": "composer-harness",
|
|
5439
|
-
"vendored": true,
|
|
5440
|
-
"note": "Vendored assistant-ui component. Props follow upstream assistant-ui, not ADS conventions; the chat family needs an <AssistantRuntimeProvider> (chat runtime) and a <TooltipProvider> ancestor. Import from \"@actioneer/ads\" like any ADS export.",
|
|
5441
|
-
"showcaseUrl": "https://ads.actioneer.dev/#/demo/ask"
|
|
5442
|
-
},
|
|
5443
5372
|
{
|
|
5444
5373
|
"name": "Image",
|
|
5445
5374
|
"family": "Chat",
|
|
@@ -6138,6 +6067,15 @@
|
|
|
6138
6067
|
"vendored": true,
|
|
6139
6068
|
"note": "Vendored assistant-ui component. Props follow upstream assistant-ui, not ADS conventions; the chat family needs an <AssistantRuntimeProvider> (chat runtime) and a <TooltipProvider> ancestor. Import from \"@actioneer/ads\" like any ADS export."
|
|
6140
6069
|
},
|
|
6070
|
+
{
|
|
6071
|
+
"name": "ACTIONEER_FILE_ACCEPT",
|
|
6072
|
+
"family": "Chat",
|
|
6073
|
+
"kind": "util",
|
|
6074
|
+
"importPath": "@actioneer/ads",
|
|
6075
|
+
"module": "attachment",
|
|
6076
|
+
"vendored": true,
|
|
6077
|
+
"note": "Vendored assistant-ui component. Props follow upstream assistant-ui, not ADS conventions; the chat family needs an <AssistantRuntimeProvider> (chat runtime) and a <TooltipProvider> ancestor. Import from \"@actioneer/ads\" like any ADS export."
|
|
6078
|
+
},
|
|
6141
6079
|
{
|
|
6142
6080
|
"name": "ActioneerFileAttachmentAdapter",
|
|
6143
6081
|
"family": "Chat",
|
|
@@ -6165,6 +6103,15 @@
|
|
|
6165
6103
|
"vendored": true,
|
|
6166
6104
|
"note": "Vendored assistant-ui component. Props follow upstream assistant-ui, not ADS conventions; the chat family needs an <AssistantRuntimeProvider> (chat runtime) and a <TooltipProvider> ancestor. Import from \"@actioneer/ads\" like any ADS export."
|
|
6167
6105
|
},
|
|
6106
|
+
{
|
|
6107
|
+
"name": "CONTEXT_MIME",
|
|
6108
|
+
"family": "Chat",
|
|
6109
|
+
"kind": "util",
|
|
6110
|
+
"importPath": "@actioneer/ads",
|
|
6111
|
+
"module": "composer-add-context",
|
|
6112
|
+
"vendored": true,
|
|
6113
|
+
"note": "Vendored assistant-ui component. Props follow upstream assistant-ui, not ADS conventions; the chat family needs an <AssistantRuntimeProvider> (chat runtime) and a <TooltipProvider> ancestor. Import from \"@actioneer/ads\" like any ADS export."
|
|
6114
|
+
},
|
|
6168
6115
|
{
|
|
6169
6116
|
"name": "ContextAttachmentAdapter",
|
|
6170
6117
|
"family": "Chat",
|
|
@@ -6183,6 +6130,15 @@
|
|
|
6183
6130
|
"vendored": true,
|
|
6184
6131
|
"note": "Vendored assistant-ui component. Props follow upstream assistant-ui, not ADS conventions; the chat family needs an <AssistantRuntimeProvider> (chat runtime) and a <TooltipProvider> ancestor. Import from \"@actioneer/ads\" like any ADS export."
|
|
6185
6132
|
},
|
|
6133
|
+
{
|
|
6134
|
+
"name": "EMPTY_COMPONENTS",
|
|
6135
|
+
"family": "Chat",
|
|
6136
|
+
"kind": "util",
|
|
6137
|
+
"importPath": "@actioneer/ads",
|
|
6138
|
+
"module": "thread-context",
|
|
6139
|
+
"vendored": true,
|
|
6140
|
+
"note": "Vendored assistant-ui component. Props follow upstream assistant-ui, not ADS conventions; the chat family needs an <AssistantRuntimeProvider> (chat runtime) and a <TooltipProvider> ancestor. Import from \"@actioneer/ads\" like any ADS export."
|
|
6141
|
+
},
|
|
6186
6142
|
{
|
|
6187
6143
|
"name": "fileVariants",
|
|
6188
6144
|
"family": "Chat",
|
|
@@ -6219,6 +6175,15 @@
|
|
|
6219
6175
|
"vendored": true,
|
|
6220
6176
|
"note": "Vendored assistant-ui component. Props follow upstream assistant-ui, not ADS conventions; the chat family needs an <AssistantRuntimeProvider> (chat runtime) and a <TooltipProvider> ancestor. Import from \"@actioneer/ads\" like any ADS export."
|
|
6221
6177
|
},
|
|
6178
|
+
{
|
|
6179
|
+
"name": "HARNESS_MIME",
|
|
6180
|
+
"family": "Chat",
|
|
6181
|
+
"kind": "util",
|
|
6182
|
+
"importPath": "@actioneer/ads",
|
|
6183
|
+
"module": "composer-harness",
|
|
6184
|
+
"vendored": true,
|
|
6185
|
+
"note": "Vendored assistant-ui component. Props follow upstream assistant-ui, not ADS conventions; the chat family needs an <AssistantRuntimeProvider> (chat runtime) and a <TooltipProvider> ancestor. Import from \"@actioneer/ads\" like any ADS export."
|
|
6186
|
+
},
|
|
6222
6187
|
{
|
|
6223
6188
|
"name": "HarnessAttachmentAdapter",
|
|
6224
6189
|
"family": "Chat",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@actioneer/ads-mcp",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.3",
|
|
4
4
|
"description": "ADS MCP server: lets an agent in Claude Code / Cursor discover and import the Actioneer Design System",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -31,8 +31,12 @@
|
|
|
31
31
|
"typescript": ">=5"
|
|
32
32
|
},
|
|
33
33
|
"peerDependenciesMeta": {
|
|
34
|
-
"@actioneer/ads": {
|
|
35
|
-
|
|
34
|
+
"@actioneer/ads": {
|
|
35
|
+
"optional": true
|
|
36
|
+
},
|
|
37
|
+
"typescript": {
|
|
38
|
+
"optional": true
|
|
39
|
+
}
|
|
36
40
|
},
|
|
37
41
|
"publishConfig": {
|
|
38
42
|
"access": "public"
|