@spinabot/brigade 1.2.2 → 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 (67) 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.map +1 -1
  6. package/dist/agents/agent-loop.js +70 -10
  7. package/dist/agents/agent-loop.js.map +1 -1
  8. package/dist/agents/tools/manage-agent-tool.d.ts.map +1 -1
  9. package/dist/agents/tools/manage-agent-tool.js +2 -1
  10. package/dist/agents/tools/manage-agent-tool.js.map +1 -1
  11. package/dist/agents/tools/manage-provider-tool.d.ts.map +1 -1
  12. package/dist/agents/tools/manage-provider-tool.js +2 -1
  13. package/dist/agents/tools/manage-provider-tool.js.map +1 -1
  14. package/dist/agents/tools/org-tool.d.ts +15 -0
  15. package/dist/agents/tools/org-tool.d.ts.map +1 -1
  16. package/dist/agents/tools/org-tool.js +53 -6
  17. package/dist/agents/tools/org-tool.js.map +1 -1
  18. package/dist/agents/tools/registry.d.ts.map +1 -1
  19. package/dist/agents/tools/registry.js +3 -0
  20. package/dist/agents/tools/registry.js.map +1 -1
  21. package/dist/buildstamp.json +1 -1
  22. package/dist/cli/commands/doctor.d.ts.map +1 -1
  23. package/dist/cli/commands/doctor.js +25 -6
  24. package/dist/cli/commands/doctor.js.map +1 -1
  25. package/dist/cli/commands/login.d.ts +27 -0
  26. package/dist/cli/commands/login.d.ts.map +1 -0
  27. package/dist/cli/commands/login.js +142 -0
  28. package/dist/cli/commands/login.js.map +1 -0
  29. package/dist/cli/flows/web-setup.d.ts +2 -2
  30. package/dist/cli/flows/web-setup.js +2 -2
  31. package/dist/cli/program/build-program.d.ts.map +1 -1
  32. package/dist/cli/program/build-program.js +8 -0
  33. package/dist/cli/program/build-program.js.map +1 -1
  34. package/dist/core/auth-bridge.d.ts.map +1 -1
  35. package/dist/core/auth-bridge.js +75 -25
  36. package/dist/core/auth-bridge.js.map +1 -1
  37. package/dist/integrations/cli-login.d.ts +50 -0
  38. package/dist/integrations/cli-login.d.ts.map +1 -0
  39. package/dist/integrations/cli-login.js +114 -0
  40. package/dist/integrations/cli-login.js.map +1 -0
  41. package/dist/integrations/custom-provider.d.ts +21 -0
  42. package/dist/integrations/custom-provider.d.ts.map +1 -0
  43. package/dist/integrations/custom-provider.js +65 -0
  44. package/dist/integrations/custom-provider.js.map +1 -0
  45. package/dist/integrations/provider-discovery.d.ts +30 -0
  46. package/dist/integrations/provider-discovery.d.ts.map +1 -1
  47. package/dist/integrations/provider-discovery.js +155 -0
  48. package/dist/integrations/provider-discovery.js.map +1 -1
  49. package/dist/providers/catalog.d.ts +33 -0
  50. package/dist/providers/catalog.d.ts.map +1 -1
  51. package/dist/providers/catalog.js +91 -5
  52. package/dist/providers/catalog.js.map +1 -1
  53. package/dist/providers/validate-key.d.ts.map +1 -1
  54. package/dist/providers/validate-key.js +20 -6
  55. package/dist/providers/validate-key.js.map +1 -1
  56. package/dist/system-prompt/org/render-org-block.js +2 -2
  57. package/dist/system-prompt/org/render-org-block.js.map +1 -1
  58. package/dist/ui/onboard-storage-mode.js +24 -21
  59. package/dist/ui/onboard-storage-mode.js.map +1 -1
  60. package/dist/ui/onboarding.d.ts +18 -0
  61. package/dist/ui/onboarding.d.ts.map +1 -1
  62. package/dist/ui/onboarding.js +576 -43
  63. package/dist/ui/onboarding.js.map +1 -1
  64. package/package.json +6 -2
  65. package/scripts/assets/brigade-favicon.ico +0 -0
  66. package/scripts/assets/brigade-logo.webp +0 -0
  67. package/scripts/brand-oauth-page.mjs +92 -0
