@spinabot/brigade 1.2.1 → 1.3.0

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 (158) hide show
  1. package/README.md +18 -4
  2. package/convex/schema.d.ts +6 -6
  3. package/convex/sessions.d.ts +4 -4
  4. package/convex/subagents.d.ts +4 -4
  5. package/dist/agents/agent-loop.d.ts +1 -1
  6. package/dist/agents/agent-loop.d.ts.map +1 -1
  7. package/dist/agents/agent-loop.js +72 -12
  8. package/dist/agents/agent-loop.js.map +1 -1
  9. package/dist/agents/carrow.d.ts +3 -3
  10. package/dist/agents/carrow.d.ts.map +1 -1
  11. package/dist/agents/content-quality-retry.d.ts +1 -1
  12. package/dist/agents/content-quality-retry.d.ts.map +1 -1
  13. package/dist/agents/extensions/registry.d.ts +1 -1
  14. package/dist/agents/extensions/registry.d.ts.map +1 -1
  15. package/dist/agents/memory/extract.js +1 -1
  16. package/dist/agents/memory/extract.js.map +1 -1
  17. package/dist/agents/mid-turn-switch.d.ts +3 -3
  18. package/dist/agents/mid-turn-switch.d.ts.map +1 -1
  19. package/dist/agents/payload-mutators.d.ts +3 -3
  20. package/dist/agents/payload-mutators.d.ts.map +1 -1
  21. package/dist/agents/provider-attribution.d.ts +1 -1
  22. package/dist/agents/provider-attribution.d.ts.map +1 -1
  23. package/dist/agents/sanitize-surrogates.d.ts +1 -1
  24. package/dist/agents/sanitize-surrogates.d.ts.map +1 -1
  25. package/dist/agents/skills/discovery.js +1 -1
  26. package/dist/agents/skills/discovery.js.map +1 -1
  27. package/dist/agents/skills/status.js +1 -1
  28. package/dist/agents/skills/status.js.map +1 -1
  29. package/dist/agents/smart-compaction.d.ts +1 -1
  30. package/dist/agents/smart-compaction.d.ts.map +1 -1
  31. package/dist/agents/thinking-fallback.d.ts +1 -1
  32. package/dist/agents/thinking-fallback.d.ts.map +1 -1
  33. package/dist/agents/tool-guard.d.ts +1 -1
  34. package/dist/agents/tool-guard.d.ts.map +1 -1
  35. package/dist/agents/tools/common.d.ts +1 -1
  36. package/dist/agents/tools/common.d.ts.map +1 -1
  37. package/dist/agents/tools/manage-agent-tool.d.ts.map +1 -1
  38. package/dist/agents/tools/manage-agent-tool.js +2 -1
  39. package/dist/agents/tools/manage-agent-tool.js.map +1 -1
  40. package/dist/agents/tools/manage-provider-tool.d.ts.map +1 -1
  41. package/dist/agents/tools/manage-provider-tool.js +2 -1
  42. package/dist/agents/tools/manage-provider-tool.js.map +1 -1
  43. package/dist/agents/tools/org-tool.d.ts +15 -0
  44. package/dist/agents/tools/org-tool.d.ts.map +1 -1
  45. package/dist/agents/tools/org-tool.js +53 -6
  46. package/dist/agents/tools/org-tool.js.map +1 -1
  47. package/dist/agents/tools/registry.d.ts.map +1 -1
  48. package/dist/agents/tools/registry.js +3 -0
  49. package/dist/agents/tools/registry.js.map +1 -1
  50. package/dist/agents/tools/sessions/spawn.d.ts +1 -1
  51. package/dist/agents/tools/sessions/spawn.js +1 -1
  52. package/dist/agents/tools/types.d.ts +2 -2
  53. package/dist/agents/tools/types.d.ts.map +1 -1
  54. package/dist/buildstamp.json +1 -1
  55. package/dist/cli/commands/connect.d.ts +1 -1
  56. package/dist/cli/commands/connect.d.ts.map +1 -1
  57. package/dist/cli/commands/connect.js +1 -1
  58. package/dist/cli/commands/connect.js.map +1 -1
  59. package/dist/cli/commands/doctor.d.ts.map +1 -1
  60. package/dist/cli/commands/doctor.js +25 -6
  61. package/dist/cli/commands/doctor.js.map +1 -1
  62. package/dist/cli/commands/login.d.ts +27 -0
  63. package/dist/cli/commands/login.d.ts.map +1 -0
  64. package/dist/cli/commands/login.js +142 -0
  65. package/dist/cli/commands/login.js.map +1 -0
  66. package/dist/cli/commands/onboard.js +2 -2
  67. package/dist/cli/commands/onboard.js.map +1 -1
  68. package/dist/cli/flows/web-setup.d.ts +3 -3
  69. package/dist/cli/flows/web-setup.d.ts.map +1 -1
  70. package/dist/cli/flows/web-setup.js +4 -4
  71. package/dist/cli/flows/web-setup.js.map +1 -1
  72. package/dist/cli/program/build-program.d.ts.map +1 -1
  73. package/dist/cli/program/build-program.js +8 -0
  74. package/dist/cli/program/build-program.js.map +1 -1
  75. package/dist/cli/run-main.js +16 -1
  76. package/dist/cli/run-main.js.map +1 -1
  77. package/dist/core/auth-bridge.d.ts.map +1 -1
  78. package/dist/core/auth-bridge.js +76 -26
  79. package/dist/core/auth-bridge.js.map +1 -1
  80. package/dist/core/auth-error.d.ts +1 -1
  81. package/dist/core/auth-error.js +1 -1
  82. package/dist/core/console-stream.d.ts +1 -1
  83. package/dist/core/console-stream.d.ts.map +1 -1
  84. package/dist/core/event-logger.d.ts +1 -1
  85. package/dist/core/event-logger.d.ts.map +1 -1
  86. package/dist/core/model-caps.d.ts +2 -2
  87. package/dist/core/model-caps.d.ts.map +1 -1
  88. package/dist/core/server.js +1 -1
  89. package/dist/core/server.js.map +1 -1
  90. package/dist/core/system-prompt.d.ts +1 -1
  91. package/dist/core/system-prompt.d.ts.map +1 -1
  92. package/dist/integrations/cli-login.d.ts +50 -0
  93. package/dist/integrations/cli-login.d.ts.map +1 -0
  94. package/dist/integrations/cli-login.js +114 -0
  95. package/dist/integrations/cli-login.js.map +1 -0
  96. package/dist/integrations/custom-provider.d.ts +21 -0
  97. package/dist/integrations/custom-provider.d.ts.map +1 -0
  98. package/dist/integrations/custom-provider.js +65 -0
  99. package/dist/integrations/custom-provider.js.map +1 -0
  100. package/dist/integrations/provider-discovery.d.ts +30 -0
  101. package/dist/integrations/provider-discovery.d.ts.map +1 -1
  102. package/dist/integrations/provider-discovery.js +155 -0
  103. package/dist/integrations/provider-discovery.js.map +1 -1
  104. package/dist/protocol.d.ts +1 -1
  105. package/dist/protocol.d.ts.map +1 -1
  106. package/dist/providers/catalog.d.ts +33 -0
  107. package/dist/providers/catalog.d.ts.map +1 -1
  108. package/dist/providers/catalog.js +91 -5
  109. package/dist/providers/catalog.js.map +1 -1
  110. package/dist/providers/validate-key.d.ts.map +1 -1
  111. package/dist/providers/validate-key.js +20 -6
  112. package/dist/providers/validate-key.js.map +1 -1
  113. package/dist/sessions/bootstrap-marker.d.ts +1 -1
  114. package/dist/sessions/bootstrap-marker.d.ts.map +1 -1
  115. package/dist/sessions/session-manager-factory.d.ts +1 -1
  116. package/dist/sessions/session-manager-factory.d.ts.map +1 -1
  117. package/dist/sessions/session-manager-factory.js +1 -1
  118. package/dist/sessions/session-manager-factory.js.map +1 -1
  119. package/dist/storage/local/message-store.js +1 -1
  120. package/dist/storage/local/message-store.js.map +1 -1
  121. package/dist/system-prompt/org/render-org-block.js +2 -2
  122. package/dist/system-prompt/org/render-org-block.js.map +1 -1
  123. package/dist/system-prompt/pi-injection.d.ts +1 -1
  124. package/dist/system-prompt/pi-injection.d.ts.map +1 -1
  125. package/dist/tui/approval-prompt.d.ts +1 -1
  126. package/dist/tui/approval-prompt.d.ts.map +1 -1
  127. package/dist/tui/approval-prompt.js +1 -1
  128. package/dist/tui/approval-prompt.js.map +1 -1
  129. package/dist/ui/brand.d.ts +1 -1
  130. package/dist/ui/brand.d.ts.map +1 -1
  131. package/dist/ui/brand.js +5 -5
  132. package/dist/ui/brand.js.map +1 -1
  133. package/dist/ui/editor.d.ts +1 -1
  134. package/dist/ui/editor.d.ts.map +1 -1
  135. package/dist/ui/editor.js +1 -1
  136. package/dist/ui/editor.js.map +1 -1
  137. package/dist/ui/markdown.d.ts +2 -2
  138. package/dist/ui/markdown.d.ts.map +1 -1
  139. package/dist/ui/markdown.js +1 -1
  140. package/dist/ui/markdown.js.map +1 -1
  141. package/dist/ui/onboard-storage-mode.d.ts +1 -1
  142. package/dist/ui/onboard-storage-mode.d.ts.map +1 -1
  143. package/dist/ui/onboard-storage-mode.js +25 -22
  144. package/dist/ui/onboard-storage-mode.js.map +1 -1
  145. package/dist/ui/onboarding.d.ts +20 -2
  146. package/dist/ui/onboarding.d.ts.map +1 -1
  147. package/dist/ui/onboarding.js +578 -45
  148. package/dist/ui/onboarding.js.map +1 -1
  149. package/dist/ui/searchable-select.d.ts +1 -1
  150. package/dist/ui/searchable-select.d.ts.map +1 -1
  151. package/dist/ui/searchable-select.js +1 -1
  152. package/dist/ui/searchable-select.js.map +1 -1
  153. package/dist/ui/theme.d.ts +1 -1
  154. package/dist/ui/theme.d.ts.map +1 -1
  155. package/package.json +10 -4
  156. package/scripts/assets/brigade-favicon.ico +0 -0
  157. package/scripts/assets/brigade-logo.webp +0 -0
  158. package/scripts/brand-oauth-page.mjs +92 -0
