@gaunt-sloth/agent 2.0.0-alpha.3 → 2.0.0-alpha.30

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 (96) hide show
  1. package/README.md +73 -23
  2. package/dist/builtInToolsConfig.d.ts +17 -3
  3. package/dist/builtInToolsConfig.js +40 -41
  4. package/dist/builtInToolsConfig.js.map +1 -1
  5. package/dist/core/GthDeepAgent.d.ts +52 -32
  6. package/dist/core/GthDeepAgent.js +438 -198
  7. package/dist/core/GthDeepAgent.js.map +1 -1
  8. package/dist/core/debugCapture.d.ts +8 -49
  9. package/dist/core/debugCapture.js +1 -1
  10. package/dist/core/debugCapture.js.map +1 -1
  11. package/dist/core/deepAgentPermissions.d.ts +67 -2
  12. package/dist/core/deepAgentPermissions.js +151 -3
  13. package/dist/core/deepAgentPermissions.js.map +1 -1
  14. package/dist/core/gthAcpServer.js +11 -0
  15. package/dist/core/gthAcpServer.js.map +1 -1
  16. package/dist/core/gthDeepAgentFactory.d.ts +3 -0
  17. package/dist/core/gthDeepAgentFactory.js +9 -1
  18. package/dist/core/gthDeepAgentFactory.js.map +1 -1
  19. package/dist/core/resolveAgentFactory.d.ts +14 -0
  20. package/dist/core/resolveAgentFactory.js +18 -0
  21. package/dist/core/resolveAgentFactory.js.map +1 -0
  22. package/dist/core/subagentProfiles.d.ts +50 -0
  23. package/dist/core/subagentProfiles.js +76 -0
  24. package/dist/core/subagentProfiles.js.map +1 -0
  25. package/dist/index.d.ts +1 -0
  26. package/dist/index.js +1 -0
  27. package/dist/index.js.map +1 -1
  28. package/dist/mcp/OAuthClientProviderImpl.js.map +1 -1
  29. package/dist/mcp/tlsTrust.d.ts +61 -0
  30. package/dist/mcp/tlsTrust.js +109 -0
  31. package/dist/mcp/tlsTrust.js.map +1 -0
  32. package/dist/middleware/binaryContentInjectionMiddleware.d.ts +8 -1
  33. package/dist/middleware/binaryContentInjectionMiddleware.js +11 -2
  34. package/dist/middleware/binaryContentInjectionMiddleware.js.map +1 -1
  35. package/dist/middleware/frontendImageInjectionMiddleware.d.ts +106 -0
  36. package/dist/middleware/frontendImageInjectionMiddleware.js +166 -0
  37. package/dist/middleware/frontendImageInjectionMiddleware.js.map +1 -0
  38. package/dist/middleware/registry.js +36 -1
  39. package/dist/middleware/registry.js.map +1 -1
  40. package/dist/middleware/types.d.ts +16 -2
  41. package/dist/modules/a2a/A2AClientWrapper.d.ts +56 -1
  42. package/dist/modules/a2a/A2AClientWrapper.js +131 -31
  43. package/dist/modules/a2a/A2AClientWrapper.js.map +1 -1
  44. package/dist/modules/acpModule.js +17 -1
  45. package/dist/modules/acpModule.js.map +1 -1
  46. package/dist/modules/apiAgUiModule.d.ts +87 -0
  47. package/dist/modules/apiAgUiModule.js +229 -28
  48. package/dist/modules/apiAgUiModule.js.map +1 -1
  49. package/dist/modules/interactiveSessionModule.js +501 -41
  50. package/dist/modules/interactiveSessionModule.js.map +1 -1
  51. package/dist/modules/slashCommands.d.ts +576 -0
  52. package/dist/modules/slashCommands.js +995 -0
  53. package/dist/modules/slashCommands.js.map +1 -0
  54. package/dist/resolvers.js +119 -9
  55. package/dist/resolvers.js.map +1 -1
  56. package/dist/tools/GthCustomToolkit.js +95 -11
  57. package/dist/tools/GthCustomToolkit.js.map +1 -1
  58. package/dist/tools/GthDevToolkit.d.ts +11 -3
  59. package/dist/tools/GthDevToolkit.js +120 -34
  60. package/dist/tools/GthDevToolkit.js.map +1 -1
  61. package/dist/tools/GthFileSystemToolkit.d.ts +63 -0
  62. package/dist/tools/GthFileSystemToolkit.js +506 -105
  63. package/dist/tools/GthFileSystemToolkit.js.map +1 -1
  64. package/dist/tools/McpResourceTool.d.ts +31 -0
  65. package/dist/tools/McpResourceTool.js +106 -0
  66. package/dist/tools/McpResourceTool.js.map +1 -0
  67. package/dist/tools/gthChecklistTool.d.ts +30 -0
  68. package/dist/tools/gthChecklistTool.js +81 -0
  69. package/dist/tools/gthChecklistTool.js.map +1 -0
  70. package/dist/tools/gthGrepTool.d.ts +54 -0
  71. package/dist/tools/gthGrepTool.js +482 -0
  72. package/dist/tools/gthGrepTool.js.map +1 -0
  73. package/dist/tools/shell/env.js +1 -1
  74. package/dist/tools/shell/env.js.map +1 -1
  75. package/dist/tools/shell/outputBuffer.js.map +1 -1
  76. package/dist/tools/shell/workDir.d.ts +11 -0
  77. package/dist/tools/shell/workDir.js +45 -0
  78. package/dist/tools/shell/workDir.js.map +1 -0
  79. package/dist/utils/mcpAuthError.d.ts +36 -0
  80. package/dist/utils/mcpAuthError.js +89 -0
  81. package/dist/utils/mcpAuthError.js.map +1 -0
  82. package/dist/utils/mcpUtils.js +16 -0
  83. package/dist/utils/mcpUtils.js.map +1 -1
  84. package/package.json +12 -11
  85. package/dist/tools/shell/allowlist.d.ts +0 -11
  86. package/dist/tools/shell/allowlist.js +0 -12
  87. package/dist/tools/shell/allowlist.js.map +0 -1
  88. package/dist/tools/shell/arity.d.ts +0 -11
  89. package/dist/tools/shell/arity.js +0 -12
  90. package/dist/tools/shell/arity.js.map +0 -1
  91. package/dist/tools/shell/hardline.d.ts +0 -15
  92. package/dist/tools/shell/hardline.js +0 -88
  93. package/dist/tools/shell/hardline.js.map +0 -1
  94. package/dist/tools/shell/normalize.d.ts +0 -10
  95. package/dist/tools/shell/normalize.js +0 -11
  96. package/dist/tools/shell/normalize.js.map +0 -1
