@ouro.bot/cli 0.1.0-alpha.333 → 0.1.0-alpha.335

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.
package/changelog.json CHANGED
@@ -1,6 +1,20 @@
1
1
  {
2
2
  "_note": "This changelog is maintained as part of the PR/version-bump workflow. Agent-curated, not auto-generated. Agents read this file directly via read_file to understand what changed between versions.",
3
3
  "versions": [
4
+ {
5
+ "version": "0.1.0-alpha.335",
6
+ "changes": [
7
+ "OpenAI Codex auth verification now uses the same streamed runtime turn shape as real Codex conversations, so successful browser login no longer ends with a false `400 status code (no body)` ping failure.",
8
+ "Provider ping defaults now come from the shared provider/model registry, keeping auth verification aligned with current model defaults such as `gpt-5.4`."
9
+ ]
10
+ },
11
+ {
12
+ "version": "0.1.0-alpha.334",
13
+ "changes": [
14
+ "refactor(outlook): route the Outlook SPA through canonical shared Outlook contracts instead of tab-local shadow DTOs and generic `Record<string, unknown>` casts.",
15
+ "test(outlook): type live-refresh fixtures against the canonical agent view contract so UI tests catch backend/UI shape drift."
16
+ ]
17
+ },
4
18
  {
5
19
  "version": "0.1.0-alpha.333",
6
20
  "changes": [
@@ -10,8 +10,18 @@ const minimax_1 = require("./providers/minimax");
10
10
  const openai_codex_1 = require("./providers/openai-codex");
11
11
  const github_copilot_1 = require("./providers/github-copilot");
12
12
  const auth_flow_1 = require("./auth/auth-flow");
13
+ const provider_models_1 = require("./provider-models");
13
14
  const runtime_1 = require("../nerves/runtime");
14
15
  const PING_TIMEOUT_MS = 10_000;
16
+ const PING_CALLBACKS = {
17
+ onModelStart() { },
18
+ onModelStreamStart() { },
19
+ onTextChunk() { },
20
+ onReasoningChunk() { },
21
+ onToolStart() { },
22
+ onToolEnd() { },
23
+ onError() { },
24
+ };
15
25
  /**
16
26
  * Strip raw JSON/HTML API response bodies from error messages.
17
27
  * SDK errors often include the full response: "400 {"type":"error",...}" or "403 <html>...".
@@ -49,17 +59,9 @@ function hasEmptyCredentials(provider, config) {
49
59
  function createRuntimeForPing(provider, _config) {
50
60
  // The provider constructors read credentials from the active config via getXxxConfig().
51
61
  // For ping, this is acceptable because verifyProviderCredentials patches the runtime
52
- // config before calling ping. The model string is a default for anthropic the ping
53
- // overrides it with haiku anyway, and for others it's used in a minimal API call.
54
- const DEFAULT_MODELS = {
55
- anthropic: "claude-haiku-4-5-20251001",
56
- azure: "gpt-4o",
57
- minimax: "MiniMax-M2.7",
58
- "openai-codex": "codex-mini-latest",
59
- "github-copilot": "gpt-4o",
60
- };
61
- /* v8 ignore next -- fallback: all known providers are in DEFAULT_MODELS @preserve */
62
- const model = DEFAULT_MODELS[provider] ?? "unknown";
62
+ // config before calling ping. Use the same provider defaults as auth switch
63
+ // and hatch so verification cannot drift to stale provider/model pairings.
64
+ const model = (0, provider_models_1.getDefaultModelForProvider)(provider);
63
65
  switch (provider) {
64
66
  case "anthropic":
65
67
  return (0, anthropic_1.createAnthropicProviderRuntime)(model);
@@ -108,10 +110,13 @@ async function pingProvider(provider, config) {
108
110
  await client.messages.create({ model: "claude-haiku-4-5-20251001", max_tokens: 1, messages: [{ role: "user", content: "ping" }] }, { signal: controller.signal, headers: { "anthropic-beta": "claude-code-20250219,oauth-2025-04-20" } });
109
111
  }
110
112
  else if (provider === "openai-codex") {
111
- // Codex uses the Responses API (chatgpt.com/backend-api/codex/responses),
112
- // not the Chat Completions API. Ping via responses endpoint.
113
- const client = runtime.client;
114
- await client.responses.create({ model: runtime.model, input: "ping", store: false }, { signal: controller.signal });
113
+ await runtime.streamTurn({
114
+ messages: [{ role: "user", content: "ping" }],
115
+ activeTools: [],
116
+ callbacks: PING_CALLBACKS,
117
+ signal: controller.signal,
118
+ toolChoiceRequired: false,
119
+ });
115
120
  }
116
121
  else {
117
122
  // OpenAI-compatible providers (azure, minimax, github-copilot)