@@ -15,7 +15,7 @@
15
15
  * - `extractIdentityName` — parse Name from IDENTITY.md
16
16
  * - `isIdentityNameUnset` — placeholder-Name detector
17
17
  */
18
- import type { AgentSession } from "@mariozechner/pi-coding-agent";
18
+ import type { AgentSession } from "@earendil-works/pi-coding-agent";
19
19
  export declare const BRIGADE_CACHE_BOUNDARY = "\n<!-- BRIGADE_CACHE_BOUNDARY -->\n";
20
20
  /**
21
21
  * Idempotently scaffold the 7 workspace persona files (AGENTS.md, SOUL.md,
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../src/core/system-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAoBlE,eAAO,MAAM,sBAAsB,wCAAwB,CAAC;AAE5D;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG7E;AAED;;;;;GAKG;AACH,MAAM,WAAW,iCAAiC;IAChD,yEAAyE;IACzE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,YAAY,CAAC,EAAE;QACb,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,CAAC;CACH;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,YAAY,EACrB,SAAS,CAAC,EAAE,MAAM,GAAG,iCAAiC,GACrD,OAAO,CAAC,IAAI,CAAC,CAoEf;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAmCjE;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAgC5E"}
1
+ {"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../src/core/system-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAoBpE,eAAO,MAAM,sBAAsB,wCAAwB,CAAC;AAE5D;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG7E;AAED;;;;;GAKG;AACH,MAAM,WAAW,iCAAiC;IAChD,yEAAyE;IACzE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,YAAY,CAAC,EAAE;QACb,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,CAAC;CACH;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,YAAY,EACrB,SAAS,CAAC,EAAE,MAAM,GAAG,iCAAiC,GACrD,OAAO,CAAC,IAAI,CAAC,CAoEf;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAmCjE;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAgC5E"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Reuse an already-logged-in CLI's stored credential.
3
+ *
4
+ * Brigade can adopt the token that a vendor's own CLI already minted on this
5
+ * machine — so an operator who has logged into Claude Code or Codex can connect
6
+ * Brigade with no browser flow and no API key. We read the CLI's on-disk
7
+ * credential file directly (file-based only for v1) and hand it back in a normalized
8
+ * shape the onboarding flow persists via the standard profile helpers.
9
+ *
10
+ * Everything here is DEFENSIVE: any missing file, parse failure, or malformed
11
+ * shape returns `null`. We never throw — a failed read just means "no CLI login
12
+ * present" and onboarding falls through to the key / fresh-login path.
13
+ *
14
+ * // TODO: macOS keychain (Claude Code-credentials / Codex Auth) — file-based only for v1.
15
+ */
16
+ /** Normalized credential returned by a CLI-login reader. */
17
+ export type CliLogin = {
18
+ provider: string;
19
+ type: "oauth";
20
+ access: string;
21
+ refresh: string;
22
+ expires?: number;
23
+ accountId?: string;
24
+ } | {
25
+ provider: string;
26
+ type: "token";
27
+ token: string;
28
+ expires?: number;
29
+ };
30
+ /**
31
+ * Read Claude Code's stored login from `~/.claude/.credentials.json`.
32
+ *
33
+ * Shape: `{ claudeAiOauth: { accessToken, refreshToken, expiresAt } }`.
34
+ * When a refresh token is present we return an `oauth` credential (Pi can
35
+ * refresh it); otherwise a `token` credential carrying just the access token.
36
+ * Returns `null` on any missing file / parse error / absent access token.
37
+ */
38
+ export declare function readClaudeCliLogin(): CliLogin | null;
39
+ /**
40
+ * Read Codex's stored login from `${CODEX_HOME || ~/.codex}/auth.json`.
41
+ *
42
+ * Shape: `{ tokens: { access_token, refresh_token, account_id } }`. Codex
43
+ * doesn't store an explicit expiry, so we decode the `exp` claim from the
44
+ * access token JWT (×1000 → epoch-ms). If decoding fails we fall back to the
45
+ * file's mtime + 1 hour — a conservative TTL that triggers a refresh sooner
46
+ * rather than later. Returns `null` on any missing file / parse error / absent
47
+ * access token.
48
+ */
49
+ export declare function readCodexCliLogin(): CliLogin | null;
50
+ //# sourceMappingURL=cli-login.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-login.d.ts","sourceRoot":"","sources":["../../src/integrations/cli-login.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,4DAA4D;AAC5D,MAAM,MAAM,QAAQ,GACjB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1G;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAExE;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,IAAI,QAAQ,GAAG,IAAI,CAmBpD;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,IAAI,QAAQ,GAAG,IAAI,CAkCnD"}
@@ -0,0 +1,114 @@
1
+ /**
2
+ * Reuse an already-logged-in CLI's stored credential.
3
+ *
4
+ * Brigade can adopt the token that a vendor's own CLI already minted on this
5
+ * machine — so an operator who has logged into Claude Code or Codex can connect
6
+ * Brigade with no browser flow and no API key. We read the CLI's on-disk
7
+ * credential file directly (file-based only for v1) and hand it back in a normalized
8
+ * shape the onboarding flow persists via the standard profile helpers.
9
+ *
10
+ * Everything here is DEFENSIVE: any missing file, parse failure, or malformed
11
+ * shape returns `null`. We never throw — a failed read just means "no CLI login
12
+ * present" and onboarding falls through to the key / fresh-login path.
13
+ *
14
+ * // TODO: macOS keychain (Claude Code-credentials / Codex Auth) — file-based only for v1.
15
+ */
16
+ import * as fs from "node:fs";
17
+ import { homedir } from "node:os";
18
+ import * as path from "node:path";
19
+ /**
20
+ * Read Claude Code's stored login from `~/.claude/.credentials.json`.
21
+ *
22
+ * Shape: `{ claudeAiOauth: { accessToken, refreshToken, expiresAt } }`.
23
+ * When a refresh token is present we return an `oauth` credential (Pi can
24
+ * refresh it); otherwise a `token` credential carrying just the access token.
25
+ * Returns `null` on any missing file / parse error / absent access token.
26
+ */
27
+ export function readClaudeCliLogin() {
28
+ try {
29
+ const credPath = path.join(homedir(), ".claude", ".credentials.json");
30
+ if (!fs.existsSync(credPath))
31
+ return null;
32
+ const parsed = JSON.parse(fs.readFileSync(credPath, "utf8"));
33
+ const oauth = parsed.claudeAiOauth;
34
+ const access = oauth?.accessToken;
35
+ if (!access)
36
+ return null;
37
+ const refresh = oauth?.refreshToken;
38
+ const expires = oauth?.expiresAt;
39
+ if (refresh) {
40
+ return { provider: "anthropic", type: "oauth", access, refresh, expires };
41
+ }
42
+ return { provider: "anthropic", type: "token", token: access, expires };
43
+ }
44
+ catch {
45
+ return null;
46
+ }
47
+ }
48
+ /**
49
+ * Read Codex's stored login from `${CODEX_HOME || ~/.codex}/auth.json`.
50
+ *
51
+ * Shape: `{ tokens: { access_token, refresh_token, account_id } }`. Codex
52
+ * doesn't store an explicit expiry, so we decode the `exp` claim from the
53
+ * access token JWT (×1000 → epoch-ms). If decoding fails we fall back to the
54
+ * file's mtime + 1 hour — a conservative TTL that triggers a refresh sooner
55
+ * rather than later. Returns `null` on any missing file / parse error / absent
56
+ * access token.
57
+ */
58
+ export function readCodexCliLogin() {
59
+ try {
60
+ const codexHome = process.env.CODEX_HOME || path.join(homedir(), ".codex");
61
+ const authPath = path.join(codexHome, "auth.json");
62
+ if (!fs.existsSync(authPath))
63
+ return null;
64
+ const parsed = JSON.parse(fs.readFileSync(authPath, "utf8"));
65
+ const tokens = parsed.tokens;
66
+ const access = tokens?.access_token;
67
+ const refresh = tokens?.refresh_token;
68
+ if (!access || !refresh)
69
+ return null;
70
+ let expires = decodeJwtExp(access);
71
+ if (expires === undefined) {
72
+ try {
73
+ expires = fs.statSync(authPath).mtimeMs + 3600_000;
74
+ }
75
+ catch {
76
+ /* mtime unavailable — leave expires undefined */
77
+ }
78
+ }
79
+ const accountId = tokens?.account_id;
80
+ return {
81
+ provider: "openai-codex",
82
+ type: "oauth",
83
+ access,
84
+ refresh,
85
+ expires,
86
+ ...(accountId ? { accountId } : {}),
87
+ };
88
+ }
89
+ catch {
90
+ return null;
91
+ }
92
+ }
93
+ /**
94
+ * Decode the `exp` claim (seconds) of a JWT and return it as epoch-ms, or
95
+ * `undefined` if the token isn't a parseable three-part JWT with a numeric
96
+ * `exp`. Base64url-decodes the middle (payload) segment.
97
+ */
98
+ function decodeJwtExp(jwt) {
99
+ try {
100
+ const parts = jwt.split(".");
101
+ if (parts.length !== 3)
102
+ return undefined;
103
+ const payloadJson = Buffer.from(parts[1], "base64url").toString("utf8");
104
+ const payload = JSON.parse(payloadJson);
105
+ if (typeof payload.exp === "number" && Number.isFinite(payload.exp)) {
106
+ return payload.exp * 1000;
107
+ }
108
+ return undefined;
109
+ }
110
+ catch {
111
+ return undefined;
112
+ }
113
+ }
114
+ //# sourceMappingURL=cli-login.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-login.js","sourceRoot":"","sources":["../../src/integrations/cli-login.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Custom (catalog-defined) provider registration.
3
+ *
4
+ * Some providers ship a key + a known Anthropic-compatible (or OpenAI-
5
+ * compatible) endpoint we already know from the catalog — GLM, Kimi, Qwen,
6
+ * MiniMax, DeepSeek. Pi-AI doesn't bundle these as built-in providers, so we
7
+ * register them dynamically via the `~/.brigade/models.json` mechanism, the
8
+ * same way Ollama is registered. Each catalog model id becomes a Pi model
9
+ * routed through the provider's `baseUrl` + `api`.
10
+ *
11
+ * We MERGE rather than overwrite — the user (or other providers) may have
12
+ * existing entries in the file we shouldn't clobber.
13
+ */
14
+ export declare function writeCustomProviderToModelsJson(modelsJsonPath: string, p: {
15
+ id: string;
16
+ baseUrl: string;
17
+ api: "openai-completions" | "anthropic-messages";
18
+ apiKey: string;
19
+ models: string[];
20
+ }): Promise<void>;
21
+ //# sourceMappingURL=custom-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-provider.d.ts","sourceRoot":"","sources":["../../src/integrations/custom-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAOH,wBAAsB,+BAA+B,CACpD,cAAc,EAAE,MAAM,EACtB,CAAC,EAAE;IACF,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,oBAAoB,GAAG,oBAAoB,CAAC;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CACjB,GACC,OAAO,CAAC,IAAI,CAAC,CAgDf"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Custom (catalog-defined) provider registration.
3
+ *
4
+ * Some providers ship a key + a known Anthropic-compatible (or OpenAI-
5
+ * compatible) endpoint we already know from the catalog — GLM, Kimi, Qwen,
6
+ * MiniMax, DeepSeek. Pi-AI doesn't bundle these as built-in providers, so we
7
+ * register them dynamically via the `~/.brigade/models.json` mechanism, the
8
+ * same way Ollama is registered. Each catalog model id becomes a Pi model
9
+ * routed through the provider's `baseUrl` + `api`.
10
+ *
11
+ * We MERGE rather than overwrite — the user (or other providers) may have
12
+ * existing entries in the file we shouldn't clobber.
13
+ */
14
+ import * as fs from "node:fs/promises";
15
+ import path from "node:path";
16
+ import { tryGetRuntimeContext } from "../storage/runtime-context.js";
17
+ export async function writeCustomProviderToModelsJson(modelsJsonPath, p) {
18
+ let existing = { providers: {} };
19
+ try {
20
+ const raw = await fs.readFile(modelsJsonPath, "utf8");
21
+ existing = JSON.parse(raw);
22
+ if (!existing.providers)
23
+ existing.providers = {};
24
+ }
25
+ catch {
26
+ // File missing or unparseable — start fresh. Pi treats an absent file as no config.
27
+ }
28
+ existing.providers[p.id] = {
29
+ baseUrl: p.baseUrl,
30
+ api: p.api,
31
+ apiKey: p.apiKey,
32
+ models: p.models.map((id) => ({ id, name: id })),
33
+ };
34
+ // In convex mode resolveModelsPath routes to the OS cache dir, which may
35
+ // not exist yet on a fresh machine — a bare write would ENOENT. Filesystem
36
+ // mode: ~/.brigade always exists by this point, so the mkdir is a no-op.
37
+ await fs.mkdir(path.dirname(modelsJsonPath), { recursive: true });
38
+ await fs.writeFile(modelsJsonPath, JSON.stringify(existing, null, 2), "utf8");
39
+ // The coding-plan apiKey is written PLAINTEXT into models.json. Lock the
40
+ // file down to owner-only on POSIX so a shared-host neighbour can't read the
41
+ // key (mirrors the `chmodIfPosix` pattern in src/auth/profiles.ts). No-op on
42
+ // Windows (NTFS perms model differs) and best-effort on filesystems that
43
+ // don't support chmod (e.g. mounted FAT32).
44
+ if (process.platform !== "win32") {
45
+ try {
46
+ await fs.chmod(modelsJsonPath, 0o600);
47
+ }
48
+ catch {
49
+ // Filesystem may not support chmod — non-fatal.
50
+ }
51
+ }
52
+ // Convex mode — the file just written lives in the OS cache (resolveModelsPath
53
+ // routed it there) and is a regenerable mirror; the durable copy is the
54
+ // sealed "models" blob. Push it so a fresh machine re-materialises the
55
+ // catalog at boot.
56
+ const rctx = tryGetRuntimeContext();
57
+ if (rctx?.mode === "convex") {
58
+ await rctx.store.auth
59
+ .writeAuthFileBlob("main", "models", existing)
60
+ .catch((err) => {
61
+ console.error(`brigade: models catalog write to convex failed — ${err.message}`);
62
+ });
63
+ }
64
+ }
65
+ //# sourceMappingURL=custom-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-provider.js","sourceRoot":"","sources":["../../src/integrations/custom-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAErE,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACpD,cAAsB,EACtB,CAMC;IAED,IAAI,QAAQ,GAAwC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IACtE,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QACtD,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,SAAS;YAAE,QAAQ,CAAC,SAAS,GAAG,EAAE,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACR,oFAAoF;IACrF,CAAC;IAED,QAAQ,CAAC,SAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG;QAC3B,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,GAAG,EAAE,CAAC,CAAC,GAAG;QACV,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;KAChD,CAAC;IAEF,yEAAyE;IACzE,2EAA2E;IAC3E,yEAAyE;IACzE,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClE,MAAM,EAAE,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAE9E,yEAAyE;IACzE,6EAA6E;IAC7E,6EAA6E;IAC7E,yEAAyE;IACzE,4CAA4C;IAC5C,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAClC,IAAI,CAAC;YACJ,MAAM,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACR,gDAAgD;QACjD,CAAC;IACF,CAAC;IAED,+EAA+E;IAC/E,wEAAwE;IACxE,uEAAuE;IACvE,mBAAmB;IACnB,MAAM,IAAI,GAAG,oBAAoB,EAAE,CAAC;IACpC,IAAI,IAAI,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI;aACnB,iBAAiB,CAAC,MAAM,EAAE,QAAiB,EAAE,QAAmC,CAAC;aACjF,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;YACrB,OAAO,CAAC,KAAK,CAAC,oDAAoD,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAClF,CAAC,CAAC,CAAC;IACL,CAAC;AACF,CAAC"}
@@ -63,4 +63,34 @@ export interface LiveCloudModel {
63
63
  * never throws. Pricing → `cost.input` is per-Mtok (OpenRouter quotes per-token).
64
64
  */
65
65
  export declare function listOpenRouterModels(): Promise<LiveCloudModel[]>;
66
+ /** Last-fetched live models for a subscription provider, or `undefined` if never fetched. */
67
+ export declare function getCachedSubscriptionModels(providerId: string): LiveCloudModel[] | undefined;
68
+ /**
69
+ * GitHub Copilot's per-account model catalog. The token embeds the proxy host
70
+ * (`proxy-ep=…`) which `getGitHubCopilotBaseUrl` rewrites to the api host; we GET
71
+ * `${baseUrl}/models` with Copilot's required editor headers (a plain
72
+ * Authorization isn't enough — the endpoint 400s without the editor/integration
73
+ * headers). Keeps only models the account can actually pick (model_picker_enabled,
74
+ * policy not disabled, tool_calls not explicitly off). Never throws — returns the
75
+ * last good cache or `[]` so the caller falls back to Pi's bundled catalog.
76
+ */
77
+ export declare function fetchGitHubCopilotModels(copilotToken: string): Promise<LiveCloudModel[]>;
78
+ /**
79
+ * Models a Claude Pro/Max SUBSCRIPTION can use. There is NO live per-account
80
+ * models endpoint for a subscription OAuth token: Anthropic scopes that token to
81
+ * inference only, so `GET /v1/models` returns 401/403 (verified). Instead we
82
+ * surface Pi's bundled Anthropic catalog — it IS the current Claude model family
83
+ * and updates as Pi ships new models — so the picker is always populated and
84
+ * current with ZERO network round-trip (no guaranteed-fail request, no timeout)
85
+ * on every sign-in. (GitHub Copilot DOES expose a live per-account list, so that
86
+ * path stays a real fetch; Anthropic subscriptions simply don't have one.)
87
+ */
88
+ export declare function fetchAnthropicSubscriptionModels(): LiveCloudModel[];
89
+ /**
90
+ * Warm the live cache for a subscription provider right after OAuth login so the
91
+ * model picker has the account's CURRENT models ready. Best-effort: any failure is
92
+ * swallowed (login must never block on this). `codex` has no live list endpoint —
93
+ * it falls through to Pi's bundled catalog, so this is a no-op for it.
94
+ */
95
+ export declare function prefetchSubscriptionModels(providerId: string, oauthAccessToken: string): Promise<void>;
66
96
  //# sourceMappingURL=provider-discovery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider-discovery.d.ts","sourceRoot":"","sources":["../../src/integrations/provider-discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,MAAM,WAAW,mBAAmB;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC/B,qEAAqE;IACrE,MAAM,EAAE,OAAO,CAAC;IAChB,qDAAqD;IACrD,IAAI,EAAE,mBAAmB,CAAC;CAC1B;AAyED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC3C,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAC9C,OAAO,CAAC,eAAe,CAAC,CAQ1B;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CAChF;AAKD;;;;;;GAMG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAsDtE"}
1
+ {"version":3,"file":"provider-discovery.d.ts","sourceRoot":"","sources":["../../src/integrations/provider-discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH,MAAM,WAAW,mBAAmB;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC/B,qEAAqE;IACrE,MAAM,EAAE,OAAO,CAAC;IAChB,qDAAqD;IACrD,IAAI,EAAE,mBAAmB,CAAC;CAC1B;AAyED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC3C,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAC9C,OAAO,CAAC,eAAe,CAAC,CAQ1B;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CAChF;AAKD;;;;;;GAMG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAsDtE;AAeD,6FAA6F;AAC7F,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,EAAE,GAAG,SAAS,CAG5F;AAED;;;;;;;;GAQG;AACH,wBAAsB,wBAAwB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAiE9F;AAED;;;;;;;;;GASG;AACH,wBAAgB,gCAAgC,IAAI,cAAc,EAAE,CA4BnE;AAED;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAAC,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAe5G"}
@@ -14,6 +14,7 @@
14
14
  * `integrations/ollama.ts` (native /api/tags); this module is for cloud +
15
15
  * OpenAI-compatible HTTP endpoints.
16
16
  */
17
+ import { getModels } from "@earendil-works/pi-ai";
17
18
  const TIMEOUT_MS = 5000;
18
19
  const EMPTY = { exists: false, meta: {} };
19
20
  /** OpenRouter's public model list — no key needed, rich metadata. */
@@ -163,4 +164,158 @@ export async function listOpenRouterModels() {
163
164
  return openRouterListCache?.models ?? [];
164
165
  }
165
166
  }
167
+ /* ──────────────────────── subscription live catalogs ──────────────────────── */
168
+ /**
169
+ * Live model catalogs for OAuth subscription providers (GitHub Copilot,
170
+ * Anthropic Claude Pro/Max). Same shape + degrade-to-cache contract as
171
+ * `listOpenRouterModels`, but keyed by providerId because there are several
172
+ * subscription providers (OpenRouter is a singleton). The onboarding picker
173
+ * reads the cache after login via `getCachedSubscriptionModels` and joins the
174
+ * static Pi catalog by id for richer metadata.
175
+ */
176
+ const SUBSCRIPTION_MODELS_TTL_MS = 5 * 60_000;
177
+ const subscriptionModelsCache = new Map();
178
+ /** Last-fetched live models for a subscription provider, or `undefined` if never fetched. */
179
+ export function getCachedSubscriptionModels(providerId) {
180
+ const e = subscriptionModelsCache.get(providerId);
181
+ return e ? e.models : undefined;
182
+ }
183
+ /**
184
+ * GitHub Copilot's per-account model catalog. The token embeds the proxy host
185
+ * (`proxy-ep=…`) which `getGitHubCopilotBaseUrl` rewrites to the api host; we GET
186
+ * `${baseUrl}/models` with Copilot's required editor headers (a plain
187
+ * Authorization isn't enough — the endpoint 400s without the editor/integration
188
+ * headers). Keeps only models the account can actually pick (model_picker_enabled,
189
+ * policy not disabled, tool_calls not explicitly off). Never throws — returns the
190
+ * last good cache or `[]` so the caller falls back to Pi's bundled catalog.
191
+ */
192
+ export async function fetchGitHubCopilotModels(copilotToken) {
193
+ const now = Date.now();
194
+ const cached = subscriptionModelsCache.get("github-copilot");
195
+ if (cached && now - cached.at < SUBSCRIPTION_MODELS_TTL_MS) {
196
+ return cached.models;
197
+ }
198
+ const controller = new AbortController();
199
+ const timer = setTimeout(() => controller.abort(), TIMEOUT_MS);
200
+ try {
201
+ const { getGitHubCopilotBaseUrl } = await import("@earendil-works/pi-ai/oauth");
202
+ const baseUrl = getGitHubCopilotBaseUrl(copilotToken);
203
+ const res = await fetch(`${baseUrl}/models`, {
204
+ signal: controller.signal,
205
+ headers: {
206
+ Accept: "application/json",
207
+ Authorization: `Bearer ${copilotToken}`,
208
+ "User-Agent": "GitHubCopilotChat/0.35.0",
209
+ "Editor-Version": "vscode/1.107.0",
210
+ "Editor-Plugin-Version": "copilot-chat/0.35.0",
211
+ "Copilot-Integration-Id": "vscode-chat",
212
+ "X-GitHub-Api-Version": "2026-06-01",
213
+ },
214
+ });
215
+ if (!res.ok)
216
+ return cached?.models ?? [];
217
+ const body = (await res.json());
218
+ const list = body?.data;
219
+ if (!Array.isArray(list))
220
+ return cached?.models ?? [];
221
+ const out = [];
222
+ for (const raw of list) {
223
+ const item = raw;
224
+ const id = typeof item.id === "string" ? item.id : undefined;
225
+ if (!id)
226
+ continue;
227
+ // Selectability gate (mirrors Pi's own `isSelectableCopilotModel`): only
228
+ // surface models the account is allowed to pick. Every access is guarded —
229
+ // the response is untyped.
230
+ const policy = item.policy;
231
+ const capabilities = item.capabilities;
232
+ const supports = capabilities?.supports;
233
+ if (item.model_picker_enabled !== true)
234
+ continue;
235
+ if (policy?.state === "disabled")
236
+ continue;
237
+ if (supports?.tool_calls === false)
238
+ continue;
239
+ const maxCtx = capabilities?.limits?.max_context_window_tokens;
240
+ const contextWindow = typeof maxCtx === "number" && maxCtx > 0 ? maxCtx : undefined;
241
+ const name = typeof item.name === "string" && item.name.length > 0 ? item.name : id;
242
+ const input = supports?.vision ? ["text", "image"] : ["text"];
243
+ out.push({
244
+ provider: "github-copilot",
245
+ id,
246
+ name,
247
+ ...(contextWindow !== undefined ? { contextWindow } : {}),
248
+ // Copilot's list doesn't flag reasoning here — leave false; the static
249
+ // catalog join in onboarding fills the richer fields when Pi knows it.
250
+ reasoning: false,
251
+ input,
252
+ });
253
+ }
254
+ subscriptionModelsCache.set("github-copilot", { at: now, models: out });
255
+ return out;
256
+ }
257
+ catch {
258
+ return cached?.models ?? [];
259
+ }
260
+ finally {
261
+ clearTimeout(timer);
262
+ }
263
+ }
264
+ /**
265
+ * Models a Claude Pro/Max SUBSCRIPTION can use. There is NO live per-account
266
+ * models endpoint for a subscription OAuth token: Anthropic scopes that token to
267
+ * inference only, so `GET /v1/models` returns 401/403 (verified). Instead we
268
+ * surface Pi's bundled Anthropic catalog — it IS the current Claude model family
269
+ * and updates as Pi ships new models — so the picker is always populated and
270
+ * current with ZERO network round-trip (no guaranteed-fail request, no timeout)
271
+ * on every sign-in. (GitHub Copilot DOES expose a live per-account list, so that
272
+ * path stays a real fetch; Anthropic subscriptions simply don't have one.)
273
+ */
274
+ export function fetchAnthropicSubscriptionModels() {
275
+ const now = Date.now();
276
+ const cached = subscriptionModelsCache.get("anthropic");
277
+ if (cached && now - cached.at < SUBSCRIPTION_MODELS_TTL_MS) {
278
+ return cached.models;
279
+ }
280
+ let out = [];
281
+ try {
282
+ const catalog = getModels("anthropic");
283
+ out = catalog.map((m) => ({
284
+ provider: "anthropic",
285
+ id: m.id,
286
+ name: m.name ?? m.id,
287
+ contextWindow: m.contextWindow,
288
+ reasoning: m.reasoning ?? false,
289
+ input: m.input ?? ["text"],
290
+ }));
291
+ }
292
+ catch {
293
+ out = [];
294
+ }
295
+ subscriptionModelsCache.set("anthropic", { at: now, models: out });
296
+ return out;
297
+ }
298
+ /**
299
+ * Warm the live cache for a subscription provider right after OAuth login so the
300
+ * model picker has the account's CURRENT models ready. Best-effort: any failure is
301
+ * swallowed (login must never block on this). `codex` has no live list endpoint —
302
+ * it falls through to Pi's bundled catalog, so this is a no-op for it.
303
+ */
304
+ export async function prefetchSubscriptionModels(providerId, oauthAccessToken) {
305
+ try {
306
+ if (providerId === "github-copilot") {
307
+ await fetchGitHubCopilotModels(oauthAccessToken);
308
+ return;
309
+ }
310
+ if (providerId === "anthropic") {
311
+ // No network — populates the cache from Pi's current Anthropic catalog.
312
+ fetchAnthropicSubscriptionModels();
313
+ return;
314
+ }
315
+ // Other subscription providers (codex) have no live endpoint — no-op.
316
+ }
317
+ catch {
318
+ // Best-effort warm-up — never blocks login; picker falls back to the catalog.
319
+ }
320
+ }
166
321
  //# sourceMappingURL=provider-discovery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider-discovery.js","sourceRoot":"","sources":["../../src/integrations/provider-discovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider-discovery.js","sourceRoot":"","sources":["../../src/integrations/provider-discovery.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@
18
18
  *
19
19
  * Compatible with: any WebSocket client speaking this JSON shape.
20
20
  */
21
- import type { Model } from "@mariozechner/pi-ai";
21
+ import type { Model } from "@earendil-works/pi-ai";
22
22
  import type { CronAddParamsV2, CronAddResultV2, CronListParamsV2, CronListResultV2, CronRemoveParamsV2, CronRemoveResultV2, CronRunParamsV2, CronRunResultV2, CronRunsParamsV2, CronRunsResultV2, CronStatusParamsV2, CronStatusResultV2, CronUpdateParamsV2, CronUpdateResultV2, CronWakeParams } from "./core/server-methods/cron.js";
23
23
  import type { OrgSnapshotResult } from "./protocol/methods.js";
24
24
  import type { MemoryGraphExport } from "./agents/memory/graph-export.js";
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EACX,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAIlE,uEAAuE;AACvE,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,KAAK,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,uDAAuD;AACvD,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,KAAK,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1C;AAED,sDAAsD;AACtD,MAAM,WAAW,UAAU;IAC1B,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,KAAK,GAAG,YAAY,GAAG,aAAa,GAAG,UAAU,CAAC;AAI9D;;;;;;GAMG;AACH,MAAM,MAAM,aAAa;AACxB,wEAAwE;AACtE,QAAQ;AACV,6CAA6C;GAC3C,OAAO;AACT,0EAA0E;GACxE,OAAO;AACT,gDAAgD;GAC9C,WAAW;AACb,0EAA0E;GACxE,uBAAuB;AACzB,wEAAwE;GACtE,cAAc;AAChB,8CAA8C;GAC5C,SAAS;AACX;;;;;;;;;;;;GAYG;GACD,kBAAkB;AACpB;;;;;;;;GAQG;GACD,gBAAgB;AAClB;;;;;GAKG;GACD,kBAAkB;AACpB,qDAAqD;GACnD,aAAa;AACf,wDAAwD;GACtD,gBAAgB;AAClB,6EAA6E;GAC3E,WAAW;AACb;gCACgC;GAC9B,cAAc;AAChB;gCACgC;GAC9B,cAAc;AAChB;;;;;;;GAOG;GACD,UAAU;AACZ;;;;;;GAMG;GACD,WAAW;AACb,kDAAkD;GAChD,aAAa;AACf;;;;;GAKG;GACD,aAAa;AACf;;;;;GAKG;GACD,eAAe;AAEjB,8DAA8D;GAC5D,aAAa;AACf,0BAA0B;GACxB,WAAW;AACb,wBAAwB;GACtB,UAAU;AACZ,qDAAqD;GACnD,aAAa;AACf,4BAA4B;GAC1B,aAAa;AACf,oDAAoD;GAClD,UAAU;AACZ,oDAAoD;GAClD,WAAW;AACb,+DAA+D;GAC7D,MAAM;AACR;;;;GAIG;GACD,cAAc,CAAC;AAIlB;;;;;;GAMG;AACH,MAAM,MAAM,SAAS;AACpB,4EAA4E;AAC1E,IAAI;AACN,uEAAuE;GACrE,OAAO;AACT,2DAA2D;GACzD,OAAO;AACT,oEAAoE;GAClE,KAAK;AACP;;;;;;;;;;GAUG;GACD,cAAc;AAChB;;;;GAIG;GACD,kBAAkB,CAAC;AAItB,mEAAmE;AACnE,MAAM,WAAW,aAAa;IAC7B,MAAM,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,4EAA4E;QAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,oFAAoF;QACpF,UAAU,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,KAAK,EAAE;QACN,oFAAoF;QACpF,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,qFAAqF;QACrF,OAAO,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,KAAK,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,qFAAqF;QACrF,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,8EAA8E;QAC9E,OAAO,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,WAAW,EAAE;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,iFAAiF;QACjF,OAAO,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,uBAAuB,EAAE;QACxB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,oFAAoF;QACpF,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,2EAA2E;QAC3E,OAAO,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,cAAc,EAAE;QACf,KAAK,EAAE,MAAM,CAAC;QACd,kFAAkF;QAClF,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,uEAAuE;QACvE,UAAU,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,OAAO,EAAE;QACR,kFAAkF;QAClF,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,gFAAgF;QAChF,OAAO,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,IAAI,CAAC;IACT,kBAAkB,EAAE;QACnB,mDAAmD;QACnD,EAAE,EAAE,MAAM,CAAC;QACX,yBAAyB;QACzB,QAAQ,EAAE,YAAY,GAAG,cAAc,GAAG,eAAe,GAAG,eAAe,GAAG,MAAM,CAAC;QACrF,kEAAkE;QAClE,OAAO,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,gBAAgB,EAAE;QACjB,wEAAwE;QACxE,OAAO,EAAE,OAAO,CAAC;QACjB,sEAAsE;QACtE,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,qFAAqF;QACrF,OAAO,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,kBAAkB,EAAE;QACnB,8CAA8C;QAC9C,SAAS,EAAE,MAAM,CAAC;QAClB,2EAA2E;QAC3E,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,gDAAgD;QAChD,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,2EAA2E;QAC3E,OAAO,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,aAAa,EAAE,IAAI,CAAC;IACpB,gBAAgB,EAAE,IAAI,CAAC;IACvB,WAAW,EAAE,IAAI,CAAC;IAClB,cAAc,EAAE;QACf,wEAAwE;QACxE,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,iFAAiF;QACjF,QAAQ,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,cAAc,EAAE;QACf,iEAAiE;QACjE,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,wEAAwE;QACxE,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;QAChD,wCAAwC;QACxC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,4CAA4C;QAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,6DAA6D;QAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,QAAQ,EAAE,IAAI,CAAC;IACf,SAAS,EAAE;QACV,oDAAoD;QACpD,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,sDAAsD;QACtD,SAAS,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,WAAW,EAAE;QACZ,yCAAyC;QACzC,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,2CAA2C;QAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,aAAa,EAAE,IAAI,CAAC;IACpB,eAAe,EAAE;QAChB,8EAA8E;QAC9E,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,0EAA0E;QAC1E,GAAG,CAAC,EAAE,OAAO,CAAC;KACd,GAAG,IAAI,CAAC;IAET,aAAa,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACzC,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACrC,UAAU,EAAE,eAAe,CAAC;IAC5B,aAAa,EAAE,kBAAkB,CAAC;IAClC,aAAa,EAAE,kBAAkB,CAAC;IAClC,UAAU,EAAE,eAAe,CAAC;IAC5B,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACrC,IAAI,EAAE,cAAc,CAAC;IACrB,cAAc,EAAE,IAAI,CAAC;CACrB;AAED,uEAAuE;AACvE,MAAM,WAAW,WAAW;IAC3B,MAAM,EAAE,IAAI,CAAC;IACb,KAAK,EAAE,IAAI,CAAC;IACZ,KAAK,EAAE,IAAI,CAAC;IACZ,WAAW,EAAE,IAAI,CAAC;IAClB,uBAAuB,EAAE,IAAI,CAAC;IAC9B,cAAc,EAAE,IAAI,CAAC;IACrB,OAAO,EAAE,IAAI,CAAC;IACd,kBAAkB,EAAE,IAAI,CAAC;IACzB,gBAAgB,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAC3D,kBAAkB,EAAE;QACnB,KAAK,EAAE,OAAO,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,OAAO,CAAC;QACjB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,QAAQ,EAAE;YAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;YAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC;QACrD,OAAO,EAAE;YAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;YAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC;QACpD,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;IACF,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,gBAAgB,EAAE,IAAI,CAAC;IACvB,WAAW,EAAE,oBAAoB,CAAC;IAClC,cAAc,EAAE,iBAAiB,CAAC;IAClC,cAAc,EAAE,iBAAiB,CAAC;IAClC,QAAQ,EAAE,IAAI,CAAC;IACf,SAAS,EAAE,IAAI,CAAC;IAChB,WAAW,EAAE,IAAI,CAAC;IAClB,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,eAAe,EAAE,cAAc,EAAE,CAAC;IAElC,aAAa,EAAE,kBAAkB,CAAC;IAClC,WAAW,EAAE,gBAAgB,CAAC;IAC9B,UAAU,EAAE,eAAe,CAAC;IAC5B,aAAa,EAAE,kBAAkB,CAAC;IAClC,aAAa,EAAE,kBAAkB,CAAC;IAClC,UAAU,EAAE,eAAe,CAAC;IAC5B,WAAW,EAAE,gBAAgB,CAAC;IAC9B,IAAI,EAAE,IAAI,CAAC;IACX,cAAc,EAAE,iBAAiB,CAAC;CAClC;AAED,oCAAoC;AACpC,MAAM,WAAW,YAAY;IAC5B,EAAE,EAAE;QACH,KAAK,EAAE,GAAG,CAAC;QACX;;kDAE0C;QAC1C,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB;kEAC0D;QAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB;oEAC4D;QAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,KAAK,EAAE,oBAAoB,CAAC;IAC5B,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3B,GAAG,EAAE;QACJ,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;QACjC,OAAO,EAAE,MAAM,CAAC;QAChB,EAAE,EAAE,MAAM,CAAC;QACX,sEAAsE;QACtE,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,wEAAwE;QACxE,SAAS,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,cAAc,EAAE;QACf,wDAAwD;QACxD,IAAI,EAAE,MAAM,CAAC;QACb,+DAA+D;QAC/D,EAAE,EAAE,MAAM,CAAC;QACX;;;;WAIG;QACH,MAAM,EAAE,MAAM,CAAC;QACf,6DAA6D;QAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,+DAA+D;QAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB;;;;;;;WAOG;QACH,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,kEAAkE;QAClE,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,oEAAoE;QACpE,SAAS,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,kBAAkB,EAAE;QACnB,8DAA8D;QAC9D,EAAE,EAAE,MAAM,CAAC;QACX,gDAAgD;QAChD,OAAO,EAAE,MAAM,CAAC;QAChB,8DAA8D;QAC9D,QAAQ,EAAE,MAAM,CAAC;QACjB,iEAAiE;QACjE,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,mEAAmE;QACnE,SAAS,EAAE,MAAM,CAAC;QAClB,2DAA2D;QAC3D,SAAS,EAAE,aAAa,CAAC,YAAY,GAAG,cAAc,GAAG,eAAe,GAAG,eAAe,GAAG,MAAM,CAAC,CAAC;QACrG;;sEAE8D;QAC9D,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB;;6DAEqD;QACrD,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,uDAAuD;QACvD,SAAS,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACF;AAID;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACpC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,uBAAuB,EAAE,MAAM,EAAE,CAAC;IAClC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;;;;;OASG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAC3B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,8DAA8D;IAC9D,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,YAAY,CAU9D;AAID,2DAA2D;AAC3D,eAAO,MAAM,YAAY,OAAO,CAAC;AAEjC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,OAAO,IAAI,CAAC;AACzB,eAAO,MAAM,YAAY,IAAI,CAAC;AAC9B,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,QAAS,CAAC;AAIvC,uFAAuF;AACvF,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,KAAK,CAItD;AAGD;;;;;;GAMG;AACH,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,15 @@
14
14
  export interface ProviderInfo {
15
15
  /** Pi-AI provider id (KnownProvider) — or a custom id we register at runtime (e.g. "ollama"). */
16
16
  id: string;
17
+ /**
18
+ * Real Pi provider id this picker entry resolves to for credential storage +
19
+ * model routing, when it differs from `id`. Lets ONE Pi provider surface as
20
+ * TWO picker choices with different auth models — e.g. "Anthropic" (API key,
21
+ * id "anthropic") and "Claude Code" (subscription, id "claude-code") both
22
+ * store their credential under, and route their models through, Pi's
23
+ * `anthropic` provider. Defaults to `id` when unset.
24
+ */
25
+ providerId?: string;
17
26
  /** Display name shown in the picker. */
18
27
  name: string;
19
28
  /** One-line tagline for the picker description column. */
@@ -54,6 +63,30 @@ export interface ProviderInfo {
54
63
  * instead of using a built-in catalog.
55
64
  */
56
65
  custom?: boolean;
66
+ /** Subscription / OAuth-login support — onboarding offers a browser login instead of an API key. */
67
+ subscription?: {
68
+ oauthProviderId: string;
69
+ label: string;
70
+ };
71
+ /**
72
+ * Reuse a vendor CLI's already-stored login on this machine. When set,
73
+ * onboarding reads the named CLI's credential file and offers a one-keystroke
74
+ * "reuse this login" path (no browser, no key) before the subscription / key
75
+ * flow.
76
+ */
77
+ cliLogin?: {
78
+ read: "claude" | "codex";
79
+ label: string;
80
+ };
81
+ /**
82
+ * Pi API shape for a custom (catalog-defined) provider. Determines how Pi
83
+ * frames requests against `baseUrl` — `anthropic-messages` for an
84
+ * Anthropic-compatible endpoint, `openai-completions` for an OpenAI-compatible
85
+ * one. Paired with `custom: true` + `baseUrl` + `models`.
86
+ */
87
+ api?: "openai-completions" | "anthropic-messages";
88
+ /** Catalog model ids registered into models.json for a custom provider. */
89
+ models?: string[];
57
90
  }
58
91
  export declare const PROVIDERS: ProviderInfo[];
59
92
  export declare function findProvider(id: string): ProviderInfo | undefined;