@earendil-works/pi-coding-agent 0.80.6 → 0.80.8

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 (172) hide show
  1. package/CHANGELOG.md +77 -0
  2. package/README.md +9 -7
  3. package/dist/bun/cli.d.ts.map +1 -1
  4. package/dist/bun/cli.js +2 -0
  5. package/dist/bun/cli.js.map +1 -1
  6. package/dist/cli/args.d.ts.map +1 -1
  7. package/dist/cli/args.js +1 -1
  8. package/dist/cli/args.js.map +1 -1
  9. package/dist/cli/list-models.d.ts +2 -2
  10. package/dist/cli/list-models.d.ts.map +1 -1
  11. package/dist/cli/list-models.js +3 -3
  12. package/dist/cli/list-models.js.map +1 -1
  13. package/dist/core/agent-session-services.d.ts +3 -6
  14. package/dist/core/agent-session-services.d.ts.map +1 -1
  15. package/dist/core/agent-session-services.js +10 -9
  16. package/dist/core/agent-session-services.js.map +1 -1
  17. package/dist/core/agent-session.d.ts +6 -7
  18. package/dist/core/agent-session.d.ts.map +1 -1
  19. package/dist/core/agent-session.js +61 -34
  20. package/dist/core/agent-session.js.map +1 -1
  21. package/dist/core/auth-storage.d.ts +15 -99
  22. package/dist/core/auth-storage.d.ts.map +1 -1
  23. package/dist/core/auth-storage.js +46 -259
  24. package/dist/core/auth-storage.js.map +1 -1
  25. package/dist/core/cache-stats.d.ts +2 -2
  26. package/dist/core/cache-stats.d.ts.map +1 -1
  27. package/dist/core/cache-stats.js +1 -1
  28. package/dist/core/cache-stats.js.map +1 -1
  29. package/dist/core/compaction/branch-summarization.d.ts +1 -1
  30. package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
  31. package/dist/core/compaction/branch-summarization.js.map +1 -1
  32. package/dist/core/extensions/loader.d.ts.map +1 -1
  33. package/dist/core/extensions/loader.js +8 -2
  34. package/dist/core/extensions/loader.js.map +1 -1
  35. package/dist/core/extensions/runner.d.ts +2 -0
  36. package/dist/core/extensions/runner.d.ts.map +1 -1
  37. package/dist/core/extensions/runner.js +8 -0
  38. package/dist/core/extensions/runner.js.map +1 -1
  39. package/dist/core/extensions/types.d.ts +9 -2
  40. package/dist/core/extensions/types.d.ts.map +1 -1
  41. package/dist/core/extensions/types.js.map +1 -1
  42. package/dist/core/extensions/wrapper.d.ts.map +1 -1
  43. package/dist/core/extensions/wrapper.js +22 -3
  44. package/dist/core/extensions/wrapper.js.map +1 -1
  45. package/dist/core/keybindings.d.ts +8 -3
  46. package/dist/core/keybindings.d.ts.map +1 -1
  47. package/dist/core/keybindings.js +7 -3
  48. package/dist/core/keybindings.js.map +1 -1
  49. package/dist/core/model-config.d.ts +507 -0
  50. package/dist/core/model-config.d.ts.map +1 -0
  51. package/dist/core/model-config.js +242 -0
  52. package/dist/core/model-config.js.map +1 -0
  53. package/dist/core/model-registry.d.ts +13 -123
  54. package/dist/core/model-registry.d.ts.map +1 -1
  55. package/dist/core/model-registry.js +44 -731
  56. package/dist/core/model-registry.js.map +1 -1
  57. package/dist/core/model-resolver.d.ts +6 -6
  58. package/dist/core/model-resolver.d.ts.map +1 -1
  59. package/dist/core/model-resolver.js +18 -17
  60. package/dist/core/model-resolver.js.map +1 -1
  61. package/dist/core/model-runtime.d.ts +77 -0
  62. package/dist/core/model-runtime.d.ts.map +1 -0
  63. package/dist/core/model-runtime.js +418 -0
  64. package/dist/core/model-runtime.js.map +1 -0
  65. package/dist/core/models-store.d.ts +17 -0
  66. package/dist/core/models-store.d.ts.map +1 -0
  67. package/dist/core/models-store.js +45 -0
  68. package/dist/core/models-store.js.map +1 -0
  69. package/dist/core/package-manager.d.ts.map +1 -1
  70. package/dist/core/package-manager.js +7 -2
  71. package/dist/core/package-manager.js.map +1 -1
  72. package/dist/core/provider-composer.d.ts +55 -0
  73. package/dist/core/provider-composer.d.ts.map +1 -0
  74. package/dist/core/provider-composer.js +375 -0
  75. package/dist/core/provider-composer.js.map +1 -0
  76. package/dist/core/radius.d.ts +2 -0
  77. package/dist/core/radius.d.ts.map +1 -0
  78. package/dist/core/radius.js +2 -0
  79. package/dist/core/radius.js.map +1 -0
  80. package/dist/core/remote-catalog-provider.d.ts +5 -0
  81. package/dist/core/remote-catalog-provider.d.ts.map +1 -0
  82. package/dist/core/remote-catalog-provider.js +83 -0
  83. package/dist/core/remote-catalog-provider.js.map +1 -0
  84. package/dist/core/runtime-credentials.d.ts +15 -0
  85. package/dist/core/runtime-credentials.d.ts.map +1 -0
  86. package/dist/core/runtime-credentials.js +36 -0
  87. package/dist/core/runtime-credentials.js.map +1 -0
  88. package/dist/core/sdk.d.ts +3 -6
  89. package/dist/core/sdk.d.ts.map +1 -1
  90. package/dist/core/sdk.js +14 -25
  91. package/dist/core/sdk.js.map +1 -1
  92. package/dist/core/system-prompt.d.ts.map +1 -1
  93. package/dist/core/system-prompt.js +1 -11
  94. package/dist/core/system-prompt.js.map +1 -1
  95. package/dist/index.d.ts +2 -1
  96. package/dist/index.d.ts.map +1 -1
  97. package/dist/index.js +2 -2
  98. package/dist/index.js.map +1 -1
  99. package/dist/main.d.ts.map +1 -1
  100. package/dist/main.js +11 -13
  101. package/dist/main.js.map +1 -1
  102. package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
  103. package/dist/modes/interactive/components/assistant-message.js +22 -10
  104. package/dist/modes/interactive/components/assistant-message.js.map +1 -1
  105. package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -1
  106. package/dist/modes/interactive/components/custom-editor.js +1 -1
  107. package/dist/modes/interactive/components/custom-editor.js.map +1 -1
  108. package/dist/modes/interactive/components/footer.d.ts.map +1 -1
  109. package/dist/modes/interactive/components/footer.js +1 -1
  110. package/dist/modes/interactive/components/footer.js.map +1 -1
  111. package/dist/modes/interactive/components/login-dialog.d.ts +5 -5
  112. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
  113. package/dist/modes/interactive/components/login-dialog.js +17 -8
  114. package/dist/modes/interactive/components/login-dialog.js.map +1 -1
  115. package/dist/modes/interactive/components/model-selector.d.ts +11 -4
  116. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
  117. package/dist/modes/interactive/components/model-selector.js +72 -41
  118. package/dist/modes/interactive/components/model-selector.js.map +1 -1
  119. package/dist/modes/interactive/components/oauth-selector.d.ts +4 -4
  120. package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
  121. package/dist/modes/interactive/components/oauth-selector.js +14 -27
  122. package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
  123. package/dist/modes/interactive/components/tree-selector.d.ts +5 -0
  124. package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
  125. package/dist/modes/interactive/components/tree-selector.js +49 -12
  126. package/dist/modes/interactive/components/tree-selector.js.map +1 -1
  127. package/dist/modes/interactive/interactive-mode.d.ts +7 -5
  128. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  129. package/dist/modes/interactive/interactive-mode.js +187 -171
  130. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  131. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  132. package/dist/modes/rpc/rpc-mode.js +2 -2
  133. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  134. package/dist/package-manager-cli.d.ts.map +1 -1
  135. package/dist/package-manager-cli.js +67 -5
  136. package/dist/package-manager-cli.js.map +1 -1
  137. package/dist/utils/clipboard-native.d.ts +1 -0
  138. package/dist/utils/clipboard-native.d.ts.map +1 -1
  139. package/dist/utils/clipboard-native.js.map +1 -1
  140. package/dist/utils/clipboard.d.ts +2 -0
  141. package/dist/utils/clipboard.d.ts.map +1 -1
  142. package/dist/utils/clipboard.js +13 -0
  143. package/dist/utils/clipboard.js.map +1 -1
  144. package/docs/custom-provider.md +8 -11
  145. package/docs/extensions.md +160 -1
  146. package/docs/keybindings.md +1 -0
  147. package/docs/models.md +3 -0
  148. package/docs/packages.md +1 -0
  149. package/docs/providers.md +16 -1
  150. package/docs/quickstart.md +1 -1
  151. package/docs/sdk.md +40 -50
  152. package/docs/usage.md +2 -0
  153. package/examples/extensions/custom-provider-anthropic/index.ts +1 -1
  154. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  155. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  156. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  157. package/examples/extensions/gondolin/package-lock.json +2 -2
  158. package/examples/extensions/gondolin/package.json +1 -1
  159. package/examples/extensions/sandbox/package-lock.json +2 -2
  160. package/examples/extensions/sandbox/package.json +1 -1
  161. package/examples/extensions/with-deps/package-lock.json +2 -2
  162. package/examples/extensions/with-deps/package.json +1 -1
  163. package/examples/sdk/02-custom-model.ts +5 -8
  164. package/examples/sdk/09-api-keys-and-oauth.ts +13 -31
  165. package/examples/sdk/12-full-control.ts +7 -12
  166. package/examples/sdk/README.md +14 -18
  167. package/npm-shrinkwrap.json +12 -12
  168. package/package.json +4 -4
  169. package/dist/core/provider-display-names.d.ts +0 -2
  170. package/dist/core/provider-display-names.d.ts.map +0 -1
  171. package/dist/core/provider-display-names.js +0 -36
  172. package/dist/core/provider-display-names.js.map +0 -1
