@hasna/skills 0.10.68 → 0.10.69
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/index.js +105 -6
- package/bin/mcp.js +114 -10
- package/bin/migrate.js +2 -1
- package/bin/server.js +2 -1
- package/bin/worker.js +2 -1
- package/dist/index.js +2 -1
- package/dist/mcp/invitation-recovery.d.ts +6 -0
- package/dist/mcp/package-tool-list.d.ts +19 -0
- package/dist/mcp/server.d.ts +2 -0
- package/dist/runtime-prerequisites.js +2 -1
- package/dist/sdk/index.js +2 -1
- package/package.json +2 -1
package/bin/index.js
CHANGED
|
@@ -36888,7 +36888,7 @@ var package_default;
|
|
|
36888
36888
|
var init_package = __esm(() => {
|
|
36889
36889
|
package_default = {
|
|
36890
36890
|
name: "@hasna/skills",
|
|
36891
|
-
version: "0.10.
|
|
36891
|
+
version: "0.10.69",
|
|
36892
36892
|
description: "Skills library for AI coding agents",
|
|
36893
36893
|
type: "module",
|
|
36894
36894
|
bin: {
|
|
@@ -36954,6 +36954,7 @@ var init_package = __esm(() => {
|
|
|
36954
36954
|
"verify:release": "bun run scripts/release-guard.ts",
|
|
36955
36955
|
"verify:release-review": "bun run scripts/verify-release-review.ts",
|
|
36956
36956
|
"verify:consumer-types": "bun run scripts/consumer-types.ts",
|
|
36957
|
+
"verify:consumer-mcp": "bun run scripts/consumer-mcp.ts",
|
|
36957
36958
|
prepack: "bun run verify:generated && bun run verify:release && bun run verify:consumer-types",
|
|
36958
36959
|
prepublishOnly: "bun run verify:producer && bun run typecheck && bun run test",
|
|
36959
36960
|
"verify:producer": "bun run scripts/release-dependencies.ts",
|
|
@@ -113534,23 +113535,120 @@ var init_remote_customer_tools = __esm(() => {
|
|
|
113534
113535
|
init_remote_files();
|
|
113535
113536
|
});
|
|
113536
113537
|
|
|
113538
|
+
// src/mcp/package-tool-list.ts
|
|
113539
|
+
function servePackageZodToolList(server) {
|
|
113540
|
+
const tools = new Map;
|
|
113541
|
+
let installed = false;
|
|
113542
|
+
const track = (name, tool, input2, output2) => {
|
|
113543
|
+
tools.set(name, { tool, input: input2, output: output2 });
|
|
113544
|
+
const update2 = tool.update.bind(tool);
|
|
113545
|
+
tool.update = (updates) => {
|
|
113546
|
+
update2(updates);
|
|
113547
|
+
const entry = tools.get(name);
|
|
113548
|
+
if (!entry)
|
|
113549
|
+
return;
|
|
113550
|
+
if (updates.paramsSchema !== undefined)
|
|
113551
|
+
entry.input = updates.paramsSchema;
|
|
113552
|
+
if (updates.outputSchema !== undefined)
|
|
113553
|
+
entry.output = updates.outputSchema;
|
|
113554
|
+
if (updates.name !== undefined && updates.name !== name) {
|
|
113555
|
+
tools.delete(name);
|
|
113556
|
+
if (updates.name) {
|
|
113557
|
+
name = updates.name;
|
|
113558
|
+
tools.set(name, entry);
|
|
113559
|
+
}
|
|
113560
|
+
}
|
|
113561
|
+
};
|
|
113562
|
+
if (!installed) {
|
|
113563
|
+
installed = true;
|
|
113564
|
+
server.server.setRequestHandler(ListToolsRequestSchema, () => ({ tools: listTools(tools) }));
|
|
113565
|
+
}
|
|
113566
|
+
};
|
|
113567
|
+
const registerTool = server.registerTool.bind(server);
|
|
113568
|
+
server.registerTool = (name, config2, cb) => {
|
|
113569
|
+
const tool = registerTool(name, config2, cb);
|
|
113570
|
+
track(name, tool, config2.inputSchema, config2.outputSchema);
|
|
113571
|
+
return tool;
|
|
113572
|
+
};
|
|
113573
|
+
const legacyTool = server.tool.bind(server);
|
|
113574
|
+
server.tool = (name, ...rest2) => {
|
|
113575
|
+
const tool = legacyTool(name, ...rest2);
|
|
113576
|
+
track(name, tool, legacyInputSchema(rest2), undefined);
|
|
113577
|
+
return tool;
|
|
113578
|
+
};
|
|
113579
|
+
}
|
|
113580
|
+
function listTools(tools) {
|
|
113581
|
+
return [...tools].filter(([, entry]) => entry.tool.enabled).map(([name, { tool, input: input2, output: output2 }]) => {
|
|
113582
|
+
const definition = {
|
|
113583
|
+
name,
|
|
113584
|
+
title: tool.title,
|
|
113585
|
+
description: tool.description,
|
|
113586
|
+
inputSchema: jsonSchema(input2, "input") ?? EMPTY_OBJECT_JSON_SCHEMA2,
|
|
113587
|
+
annotations: tool.annotations,
|
|
113588
|
+
execution: tool.execution,
|
|
113589
|
+
_meta: tool._meta
|
|
113590
|
+
};
|
|
113591
|
+
const outputSchema = jsonSchema(output2, "output");
|
|
113592
|
+
if (outputSchema)
|
|
113593
|
+
definition.outputSchema = outputSchema;
|
|
113594
|
+
return definition;
|
|
113595
|
+
});
|
|
113596
|
+
}
|
|
113597
|
+
function isZodTypeLike2(value) {
|
|
113598
|
+
return typeof value === "object" && value !== null && typeof value.parse === "function" && typeof value.safeParse === "function";
|
|
113599
|
+
}
|
|
113600
|
+
function isRawShape(value) {
|
|
113601
|
+
if (typeof value !== "object" || value === null || "_def" in value || "_zod" in value || isZodTypeLike2(value))
|
|
113602
|
+
return false;
|
|
113603
|
+
const values2 = Object.values(value);
|
|
113604
|
+
return values2.length === 0 || values2.some(isZodTypeLike2);
|
|
113605
|
+
}
|
|
113606
|
+
function legacyInputSchema(rest2) {
|
|
113607
|
+
const args = [...rest2];
|
|
113608
|
+
if (typeof args[0] === "string")
|
|
113609
|
+
args.shift();
|
|
113610
|
+
return args.length > 1 && isRawShape(args[0]) ? args[0] : undefined;
|
|
113611
|
+
}
|
|
113612
|
+
function jsonSchema(schema, io) {
|
|
113613
|
+
if (schema === undefined || schema === null)
|
|
113614
|
+
return;
|
|
113615
|
+
const object10 = isRawShape(schema) ? exports_external.object(schema) : schema;
|
|
113616
|
+
const def = object10._zod?.def;
|
|
113617
|
+
if (!def)
|
|
113618
|
+
throw new Error("Skills MCP tool schemas must be built with this package's zod 4");
|
|
113619
|
+
if (def.type !== "object" && def.shape === undefined)
|
|
113620
|
+
return;
|
|
113621
|
+
return exports_external.toJSONSchema(object10, { target: "draft-7", io });
|
|
113622
|
+
}
|
|
113623
|
+
var EMPTY_OBJECT_JSON_SCHEMA2;
|
|
113624
|
+
var init_package_tool_list = __esm(() => {
|
|
113625
|
+
init_types2();
|
|
113626
|
+
init_zod();
|
|
113627
|
+
EMPTY_OBJECT_JSON_SCHEMA2 = { type: "object", properties: {} };
|
|
113628
|
+
});
|
|
113629
|
+
|
|
113537
113630
|
// src/mcp/server.ts
|
|
113538
113631
|
var exports_server = {};
|
|
113539
113632
|
__export(exports_server, {
|
|
113540
113633
|
server: () => server,
|
|
113634
|
+
registerSkillsTools: () => registerSkillsTools,
|
|
113541
113635
|
buildServer: () => buildServer
|
|
113542
113636
|
});
|
|
113543
|
-
function
|
|
113544
|
-
const server = new McpServer({
|
|
113545
|
-
name: "skills",
|
|
113546
|
-
version: package_default.version
|
|
113547
|
-
});
|
|
113637
|
+
function registerSkillsTools(server) {
|
|
113548
113638
|
registerDiscoveryTools(server);
|
|
113549
113639
|
registerOperationTools(server);
|
|
113550
113640
|
registerScheduleTools(server);
|
|
113551
113641
|
registerStorageTools(server);
|
|
113552
113642
|
registerResourceMetaTools(server);
|
|
113553
113643
|
registerRemoteCustomerTools(server);
|
|
113644
|
+
}
|
|
113645
|
+
function buildServer() {
|
|
113646
|
+
const server = new McpServer({
|
|
113647
|
+
name: "skills",
|
|
113648
|
+
version: package_default.version
|
|
113649
|
+
});
|
|
113650
|
+
servePackageZodToolList(server);
|
|
113651
|
+
registerSkillsTools(server);
|
|
113554
113652
|
return server;
|
|
113555
113653
|
}
|
|
113556
113654
|
var server;
|
|
@@ -113563,6 +113661,7 @@ var init_server3 = __esm(() => {
|
|
|
113563
113661
|
init_schedule_tools();
|
|
113564
113662
|
init_storage_tools();
|
|
113565
113663
|
init_remote_customer_tools();
|
|
113664
|
+
init_package_tool_list();
|
|
113566
113665
|
server = buildServer();
|
|
113567
113666
|
});
|
|
113568
113667
|
|
package/bin/mcp.js
CHANGED
|
@@ -23,7 +23,7 @@ var package_default;
|
|
|
23
23
|
var init_package = __esm(() => {
|
|
24
24
|
package_default = {
|
|
25
25
|
name: "@hasna/skills",
|
|
26
|
-
version: "0.10.
|
|
26
|
+
version: "0.10.69",
|
|
27
27
|
description: "Skills library for AI coding agents",
|
|
28
28
|
type: "module",
|
|
29
29
|
bin: {
|
|
@@ -89,6 +89,7 @@ var init_package = __esm(() => {
|
|
|
89
89
|
"verify:release": "bun run scripts/release-guard.ts",
|
|
90
90
|
"verify:release-review": "bun run scripts/verify-release-review.ts",
|
|
91
91
|
"verify:consumer-types": "bun run scripts/consumer-types.ts",
|
|
92
|
+
"verify:consumer-mcp": "bun run scripts/consumer-mcp.ts",
|
|
92
93
|
prepack: "bun run verify:generated && bun run verify:release && bun run verify:consumer-types",
|
|
93
94
|
prepublishOnly: "bun run verify:producer && bun run typecheck && bun run test",
|
|
94
95
|
"verify:producer": "bun run scripts/release-dependencies.ts",
|
|
@@ -47922,24 +47923,121 @@ var init_remote_customer_tools = __esm(() => {
|
|
|
47922
47923
|
init_remote_files();
|
|
47923
47924
|
});
|
|
47924
47925
|
|
|
47926
|
+
// src/mcp/package-tool-list.ts
|
|
47927
|
+
import { ListToolsRequestSchema } from "@modelcontextprotocol/sdk/types.js";
|
|
47928
|
+
function servePackageZodToolList(server) {
|
|
47929
|
+
const tools = new Map;
|
|
47930
|
+
let installed = false;
|
|
47931
|
+
const track = (name, tool, input2, output2) => {
|
|
47932
|
+
tools.set(name, { tool, input: input2, output: output2 });
|
|
47933
|
+
const update = tool.update.bind(tool);
|
|
47934
|
+
tool.update = (updates) => {
|
|
47935
|
+
update(updates);
|
|
47936
|
+
const entry = tools.get(name);
|
|
47937
|
+
if (!entry)
|
|
47938
|
+
return;
|
|
47939
|
+
if (updates.paramsSchema !== undefined)
|
|
47940
|
+
entry.input = updates.paramsSchema;
|
|
47941
|
+
if (updates.outputSchema !== undefined)
|
|
47942
|
+
entry.output = updates.outputSchema;
|
|
47943
|
+
if (updates.name !== undefined && updates.name !== name) {
|
|
47944
|
+
tools.delete(name);
|
|
47945
|
+
if (updates.name) {
|
|
47946
|
+
name = updates.name;
|
|
47947
|
+
tools.set(name, entry);
|
|
47948
|
+
}
|
|
47949
|
+
}
|
|
47950
|
+
};
|
|
47951
|
+
if (!installed) {
|
|
47952
|
+
installed = true;
|
|
47953
|
+
server.server.setRequestHandler(ListToolsRequestSchema, () => ({ tools: listTools(tools) }));
|
|
47954
|
+
}
|
|
47955
|
+
};
|
|
47956
|
+
const registerTool = server.registerTool.bind(server);
|
|
47957
|
+
server.registerTool = (name, config2, cb) => {
|
|
47958
|
+
const tool = registerTool(name, config2, cb);
|
|
47959
|
+
track(name, tool, config2.inputSchema, config2.outputSchema);
|
|
47960
|
+
return tool;
|
|
47961
|
+
};
|
|
47962
|
+
const legacyTool = server.tool.bind(server);
|
|
47963
|
+
server.tool = (name, ...rest) => {
|
|
47964
|
+
const tool = legacyTool(name, ...rest);
|
|
47965
|
+
track(name, tool, legacyInputSchema(rest), undefined);
|
|
47966
|
+
return tool;
|
|
47967
|
+
};
|
|
47968
|
+
}
|
|
47969
|
+
function listTools(tools) {
|
|
47970
|
+
return [...tools].filter(([, entry]) => entry.tool.enabled).map(([name, { tool, input: input2, output: output2 }]) => {
|
|
47971
|
+
const definition = {
|
|
47972
|
+
name,
|
|
47973
|
+
title: tool.title,
|
|
47974
|
+
description: tool.description,
|
|
47975
|
+
inputSchema: jsonSchema(input2, "input") ?? EMPTY_OBJECT_JSON_SCHEMA,
|
|
47976
|
+
annotations: tool.annotations,
|
|
47977
|
+
execution: tool.execution,
|
|
47978
|
+
_meta: tool._meta
|
|
47979
|
+
};
|
|
47980
|
+
const outputSchema = jsonSchema(output2, "output");
|
|
47981
|
+
if (outputSchema)
|
|
47982
|
+
definition.outputSchema = outputSchema;
|
|
47983
|
+
return definition;
|
|
47984
|
+
});
|
|
47985
|
+
}
|
|
47986
|
+
function isZodTypeLike(value) {
|
|
47987
|
+
return typeof value === "object" && value !== null && typeof value.parse === "function" && typeof value.safeParse === "function";
|
|
47988
|
+
}
|
|
47989
|
+
function isRawShape(value) {
|
|
47990
|
+
if (typeof value !== "object" || value === null || "_def" in value || "_zod" in value || isZodTypeLike(value))
|
|
47991
|
+
return false;
|
|
47992
|
+
const values = Object.values(value);
|
|
47993
|
+
return values.length === 0 || values.some(isZodTypeLike);
|
|
47994
|
+
}
|
|
47995
|
+
function legacyInputSchema(rest) {
|
|
47996
|
+
const args = [...rest];
|
|
47997
|
+
if (typeof args[0] === "string")
|
|
47998
|
+
args.shift();
|
|
47999
|
+
return args.length > 1 && isRawShape(args[0]) ? args[0] : undefined;
|
|
48000
|
+
}
|
|
48001
|
+
function jsonSchema(schema, io) {
|
|
48002
|
+
if (schema === undefined || schema === null)
|
|
48003
|
+
return;
|
|
48004
|
+
const object7 = isRawShape(schema) ? exports_external.object(schema) : schema;
|
|
48005
|
+
const def = object7._zod?.def;
|
|
48006
|
+
if (!def)
|
|
48007
|
+
throw new Error("Skills MCP tool schemas must be built with this package's zod 4");
|
|
48008
|
+
if (def.type !== "object" && def.shape === undefined)
|
|
48009
|
+
return;
|
|
48010
|
+
return exports_external.toJSONSchema(object7, { target: "draft-7", io });
|
|
48011
|
+
}
|
|
48012
|
+
var EMPTY_OBJECT_JSON_SCHEMA;
|
|
48013
|
+
var init_package_tool_list = __esm(() => {
|
|
48014
|
+
init_zod();
|
|
48015
|
+
EMPTY_OBJECT_JSON_SCHEMA = { type: "object", properties: {} };
|
|
48016
|
+
});
|
|
48017
|
+
|
|
47925
48018
|
// src/mcp/server.ts
|
|
47926
48019
|
var exports_server = {};
|
|
47927
48020
|
__export(exports_server, {
|
|
47928
48021
|
server: () => server,
|
|
48022
|
+
registerSkillsTools: () => registerSkillsTools,
|
|
47929
48023
|
buildServer: () => buildServer
|
|
47930
48024
|
});
|
|
47931
48025
|
import { McpServer as McpServer2 } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
47932
|
-
function
|
|
47933
|
-
const server = new McpServer2({
|
|
47934
|
-
name: "skills",
|
|
47935
|
-
version: package_default.version
|
|
47936
|
-
});
|
|
48026
|
+
function registerSkillsTools(server) {
|
|
47937
48027
|
registerDiscoveryTools(server);
|
|
47938
48028
|
registerOperationTools(server);
|
|
47939
48029
|
registerScheduleTools(server);
|
|
47940
48030
|
registerStorageTools(server);
|
|
47941
48031
|
registerResourceMetaTools(server);
|
|
47942
48032
|
registerRemoteCustomerTools(server);
|
|
48033
|
+
}
|
|
48034
|
+
function buildServer() {
|
|
48035
|
+
const server = new McpServer2({
|
|
48036
|
+
name: "skills",
|
|
48037
|
+
version: package_default.version
|
|
48038
|
+
});
|
|
48039
|
+
servePackageZodToolList(server);
|
|
48040
|
+
registerSkillsTools(server);
|
|
47943
48041
|
return server;
|
|
47944
48042
|
}
|
|
47945
48043
|
var server;
|
|
@@ -47951,6 +48049,7 @@ var init_server = __esm(() => {
|
|
|
47951
48049
|
init_schedule_tools();
|
|
47952
48050
|
init_storage_tools();
|
|
47953
48051
|
init_remote_customer_tools();
|
|
48052
|
+
init_package_tool_list();
|
|
47954
48053
|
server = buildServer();
|
|
47955
48054
|
});
|
|
47956
48055
|
|
|
@@ -47985,7 +48084,8 @@ var init_invitation_recovery_target = __esm(() => {
|
|
|
47985
48084
|
// src/mcp/invitation-recovery.ts
|
|
47986
48085
|
var exports_invitation_recovery = {};
|
|
47987
48086
|
__export(exports_invitation_recovery, {
|
|
47988
|
-
startInvitationRecoveryMcp: () => startInvitationRecoveryMcp
|
|
48087
|
+
startInvitationRecoveryMcp: () => startInvitationRecoveryMcp,
|
|
48088
|
+
registerInvitationRecoveryTools: () => registerInvitationRecoveryTools
|
|
47989
48089
|
});
|
|
47990
48090
|
import { McpServer as McpServer3 } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
47991
48091
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
@@ -47994,9 +48094,14 @@ async function startInvitationRecoveryMcp(args, env = process.env) {
|
|
|
47994
48094
|
throw new Error("Use only --invitation-recovery --stdio with an explicit Skills API URL.");
|
|
47995
48095
|
const target = prepareInvitationRecoveryTarget(env);
|
|
47996
48096
|
const server2 = new McpServer3({ name: "skills-invitation-recovery", version: package_default.version });
|
|
48097
|
+
servePackageZodToolList(server2);
|
|
48098
|
+
registerInvitationRecoveryTools(server2, new RemoteSkillsAuthClient(target.origin), target);
|
|
48099
|
+
target.unchanged();
|
|
48100
|
+
await server2.connect(new StdioServerTransport);
|
|
48101
|
+
}
|
|
48102
|
+
function registerInvitationRecoveryTools(server2, client, target) {
|
|
47997
48103
|
const uuid9 = exports_external.string().regex(/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/);
|
|
47998
48104
|
const proof = { invitationId: uuid9, challengeId: uuid9, token: exports_external.string().regex(/^[A-Za-z0-9_-]{43}$/).describe("Invitation secret, only in this request; never logged or persisted."), confirm: exports_external.literal(true) };
|
|
47999
|
-
const client = new RemoteSkillsAuthClient(target.origin);
|
|
48000
48105
|
server2.registerTool("request_invitation_email_challenge", {
|
|
48001
48106
|
title: "Request Invitation Recovery Code",
|
|
48002
48107
|
description: "Existing accounts without usable memberships only. Retain the caller challenge UUID before this single request. The response does not confirm eligibility or email delivery. No automatic retry or credential writes.",
|
|
@@ -48025,8 +48130,6 @@ async function startInvitationRecoveryMcp(args, env = process.env) {
|
|
|
48025
48130
|
return mcpError(result.code, result.error);
|
|
48026
48131
|
}
|
|
48027
48132
|
});
|
|
48028
|
-
target.unchanged();
|
|
48029
|
-
await server2.connect(new StdioServerTransport);
|
|
48030
48133
|
}
|
|
48031
48134
|
var init_invitation_recovery = __esm(() => {
|
|
48032
48135
|
init_zod();
|
|
@@ -48036,6 +48139,7 @@ var init_invitation_recovery = __esm(() => {
|
|
|
48036
48139
|
init_remote_auth();
|
|
48037
48140
|
init_remote_invitation_recovery();
|
|
48038
48141
|
init_helpers();
|
|
48142
|
+
init_package_tool_list();
|
|
48039
48143
|
});
|
|
48040
48144
|
|
|
48041
48145
|
// src/mcp/http.ts
|
package/bin/migrate.js
CHANGED
|
@@ -25,7 +25,7 @@ import { join as join5 } from "path";
|
|
|
25
25
|
// package.json
|
|
26
26
|
var package_default = {
|
|
27
27
|
name: "@hasna/skills",
|
|
28
|
-
version: "0.10.
|
|
28
|
+
version: "0.10.69",
|
|
29
29
|
description: "Skills library for AI coding agents",
|
|
30
30
|
type: "module",
|
|
31
31
|
bin: {
|
|
@@ -91,6 +91,7 @@ var package_default = {
|
|
|
91
91
|
"verify:release": "bun run scripts/release-guard.ts",
|
|
92
92
|
"verify:release-review": "bun run scripts/verify-release-review.ts",
|
|
93
93
|
"verify:consumer-types": "bun run scripts/consumer-types.ts",
|
|
94
|
+
"verify:consumer-mcp": "bun run scripts/consumer-mcp.ts",
|
|
94
95
|
prepack: "bun run verify:generated && bun run verify:release && bun run verify:consumer-types",
|
|
95
96
|
prepublishOnly: "bun run verify:producer && bun run typecheck && bun run test",
|
|
96
97
|
"verify:producer": "bun run scripts/release-dependencies.ts",
|
package/bin/server.js
CHANGED
|
@@ -24140,7 +24140,7 @@ restoreLaunchCwd();
|
|
|
24140
24140
|
// package.json
|
|
24141
24141
|
var package_default = {
|
|
24142
24142
|
name: "@hasna/skills",
|
|
24143
|
-
version: "0.10.
|
|
24143
|
+
version: "0.10.69",
|
|
24144
24144
|
description: "Skills library for AI coding agents",
|
|
24145
24145
|
type: "module",
|
|
24146
24146
|
bin: {
|
|
@@ -24206,6 +24206,7 @@ var package_default = {
|
|
|
24206
24206
|
"verify:release": "bun run scripts/release-guard.ts",
|
|
24207
24207
|
"verify:release-review": "bun run scripts/verify-release-review.ts",
|
|
24208
24208
|
"verify:consumer-types": "bun run scripts/consumer-types.ts",
|
|
24209
|
+
"verify:consumer-mcp": "bun run scripts/consumer-mcp.ts",
|
|
24209
24210
|
prepack: "bun run verify:generated && bun run verify:release && bun run verify:consumer-types",
|
|
24210
24211
|
prepublishOnly: "bun run verify:producer && bun run typecheck && bun run test",
|
|
24211
24212
|
"verify:producer": "bun run scripts/release-dependencies.ts",
|
package/bin/worker.js
CHANGED
|
@@ -24143,7 +24143,7 @@ import { randomUUID as randomUUID6 } from "crypto";
|
|
|
24143
24143
|
// package.json
|
|
24144
24144
|
var package_default = {
|
|
24145
24145
|
name: "@hasna/skills",
|
|
24146
|
-
version: "0.10.
|
|
24146
|
+
version: "0.10.69",
|
|
24147
24147
|
description: "Skills library for AI coding agents",
|
|
24148
24148
|
type: "module",
|
|
24149
24149
|
bin: {
|
|
@@ -24209,6 +24209,7 @@ var package_default = {
|
|
|
24209
24209
|
"verify:release": "bun run scripts/release-guard.ts",
|
|
24210
24210
|
"verify:release-review": "bun run scripts/verify-release-review.ts",
|
|
24211
24211
|
"verify:consumer-types": "bun run scripts/consumer-types.ts",
|
|
24212
|
+
"verify:consumer-mcp": "bun run scripts/consumer-mcp.ts",
|
|
24212
24213
|
prepack: "bun run verify:generated && bun run verify:release && bun run verify:consumer-types",
|
|
24213
24214
|
prepublishOnly: "bun run verify:producer && bun run typecheck && bun run test",
|
|
24214
24215
|
"verify:producer": "bun run scripts/release-dependencies.ts",
|
package/dist/index.js
CHANGED
|
@@ -11923,7 +11923,7 @@ function replaceSkillSession(expected, replacement, plan, options = {}, beforeCo
|
|
|
11923
11923
|
});
|
|
11924
11924
|
}
|
|
11925
11925
|
// package.json
|
|
11926
|
-
var version = "0.10.
|
|
11926
|
+
var version = "0.10.69";
|
|
11927
11927
|
var package_default = {
|
|
11928
11928
|
name: "@hasna/skills",
|
|
11929
11929
|
version,
|
|
@@ -11992,6 +11992,7 @@ var package_default = {
|
|
|
11992
11992
|
"verify:release": "bun run scripts/release-guard.ts",
|
|
11993
11993
|
"verify:release-review": "bun run scripts/verify-release-review.ts",
|
|
11994
11994
|
"verify:consumer-types": "bun run scripts/consumer-types.ts",
|
|
11995
|
+
"verify:consumer-mcp": "bun run scripts/consumer-mcp.ts",
|
|
11995
11996
|
prepack: "bun run verify:generated && bun run verify:release && bun run verify:consumer-types",
|
|
11996
11997
|
prepublishOnly: "bun run verify:producer && bun run typecheck && bun run test",
|
|
11997
11998
|
"verify:producer": "bun run scripts/release-dependencies.ts",
|
|
@@ -1,2 +1,8 @@
|
|
|
1
|
+
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
import { RemoteSkillsAuthClient } from "../lib/remote-auth.js";
|
|
1
3
|
/** Dedicated anonymous proof surface. Ordinary tools and credential resolution are not initialized. */
|
|
2
4
|
export declare function startInvitationRecoveryMcp(args: string[], env?: Record<string, string | undefined>): Promise<void>;
|
|
5
|
+
/** Register the two anonymous invitation recovery tools on `server`. */
|
|
6
|
+
export declare function registerInvitationRecoveryTools(server: McpServer, client: RemoteSkillsAuthClient, target: {
|
|
7
|
+
unchanged(): void;
|
|
8
|
+
}): void;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
/**
|
|
3
|
+
* Serve tools/list with JSON Schema converted by this package's own zod.
|
|
4
|
+
*
|
|
5
|
+
* bin/mcp.js bundles zod but loads the MCP SDK from the consumer's
|
|
6
|
+
* node_modules, and the SDK may resolve a different zod. The SDK's own
|
|
7
|
+
* tools/list converts each input schema with its zod; when that zod is older
|
|
8
|
+
* than the one that built the schema it fails (`ctx.deferred.push`) or
|
|
9
|
+
* advertises degraded schemas. This records the schemas each tool is
|
|
10
|
+
* registered with and converts them exactly as the SDK does (draft-7, `io`
|
|
11
|
+
* input/output, raw shapes as objects), but with the zod that built them.
|
|
12
|
+
* Argument validation for tools/call stays with the SDK.
|
|
13
|
+
*
|
|
14
|
+
* Call it right after constructing the server and before registering tools.
|
|
15
|
+
* Both `registerTool` and the positional `tool()` form are covered.
|
|
16
|
+
*/
|
|
17
|
+
export declare function servePackageZodToolList(server: McpServer): void;
|
|
18
|
+
/** The input schema the SDK's positional `tool()` form takes from its arguments. */
|
|
19
|
+
export declare function legacyInputSchema(rest: readonly unknown[]): unknown;
|
package/dist/mcp/server.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
/** Register every Skills tool and resource on `server`. */
|
|
3
|
+
export declare function registerSkillsTools(server: McpServer): void;
|
|
2
4
|
export declare function buildServer(): McpServer;
|
|
3
5
|
/** @deprecated Use buildServer() — kept for internal imports during migration */
|
|
4
6
|
export declare const server: McpServer;
|
|
@@ -49,7 +49,7 @@ var __require = import.meta.require;
|
|
|
49
49
|
// src/runtime-prerequisites.ts
|
|
50
50
|
import { isAbsolute as isAbsolute5 } from "path";
|
|
51
51
|
// package.json
|
|
52
|
-
var version = "0.10.
|
|
52
|
+
var version = "0.10.69";
|
|
53
53
|
var package_default = {
|
|
54
54
|
name: "@hasna/skills",
|
|
55
55
|
version,
|
|
@@ -118,6 +118,7 @@ var package_default = {
|
|
|
118
118
|
"verify:release": "bun run scripts/release-guard.ts",
|
|
119
119
|
"verify:release-review": "bun run scripts/verify-release-review.ts",
|
|
120
120
|
"verify:consumer-types": "bun run scripts/consumer-types.ts",
|
|
121
|
+
"verify:consumer-mcp": "bun run scripts/consumer-mcp.ts",
|
|
121
122
|
prepack: "bun run verify:generated && bun run verify:release && bun run verify:consumer-types",
|
|
122
123
|
prepublishOnly: "bun run verify:producer && bun run typecheck && bun run test",
|
|
123
124
|
"verify:producer": "bun run scripts/release-dependencies.ts",
|
package/dist/sdk/index.js
CHANGED
|
@@ -32371,7 +32371,7 @@ var init_event_sink = __esm(() => {
|
|
|
32371
32371
|
init_dist();
|
|
32372
32372
|
});
|
|
32373
32373
|
// package.json
|
|
32374
|
-
var version = "0.10.
|
|
32374
|
+
var version = "0.10.69";
|
|
32375
32375
|
var package_default = {
|
|
32376
32376
|
name: "@hasna/skills",
|
|
32377
32377
|
version,
|
|
@@ -32440,6 +32440,7 @@ var package_default = {
|
|
|
32440
32440
|
"verify:release": "bun run scripts/release-guard.ts",
|
|
32441
32441
|
"verify:release-review": "bun run scripts/verify-release-review.ts",
|
|
32442
32442
|
"verify:consumer-types": "bun run scripts/consumer-types.ts",
|
|
32443
|
+
"verify:consumer-mcp": "bun run scripts/consumer-mcp.ts",
|
|
32443
32444
|
prepack: "bun run verify:generated && bun run verify:release && bun run verify:consumer-types",
|
|
32444
32445
|
prepublishOnly: "bun run verify:producer && bun run typecheck && bun run test",
|
|
32445
32446
|
"verify:producer": "bun run scripts/release-dependencies.ts",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hasna/skills",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.69",
|
|
4
4
|
"description": "Skills library for AI coding agents",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -66,6 +66,7 @@
|
|
|
66
66
|
"verify:release": "bun run scripts/release-guard.ts",
|
|
67
67
|
"verify:release-review": "bun run scripts/verify-release-review.ts",
|
|
68
68
|
"verify:consumer-types": "bun run scripts/consumer-types.ts",
|
|
69
|
+
"verify:consumer-mcp": "bun run scripts/consumer-mcp.ts",
|
|
69
70
|
"prepack": "bun run verify:generated && bun run verify:release && bun run verify:consumer-types",
|
|
70
71
|
"prepublishOnly": "bun run verify:producer && bun run typecheck && bun run test",
|
|
71
72
|
"verify:producer": "bun run scripts/release-dependencies.ts",
|