@@ -0,0 +1,89 @@
1
+ /**
2
+ * @packageDocumentation
3
+ * EXT-31 — classify and format MCP integration connect/tool-load failures so an expired or invalid
4
+ * credential is SURFACED (named + actionable) instead of silently dropping the integration's tools.
5
+ *
6
+ * The `@langchain/mcp-adapters` client only tags a bare HTTP 401 as an authentication error; a 403
7
+ * (forbidden / expired scope) otherwise falls through as a generic "Failed to connect". This module
8
+ * classifies auth failures independently (401/403 + credential keywords) so a stale token is not
9
+ * mistaken for "this integration was never configured" or an unrelated transient error.
10
+ *
11
+ * Pure + side-effect free: callers do the surfacing (`displayWarning`) with the returned message.
12
+ */
13
+ /** Extract a readable message from an unknown thrown value. */
14
+ function errorMessage(error) {
15
+ if (error instanceof Error)
16
+ return error.message;
17
+ if (typeof error === 'string')
18
+ return error;
19
+ try {
20
+ return String(error?.message ?? error);
21
+ }
22
+ catch {
23
+ return String(error);
24
+ }
25
+ }
26
+ /** Read a numeric HTTP status from an error object or a `(HTTP NNN)` / `HTTP NNN` / `status NNN` message. */
27
+ function httpStatusOf(error, message) {
28
+ const code = error?.code;
29
+ if (typeof code === 'number')
30
+ return code;
31
+ if (typeof code === 'string' && /^\d{3}$/.test(code))
32
+ return parseInt(code, 10);
33
+ // Only treat 4xx/5xx numbers as a status when they carry HTTP/status context — never a bare "401"
34
+ // substring (which could be a port, a byte count, an id, …) to avoid misclassifying transient errors.
35
+ const m = message.match(/\b(?:HTTP|status(?:\s*code)?)[\s:]*\(?(\d{3})\)?/i);
36
+ return m ? parseInt(m[1], 10) : undefined;
37
+ }
38
+ // Credential-failure phrasing across MCP adapter wrapping, transports, and common upstream servers.
39
+ // Includes the canonical OAuth error codes (`invalid_grant` = expired/revoked refresh token,
40
+ // `invalid_token`, `unauthorized_client`) and generic `oauth …` credential phrasing, so a keyword-
41
+ // bearing OAuth failure is classified as auth even when it does NOT arrive via the OAuth catch site.
42
+ const AUTH_KEYWORDS = /\b(unauthorized|forbidden|authentication failed|authenti[sc]ation (?:error|required)|authorization (?:error|failed|required)|invalid (?:token|credentials?|api[\s-]?key|authorization)|invalid_grant|invalid_token|unauthorized_client|oauth[\s_-]?(?:error|failed|failure|denied|token|authorization|handshake|login)|(?:token|credentials?|session|api[\s-]?key)s? (?:has |have )?(?:expired|is expired|are expired)|expired (?:token|credentials?|session)|access denied|401 unauthorized|403 forbidden)\b/i;
43
+ /**
44
+ * Classify an MCP connect/tool-load failure as a credential problem (`auth`) or anything else
45
+ * (`other`). Detection is independent of the adapter (which only tags 401), so a 403 or an
46
+ * "expired token" surfaced by the upstream server is still recognised as auth.
47
+ */
48
+ export function classifyMcpConnectError(error) {
49
+ const message = errorMessage(error);
50
+ const status = httpStatusOf(error, message);
51
+ if (status === 401 || status === 403)
52
+ return 'auth';
53
+ if (AUTH_KEYWORDS.test(message))
54
+ return 'auth';
55
+ return 'other';
56
+ }
57
+ /**
58
+ * Build the user-facing message for a failed MCP integration. For `auth` failures it names the
59
+ * integration, states the credential is expired/invalid, and points at the concrete fix path
60
+ * (OAuth login or the API token / authorization header, plus the `mcpServers` entry in gth config).
61
+ * For `other` failures it surfaces the failure plainly and explicitly says it is NOT an auth error,
62
+ * so an unrelated transient never triggers a spurious "re-authenticate" nudge.
63
+ *
64
+ * Either way the caller degrades gracefully AFTER surfacing this — the integration's tools are
65
+ * dropped for the session, but the user (and the log) now knows why.
66
+ */
67
+ export function formatMcpConnectFailureMessage(serverName, error, options = {}) {
68
+ // Reaching the OAuth surfacing site means createAuthProviderAndAuthenticate() threw, i.e. the
69
+ // OAuth handshake/refresh itself failed — that is inherently an auth failure regardless of the
70
+ // message text (e.g. a keyword-less `invalid_grant`). Force `auth` here rather than inferring it
71
+ // from keywords, so an OAuth credential failure never mis-surfaces as "not an authentication error".
72
+ const kind = options.oauth ? 'auth' : classifyMcpConnectError(error);
73
+ const name = serverName ? `"${serverName}"` : 'an MCP server';
74
+ const configHint = serverName
75
+ ? `check the ${name} entry under mcpServers in your gth config`
76
+ : 'check the mcpServers entries in your gth config';
77
+ if (kind === 'auth') {
78
+ const reAuth = options.oauth
79
+ ? 'complete the OAuth login flow again (clear the stored token first if needed)'
80
+ : 'refresh its API token or key (the apiKeyEnvironmentVariable or authorization header it uses)';
81
+ return (`Integration ${name} authentication failed: its credentials appear expired or invalid ` +
82
+ `(the MCP server rejected the connection with an authorization error). Its tools are ` +
83
+ `unavailable for this session. To restore them, re-authenticate this integration: ` +
84
+ `${reAuth} and ${configHint}, then restart.`);
85
+ }
86
+ return (`Integration ${name} could not connect to its MCP server (this is not an authentication ` +
87
+ `error). Its tools are unavailable for this session. Underlying error: ${errorMessage(error)}`);
88
+ }
89
+ //# sourceMappingURL=mcpAuthError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcpAuthError.js","sourceRoot":"","sources":["../../src/utils/mcpAuthError.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAaH,+DAA+D;AAC/D,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,KAAK,YAAY,KAAK;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC;IACjD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,CAAC;QACH,OAAO,MAAM,CAAE,KAA+B,EAAE,OAAO,IAAI,KAAK,CAAC,CAAC;IACpE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,6GAA6G;AAC7G,SAAS,YAAY,CAAC,KAAc,EAAE,OAAe;IACnD,MAAM,IAAI,GAAI,KAA4B,EAAE,IAAI,CAAC;IACjD,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC1C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAChF,kGAAkG;IAClG,sGAAsG;IACtG,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;IAC7E,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5C,CAAC;AAED,oGAAoG;AACpG,6FAA6F;AAC7F,mGAAmG;AACnG,qGAAqG;AACrG,MAAM,aAAa,GACjB,gfAAgf,CAAC;AAEnf;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAc;IACpD,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC5C,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,MAAM,CAAC;IACpD,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,MAAM,CAAC;IAC/C,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,8BAA8B,CAC5C,UAA8B,EAC9B,KAAc,EACd,OAAO,GAA6B,EAAE;IAEtC,8FAA8F;IAC9F,+FAA+F;IAC/F,iGAAiG;IACjG,qGAAqG;IACrG,MAAM,IAAI,GAAwB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC1F,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC;IAC9D,MAAM,UAAU,GAAG,UAAU;QAC3B,CAAC,CAAC,aAAa,IAAI,4CAA4C;QAC/D,CAAC,CAAC,iDAAiD,CAAC;IAEtD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK;YAC1B,CAAC,CAAC,8EAA8E;YAChF,CAAC,CAAC,8FAA8F,CAAC;QACnG,OAAO,CACL,eAAe,IAAI,oEAAoE;YACvF,sFAAsF;YACtF,mFAAmF;YACnF,GAAG,MAAM,QAAQ,UAAU,iBAAiB,CAC7C,CAAC;IACJ,CAAC;IAED,OAAO,CACL,eAAe,IAAI,sEAAsE;QACzF,yEAAyE,YAAY,CAAC,KAAK,CAAC,EAAE,CAC/F,CAAC;AACJ,CAAC"}
@@ -88,6 +88,22 @@ function replaceUnionSchemas(schema, context) {
88
88
  description,
89
89
  };
