host-execution-mcp 1.0.0 → 2.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.
Files changed (94) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/README.md +14 -12
  3. package/SECURITY.md +3 -3
  4. package/dist/access/index.d.ts +21 -10
  5. package/dist/access/index.js +55 -27
  6. package/dist/access/index.js.map +1 -1
  7. package/dist/access/paradi-auth.d.ts +3 -3
  8. package/dist/access/paradi-auth.js +4 -4
  9. package/dist/access/paradi-auth.js.map +1 -1
  10. package/dist/access/paradi-transport.d.ts +1 -1
  11. package/dist/access/paradi-transport.js +3 -3
  12. package/dist/access/paradi-transport.js.map +1 -1
  13. package/dist/access/paradi-username.d.ts +1 -1
  14. package/dist/access/paradi-username.js +2 -2
  15. package/dist/access/paradi-username.js.map +1 -1
  16. package/dist/access/session-pool.d.ts +5 -0
  17. package/dist/access/session-pool.js +7 -0
  18. package/dist/access/session-pool.js.map +1 -1
  19. package/dist/access/ssh-transport.d.ts +1 -1
  20. package/dist/access/ssh-transport.js +3 -2
  21. package/dist/access/ssh-transport.js.map +1 -1
  22. package/dist/config-yaml.d.ts +54 -0
  23. package/dist/config-yaml.js +172 -0
  24. package/dist/config-yaml.js.map +1 -0
  25. package/dist/config.d.ts +45 -1
  26. package/dist/config.js +126 -22
  27. package/dist/config.js.map +1 -1
  28. package/dist/index.js +3 -3
  29. package/dist/index.js.map +1 -1
  30. package/dist/instructions.d.ts +4 -1
  31. package/dist/instructions.js +92 -70
  32. package/dist/instructions.js.map +1 -1
  33. package/dist/kubectl/runner.d.ts +7 -8
  34. package/dist/kubectl/runner.js +18 -21
  35. package/dist/kubectl/runner.js.map +1 -1
  36. package/dist/link-runtime.d.ts +39 -0
  37. package/dist/link-runtime.js +134 -0
  38. package/dist/link-runtime.js.map +1 -0
  39. package/dist/server.d.ts +2 -1
  40. package/dist/server.js +10 -12
  41. package/dist/server.js.map +1 -1
  42. package/dist/sources/guides.d.ts +34 -0
  43. package/dist/sources/guides.js +50 -0
  44. package/dist/sources/guides.js.map +1 -0
  45. package/dist/sources/index.d.ts +5 -0
  46. package/dist/sources/index.js +22 -0
  47. package/dist/sources/index.js.map +1 -0
  48. package/dist/sources/yaml-template.d.ts +31 -0
  49. package/dist/sources/yaml-template.js +35 -0
  50. package/dist/sources/yaml-template.js.map +1 -0
  51. package/dist/ssh/access-client.d.ts +6 -2
  52. package/dist/ssh/access-client.js +58 -27
  53. package/dist/ssh/access-client.js.map +1 -1
  54. package/dist/ssh/access-errors.js +1 -1
  55. package/dist/ssh/access-errors.js.map +1 -1
  56. package/dist/ssh/access-sftp.js +3 -3
  57. package/dist/ssh/access-sftp.js.map +1 -1
  58. package/dist/tools/copy-job-schemas.d.ts +96 -581
  59. package/dist/tools/copy-job-schemas.js +9 -9
  60. package/dist/tools/copy-job-schemas.js.map +1 -1
  61. package/dist/tools/register.d.ts +2 -10
  62. package/dist/tools/register.js +174 -331
  63. package/dist/tools/register.js.map +1 -1
  64. package/dist/tools/remote-schemas.d.ts +156 -708
  65. package/dist/tools/remote-schemas.js +99 -103
  66. package/dist/tools/remote-schemas.js.map +1 -1
  67. package/dist/utils/copy-executor.d.ts +3 -1
  68. package/dist/utils/copy-executor.js +39 -25
  69. package/dist/utils/copy-executor.js.map +1 -1
  70. package/dist/utils/copy-transfer.d.ts +2 -0
  71. package/dist/utils/copy-transfer.js.map +1 -1
  72. package/dist/utils/remote-executor.d.ts +3 -4
  73. package/dist/utils/remote-executor.js +8 -18
  74. package/dist/utils/remote-executor.js.map +1 -1
  75. package/dist/utils/remote-target.js +1 -1
  76. package/dist/utils/remote-target.js.map +1 -1
  77. package/docs/AGENT_GUIDE.md +31 -103
  78. package/docs/CONFIGURATION.md +39 -10
  79. package/docs/GUIDE.md +186 -0
  80. package/docs/PARADI_ACCESS_PLAN.md +6 -6
  81. package/docs/TODO.md +4 -11
  82. package/docs/USER_GUIDE.zh-CN.md +38 -69
  83. package/docs/host-execution.yaml +92 -0
  84. package/docs/paradi-gateway-interactive.png +0 -0
  85. package/package.json +67 -65
  86. package/dist/ssh/bastion-client.d.ts +0 -60
  87. package/dist/ssh/bastion-client.js +0 -423
  88. package/dist/ssh/bastion-client.js.map +0 -1
  89. package/dist/ssh/bastion-errors.d.ts +0 -62
  90. package/dist/ssh/bastion-errors.js +0 -190
  91. package/dist/ssh/bastion-errors.js.map +0 -1
  92. package/dist/ssh/hop1-sftp.d.ts +0 -14
  93. package/dist/ssh/hop1-sftp.js +0 -437
  94. package/dist/ssh/hop1-sftp.js.map +0 -1