@@ -14,6 +14,7 @@
14
14
  */
15
15
  import type { AuthStorage, ModelRegistry } from "@earendil-works/pi-coding-agent";
16
16
  import { TUI } from "@earendil-works/pi-tui";
17
+ import { type ProviderInfo } from "../providers/catalog.js";
17
18
  import { type StorageModeResult } from "./onboard-storage-mode.js";
18
19
  export interface OnboardingResult {
19
20
  provider: string;
@@ -80,6 +81,23 @@ export declare function ensureApiKey(tui: TUI, authStorage: AuthStorage, provide
80
81
  noEnvDetect?: boolean;
81
82
  secretInputMode?: "plaintext" | "ref";
82
83
  }): Promise<"ok" | "back">;
84
+ /**
85
+ * Subscription-login variant of `ensureApiKey`. For providers that carry a
86
+ * `subscription` descriptor (Anthropic, OpenAI Codex, GitHub Copilot) we run
87
+ * Pi's OAuth login flow instead of asking for an API key:
88
+ * 1. Confirm with the user (Enter to start the browser flow, Esc to go back).
89
+ * 2. Drive `oauthProvider.login(...)` — Pi does NOT open the browser, so our
90
+ * `onAuth` callback does (best-effort, per-platform).
91
+ * 3. On success, persist the returned credential to BOTH credential stores
92
+ * (auth-profiles.json via `upsertOAuthProfile` + auth.json via
93
+ * `authStorage.set`) so the wizard process and every future boot can use it.
94
+ *
95
+ * Modeled on `ensureLocalOllama`: a retry `while(true)` loop with a `lastError`
96
+ * line and Esc → "back". Any thrown error (including the user aborting the
97
+ * flow) is caught and surfaced inline so the user can retry or pick a different
98
+ * provider.
99
+ */
100
+ export declare function ensureSubscriptionLogin(tui: TUI, authStorage: AuthStorage, provider: ProviderInfo): Promise<"ok" | "back">;
83
101
  /**
84
102
  * Render an API key in a form safe to splat to the terminal/log: shows the
85
103
  * first 4 and last 4 characters separated by an ellipsis, e.g. `sk-o…2b5x`.
@@ -1 +1 @@
1
- {"version":3,"file":"onboarding.d.ts","sourceRoot":"","sources":["../../src/ui/onboarding.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAClF,OAAO,EAA+D,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAgB1G,OAAO,EAAmB,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAIpF,MAAM,WAAW,gBAAgB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB;+DAC2D;IAC3D,OAAO,EAAE,iBAAiB,CAAC;CAC3B;AA2CD,MAAM,WAAW,iBAAiB;IACjC;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,eAAe,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC;IACtC;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC5B;AAED,wBAAsB,aAAa,CAClC,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,EAC5B,IAAI,GAAE,iBAAsB,GAC1B,OAAO,CAAC,gBAAgB,CAAC,CAiH3B;AA+DD;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CACjC,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,eAAe,CAAC,EAAE,WAAW,GAAG,KAAK,CAAA;CAAO,GACzE,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,CAoLxB;AA+SD;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,MAAM,CASpG"}
1
+ {"version":3,"file":"onboarding.d.ts","sourceRoot":"","sources":["../../src/ui/onboarding.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAYH,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAClF,OAAO,EAA+D,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAa1G,OAAO,EAKN,KAAK,YAAY,EACjB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EAAmB,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAQpF,MAAM,WAAW,gBAAgB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB;+DAC2D;IAC3D,OAAO,EAAE,iBAAiB,CAAC;CAC3B;AAuFD,MAAM,WAAW,iBAAiB;IACjC;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,eAAe,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC;IACtC;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC5B;AAED,wBAAsB,aAAa,CAClC,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,EAC5B,IAAI,GAAE,iBAAsB,GAC1B,OAAO,CAAC,gBAAgB,CAAC,CAwK3B;AA4GD;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CACjC,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,eAAe,CAAC,EAAE,WAAW,GAAG,KAAK,CAAA;CAAO,GACzE,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,CAoLxB;AAoOD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,uBAAuB,CAC5C,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,YAAY,GACpB,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,CA+MxB;AAsRD;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,MAAM,CASpG"}