usepaso 0.3.1 → 0.4.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.
Files changed (70) hide show
  1. package/README.md +29 -9
  2. package/dist/cli.js +42 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/connect.d.ts +4 -0
  5. package/dist/commands/connect.d.ts.map +1 -0
  6. package/dist/commands/connect.js +199 -0
  7. package/dist/commands/connect.js.map +1 -0
  8. package/dist/commands/doctor.d.ts +3 -0
  9. package/dist/commands/doctor.d.ts.map +1 -0
  10. package/dist/commands/doctor.js +134 -0
  11. package/dist/commands/doctor.js.map +1 -0
  12. package/dist/commands/init.d.ts.map +1 -1
  13. package/dist/commands/init.js +177 -11
  14. package/dist/commands/init.js.map +1 -1
  15. package/dist/commands/inspect.d.ts.map +1 -1
  16. package/dist/commands/inspect.js +14 -7
  17. package/dist/commands/inspect.js.map +1 -1
  18. package/dist/commands/serve.d.ts.map +1 -1
  19. package/dist/commands/serve.js +25 -7
  20. package/dist/commands/serve.js.map +1 -1
  21. package/dist/commands/shared.d.ts +2 -1
  22. package/dist/commands/shared.d.ts.map +1 -1
  23. package/dist/commands/shared.js +20 -27
  24. package/dist/commands/shared.js.map +1 -1
  25. package/dist/commands/test.d.ts +0 -1
  26. package/dist/commands/test.d.ts.map +1 -1
  27. package/dist/commands/test.js +63 -39
  28. package/dist/commands/test.js.map +1 -1
  29. package/dist/commands/validate.d.ts.map +1 -1
  30. package/dist/commands/validate.js +44 -3
  31. package/dist/commands/validate.js.map +1 -1
  32. package/dist/executor.d.ts +15 -0
  33. package/dist/executor.d.ts.map +1 -1
  34. package/dist/executor.js +102 -5
  35. package/dist/executor.js.map +1 -1
  36. package/dist/generators/mcp.d.ts +11 -3
  37. package/dist/generators/mcp.d.ts.map +1 -1
  38. package/dist/generators/mcp.js +210 -30
  39. package/dist/generators/mcp.js.map +1 -1
  40. package/dist/index.d.ts +3 -1
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +2 -1
  43. package/dist/index.js.map +1 -1
  44. package/dist/openapi.d.ts +1 -1
  45. package/dist/openapi.d.ts.map +1 -1
  46. package/dist/openapi.js +4 -4
  47. package/dist/openapi.js.map +1 -1
  48. package/dist/parser.d.ts.map +1 -1
  49. package/dist/parser.js +15 -0
  50. package/dist/parser.js.map +1 -1
  51. package/dist/utils/coerce.d.ts +2 -0
  52. package/dist/utils/coerce.d.ts.map +1 -0
  53. package/dist/utils/coerce.js +33 -0
  54. package/dist/utils/coerce.js.map +1 -0
  55. package/dist/utils/color.d.ts +19 -0
  56. package/dist/utils/color.d.ts.map +1 -0
  57. package/dist/utils/color.js +46 -0
  58. package/dist/utils/color.js.map +1 -0
  59. package/dist/utils/env.d.ts +17 -0
  60. package/dist/utils/env.d.ts.map +1 -0
  61. package/dist/utils/env.js +73 -0
  62. package/dist/utils/env.js.map +1 -0
  63. package/dist/utils/redact.d.ts +6 -0
  64. package/dist/utils/redact.d.ts.map +1 -0
  65. package/dist/utils/redact.js +37 -0
  66. package/dist/utils/redact.js.map +1 -0
  67. package/dist/validator.d.ts.map +1 -1
  68. package/dist/validator.js +82 -4
  69. package/dist/validator.js.map +1 -1
  70. package/package.json +2 -10
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ /**
3
+ * ANSI color utilities for CLI output.
4
+ * Uses 24-bit true color (brand palette) when supported, falls back to standard ANSI.
5
+ * Respects NO_COLOR env var (https://no-color.org/) and non-TTY stderr.
6
+ *
7
+ * Brand colors from usepaso.dev/brand tokens.css:
8
+ * success: #4e916a (sage green)
9
+ * error: #c5515c (muted red)
10
+ * warning: #c6813d (amber/rust)
11
+ * info: #86bfcb (teal)
12
+ * muted: #7a7773 (warm gray)
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.bold = exports.dim = exports.cyan = exports.yellow = exports.red = exports.green = void 0;
16
+ const enabled = !process.env.NO_COLOR && !!process.stdout.isTTY;
17
+ const trueColor = enabled &&
18
+ (process.env.COLORTERM === 'truecolor' ||
19
+ process.env.COLORTERM === '24bit' ||
20
+ process.env.TERM_PROGRAM === 'iTerm.app' ||
21
+ process.env.TERM_PROGRAM === 'vscode');
22
+ function rgb(r, g, b) {
23
+ if (!enabled)
24
+ return (s) => s;
25
+ if (trueColor)
26
+ return (s) => `\x1b[38;2;${r};${g};${b}m${s}\x1b[39m`;
27
+ // Fall through to caller's ANSI fallback
28
+ return null;
29
+ }
30
+ function ansi(open, close) {
31
+ if (!enabled)
32
+ return (s) => s;
33
+ return (s) => `\x1b[${open}m${s}\x1b[${close}m`;
34
+ }
35
+ // Brand: --color-success #4e916a
36
+ exports.green = rgb(78, 145, 106) ?? ansi(32, 39);
37
+ // Brand: --color-error #c5515c
38
+ exports.red = rgb(197, 81, 92) ?? ansi(31, 39);
39
+ // Brand: --color-warning #c6813d
40
+ exports.yellow = rgb(198, 129, 61) ?? ansi(33, 39);
41
+ // Brand: --teal-bright #86bfcb
42
+ exports.cyan = rgb(134, 191, 203) ?? ansi(36, 39);
43
+ // Brand: --dark-text-muted #7a7773
44
+ exports.dim = rgb(122, 119, 115) ?? ansi(2, 22);
45
+ exports.bold = ansi(1, 22);
46
+ //# sourceMappingURL=color.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color.js","sourceRoot":"","sources":["../../src/utils/color.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AAEH,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;AAEhE,MAAM,SAAS,GACb,OAAO;IACP,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,WAAW;QACpC,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,OAAO;QACjC,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,WAAW;QACxC,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC;AAE3C,SAAS,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS;IAC1C,IAAI,CAAC,OAAO;QAAE,OAAO,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC;IACtC,IAAI,SAAS;QAAE,OAAO,CAAC,CAAS,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;IAC7E,yCAAyC;IACzC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,IAAI,CAAC,IAAY,EAAE,KAAa;IACvC,IAAI,CAAC,OAAO;QAAE,OAAO,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC;IACtC,OAAO,CAAC,CAAS,EAAE,EAAE,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK,GAAG,CAAC;AAC1D,CAAC;AAED,iCAAiC;AACpB,QAAA,KAAK,GAAG,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAEvD,+BAA+B;AAClB,QAAA,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAEpD,iCAAiC;AACpB,QAAA,MAAM,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAExD,+BAA+B;AAClB,QAAA,IAAI,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAEvD,mCAAmC;AACtB,QAAA,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAExC,QAAA,IAAI,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Load variables from a .env file into process.env.
3
+ * Does NOT override existing environment variables.
4
+ * If envFilePath is provided, loads from that path. Otherwise loads .env relative to yamlPath.
5
+ * Returns true if a .env file was found and loaded.
6
+ */
7
+ export declare function loadEnvFile(yamlPath: string, envFilePath?: string): boolean;
8
+ /**
9
+ * Check if .env is tracked by git in the given directory.
10
+ * Returns true if tracked (bad), false if untracked or not a git repo.
11
+ */
12
+ export declare function isEnvTrackedByGit(dir: string): boolean;
13
+ /**
14
+ * Ensure .env is listed in .gitignore. Creates .gitignore if it doesn't exist.
15
+ */
16
+ export declare function ensureGitignore(dir: string): void;
17
+ //# sourceMappingURL=env.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/utils/env.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAyB3E;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAWtD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CASjD"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadEnvFile = loadEnvFile;
4
+ exports.isEnvTrackedByGit = isEnvTrackedByGit;
5
+ exports.ensureGitignore = ensureGitignore;
6
+ const path_1 = require("path");
7
+ const fs_1 = require("fs");
8
+ const child_process_1 = require("child_process");
9
+ /**
10
+ * Load variables from a .env file into process.env.
11
+ * Does NOT override existing environment variables.
12
+ * If envFilePath is provided, loads from that path. Otherwise loads .env relative to yamlPath.
13
+ * Returns true if a .env file was found and loaded.
14
+ */
15
+ function loadEnvFile(yamlPath, envFilePath) {
16
+ const envPath = envFilePath || (0, path_1.join)((0, path_1.dirname)(yamlPath), '.env');
17
+ if (!(0, fs_1.existsSync)(envPath))
18
+ return false;
19
+ const content = (0, fs_1.readFileSync)(envPath, 'utf-8');
20
+ for (const line of content.split('\n')) {
21
+ const trimmed = line.trim();
22
+ if (!trimmed || trimmed.startsWith('#'))
23
+ continue;
24
+ const eqIndex = trimmed.indexOf('=');
25
+ if (eqIndex === -1)
26
+ continue;
27
+ const key = trimmed.slice(0, eqIndex).trim();
28
+ let value = trimmed.slice(eqIndex + 1).trim();
29
+ // Strip surrounding quotes
30
+ if ((value.startsWith('"') && value.endsWith('"')) ||
31
+ (value.startsWith("'") && value.endsWith("'"))) {
32
+ value = value.slice(1, -1);
33
+ }
34
+ // Do not override existing env vars
35
+ if (process.env[key] === undefined) {
36
+ process.env[key] = value;
37
+ }
38
+ }
39
+ return true;
40
+ }
41
+ /**
42
+ * Check if .env is tracked by git in the given directory.
43
+ * Returns true if tracked (bad), false if untracked or not a git repo.
44
+ */
45
+ function isEnvTrackedByGit(dir) {
46
+ try {
47
+ const result = (0, child_process_1.execSync)('git ls-files .env', {
48
+ cwd: dir,
49
+ encoding: 'utf-8',
50
+ stdio: ['pipe', 'pipe', 'pipe'],
51
+ });
52
+ return result.trim().length > 0;
53
+ }
54
+ catch {
55
+ return false;
56
+ }
57
+ }
58
+ /**
59
+ * Ensure .env is listed in .gitignore. Creates .gitignore if it doesn't exist.
60
+ */
61
+ function ensureGitignore(dir) {
62
+ const gitignorePath = (0, path_1.join)(dir, '.gitignore');
63
+ if ((0, fs_1.existsSync)(gitignorePath)) {
64
+ const content = (0, fs_1.readFileSync)(gitignorePath, 'utf-8');
65
+ if (content.split('\n').some((line) => line.trim() === '.env'))
66
+ return;
67
+ (0, fs_1.appendFileSync)(gitignorePath, '\n.env\n');
68
+ }
69
+ else {
70
+ (0, fs_1.writeFileSync)(gitignorePath, '.env\n');
71
+ }
72
+ }
73
+ //# sourceMappingURL=env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/utils/env.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Redact sensitive query parameter values from URLs for safe logging.
3
+ * Matches common parameter names used for authentication.
4
+ */
5
+ export declare function redactUrl(url: string): string;
6
+ //# sourceMappingURL=redact.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redact.d.ts","sourceRoot":"","sources":["../../src/utils/redact.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAgBH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAc7C"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ /**
3
+ * Redact sensitive query parameter values from URLs for safe logging.
4
+ * Matches common parameter names used for authentication.
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.redactUrl = redactUrl;
8
+ const SENSITIVE_PARAMS = new Set([
9
+ 'api_key',
10
+ 'apikey',
11
+ 'api-key',
12
+ 'token',
13
+ 'access_token',
14
+ 'auth_token',
15
+ 'secret',
16
+ 'client_secret',
17
+ 'password',
18
+ 'passwd',
19
+ 'key',
20
+ ]);
21
+ function redactUrl(url) {
22
+ try {
23
+ const parsed = new URL(url);
24
+ let redacted = false;
25
+ for (const [key] of parsed.searchParams) {
26
+ if (SENSITIVE_PARAMS.has(key.toLowerCase())) {
27
+ parsed.searchParams.set(key, '***');
28
+ redacted = true;
29
+ }
30
+ }
31
+ return redacted ? parsed.toString() : url;
32
+ }
33
+ catch {
34
+ return url;
35
+ }
36
+ }
37
+ //# sourceMappingURL=redact.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redact.js","sourceRoot":"","sources":["../../src/utils/redact.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAgBH,8BAcC;AA5BD,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAC/B,SAAS;IACT,QAAQ;IACR,SAAS;IACT,OAAO;IACP,cAAc;IACd,YAAY;IACZ,QAAQ;IACR,eAAe;IACf,UAAU;IACV,QAAQ;IACR,KAAK;CACN,CAAC,CAAC;AAEH,SAAgB,SAAS,CAAC,GAAW;IACnC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,KAAK,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACxC,IAAI,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBAC5C,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBACpC,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC;IACb,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../src/validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAkB,eAAe,EAAE,MAAM,SAAS,CAAC;AAU3E;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe,EAAE,CAuHjE"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../src/validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAkB,eAAe,EAAE,MAAM,SAAS,CAAC;AAa3E;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe,EAAE,CA8IjE"}
package/dist/validator.js CHANGED
@@ -8,6 +8,9 @@ const VALID_OUTPUT_TYPES = ['string', 'integer', 'number', 'boolean', 'object',
8
8
  const VALID_AUTH_TYPES = ['api_key', 'bearer', 'oauth2', 'none'];
9
9
  const VALID_IN_VALUES = ['query', 'path', 'body', 'header'];
10
10
  const SNAKE_CASE_RE = /^[a-z][a-z0-9_]*$/;
11
+ const MAX_NAME_LENGTH = 100;
12
+ const MAX_DESCRIPTION_LENGTH = 500;
13
+ const MAX_URL_LENGTH = 2000;
11
14
  /**
12
15
  * Validate a parsed PasoDeclaration against the spec.
13
16
  * Returns an array of errors. Empty array = valid.
@@ -29,19 +32,44 @@ function validate(decl) {
29
32
  if (!decl.service.name) {
30
33
  errors.push({ path: 'service.name', message: 'service.name is required' });
31
34
  }
35
+ else if (decl.service.name.length > MAX_NAME_LENGTH) {
36
+ errors.push({
37
+ path: 'service.name',
38
+ message: `service.name exceeds ${MAX_NAME_LENGTH} characters`,
39
+ });
40
+ }
32
41
  if (!decl.service.description) {
33
42
  errors.push({ path: 'service.description', message: 'service.description is required' });
34
43
  }
44
+ else if (decl.service.description.length > MAX_DESCRIPTION_LENGTH) {
45
+ errors.push({
46
+ path: 'service.description',
47
+ message: `service.description exceeds ${MAX_DESCRIPTION_LENGTH} characters`,
48
+ });
49
+ }
35
50
  if (!decl.service.base_url) {
36
51
  errors.push({ path: 'service.base_url', message: 'service.base_url is required' });
37
52
  }
53
+ else if (decl.service.base_url.length > MAX_URL_LENGTH) {
54
+ errors.push({
55
+ path: 'service.base_url',
56
+ message: `service.base_url exceeds ${MAX_URL_LENGTH} characters`,
57
+ });
58
+ }
38
59
  else {
39
60
  try {
40
61
  const parsed = new URL(decl.service.base_url);
41
62
  if (parsed.protocol === 'http:') {
42
63
  errors.push({
43
64
  path: 'service.base_url',
44
- message: 'base_url uses http:// consider https:// to protect auth tokens in transit',
65
+ message: 'base_url uses http://. Consider https:// to protect auth tokens in transit',
66
+ level: 'warning',
67
+ });
68
+ }
69
+ if (isPrivateHost(parsed.hostname)) {
70
+ errors.push({
71
+ path: 'service.base_url',
72
+ message: 'base_url points to a private/internal address. If this YAML was shared with you, verify the URL before running usepaso serve.',
45
73
  level: 'warning',
46
74
  });
47
75
  }
@@ -70,7 +98,7 @@ function validate(decl) {
70
98
  if (decl.capabilities.length === 0) {
71
99
  errors.push({
72
100
  path: 'capabilities',
73
- message: 'capabilities array is empty MCP server will have no tools',
101
+ message: 'capabilities array is empty. MCP server will have no tools',
74
102
  level: 'warning',
75
103
  });
76
104
  }
@@ -89,7 +117,7 @@ function validate(decl) {
89
117
  if (list && list.length === 0) {
90
118
  errors.push({
91
119
  path: `permissions.${tier}`,
92
- message: `empty array remove it or add capability names`,
120
+ message: `empty array. Remove it or add capability names`,
93
121
  level: 'warning',
94
122
  });
95
123
  }
@@ -137,6 +165,12 @@ function validateCapability(cap, prefix, names) {
137
165
  errors.push({ path: `${prefix}.name`, message: 'name is required' });
138
166
  }
139
167
  else {
168
+ if (cap.name.length > MAX_NAME_LENGTH) {
169
+ errors.push({
170
+ path: `${prefix}.name`,
171
+ message: `name exceeds ${MAX_NAME_LENGTH} characters`,
172
+ });
173
+ }
140
174
  if (!SNAKE_CASE_RE.test(cap.name)) {
141
175
  errors.push({ path: `${prefix}.name`, message: `"${cap.name}" must be snake_case` });
142
176
  }
@@ -148,6 +182,12 @@ function validateCapability(cap, prefix, names) {
148
182
  if (!cap.description) {
149
183
  errors.push({ path: `${prefix}.description`, message: 'description is required' });
150
184
  }
185
+ else if (cap.description.length > MAX_DESCRIPTION_LENGTH) {
186
+ errors.push({
187
+ path: `${prefix}.description`,
188
+ message: `description exceeds ${MAX_DESCRIPTION_LENGTH} characters`,
189
+ });
190
+ }
151
191
  if (!cap.method) {
152
192
  errors.push({ path: `${prefix}.method`, message: 'method is required' });
153
193
  }
@@ -160,6 +200,9 @@ function validateCapability(cap, prefix, names) {
160
200
  if (!cap.path) {
161
201
  errors.push({ path: `${prefix}.path`, message: 'path is required' });
162
202
  }
203
+ else if (cap.path.length > MAX_URL_LENGTH) {
204
+ errors.push({ path: `${prefix}.path`, message: `path exceeds ${MAX_URL_LENGTH} characters` });
205
+ }
163
206
  else if (!cap.path.startsWith('/')) {
164
207
  errors.push({ path: `${prefix}.path`, message: 'path must start with /' });
165
208
  }
@@ -191,6 +234,12 @@ function validateCapability(cap, prefix, names) {
191
234
  if (!input.description) {
192
235
  errors.push({ path: inputPrefix, message: 'description is required' });
193
236
  }
237
+ else if (input.description.length > MAX_DESCRIPTION_LENGTH) {
238
+ errors.push({
239
+ path: inputPrefix,
240
+ message: `description exceeds ${MAX_DESCRIPTION_LENGTH} characters`,
241
+ });
242
+ }
194
243
  if (input.in && !VALID_IN_VALUES.includes(input.in)) {
195
244
  errors.push({
196
245
  path: `${inputPrefix}.in`,
@@ -232,7 +281,7 @@ function validateCapability(cap, prefix, names) {
232
281
  if (Object.keys(c).length === 0) {
233
282
  errors.push({
234
283
  path: `${prefix}.constraints[${ci}]`,
235
- message: 'empty constraint object add at least one field',
284
+ message: 'empty constraint object. Add at least one field',
236
285
  level: 'warning',
237
286
  });
238
287
  }
@@ -254,4 +303,33 @@ function validateCapability(cap, prefix, names) {
254
303
  }
255
304
  return errors;
256
305
  }
306
+ function isPrivateHost(hostname) {
307
+ const lower = hostname.toLowerCase().replace(/^\[|\]$/g, ''); // strip IPv6 brackets
308
+ if (lower === 'localhost' || lower === '0.0.0.0')
309
+ return true;
310
+ // IPv6 private ranges
311
+ if (lower === '::1' || lower === '0:0:0:0:0:0:0:1')
312
+ return true; // loopback
313
+ if (lower.startsWith('fe80:'))
314
+ return true; // link-local
315
+ if (lower.startsWith('fc00:') || lower.startsWith('fd00:'))
316
+ return true; // unique local
317
+ // IPv4 private ranges (reject leading zeros to block octal bypass like 0177.0.0.1)
318
+ const rawParts = lower.split('.');
319
+ const parts = rawParts.map((p) => (/^(0|[1-9]\d*)$/.test(p) ? parseInt(p, 10) : NaN));
320
+ if (parts.length === 4 && parts.every((n) => !isNaN(n) && n >= 0 && n <= 255)) {
321
+ const [a, b] = parts;
322
+ if (a === 127)
323
+ return true; // 127.x.x.x loopback
324
+ if (a === 10)
325
+ return true; // 10.x.x.x private
326
+ if (a === 172 && b >= 16 && b <= 31)
327
+ return true; // 172.16-31.x.x private
328
+ if (a === 192 && b === 168)
329
+ return true; // 192.168.x.x private
330
+ if (a === 169 && b === 254)
331
+ return true; // 169.254.x.x link-local / AWS metadata
332
+ }
333
+ return false;
334
+ }
257
335
  //# sourceMappingURL=validator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validator.js","sourceRoot":"","sources":["../src/validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validator.js","sourceRoot":"","sources":["../src/validator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "usepaso",
3
- "version": "0.3.1",
3
+ "version": "0.4.1",
4
4
  "description": "Make your API agent-ready in minutes. One declaration, every protocol.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -24,11 +24,7 @@
24
24
  "dev": "tsc --watch",
25
25
  "lint": "eslint src/",
26
26
  "format": "prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"",
27
- "format:check": "prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"",
28
- "prepare": "cd ../.. && husky packages/paso-js/.husky"
29
- },
30
- "lint-staged": {
31
- "*.ts": ["eslint --fix", "prettier --write"]
27
+ "format:check": "prettier --check \"src/**/*.ts\" \"tests/**/*.ts\""
32
28
  },
33
29
  "keywords": [
34
30
  "ai",
@@ -51,13 +47,9 @@
51
47
  "yaml": "^2.7.1"
52
48
  },
53
49
  "devDependencies": {
54
- "@commitlint/cli": "^20.5.0",
55
- "@commitlint/config-conventional": "^20.5.0",
56
50
  "@eslint/js": "^10.0.1",
57
51
  "@types/node": "^22.15.3",
58
52
  "eslint": "^10.1.0",
59
- "husky": "^9.1.7",
60
- "lint-staged": "^16.4.0",
61
53
  "prettier": "^3.8.1",
62
54
  "typescript": "^5.8.3",
63
55
  "typescript-eslint": "^8.57.2",