@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
@@ -0,0 +1,7 @@
1
+ export { createRuntime } from "./runtime.js";
2
+ export { createPiOAuthApiKeyResolver } from "./pi-auth.js";
3
+ export { createRouterRuntime } from "./ai/runtime/router.js";
4
+ export * from "./ai/index.js";
5
+ export * from "./agent/index.js";
6
+ export { configureToolRuntime, readToolRuntime, readRuntimeBrand, resetToolRuntime } from "./agent/tools/shared/runtime-context.js";
7
+ export { DEFAULT_RUNTIME_BRAND, resolveRuntimeBrand } from "./runtime-brand.js";
@@ -0,0 +1,28 @@
1
+ /**
2
+ * @param {Object} [options]
3
+ * @param {string} [options.path] Path to the pi auth.json credentials file.
4
+ * @returns {PiApiKeyResolver}
5
+ */
6
+ export function createPiOAuthApiKeyResolver(options?: {
7
+ path?: string;
8
+ }): PiApiKeyResolver;
9
+ export type PiApiKeyCredential = {
10
+ type: "api_key";
11
+ key?: string;
12
+ env?: {
13
+ [x: string]: any;
14
+ };
15
+ };
16
+ export type PiOAuthCredential = {
17
+ type: "oauth";
18
+ access?: string;
19
+ refresh?: string;
20
+ expires: number;
21
+ [key: string]: any;
22
+ };
23
+ export type PiCredential = PiApiKeyCredential | PiOAuthCredential;
24
+ export type PiApiKeyResolver = ((provider: string) => Promise<string | undefined>) & {
25
+ readCredential?: (provider: string) => Promise<PiCredential | undefined>;
26
+ modifyCredential?: (provider: string, fn: (current: PiCredential | undefined) => Promise<PiCredential | undefined>) => Promise<PiCredential | undefined>;
27
+ deleteCredential?: (provider: string) => Promise<void>;
28
+ };
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @param {Partial<RuntimeBrand>} [input]
3
+ * @returns {RuntimeBrand}
4
+ */
5
+ export function resolveRuntimeBrand(input?: Partial<RuntimeBrand>): RuntimeBrand;
6
+ /**
7
+ * @typedef {Object} RuntimeBrand
8
+ * @property {string} schemaPrefix
9
+ * @property {string} mcpClientName
10
+ * @property {string} mcpClientVersion
11
+ * @property {string} tempdirPrefix
12
+ * @property {string} providerModelPrefix
13
+ * @property {string} doctorCommand
14
+ * @property {string} serviceName
15
+ * @property {string} clientInfoName
16
+ * @property {string} clientInfoTitle
17
+ */
18
+ /** @type {RuntimeBrand} */
19
+ export const DEFAULT_RUNTIME_BRAND: RuntimeBrand;
20
+ export type RuntimeBrand = {
21
+ schemaPrefix: string;
22
+ mcpClientName: string;
23
+ mcpClientVersion: string;
24
+ tempdirPrefix: string;
25
+ providerModelPrefix: string;
26
+ doctorCommand: string;
27
+ serviceName: string;
28
+ clientInfoName: string;
29
+ clientInfoTitle: string;
30
+ };
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @param {AgentRuntimeHostOptions} [host]
3
+ * @returns {AgentRuntimeInstance}
4
+ */
5
+ export function createRuntime(host?: AgentRuntimeHostOptions): AgentRuntimeInstance;
6
+ export type AgentRuntimeHostOptions = import("./ai/types.js").AgentRuntimeHostOptions;
7
+ export type AgentRuntimeToolOptions = import("./ai/types.js").AgentRuntimeToolOptions;
8
+ export type AgentRuntimeInstance = import("./ai/types.js").AgentRuntimeInstance;
9
+ export type RuntimeRunOptions = import("./ai/types.js").RuntimeRunOptions;
10
+ export type RuntimeResult = import("./ai/types.js").RuntimeResult;