Skip to content

Port gHashTag/BrowserOS:trios/agent-server/apps/server/src/lib/clients/gateway.ts (TypeScript, 3 functions) to specs/por - #6795

Merged
gHashTag merged 4 commits into
masterfrom
queen-6629
Oct 22, 2026
Merged

gHashTag merged 4 commits into
masterfrom
queen-6629

Conversation

@gHashTag

@gHashTag gHashTag commented Oct 6, 2026

Copy link
Copy Markdown
Collaborator

Closes #6629

Written by a bee on queen-6629 and published by tools/queen/publish.py. The branch itself is the bee's; the second commit is the coordination entry every pull request must add, which a bee has no way to know about.

1 file changed, 262 insertions(+)

🤖 Generated with Claude Code

Trinity Bee and others added 2 commits October 6, 2026 03:21
- Add Provider, CreditsInfo, BrowserOSConfig, LLMConfig structs
- Port fetchBrowserOSConfig with undefined body (HTTP call)
- Port getLLMConfigFromProvider with full logic
- Port fetchCredits with undefined body (HTTP call)
- Add 6 comprehensive tests covering edge cases
- All tests pass: 6/6 pass rate 100%

Closes #6629
A pull request must add exactly one docs/now entry and a bee has no way
to know that: its brief names a boundary file and acceptance criteria,
and docs/now/ is neither. The publisher adds it rather than failing the
gate.

Closes #6629

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-06 12:33:22 UTC

Summary

Status Count
Total Open PRs 50
PRs with Failing Checks 44
PRs with All Checks Green 6
READY 1
FAILING 44
PENDING 0
NO CHECKS YET 0

These columns do not partition: 1 + 44 + 0 + 0 = 45, and there are 50 open PRs. A PR is being counted twice or not at all.

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=3c78f3c7ffb7 != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

This was referenced Oct 6, 2026
This was referenced Oct 6, 2026
@gHashTag
gHashTag enabled auto-merge (squash) October 7, 2026 07:26
@gHashTag
gHashTag disabled auto-merge October 7, 2026 07:32
…6629, #7573)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 7, 2026

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-07 18:06:13 UTC

Summary

Status Count
Total Open PRs 50
PRs with Failing Checks 47
PRs with All Checks Green 3
READY 1
FAILING 47
PENDING 0
NO CHECKS YET 0

These columns do not partition: 1 + 47 + 0 + 0 = 48, and there are 50 open PRs. A PR is being counted twice or not at all.

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=66b6e1375e37 != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@gHashTag
gHashTag enabled auto-merge (squash) October 11, 2026 12:56
@gHashTag
gHashTag disabled auto-merge October 11, 2026 13:02
@gHashTag
gHashTag enabled auto-merge (squash) October 22, 2026 15:58
@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-22 19:14:53 UTC

Summary

Status Count
Total Open PRs 50
PRs with Failing Checks 36
PRs with All Checks Green 14
READY 0
FAILING 36
PENDING 0
NO CHECKS YET 5

These columns do not partition: 0 + 36 + 0 + 5 = 41, and there are 50 open PRs. A PR is being counted twice or not at all.

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=5aec047d42ec != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@tri-claw

tri-claw Bot commented Oct 22, 2026

Copy link
Copy Markdown

Summary by t27-bees

Checked by the t27 compiler

t27c parse, parse-complete and typecheck on each changed .t27 file at 2d65057. Nothing was generated, built or run. A pass means the file is well formed, not that it is right.

  • specs/port/browseros/trios/agent-server/apps/server/src/lib/clients/gateway.t27: parses and typechecks.

Read by the model

This PR ports a TypeScript gateway client to T27, defining data structures (Provider, CreditsInfo, BrowserOSConfig, LLMConfig) and three functions. The core logic getLLMConfigFromProvider is implemented with tests, while fetchBrowserOSConfig and fetchCredits are stubs returning undefined.

Worth a look

  • specs/port/browseros/trios/agent-server/apps/server/src/lib/clients/gateway.t27:54 — p.name == providerName compares slice pointers, not string contents. This will fail to match providers with same name but different allocations. Use std.mem.eql(u8, p.name, providerName).
  • specs/port/browseros/trios/agent-server/apps/server/src/lib/clients/gateway.t27:89 — Same pointer-comparison bug in test: llmConfig.baseUrl.? == "https://api.openai.com" compares pointers. The test may pass only because string literals are interned.
  • specs/port/browseros/trios/agent-server/apps/server/src/lib/clients/gateway.t27:34 — fetchBrowserOSConfig returns undefined (unreachable). Callers will crash. The comment says "decision logic without HTTP calls" but no logic exists.
  • specs/port/browseros/trios/agent-server/apps/server/src/lib/clients/gateway.t23:77 — fetchCredits returns undefined with same issue. No decision logic implemented despite comment.
  • specs/port/browseros/trios/agent-server/apps/server/src/lib/clients/gateway.t27:64–80 — Fallback LLMConfig duplicates a full Provider inline. If Provider struct changes, this falls out of sync. Consider a defaultProvider() helper or const.

Read: 2 files, +273 -0, the whole diff. Head 2d65057. Model: openai-compatible/nvidia/nemotron-3-ultra-550b-a55b. Commands: @t27-bees review | summary | help | pause | resume. Free for every repository.

@gHashTag
gHashTag merged commit c986d53 into master Oct 22, 2026
45 of 81 checks passed
@gHashTag
gHashTag deleted the queen-6629 branch October 26, 2026 06:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants