@mono-agent/agent-runtime 0.3.0 → 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 (123) hide show
  1. package/ARCHITECTURE.md +75 -9
  2. package/MIGRATION.md +293 -0
  3. package/README.md +46 -20
  4. package/package.json +104 -10
  5. package/src/agent/allowlists.js +3 -0
  6. package/src/agent/approval.js +3 -0
  7. package/src/agent/compaction.js +231 -654
  8. package/src/agent/index.js +1 -1
  9. package/src/agent/prompt/skill-index.js +6 -0
  10. package/src/agent/sandbox-seam.js +227 -0
  11. package/src/agent/tool-bloat.js +8 -2
  12. package/src/agent/tools/bash.js +16 -8
  13. package/src/agent/tools/edit.js +7 -3
  14. package/src/agent/tools/glob.js +11 -5
  15. package/src/agent/tools/grep.js +11 -5
  16. package/src/agent/tools/pi-bridge.js +272 -54
  17. package/src/agent/tools/read.js +28 -3
  18. package/src/agent/tools/shared/output-truncation.js +8 -3
  19. package/src/agent/tools/shared/path-resolver.js +24 -18
  20. package/src/agent/tools/shared/ripgrep.js +33 -6
  21. package/src/agent/tools/shared/runtime-context.js +60 -50
  22. package/src/agent/tools/shared/tool-context.js +157 -0
  23. package/src/agent/tools/web-fetch.js +65 -18
  24. package/src/agent/tools/web-search.js +11 -4
  25. package/src/agent/tools/write.js +7 -3
  26. package/src/agent/transcript.js +16 -1
  27. package/src/ai/cost.js +128 -3
  28. package/src/ai/failure.js +96 -4
  29. package/src/ai/index.js +1 -0
  30. package/src/ai/live-input-prompt.js +11 -1
  31. package/src/ai/providers/claude-cli.js +6 -2
  32. package/src/ai/providers/claude-sdk.js +55 -12
  33. package/src/ai/providers/codex-app.js +36 -23
  34. package/src/ai/providers/opencode-app.js +2 -2
  35. package/src/ai/providers/opencode-discovery.js +2 -2
  36. package/src/ai/providers/pi-errors.js +65 -0
  37. package/src/ai/providers/pi-events.js +5 -0
  38. package/src/ai/providers/pi-models.js +21 -4
  39. package/src/ai/providers/pi-native/compaction-driver.js +394 -0
  40. package/src/ai/providers/pi-native/result-builder.js +312 -0
  41. package/src/ai/providers/pi-native/session-lifecycle.js +438 -0
  42. package/src/ai/providers/pi-native/stream-subscriber.js +148 -0
  43. package/src/ai/providers/pi-native/structured-output.js +130 -0
  44. package/src/ai/providers/pi-native/turn-runner.js +278 -0
  45. package/src/ai/providers/pi-native.js +754 -0
  46. package/src/ai/runtime/capabilities.js +3 -0
  47. package/src/ai/runtime/model-refs.js +30 -0
  48. package/src/ai/runtime/registry.js +33 -2
  49. package/src/ai/runtime/router.js +119 -19
  50. package/src/ai/runtime/session-liveness.js +110 -0
  51. package/src/ai/runtime/sessions.js +19 -2
  52. package/src/ai/types.js +252 -20
  53. package/src/index.js +1 -1
  54. package/src/pi-auth.js +147 -16
  55. package/src/runtime-brand.js +21 -1
  56. package/src/runtime.js +75 -10
  57. package/types/agent/allowlists.d.ts +25 -0
  58. package/types/agent/approval.d.ts +30 -0
  59. package/types/agent/compaction.d.ts +97 -0
  60. package/types/agent/index.d.ts +5 -0
  61. package/types/agent/prompt/skill-index.d.ts +19 -0
  62. package/types/agent/sandbox-seam.d.ts +148 -0
  63. package/types/agent/tool-bloat.d.ts +22 -0
  64. package/types/agent/tools/bash.d.ts +16 -0
  65. package/types/agent/tools/edit.d.ts +14 -0
  66. package/types/agent/tools/glob.d.ts +16 -0
  67. package/types/agent/tools/grep.d.ts +22 -0
  68. package/types/agent/tools/index.d.ts +10 -0
  69. package/types/agent/tools/pi-bridge.d.ts +144 -0
  70. package/types/agent/tools/read.d.ts +19 -0
  71. package/types/agent/tools/shared/constants.d.ts +13 -0
  72. package/types/agent/tools/shared/dedup.d.ts +8 -0
  73. package/types/agent/tools/shared/output-truncation.d.ts +22 -0
  74. package/types/agent/tools/shared/path-resolver.d.ts +6 -0
  75. package/types/agent/tools/shared/ripgrep.d.ts +38 -0
  76. package/types/agent/tools/shared/runtime-context.d.ts +27 -0
  77. package/types/agent/tools/shared/tool-context.d.ts +48 -0
  78. package/types/agent/tools/web-fetch.d.ts +13 -0
  79. package/types/agent/tools/web-search.d.ts +11 -0
  80. package/types/agent/tools/write.d.ts +12 -0
  81. package/types/agent/transcript.d.ts +45 -0
  82. package/types/ai/backend.d.ts +41 -0
  83. package/types/ai/cost.d.ts +96 -0
  84. package/types/ai/failure.d.ts +117 -0
  85. package/types/ai/file-change-stats.d.ts +75 -0
  86. package/types/ai/index.d.ts +7 -0
  87. package/types/ai/live-input-prompt.d.ts +6 -0
  88. package/types/ai/observer.d.ts +68 -0
  89. package/types/ai/providers/claude-cli.d.ts +211 -0
  90. package/types/ai/providers/claude-sdk.d.ts +66 -0
  91. package/types/ai/providers/claude-subagents.d.ts +2 -0
  92. package/types/ai/providers/codex-app.d.ts +151 -0
  93. package/types/ai/providers/opencode-app.d.ts +95 -0
  94. package/types/ai/providers/opencode-discovery.d.ts +4 -0
  95. package/types/ai/providers/pi-errors.d.ts +3 -0
  96. package/types/ai/providers/pi-events.d.ts +24 -0
  97. package/types/ai/providers/pi-messages.d.ts +5 -0
  98. package/types/ai/providers/pi-models.d.ts +57 -0
  99. package/types/ai/providers/pi-native/compaction-driver.d.ts +86 -0
  100. package/types/ai/providers/pi-native/result-builder.d.ts +168 -0
  101. package/types/ai/providers/pi-native/session-lifecycle.d.ts +62 -0
  102. package/types/ai/providers/pi-native/stream-subscriber.d.ts +50 -0
  103. package/types/ai/providers/pi-native/structured-output.d.ts +69 -0
  104. package/types/ai/providers/pi-native/turn-runner.d.ts +60 -0
  105. package/types/ai/providers/pi-native.d.ts +18 -0
  106. package/types/ai/registry.d.ts +1 -0
  107. package/types/ai/runtime/capabilities-used.d.ts +21 -0
  108. package/types/ai/runtime/capabilities.d.ts +33 -0
  109. package/types/ai/runtime/context-windows.d.ts +8 -0
  110. package/types/ai/runtime/fast-mode.d.ts +2 -0
  111. package/types/ai/runtime/model-refs.d.ts +35 -0
  112. package/types/ai/runtime/registry.d.ts +38 -0
  113. package/types/ai/runtime/router.d.ts +56 -0
  114. package/types/ai/runtime/session-liveness.d.ts +55 -0
  115. package/types/ai/runtime/sessions.d.ts +38 -0
  116. package/types/ai/streaming/codex-events.d.ts +30 -0
  117. package/types/ai/streaming/opencode-events.d.ts +41 -0
  118. package/types/ai/types.d.ts +702 -0
  119. package/types/index.d.ts +7 -0
  120. package/types/pi-auth.d.ts +28 -0
  121. package/types/runtime-brand.d.ts +30 -0
  122. package/types/runtime.d.ts +10 -0
  123. package/src/ai/providers/pi-sdk.js +0 -1310
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mono-agent/agent-runtime",
3
- "version": "0.3.0",
3
+ "version": "0.4.1",
4
4
  "description": "Agent runtime supporting Claude SDK, Claude CLI, Codex CLI, and PI SDK out of the box",
5
5
  "type": "module",
6
6
  "license": "GPL-3.0-only",
@@ -14,17 +14,111 @@
14
14
  "access": "public"
15
15
  },
16
16
  "exports": {
17
- ".": "./src/index.js",
18
- "./ai": "./src/ai/index.js",
19
- "./agent": "./src/agent/index.js",
20
- "./ai/*": "./src/ai/*",
21
- "./agent/*": "./src/agent/*"
17
+ ".": {
18
+ "types": "./types/index.d.ts",
19
+ "default": "./src/index.js"
20
+ },
21
+ "./ai": {
22
+ "types": "./types/ai/index.d.ts",
23
+ "default": "./src/ai/index.js"
24
+ },
25
+ "./agent": {
26
+ "types": "./types/agent/index.d.ts",
27
+ "default": "./src/agent/index.js"
28
+ },
29
+ "./ai/failure.js": {
30
+ "types": "./types/ai/failure.d.ts",
31
+ "default": "./src/ai/failure.js"
32
+ },
33
+ "./ai/cost.js": {
34
+ "types": "./types/ai/cost.d.ts",
35
+ "default": "./src/ai/cost.js"
36
+ },
37
+ "./ai/backend.js": {
38
+ "types": "./types/ai/backend.d.ts",
39
+ "default": "./src/ai/backend.js"
40
+ },
41
+ "./ai/runtime/model-refs.js": {
42
+ "types": "./types/ai/runtime/model-refs.d.ts",
43
+ "default": "./src/ai/runtime/model-refs.js"
44
+ },
45
+ "./ai/runtime/registry.js": {
46
+ "types": "./types/ai/runtime/registry.d.ts",
47
+ "default": "./src/ai/runtime/registry.js"
48
+ },
49
+ "./ai/runtime/context-windows.js": {
50
+ "types": "./types/ai/runtime/context-windows.d.ts",
51
+ "default": "./src/ai/runtime/context-windows.js"
52
+ },
53
+ "./ai/runtime/fast-mode.js": {
54
+ "types": "./types/ai/runtime/fast-mode.d.ts",
55
+ "default": "./src/ai/runtime/fast-mode.js"
56
+ },
57
+ "./ai/streaming/codex-events.js": {
58
+ "types": "./types/ai/streaming/codex-events.d.ts",
59
+ "default": "./src/ai/streaming/codex-events.js"
60
+ },
61
+ "./ai/live-input-prompt.js": {
62
+ "types": "./types/ai/live-input-prompt.d.ts",
63
+ "default": "./src/ai/live-input-prompt.js"
64
+ },
65
+ "./ai/file-change-stats.js": {
66
+ "types": "./types/ai/file-change-stats.d.ts",
67
+ "default": "./src/ai/file-change-stats.js"
68
+ },
69
+ "./ai/providers/claude-sdk.js": {
70
+ "types": "./types/ai/providers/claude-sdk.d.ts",
71
+ "default": "./src/ai/providers/claude-sdk.js"
72
+ },
73
+ "./ai/providers/claude-cli.js": {
74
+ "types": "./types/ai/providers/claude-cli.d.ts",
75
+ "default": "./src/ai/providers/claude-cli.js"
76
+ },
77
+ "./ai/providers/codex-app.js": {
78
+ "types": "./types/ai/providers/codex-app.d.ts",
79
+ "default": "./src/ai/providers/codex-app.js"
80
+ },
81
+ "./ai/providers/opencode-discovery.js": {
82
+ "types": "./types/ai/providers/opencode-discovery.d.ts",
83
+ "default": "./src/ai/providers/opencode-discovery.js"
84
+ },
85
+ "./agent/tools/index.js": {
86
+ "types": "./types/agent/tools/index.d.ts",
87
+ "default": "./src/agent/tools/index.js"
88
+ },
89
+ "./agent/tools/shared/runtime-context.js": {
90
+ "types": "./types/agent/tools/shared/runtime-context.d.ts",
91
+ "default": "./src/agent/tools/shared/runtime-context.js"
92
+ },
93
+ "./agent/tools/shared/ripgrep.js": {
94
+ "types": "./types/agent/tools/shared/ripgrep.d.ts",
95
+ "default": "./src/agent/tools/shared/ripgrep.js"
96
+ },
97
+ "./agent/prompt/skill-index.js": {
98
+ "types": "./types/agent/prompt/skill-index.d.ts",
99
+ "default": "./src/agent/prompt/skill-index.js"
100
+ },
101
+ "./agent/allowlists.js": {
102
+ "types": "./types/agent/allowlists.d.ts",
103
+ "default": "./src/agent/allowlists.js"
104
+ },
105
+ "./agent/transcript.js": {
106
+ "types": "./types/agent/transcript.d.ts",
107
+ "default": "./src/agent/transcript.js"
108
+ },
109
+ "./agent/compaction.js": {
110
+ "types": "./types/agent/compaction.d.ts",
111
+ "default": "./src/agent/compaction.js"
112
+ }
22
113
  },
23
114
  "main": "./src/index.js",
115
+ "types": "./types/index.d.ts",
24
116
  "files": [
25
117
  "src/**/*.js",
26
118
  "!src/__tests__/**",
119
+ "types/**/*.d.ts",
27
120
  "ARCHITECTURE.md",
121
+ "MIGRATION.md",
28
122
  "README.md",
29
123
  "LICENSE"
30
124
  ],
@@ -33,14 +127,14 @@
33
127
  },
34
128
  "dependencies": {
35
129
  "@anthropic-ai/claude-agent-sdk": "^0.1.0",
36
- "@earendil-works/pi-agent-core": "^0.79.1",
37
- "@earendil-works/pi-ai": "^0.79.1",
38
- "@mono-agent/sandbox": "0.3.0",
130
+ "@earendil-works/pi-agent-core": "^0.80.3",
131
+ "@earendil-works/pi-ai": "^0.80.3",
39
132
  "@modelcontextprotocol/sdk": "^1.12.0",
40
133
  "@opencode-ai/sdk": "^1.15.13",
41
134
  "zod": "^4.3.6"
42
135
  },
43
136
  "scripts": {
44
- "test": "pnpm --filter @mono-agent/sandbox run build && vitest run --passWithNoTests"
137
+ "build": "tsc -p tsconfig.types.json",
138
+ "test": "vitest run --passWithNoTests"
45
139
  }
46
140
  }
@@ -24,6 +24,9 @@ export function parseStoredAllowlist(value) {
24
24
  }
25
25
  }
26
26
 
27
+ /**
28
+ * @param {{mode?: string, list?: any, fallback?: string}} [options]
29
+ */
27
30
  export function inferAllowlistMode({ mode, list, fallback = ALLOWLIST_MODE_ALL } = {}) {
28
31
  if (mode !== undefined) return normalizeAllowlistMode(mode);
29
32
  return normalizeList(list).length > 0
@@ -29,6 +29,9 @@ export const RISK_TIERS = Object.freeze(["low", "medium", "high"]);
29
29
 
30
30
  const DEFAULT_TIMEOUT_MS = 60_000;
31
31
 
32
+ /**
33
+ * @param {{onToolApprovalRequest?: any, defaultRiskTier?: string, timeoutMs?: number, onEvent?: (event: any) => void, riskTiersByTool?: any, alwaysAllowTools?: any}} [options]
34
+ */
32
35
  export function createApprovalManager({
33
36
  onToolApprovalRequest = null,
34
37
  defaultRiskTier = "medium",