@provos/ironcurtain 0.4.1 → 0.5.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 (146) hide show
  1. package/README.md +219 -248
  2. package/dist/cli.js +10 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/config/config-command.js +144 -6
  5. package/dist/config/config-command.js.map +1 -1
  6. package/dist/config/constitution-user-base.md +2 -0
  7. package/dist/config/first-start.js +77 -12
  8. package/dist/config/first-start.js.map +1 -1
  9. package/dist/config/generated/compiled-policy.json +199 -72
  10. package/dist/config/generated/tool-annotations.json +1018 -36
  11. package/dist/config/mcp-servers.json +10 -0
  12. package/dist/config/paths.d.ts +31 -0
  13. package/dist/config/paths.js +52 -2
  14. package/dist/config/paths.js.map +1 -1
  15. package/dist/config/types.d.ts +8 -0
  16. package/dist/config/user-config.d.ts +21 -3
  17. package/dist/config/user-config.js +34 -3
  18. package/dist/config/user-config.js.map +1 -1
  19. package/dist/docker/adapters/claude-code.js +104 -23
  20. package/dist/docker/adapters/claude-code.js.map +1 -1
  21. package/dist/docker/agent-adapter.d.ts +24 -1
  22. package/dist/docker/agent-adapter.js +6 -1
  23. package/dist/docker/agent-adapter.js.map +1 -1
  24. package/dist/docker/docker-agent-session.d.ts +16 -9
  25. package/dist/docker/docker-agent-session.js +64 -90
  26. package/dist/docker/docker-agent-session.js.map +1 -1
  27. package/dist/docker/docker-infrastructure.d.ts +51 -0
  28. package/dist/docker/docker-infrastructure.js +261 -0
  29. package/dist/docker/docker-infrastructure.js.map +1 -0
  30. package/dist/docker/docker-manager.js +3 -0
  31. package/dist/docker/docker-manager.js.map +1 -1
  32. package/dist/docker/mitm-proxy.js +4 -0
  33. package/dist/docker/mitm-proxy.js.map +1 -1
  34. package/dist/docker/oauth-credentials.d.ts +81 -0
  35. package/dist/docker/oauth-credentials.js +178 -0
  36. package/dist/docker/oauth-credentials.js.map +1 -0
  37. package/dist/docker/orientation.d.ts +1 -1
  38. package/dist/docker/orientation.js +3 -2
  39. package/dist/docker/orientation.js.map +1 -1
  40. package/dist/docker/provider-config.d.ts +3 -0
  41. package/dist/docker/provider-config.js +28 -0
  42. package/dist/docker/provider-config.js.map +1 -1
  43. package/dist/docker/pty-session.d.ts +27 -0
  44. package/dist/docker/pty-session.js +510 -0
  45. package/dist/docker/pty-session.js.map +1 -0
  46. package/dist/docker/pty-types.d.ts +24 -0
  47. package/dist/docker/pty-types.js +12 -0
  48. package/dist/docker/pty-types.js.map +1 -0
  49. package/dist/docker/types.d.ts +6 -0
  50. package/dist/escalation/escalation-watcher.d.ts +44 -0
  51. package/dist/escalation/escalation-watcher.js +92 -0
  52. package/dist/escalation/escalation-watcher.js.map +1 -0
  53. package/dist/escalation/listener-command.d.ts +10 -0
  54. package/dist/escalation/listener-command.js +407 -0
  55. package/dist/escalation/listener-command.js.map +1 -0
  56. package/dist/escalation/listener-state.d.ts +49 -0
  57. package/dist/escalation/listener-state.js +104 -0
  58. package/dist/escalation/listener-state.js.map +1 -0
  59. package/dist/escalation/session-registry.d.ts +17 -0
  60. package/dist/escalation/session-registry.js +98 -0
  61. package/dist/escalation/session-registry.js.map +1 -0
  62. package/dist/index.js +15 -0
  63. package/dist/index.js.map +1 -1
  64. package/dist/logger.js +2 -3
  65. package/dist/logger.js.map +1 -1
  66. package/dist/pipeline/annotate.js +35 -15
  67. package/dist/pipeline/annotate.js.map +1 -1
  68. package/dist/pipeline/constitution-customizer.d.ts +2 -1
  69. package/dist/pipeline/constitution-customizer.js +36 -3
  70. package/dist/pipeline/constitution-customizer.js.map +1 -1
  71. package/dist/pipeline/github-identity.d.ts +38 -0
  72. package/dist/pipeline/github-identity.js +64 -0
  73. package/dist/pipeline/github-identity.js.map +1 -0
  74. package/dist/pipeline/handwritten-scenarios.js +34 -0
  75. package/dist/pipeline/handwritten-scenarios.js.map +1 -1
  76. package/dist/sandbox/index.js +14 -3
  77. package/dist/sandbox/index.js.map +1 -1
  78. package/dist/servers/fetch-server.js +2 -2
  79. package/dist/session/base-transport.d.ts +19 -0
  80. package/dist/session/base-transport.js +36 -0
  81. package/dist/session/base-transport.js.map +1 -0
  82. package/dist/session/cli-transport.d.ts +3 -3
  83. package/dist/session/cli-transport.js +7 -4
  84. package/dist/session/cli-transport.js.map +1 -1
  85. package/dist/session/index.js +24 -78
  86. package/dist/session/index.js.map +1 -1
  87. package/dist/session/interaction-log.d.ts +13 -0
  88. package/dist/session/interaction-log.js +28 -0
  89. package/dist/session/interaction-log.js.map +1 -0
  90. package/dist/session/preflight.d.ts +3 -0
  91. package/dist/session/preflight.js +39 -18
  92. package/dist/session/preflight.js.map +1 -1
  93. package/dist/session/types.d.ts +2 -0
  94. package/dist/signal/bot-command.js +5 -0
  95. package/dist/signal/bot-command.js.map +1 -1
  96. package/dist/signal/format.d.ts +21 -1
  97. package/dist/signal/format.js +41 -3
  98. package/dist/signal/format.js.map +1 -1
  99. package/dist/signal/signal-bot-daemon.d.ts +53 -18
  100. package/dist/signal/signal-bot-daemon.js +344 -106
  101. package/dist/signal/signal-bot-daemon.js.map +1 -1
  102. package/dist/signal/signal-config.d.ts +4 -0
  103. package/dist/signal/signal-config.js +2 -0
  104. package/dist/signal/signal-config.js.map +1 -1
  105. package/dist/signal/signal-transport.d.ts +13 -7
  106. package/dist/signal/signal-transport.js +36 -12
  107. package/dist/signal/signal-transport.js.map +1 -1
  108. package/dist/trusted-process/audit-log.d.ts +6 -1
  109. package/dist/trusted-process/audit-log.js +22 -2
  110. package/dist/trusted-process/audit-log.js.map +1 -1
  111. package/dist/trusted-process/audit-redactor.d.ts +25 -0
  112. package/dist/trusted-process/audit-redactor.js +121 -0
  113. package/dist/trusted-process/audit-redactor.js.map +1 -0
  114. package/dist/trusted-process/escalation.d.ts +1 -1
  115. package/dist/trusted-process/escalation.js +6 -1
  116. package/dist/trusted-process/escalation.js.map +1 -1
  117. package/dist/trusted-process/index.d.ts +2 -1
  118. package/dist/trusted-process/index.js +47 -6
  119. package/dist/trusted-process/index.js.map +1 -1
  120. package/dist/trusted-process/mcp-client-manager.js +14 -2
  121. package/dist/trusted-process/mcp-client-manager.js.map +1 -1
  122. package/dist/trusted-process/mcp-error-utils.d.ts +11 -0
  123. package/dist/trusted-process/mcp-error-utils.js +50 -0
  124. package/dist/trusted-process/mcp-error-utils.js.map +1 -0
  125. package/dist/trusted-process/mcp-proxy-server.d.ts +4 -2
  126. package/dist/trusted-process/mcp-proxy-server.js +56 -13
  127. package/dist/trusted-process/mcp-proxy-server.js.map +1 -1
  128. package/dist/trusted-process/path-utils.d.ts +15 -0
  129. package/dist/trusted-process/path-utils.js +38 -0
  130. package/dist/trusted-process/path-utils.js.map +1 -1
  131. package/dist/trusted-process/sandbox-integration.d.ts +5 -0
  132. package/dist/trusted-process/sandbox-integration.js +1 -1
  133. package/dist/trusted-process/sandbox-integration.js.map +1 -1
  134. package/dist/trusted-process/server-context.d.ts +21 -0
  135. package/dist/trusted-process/server-context.js +42 -0
  136. package/dist/trusted-process/server-context.js.map +1 -0
  137. package/dist/types/argument-roles.d.ts +5 -2
  138. package/dist/types/argument-roles.js +25 -2
  139. package/dist/types/argument-roles.js.map +1 -1
  140. package/docker/Dockerfile.claude-code +8 -3
  141. package/docker/entrypoint-claude-code.sh +64 -4
  142. package/package.json +16 -8
  143. package/src/config/constitution-user-base.md +2 -0
  144. package/src/config/generated/compiled-policy.json +199 -72
  145. package/src/config/generated/tool-annotations.json +1018 -36
  146. package/src/config/mcp-servers.json +10 -0
@@ -97,6 +97,44 @@ function rewriteContainerPaths(value, containerDir, hostDir) {
97
97
  }
98
98
  return value;
99
99
  }
100
+ // ---------------------------------------------------------------------------
101
+ // Reverse path rewriting: host sandbox → container workspace in results
102
+ // ---------------------------------------------------------------------------
103
+ /**
104
+ * Rewrites host sandbox paths back to container workspace paths in MCP
105
+ * result content blocks.
106
+ *
107
+ * When Docker agent mode bind-mounts the host sandbox at `/workspace`
108
+ * inside the container, MCP server results may contain host-internal
109
+ * paths (e.g. in `read_file` output, error messages, `list_directory`
110
+ * results). This function replaces those paths so the agent sees
111
+ * `/workspace/...` paths it can actually use.
112
+ *
113
+ * Only rewrites `text` fields in content blocks with `type: 'text'`.
114
+ * Non-text blocks (images, resources) pass through unchanged.
115
+ * The original content array is never mutated.
116
+ */
117
+ export function rewriteResultContent(content, hostDir, containerDir) {
118
+ if (!Array.isArray(content))
119
+ return content;
120
+ // Normalize trailing slash on hostDir so both `/foo` and `/foo/` match
121
+ const normHost = hostDir !== '/' && hostDir.endsWith('/') ? hostDir.slice(0, -1) : hostDir;
122
+ if (!normHost)
123
+ return content;
124
+ return content.map((block) => {
125
+ if (typeof block === 'object' &&
126
+ block !== null &&
127
+ block.type === 'text' &&
128
+ typeof block.text === 'string') {
129
+ const text = block.text;
130
+ const replaced = text.replaceAll(normHost, containerDir);
131
+ if (replaced === text)
132
+ return block;
133
+ return { ...block, text: replaced };
134
+ }
135
+ return block;
136
+ });
137
+ }
100
138
  /**
101
139
  * Annotation-driven normalization of tool call arguments.
102
140
  *
@@ -1 +1 @@
1
- {"version":3,"file":"path-utils.js","sourceRoot":"","sources":["../../src/trusted-process/path-utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAI7F,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD,8EAA8E;AAC9E,sCAAsC;AACtC,8EAA8E;AAE9E,qEAAqE;AACrE,SAAS,cAAc,CAAC,KAAa;IACnC,OAAO,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACxD,CAAC;AAED;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,KAAa,EAAE,UAAkB;IAC9D,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC/C,OAAO,eAAe,CAAC,QAAQ,CAAC,CAAC;AACnC,CAAC;AAaD;;;GAGG;AACH,SAAS,gBAAgB,CAAC,KAAqB;IAC7C,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;AACtE,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,KAAc,EAAE,SAAgC;IACzE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAQ,KAAmB,CAAC,GAAG,CAAC,CAAC,IAAa,EAAE,EAAE,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1G,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,SAAS,yBAAyB,CAAC,KAAc,EAAE,GAAmB;IACpE,OAAO,iBAAiB,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxF,CAAC;AAED;;;;;GAKG;AACH,SAAS,sBAAsB,CAAC,KAAc,EAAE,GAAmB,EAAE,gBAAwB;IAC3F,OAAO,iBAAiB,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CACpC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,EAAE,gBAAgB,CAAC,CACrF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,oBAAoB,CAAC,KAAa,EAAE,YAAoB,EAAE,OAAe;IAChF,+EAA+E;IAC/E,MAAM,aAAa,GAAG,YAAY,KAAK,GAAG,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;IACpH,MAAM,SAAS,GAAG,KAAK,KAAK,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACpF,IAAI,SAAS,KAAK,aAAa;QAAE,OAAO,OAAO,CAAC;IAChD,MAAM,MAAM,GAAG,aAAa,GAAG,GAAG,CAAC;IACnC,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,OAAO,GAAG,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAChF,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,SAAS,qBAAqB,CAAC,KAAc,EAAE,YAAoB,EAAE,OAAe;IAClF,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,oBAAoB,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IACzF,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAQ,KAAmB,CAAC,GAAG,CAAC,CAAC,IAAa,EAAE,EAAE,CAChD,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CACpF,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,eAAe,CAC7B,IAA6B,EAC7B,UAA0B,EAC1B,gBAAyB,EACzB,qBAA8B;IAE9B,MAAM,gBAAgB,GAA4B,EAAE,CAAC;IACrD,MAAM,aAAa,GAA4B,EAAE,CAAC;IAElD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAA+B,CAAC;QACjE,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEjE,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,GAAG,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAE5C,6DAA6D;YAC7D,MAAM,SAAS,GACb,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,qBAAqB,IAAI,gBAAgB;gBAClE,CAAC,CAAC,qBAAqB,CAAC,KAAK,EAAE,qBAAqB,EAAE,gBAAgB,CAAC;gBACvE,CAAC,CAAC,KAAK,CAAC;YAEZ,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,gBAAgB,EAAE,CAAC;gBAChD,8DAA8D;gBAC9D,gBAAgB,CAAC,GAAG,CAAC,GAAG,yBAAyB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;gBAClE,aAAa,CAAC,GAAG,CAAC,GAAG,sBAAsB,CAAC,SAAS,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAC;YAChF,CAAC;iBAAM,CAAC;gBACN,kEAAkE;gBAClE,MAAM,cAAc,GAAG,iBAAiB,CAAC,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;gBACtE,gBAAgB,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC;gBACvC,4DAA4D;gBAC5D,oEAAoE;gBACpE,aAAa,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC;YACtC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAC9B,aAAa,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC;AAC7C,CAAC"}
1
+ {"version":3,"file":"path-utils.js","sourceRoot":"","sources":["../../src/trusted-process/path-utils.ts"],"names":[],"mappings":"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"}
@@ -97,3 +97,8 @@ export declare function cleanupSettingsFiles(settingsDir: string): void;
97
97
  * this prefixes the error with [SANDBOX BLOCKED] to signal OS containment.
98
98
  */