@@ -5,11 +5,9 @@
5
5
  */
6
6
 
7
7
  import { getModel } from "@earendil-works/pi-ai/compat";
8
- import { AuthStorage, createAgentSession, ModelRegistry } from "@earendil-works/pi-coding-agent";
8
+ import { createAgentSession, ModelRuntime } from "@earendil-works/pi-coding-agent";
9
9
 
10
- // Set up auth storage and model registry
11
- const authStorage = AuthStorage.create();
12
- const modelRegistry = ModelRegistry.create(authStorage);
10
+ const modelRuntime = await ModelRuntime.create();
13
11
 
14
12
  // Option 1: Find a specific built-in model by provider/id
15
13
  const opus = getModel("anthropic", "claude-opus-4-5");
@@ -18,13 +16,13 @@ if (opus) {
18
16
  }
19
17
 
20
18
  // Option 2: Find model via registry (includes custom models from models.json)
21
- const customModel = modelRegistry.find("my-provider", "my-model");
19
+ const customModel = modelRuntime.getModel("my-provider", "my-model");
22
20
  if (customModel) {
23
21
  console.log(`Found custom model: ${customModel.provider}/${customModel.id}`);
24
22
  }
25
23
 
26
24
  // Option 3: Pick from available models (have valid API keys)
27
- const available = await modelRegistry.getAvailable();
25
+ const available = await modelRuntime.getAvailable();
28
26
  console.log(
29
27
  "Available models:",
30
28
  available.map((m) => `${m.provider}/${m.id}`),
@@ -34,8 +32,7 @@ if (available.length > 0) {
34
32
  const { session } = await createAgentSession({
35
33
  model: available[0],
36
34
  thinkingLevel: "medium", // off, low, medium, high
37
- authStorage,
38
- modelRegistry,
35
+ modelRuntime,
39
36
  });
40
37
 
41
38
  try {
@@ -1,52 +1,34 @@
1
1
  /**
2
2
  * API Keys and OAuth
3
3
  *
4
- * Configure API key resolution via AuthStorage and ModelRegistry.
4
+ * Configure provider auth through ModelRuntime.
5
5
  */
6
6
 
7
- import { AuthStorage, createAgentSession, ModelRegistry, SessionManager } from "@earendil-works/pi-coding-agent";
8
-
9
- // Default: AuthStorage uses ~/.pi/agent/auth.json
10
- // ModelRegistry loads built-in + custom models from ~/.pi/agent/models.json
11
- const authStorage = AuthStorage.create();
12
- const modelRegistry = ModelRegistry.create(authStorage);
7
+ import { createAgentSession, ModelRuntime, SessionManager } from "@earendil-works/pi-coding-agent";
13
8
 
9
+ const modelRuntime = await ModelRuntime.create();
14
10
  const { session: defaultAuthSession } = await createAgentSession({
15
11
  sessionManager: SessionManager.inMemory(),
16
- authStorage,
17
- modelRegistry,
12
+ modelRuntime,
18
13
  });
19
- console.log("Session with default auth storage and model registry");
14
+ console.log("Session with default model runtime");
20
15
  defaultAuthSession.dispose();
21
16
 
22
- // Custom auth storage location
23
- const customAuthStorage = AuthStorage.create("/tmp/my-app/auth.json");
24
- const customModelRegistry = ModelRegistry.create(customAuthStorage, "/tmp/my-app/models.json");
25
-
17
+ const customRuntime = await ModelRuntime.create({
18
+ authPath: "/tmp/my-app/auth.json",
19
+ modelsPath: "/tmp/my-app/models.json",
20
+ });
26
21
  const { session: customAuthSession } = await createAgentSession({
27
22
  sessionManager: SessionManager.inMemory(),
28
- authStorage: customAuthStorage,
29
- modelRegistry: customModelRegistry,
23
+ modelRuntime: customRuntime,
30
24
  });
31
- console.log("Session with custom auth storage location");
25
+ console.log("Session with custom auth and models locations");
32
26
  customAuthSession.dispose();
33
27
 
34
- // Runtime API key override (not persisted to disk)
35
- authStorage.setRuntimeApiKey("anthropic", "sk-my-temp-key");
28
+ modelRuntime.setRuntimeApiKey("anthropic", "sk-my-temp-key");
36
29
  const { session: runtimeKeySession } = await createAgentSession({
37
30
  sessionManager: SessionManager.inMemory(),
38
- authStorage,
39
- modelRegistry,
31
+ modelRuntime,
40
32
  });
41
33
  console.log("Session with runtime API key override");
42
34
  runtimeKeySession.dispose();
43
-
44
- // No models.json - only built-in models
45
- const simpleRegistry = ModelRegistry.inMemory(authStorage);
46
- const { session: builtInModelsSession } = await createAgentSession({
47
- sessionManager: SessionManager.inMemory(),
48
- authStorage,
49
- modelRegistry: simpleRegistry,
50
- });
51
- console.log("Session with only built-in models");
52
- builtInModelsSession.dispose();
@@ -6,26 +6,22 @@
6
6
 
7
7
  import { getModel } from "@earendil-works/pi-ai/compat";
8
8
  import {
9
- AuthStorage,
10
9
  createAgentSession,
11
10
  createExtensionRuntime,
12
- ModelRegistry,
11
+ ModelRuntime,
13
12
  type ResourceLoader,
14
13
  SessionManager,
15
14
  SettingsManager,
16
15
  } from "@earendil-works/pi-coding-agent";
17
16
 
18
- // Custom auth storage location
19
- const authStorage = AuthStorage.create("/tmp/my-agent/auth.json");
20
-
21
- // Runtime API key override (not persisted)
17
+ const modelRuntime = await ModelRuntime.create({
18
+ authPath: "/tmp/my-agent/auth.json",
19
+ modelsPath: "/tmp/my-agent/models.json",
20
+ });
22
21
  if (process.env.MY_ANTHROPIC_KEY) {
23
- authStorage.setRuntimeApiKey("anthropic", process.env.MY_ANTHROPIC_KEY);
22
+ modelRuntime.setRuntimeApiKey("anthropic", process.env.MY_ANTHROPIC_KEY);
24
23
  }
25
24
 
26
- // Model registry with no custom models.json
27
- const modelRegistry = ModelRegistry.inMemory(authStorage);
28
-
29
25
  const model = getModel("anthropic", "claude-sonnet-4-5");
30
26
  if (!model) throw new Error("Model not found");
31
27
 
@@ -55,8 +51,7 @@ const { session } = await createAgentSession({
55
51
  agentDir: "/tmp/my-agent",
56
52
  model,
57
53
  thinkingLevel: "off",
58
- authStorage,
59
- modelRegistry,
54
+ modelRuntime,
60
55
  resourceLoader,
61
56
  tools: ["read", "bash"],
62
57
  sessionManager: SessionManager.inMemory(cwd),
@@ -34,46 +34,44 @@ npx tsx examples/sdk/01-minimal.ts
34
34
  ```typescript
35
35
  import { getModel } from "@earendil-works/pi-ai";
36
36
  import {
37
- AuthStorage,
38
37
  createAgentSession,
39
38
  DefaultResourceLoader,
40
- ModelRegistry,
39
+ ModelRuntime,
41
40
  SessionManager,
42
41
  SettingsManager,
43
42
  } from "@earendil-works/pi-coding-agent";
44
43
 
45
- // Auth and models setup
46
- const authStorage = AuthStorage.create();
47
- const modelRegistry = ModelRegistry.create(authStorage);
44
+ const modelRuntime = await ModelRuntime.create();
48
45
 
49
46
  // Minimal
50
- const { session } = await createAgentSession({ authStorage, modelRegistry });
47
+ const { session } = await createAgentSession({ modelRuntime });
51
48
 
52
49
  // Custom model
53
50
  const model = getModel("anthropic", "claude-opus-4-5");
54
- const { session } = await createAgentSession({ model, thinkingLevel: "high", authStorage, modelRegistry });
51
+ const { session } = await createAgentSession({ model, thinkingLevel: "high", modelRuntime });
55
52
 
56
53
  // Modify prompt
57
54
  const loader = new DefaultResourceLoader({
58
55
  systemPromptOverride: (base) => `${base}\n\nBe concise.`,
59
56
  });
60
57
  await loader.reload();
61
- const { session } = await createAgentSession({ resourceLoader: loader, authStorage, modelRegistry });
58
+ const { session } = await createAgentSession({ resourceLoader: loader, modelRuntime });
62
59
 
63
60
  // Read-only
64
- const { session } = await createAgentSession({ tools: ["read", "grep", "find", "ls"], authStorage, modelRegistry });
61
+ const { session } = await createAgentSession({ tools: ["read", "grep", "find", "ls"], modelRuntime });
65
62
 
66
63
  // In-memory
67
64
  const { session } = await createAgentSession({
68
65
  sessionManager: SessionManager.inMemory(),
69
- authStorage,
70
- modelRegistry,
66
+ modelRuntime,
71
67
  });
72
68
 
73
69
  // Full control
74
- const customAuth = AuthStorage.create("/my/app/auth.json");
75
- customAuth.setRuntimeApiKey("anthropic", process.env.MY_KEY!);
76
- const customRegistry = ModelRegistry.create(customAuth);
70
+ const customRuntime = await ModelRuntime.create({
71
+ authPath: "/my/app/auth.json",
72
+ modelsPath: "/my/app/models.json",
73
+ });
74
+ customRuntime.setRuntimeApiKey("anthropic", process.env.MY_KEY!);
77
75
 
78
76
  const resourceLoader = new DefaultResourceLoader({
79
77
  systemPromptOverride: () => "You are helpful.",
@@ -86,8 +84,7 @@ await resourceLoader.reload();
86
84
 
87
85
  const { session } = await createAgentSession({
88
86
  model,
89
- authStorage: customAuth,
90
- modelRegistry: customRegistry,
87
+ modelRuntime: customRuntime,
91
88
  resourceLoader,
92
89
  tools: ["read", "bash", "my_tool"],
93
90
  customTools: [myTool],
@@ -108,8 +105,7 @@ await session.prompt("Hello");
108
105
 
109
106
  | Option | Default | Description |
110
107
  |--------|---------|-------------|
111
- | `authStorage` | `AuthStorage.create()` | Credential storage |
112
- | `modelRegistry` | `ModelRegistry.create(authStorage)` | Model registry |
108
+ | `modelRuntime` | Runtime using `agentDir/auth.json` and `models.json` | Canonical model and authentication runtime |
113
109
  | `cwd` | `process.cwd()` | Working directory |
114
110
  | `agentDir` | `~/.pi/agent` | Config directory |
115
111
  | `model` | From settings/first available | Model to use |
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "name": "@earendil-works/pi-coding-agent",
3
- "version": "0.80.6",
3
+ "version": "0.80.8",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@earendil-works/pi-coding-agent",
9
- "version": "0.80.6",
9
+ "version": "0.80.8",
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
- "@earendil-works/pi-agent-core": "^0.80.6",
13
- "@earendil-works/pi-ai": "^0.80.6",
14
- "@earendil-works/pi-tui": "^0.80.6",
12
+ "@earendil-works/pi-agent-core": "^0.80.8",
13
+ "@earendil-works/pi-ai": "^0.80.8",
14
+ "@earendil-works/pi-tui": "^0.80.8",
15
15
  "@silvia-odwyer/photon-node": "0.3.4",
16
16
  "chalk": "5.6.2",
17
17
  "cross-spawn": "7.0.6",
@@ -474,11 +474,11 @@
474
474
  }
475
475
  },
476
476
  "node_modules/@earendil-works/pi-agent-core": {
477
- "version": "0.80.6",
478
- "resolved": "https://registry.npmjs.org/@earendil-works/pi-agent-core/-/pi-agent-core-0.80.6.tgz",
477
+ "version": "0.80.8",
478
+ "resolved": "https://registry.npmjs.org/@earendil-works/pi-agent-core/-/pi-agent-core-0.80.8.tgz",
479
479
  "license": "MIT",
480
480
  "dependencies": {
481
- "@earendil-works/pi-ai": "^0.80.6",
481
+ "@earendil-works/pi-ai": "^0.80.8",
482
482
  "ignore": "7.0.5",
483
483
  "typebox": "1.1.38",
484
484
  "yaml": "2.9.0"
@@ -488,8 +488,8 @@
488
488
  }
489
489
  },
490
490
  "node_modules/@earendil-works/pi-ai": {
491
- "version": "0.80.6",
492
- "resolved": "https://registry.npmjs.org/@earendil-works/pi-ai/-/pi-ai-0.80.6.tgz",
491
+ "version": "0.80.8",
492
+ "resolved": "https://registry.npmjs.org/@earendil-works/pi-ai/-/pi-ai-0.80.8.tgz",
493
493
  "license": "MIT",
494
494
  "dependencies": {
495
495
  "@anthropic-ai/sdk": "0.91.1",
@@ -512,8 +512,8 @@
512
512
  }
513
513
  },
514
514
  "node_modules/@earendil-works/pi-tui": {
515
- "version": "0.80.6",
516
- "resolved": "https://registry.npmjs.org/@earendil-works/pi-tui/-/pi-tui-0.80.6.tgz",
515
+ "version": "0.80.8",
516
+ "resolved": "https://registry.npmjs.org/@earendil-works/pi-tui/-/pi-tui-0.80.8.tgz",
517
517
  "license": "MIT",
518
518
  "dependencies": {
519
519
  "get-east-asian-width": "1.6.0",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@earendil-works/pi-coding-agent",
3
- "version": "0.80.6",
3
+ "version": "0.80.8",
4
4
  "description": "Coding agent CLI with read, bash, edit, write tools and session management",
5
5
  "type": "module",
6
6
  "piConfig": {
@@ -39,9 +39,9 @@
39
39
  "prepublishOnly": "npm run clean && npm run build && npm run shrinkwrap"
40
40
  },
41
41
  "dependencies": {
42
- "@earendil-works/pi-agent-core": "^0.80.6",
43
- "@earendil-works/pi-ai": "^0.80.6",
44
- "@earendil-works/pi-tui": "^0.80.6",
42
+ "@earendil-works/pi-agent-core": "^0.80.8",
43
+ "@earendil-works/pi-ai": "^0.80.8",
44
+ "@earendil-works/pi-tui": "^0.80.8",
45
45
  "@silvia-odwyer/photon-node": "0.3.4",
46
46
  "chalk": "5.6.2",
47
47
  "cross-spawn": "7.0.6",
@@ -1,2 +0,0 @@
1
- export declare const BUILT_IN_PROVIDER_DISPLAY_NAMES: Record<string, string>;
2
- //# sourceMappingURL=provider-display-names.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"provider-display-names.d.ts","sourceRoot":"","sources":["../../src/core/provider-display-names.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,+BAA+B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAkClE,CAAC","sourcesContent":["export const BUILT_IN_PROVIDER_DISPLAY_NAMES: Record<string, string> = {\n\tanthropic: \"Anthropic\",\n\t\"amazon-bedrock\": \"Amazon Bedrock\",\n\t\"ant-ling\": \"Ant Ling\",\n\t\"azure-openai-responses\": \"Azure OpenAI Responses\",\n\tcerebras: \"Cerebras\",\n\t\"cloudflare-ai-gateway\": \"Cloudflare AI Gateway\",\n\t\"cloudflare-workers-ai\": \"Cloudflare Workers AI\",\n\tdeepseek: \"DeepSeek\",\n\tfireworks: \"Fireworks\",\n\tgoogle: \"Google Gemini\",\n\t\"google-vertex\": \"Google Vertex AI\",\n\tgroq: \"Groq\",\n\thuggingface: \"Hugging Face\",\n\t\"kimi-coding\": \"Kimi For Coding\",\n\tmistral: \"Mistral\",\n\tminimax: \"MiniMax\",\n\t\"minimax-cn\": \"MiniMax (China)\",\n\tmoonshotai: \"Moonshot AI\",\n\t\"moonshotai-cn\": \"Moonshot AI (China)\",\n\tnvidia: \"NVIDIA NIM\",\n\topencode: \"OpenCode Zen\",\n\t\"opencode-go\": \"OpenCode Go\",\n\topenai: \"OpenAI\",\n\topenrouter: \"OpenRouter\",\n\ttogether: \"Together AI\",\n\t\"vercel-ai-gateway\": \"Vercel AI Gateway\",\n\txai: \"xAI\",\n\tzai: \"ZAI Coding Plan (Global)\",\n\t\"zai-coding-cn\": \"ZAI Coding Plan (China)\",\n\txiaomi: \"Xiaomi MiMo\",\n\t\"xiaomi-token-plan-cn\": \"Xiaomi MiMo Token Plan (China)\",\n\t\"xiaomi-token-plan-ams\": \"Xiaomi MiMo Token Plan (Amsterdam)\",\n\t\"xiaomi-token-plan-sgp\": \"Xiaomi MiMo Token Plan (Singapore)\",\n};\n"]}
@@ -1,36 +0,0 @@
1
- export const BUILT_IN_PROVIDER_DISPLAY_NAMES = {
2
- anthropic: "Anthropic",
3
- "amazon-bedrock": "Amazon Bedrock",
4
- "ant-ling": "Ant Ling",
5
- "azure-openai-responses": "Azure OpenAI Responses",
6
- cerebras: "Cerebras",
7
- "cloudflare-ai-gateway": "Cloudflare AI Gateway",
8
- "cloudflare-workers-ai": "Cloudflare Workers AI",
9
- deepseek: "DeepSeek",
10
- fireworks: "Fireworks",
11
- google: "Google Gemini",
12
- "google-vertex": "Google Vertex AI",
13
- groq: "Groq",
14
- huggingface: "Hugging Face",
15
- "kimi-coding": "Kimi For Coding",
16
- mistral: "Mistral",
17
- minimax: "MiniMax",
18
- "minimax-cn": "MiniMax (China)",
19
- moonshotai: "Moonshot AI",
20
- "moonshotai-cn": "Moonshot AI (China)",
21
- nvidia: "NVIDIA NIM",
22
- opencode: "OpenCode Zen",
23
- "opencode-go": "OpenCode Go",
24
- openai: "OpenAI",
25
- openrouter: "OpenRouter",
26
- together: "Together AI",
27
- "vercel-ai-gateway": "Vercel AI Gateway",
28
- xai: "xAI",
29
- zai: "ZAI Coding Plan (Global)",
30
- "zai-coding-cn": "ZAI Coding Plan (China)",
31
- xiaomi: "Xiaomi MiMo",
32
- "xiaomi-token-plan-cn": "Xiaomi MiMo Token Plan (China)",
33
- "xiaomi-token-plan-ams": "Xiaomi MiMo Token Plan (Amsterdam)",
34
- "xiaomi-token-plan-sgp": "Xiaomi MiMo Token Plan (Singapore)",
35
- };
36
- //# sourceMappingURL=provider-display-names.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"provider-display-names.js","sourceRoot":"","sources":["../../src/core/provider-display-names.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,+BAA+B,GAA2B;IACtE,SAAS,EAAE,WAAW;IACtB,gBAAgB,EAAE,gBAAgB;IAClC,UAAU,EAAE,UAAU;IACtB,wBAAwB,EAAE,wBAAwB;IAClD,QAAQ,EAAE,UAAU;IACpB,uBAAuB,EAAE,uBAAuB;IAChD,uBAAuB,EAAE,uBAAuB;IAChD,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,eAAe;IACvB,eAAe,EAAE,kBAAkB;IACnC,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,cAAc;IAC3B,aAAa,EAAE,iBAAiB;IAChC,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,iBAAiB;IAC/B,UAAU,EAAE,aAAa;IACzB,eAAe,EAAE,qBAAqB;IACtC,MAAM,EAAE,YAAY;IACpB,QAAQ,EAAE,cAAc;IACxB,aAAa,EAAE,aAAa;IAC5B,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,YAAY;IACxB,QAAQ,EAAE,aAAa;IACvB,mBAAmB,EAAE,mBAAmB;IACxC,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,0BAA0B;IAC/B,eAAe,EAAE,yBAAyB;IAC1C,MAAM,EAAE,aAAa;IACrB,sBAAsB,EAAE,gCAAgC;IACxD,uBAAuB,EAAE,oCAAoC;IAC7D,uBAAuB,EAAE,oCAAoC;CAC7D,CAAC","sourcesContent":["export const BUILT_IN_PROVIDER_DISPLAY_NAMES: Record<string, string> = {\n\tanthropic: \"Anthropic\",\n\t\"amazon-bedrock\": \"Amazon Bedrock\",\n\t\"ant-ling\": \"Ant Ling\",\n\t\"azure-openai-responses\": \"Azure OpenAI Responses\",\n\tcerebras: \"Cerebras\",\n\t\"cloudflare-ai-gateway\": \"Cloudflare AI Gateway\",\n\t\"cloudflare-workers-ai\": \"Cloudflare Workers AI\",\n\tdeepseek: \"DeepSeek\",\n\tfireworks: \"Fireworks\",\n\tgoogle: \"Google Gemini\",\n\t\"google-vertex\": \"Google Vertex AI\",\n\tgroq: \"Groq\",\n\thuggingface: \"Hugging Face\",\n\t\"kimi-coding\": \"Kimi For Coding\",\n\tmistral: \"Mistral\",\n\tminimax: \"MiniMax\",\n\t\"minimax-cn\": \"MiniMax (China)\",\n\tmoonshotai: \"Moonshot AI\",\n\t\"moonshotai-cn\": \"Moonshot AI (China)\",\n\tnvidia: \"NVIDIA NIM\",\n\topencode: \"OpenCode Zen\",\n\t\"opencode-go\": \"OpenCode Go\",\n\topenai: \"OpenAI\",\n\topenrouter: \"OpenRouter\",\n\ttogether: \"Together AI\",\n\t\"vercel-ai-gateway\": \"Vercel AI Gateway\",\n\txai: \"xAI\",\n\tzai: \"ZAI Coding Plan (Global)\",\n\t\"zai-coding-cn\": \"ZAI Coding Plan (China)\",\n\txiaomi: \"Xiaomi MiMo\",\n\t\"xiaomi-token-plan-cn\": \"Xiaomi MiMo Token Plan (China)\",\n\t\"xiaomi-token-plan-ams\": \"Xiaomi MiMo Token Plan (Amsterdam)\",\n\t\"xiaomi-token-plan-sgp\": \"Xiaomi MiMo Token Plan (Singapore)\",\n};\n"]}