@warmio/contracts 3.0.0 → 3.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/endpoints.d.ts +30 -0
- package/dist/api/endpoints.d.ts.map +1 -1
- package/dist/api/endpoints.js +24 -0
- package/dist/api/endpoints.js.map +1 -1
- package/dist/examples/financial-context.d.ts.map +1 -1
- package/dist/examples/financial-context.js +2 -1
- package/dist/examples/financial-context.js.map +1 -1
- package/dist/generated/base-openapi.d.ts +1 -1
- package/dist/generated/base-openapi.d.ts.map +1 -1
- package/dist/generated/base-openapi.js +1 -1
- package/dist/generated/base-openapi.js.map +1 -1
- package/dist/generated/mcp-package-release-metadata.d.ts +1 -1
- package/dist/generated/mcp-package-release-metadata.js +1 -1
- package/dist/generated/private-mcp-tool-descriptors.d.ts +28 -5
- package/dist/generated/private-mcp-tool-descriptors.d.ts.map +1 -1
- package/dist/generated/private-mcp-tool-descriptors.js +38 -6
- package/dist/generated/private-mcp-tool-descriptors.js.map +1 -1
- package/dist/generated/protected-crawler-paths.d.ts +1 -1
- package/dist/generated/protected-crawler-paths.d.ts.map +1 -1
- package/dist/generated/protected-crawler-paths.js +9 -0
- package/dist/generated/protected-crawler-paths.js.map +1 -1
- package/dist/generated/warm-app-api-manifest.d.ts +44 -9
- package/dist/generated/warm-app-api-manifest.d.ts.map +1 -1
- package/dist/generated/warm-app-api-manifest.js +54 -10
- package/dist/generated/warm-app-api-manifest.js.map +1 -1
- package/dist/manifest.d.ts +196 -18
- package/dist/manifest.d.ts.map +1 -1
- package/dist/manifest.js +10 -1
- package/dist/manifest.js.map +1 -1
- package/dist/mcp/distribution.d.ts +24 -0
- package/dist/mcp/distribution.d.ts.map +1 -1
- package/dist/mcp/distribution.js +116 -13
- package/dist/mcp/distribution.js.map +1 -1
- package/dist/mcp/tools.d.ts +1030 -26
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +11 -10
- package/dist/mcp/tools.js.map +1 -1
- package/dist/openapi/base.yaml +12 -9
- package/dist/openapi/build-openapi.d.ts +7 -2
- package/dist/openapi/build-openapi.d.ts.map +1 -1
- package/dist/openapi/build-openapi.js +23 -10
- package/dist/openapi/build-openapi.js.map +1 -1
- package/dist/product.d.ts.map +1 -1
- package/dist/product.js +9 -1
- package/dist/product.js.map +1 -1
- package/dist/schemas/financial-context.d.ts +33 -0
- package/dist/schemas/financial-context.d.ts.map +1 -1
- package/dist/schemas/financial-context.js +21 -6
- package/dist/schemas/financial-context.js.map +1 -1
- package/dist/schemas/public-api.d.ts +44 -0
- package/dist/schemas/public-api.d.ts.map +1 -1
- package/dist/schemas/public-api.js +9 -1
- package/dist/schemas/public-api.js.map +1 -1
- package/dist/types.d.ts +20 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +4 -3
package/dist/manifest.d.ts
CHANGED
|
@@ -165,7 +165,9 @@ export declare function createContractReleaseManifest(mcpDistribution?: {
|
|
|
165
165
|
readonly installCommand: string;
|
|
166
166
|
readonly installerCommand: `${string} install`;
|
|
167
167
|
readonly minimumNodeVersion: string;
|
|
168
|
+
readonly packageIntegrity: import("./index.js").WarmMcpPackageIntegrityContract;
|
|
168
169
|
readonly packageName: string;
|
|
170
|
+
readonly launcherPackageSpec: string;
|
|
169
171
|
readonly packageSpec: string;
|
|
170
172
|
readonly packageVersion: string;
|
|
171
173
|
readonly projectConfigs: readonly [".mcp.json", ".cursor/mcp.json", ".vscode/mcp.json"];
|
|
@@ -398,7 +400,9 @@ export declare function createContractReleaseManifest(mcpDistribution?: {
|
|
|
398
400
|
readonly installCommand: string;
|
|
399
401
|
readonly installerCommand: `${string} install`;
|
|
400
402
|
readonly minimumNodeVersion: string;
|
|
403
|
+
readonly packageIntegrity: import("./index.js").WarmMcpPackageIntegrityContract;
|
|
401
404
|
readonly packageName: string;
|
|
405
|
+
readonly launcherPackageSpec: string;
|
|
402
406
|
readonly packageSpec: string;
|
|
403
407
|
readonly packageVersion: string;
|
|
404
408
|
readonly projectConfigs: readonly [".mcp.json", ".cursor/mcp.json", ".vscode/mcp.json"];
|
|
@@ -409,21 +413,107 @@ export declare function createContractReleaseManifest(mcpDistribution?: {
|
|
|
409
413
|
readonly serverName: 'warm';
|
|
410
414
|
};
|
|
411
415
|
};
|
|
412
|
-
readonly tools: {
|
|
416
|
+
readonly tools: ({
|
|
417
|
+
name: "get_financial_context";
|
|
418
|
+
description: "Read-only compact FinancialContext JSON. Includes status.position, status.accounts, transaction index total/months, recurring, budgets, goals, snapshots, liabilities, holdings, and health. The status.position field is a point-in-time (as-of-date) balance snapshot, separate from transaction and behavior windows. A null position means no position snapshot is available. Transaction items are not inline; use get_transactions for items.";
|
|
413
419
|
annotations: {
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
420
|
+
readonly readOnlyHint: true;
|
|
421
|
+
readonly destructiveHint: false;
|
|
422
|
+
readonly openWorldHint: false;
|
|
417
423
|
};
|
|
418
|
-
|
|
419
|
-
name: string;
|
|
420
|
-
input_schema: {
|
|
424
|
+
input_schema: import("zod-to-json-schema").JsonSchema7Type & {
|
|
421
425
|
$schema?: string | undefined;
|
|
426
|
+
definitions?: {
|
|
427
|
+
[key: string]: import("zod-to-json-schema").JsonSchema7Type;
|
|
428
|
+
} | undefined;
|
|
422
429
|
};
|
|
423
|
-
output_schema: {
|
|
430
|
+
output_schema: import("zod-to-json-schema").JsonSchema7Type & {
|
|
424
431
|
$schema?: string | undefined;
|
|
432
|
+
definitions?: {
|
|
433
|
+
[key: string]: import("zod-to-json-schema").JsonSchema7Type;
|
|
434
|
+
} | undefined;
|
|
425
435
|
};
|
|
426
|
-
}
|
|
436
|
+
} | {
|
|
437
|
+
name: "get_transactions";
|
|
438
|
+
description: "Read-only transactions from the FinancialContext artifact. Pass `period: \"latest\"` for the fixed 10-day latest window or `period: \"YYYY-MM\"` for a month page. The latest window is not caller-configurable. Months outside the covered range return an error.";
|
|
439
|
+
annotations: {
|
|
440
|
+
readonly readOnlyHint: true;
|
|
441
|
+
readonly destructiveHint: false;
|
|
442
|
+
readonly openWorldHint: false;
|
|
443
|
+
};
|
|
444
|
+
input_schema: import("zod-to-json-schema").JsonSchema7Type & {
|
|
445
|
+
$schema?: string | undefined;
|
|
446
|
+
definitions?: {
|
|
447
|
+
[key: string]: import("zod-to-json-schema").JsonSchema7Type;
|
|
448
|
+
} | undefined;
|
|
449
|
+
};
|
|
450
|
+
output_schema: import("zod-to-json-schema").JsonSchema7Type & {
|
|
451
|
+
$schema?: string | undefined;
|
|
452
|
+
definitions?: {
|
|
453
|
+
[key: string]: import("zod-to-json-schema").JsonSchema7Type;
|
|
454
|
+
} | undefined;
|
|
455
|
+
};
|
|
456
|
+
} | {
|
|
457
|
+
name: "search_operations";
|
|
458
|
+
description: "Search the supported Warm operation catalog. Use this first to find the smallest matching operation.";
|
|
459
|
+
annotations: {
|
|
460
|
+
readonly readOnlyHint: true;
|
|
461
|
+
readonly destructiveHint: false;
|
|
462
|
+
readonly openWorldHint: false;
|
|
463
|
+
};
|
|
464
|
+
input_schema: import("zod-to-json-schema").JsonSchema7Type & {
|
|
465
|
+
$schema?: string | undefined;
|
|
466
|
+
definitions?: {
|
|
467
|
+
[key: string]: import("zod-to-json-schema").JsonSchema7Type;
|
|
468
|
+
} | undefined;
|
|
469
|
+
};
|
|
470
|
+
output_schema: import("zod-to-json-schema").JsonSchema7Type & {
|
|
471
|
+
$schema?: string | undefined;
|
|
472
|
+
definitions?: {
|
|
473
|
+
[key: string]: import("zod-to-json-schema").JsonSchema7Type;
|
|
474
|
+
} | undefined;
|
|
475
|
+
};
|
|
476
|
+
} | {
|
|
477
|
+
name: "describe_operation";
|
|
478
|
+
description: "Describe one operation, including its input schema and risk. For write operations, pass the exact intended input to receive an approval with its ID, status, URL, and expiry.";
|
|
479
|
+
annotations: {
|
|
480
|
+
readonly readOnlyHint: false;
|
|
481
|
+
readonly destructiveHint: false;
|
|
482
|
+
readonly openWorldHint: false;
|
|
483
|
+
};
|
|
484
|
+
input_schema: import("zod-to-json-schema").JsonSchema7Type & {
|
|
485
|
+
$schema?: string | undefined;
|
|
486
|
+
definitions?: {
|
|
487
|
+
[key: string]: import("zod-to-json-schema").JsonSchema7Type;
|
|
488
|
+
} | undefined;
|
|
489
|
+
};
|
|
490
|
+
output_schema: import("zod-to-json-schema").JsonSchema7Type & {
|
|
491
|
+
$schema?: string | undefined;
|
|
492
|
+
definitions?: {
|
|
493
|
+
[key: string]: import("zod-to-json-schema").JsonSchema7Type;
|
|
494
|
+
} | undefined;
|
|
495
|
+
};
|
|
496
|
+
} | {
|
|
497
|
+
name: "invoke_operation";
|
|
498
|
+
description: "Invoke one previously discovered Warm operation. Every write operation requires the approval_id returned for the exact same input by describe_operation.";
|
|
499
|
+
annotations: {
|
|
500
|
+
readonly readOnlyHint: false;
|
|
501
|
+
readonly destructiveHint: true;
|
|
502
|
+
readonly openWorldHint: false;
|
|
503
|
+
};
|
|
504
|
+
input_schema: import("zod-to-json-schema").JsonSchema7Type & {
|
|
505
|
+
$schema?: string | undefined;
|
|
506
|
+
definitions?: {
|
|
507
|
+
[key: string]: import("zod-to-json-schema").JsonSchema7Type;
|
|
508
|
+
} | undefined;
|
|
509
|
+
};
|
|
510
|
+
output_schema: import("zod-to-json-schema").JsonSchema7Type & {
|
|
511
|
+
$schema?: string | undefined;
|
|
512
|
+
definitions?: {
|
|
513
|
+
[key: string]: import("zod-to-json-schema").JsonSchema7Type;
|
|
514
|
+
} | undefined;
|
|
515
|
+
};
|
|
516
|
+
})[];
|
|
427
517
|
};
|
|
428
518
|
};
|
|
429
519
|
export declare const contractReleaseManifest: {
|
|
@@ -649,7 +739,9 @@ export declare const contractReleaseManifest: {
|
|
|
649
739
|
readonly installCommand: string;
|
|
650
740
|
readonly installerCommand: `${string} install`;
|
|
651
741
|
readonly minimumNodeVersion: string;
|
|
742
|
+
readonly packageIntegrity: import("./index.js").WarmMcpPackageIntegrityContract;
|
|
652
743
|
readonly packageName: string;
|
|
744
|
+
readonly launcherPackageSpec: string;
|
|
653
745
|
readonly packageSpec: string;
|
|
654
746
|
readonly packageVersion: string;
|
|
655
747
|
readonly projectConfigs: readonly [".mcp.json", ".cursor/mcp.json", ".vscode/mcp.json"];
|
|
@@ -660,21 +752,107 @@ export declare const contractReleaseManifest: {
|
|
|
660
752
|
readonly serverName: 'warm';
|
|
661
753
|
};
|
|
662
754
|
};
|
|
663
|
-
readonly tools: {
|
|
755
|
+
readonly tools: ({
|
|
756
|
+
name: "get_financial_context";
|
|
757
|
+
description: "Read-only compact FinancialContext JSON. Includes status.position, status.accounts, transaction index total/months, recurring, budgets, goals, snapshots, liabilities, holdings, and health. The status.position field is a point-in-time (as-of-date) balance snapshot, separate from transaction and behavior windows. A null position means no position snapshot is available. Transaction items are not inline; use get_transactions for items.";
|
|
758
|
+
annotations: {
|
|
759
|
+
readonly readOnlyHint: true;
|
|
760
|
+
readonly destructiveHint: false;
|
|
761
|
+
readonly openWorldHint: false;
|
|
762
|
+
};
|
|
763
|
+
input_schema: import("zod-to-json-schema").JsonSchema7Type & {
|
|
764
|
+
$schema?: string | undefined;
|
|
765
|
+
definitions?: {
|
|
766
|
+
[key: string]: import("zod-to-json-schema").JsonSchema7Type;
|
|
767
|
+
} | undefined;
|
|
768
|
+
};
|
|
769
|
+
output_schema: import("zod-to-json-schema").JsonSchema7Type & {
|
|
770
|
+
$schema?: string | undefined;
|
|
771
|
+
definitions?: {
|
|
772
|
+
[key: string]: import("zod-to-json-schema").JsonSchema7Type;
|
|
773
|
+
} | undefined;
|
|
774
|
+
};
|
|
775
|
+
} | {
|
|
776
|
+
name: "get_transactions";
|
|
777
|
+
description: "Read-only transactions from the FinancialContext artifact. Pass `period: \"latest\"` for the fixed 10-day latest window or `period: \"YYYY-MM\"` for a month page. The latest window is not caller-configurable. Months outside the covered range return an error.";
|
|
778
|
+
annotations: {
|
|
779
|
+
readonly readOnlyHint: true;
|
|
780
|
+
readonly destructiveHint: false;
|
|
781
|
+
readonly openWorldHint: false;
|
|
782
|
+
};
|
|
783
|
+
input_schema: import("zod-to-json-schema").JsonSchema7Type & {
|
|
784
|
+
$schema?: string | undefined;
|
|
785
|
+
definitions?: {
|
|
786
|
+
[key: string]: import("zod-to-json-schema").JsonSchema7Type;
|
|
787
|
+
} | undefined;
|
|
788
|
+
};
|
|
789
|
+
output_schema: import("zod-to-json-schema").JsonSchema7Type & {
|
|
790
|
+
$schema?: string | undefined;
|
|
791
|
+
definitions?: {
|
|
792
|
+
[key: string]: import("zod-to-json-schema").JsonSchema7Type;
|
|
793
|
+
} | undefined;
|
|
794
|
+
};
|
|
795
|
+
} | {
|
|
796
|
+
name: "search_operations";
|
|
797
|
+
description: "Search the supported Warm operation catalog. Use this first to find the smallest matching operation.";
|
|
798
|
+
annotations: {
|
|
799
|
+
readonly readOnlyHint: true;
|
|
800
|
+
readonly destructiveHint: false;
|
|
801
|
+
readonly openWorldHint: false;
|
|
802
|
+
};
|
|
803
|
+
input_schema: import("zod-to-json-schema").JsonSchema7Type & {
|
|
804
|
+
$schema?: string | undefined;
|
|
805
|
+
definitions?: {
|
|
806
|
+
[key: string]: import("zod-to-json-schema").JsonSchema7Type;
|
|
807
|
+
} | undefined;
|
|
808
|
+
};
|
|
809
|
+
output_schema: import("zod-to-json-schema").JsonSchema7Type & {
|
|
810
|
+
$schema?: string | undefined;
|
|
811
|
+
definitions?: {
|
|
812
|
+
[key: string]: import("zod-to-json-schema").JsonSchema7Type;
|
|
813
|
+
} | undefined;
|
|
814
|
+
};
|
|
815
|
+
} | {
|
|
816
|
+
name: "describe_operation";
|
|
817
|
+
description: "Describe one operation, including its input schema and risk. For write operations, pass the exact intended input to receive an approval with its ID, status, URL, and expiry.";
|
|
818
|
+
annotations: {
|
|
819
|
+
readonly readOnlyHint: false;
|
|
820
|
+
readonly destructiveHint: false;
|
|
821
|
+
readonly openWorldHint: false;
|
|
822
|
+
};
|
|
823
|
+
input_schema: import("zod-to-json-schema").JsonSchema7Type & {
|
|
824
|
+
$schema?: string | undefined;
|
|
825
|
+
definitions?: {
|
|
826
|
+
[key: string]: import("zod-to-json-schema").JsonSchema7Type;
|
|
827
|
+
} | undefined;
|
|
828
|
+
};
|
|
829
|
+
output_schema: import("zod-to-json-schema").JsonSchema7Type & {
|
|
830
|
+
$schema?: string | undefined;
|
|
831
|
+
definitions?: {
|
|
832
|
+
[key: string]: import("zod-to-json-schema").JsonSchema7Type;
|
|
833
|
+
} | undefined;
|
|
834
|
+
};
|
|
835
|
+
} | {
|
|
836
|
+
name: "invoke_operation";
|
|
837
|
+
description: "Invoke one previously discovered Warm operation. Every write operation requires the approval_id returned for the exact same input by describe_operation.";
|
|
664
838
|
annotations: {
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
839
|
+
readonly readOnlyHint: false;
|
|
840
|
+
readonly destructiveHint: true;
|
|
841
|
+
readonly openWorldHint: false;
|
|
668
842
|
};
|
|
669
|
-
|
|
670
|
-
name: string;
|
|
671
|
-
input_schema: {
|
|
843
|
+
input_schema: import("zod-to-json-schema").JsonSchema7Type & {
|
|
672
844
|
$schema?: string | undefined;
|
|
845
|
+
definitions?: {
|
|
846
|
+
[key: string]: import("zod-to-json-schema").JsonSchema7Type;
|
|
847
|
+
} | undefined;
|
|
673
848
|
};
|
|
674
|
-
output_schema: {
|
|
849
|
+
output_schema: import("zod-to-json-schema").JsonSchema7Type & {
|
|
675
850
|
$schema?: string | undefined;
|
|
851
|
+
definitions?: {
|
|
852
|
+
[key: string]: import("zod-to-json-schema").JsonSchema7Type;
|
|
853
|
+
} | undefined;
|
|
676
854
|
};
|
|
677
|
-
}[];
|
|
855
|
+
})[];
|
|
678
856
|
};
|
|
679
857
|
};
|
|
680
858
|
/** Canonical key-sorted JSON derived from the executed manifest values. */
|
package/dist/manifest.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,UAAU,EACV,eAAe,EACf,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,gCAAgC,EAChC,8BAA8B,GAC/B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,yBAAyB,EACzB,KAAK,wBAAwB,GAC9B,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,wBAAwB,EACxB,0BAA0B,EAC1B,iBAAiB,EACjB,6BAA6B,EAC7B,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,EACtB,KAAK,eAAe,EACpB,KAAK,0BAA0B,EAC/B,KAAK,iBAAiB,GACvB,MAAM,uBAAuB,CAAC;AAC/B,2FAA2F;AAC3F,wBAAgB,6BAA6B,CAAC,eAAe
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,UAAU,EACV,eAAe,EACf,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,gCAAgC,EAChC,8BAA8B,GAC/B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,yBAAyB,EACzB,KAAK,wBAAwB,GAC9B,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,wBAAwB,EACxB,0BAA0B,EAC1B,iBAAiB,EACjB,6BAA6B,EAC7B,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,EACtB,KAAK,eAAe,EACpB,KAAK,0BAA0B,EAC/B,KAAK,iBAAiB,GACvB,MAAM,uBAAuB,CAAC;AAC/B,2FAA2F;AAC3F,wBAAgB,6BAA6B,CAAC,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAoB;aAE7E,GAAG;iBACD,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBACT,OAAO;qBACL,GAAG;;iBAEL,KAAK;qBACH,OAAO;qBACP,MAAM;;;aAGV,GAAG;iBACD,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBACZ,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGV;AAED,eAAO,MAAM,uBAAuB;;iBAhB9B,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBACT,OAAO;qBACL,GAAG;;iBAEL,KAAK;qBACH,OAAO;qBACP,MAAM;;;;iBAIR,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBACZ,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK2D,CAAC;AAqCvE,2EAA2E;AAC3E,eAAO,MAAM,oCAAoC,QAA8C,CAAC"}
|
package/dist/manifest.js
CHANGED
|
@@ -24,10 +24,16 @@ export function createContractReleaseManifest(mcpDistribution = WARM_MCP_MANIFES
|
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
26
|
export const contractReleaseManifest = createContractReleaseManifest();
|
|
27
|
+
// The manifest is assembled from multiple JSON-compatible package contracts.
|
|
28
|
+
// Keep this serializer at the final JSON boundary; its runtime checks are the
|
|
29
|
+
// deliberate validation for values supplied by those contracts.
|
|
30
|
+
// oxlint-disable-next-line anti-slop/no-unknown-parameters -- serializer is the final composed JSON boundary.
|
|
27
31
|
function canonicalSerialize(value) {
|
|
32
|
+
// oxlint-disable-next-line anti-slop/no-runtime-typeof -- runtime dispatch is required by canonical JSON serialization.
|
|
28
33
|
if (value === null || typeof value === 'string' || typeof value === 'boolean') {
|
|
29
34
|
return JSON.stringify(value);
|
|
30
35
|
}
|
|
36
|
+
// oxlint-disable-next-line anti-slop/no-runtime-typeof -- runtime dispatch is required by canonical JSON serialization.
|
|
31
37
|
if (typeof value === 'number') {
|
|
32
38
|
if (!Number.isFinite(value))
|
|
33
39
|
throw new TypeError('Contract release values must be finite numbers.');
|
|
@@ -36,13 +42,16 @@ function canonicalSerialize(value) {
|
|
|
36
42
|
if (Array.isArray(value)) {
|
|
37
43
|
return `[${value.map(canonicalSerialize).join(',')}]`;
|
|
38
44
|
}
|
|
45
|
+
// oxlint-disable-next-line anti-slop/no-runtime-typeof -- runtime dispatch is required by canonical JSON serialization.
|
|
39
46
|
if (typeof value === 'object') {
|
|
40
47
|
return `{${Object.entries(value)
|
|
41
48
|
.sort(([left], [right]) => (left < right ? -1 : left > right ? 1 : 0))
|
|
42
49
|
.map(([key, entry]) => `${JSON.stringify(key)}:${canonicalSerialize(entry)}`)
|
|
43
50
|
.join(',')}}`;
|
|
44
51
|
}
|
|
45
|
-
throw new TypeError(
|
|
52
|
+
throw new TypeError(
|
|
53
|
+
// oxlint-disable-next-line anti-slop/no-runtime-typeof -- error text reports the rejected boundary type.
|
|
54
|
+
`Contract release values must be JSON serializable; received ${typeof value}.`);
|
|
46
55
|
}
|
|
47
56
|
/** Canonical key-sorted JSON derived from the executed manifest values. */
|
|
48
57
|
export const contractReleaseManifestCanonicalJson = canonicalSerialize(contractReleaseManifest);
|
package/dist/manifest.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAEV,YAAY,EACZ,WAAW,EACX,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,UAAU,EACV,eAAe,EACf,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,gCAAgC,EAChC,8BAA8B,GAC/B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,yBAAyB,GAE1B,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,wBAAwB,EACxB,0BAA0B,EAC1B,iBAAiB,EACjB,6BAA6B,EAC7B,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,GAIvB,MAAM,uBAAuB,CAAC;AAC/B,2FAA2F;AAC3F,MAAM,UAAU,6BAA6B,CAAC,eAAe,GAAG,iBAAiB;IAC/E,OAAO;QACL,GAAG,EAAE;YACH,SAAS,EAAE,mBAAmB;YAC9B,OAAO,EAAE;gBACP,GAAG,EAAE,UAAU;aAChB;YACD,KAAK,EAAE;gBACL,OAAO,EAAE,YAAY;gBACrB,MAAM,EAAE,WAAW;aACpB;SACF;QACD,GAAG,EAAE;YACH,YAAY,EAAE,eAAe;YAC7B,KAAK,EAAE,yBAAyB;SACjC;KACO,CAAC;AACb,CAAC;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG,6BAA6B,EAAE,CAAC;AAEvE,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC9E,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;YACzB,MAAM,IAAI,SAAS,CAAC,iDAAiD,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IACxD,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;aAC7B,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACrE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;aAC5E,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,SAAS,
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAEV,YAAY,EACZ,WAAW,EACX,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,UAAU,EACV,eAAe,EACf,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,gCAAgC,EAChC,8BAA8B,GAC/B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,yBAAyB,GAE1B,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,wBAAwB,EACxB,0BAA0B,EAC1B,iBAAiB,EACjB,6BAA6B,EAC7B,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,GAIvB,MAAM,uBAAuB,CAAC;AAC/B,2FAA2F;AAC3F,MAAM,UAAU,6BAA6B,CAAC,eAAe,GAAG,iBAAiB;IAC/E,OAAO;QACL,GAAG,EAAE;YACH,SAAS,EAAE,mBAAmB;YAC9B,OAAO,EAAE;gBACP,GAAG,EAAE,UAAU;aAChB;YACD,KAAK,EAAE;gBACL,OAAO,EAAE,YAAY;gBACrB,MAAM,EAAE,WAAW;aACpB;SACF;QACD,GAAG,EAAE;YACH,YAAY,EAAE,eAAe;YAC7B,KAAK,EAAE,yBAAyB;SACjC;KACO,CAAC;AACb,CAAC;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG,6BAA6B,EAAE,CAAC;AAEvE,6EAA6E;AAC7E,8EAA8E;AAC9E,gEAAgE;AAChE,8GAA8G;AAC9G,SAAS,kBAAkB,CAAC,KAAc;IACxC,wHAAwH;IACxH,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC9E,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,wHAAwH;IACxH,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;YACzB,MAAM,IAAI,SAAS,CAAC,iDAAiD,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IACxD,CAAC;IAED,wHAAwH;IACxH,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;aAC7B,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACrE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;aAC5E,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,SAAS;IACjB,yGAAyG;IACzG,+DAA+D,OAAO,KAAK,GAAG,CAC/E,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,MAAM,CAAC,MAAM,oCAAoC,GAAG,kBAAkB,CAAC,uBAAuB,CAAC,CAAC"}
|
|
@@ -3,6 +3,19 @@ export type WarmMcpPackageReleaseMetadata = {
|
|
|
3
3
|
nodeEngine: string;
|
|
4
4
|
version: string;
|
|
5
5
|
};
|
|
6
|
+
export type WarmMcpPackageIntegrityContract = {
|
|
7
|
+
algorithm: 'sha512';
|
|
8
|
+
registryIntegrity: string | null;
|
|
9
|
+
trustedPublishReadbackGate: {
|
|
10
|
+
package: string;
|
|
11
|
+
registryField: 'dist.integrity';
|
|
12
|
+
requiredBeforeTrust: true;
|
|
13
|
+
version: string;
|
|
14
|
+
workflow: '.github/workflows/publish-mcp.yml';
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
export declare const WARM_MCP_REQUIRE_REGISTRY_INTEGRITY = "WARM_MCP_REQUIRE_REGISTRY_INTEGRITY";
|
|
18
|
+
export declare const WARM_MCP_REGISTRY_INTEGRITY = "WARM_MCP_REGISTRY_INTEGRITY";
|
|
6
19
|
export type WarmMcpConfigPath = {
|
|
7
20
|
root: 'appData' | 'home';
|
|
8
21
|
segments: readonly string[];
|
|
@@ -332,7 +345,9 @@ export declare function createWarmMcpManifest(metadata: WarmMcpPackageReleaseMet
|
|
|
332
345
|
readonly installCommand: string;
|
|
333
346
|
readonly installerCommand: `${string} install`;
|
|
334
347
|
readonly minimumNodeVersion: string;
|
|
348
|
+
readonly packageIntegrity: WarmMcpPackageIntegrityContract;
|
|
335
349
|
readonly packageName: string;
|
|
350
|
+
readonly launcherPackageSpec: string;
|
|
336
351
|
readonly packageSpec: string;
|
|
337
352
|
readonly packageVersion: string;
|
|
338
353
|
readonly projectConfigs: readonly [".mcp.json", ".cursor/mcp.json", ".vscode/mcp.json"];
|
|
@@ -343,6 +358,12 @@ export declare function createWarmMcpManifest(metadata: WarmMcpPackageReleaseMet
|
|
|
343
358
|
readonly serverName: 'warm';
|
|
344
359
|
};
|
|
345
360
|
};
|
|
361
|
+
export type WarmMcpManifest = ReturnType<typeof createWarmMcpManifest>;
|
|
362
|
+
export declare function assertWarmMcpLauncherContract(manifest: WarmMcpManifest): void;
|
|
363
|
+
export declare function validateWarmMcpPackageSpec(packageSpec: string, expectedSpec?: string): void;
|
|
364
|
+
export declare function validateWarmMcpLauncherPackageSpec(packageSpec: string, expectedPackageName?: string): void;
|
|
365
|
+
export declare function requireWarmMcpRegistryIntegrity(integrity: string | null | undefined): asserts integrity is string;
|
|
366
|
+
export declare function maybeRequireWarmMcpRegistryIntegrity(integrity: string | null | undefined): void;
|
|
346
367
|
export declare const WARM_MCP_MANIFEST: {
|
|
347
368
|
readonly clients: readonly [{
|
|
348
369
|
readonly id: 'claude-code';
|
|
@@ -506,7 +527,9 @@ export declare const WARM_MCP_MANIFEST: {
|
|
|
506
527
|
readonly installCommand: string;
|
|
507
528
|
readonly installerCommand: `${string} install`;
|
|
508
529
|
readonly minimumNodeVersion: string;
|
|
530
|
+
readonly packageIntegrity: WarmMcpPackageIntegrityContract;
|
|
509
531
|
readonly packageName: string;
|
|
532
|
+
readonly launcherPackageSpec: string;
|
|
510
533
|
readonly packageSpec: string;
|
|
511
534
|
readonly packageVersion: string;
|
|
512
535
|
readonly projectConfigs: readonly [".mcp.json", ".cursor/mcp.json", ".vscode/mcp.json"];
|
|
@@ -520,6 +543,7 @@ export declare const WARM_MCP_MANIFEST: {
|
|
|
520
543
|
export declare const WARM_MCP_PACKAGE_NAME: string;
|
|
521
544
|
export declare const WARM_MCP_PACKAGE_VERSION: string;
|
|
522
545
|
export declare const WARM_MCP_PACKAGE_SPEC: string;
|
|
546
|
+
export declare const WARM_MCP_LAUNCHER_PACKAGE_SPEC: string;
|
|
523
547
|
export declare const WARM_MCP_INSTALL_COMMAND: string;
|
|
524
548
|
export declare const WARM_MCP_MINIMUM_NODE_VERSION: string;
|
|
525
549
|
export declare const WARM_MCP_SERVER_CONFIG: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"distribution.d.ts","sourceRoot":"","sources":["../../src/mcp/distribution.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,6BAA6B,GAAG;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC;IACzB,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,YAAY,GAAG,UAAU,CAAC;AAEnE,eAAO,MAAM,gBAAgB;aAEzB,EAAE,EAAE,aAAa;aACjB,IAAI,EAAE,aAAa;aACnB,MAAM,EAAE,MAAM;aACd,aAAa,EAAE,YAAY;aAC3B,aAAa;aACb,WAAW;iBACT,MAAM;qBAAI,IAAI,EAAE,MAAM;qBAAE,QAAQ,YAAG,cAAc;;iBACjD,KAAK;qBAAI,IAAI,EAAE,MAAM;qBAAE,QAAQ,YAAG,cAAc;;iBAChD,KAAK;qBAAI,IAAI,EAAE,MAAM;qBAAE,QAAQ,YAAG,cAAc;;;;aAIlD,EAAE,EAAE,gBAAgB;aACpB,IAAI,EAAE,gBAAgB;aACtB,MAAM,EAAE,MAAM;aACd,aAAa,EAAE,YAAY;aAC3B,WAAW;iBACT,MAAM;qBACJ,IAAI,EAAE,MAAM;qBACZ,QAAQ,YAAG,SAAS,EAAE,qBAAqB,EAAE,QAAQ,EAAE,4BAA4B;;iBAErF,KAAK;qBACH,IAAI,EAAE,MAAM;qBACZ,QAAQ,YAAG,SAAS,EAAE,QAAQ,EAAE,4BAA4B;;iBAE9D,KAAK;qBACH,IAAI,EAAE,SAAS;qBACf,QAAQ,YAAG,QAAQ,EAAE,4BAA4B;;;;aAKrD,EAAE,EAAE,QAAQ;aACZ,IAAI,EAAE,QAAQ;aACd,MAAM,EAAE,MAAM;aACd,aAAa,EAAE,YAAY;aAC3B,WAAW;iBACT,MAAM;qBAAI,IAAI,EAAE,MAAM;qBAAE,QAAQ,YAAG,SAAS,EAAE,UAAU;;iBACxD,KAAK;qBAAI,IAAI,EAAE,MAAM;qBAAE,QAAQ,YAAG,SAAS,EAAE,UAAU;;iBACvD,KAAK;qBAAI,IAAI,EAAE,MAAM;qBAAE,QAAQ,YAAG,SAAS,EAAE,UAAU;;;;aAIzD,EAAE,EAAE,UAAU;aACd,IAAI,EAAE,UAAU;aAChB,MAAM,EAAE,MAAM;aACd,aAAa,EAAE,YAAY;aAC3B,WAAW;iBACT,MAAM;
|
|
1
|
+
{"version":3,"file":"distribution.d.ts","sourceRoot":"","sources":["../../src/mcp/distribution.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/distribution.js
CHANGED
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
* by the app and docs but are not part of the API endpoint registry.
|
|
4
4
|
*/
|
|
5
5
|
import { warmMcpPackageReleaseMetadata } from '../generated/mcp-package-release-metadata.js';
|
|
6
|
+
export const WARM_MCP_REQUIRE_REGISTRY_INTEGRITY = 'WARM_MCP_REQUIRE_REGISTRY_INTEGRITY';
|
|
7
|
+
export const WARM_MCP_REGISTRY_INTEGRITY = 'WARM_MCP_REGISTRY_INTEGRITY';
|
|
6
8
|
export const WARM_MCP_CLIENTS = [
|
|
7
9
|
{
|
|
8
10
|
id: 'claude-code',
|
|
@@ -53,9 +55,18 @@ export const WARM_MCP_CLIENTS = [
|
|
|
53
55
|
format: 'json',
|
|
54
56
|
configDialect: 'mcpServers',
|
|
55
57
|
configPaths: {
|
|
56
|
-
darwin: {
|
|
57
|
-
|
|
58
|
-
|
|
58
|
+
darwin: {
|
|
59
|
+
root: 'home',
|
|
60
|
+
segments: ['.codeium', 'windsurf', 'mcp_config.json'],
|
|
61
|
+
},
|
|
62
|
+
linux: {
|
|
63
|
+
root: 'home',
|
|
64
|
+
segments: ['.codeium', 'windsurf', 'mcp_config.json'],
|
|
65
|
+
},
|
|
66
|
+
win32: {
|
|
67
|
+
root: 'home',
|
|
68
|
+
segments: ['.codeium', 'windsurf', 'mcp_config.json'],
|
|
69
|
+
},
|
|
59
70
|
},
|
|
60
71
|
},
|
|
61
72
|
{
|
|
@@ -64,9 +75,18 @@ export const WARM_MCP_CLIENTS = [
|
|
|
64
75
|
format: 'json',
|
|
65
76
|
configDialect: 'openCode',
|
|
66
77
|
configPaths: {
|
|
67
|
-
darwin: {
|
|
68
|
-
|
|
69
|
-
|
|
78
|
+
darwin: {
|
|
79
|
+
root: 'home',
|
|
80
|
+
segments: ['.config', 'opencode', 'opencode.json'],
|
|
81
|
+
},
|
|
82
|
+
linux: {
|
|
83
|
+
root: 'home',
|
|
84
|
+
segments: ['.config', 'opencode', 'opencode.json'],
|
|
85
|
+
},
|
|
86
|
+
win32: {
|
|
87
|
+
root: 'home',
|
|
88
|
+
segments: ['.config', 'opencode', 'opencode.json'],
|
|
89
|
+
},
|
|
70
90
|
},
|
|
71
91
|
},
|
|
72
92
|
{
|
|
@@ -86,9 +106,18 @@ export const WARM_MCP_CLIENTS = [
|
|
|
86
106
|
format: 'json',
|
|
87
107
|
configDialect: 'mcpServers',
|
|
88
108
|
configPaths: {
|
|
89
|
-
darwin: {
|
|
90
|
-
|
|
91
|
-
|
|
109
|
+
darwin: {
|
|
110
|
+
root: 'home',
|
|
111
|
+
segments: ['.gemini', 'antigravity', 'mcp_config.json'],
|
|
112
|
+
},
|
|
113
|
+
linux: {
|
|
114
|
+
root: 'home',
|
|
115
|
+
segments: ['.gemini', 'antigravity', 'mcp_config.json'],
|
|
116
|
+
},
|
|
117
|
+
win32: {
|
|
118
|
+
root: 'home',
|
|
119
|
+
segments: ['.gemini', 'antigravity', 'mcp_config.json'],
|
|
120
|
+
},
|
|
92
121
|
},
|
|
93
122
|
},
|
|
94
123
|
{
|
|
@@ -114,31 +143,105 @@ export const WARM_MCP_CREDENTIALS = {
|
|
|
114
143
|
defaultFileName: 'api_key',
|
|
115
144
|
};
|
|
116
145
|
export function createWarmMcpManifest(metadata) {
|
|
117
|
-
const packageSpec = `${metadata.name}
|
|
118
|
-
const
|
|
146
|
+
const packageSpec = `${metadata.name}@${metadata.version}`;
|
|
147
|
+
const launcherPackageSpec = `${metadata.name}@latest`;
|
|
148
|
+
const installCommand = `npx -y ${launcherPackageSpec}`;
|
|
119
149
|
const serverConfig = {
|
|
120
|
-
args: ['-y',
|
|
150
|
+
args: ['-y', launcherPackageSpec, 'mcp'],
|
|
121
151
|
command: 'npx',
|
|
122
152
|
serverName: 'warm',
|
|
123
153
|
};
|
|
124
|
-
|
|
154
|
+
const packageIntegrity = {
|
|
155
|
+
algorithm: 'sha512',
|
|
156
|
+
registryIntegrity: null,
|
|
157
|
+
trustedPublishReadbackGate: {
|
|
158
|
+
package: metadata.name,
|
|
159
|
+
registryField: 'dist.integrity',
|
|
160
|
+
requiredBeforeTrust: true,
|
|
161
|
+
version: metadata.version,
|
|
162
|
+
workflow: '.github/workflows/publish-mcp.yml',
|
|
163
|
+
},
|
|
164
|
+
};
|
|
165
|
+
const manifest = {
|
|
125
166
|
clients: WARM_MCP_CLIENTS,
|
|
126
167
|
credentials: WARM_MCP_CREDENTIALS,
|
|
127
168
|
installCommand,
|
|
128
169
|
installerCommand: `${installCommand} install`,
|
|
129
170
|
minimumNodeVersion: metadata.nodeEngine,
|
|
171
|
+
packageIntegrity,
|
|
130
172
|
packageName: metadata.name,
|
|
173
|
+
launcherPackageSpec,
|
|
131
174
|
packageSpec,
|
|
132
175
|
packageVersion: metadata.version,
|
|
133
176
|
projectConfigs: WARM_MCP_PROJECT_CONFIGS,
|
|
134
177
|
serverCommand: `${installCommand} mcp`,
|
|
135
178
|
serverConfig,
|
|
136
179
|
};
|
|
180
|
+
assertWarmMcpLauncherContract(manifest);
|
|
181
|
+
return manifest;
|
|
182
|
+
}
|
|
183
|
+
export function assertWarmMcpLauncherContract(manifest) {
|
|
184
|
+
const expectedSpec = `${manifest.packageName}@${manifest.packageVersion}`;
|
|
185
|
+
validateWarmMcpPackageSpec(manifest.packageSpec, expectedSpec);
|
|
186
|
+
validateWarmMcpLauncherPackageSpec(manifest.launcherPackageSpec, manifest.packageName);
|
|
187
|
+
const gate = manifest.packageIntegrity.trustedPublishReadbackGate;
|
|
188
|
+
if (!gate.requiredBeforeTrust ||
|
|
189
|
+
gate.version !== manifest.packageVersion ||
|
|
190
|
+
gate.package !== manifest.packageName ||
|
|
191
|
+
gate.registryField !== 'dist.integrity') {
|
|
192
|
+
throw new Error('Warm MCP package integrity gate must reference the pinned release metadata.');
|
|
193
|
+
}
|
|
194
|
+
if (manifest.packageIntegrity.algorithm !== 'sha512') {
|
|
195
|
+
throw new Error('Warm MCP package integrity contract must use sha512.');
|
|
196
|
+
}
|
|
197
|
+
if (manifest.serverConfig.args.length !== 3 ||
|
|
198
|
+
manifest.serverConfig.command !== 'npx' ||
|
|
199
|
+
manifest.serverConfig.args[0] !== '-y' ||
|
|
200
|
+
manifest.serverConfig.args[1] !== manifest.launcherPackageSpec ||
|
|
201
|
+
manifest.serverConfig.args[2] !== 'mcp') {
|
|
202
|
+
throw new Error('Warm MCP server launcher config must use the approved latest package spec.');
|
|
203
|
+
}
|
|
204
|
+
const expectedInstallCommand = `npx -y ${manifest.launcherPackageSpec}`;
|
|
205
|
+
if (manifest.installCommand !== expectedInstallCommand ||
|
|
206
|
+
manifest.installerCommand !== `${expectedInstallCommand} install` ||
|
|
207
|
+
manifest.serverCommand !== `${expectedInstallCommand} mcp`) {
|
|
208
|
+
throw new Error('Warm MCP setup commands must use the approved latest package spec.');
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
export function validateWarmMcpPackageSpec(packageSpec, expectedSpec = WARM_MCP_PACKAGE_SPEC) {
|
|
212
|
+
if (packageSpec.endsWith('@latest')) {
|
|
213
|
+
throw new Error('Warm MCP launcher package spec must not use a floating @latest tag.');
|
|
214
|
+
}
|
|
215
|
+
if (packageSpec !== expectedSpec) {
|
|
216
|
+
throw new Error(`Warm MCP launcher package spec must exactly match ${expectedSpec}.`);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
export function validateWarmMcpLauncherPackageSpec(packageSpec, expectedPackageName = warmMcpPackageReleaseMetadata.name) {
|
|
220
|
+
const expectedSpec = `${expectedPackageName}@latest`;
|
|
221
|
+
if (packageSpec !== expectedSpec) {
|
|
222
|
+
throw new Error(`Warm MCP launcher package spec must exactly match ${expectedSpec}.`);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
const WARM_MCP_REGISTRY_INTEGRITY_PATTERN = /^sha512-[A-Za-z0-9+/]{86}==$/;
|
|
226
|
+
export function requireWarmMcpRegistryIntegrity(integrity) {
|
|
227
|
+
if (integrity === null || integrity === undefined || integrity.length === 0) {
|
|
228
|
+
throw new Error(`Warm MCP package integrity is unavailable until ${WARM_MCP_MANIFEST.packageIntegrity.trustedPublishReadbackGate.workflow} completes registry readback for ${WARM_MCP_PACKAGE_SPEC}.`);
|
|
229
|
+
}
|
|
230
|
+
if (!WARM_MCP_REGISTRY_INTEGRITY_PATTERN.test(integrity)) {
|
|
231
|
+
throw new Error('Warm MCP package integrity is malformed; expected a sha512-<base64> registry value.');
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
export function maybeRequireWarmMcpRegistryIntegrity(integrity) {
|
|
235
|
+
const environment = Reflect.get(globalThis, 'process')?.env;
|
|
236
|
+
if (environment?.[WARM_MCP_REQUIRE_REGISTRY_INTEGRITY]?.trim() !== '1')
|
|
237
|
+
return;
|
|
238
|
+
requireWarmMcpRegistryIntegrity(integrity ?? environment?.[WARM_MCP_REGISTRY_INTEGRITY]?.trim());
|
|
137
239
|
}
|
|
138
240
|
export const WARM_MCP_MANIFEST = createWarmMcpManifest(warmMcpPackageReleaseMetadata);
|
|
139
241
|
export const WARM_MCP_PACKAGE_NAME = WARM_MCP_MANIFEST.packageName;
|
|
140
242
|
export const WARM_MCP_PACKAGE_VERSION = WARM_MCP_MANIFEST.packageVersion;
|
|
141
243
|
export const WARM_MCP_PACKAGE_SPEC = WARM_MCP_MANIFEST.packageSpec;
|
|
244
|
+
export const WARM_MCP_LAUNCHER_PACKAGE_SPEC = WARM_MCP_MANIFEST.launcherPackageSpec;
|
|
142
245
|
export const WARM_MCP_INSTALL_COMMAND = WARM_MCP_MANIFEST.installCommand;
|
|
143
246
|
export const WARM_MCP_MINIMUM_NODE_VERSION = WARM_MCP_MANIFEST.minimumNodeVersion;
|
|
144
247
|
export const WARM_MCP_SERVER_CONFIG = WARM_MCP_MANIFEST.serverConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"distribution.js","sourceRoot":"","sources":["../../src/mcp/distribution.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAC;
|
|
1
|
+
{"version":3,"file":"distribution.js","sourceRoot":"","sources":["../../src/mcp/distribution.ts"],"names":[],"mappings":"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"}
|