@@ -3,12 +3,16 @@
3
3
  * Registered as: remote_copy_start / remote_copy_status / remote_copy_cancel
4
4
  */
5
5
  import { z } from "zod";
6
- import { buildRemoteFileEndpointSchema, } from "./remote-schemas.js";
6
+ import { buildRemoteFileEndpointSchema, hopHostField, linkDescriptionField, } from "./remote-schemas.js";
7
7
  const timeoutMs = z.number().int().positive().optional().describe("Timeout in milliseconds");
8
- export function buildRemoteCopyStartSchema(opts = { allowContext: true }) {
9
- const endpoint = buildRemoteFileEndpointSchema(opts);
8
+ export function buildRemoteCopyStartSchema() {
9
+ const endpoint = buildRemoteFileEndpointSchema();
10
10
  return z
11
11
  .object({
12
+ description: linkDescriptionField,
13
+ host: hopHostField,
14
+ user: z.string().optional(),
15
+ password: z.string().optional(),
12
16
  source: endpoint.describe("Copy from"),
13
17
  dest: endpoint.describe("Copy to"),
14
18
  recursive: z.boolean().optional().describe("Recursive directory copy (default true)"),
@@ -25,13 +29,9 @@ export function buildRemoteCopyStartSchema(opts = { allowContext: true }) {
25
29
  /** @deprecated prefer totalTimeoutMs */
26
30
  timeoutMs,
27
31
  })
28
- .strict()
29
- .refine((v) => !(v.skipIfComplete === true && v.verify === "none"), {
30
- message: "skipIfComplete requires verify=size or verify=size+sha256",
31
- path: ["verify"],
32
- });
32
+ .strict();
33
33
  }
34
- export const remoteCopyStartSchema = buildRemoteCopyStartSchema({ allowContext: true });
34
+ export const remoteCopyStartSchema = buildRemoteCopyStartSchema();
35
35
  export const remoteCopyStatusSchema = z
36
36
  .object({
37
37
  transferId: z
@@ -1 +1 @@
1
- {"version":3,"file":"copy-job-schemas.js","sourceRoot":"","sources":["../../src/tools/copy-job-schemas.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,6BAA6B,GAE9B,MAAM,qBAAqB,CAAC;AAE7B,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;AAE7F,MAAM,UAAU,0BAA0B,CAAC,OAAyB,EAAE,YAAY,EAAE,IAAI,EAAE;IACxF,MAAM,QAAQ,GAAG,6BAA6B,CAAC,IAAI,CAAC,CAAC;IACrD,OAAO,CAAC;SACL,MAAM,CAAC;QACN,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC;QACtC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;QAClC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;QACrF,cAAc,EAAE,CAAC;aACd,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CACP,qHAAqH,CACtH;QACH,MAAM,EAAE,CAAC;aACN,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;aACrC,QAAQ,EAAE;aACV,QAAQ,CACP,2FAA2F,CAC5F;QACH,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;QAC1D,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;QACtD,wCAAwC;QACxC,SAAS;KACV,CAAC;SACD,MAAM,EAAE;SACR,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE;QAClE,OAAO,EAAE,2DAA2D;QACpE,IAAI,EAAE,CAAC,QAAQ,CAAC;KACjB,CAAC,CAAC;AACP,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,0BAA0B,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;AAIxF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC;KACpC,MAAM,CAAC;IACN,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CACP,uGAAuG,CACxG;CACJ,CAAC;KACD,MAAM,EAAE,CAAC;AAIZ,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC;KACpC,MAAM,CAAC;IACN,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC9B,CAAC;KACD,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"copy-job-schemas.js","sourceRoot":"","sources":["../../src/tools/copy-job-schemas.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,6BAA6B,EAC7B,YAAY,EACZ,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;AAE7F,MAAM,UAAU,0BAA0B;IACxC,MAAM,QAAQ,GAAG,6BAA6B,EAAE,CAAC;IACjD,OAAO,CAAC;SACL,MAAM,CAAC;QACN,WAAW,EAAE,oBAAoB;QACjC,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC/B,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC;QACtC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;QAClC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;QACrF,cAAc,EAAE,CAAC;aACd,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CACP,qHAAqH,CACtH;QACH,MAAM,EAAE,CAAC;aACN,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;aACrC,QAAQ,EAAE;aACV,QAAQ,CACP,2FAA2F,CAC5F;QACH,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;QAC1D,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;QACtD,wCAAwC;QACxC,SAAS;KACV,CAAC;SACD,MAAM,EAAE,CAAC;AACd,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,0BAA0B,EAAE,CAAC;AAIlE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC;KACpC,MAAM,CAAC;IACN,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CACP,uGAAuG,CACxG;CACJ,CAAC;KACD,MAAM,EAAE,CAAC;AAIZ,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC;KACpC,MAAM,CAAC;IACN,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC9B,CAAC;KACD,MAAM,EAAE,CAAC"}
@@ -1,14 +1,6 @@
1
1
  import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
- import type { AccessRuntime } from "../access/index.js";
3
- import type { AppConfig } from "../config.js";
4
- import type { KubectlRunner } from "../kubectl/runner.js";
5
- import type { AccessClient } from "../ssh/access-client.js";
6
- import type { RemoteExecutor } from "../utils/remote-executor.js";
2
+ import type { LinkRuntimeHub } from "../link-runtime.js";
7
3
  export declare function registerTools(server: McpServer, deps: {
8
- config: AppConfig;
9
- accessClient: AccessClient;
10
- access: AccessRuntime;
11
- kubectl: KubectlRunner;
12
- remote: RemoteExecutor;
4
+ hub: LinkRuntimeHub;
13
5
  }): void;
14
6
  export declare function registerPrompts(server: McpServer): void;