@withpica/mcp-server-directory 1.5.0 → 1.6.0
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/CHANGELOG.md +20 -0
- package/README.md +1 -1
- package/dist/client.d.ts +16 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts +6 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +8 -1
- package/dist/config.js.map +1 -1
- package/dist/lib/changelog.generated.d.ts +2 -2
- package/dist/lib/changelog.generated.d.ts.map +1 -1
- package/dist/lib/changelog.generated.js +2 -2
- package/dist/lib/changelog.generated.js.map +1 -1
- package/dist/prompts/public-question-atlas.d.ts.map +1 -1
- package/dist/prompts/public-question-atlas.js +3 -0
- package/dist/prompts/public-question-atlas.js.map +1 -1
- package/dist/server.d.ts +9 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +15 -5
- package/dist/server.js.map +1 -1
- package/dist/tools/chain.d.ts +2 -2
- package/dist/tools/chain.d.ts.map +1 -1
- package/dist/tools/chain.js +15 -0
- package/dist/tools/chain.js.map +1 -1
- package/dist/tools/enquiries.d.ts +2 -2
- package/dist/tools/enquiries.d.ts.map +1 -1
- package/dist/tools/enquiries.js.map +1 -1
- package/dist/tools/index.d.ts +2 -2
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/people.d.ts +2 -2
- package/dist/tools/people.d.ts.map +1 -1
- package/dist/tools/people.js.map +1 -1
- package/dist/tools/recordings.d.ts +2 -2
- package/dist/tools/recordings.d.ts.map +1 -1
- package/dist/tools/recordings.js.map +1 -1
- package/dist/tools/release-notes.d.ts +2 -2
- package/dist/tools/release-notes.d.ts.map +1 -1
- package/dist/tools/release-notes.js.map +1 -1
- package/dist/tools/search.d.ts +2 -2
- package/dist/tools/search.d.ts.map +1 -1
- package/dist/tools/search.js.map +1 -1
- package/dist/tools/works.d.ts +2 -2
- package/dist/tools/works.d.ts.map +1 -1
- package/dist/tools/works.js.map +1 -1
- package/dist/utils/errors.d.ts +10 -0
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +33 -0
- package/dist/utils/errors.js.map +1 -1
- package/package.json +1 -1
- package/src/__tests__/tools/chain.test.ts +34 -0
- package/src/__tests__/utils/errors.test.ts +13 -0
- package/src/client.ts +16 -1
- package/src/config.ts +12 -1
- package/src/prompts/public-question-atlas.ts +3 -0
- package/src/server.ts +19 -7
- package/src/tools/chain.ts +18 -3
- package/src/tools/enquiries.ts +3 -3
- package/src/tools/index.ts +2 -2
- package/src/tools/people.ts +3 -3
- package/src/tools/recordings.ts +3 -3
- package/src/tools/release-notes.ts +2 -2
- package/src/tools/search.ts +3 -3
- package/src/tools/works.ts +3 -3
- package/src/utils/errors.ts +40 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { DirectoryApi } from "../client.js";
|
|
2
2
|
import { ToolDefinition, ToolExecutor } from "./index.js";
|
|
3
3
|
export declare class DirectoryRecordingsTools {
|
|
4
4
|
private client;
|
|
5
|
-
constructor(client:
|
|
5
|
+
constructor(client: DirectoryApi);
|
|
6
6
|
getTools(): Array<{
|
|
7
7
|
definition: ToolDefinition;
|
|
8
8
|
executor: ToolExecutor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recordings.d.ts","sourceRoot":"","sources":["../../src/tools/recordings.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"recordings.d.ts","sourceRoot":"","sources":["../../src/tools/recordings.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1D,qBAAa,wBAAwB;IACnC,OAAO,CAAC,MAAM,CAAe;gBAEjB,MAAM,EAAE,YAAY;IAIhC,QAAQ,IAAI,KAAK,CAAC;QAAE,UAAU,EAAE,cAAc,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAA;KAAE,CAAC;YAqF3D,gBAAgB;CAkD/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recordings.js","sourceRoot":"","sources":["../../src/tools/recordings.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAI7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,OAAO,wBAAwB;IAC3B,MAAM,
|
|
1
|
+
{"version":3,"file":"recordings.js","sourceRoot":"","sources":["../../src/tools/recordings.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,11 +8,11 @@
|
|
|
8
8
|
* .claude/rules/ip-protection.md). The CHANGELOG body is the same file
|
|
9
9
|
* shipped in the npm tarball, already vetted as public.
|
|
10
10
|
*/
|
|
11
|
-
import {
|
|
11
|
+
import type { DirectoryApi } from "../client.js";
|
|
12
12
|
import { ToolDefinition, ToolExecutor } from "./index.js";
|
|
13
13
|
export declare class DirectoryReleaseNotesTools {
|
|
14
14
|
private client;
|
|
15
|
-
constructor(client:
|
|
15
|
+
constructor(client: DirectoryApi);
|
|
16
16
|
getTools(): Array<{
|
|
17
17
|
definition: ToolDefinition;
|
|
18
18
|
executor: ToolExecutor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"release-notes.d.ts","sourceRoot":"","sources":["../../src/tools/release-notes.ts"],"names":[],"mappings":"AAIA;;;;;;;;;GASG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"release-notes.d.ts","sourceRoot":"","sources":["../../src/tools/release-notes.ts"],"names":[],"mappings":"AAIA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAc,MAAM,YAAY,CAAC;AAyBtE,qBAAa,0BAA0B;IACzB,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,YAAY;IAExC,QAAQ,IAAI,KAAK,CAAC;QAAE,UAAU,EAAE,cAAc,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAA;KAAE,CAAC;IA8CzE,OAAO,CAAC,YAAY,CAyDlB;CACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"release-notes.js","sourceRoot":"","sources":["../../src/tools/release-notes.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAiB7D,OAAO,EACL,kBAAkB,EAElB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,eAAe,GAChB,MAAM,+BAA+B,CAAC;AAEvC,MAAM,YAAY,GAAG,sDAAsD,CAAC;AAC5E,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,SAAS,GAAG,EAAE,CAAC;AAErB,SAAS,aAAa,CAAC,CAAS,EAAE,CAAS;IACzC,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3E,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9B,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC9B,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC9B,OAAO,EAAE,GAAG,EAAE,CAAC;AACjB,CAAC;AAED,MAAM,OAAO,0BAA0B;IACjB;IAApB,YAAoB,
|
|
1
|
+
{"version":3,"file":"release-notes.js","sourceRoot":"","sources":["../../src/tools/release-notes.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAiB7D,OAAO,EACL,kBAAkB,EAElB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,eAAe,GAChB,MAAM,+BAA+B,CAAC;AAEvC,MAAM,YAAY,GAAG,sDAAsD,CAAC;AAC5E,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,SAAS,GAAG,EAAE,CAAC;AAErB,SAAS,aAAa,CAAC,CAAS,EAAE,CAAS;IACzC,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3E,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9B,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC9B,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC9B,OAAO,EAAE,GAAG,EAAE,CAAC;AACjB,CAAC;AAED,MAAM,OAAO,0BAA0B;IACjB;IAApB,YAAoB,MAAoB;QAApB,WAAM,GAAN,MAAM,CAAc;IAAG,CAAC;IAE5C,QAAQ;QACN,OAAO;YACL;gBACE,UAAU,EAAE;oBACV,IAAI,EAAE,yBAAyB;oBAC/B,IAAI,EAAE,MAAM;oBACZ,WAAW,EACT,6DAA6D;wBAC7D,8DAA8D;wBAC9D,sCAAsC;wBACtC,6DAA6D;wBAC7D,uDAAuD;wBACvD,6DAA6D;wBAC7D,qDAAqD;wBACrD,yGAAyG;wBACzG,2EAA2E;wBAC3E,8CAA8C;wBAC9C,qEAAqE;oBACvE,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,aAAa,EAAE;gCACb,IAAI,EAAE,QAAQ;gCACd,WAAW,EACT,mEAAmE;oCACnE,kEAAkE;6BACrE;4BACD,KAAK,EAAE;gCACL,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,iDAAiD,aAAa,SAAS,SAAS,GAAG;6BACjG;4BACD,QAAQ,EAAE;gCACR,IAAI,EAAE,OAAO;gCACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,uBAAuB,CAAC,EAAE;gCAC7D,WAAW,EACT,qDAAqD;oCACrD,8EAA8E;6BACjF;yBACF;qBACF;iBACF;gBACD,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;aACvC;SACF,CAAC;IACJ,CAAC;IAEO,YAAY,GAAiB,KAAK,EACxC,IAAyB,EACJ,EAAE;QACvB,MAAM,YAAY,GAChB,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;QACrE,MAAM,QAAQ,GACZ,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC;QAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACrE,MAAM,aAAa,GAAkC,KAAK,CAAC,OAAO,CAChE,IAAI,CAAC,QAAQ,CACd;YACC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAU,EAA6B,EAAE,CAC7D,uBAAuB,CAAC,QAAQ,CAAC,CAAyB,CAAC,CAC5D;YACH,CAAC,CAAC,IAAI,CAAC;QAET,MAAM,GAAG,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAE7C,IAAI,QAAQ,GAAG,GAAG,CAAC;QACnB,IAAI,YAAY,EAAE,CAAC;YACjB,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3E,CAAC;QACD,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAEpC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAClC,MAAM,QAAQ,GAAG,aAAa;gBAC5B,CAAC,CAAC,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CACxC,aAAa,CAAC,QAAQ,CAAC,CAAyB,CAAC,CAClD,CACF;gBACH,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,QAAQ;gBACR,QAAQ,EAAE,CAAC,CAAC,QAAQ;aACrB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;wBACE,OAAO,EAAE,YAAY;wBACrB,eAAe,EAAE,eAAe;wBAChC,QAAQ;wBACR,YAAY,EAAE,YAAY;qBAC3B,EACD,IAAI,EACJ,CAAC,CACF;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CAAC;CACH"}
|
package/dist/tools/search.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { DirectoryApi } from "../client.js";
|
|
2
2
|
import { ToolDefinition, ToolExecutor } from "./index.js";
|
|
3
3
|
export declare class DirectorySearchTools {
|
|
4
4
|
private client;
|
|
5
|
-
constructor(client:
|
|
5
|
+
constructor(client: DirectoryApi);
|
|
6
6
|
getTools(): Array<{
|
|
7
7
|
definition: ToolDefinition;
|
|
8
8
|
executor: ToolExecutor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1D,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAe;gBAEjB,MAAM,EAAE,YAAY;IAIhC,QAAQ,IAAI,KAAK,CAAC;QAAE,UAAU,EAAE,cAAc,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAA;KAAE,CAAC;YAmC3D,MAAM;CAiBrB"}
|
package/dist/tools/search.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAI7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,OAAO,oBAAoB;IACvB,MAAM,
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAI7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,OAAO,oBAAoB;IACvB,MAAM,CAAe;IAE7B,YAAY,MAAoB;QAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,QAAQ;QACN,OAAO;YACL;gBACE,UAAU,EAAE;oBACV,IAAI,EAAE,kBAAkB;oBACxB,IAAI,EAAE,MAAM;oBACZ,WAAW,EACT,4DAA4D;wBAC5D,0BAA0B;wBAC1B,6CAA6C;wBAC7C,6HAA6H;wBAC7H,yFAAyF;wBACzF,yFAAyF;oBAC3F,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,KAAK,EAAE;gCACL,IAAI,EAAE,QAAQ;gCACd,WAAW,EACT,iEAAiE;6BACpE;4BACD,IAAI,EAAE;gCACJ,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;gCACzB,WAAW,EAAE,yCAAyC;6BACvD;yBACF;wBACD,QAAQ,EAAE,CAAC,OAAO,CAAC;qBACpB;iBACF;gBACD,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;aACjC;SACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,MAAM,CAAC,IAAyB;QAC5C,MAAM,MAAM,GAA2B;YACrC,CAAC,EAAE,IAAI,CAAC,KAAK;YACb,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,GAAG;SACZ,CAAC;QAEF,IAAI,IAAI,CAAC,IAAI;YAAE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAEvC,MAAM,QAAQ,GAAQ,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAEnE,OAAO,oBAAoB,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,EAAE,QAAQ,EAAE;YACzD,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,KAAK;YACxB,KAAK,EAAE,QAAQ,CAAC,UAAU,EAAE,KAAK,IAAI,CAAC;SACvC,CAAC,CAAC;IACL,CAAC;CACF"}
|
package/dist/tools/works.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { DirectoryApi } from "../client.js";
|
|
2
2
|
import { ToolDefinition, ToolExecutor } from "./index.js";
|
|
3
3
|
export declare class DirectoryWorksTools {
|
|
4
4
|
private client;
|
|
5
|
-
constructor(client:
|
|
5
|
+
constructor(client: DirectoryApi);
|
|
6
6
|
getTools(): Array<{
|
|
7
7
|
definition: ToolDefinition;
|
|
8
8
|
executor: ToolExecutor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"works.d.ts","sourceRoot":"","sources":["../../src/tools/works.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"works.d.ts","sourceRoot":"","sources":["../../src/tools/works.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1D,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAe;gBAEjB,MAAM,EAAE,YAAY;IAIhC,QAAQ,IAAI,KAAK,CAAC;QAAE,UAAU,EAAE,cAAc,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAA;KAAE,CAAC;YA2G3D,SAAS;YA2BT,UAAU;YA4HV,UAAU;CAYzB"}
|
package/dist/tools/works.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"works.js","sourceRoot":"","sources":["../../src/tools/works.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAI7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,OAAO,mBAAmB;IACtB,MAAM,
|
|
1
|
+
{"version":3,"file":"works.js","sourceRoot":"","sources":["../../src/tools/works.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/errors.d.ts
CHANGED
|
@@ -6,6 +6,16 @@ export declare class McpServerError extends Error {
|
|
|
6
6
|
export declare class ToolExecutionError extends McpServerError {
|
|
7
7
|
constructor(message: string, details?: any);
|
|
8
8
|
}
|
|
9
|
+
/**
|
|
10
|
+
* Status → code for a route refusal that carried no code of its own.
|
|
11
|
+
*
|
|
12
|
+
* ⚠️ A port of `STATUS_REFUSAL_CODES` in
|
|
13
|
+
* `mcp-server-shared/mcp-utils/src/errors.ts`. This package does not depend on
|
|
14
|
+
* `@withpica/mcp-utils` (it publishes on its own), so it cannot import the
|
|
15
|
+
* shared formatter; `scripts/__tests__/format-error-status-parity.test.ts`
|
|
16
|
+
* fails if the two tables disagree.
|
|
17
|
+
*/
|
|
18
|
+
export declare const STATUS_REFUSAL_CODES: Record<number, string>;
|
|
9
19
|
export declare function formatError(error: any): {
|
|
10
20
|
type: string;
|
|
11
21
|
text: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAEA,qBAAa,cAAe,SAAQ,KAAK;IAG9B,IAAI,EAAE,MAAM;IACZ,OAAO,CAAC,EAAE,GAAG;gBAFpB,OAAO,EAAE,MAAM,EACR,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,GAAG,YAAA;CAMvB;AAED,qBAAa,kBAAmB,SAAQ,cAAc;gBACxC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;CAI3C;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAEA,qBAAa,cAAe,SAAQ,KAAK;IAG9B,IAAI,EAAE,MAAM;IACZ,OAAO,CAAC,EAAE,GAAG;gBAFpB,OAAO,EAAE,MAAM,EACR,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,GAAG,YAAA;CAMvB;AAED,qBAAa,kBAAmB,SAAQ,cAAc;gBACxC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;CAI3C;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAOvD,CAAC;AAEF,wBAAgB,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CA6FtE;AA8BD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI,CAS1D"}
|
package/dist/utils/errors.js
CHANGED
|
@@ -16,6 +16,23 @@ export class ToolExecutionError extends McpServerError {
|
|
|
16
16
|
this.name = "ToolExecutionError";
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* Status → code for a route refusal that carried no code of its own.
|
|
21
|
+
*
|
|
22
|
+
* ⚠️ A port of `STATUS_REFUSAL_CODES` in
|
|
23
|
+
* `mcp-server-shared/mcp-utils/src/errors.ts`. This package does not depend on
|
|
24
|
+
* `@withpica/mcp-utils` (it publishes on its own), so it cannot import the
|
|
25
|
+
* shared formatter; `scripts/__tests__/format-error-status-parity.test.ts`
|
|
26
|
+
* fails if the two tables disagree.
|
|
27
|
+
*/
|
|
28
|
+
export const STATUS_REFUSAL_CODES = {
|
|
29
|
+
400: "VALIDATION_ERROR",
|
|
30
|
+
404: "NOT_FOUND",
|
|
31
|
+
409: "CONFLICT",
|
|
32
|
+
413: "PAYLOAD_TOO_LARGE",
|
|
33
|
+
415: "UNSUPPORTED_MEDIA_TYPE",
|
|
34
|
+
422: "VALIDATION_ERROR",
|
|
35
|
+
};
|
|
19
36
|
export function formatError(error) {
|
|
20
37
|
if (error instanceof McpServerError) {
|
|
21
38
|
return {
|
|
@@ -56,6 +73,22 @@ export function formatError(error) {
|
|
|
56
73
|
}, null, 2),
|
|
57
74
|
};
|
|
58
75
|
}
|
|
76
|
+
// A code-less 4xx is still a refusal; its status names the kind. Without
|
|
77
|
+
// this it read as UNKNOWN_ERROR, the bucket for an unclassified crash (ops
|
|
78
|
+
// issue 55510879 — the same defect in the shared formatter).
|
|
79
|
+
const status = error?.status;
|
|
80
|
+
const statusCode = typeof status === "number" ? STATUS_REFUSAL_CODES[status] : undefined;
|
|
81
|
+
if (statusCode) {
|
|
82
|
+
return {
|
|
83
|
+
type: "text",
|
|
84
|
+
text: JSON.stringify({
|
|
85
|
+
error: statusCode,
|
|
86
|
+
message: bodyMessage || rawMessage,
|
|
87
|
+
status,
|
|
88
|
+
...(bodyDetails !== undefined ? { details: bodyDetails } : {}),
|
|
89
|
+
}, null, 2),
|
|
90
|
+
};
|
|
91
|
+
}
|
|
59
92
|
return {
|
|
60
93
|
type: "text",
|
|
61
94
|
text: JSON.stringify({
|
package/dist/utils/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@withpica/mcp-server-directory",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"description": "MCP Server for the withPICA Public Directory — enables AI assistants to search verified works and creators",
|
|
5
5
|
"homepage": "https://withpica.com/connect",
|
|
6
6
|
"bugs": {
|
|
@@ -96,6 +96,40 @@ describe("DirectoryChainTools", () => {
|
|
|
96
96
|
});
|
|
97
97
|
});
|
|
98
98
|
|
|
99
|
+
it("forwards the ADR-321 rights filters only when true", async () => {
|
|
100
|
+
mockClient.request.mockResolvedValue({
|
|
101
|
+
success: true,
|
|
102
|
+
results: [],
|
|
103
|
+
total: 0,
|
|
104
|
+
});
|
|
105
|
+
const tool = chainTools
|
|
106
|
+
.getTools()
|
|
107
|
+
.find((t) => t.definition.name === "directory_chain")!;
|
|
108
|
+
|
|
109
|
+
await tool.executor({ programmable_only: true, ready_to_license: true });
|
|
110
|
+
expect(mockClient.request).toHaveBeenLastCalledWith("/chain", {
|
|
111
|
+
programmable_only: "true",
|
|
112
|
+
ready_to_license: "true",
|
|
113
|
+
});
|
|
114
|
+
|
|
115
|
+
// control: false (or a truthy non-boolean) is not forwarded
|
|
116
|
+
await tool.executor({
|
|
117
|
+
q: "song",
|
|
118
|
+
programmable_only: false,
|
|
119
|
+
ready_to_license: "yes",
|
|
120
|
+
});
|
|
121
|
+
expect(mockClient.request).toHaveBeenLastCalledWith("/chain", {
|
|
122
|
+
q: "song",
|
|
123
|
+
});
|
|
124
|
+
});
|
|
125
|
+
|
|
126
|
+
it("declares both rights filters as booleans in the schema", () => {
|
|
127
|
+
const props = chainTools.getTools()[0].definition.inputSchema
|
|
128
|
+
.properties as Record<string, { type: string }>;
|
|
129
|
+
expect(props.programmable_only.type).toBe("boolean");
|
|
130
|
+
expect(props.ready_to_license.type).toBe("boolean");
|
|
131
|
+
});
|
|
132
|
+
|
|
99
133
|
it("returns a human summary when no results", async () => {
|
|
100
134
|
mockClient.request.mockResolvedValue({
|
|
101
135
|
success: true,
|
|
@@ -46,6 +46,19 @@ describe("directory-mcp formatError structured-body decode", () => {
|
|
|
46
46
|
expect(parsed.message).toBe("nope");
|
|
47
47
|
});
|
|
48
48
|
|
|
49
|
+
// Ops issue 55510879: a code-less 4xx is a refusal; its status names it.
|
|
50
|
+
it("classifies a code-less 400 as VALIDATION_ERROR by status", () => {
|
|
51
|
+
const error = {
|
|
52
|
+
status: 400,
|
|
53
|
+
message:
|
|
54
|
+
"API request failed: 400 " +
|
|
55
|
+
JSON.stringify({ success: false, error: "name required" }),
|
|
56
|
+
};
|
|
57
|
+
const parsed = JSON.parse(formatError(error).text);
|
|
58
|
+
expect(parsed.error).toBe("VALIDATION_ERROR");
|
|
59
|
+
expect(parsed.message).toBe("name required");
|
|
60
|
+
});
|
|
61
|
+
|
|
49
62
|
it("recovers the real message from a coded-less body (no UNKNOWN noise)", () => {
|
|
50
63
|
const error = {
|
|
51
64
|
message: JSON.stringify({
|
package/src/client.ts
CHANGED
|
@@ -17,7 +17,22 @@ export interface DirectoryClientConfig {
|
|
|
17
17
|
debug?: boolean;
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
/**
|
|
21
|
+
* What the directory tools need from the API. `DirectoryClient` below talks to
|
|
22
|
+
* the public API over HTTP (the npm/stdio server). The hosted endpoint
|
|
23
|
+
* (app/api/mcp/directory in the pica app) supplies its own implementation that
|
|
24
|
+
* calls the same route handlers in-process, so the caller's IP still reaches
|
|
25
|
+
* every rate limit.
|
|
26
|
+
*/
|
|
27
|
+
export interface DirectoryApi {
|
|
28
|
+
request<T>(path: string, params?: Record<string, string>): Promise<T>;
|
|
29
|
+
workPageUrl(workId: string): string;
|
|
30
|
+
sendLicensingEnquiry(
|
|
31
|
+
body: Record<string, unknown>,
|
|
32
|
+
): Promise<{ status: number; json: any }>;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export class DirectoryClient implements DirectoryApi {
|
|
21
36
|
private baseUrl: string;
|
|
22
37
|
private debug: boolean;
|
|
23
38
|
|
package/src/config.ts
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
// Copyright (c) 2025-2026 Withpica Ltd. All rights reserved.
|
|
2
2
|
|
|
3
|
+
import { createRequire } from "node:module";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* The package's own version, read from package.json (src/ and dist/ both sit
|
|
7
|
+
* one level below it). It was hardcoded "1.0.0", so serverInfo never said
|
|
8
|
+
* which release an agent was talking to.
|
|
9
|
+
*/
|
|
10
|
+
export const PACKAGE_VERSION: string = createRequire(import.meta.url)(
|
|
11
|
+
"../package.json",
|
|
12
|
+
).version;
|
|
13
|
+
|
|
3
14
|
export interface ServerConfig {
|
|
4
15
|
directoryUrl: string;
|
|
5
16
|
serverName: string;
|
|
@@ -11,7 +22,7 @@ export function loadConfig(): ServerConfig {
|
|
|
11
22
|
return {
|
|
12
23
|
directoryUrl: process.env.PICA_DIRECTORY_URL || "https://withpica.com",
|
|
13
24
|
serverName: "pica-directory-mcp-server",
|
|
14
|
-
version:
|
|
25
|
+
version: PACKAGE_VERSION,
|
|
15
26
|
debug: process.env.DEBUG === "true" || process.env.DEBUG === "1",
|
|
16
27
|
};
|
|
17
28
|
}
|
|
@@ -575,6 +575,9 @@ export const PUBLIC_ATLAS: AtlasEntry[] = [
|
|
|
575
575
|
"contact the rights holder",
|
|
576
576
|
"who do I ask to license this?",
|
|
577
577
|
"I want to use this track in my project",
|
|
578
|
+
"ask the owner if I can license this",
|
|
579
|
+
"send a licensing enquiry for X",
|
|
580
|
+
"contact the rights holder about using this song",
|
|
578
581
|
],
|
|
579
582
|
resolves_to: { kind: "tool", name: "directory_send_licensing_enquiry" },
|
|
580
583
|
},
|
package/src/server.ts
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
4
4
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
5
|
+
import type { Transport } from "@modelcontextprotocol/sdk/shared/transport.js";
|
|
5
6
|
import {
|
|
6
7
|
CallToolRequestSchema,
|
|
7
8
|
ListToolsRequestSchema,
|
|
@@ -10,7 +11,7 @@ import {
|
|
|
10
11
|
ListPromptsRequestSchema,
|
|
11
12
|
GetPromptRequestSchema,
|
|
12
13
|
} from "@modelcontextprotocol/sdk/types.js";
|
|
13
|
-
import { DirectoryClient } from "./client.js";
|
|
14
|
+
import { DirectoryClient, type DirectoryApi } from "./client.js";
|
|
14
15
|
import { ServerConfig } from "./config.js";
|
|
15
16
|
import { ToolRegistry } from "./tools/index.js";
|
|
16
17
|
import { PromptRegistry } from "./prompts/index.js";
|
|
@@ -21,7 +22,7 @@ import { SkillsRegistry } from "./skills/index.js";
|
|
|
21
22
|
|
|
22
23
|
export class DirectoryMcpServer {
|
|
23
24
|
private server: Server;
|
|
24
|
-
private client:
|
|
25
|
+
private client: DirectoryApi;
|
|
25
26
|
private toolRegistry: ToolRegistry;
|
|
26
27
|
private promptRegistry: PromptRegistry;
|
|
27
28
|
private skillsRegistry: SkillsRegistry;
|
|
@@ -32,13 +33,19 @@ export class DirectoryMcpServer {
|
|
|
32
33
|
// pipeline today; this is provenance-only.
|
|
33
34
|
private clientAttributionLogged = false;
|
|
34
35
|
|
|
35
|
-
|
|
36
|
+
/**
|
|
37
|
+
* `client` defaults to the HTTP client for the public API (the npm/stdio
|
|
38
|
+
* server). The hosted endpoint passes an in-process one.
|
|
39
|
+
*/
|
|
40
|
+
constructor(config: ServerConfig, client?: DirectoryApi) {
|
|
36
41
|
this.config = config;
|
|
37
42
|
|
|
38
|
-
this.client =
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
43
|
+
this.client =
|
|
44
|
+
client ??
|
|
45
|
+
new DirectoryClient({
|
|
46
|
+
baseUrl: config.directoryUrl,
|
|
47
|
+
debug: config.debug,
|
|
48
|
+
});
|
|
42
49
|
|
|
43
50
|
this.server = new Server(
|
|
44
51
|
{
|
|
@@ -248,6 +255,11 @@ export class DirectoryMcpServer {
|
|
|
248
255
|
};
|
|
249
256
|
}
|
|
250
257
|
|
|
258
|
+
/** Serve over any MCP transport (the hosted endpoint uses Streamable HTTP). */
|
|
259
|
+
async connect(transport: Transport): Promise<void> {
|
|
260
|
+
await this.server.connect(transport);
|
|
261
|
+
}
|
|
262
|
+
|
|
251
263
|
async start(): Promise<void> {
|
|
252
264
|
const transport = new StdioServerTransport();
|
|
253
265
|
await this.server.connect(transport);
|
package/src/tools/chain.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
// Copyright (c) 2025-2026 Withpica Ltd. All rights reserved.
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import type { DirectoryApi } from "../client.js";
|
|
4
4
|
import { ToolDefinition, ToolExecutor } from "./index.js";
|
|
5
5
|
|
|
6
6
|
export class DirectoryChainTools {
|
|
7
|
-
private client:
|
|
7
|
+
private client: DirectoryApi;
|
|
8
8
|
|
|
9
|
-
constructor(client:
|
|
9
|
+
constructor(client: DirectoryApi) {
|
|
10
10
|
this.client = client;
|
|
11
11
|
}
|
|
12
12
|
|
|
@@ -26,6 +26,9 @@ export class DirectoryChainTools {
|
|
|
26
26
|
"Prefer over stitching list_works + lookup_work + lookup_person when you want the whole graph " +
|
|
27
27
|
"around a track in a single round-trip. " +
|
|
28
28
|
"Supports audio-only queries (min_bpm, key, mood, etc.) when you don't have a text query. " +
|
|
29
|
+
"Work results carry programmable_since (every owner confirmed a locked split) and " +
|
|
30
|
+
"ready_to_license (composition and a master confirmed, with audio, ISRC and ISWC); " +
|
|
31
|
+
"filter to either with programmable_only / ready_to_license. " +
|
|
29
32
|
"→ then: directory_lookup_work (deeper work detail), directory_lookup_person (research a named writer)",
|
|
30
33
|
inputSchema: {
|
|
31
34
|
type: "object",
|
|
@@ -62,6 +65,16 @@ export class DirectoryChainTools {
|
|
|
62
65
|
type: "string",
|
|
63
66
|
description: "Mood filter (exact match)",
|
|
64
67
|
},
|
|
68
|
+
programmable_only: {
|
|
69
|
+
type: "boolean",
|
|
70
|
+
description:
|
|
71
|
+
"Only programmable songs — every owner confirmed a locked split, so a licence fee is paid to each without chasing sign-off. Drops people from text results.",
|
|
72
|
+
},
|
|
73
|
+
ready_to_license: {
|
|
74
|
+
type: "boolean",
|
|
75
|
+
description:
|
|
76
|
+
"Only songs ready to license — composition and a master confirmed by every owner, that recording has audio and an ISRC, and the song has an ISWC. Audio results are the ready recordings themselves. Drops people from text results.",
|
|
77
|
+
},
|
|
65
78
|
limit: {
|
|
66
79
|
type: "number",
|
|
67
80
|
description: "Max results (default 10, max 20)",
|
|
@@ -94,6 +107,8 @@ export class DirectoryChainTools {
|
|
|
94
107
|
if (args.key) params.key = args.key;
|
|
95
108
|
if (args.key_mode) params.key_mode = args.key_mode;
|
|
96
109
|
if (args.mood) params.mood = args.mood;
|
|
110
|
+
if (args.programmable_only === true) params.programmable_only = "true";
|
|
111
|
+
if (args.ready_to_license === true) params.ready_to_license = "true";
|
|
97
112
|
|
|
98
113
|
const response: any = await this.client.request("/chain", params);
|
|
99
114
|
|
package/src/tools/enquiries.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Copyright (c) 2025-2026 Withpica Ltd. All rights reserved.
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import type { DirectoryApi } from "../client.js";
|
|
4
4
|
import { ToolDefinition, ToolExecutor, ToolResult } from "./index.js";
|
|
5
5
|
|
|
6
6
|
const PROJECT_TYPES = [
|
|
@@ -46,9 +46,9 @@ function outcomeUnknown(detail: string): ToolResult {
|
|
|
46
46
|
* switched enquiries off, and a budget is optional.
|
|
47
47
|
*/
|
|
48
48
|
export class DirectoryEnquiryTools {
|
|
49
|
-
private client:
|
|
49
|
+
private client: DirectoryApi;
|
|
50
50
|
|
|
51
|
-
constructor(client:
|
|
51
|
+
constructor(client: DirectoryApi) {
|
|
52
52
|
this.client = client;
|
|
53
53
|
}
|
|
54
54
|
|
package/src/tools/index.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Copyright (c) 2025-2026 Withpica Ltd. All rights reserved.
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import type { DirectoryApi } from "../client.js";
|
|
4
4
|
import { DirectoryWorksTools } from "./works.js";
|
|
5
5
|
import { DirectoryPeopleTools } from "./people.js";
|
|
6
6
|
import { DirectorySearchTools } from "./search.js";
|
|
@@ -47,7 +47,7 @@ export class ToolRegistry {
|
|
|
47
47
|
{ definition: ToolDefinition; executor: ToolExecutor }
|
|
48
48
|
>;
|
|
49
49
|
|
|
50
|
-
constructor(client:
|
|
50
|
+
constructor(client: DirectoryApi) {
|
|
51
51
|
this.tools = new Map();
|
|
52
52
|
|
|
53
53
|
const groups = [
|
package/src/tools/people.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
// Copyright (c) 2025-2026 Withpica Ltd. All rights reserved.
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import type { DirectoryApi } from "../client.js";
|
|
4
4
|
import { ToolDefinition, ToolExecutor } from "./index.js";
|
|
5
5
|
import { formatStructuredList } from "../utils/formatting.js";
|
|
6
6
|
|
|
7
7
|
export class DirectoryPeopleTools {
|
|
8
|
-
private client:
|
|
8
|
+
private client: DirectoryApi;
|
|
9
9
|
|
|
10
|
-
constructor(client:
|
|
10
|
+
constructor(client: DirectoryApi) {
|
|
11
11
|
this.client = client;
|
|
12
12
|
}
|
|
13
13
|
|
package/src/tools/recordings.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
// Copyright (c) 2025-2026 Withpica Ltd. All rights reserved.
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import type { DirectoryApi } from "../client.js";
|
|
4
4
|
import { ToolDefinition, ToolExecutor } from "./index.js";
|
|
5
5
|
import { formatStructuredList } from "../utils/formatting.js";
|
|
6
6
|
|
|
7
7
|
export class DirectoryRecordingsTools {
|
|
8
|
-
private client:
|
|
8
|
+
private client: DirectoryApi;
|
|
9
9
|
|
|
10
|
-
constructor(client:
|
|
10
|
+
constructor(client: DirectoryApi) {
|
|
11
11
|
this.client = client;
|
|
12
12
|
}
|
|
13
13
|
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* shipped in the npm tarball, already vetted as public.
|
|
14
14
|
*/
|
|
15
15
|
|
|
16
|
-
import {
|
|
16
|
+
import type { DirectoryApi } from "../client.js";
|
|
17
17
|
import { ToolDefinition, ToolExecutor, ToolResult } from "./index.js";
|
|
18
18
|
import {
|
|
19
19
|
parseChangelogText,
|
|
@@ -40,7 +40,7 @@ function compareSemver(a: string, b: string): number {
|
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
export class DirectoryReleaseNotesTools {
|
|
43
|
-
constructor(private client:
|
|
43
|
+
constructor(private client: DirectoryApi) {}
|
|
44
44
|
|
|
45
45
|
getTools(): Array<{ definition: ToolDefinition; executor: ToolExecutor }> {
|
|
46
46
|
return [
|
package/src/tools/search.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
// Copyright (c) 2025-2026 Withpica Ltd. All rights reserved.
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import type { DirectoryApi } from "../client.js";
|
|
4
4
|
import { ToolDefinition, ToolExecutor } from "./index.js";
|
|
5
5
|
import { formatStructuredList } from "../utils/formatting.js";
|
|
6
6
|
|
|
7
7
|
export class DirectorySearchTools {
|
|
8
|
-
private client:
|
|
8
|
+
private client: DirectoryApi;
|
|
9
9
|
|
|
10
|
-
constructor(client:
|
|
10
|
+
constructor(client: DirectoryApi) {
|
|
11
11
|
this.client = client;
|
|
12
12
|
}
|
|
13
13
|
|
package/src/tools/works.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
// Copyright (c) 2025-2026 Withpica Ltd. All rights reserved.
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import type { DirectoryApi } from "../client.js";
|
|
4
4
|
import { ToolDefinition, ToolExecutor } from "./index.js";
|
|
5
5
|
import { formatStructuredList } from "../utils/formatting.js";
|
|
6
6
|
|
|
7
7
|
export class DirectoryWorksTools {
|
|
8
|
-
private client:
|
|
8
|
+
private client: DirectoryApi;
|
|
9
9
|
|
|
10
|
-
constructor(client:
|
|
10
|
+
constructor(client: DirectoryApi) {
|
|
11
11
|
this.client = client;
|
|
12
12
|
}
|
|
13
13
|
|