helipod-mcp 0.3.0 → 0.3.1

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/http.js CHANGED
@@ -35620,7 +35620,11 @@ class HelipodClient {
35620
35620
  return this.request(this.emailApiUrl, this.cfg.emailApiKey, method, path, opts);
35621
35621
  }
35622
35622
  async request(base, key, method, path, opts) {
35623
- const url2 = new URL(base + (path.startsWith("/") ? path : `/${path}`));
35623
+ const raw = path.startsWith("/") ? path : `/${path}`;
35624
+ if (/(^|\/)\.\.?(\/|$)|[?#\\]|\/\/|%2e|%2f|%5c/i.test(raw)) {
35625
+ throw new HelipodError(400, "INVALID_PATH", "An id in this request contains characters that are not allowed.");
35626
+ }
35627
+ const url2 = new URL(base + raw);
35624
35628
  for (const [k, v] of Object.entries(opts.query ?? {}))
35625
35629
  if (v !== undefined && v !== null && v !== "")
35626
35630
  url2.searchParams.set(k, String(v));
@@ -36609,7 +36613,7 @@ var generalTools = [
36609
36613
  ];
36610
36614
 
36611
36615
  // src/server.ts
36612
- var VERSION = "0.3.0";
36616
+ var VERSION = "0.3.1";
36613
36617
  var INSTRUCTIONS = `Helipod is a cloud platform (Indonesia): containers, managed Postgres databases, VPS, domains, email and an AI gateway, billed from a prepaid wallet in Rupiah.
36614
36618
  - Start with list_projects to find projects and environment ids.
36615
36619
  - Anything that costs money (create/deploy/scale services, upgrade a database plan, create/renew/upgrade VPS, register/renew/transfer domains): run the dryRun or price lookup first, tell the user the cost in IDR and wait for an explicit yes.
package/dist/index.js CHANGED
@@ -34765,7 +34765,11 @@ class HelipodClient {
34765
34765
  return this.request(this.emailApiUrl, this.cfg.emailApiKey, method, path, opts);
34766
34766
  }
34767
34767
  async request(base, key, method, path, opts) {
34768
- const url2 = new URL(base + (path.startsWith("/") ? path : `/${path}`));
34768
+ const raw = path.startsWith("/") ? path : `/${path}`;
34769
+ if (/(^|\/)\.\.?(\/|$)|[?#\\]|\/\/|%2e|%2f|%5c/i.test(raw)) {
34770
+ throw new HelipodError(400, "INVALID_PATH", "An id in this request contains characters that are not allowed.");
34771
+ }
34772
+ const url2 = new URL(base + raw);
34769
34773
  for (const [k, v] of Object.entries(opts.query ?? {}))
34770
34774
  if (v !== undefined && v !== null && v !== "")
34771
34775
  url2.searchParams.set(k, String(v));
@@ -35754,7 +35758,7 @@ var generalTools = [
35754
35758
  ];
35755
35759
 
35756
35760
  // src/server.ts
35757
- var VERSION = "0.3.0";
35761
+ var VERSION = "0.3.1";
35758
35762
  var INSTRUCTIONS = `Helipod is a cloud platform (Indonesia): containers, managed Postgres databases, VPS, domains, email and an AI gateway, billed from a prepaid wallet in Rupiah.
35759
35763
  - Start with list_projects to find projects and environment ids.
35760
35764
  - Anything that costs money (create/deploy/scale services, upgrade a database plan, create/renew/upgrade VPS, register/renew/transfer domains): run the dryRun or price lookup first, tell the user the cost in IDR and wait for an explicit yes.
package/dist/stdio.js CHANGED
@@ -34872,7 +34872,11 @@ class HelipodClient {
34872
34872
  return this.request(this.emailApiUrl, this.cfg.emailApiKey, method, path, opts);
34873
34873
  }
34874
34874
  async request(base, key, method, path, opts) {
34875
- const url2 = new URL(base + (path.startsWith("/") ? path : `/${path}`));
34875
+ const raw = path.startsWith("/") ? path : `/${path}`;
34876
+ if (/(^|\/)\.\.?(\/|$)|[?#\\]|\/\/|%2e|%2f|%5c/i.test(raw)) {
34877
+ throw new HelipodError(400, "INVALID_PATH", "An id in this request contains characters that are not allowed.");
34878
+ }
34879
+ const url2 = new URL(base + raw);
34876
34880
  for (const [k, v] of Object.entries(opts.query ?? {}))
34877
34881
  if (v !== undefined && v !== null && v !== "")
34878
34882
  url2.searchParams.set(k, String(v));
@@ -35861,7 +35865,7 @@ var generalTools = [
35861
35865
  ];
35862
35866
 
35863
35867
  // src/server.ts
35864
- var VERSION = "0.3.0";
35868
+ var VERSION = "0.3.1";
35865
35869
  var INSTRUCTIONS = `Helipod is a cloud platform (Indonesia): containers, managed Postgres databases, VPS, domains, email and an AI gateway, billed from a prepaid wallet in Rupiah.
35866
35870
  - Start with list_projects to find projects and environment ids.
35867
35871
  - Anything that costs money (create/deploy/scale services, upgrade a database plan, create/renew/upgrade VPS, register/renew/transfer domains): run the dryRun or price lookup first, tell the user the cost in IDR and wait for an explicit yes.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "helipod-mcp",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "MCP server for Helipod: containers, databases, VPS, domains and email from Claude Code, Codex, Cursor and other AI tools.",
5
5
  "type": "module",
6
6
  "bin": {