90
90
  }
91
+ // Gemini/Vertex AI does not support the JSON Schema `const` keyword (only `enum`),
92
+ // so replace it. A string const becomes a single-value enum (keeps the hard
93
+ // constraint); any other const value is folded into the description.
94
+ if (schema.const !== undefined) {
95
+ const constValue = schema.const;
96
+ // The unassignment below is for purpose of taking rest of parameters except const.
97
+ const { const: _const, ...rest } = schema;
98
+ const description = mergeDescription(schema.description, `Must be exactly: ${JSON.stringify(constValue)}.`);
99
+ context.log(`${context.toolName}: converted schema const at ${context.path.join('.')}`);
100
+ const converted = { ...rest, description };
101
+ if (typeof constValue === 'string') {
102
+ converted.type = 'string';
103
+ converted.enum = [constValue];
104
+ }
105
+ return converted;
106
+ }
91
107
  let hasChanges = false;
92
108
  let updatedSchema = schema;
93
109
  const updateField = (key, value) => {
@@ -1 +1 @@
1
- {"version":3,"file":"mcpUtils.js","sourceRoot":"","sources":["../../src/utils/mcpUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcpUtils.js","sourceRoot":"","sources":["../../src/utils/mcpUtils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gaunt-sloth/agent",
3
- "version": "2.0.0-alpha.3",
3
+ "version": "2.0.0-alpha.30",
4
4
  "description": "Deep agent runtime for Gaunt Sloth: tools, middleware, MCP/A2A clients and the AG-UI server",
5
5
  "license": "MIT",
6
6
  "author": "Andrew Kondratev",
@@ -38,21 +38,22 @@
38
38
  "#src/*.js": "./dist/*.js"
39
39
  },
40
40
  "dependencies": {
41
- "@a2a-js/sdk": "^0.3.13",
41
+ "@a2a-js/sdk": "^1.0.1",
42
42
  "@ag-ui/core": "^0.0.57",
43
43
  "@ag-ui/encoder": "^0.0.57",
44
- "@langchain/core": "^1.2.0",
45
- "@langchain/langgraph": "^1.4.4",
44
+ "@langchain/core": "^1.2.3",
45
+ "@langchain/langgraph": "^1.4.8",
46
46
  "@langchain/mcp-adapters": "^1.1.3",
47
- "@modelcontextprotocol/sdk": "^1.29.0",
48
- "deepagents": "^1.10.5",
49
- "deepagents-acp": "^0.1.15",
47
+ "@modelcontextprotocol/sdk": "^1.30.0",
48
+ "deepagents": "^1.11.1",
49
+ "deepagents-acp": "^0.1.20",
50
50
  "diff": "^9.0.0",
51
51
  "express": "^5.2.1",
52
- "langchain": "^1.5.0",
53
- "uuid": ">=11.1.1",
54
- "zod": "^3.25.0 || ^4.0.0",
55
- "@gaunt-sloth/core": "2.0.0-alpha.3"
52
+ "langchain": "^1.5.4",
53
+ "undici": "^8.9.0",
54
+ "uuid": "^14.0.1",
55
+ "zod": "^4.4.3",
56
+ "@gaunt-sloth/core": "2.0.0-alpha.30"
56
57
  },
57
58
  "files": [
58
59
  "./dist/*",
@@ -1,11 +0,0 @@
1
- /**
2
- * @module tools/shell/allowlist
3
- *
4
- * Re-export of the EXT-9 Tier-2 allow-list engine. The implementation lives in
5
- * `@gaunt-sloth/core` (`core/shell/allowlist`) because the core {@link GthAgentRunner}
6
- * owns the per-instance session store and the loaded persisted store and consults
7
- * `matchesApproval` before prompting (core cannot import from `@gaunt-sloth/agent`).
8
- *
9
- * See the core module for the exact safe-bin / anti-widening matching rule.
10
- */
11
- export { matchesApproval, hasWideningFlag, AllowlistStore, PersistedAllowlist, type ApprovalScope, type ApprovalStores, } from '@gaunt-sloth/core/core/shell/allowlist.js';
@@ -1,12 +0,0 @@
1
- /**
2
- * @module tools/shell/allowlist
3
- *
4
- * Re-export of the EXT-9 Tier-2 allow-list engine. The implementation lives in
5
- * `@gaunt-sloth/core` (`core/shell/allowlist`) because the core {@link GthAgentRunner}
6
- * owns the per-instance session store and the loaded persisted store and consults
7
- * `matchesApproval` before prompting (core cannot import from `@gaunt-sloth/agent`).
8
- *
9
- * See the core module for the exact safe-bin / anti-widening matching rule.
10
- */
11
- export { matchesApproval, hasWideningFlag, AllowlistStore, PersistedAllowlist, } from '@gaunt-sloth/core/core/shell/allowlist.js';
12
- //# sourceMappingURL=allowlist.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"allowlist.js","sourceRoot":"","sources":["../../../src/tools/shell/allowlist.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EACL,eAAe,EACf,eAAe,EACf,cAAc,EACd,kBAAkB,GAGnB,MAAM,2CAA2C,CAAC"}
@@ -1,11 +0,0 @@
1
- /**
2
- * @module tools/shell/arity
3
- *
4
- * Re-export of the EXT-9 Tier-2 command classifier. The implementation lives in
5
- * `@gaunt-sloth/core` (`core/shell/arity`) because the core {@link GthAgentRunner}
6
- * must consult it BEFORE prompting (and core cannot import from `@gaunt-sloth/agent`).
7
- * This stable agent-side path is kept for tests and any agent-layer consumers.
8
- *
9
- * See the core module for the arity table scope and the anti-injection fail-closed rule.
10
- */
11
- export { classifyCommand, tokenize, meaningfulPrefixTokens, type CommandClassification, } from '@gaunt-sloth/core/core/shell/arity.js';
@@ -1,12 +0,0 @@
1
- /**
2
- * @module tools/shell/arity
3
- *
4
- * Re-export of the EXT-9 Tier-2 command classifier. The implementation lives in
5
- * `@gaunt-sloth/core` (`core/shell/arity`) because the core {@link GthAgentRunner}
6
- * must consult it BEFORE prompting (and core cannot import from `@gaunt-sloth/agent`).
7
- * This stable agent-side path is kept for tests and any agent-layer consumers.
8
- *
9
- * See the core module for the arity table scope and the anti-injection fail-closed rule.
10
- */
11
- export { classifyCommand, tokenize, meaningfulPrefixTokens, } from '@gaunt-sloth/core/core/shell/arity.js';
12
- //# sourceMappingURL=arity.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"arity.js","sourceRoot":"","sources":["../../../src/tools/shell/arity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EACL,eAAe,EACf,QAAQ,EACR,sBAAsB,GAEvB,MAAM,uCAAuC,CAAC"}
@@ -1,15 +0,0 @@
1
- /**
2
- * Hardline patterns: [regex, human description]. Matched case-insensitively
3
- * against the normalized command.
4
- */
5
- export declare const HARDLINE_PATTERNS: ReadonlyArray<readonly [RegExp, string]>;
6
- export interface HardlineMatch {
7
- /** Human-readable reason the command was refused. */
8
- description: string;
9
- }
10
- /**
11
- * Check a raw command against the hardline blocklist. Normalizes first so
12
- * obfuscated variants are caught. Returns the match (with a description) when the
13
- * command is catastrophic, or `null` when it is allowed to proceed.
14
- */
15
- export declare function checkHardline(command: string): HardlineMatch | null;
@@ -1,88 +0,0 @@
1
- /**
2
- * @module tools/shell/hardline
3
- *
4
- * Unbypassable hardline blocklist for the shell tool. These are catastrophic,
5
- * non-recoverable commands (wipe the root filesystem, format a disk, overwrite a
6
- * raw block device, fork-bomb, take the host down). They are refused inside
7
- * `executeCommand` itself — BEFORE spawn — so the refusal fires regardless of
8
- * yolo (`shellYolo`), any allow-list, or the confirmation path. yolo deliberately
9
- * bypasses the *confirmation*; it does NOT bypass this floor.
10
- *
11
- * Recoverable-but-costly operations (e.g. `git reset --hard`, `rm -rf ./build`,
12
- * `chmod -R 777 ./dir`, `curl | sh`) are intentionally NOT here — those are what
13
- * the confirmation dialog / yolo are for.
14
- *
15
- * Patterns match the NORMALIZED command ({@link ./normalize.js}) so obfuscation
16
- * (ANSI/fullwidth/backslash splits/whitespace padding) cannot bypass them.
17
- *
18
- * Patterned after hermes-agent `tools/approval.py` HARDLINE_PATTERNS.
19
- */
20
- import { normalizeCommand } from '#src/tools/shell/normalize.js';
21
- // Matches a position where the shell would begin parsing a NEW command: start of
22
- // string, after a separator (; & | newline), after `$(` or backtick, optionally
23
- // consuming leading wrappers (sudo/env VAR=VAL/exec/nohup/setsid/time). Used by
24
- // the shutdown-family patterns so they don't false-positive on `echo reboot`.
25
- const CMD_POS = '(?:^|[;&|\\n`]|\\$\\()' +
26
- '\\s*' +
27
- '(?:sudo\\s+(?:-[^\\s]+\\s+)*)?' +
28
- '(?:env\\s+(?:\\w+=\\S*\\s+)*)?' +
29
- '(?:(?:exec|nohup|setsid|time)\\s+)*' +
30
- '\\s*';
31
- /**
32
- * Hardline patterns: [regex, human description]. Matched case-insensitively
33
- * against the normalized command.
34
- */
35
- export const HARDLINE_PATTERNS = [
36
- // rm -rf targeting the root filesystem (`/`, `/*`).
37
- [/\brm\s+(?:-[^\s]*\s+)*\/\s*\*?\s*(?:$|[;&|])/, 'recursive delete of root filesystem'],
38
- // rm -rf targeting protected system directories (with optional /* suffix).
39
- [
40
- /\brm\s+(?:-[^\s]*\s+)*(?:\/(?:home|root|etc|usr|var|bin|sbin|boot|lib|lib64|opt|sys|proc))(?:\/\*)?\s*(?:$|[;&|])/,
41
- 'recursive delete of system directory',
42
- ],
43
- // rm -rf targeting the home directory (~ or $HOME).
44
- // Note: patterns match the LOWERCASED normalized command, so $HOME → $home.
45
- [
46
- /\brm\s+(?:-[^\s]*\s+)*(?:~|\$home)(?:\/\*)?\s*(?:$|[;&|])/,
47
- 'recursive delete of home directory',
48
- ],
49
- // Filesystem format.
50
- [/\bmkfs(?:\.[a-z0-9]+)?\b/, 'format filesystem (mkfs)'],
51
- // dd writing to a raw block device.
52
- [/\bdd\b[^\n]*\bof=\/dev\/(?:sd|nvme|hd|mmcblk|vd|xvd)[a-z0-9]*/, 'dd to raw block device'],
53
- // Shell redirection to a raw block device (`> /dev/sda`).
54
- [/>\s*\/dev\/(?:sd|nvme|hd|mmcblk|vd|xvd)[a-z0-9]*\b/, 'redirect to raw block device'],
55
- // Classic fork bomb `:(){ :|:& };:`.
56
- [/:\s*\(\s*\)\s*\{\s*:\s*\|\s*:\s*&\s*\}\s*;\s*:/, 'fork bomb'],
57
- // chmod -R 777 / (recursive world-writable on root).
58
- [
59
- /\bchmod\s+(?:-[^\s]*\s+)*(?:-r|--recursive)\s+(?:-[^\s]*\s+)*777\s+\//,
60
- 'recursive chmod 777 of root',
61
- ],
62
- // Kill every process on the system (`kill -1`, `kill -9 -1`).
63
- [/\bkill\s+(?:-[^\s]+\s+)*-1\b/, 'kill all processes'],
64
- // System shutdown / reboot — anchored to a command position so `echo reboot`
65
- // and `grep shutdown log` don't trip it.
66
- [new RegExp(CMD_POS + '(?:shutdown|reboot|halt|poweroff)\\b'), 'system shutdown/reboot'],
67
- [new RegExp(CMD_POS + 'init\\s+[06]\\b'), 'init 0/6 (shutdown/reboot)'],
68
- [
69
- new RegExp(CMD_POS + 'systemctl\\s+(?:poweroff|reboot|halt|kexec)\\b'),
70
- 'systemctl poweroff/reboot',
71
- ],
72
- [new RegExp(CMD_POS + 'telinit\\s+[06]\\b'), 'telinit 0/6 (shutdown/reboot)'],
73
- ];
74
- /**
75
- * Check a raw command against the hardline blocklist. Normalizes first so
76
- * obfuscated variants are caught. Returns the match (with a description) when the
77
- * command is catastrophic, or `null` when it is allowed to proceed.
78
- */
79
- export function checkHardline(command) {
80
- const normalized = normalizeCommand(command).toLowerCase();
81
- for (const [pattern, description] of HARDLINE_PATTERNS) {
82
- if (pattern.test(normalized)) {
83
- return { description };
84
- }
85
- }
86
- return null;
87
- }
88
- //# sourceMappingURL=hardline.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hardline.js","sourceRoot":"","sources":["../../../src/tools/shell/hardline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,iFAAiF;AACjF,gFAAgF;AAChF,gFAAgF;AAChF,8EAA8E;AAC9E,MAAM,OAAO,GACX,wBAAwB;IACxB,MAAM;IACN,gCAAgC;IAChC,gCAAgC;IAChC,qCAAqC;IACrC,MAAM,CAAC;AAET;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAA6C;IACzE,oDAAoD;IACpD,CAAC,8CAA8C,EAAE,qCAAqC,CAAC;IACvF,2EAA2E;IAC3E;QACE,mHAAmH;QACnH,sCAAsC;KACvC;IACD,oDAAoD;IACpD,4EAA4E;IAC5E;QACE,2DAA2D;QAC3D,oCAAoC;KACrC;IACD,qBAAqB;IACrB,CAAC,0BAA0B,EAAE,0BAA0B,CAAC;IACxD,oCAAoC;IACpC,CAAC,+DAA+D,EAAE,wBAAwB,CAAC;IAC3F,0DAA0D;IAC1D,CAAC,oDAAoD,EAAE,8BAA8B,CAAC;IACtF,qCAAqC;IACrC,CAAC,gDAAgD,EAAE,WAAW,CAAC;IAC/D,qDAAqD;IACrD;QACE,uEAAuE;QACvE,6BAA6B;KAC9B;IACD,8DAA8D;IAC9D,CAAC,8BAA8B,EAAE,oBAAoB,CAAC;IACtD,6EAA6E;IAC7E,yCAAyC;IACzC,CAAC,IAAI,MAAM,CAAC,OAAO,GAAG,sCAAsC,CAAC,EAAE,wBAAwB,CAAC;IACxF,CAAC,IAAI,MAAM,CAAC,OAAO,GAAG,iBAAiB,CAAC,EAAE,4BAA4B,CAAC;IACvE;QACE,IAAI,MAAM,CAAC,OAAO,GAAG,gDAAgD,CAAC;QACtE,2BAA2B;KAC5B;IACD,CAAC,IAAI,MAAM,CAAC,OAAO,GAAG,oBAAoB,CAAC,EAAE,+BAA+B,CAAC;CAC9E,CAAC;AAOF;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IAC3D,KAAK,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,iBAAiB,EAAE,CAAC;QACvD,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,WAAW,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,10 +0,0 @@
1
- /**
2
- * @module tools/shell/normalize
3
- *
4
- * Re-export of the canonical command normalizer, which now lives in
5
- * `@gaunt-sloth/core` (`core/shell/normalize`) so the core runner's EXT-9 Tier-2
6
- * allow-list classifier and the agent's Tier-1 hardline blocklist share ONE
7
- * implementation. Kept as a stable import path for existing agent-side consumers
8
- * (`tools/shell/hardline`, specs).
9
- */
10
- export { normalizeCommand } from '@gaunt-sloth/core/core/shell/normalize.js';
@@ -1,11 +0,0 @@
1
- /**
2
- * @module tools/shell/normalize
3
- *
4
- * Re-export of the canonical command normalizer, which now lives in
5
- * `@gaunt-sloth/core` (`core/shell/normalize`) so the core runner's EXT-9 Tier-2
6
- * allow-list classifier and the agent's Tier-1 hardline blocklist share ONE
7
- * implementation. Kept as a stable import path for existing agent-side consumers
8
- * (`tools/shell/hardline`, specs).
9
- */
10
- export { normalizeCommand } from '@gaunt-sloth/core/core/shell/normalize.js';
11
- //# sourceMappingURL=normalize.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../../src/tools/shell/normalize.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC"}