99
99
  export declare function annotateSandboxViolation(errorMessage: string, serverSandboxed: boolean): string;
100
+ /**
101
+ * Resolves a binary name in node_modules/.bin/ by walking up from startDir.
102
+ * Handles npm's dependency hoisting where bins may live in a parent node_modules/.bin/.
103
+ */
104
+ export declare function resolveNodeModulesBin(binName: string, startDir: string): string;
@@ -172,7 +172,7 @@ function resolveNetworkConfig(config) {
172
172
  * Resolves a binary name in node_modules/.bin/ by walking up from startDir.
173
173
  * Handles npm's dependency hoisting where bins may live in a parent node_modules/.bin/.
174
174
  */
175
- function resolveNodeModulesBin(binName, startDir) {
175
+ export function resolveNodeModulesBin(binName, startDir) {
176
176
  let dir = startDir;
177
177
  for (;;) {
178
178
  const candidate = join(dir, 'node_modules', '.bin', binName);
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox-integration.js","sourceRoot":"","sources":["../../src/trusted-process/sandbox-integration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sandbox-integration.js","sourceRoot":"","sources":["../../src/trusted-process/sandbox-integration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Tracks per-server context (e.g. working directory) accumulated
3
+ * from successful tool calls. Used to enrich escalation requests
4
+ * with information the human reviewer needs.
5
+ */
6
+ export interface ServerContext {
7
+ workingDirectory?: string;
8
+ }
9
+ export type ServerContextMap = Map<string, ServerContext>;
10
+ /**
11
+ * Updates the context map after a successful tool call.
12
+ * Currently tracks git server working directory from:
13
+ * - `git_set_working_dir` (args.path)
14
+ * - `git_clone` (args.localPath)
15
+ */
16
+ export declare function updateServerContext(map: ServerContextMap, serverName: string, toolName: string, args: Record<string, unknown>): void;
17
+ /**
18
+ * Formats accumulated server context as key-value pairs for display.
19
+ * Returns undefined if no context is available for the server.
20
+ */
21
+ export declare function formatServerContext(map: ServerContextMap, serverName: string): Record<string, string> | undefined;
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Tracks per-server context (e.g. working directory) accumulated
3
+ * from successful tool calls. Used to enrich escalation requests
4
+ * with information the human reviewer needs.
5
+ */
6
+ /** Maps tool names to the argument key that holds the working directory. */
7
+ const WORKING_DIR_ARGS = {
8
+ git_set_working_dir: 'path',
9
+ git_clone: 'localPath',
10
+ };
11
+ /**
12
+ * Updates the context map after a successful tool call.
13
+ * Currently tracks git server working directory from:
14
+ * - `git_set_working_dir` (args.path)
15
+ * - `git_clone` (args.localPath)
16
+ */
17
+ export function updateServerContext(map, serverName, toolName, args) {
18
+ const argKey = WORKING_DIR_ARGS[toolName];
19
+ if (!argKey)
20
+ return;
21
+ const value = args[argKey];
22
+ if (typeof value !== 'string')
23
+ return;
24
+ const ctx = map.get(serverName) ?? {};
25
+ ctx.workingDirectory = value;
26
+ map.set(serverName, ctx);
27
+ }
28
+ /**
29
+ * Formats accumulated server context as key-value pairs for display.
30
+ * Returns undefined if no context is available for the server.
31
+ */
32
+ export function formatServerContext(map, serverName) {
33
+ const ctx = map.get(serverName);
34
+ if (!ctx)
35
+ return undefined;
36
+ const result = {};
37
+ if (ctx.workingDirectory) {
38
+ result['Working directory'] = ctx.workingDirectory;
39
+ }
40
+ return Object.keys(result).length > 0 ? result : undefined;
41
+ }
42
+ //# sourceMappingURL=server-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-context.js","sourceRoot":"","sources":["../../src/trusted-process/server-context.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,4EAA4E;AAC5E,MAAM,gBAAgB,GAA2B;IAC/C,mBAAmB,EAAE,MAAM;IAC3B,SAAS,EAAE,WAAW;CACvB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CACjC,GAAqB,EACrB,UAAkB,EAClB,QAAgB,EAChB,IAA6B;IAE7B,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM;QAAE,OAAO;IAEpB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO;IAEtC,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IACtC,GAAG,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAC7B,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAqB,EAAE,UAAkB;IAC3E,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAChC,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAE3B,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,IAAI,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACzB,MAAM,CAAC,mBAAmB,CAAC,GAAG,GAAG,CAAC,gBAAgB,CAAC;IACrD,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7D,CAAC"}
@@ -10,10 +10,11 @@
10
10
  * invariant applies in the policy engine:
11
11
  * - path: filesystem path containment checks
12
12
  * - url: domain allowlist checks
13
+ * - identifier: case-insensitive allowlist checks (e.g., GitHub owner)
13
14
  * - opaque: no structural invariant (semantic meaning only)
14
15
  */
15
- export type RoleCategory = 'path' | 'url' | 'opaque';
16
- export type ArgumentRole = 'read-path' | 'write-path' | 'delete-path' | 'write-history' | 'delete-history' | 'fetch-url' | 'git-remote-url' | 'branch-name' | 'commit-message' | 'none';
16
+ export type RoleCategory = 'path' | 'url' | 'identifier' | 'opaque';
17
+ export type ArgumentRole = 'read-path' | 'write-path' | 'delete-path' | 'write-history' | 'delete-history' | 'fetch-url' | 'git-remote-url' | 'github-owner' | 'branch-name' | 'commit-message' | 'none';
17
18
  export interface RoleDefinition {
18
19
  readonly description: string;
19
20
  readonly isResourceIdentifier: boolean;
@@ -66,6 +67,8 @@ export declare function getRolesByCategory(category: RoleCategory): ArgumentRole
66
67
  export declare function getPathRoles(): ArgumentRole[];
67
68
  /** Returns url-category roles only. Used by untrusted domain gate. */
68
69
  export declare function getUrlRoles(): ArgumentRole[];
70
+ /** Returns identifier-category roles only. Used by owner allowlist check. */
71
+ export declare function getIdentifierRoles(): ArgumentRole[];
69
72
  /**
70
73
  * Path roles that filesystem sandbox containment is allowed to auto-resolve.
71
74
  *
@@ -10,6 +10,7 @@
10
10
  * invariant applies in the policy engine:
11
11
  * - path: filesystem path containment checks
12
12
  * - url: domain allowlist checks
13
+ * - identifier: case-insensitive allowlist checks (e.g., GitHub owner)
13
14
  * - opaque: no structural invariant (semantic meaning only)
14
15
  */
15
16
  import { realpathSync } from 'node:fs';
@@ -74,6 +75,10 @@ export function resolveRealPath(filePath) {
74
75
  function identity(value) {
75
76
  return value;
76
77
  }
78
+ /** Lowercases the value for case-insensitive matching. */
79
+ function lowercase(value) {
80
+ return value.toLowerCase();
81
+ }
77
82
  // ---------------------------------------------------------------------------
78
83
  // Registry
79
84
  // ---------------------------------------------------------------------------
@@ -164,6 +169,18 @@ const registryEntries = [
164
169
  serverNames: ['git'],
165
170
  },
166
171
  ],
172
+ [
173
+ 'github-owner',
174
+ {
175
+ description: 'GitHub user or organization name that owns the target resource',
176
+ isResourceIdentifier: true,
177
+ category: 'identifier',
178
+ canonicalize: lowercase,
179
+ annotationGuidance: 'Assign to arguments that identify a GitHub user or organization that owns the target resource. ' +
180
+ 'Typically the "owner" or "org" parameter on GitHub API tools.',
181
+ serverNames: ['github'],
182
+ },
183
+ ],
167
184
  [
168
185
  'branch-name',
169
186
  {
@@ -172,8 +189,9 @@ const registryEntries = [
172
189
  category: 'opaque',
173
190
  canonicalize: identity,
174
191
  annotationGuidance: 'Assign to arguments that are git branch names. ' +
175
- 'Typically applies to git server tools like git_branch, git_checkout, git_merge, git_push.',
176
- serverNames: ['git'],
192
+ 'Typically applies to git server tools like git_branch, git_checkout, git_merge, git_push, ' +
193
+ 'and GitHub tools like create_pull_request (head/base branch arguments).',
194
+ serverNames: ['git', 'github'],
177
195
  },
178
196
  ],
179
197
  [
@@ -212,6 +230,7 @@ const _ROLE_COMPLETENESS_CHECK = {
212
230
  'delete-history': true,
213
231
  'fetch-url': true,
214
232
  'git-remote-url': true,
233
+ 'github-owner': true,
215
234
  'branch-name': true,
216
235
  'commit-message': true,
217
236
  none: true,
@@ -264,6 +283,10 @@ export function getPathRoles() {
264
283
  export function getUrlRoles() {
265
284
  return getRolesByCategory('url');
266
285
  }
286
+ /** Returns identifier-category roles only. Used by owner allowlist check. */
287
+ export function getIdentifierRoles() {
288
+ return getRolesByCategory('identifier');
289
+ }
267
290
  /**
268
291
  * Path roles that filesystem sandbox containment is allowed to auto-resolve.
269
292
  *
@@ -1 +1 @@
1
- {"version":3,"file":"argument-roles.js","sourceRoot":"","sources":["../../src/types/argument-roles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"argument-roles.js","sourceRoot":"","sources":["../../src/types/argument-roles.ts"],"names":[],"mappings":"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"}
@@ -11,8 +11,13 @@ RUN chmod +x /usr/local/bin/entrypoint.sh
11
11
 
12
12
  USER codespace
13
13
 
14
- # Create the config directory settings.json is generated entirely
15
- # by IronCurtain at runtime and copied in by the entrypoint script.
16
- RUN mkdir -p /home/codespace/.claude
14
+ # Pre-seed Claude Code config so it skips interactive prompts:
15
+ # - .claude.json: marks onboarding complete (skips login flow)
16
+ # - .claude/settings.json: accepts bypass-permissions mode (skips confirmation dialog)
17
+ RUN mkdir -p /home/codespace/.claude && \
18
+ echo '{"hasCompletedOnboarding":true,"numStartups":1,"projects":{"/workspace":{"allowedTools":[],"hasTrustDialogAccepted":true}}}' \
19
+ > /home/codespace/.claude.json && \
20
+ echo '{"permissions":{"allow":[],"deny":[]},"skipDangerousModePermissionPrompt":true}' \
21
+ > /home/codespace/.claude/settings.json
17
22
 
18
23
  ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
@@ -1,7 +1,8 @@
1
1
  #!/bin/bash
2
2
  # Copies runtime-injected MCP config from the orientation mount
3
- # into Claude Code's expected config location, then idles.
4
- # Agent commands are executed via `docker exec`.
3
+ # into Claude Code's expected config location, then hands off to CMD.
4
+ # Non-PTY mode: CMD is "sleep infinity" (agent commands arrive via docker exec).
5
+ # PTY mode: CMD is the socat PTY command from buildPtyCommand().
5
6
 
6
7
  # Bridge UDS to local TCP so HTTPS_PROXY works
7
8
  MITM_SOCK="/run/ironcurtain/mitm-proxy.sock"
@@ -10,5 +11,64 @@ if [ -S "$MITM_SOCK" ]; then
10
11
  socat TCP-LISTEN:$PROXY_PORT,fork,reuseaddr UNIX-CONNECT:$MITM_SOCK &
11
12
  fi
12
13
 
13
- # Idle agent commands arrive via docker exec
14
- exec sleep infinity
14
+ # Pre-seed .claude.json so Claude Code skips onboarding, trusts /workspace,
15
+ # and doesn't prompt for API key approval.
16
+ cat > "$HOME/.claude.json" <<'EOJSON'
17
+ {
18
+ "hasCompletedOnboarding": true,
19
+ "numStartups": 1,
20
+ "projects": {
21
+ "/workspace": {
22
+ "allowedTools": [],
23
+ "hasTrustDialogAccepted": true
24
+ }
25
+ }
26
+ }
27
+ EOJSON
28
+
29
+ # Configure settings.json:
30
+ # - skipDangerousModePermissionPrompt: suppresses the bypass-permissions warning
31
+ # Auth mode determines how Claude Code gets its API credentials:
32
+ # - OAuth mode (CLAUDE_CODE_OAUTH_TOKEN set): Claude Code reads the token from
33
+ # this env var directly -- no apiKeyHelper needed.
34
+ # - API key mode: apiKeyHelper echoes the fake key so Claude Code skips the
35
+ # custom API key approval dialog entirely.
36
+ mkdir -p "$HOME/.claude"
37
+
38
+ if [ -n "$CLAUDE_CODE_OAUTH_TOKEN" ]; then
39
+ # OAuth mode: Claude Code reads the token from env var directly.
40
+ cat > "$HOME/.claude/settings.json" <<'EOSETTINGS'
41
+ {
42
+ "permissions": {
43
+ "allow": [],
44
+ "deny": [],
45
+ "additionalDirectories": [],
46
+ "defaultMode": "bypassPermissions"
47
+ },
48
+ "skipDangerousModePermissionPrompt": true
49
+ }
50
+ EOSETTINGS
51
+ else
52
+ # API key mode: apiKeyHelper echoes the fake key at runtime.
53
+ cat > "$HOME/.claude/settings.json" <<'EOSETTINGS'
54
+ {
55
+ "permissions": {
56
+ "allow": [],
57
+ "deny": [],
58
+ "additionalDirectories": [],
59
+ "defaultMode": "bypassPermissions"
60
+ },
61
+ "apiKeyHelper": "echo $IRONCURTAIN_API_KEY",
62
+ "skipDangerousModePermissionPrompt": true
63
+ }
64
+ EOSETTINGS
65
+ fi
66
+
67
+ # Load system prompt into env var so socat/bash -c doesn't have quoting issues
68
+ if [ -f /etc/ironcurtain/system-prompt.txt ]; then
69
+ export IRONCURTAIN_SYSTEM_PROMPT
70
+ IRONCURTAIN_SYSTEM_PROMPT=$(cat /etc/ironcurtain/system-prompt.txt)
71
+ fi
72
+
73
+ # Hand off to CMD (sleep infinity for non-PTY, socat PTY command for PTY mode)
74
+ exec "$@"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@provos/ironcurtain",
3
- "version": "0.4.1",
3
+ "version": "0.5.1",
4
4
  "type": "module",
5
5
  "description": "Secure agent runtime with trusted process mediation",
6
6
  "license": "Apache-2.0",
@@ -59,20 +59,21 @@
59
59
  "lint": "eslint src/ test/",
60
60
  "format": "prettier --log-level=warn --write 'src/**/*.ts' 'test/**/*.ts'",
61
61
  "format:check": "prettier --check 'src/**/*.ts' 'test/**/*.ts'",
62
+ "pre-commit": "lint-staged",
62
63
  "setup-hooks": "cp .hooks/pre-commit .git/hooks/pre-commit && chmod +x .git/hooks/pre-commit && echo 'Pre-commit hook installed.'"
63
64
  },
64
65
  "dependencies": {
65
- "@ai-sdk/anthropic": "^3.0.44",
66
- "@ai-sdk/google": "^3.0.30",
67
- "@ai-sdk/openai": "^3.0.30",
68
- "@anthropic-ai/sandbox-runtime": "^0.0.38",
66
+ "@ai-sdk/anthropic": "^3.0.49",
67
+ "@ai-sdk/google": "^3.0.33",
68
+ "@ai-sdk/openai": "^3.0.36",
69
+ "@anthropic-ai/sandbox-runtime": "^0.0.39",
69
70
  "@clack/prompts": "^1.0.1",
70
71
  "@cyanheads/git-mcp-server": "^2.8.4",
71
- "@modelcontextprotocol/sdk": "^1.26.0",
72
+ "@modelcontextprotocol/sdk": "^1.27.1",
72
73
  "@mozilla/readability": "^0.6.0",
73
74
  "@utcp/code-mode": "^1.2.11",
74
75
  "@utcp/mcp": "^1.1.1",
75
- "ai": "^6.0.86",
76
+ "ai": "^6.0.104",
76
77
  "chalk": "^5.6.2",
77
78
  "cli-highlight": "^2.1.11",
78
79
  "dotenv": "^17.3.1",
@@ -89,9 +90,15 @@
89
90
  "overrides": {
90
91
  "minimatch": "^10.2.1"
91
92
  },
93
+ "lint-staged": {
94
+ "*.ts": [
95
+ "prettier --check",
96
+ "eslint"
97
+ ]
98
+ },
92
99
  "devDependencies": {
93
100
  "@eslint/js": "^10.0.1",
94
- "@types/jsdom": "^27.0.0",
101
+ "@types/jsdom": "^28.0.0",
95
102
  "@types/node": "^25.3.0",
96
103
  "@types/node-forge": "^1.3.14",
97
104
  "@types/shell-quote": "^1.7.5",
@@ -100,6 +107,7 @@
100
107
  "@vitest/coverage-v8": "^4.0.18",
101
108
  "eslint": "^10.0.1",
102
109
  "eslint-config-prettier": "^10.1.8",
110
+ "lint-staged": "^16.2.7",
103
111
  "prettier": "^3.8.1",
104
112
  "tsx": "^4.19.0",
105
113
  "typescript": "^5.7.0",
@@ -9,3 +9,5 @@
9
9
  - The agent may fetch web content from popular news sites.
10
10
  - The agent may perform web searches to find information
11
11
  - The agent may fetch web content from popular development sites.
12
+ - The agent may freely list, search, and read GitHub resources (issues, pull requests, repositories, code, comments, reviews) without human approval.
13
+ - Creating, updating, closing, or deleting GitHub resources (issues, PRs, comments, reviews, branches, files, repositories) requires human approval.