@blink-authority-com/claude-code-plugin 1.0.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/LICENSE +21 -0
- package/README.md +146 -0
- package/dist/bsec-client.d.ts +35 -0
- package/dist/bsec-client.d.ts.map +1 -0
- package/dist/bsec-client.js +122 -0
- package/dist/bsec-client.js.map +1 -0
- package/dist/docs/cache.d.ts +19 -0
- package/dist/docs/cache.d.ts.map +1 -0
- package/dist/docs/cache.js +92 -0
- package/dist/docs/cache.js.map +1 -0
- package/dist/docs/fetcher.d.ts +19 -0
- package/dist/docs/fetcher.d.ts.map +1 -0
- package/dist/docs/fetcher.js +81 -0
- package/dist/docs/fetcher.js.map +1 -0
- package/dist/docs/parser.d.ts +33 -0
- package/dist/docs/parser.d.ts.map +1 -0
- package/dist/docs/parser.js +145 -0
- package/dist/docs/parser.js.map +1 -0
- package/dist/docs/search.d.ts +38 -0
- package/dist/docs/search.d.ts.map +1 -0
- package/dist/docs/search.js +180 -0
- package/dist/docs/search.js.map +1 -0
- package/dist/docs/tools/api.d.ts +12 -0
- package/dist/docs/tools/api.d.ts.map +1 -0
- package/dist/docs/tools/api.js +58 -0
- package/dist/docs/tools/api.js.map +1 -0
- package/dist/docs/tools/cli.d.ts +12 -0
- package/dist/docs/tools/cli.d.ts.map +1 -0
- package/dist/docs/tools/cli.js +56 -0
- package/dist/docs/tools/cli.js.map +1 -0
- package/dist/docs/tools/concepts.d.ts +18 -0
- package/dist/docs/tools/concepts.d.ts.map +1 -0
- package/dist/docs/tools/concepts.js +136 -0
- package/dist/docs/tools/concepts.js.map +1 -0
- package/dist/docs/tools/sdk.d.ts +12 -0
- package/dist/docs/tools/sdk.d.ts.map +1 -0
- package/dist/docs/tools/sdk.js +72 -0
- package/dist/docs/tools/sdk.js.map +1 -0
- package/dist/docs/tools/search.d.ts +11 -0
- package/dist/docs/tools/search.d.ts.map +1 -0
- package/dist/docs/tools/search.js +36 -0
- package/dist/docs/tools/search.js.map +1 -0
- package/dist/docs/types.d.ts +70 -0
- package/dist/docs/types.d.ts.map +1 -0
- package/dist/docs/types.js +8 -0
- package/dist/docs/types.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +622 -0
- package/dist/index.js.map +1 -0
- package/dist/prompts/debug.d.ts +16 -0
- package/dist/prompts/debug.d.ts.map +1 -0
- package/dist/prompts/debug.js +34 -0
- package/dist/prompts/debug.js.map +1 -0
- package/dist/prompts/integrate.d.ts +16 -0
- package/dist/prompts/integrate.d.ts.map +1 -0
- package/dist/prompts/integrate.js +30 -0
- package/dist/prompts/integrate.js.map +1 -0
- package/dist/prompts/review.d.ts +16 -0
- package/dist/prompts/review.d.ts.map +1 -0
- package/dist/prompts/review.js +28 -0
- package/dist/prompts/review.js.map +1 -0
- package/dist/resources/changelog.d.ts +22 -0
- package/dist/resources/changelog.d.ts.map +1 -0
- package/dist/resources/changelog.js +55 -0
- package/dist/resources/changelog.js.map +1 -0
- package/dist/resources/errors.d.ts +16 -0
- package/dist/resources/errors.d.ts.map +1 -0
- package/dist/resources/errors.js +103 -0
- package/dist/resources/errors.js.map +1 -0
- package/dist/resources/patterns.d.ts +16 -0
- package/dist/resources/patterns.d.ts.map +1 -0
- package/dist/resources/patterns.js +151 -0
- package/dist/resources/patterns.js.map +1 -0
- package/dist/templates/approval-workflow.d.ts +6 -0
- package/dist/templates/approval-workflow.d.ts.map +1 -0
- package/dist/templates/approval-workflow.js +467 -0
- package/dist/templates/approval-workflow.js.map +1 -0
- package/dist/templates/audit-trail.d.ts +6 -0
- package/dist/templates/audit-trail.d.ts.map +1 -0
- package/dist/templates/audit-trail.js +396 -0
- package/dist/templates/audit-trail.js.map +1 -0
- package/dist/templates/cli-tool.d.ts +6 -0
- package/dist/templates/cli-tool.d.ts.map +1 -0
- package/dist/templates/cli-tool.js +346 -0
- package/dist/templates/cli-tool.js.map +1 -0
- package/dist/templates/express-api.d.ts +6 -0
- package/dist/templates/express-api.d.ts.map +1 -0
- package/dist/templates/express-api.js +314 -0
- package/dist/templates/express-api.js.map +1 -0
- package/dist/templates/notary.d.ts +6 -0
- package/dist/templates/notary.d.ts.map +1 -0
- package/dist/templates/notary.js +360 -0
- package/dist/templates/notary.js.map +1 -0
- package/dist/test.d.ts +8 -0
- package/dist/test.d.ts.map +1 -0
- package/dist/test.js +140 -0
- package/dist/test.js.map +1 -0
- package/dist/tools/add-signing.d.ts +19 -0
- package/dist/tools/add-signing.d.ts.map +1 -0
- package/dist/tools/add-signing.js +317 -0
- package/dist/tools/add-signing.js.map +1 -0
- package/dist/tools/decode.d.ts +13 -0
- package/dist/tools/decode.d.ts.map +1 -0
- package/dist/tools/decode.js +262 -0
- package/dist/tools/decode.js.map +1 -0
- package/dist/tools/hierarchy.d.ts +13 -0
- package/dist/tools/hierarchy.d.ts.map +1 -0
- package/dist/tools/hierarchy.js +319 -0
- package/dist/tools/hierarchy.js.map +1 -0
- package/dist/tools/lint.d.ts +13 -0
- package/dist/tools/lint.d.ts.map +1 -0
- package/dist/tools/lint.js +323 -0
- package/dist/tools/lint.js.map +1 -0
- package/dist/tools/scaffold.d.ts +11 -0
- package/dist/tools/scaffold.d.ts.map +1 -0
- package/dist/tools/scaffold.js +84 -0
- package/dist/tools/scaffold.js.map +1 -0
- package/dist/tools/sign-test.d.ts +17 -0
- package/dist/tools/sign-test.d.ts.map +1 -0
- package/dist/tools/sign-test.js +126 -0
- package/dist/tools/sign-test.js.map +1 -0
- package/dist/tools/test-vectors.d.ts +13 -0
- package/dist/tools/test-vectors.d.ts.map +1 -0
- package/dist/tools/test-vectors.js +169 -0
- package/dist/tools/test-vectors.js.map +1 -0
- package/dist/tools/verify-local.d.ts +17 -0
- package/dist/tools/verify-local.d.ts.map +1 -0
- package/dist/tools/verify-local.js +233 -0
- package/dist/tools/verify-local.js.map +1 -0
- package/dist/tools/verify-test.d.ts +17 -0
- package/dist/tools/verify-test.d.ts.map +1 -0
- package/dist/tools/verify-test.js +107 -0
- package/dist/tools/verify-test.js.map +1 -0
- package/package.json +54 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* blink-debug MCP prompt.
|
|
3
|
+
*
|
|
4
|
+
* Debug a BLINK signing or verification issue.
|
|
5
|
+
*/
|
|
6
|
+
export function getDebugPrompt(args) {
|
|
7
|
+
const error = args.error || args.issue || '';
|
|
8
|
+
const code = args.code || '';
|
|
9
|
+
let text = 'The user is having a BLINK signing/verification issue.\n\n' +
|
|
10
|
+
`Issue: ${error}\n`;
|
|
11
|
+
if (code) {
|
|
12
|
+
text += `\nRelevant code:\n\`\`\`\n${code}\n\`\`\`\n`;
|
|
13
|
+
}
|
|
14
|
+
text +=
|
|
15
|
+
'\nDebugging steps:\n' +
|
|
16
|
+
'1. If an envelope is provided, use blink_decode_envelope to inspect it\n' +
|
|
17
|
+
'2. If a P_derive key is available, use blink_verify_local to check the proof chain\n' +
|
|
18
|
+
'3. Check blink://errors for matching error codes\n' +
|
|
19
|
+
'4. Identify the root cause and provide a fix\n' +
|
|
20
|
+
'5. If the issue requires a live BSEC connection, suggest using blink_sign_test or blink_verify_test';
|
|
21
|
+
return {
|
|
22
|
+
description: 'Debug a BLINK signing or verification issue',
|
|
23
|
+
messages: [
|
|
24
|
+
{
|
|
25
|
+
role: 'user',
|
|
26
|
+
content: {
|
|
27
|
+
type: 'text',
|
|
28
|
+
text,
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
],
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=debug.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/prompts/debug.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,UAAU,cAAc,CAAC,IAA4B;IAIzD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;IAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;IAE7B,IAAI,IAAI,GACN,4DAA4D;QAC5D,UAAU,KAAK,IAAI,CAAC;IAEtB,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,IAAI,6BAA6B,IAAI,YAAY,CAAC;IACxD,CAAC;IAED,IAAI;QACF,sBAAsB;YACtB,0EAA0E;YAC1E,sFAAsF;YACtF,oDAAoD;YACpD,gDAAgD;YAChD,qGAAqG,CAAC;IAExG,OAAO;QACL,WAAW,EAAE,6CAA6C;QAC1D,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,IAAI;iBACL;aACF;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* blink-integrate MCP prompt.
|
|
3
|
+
*
|
|
4
|
+
* Guide integration of BLINK signing into an existing project.
|
|
5
|
+
*/
|
|
6
|
+
export declare function getIntegratePrompt(args: Record<string, string>): {
|
|
7
|
+
description: string;
|
|
8
|
+
messages: Array<{
|
|
9
|
+
role: string;
|
|
10
|
+
content: {
|
|
11
|
+
type: string;
|
|
12
|
+
text: string;
|
|
13
|
+
};
|
|
14
|
+
}>;
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=integrate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integrate.d.ts","sourceRoot":"","sources":["../../src/prompts/integrate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG;IAChE,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;CAC5E,CAyBA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* blink-integrate MCP prompt.
|
|
3
|
+
*
|
|
4
|
+
* Guide integration of BLINK signing into an existing project.
|
|
5
|
+
*/
|
|
6
|
+
export function getIntegratePrompt(args) {
|
|
7
|
+
const projectType = args.project_type || 'api';
|
|
8
|
+
const language = args.language || 'typescript';
|
|
9
|
+
return {
|
|
10
|
+
description: 'Add BLINK signing to this project',
|
|
11
|
+
messages: [
|
|
12
|
+
{
|
|
13
|
+
role: 'user',
|
|
14
|
+
content: {
|
|
15
|
+
type: 'text',
|
|
16
|
+
text: 'The user wants to add BLINK signing to their project.\n\n' +
|
|
17
|
+
`Project type: ${projectType}\n` +
|
|
18
|
+
`Language: ${language}\n\n` +
|
|
19
|
+
'Steps:\n' +
|
|
20
|
+
'1. Analyse the existing codebase to understand the architecture\n' +
|
|
21
|
+
'2. Identify the best integration points for BLINK signing\n' +
|
|
22
|
+
'3. Use blink_add_signing to generate the integration code\n' +
|
|
23
|
+
'4. Use blink_lint to validate the result\n' +
|
|
24
|
+
'5. Provide a step-by-step integration guide',
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
],
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=integrate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integrate.js","sourceRoot":"","sources":["../../src/prompts/integrate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,UAAU,kBAAkB,CAAC,IAA4B;IAI7D,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC;IAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,YAAY,CAAC;IAE/C,OAAO;QACL,WAAW,EAAE,mCAAmC;QAChD,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,IAAI,EACF,2DAA2D;wBAC3D,iBAAiB,WAAW,IAAI;wBAChC,aAAa,QAAQ,MAAM;wBAC3B,UAAU;wBACV,mEAAmE;wBACnE,6DAA6D;wBAC7D,6DAA6D;wBAC7D,4CAA4C;wBAC5C,6CAA6C;iBAChD;aACF;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* blink-review MCP prompt.
|
|
3
|
+
*
|
|
4
|
+
* Review code for BLINK integration best practices.
|
|
5
|
+
*/
|
|
6
|
+
export declare function getReviewPrompt(args: Record<string, string>): {
|
|
7
|
+
description: string;
|
|
8
|
+
messages: Array<{
|
|
9
|
+
role: string;
|
|
10
|
+
content: {
|
|
11
|
+
type: string;
|
|
12
|
+
text: string;
|
|
13
|
+
};
|
|
14
|
+
}>;
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=review.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../src/prompts/review.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG;IAC7D,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;CAC5E,CAuBA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* blink-review MCP prompt.
|
|
3
|
+
*
|
|
4
|
+
* Review code for BLINK integration best practices.
|
|
5
|
+
*/
|
|
6
|
+
export function getReviewPrompt(args) {
|
|
7
|
+
const code = args.code || '';
|
|
8
|
+
return {
|
|
9
|
+
description: 'Review code for BLINK integration best practices',
|
|
10
|
+
messages: [
|
|
11
|
+
{
|
|
12
|
+
role: 'user',
|
|
13
|
+
content: {
|
|
14
|
+
type: 'text',
|
|
15
|
+
text: 'Review the following code for BLINK integration best practices.\n\n' +
|
|
16
|
+
'First, use the blink_lint tool to identify issues. Then provide:\n' +
|
|
17
|
+
'1. A severity-sorted list of findings\n' +
|
|
18
|
+
'2. Specific code fixes for each issue\n' +
|
|
19
|
+
'3. An overall quality assessment\n\n' +
|
|
20
|
+
'Code to review:\n```\n' +
|
|
21
|
+
code +
|
|
22
|
+
'\n```',
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
],
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=review.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review.js","sourceRoot":"","sources":["../../src/prompts/review.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,UAAU,eAAe,CAAC,IAA4B;IAI1D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;IAE7B,OAAO;QACL,WAAW,EAAE,kDAAkD;QAC/D,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,IAAI,EACF,qEAAqE;wBACrE,oEAAoE;wBACpE,yCAAyC;wBACzC,yCAAyC;wBACzC,sCAAsC;wBACtC,wBAAwB;wBACxB,IAAI;wBACJ,OAAO;iBACV;aACF;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* blink://changelog MCP resource.
|
|
3
|
+
*
|
|
4
|
+
* Recent changes to BLINK SDK, CLI, and BSEC.
|
|
5
|
+
*/
|
|
6
|
+
export declare const CHANGELOG_RESOURCE: {
|
|
7
|
+
entries: ({
|
|
8
|
+
date: string;
|
|
9
|
+
version: string;
|
|
10
|
+
type: string;
|
|
11
|
+
description: string;
|
|
12
|
+
migration: null;
|
|
13
|
+
} | {
|
|
14
|
+
date: string;
|
|
15
|
+
version: string;
|
|
16
|
+
type: string;
|
|
17
|
+
description: string;
|
|
18
|
+
migration: string;
|
|
19
|
+
})[];
|
|
20
|
+
};
|
|
21
|
+
export declare function getChangelogResource(): string;
|
|
22
|
+
//# sourceMappingURL=changelog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"changelog.d.ts","sourceRoot":"","sources":["../../src/resources/changelog.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;CAmD9B,CAAC;AAEF,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* blink://changelog MCP resource.
|
|
3
|
+
*
|
|
4
|
+
* Recent changes to BLINK SDK, CLI, and BSEC.
|
|
5
|
+
*/
|
|
6
|
+
export const CHANGELOG_RESOURCE = {
|
|
7
|
+
entries: [
|
|
8
|
+
{
|
|
9
|
+
date: '2026-03-15',
|
|
10
|
+
version: '1.2.0',
|
|
11
|
+
type: 'feature',
|
|
12
|
+
description: 'Added key hierarchy support. BSEC slots can now be organised in parent-child ' +
|
|
13
|
+
'relationships with INS (Identity Naming System) paths.',
|
|
14
|
+
migration: null,
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
date: '2026-03-01',
|
|
18
|
+
version: '1.1.0',
|
|
19
|
+
type: 'feature',
|
|
20
|
+
description: 'Session management improvements. BSHB (BLINK Session Heartbeat) now supports ' +
|
|
21
|
+
'automatic reconnection and configurable session TTL.',
|
|
22
|
+
migration: null,
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
date: '2026-02-15',
|
|
26
|
+
version: '1.0.1',
|
|
27
|
+
type: 'fix',
|
|
28
|
+
description: 'Fixed VRF composite signing edge case where domain_input containing colons ' +
|
|
29
|
+
'would cause incorrect key derivation.',
|
|
30
|
+
migration: null,
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
date: '2026-02-01',
|
|
34
|
+
version: '1.0.0',
|
|
35
|
+
type: 'feature',
|
|
36
|
+
description: 'Initial release of BLINK Authority SDK and BSEC. Supports Ed25519 and ML-DSA-44 ' +
|
|
37
|
+
'algorithm suites with ECVRF-based ephemeral key derivation. Full VRF composite ' +
|
|
38
|
+
'signing, session management, and key hierarchy support.',
|
|
39
|
+
migration: null,
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
date: '2026-01-15',
|
|
43
|
+
version: '0.9.0',
|
|
44
|
+
type: 'deprecation',
|
|
45
|
+
description: 'Deprecated raw signing API. All signing now goes through the VRF composite flow. ' +
|
|
46
|
+
'Direct signer.signRaw() calls will be removed in v2.0.',
|
|
47
|
+
migration: 'Replace signer.signRaw(payload) with signer.sign(payload). The new sign() method ' +
|
|
48
|
+
'automatically handles VRF key derivation and envelope construction.',
|
|
49
|
+
},
|
|
50
|
+
],
|
|
51
|
+
};
|
|
52
|
+
export function getChangelogResource() {
|
|
53
|
+
return JSON.stringify(CHANGELOG_RESOURCE, null, 2);
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=changelog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"changelog.js","sourceRoot":"","sources":["../../src/resources/changelog.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,OAAO,EAAE;QACP;YACE,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,SAAS;YACf,WAAW,EACT,+EAA+E;gBAC/E,wDAAwD;YAC1D,SAAS,EAAE,IAAI;SAChB;QACD;YACE,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,SAAS;YACf,WAAW,EACT,+EAA+E;gBAC/E,sDAAsD;YACxD,SAAS,EAAE,IAAI;SAChB;QACD;YACE,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,KAAK;YACX,WAAW,EACT,6EAA6E;gBAC7E,uCAAuC;YACzC,SAAS,EAAE,IAAI;SAChB;QACD;YACE,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,SAAS;YACf,WAAW,EACT,kFAAkF;gBAClF,iFAAiF;gBACjF,yDAAyD;YAC3D,SAAS,EAAE,IAAI;SAChB;QACD;YACE,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,aAAa;YACnB,WAAW,EACT,mFAAmF;gBACnF,wDAAwD;YAC1D,SAAS,EACP,mFAAmF;gBACnF,qEAAqE;SACxE;KACF;CACF,CAAC;AAEF,MAAM,UAAU,oBAAoB;IAClC,OAAO,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACrD,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* blink://errors MCP resource.
|
|
3
|
+
*
|
|
4
|
+
* Common BLINK/BSEC error codes with causes and fixes.
|
|
5
|
+
*/
|
|
6
|
+
export declare const ERRORS_RESOURCE: {
|
|
7
|
+
errors: {
|
|
8
|
+
code: string;
|
|
9
|
+
message: string;
|
|
10
|
+
cause: string;
|
|
11
|
+
fix: string;
|
|
12
|
+
related_docs: string[];
|
|
13
|
+
}[];
|
|
14
|
+
};
|
|
15
|
+
export declare function getErrorsResource(): string;
|
|
16
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/resources/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,eAAe;;;;;;;;CA+G3B,CAAC;AAEF,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* blink://errors MCP resource.
|
|
3
|
+
*
|
|
4
|
+
* Common BLINK/BSEC error codes with causes and fixes.
|
|
5
|
+
*/
|
|
6
|
+
export const ERRORS_RESOURCE = {
|
|
7
|
+
errors: [
|
|
8
|
+
{
|
|
9
|
+
code: 'BSEC_CONNECTION_REFUSED',
|
|
10
|
+
message: 'Connection refused when connecting to BSEC',
|
|
11
|
+
cause: 'The BSEC instance is not running, the URL is wrong, or a firewall is blocking the connection.',
|
|
12
|
+
fix: '1. Verify the BSEC URL is correct (check BSEC_URL env var)\n' +
|
|
13
|
+
'2. Ensure the BSEC process is running: systemctl status bsec\n' +
|
|
14
|
+
'3. Check firewall rules allow traffic on the BSEC port (default 9443)\n' +
|
|
15
|
+
'4. For Docker: ensure the container is running and ports are mapped',
|
|
16
|
+
related_docs: ['getting-started', 'bsec-deployment'],
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
code: 'BSEC_AUTH_FAILED',
|
|
20
|
+
message: 'Authentication failed — invalid or expired token',
|
|
21
|
+
cause: 'The BSEC token is invalid, expired, or does not have permission for the requested operation.',
|
|
22
|
+
fix: '1. Regenerate the BSEC token: blink config set-token\n' +
|
|
23
|
+
'2. Check token expiry: blink config show | grep token_expires\n' +
|
|
24
|
+
'3. Verify the token has the correct scope for the operation',
|
|
25
|
+
related_docs: ['authentication', 'sessions'],
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
code: 'BSEC_TIMEOUT',
|
|
29
|
+
message: 'Request to BSEC timed out',
|
|
30
|
+
cause: 'The BSEC instance is overloaded, or the network connection is slow.',
|
|
31
|
+
fix: '1. Check BSEC health: curl https://<bsec-url>/health\n' +
|
|
32
|
+
'2. Monitor BSEC metrics for high load\n' +
|
|
33
|
+
'3. Increase timeout in client config\n' +
|
|
34
|
+
'4. Consider scaling BSEC horizontally for high-throughput workloads',
|
|
35
|
+
related_docs: ['bsec-operations', 'scaling'],
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
code: 'INVALID_SLOT',
|
|
39
|
+
message: 'Requested slot does not exist',
|
|
40
|
+
cause: 'The BSEC slot name provided does not match any configured slot on the BSEC instance.',
|
|
41
|
+
fix: '1. List available slots: blink keygen --list\n' +
|
|
42
|
+
'2. Create the slot: blink keygen --ins <name> --algorithm <algo>\n' +
|
|
43
|
+
'3. Check for typos in the slot name',
|
|
44
|
+
related_docs: ['key-management', 'identity'],
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
code: 'ALGORITHM_MISMATCH',
|
|
48
|
+
message: 'Algorithm suite does not match the slot configuration',
|
|
49
|
+
cause: 'The algorithm specified in BlinkSigner.connect() does not match the algorithm ' +
|
|
50
|
+
'configured for the BSEC slot.',
|
|
51
|
+
fix: '1. Check the slot algorithm: blink inspect --slot <name>\n' +
|
|
52
|
+
'2. Update the AlgoSuiteId in your connect() call to match\n' +
|
|
53
|
+
'3. Or create a new slot with the desired algorithm',
|
|
54
|
+
related_docs: ['signing', 'key-management'],
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
code: 'SESSION_EXPIRED',
|
|
58
|
+
message: 'BSEC session has expired',
|
|
59
|
+
cause: 'The BSEC session (BSHB heartbeat session) has timed out. Sessions expire after ' +
|
|
60
|
+
'a configurable period of inactivity.',
|
|
61
|
+
fix: '1. Reconnect: await signer.reconnect()\n' +
|
|
62
|
+
'2. Implement automatic reconnection in your error handler\n' +
|
|
63
|
+
'3. Use the signWithRetry pattern from blink://patterns\n' +
|
|
64
|
+
'4. Adjust session TTL in BSEC config if timeouts are too aggressive',
|
|
65
|
+
related_docs: ['sessions', 'bsec-configuration'],
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
code: 'ENVELOPE_INVALID',
|
|
69
|
+
message: 'Malformed envelope — cannot parse',
|
|
70
|
+
cause: 'The envelope is not valid base64, not valid JSON after decoding, or is missing required fields.',
|
|
71
|
+
fix: '1. Use blink_decode_envelope to inspect the raw envelope\n' +
|
|
72
|
+
'2. Ensure the envelope is base64-encoded (not hex)\n' +
|
|
73
|
+
'3. Check that all required fields are present: signature, ephemeral_public_key, ' +
|
|
74
|
+
'vrf_proof, p_derive, domain_input, timestamp, algorithm, payload_hash',
|
|
75
|
+
related_docs: ['verification', 'envelope-format'],
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
code: 'VRF_PROOF_INVALID',
|
|
79
|
+
message: 'VRF proof does not verify',
|
|
80
|
+
cause: 'The ECVRF proof in the envelope does not verify against the P_derive key and domain input. ' +
|
|
81
|
+
'This could indicate a tampered envelope or a key derivation error.',
|
|
82
|
+
fix: '1. Use blink_verify_local to check envelope format\n' +
|
|
83
|
+
'2. Use blink_decode_envelope to inspect field values\n' +
|
|
84
|
+
'3. Verify you are using the correct P_derive key\n' +
|
|
85
|
+
'4. Check that the envelope has not been modified after signing',
|
|
86
|
+
related_docs: ['verification', 'vrf', 'key-derivation'],
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
code: 'ALGORITHM_UNSUPPORTED',
|
|
90
|
+
message: 'Requested algorithm is not available on this BSEC instance',
|
|
91
|
+
cause: 'The BSEC instance does not support the requested algorithm suite. ' +
|
|
92
|
+
'ML-DSA-44 requires BSEC v2.0+ with post-quantum support enabled.',
|
|
93
|
+
fix: '1. Check BSEC version: curl https://<bsec-url>/health | jq .version\n' +
|
|
94
|
+
'2. For ML-DSA-44: upgrade to BSEC v2.0+ and enable PQ support\n' +
|
|
95
|
+
'3. Fall back to Ed25519 if PQ is not required',
|
|
96
|
+
related_docs: ['algorithms', 'bsec-deployment'],
|
|
97
|
+
},
|
|
98
|
+
],
|
|
99
|
+
};
|
|
100
|
+
export function getErrorsResource() {
|
|
101
|
+
return JSON.stringify(ERRORS_RESOURCE, null, 2);
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/resources/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,MAAM,EAAE;QACN;YACE,IAAI,EAAE,yBAAyB;YAC/B,OAAO,EAAE,4CAA4C;YACrD,KAAK,EACH,+FAA+F;YACjG,GAAG,EACD,8DAA8D;gBAC9D,gEAAgE;gBAChE,yEAAyE;gBACzE,qEAAqE;YACvE,YAAY,EAAE,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;SACrD;QACD;YACE,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,kDAAkD;YAC3D,KAAK,EACH,8FAA8F;YAChG,GAAG,EACD,wDAAwD;gBACxD,iEAAiE;gBACjE,6DAA6D;YAC/D,YAAY,EAAE,CAAC,gBAAgB,EAAE,UAAU,CAAC;SAC7C;QACD;YACE,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,2BAA2B;YACpC,KAAK,EACH,qEAAqE;YACvE,GAAG,EACD,wDAAwD;gBACxD,yCAAyC;gBACzC,wCAAwC;gBACxC,qEAAqE;YACvE,YAAY,EAAE,CAAC,iBAAiB,EAAE,SAAS,CAAC;SAC7C;QACD;YACE,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,+BAA+B;YACxC,KAAK,EACH,sFAAsF;YACxF,GAAG,EACD,gDAAgD;gBAChD,oEAAoE;gBACpE,qCAAqC;YACvC,YAAY,EAAE,CAAC,gBAAgB,EAAE,UAAU,CAAC;SAC7C;QACD;YACE,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE,uDAAuD;YAChE,KAAK,EACH,gFAAgF;gBAChF,+BAA+B;YACjC,GAAG,EACD,4DAA4D;gBAC5D,6DAA6D;gBAC7D,oDAAoD;YACtD,YAAY,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;SAC5C;QACD;YACE,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE,0BAA0B;YACnC,KAAK,EACH,iFAAiF;gBACjF,sCAAsC;YACxC,GAAG,EACD,0CAA0C;gBAC1C,6DAA6D;gBAC7D,0DAA0D;gBAC1D,qEAAqE;YACvE,YAAY,EAAE,CAAC,UAAU,EAAE,oBAAoB,CAAC;SACjD;QACD;YACE,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,mCAAmC;YAC5C,KAAK,EACH,iGAAiG;YACnG,GAAG,EACD,4DAA4D;gBAC5D,sDAAsD;gBACtD,kFAAkF;gBAClF,uEAAuE;YACzE,YAAY,EAAE,CAAC,cAAc,EAAE,iBAAiB,CAAC;SAClD;QACD;YACE,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,2BAA2B;YACpC,KAAK,EACH,6FAA6F;gBAC7F,oEAAoE;YACtE,GAAG,EACD,sDAAsD;gBACtD,wDAAwD;gBACxD,oDAAoD;gBACpD,gEAAgE;YAClE,YAAY,EAAE,CAAC,cAAc,EAAE,KAAK,EAAE,gBAAgB,CAAC;SACxD;QACD;YACE,IAAI,EAAE,uBAAuB;YAC7B,OAAO,EAAE,4DAA4D;YACrE,KAAK,EACH,oEAAoE;gBACpE,kEAAkE;YACpE,GAAG,EACD,uEAAuE;gBACvE,iEAAiE;gBACjE,+CAA+C;YACjD,YAAY,EAAE,CAAC,YAAY,EAAE,iBAAiB,CAAC;SAChD;KACF;CACF,CAAC;AAEF,MAAM,UAAU,iBAAiB;IAC/B,OAAO,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAClD,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* blink://patterns MCP resource.
|
|
3
|
+
*
|
|
4
|
+
* Common BLINK integration patterns for reference when writing code.
|
|
5
|
+
*/
|
|
6
|
+
export declare const PATTERNS_RESOURCE: {
|
|
7
|
+
patterns: {
|
|
8
|
+
name: string;
|
|
9
|
+
description: string;
|
|
10
|
+
code: string;
|
|
11
|
+
when_to_use: string;
|
|
12
|
+
related_tools: string[];
|
|
13
|
+
}[];
|
|
14
|
+
};
|
|
15
|
+
export declare function getPatternsResource(): string;
|
|
16
|
+
//# sourceMappingURL=patterns.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"patterns.d.ts","sourceRoot":"","sources":["../../src/resources/patterns.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;CAyJ7B,CAAC;AAEF,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* blink://patterns MCP resource.
|
|
3
|
+
*
|
|
4
|
+
* Common BLINK integration patterns for reference when writing code.
|
|
5
|
+
*/
|
|
6
|
+
export const PATTERNS_RESOURCE = {
|
|
7
|
+
patterns: [
|
|
8
|
+
{
|
|
9
|
+
name: 'Express Middleware Signing',
|
|
10
|
+
description: 'Sign every JSON response with BLINK. Adds X-Blink-Signature header containing ' +
|
|
11
|
+
'the base64-encoded envelope.',
|
|
12
|
+
code: `import { BlinkSigner, AlgoSuiteId } from '@blink-technology/sdk';
|
|
13
|
+
import express from 'express';
|
|
14
|
+
|
|
15
|
+
const app = express();
|
|
16
|
+
const signer = await BlinkSigner.connect(
|
|
17
|
+
process.env.BSEC_URL!,
|
|
18
|
+
process.env.BSEC_TOKEN!,
|
|
19
|
+
AlgoSuiteId.Ed25519,
|
|
20
|
+
);
|
|
21
|
+
|
|
22
|
+
// Signing middleware — runs after route handlers
|
|
23
|
+
app.use(async (req, res, next) => {
|
|
24
|
+
const originalJson = res.json.bind(res);
|
|
25
|
+
res.json = (body: unknown) => {
|
|
26
|
+
const payload = JSON.stringify(body);
|
|
27
|
+
signer.sign(Buffer.from(payload)).then((envelope) => {
|
|
28
|
+
res.setHeader('X-Blink-Signature', envelope.toString('base64'));
|
|
29
|
+
originalJson(body);
|
|
30
|
+
}).catch(next);
|
|
31
|
+
return res;
|
|
32
|
+
};
|
|
33
|
+
next();
|
|
34
|
+
});`,
|
|
35
|
+
when_to_use: 'When building an API where every response needs a verifiable signature. ' +
|
|
36
|
+
'Ideal for financial APIs, compliance endpoints, or any API requiring non-repudiation.',
|
|
37
|
+
related_tools: ['blink_add_signing', 'blink_scaffold'],
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
name: 'Graceful Shutdown',
|
|
41
|
+
description: 'Properly close the BSEC connection when the process exits to avoid resource leaks.',
|
|
42
|
+
code: `const signer = await BlinkSigner.connect(url, token, AlgoSuiteId.Ed25519);
|
|
43
|
+
|
|
44
|
+
async function shutdown(signal: string) {
|
|
45
|
+
console.log(\`Received \${signal}, closing BSEC connection...\`);
|
|
46
|
+
await signer.close();
|
|
47
|
+
process.exit(0);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
process.on('SIGINT', () => shutdown('SIGINT'));
|
|
51
|
+
process.on('SIGTERM', () => shutdown('SIGTERM'));`,
|
|
52
|
+
when_to_use: 'Always. Every application that creates a BlinkSigner connection should handle ' +
|
|
53
|
+
'graceful shutdown. The blink_lint tool flags missing shutdown handlers as errors.',
|
|
54
|
+
related_tools: ['blink_lint', 'blink_scaffold'],
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
name: 'VRF Public Key Caching',
|
|
58
|
+
description: 'Fetch the VRF public key once at startup and reuse it, avoiding repeated BSEC round-trips.',
|
|
59
|
+
code: `const signer = await BlinkSigner.connect(url, token, AlgoSuiteId.Ed25519);
|
|
60
|
+
|
|
61
|
+
// Cache at startup
|
|
62
|
+
const vrfPublicKey = await signer.vrfPublicKey();
|
|
63
|
+
console.log('VRF public key cached:', vrfPublicKey.toString('base64'));
|
|
64
|
+
|
|
65
|
+
// Use cached key in handlers
|
|
66
|
+
app.get('/public-key', (req, res) => {
|
|
67
|
+
res.json({ vrf_public_key: vrfPublicKey.toString('base64') });
|
|
68
|
+
});`,
|
|
69
|
+
when_to_use: 'When you need to expose or use the VRF public key in request handlers. ' +
|
|
70
|
+
'Calling vrfPublicKey() per-request wastes BSEC round-trips.',
|
|
71
|
+
related_tools: ['blink_lint'],
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
name: 'Error Handling Around sign()',
|
|
75
|
+
description: 'Proper error handling for BLINK signing operations with retry logic.',
|
|
76
|
+
code: `async function signWithRetry(
|
|
77
|
+
signer: BlinkSigner,
|
|
78
|
+
payload: Buffer,
|
|
79
|
+
maxRetries = 3,
|
|
80
|
+
): Promise<Buffer> {
|
|
81
|
+
for (let attempt = 1; attempt <= maxRetries; attempt++) {
|
|
82
|
+
try {
|
|
83
|
+
return await signer.sign(payload);
|
|
84
|
+
} catch (err: unknown) {
|
|
85
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
86
|
+
if (attempt === maxRetries) throw err;
|
|
87
|
+
if (message.includes('SESSION_EXPIRED')) {
|
|
88
|
+
// Session expired — reconnect
|
|
89
|
+
await signer.reconnect();
|
|
90
|
+
}
|
|
91
|
+
// Exponential backoff
|
|
92
|
+
await new Promise((r) => setTimeout(r, Math.pow(2, attempt) * 100));
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
throw new Error('Sign failed after max retries');
|
|
96
|
+
}`,
|
|
97
|
+
when_to_use: 'Whenever calling signer.sign(). Network failures, session expiry, and BSEC ' +
|
|
98
|
+
'overload can all cause transient errors that are recoverable with retry.',
|
|
99
|
+
related_tools: ['blink_lint', 'blink_add_signing'],
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
name: 'Hash-Then-Sign',
|
|
103
|
+
description: 'Hash large documents before signing. BLINK signs the hash, not the raw payload.',
|
|
104
|
+
code: `import { createHash } from 'node:crypto';
|
|
105
|
+
|
|
106
|
+
async function signDocument(signer: BlinkSigner, document: Buffer): Promise<{
|
|
107
|
+
hash: string;
|
|
108
|
+
envelope: string;
|
|
109
|
+
}> {
|
|
110
|
+
const hash = createHash('sha256').update(document).digest();
|
|
111
|
+
const envelope = await signer.sign(hash);
|
|
112
|
+
return {
|
|
113
|
+
hash: hash.toString('hex'),
|
|
114
|
+
envelope: envelope.toString('base64'),
|
|
115
|
+
};
|
|
116
|
+
}`,
|
|
117
|
+
when_to_use: 'When signing large documents, files, or binary data. Always hash first — ' +
|
|
118
|
+
'BLINK is designed for hash-then-sign, not raw payload signing.',
|
|
119
|
+
related_tools: ['blink_add_signing'],
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
name: 'Multi-Algorithm (Ed25519 + ML-DSA-44)',
|
|
123
|
+
description: 'Use two signers in parallel for dual-algorithm signing (classical + post-quantum).',
|
|
124
|
+
code: `import { BlinkSigner, AlgoSuiteId } from '@blink-technology/sdk';
|
|
125
|
+
|
|
126
|
+
const ed25519Signer = await BlinkSigner.connect(url, token, AlgoSuiteId.Ed25519);
|
|
127
|
+
const mldsaSigner = await BlinkSigner.connect(url, token, AlgoSuiteId.MlDsa44);
|
|
128
|
+
|
|
129
|
+
async function dualSign(payload: Buffer): Promise<{
|
|
130
|
+
ed25519_envelope: string;
|
|
131
|
+
mldsa44_envelope: string;
|
|
132
|
+
}> {
|
|
133
|
+
const [ed25519, mldsa44] = await Promise.all([
|
|
134
|
+
ed25519Signer.sign(payload),
|
|
135
|
+
mldsaSigner.sign(payload),
|
|
136
|
+
]);
|
|
137
|
+
return {
|
|
138
|
+
ed25519_envelope: ed25519.toString('base64'),
|
|
139
|
+
mldsa44_envelope: mldsa44.toString('base64'),
|
|
140
|
+
};
|
|
141
|
+
}`,
|
|
142
|
+
when_to_use: 'When you need both classical and post-quantum signatures for transition period ' +
|
|
143
|
+
'compliance, or when different verifiers support different algorithms.',
|
|
144
|
+
related_tools: ['blink_scaffold', 'blink_hierarchy_design'],
|
|
145
|
+
},
|
|
146
|
+
],
|
|
147
|
+
};
|
|
148
|
+
export function getPatternsResource() {
|
|
149
|
+
return JSON.stringify(PATTERNS_RESOURCE, null, 2);
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=patterns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"patterns.js","sourceRoot":"","sources":["../../src/resources/patterns.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,QAAQ,EAAE;QACR;YACE,IAAI,EAAE,4BAA4B;YAClC,WAAW,EACT,gFAAgF;gBAChF,8BAA8B;YAChC,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;IAsBR;YACE,WAAW,EACT,0EAA0E;gBAC1E,uFAAuF;YACzF,aAAa,EAAE,CAAC,mBAAmB,EAAE,gBAAgB,CAAC;SACvD;QACD;YACE,IAAI,EAAE,mBAAmB;YACzB,WAAW,EACT,oFAAoF;YACtF,IAAI,EAAE;;;;;;;;;kDASsC;YAC5C,WAAW,EACT,gFAAgF;gBAChF,mFAAmF;YACrF,aAAa,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC;SAChD;QACD;YACE,IAAI,EAAE,wBAAwB;YAC9B,WAAW,EACT,4FAA4F;YAC9F,IAAI,EAAE;;;;;;;;;IASR;YACE,WAAW,EACT,yEAAyE;gBACzE,6DAA6D;YAC/D,aAAa,EAAE,CAAC,YAAY,CAAC;SAC9B;QACD;YACE,IAAI,EAAE,8BAA8B;YACpC,WAAW,EACT,sEAAsE;YACxE,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;EAoBV;YACI,WAAW,EACT,6EAA6E;gBAC7E,0EAA0E;YAC5E,aAAa,EAAE,CAAC,YAAY,EAAE,mBAAmB,CAAC;SACnD;QACD;YACE,IAAI,EAAE,gBAAgB;YACtB,WAAW,EACT,iFAAiF;YACnF,IAAI,EAAE;;;;;;;;;;;;EAYV;YACI,WAAW,EACT,2EAA2E;gBAC3E,gEAAgE;YAClE,aAAa,EAAE,CAAC,mBAAmB,CAAC;SACrC;QACD;YACE,IAAI,EAAE,uCAAuC;YAC7C,WAAW,EACT,oFAAoF;YACtF,IAAI,EAAE;;;;;;;;;;;;;;;;;EAiBV;YACI,WAAW,EACT,iFAAiF;gBACjF,uEAAuE;YACzE,aAAa,EAAE,CAAC,gBAAgB,EAAE,wBAAwB,CAAC;SAC5D;KACF;CACF,CAAC;AAEF,MAAM,UAAU,mBAAmB;IACjC,OAAO,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACpD,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Approval workflow scaffold template.
|
|
3
|
+
* Generates an M-of-N signing workflow with BLINK signatures.
|
|
4
|
+
*/
|
|
5
|
+
export declare function generateApprovalWorkflow(name: string, features: string[]): Record<string, string>;
|
|
6
|
+
//# sourceMappingURL=approval-workflow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approval-workflow.d.ts","sourceRoot":"","sources":["../../src/templates/approval-workflow.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAAE,GACjB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA+dxB"}
|