70 Commits

Author SHA1 Message Date
Aiden Cline c8c22290d9 feat: label PRs cleared by automated review (#4505)
* feat: label PRs cleared by automated review

* refactor: let reviewer explicitly mark PR ready

* fix: allow ready tool in reviewer workflow
2026-08-11 11:49:44 -05:00
Aiden Cline 11304b3bba fix(sync): track missing Pioneer and Ofox models (#4125) 2026-08-06 13:15:34 -05:00
Aiden Cline e45188c568 feat(sync): auto-merge safe catalog updates (#3958)
* feat(sync): auto-merge safe catalog updates

* fix(sync): count model additions and deletions directly

* fix(sync): require review for reasoning changes

* fix(sync): disable unsafe auto-merge before push

* fix(sync): harden auto-merge check output
2026-08-03 14:34:12 -05:00
Aiden Cline 5d1449d27e chore(ci): use OpenCode app credentials for ci-fixer and model sync (#3887)
* chore(ci): use OpenCode app credentials for fixer PRs

Mint GitHub App tokens for ci-fixer and issue-fixer so opened PRs
trigger CI and can be auto-merged, matching the opencode repo pattern.

* chore(ci): app credentials for ci-fixer and model sync only

Keep issue-fixer on GITHUB_TOKEN. Use the OpenCode app for ci-fixer
and sync-models so their PRs trigger CI.

* fix(ci): keep GITHUB_TOKEN for sync issue creation

Missing-model issues must be opened with GITHUB_TOKEN so issues.opened
does not fire; Issue Fixer is started only via repository_dispatch.
Use the app token only when reporting/pushing catalog PRs.
2026-07-30 23:08:39 -05:00
Matthew Feroz e6d37bdcae feat(sync): add Merge Gateway model sync (#3249)
* feat(sync): add Merge Gateway model sync

* fix(merge-gateway): document reasoning controls

* fix(sync): preserve partial Merge Gateway metadata

* fix(merge-gateway): align route metadata sync

* fix(merge-gateway): treat supports_reasoning as a positive-only signal

The public /v1/models schema does not document supports_reasoning, and the
live catalog populates it inconsistently across vendor routes: the same
model reports true on one route and false on another (claude-opus-4-6 is
false via anthropic, true via bedrock), and reasoning-only models such as
deepseek-r1 report false on their sole route. Flipping reasoning = false
from that field erased curated reasoning metadata on 42 models.

- only confirm reasoning when an available route reports
  supports_reasoning = true (always accompanied by route reasoning
  metadata), defaulting reasoning_options to [] when none are curated
- preserve curated reasoning metadata when routes report false or omit
  the field
- restore the 42 erased reasoning entries (claude, deepseek-r1, gpt-oss,
  gemma, qwen, glm, nemotron, fugu) from curated values
- re-sync against the live catalog: gemini-embedding-001 added, route
  cache_read prices and display names ingested, qwen3.5-27b limits and
  modalities updated

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* chore(merge-gateway): refresh model catalog

* fix(merge-gateway): align synced model metadata

* docs(sync): trim Merge Gateway notes

* fix(merge-gateway): remove stale Qwen aliases

* test(merge-gateway): document sync coverage

* fix(merge-gateway): mark chat models as non-reasoning

---------

Co-authored-by: Matthew Feroz <matt.feroz@merge.dev>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2026-07-29 21:58:24 -05:00
Aiden Cline 8735bc603b fix(sync): dispatch missing models to issue fixer (#3652) 2026-07-23 17:05:29 -05:00
Aiden Cline cd925adab8 refactor(sync): simplify missing-model issues and fix ops hazards
- Shrink helper to title-based dedupe (open+closed); drop marker parser
- Opt-in openIssues (=== true); enable only under GITHUB_ACTIONS by default
- Issue-fixer skips [missing-model] titles (hand-authored metadata only)
- Docs match the leaner behavior
2026-07-22 23:19:59 -05:00
Aiden Cline 3e4aae9ab7 fix(sync): harden missing-model GitHub issue opens
- Parse marker null-safely; only accept double-quoted JSON attrs
- Dedupe via labeled issue list + in-memory match (fail closed on list errors)
- Per-model create errors keep notices; ensureLabel checks exit code
- Open issues by default only in CI; require --open-issues locally
- Pass GH_TOKEN to the sync workflow step so hourly runs can create issues
2026-07-22 20:54:32 -05:00
Aiden Cline ddc2a950f3 chore(ci): switch automation models to opencode/grok-4.5
Use grok-4.5 for opencode comments, CI fixer, issue fixer, and PR reviewer.
2026-07-22 00:04:36 -05:00
Aiden Cline 67c29c1b6d Merge branch 'dev' into add-kilo-sync 2026-07-10 10:33:47 -05:00
Aiden Cline a96e2afa9a fix: tighten PR reviewer output format 2026-07-09 19:36:27 -05:00
Aiden Cline 2fcdcaad23 fix: skip automated model sync PRs 2026-07-08 11:06:16 -05:00
Aiden Cline 88ecc18650 feat: add automated PR reviewer 2026-07-08 10:15:27 -05:00
Levi Hadad 4d8931d4af Merge branch 'dev' into add-kilo-sync 2026-07-07 15:12:42 +03:00
Aiden Cline 47d8acf091 fix(sync): stop creating notice issues 2026-07-06 17:08:09 -05:00
Aiden Cline 61b21e0c75 fix(sync): harden OpenAI availability tracking 2026-07-06 16:01:51 -05:00
Aiden Cline 24b57545c3 feat(sync): migrate DigitalOcean model sync 2026-07-06 11:01:07 -05:00
Victor Navarro 7f069c7871 feat: create @opencode-ai/models SDK
feat: add `@opencode-ai/models` sdk
2026-07-06 15:35:48 +02:00
Aiden Cline ede8fbf42e feat(sync): track OpenAI model availability 2026-07-05 13:25:48 -05:00
Aiden Cline 281cb7db5c feat(sync): add Anthropic model sync 2026-07-04 16:22:50 -05:00
Aiden Cline 11fcae1b77 chore: add citations to issue fixer PRs 2026-07-04 13:12:54 -05:00
Aiden Cline 421d6bcdca Merge pull request #2739 from Thachnh/feat/deepinfra-model-sync
feat(deepinfra): automate model catalog sync
2026-07-04 12:05:12 -05:00
Aiden Cline c2aca2a256 fix(ci): preserve PRs updated after review 2026-07-03 23:58:36 -05:00
Aiden Cline 64a2f1fc32 Merge origin/dev into feat/deepinfra-model-sync 2026-07-03 23:54:02 -05:00
vimtor 787fb9b325 feat: add models.dev sdk 2026-07-03 14:10:05 +02:00
Levi Hadad eb02a4d5fb feat(sync): add kilo provider
Implement the Kilo Gateway sync provider to fetch and synchronize model
metadata.

- Add `kilo` provider implementation
- Add `kilo:sync` script to `package.json`
- Update CI workflow to include `KILO_API_KEY`
- Add `kilo` to the `aggregators` group
- Update `sync.md` documentation
2026-07-02 17:31:56 +03:00
Aiden Cline 5f1a66a597 chore: add dev CI fixer workflow 2026-06-28 22:56:42 -05:00
Aiden Cline 8352b57b1d chore: reduce issue fixer workflow 2026-06-28 22:37:53 -05:00
Aiden Cline 581162626d chore: tighten issue fixer outputs 2026-06-28 20:17:34 -05:00
Aiden Cline ff8a861ccc chore: share issue fixer github token 2026-06-28 20:09:05 -05:00
Aiden Cline fbbe72a690 chore: comment when issue fixer makes no changes 2026-06-28 20:04:26 -05:00
Aiden Cline 744d2aee5d chore: simplify issue fixer workflow 2026-06-28 19:59:19 -05:00
Aiden Cline b41f8c8b46 chore: report issue fixer validation failures 2026-06-28 19:54:55 -05:00
Aiden Cline c27ed20db6 chore: run issue fixer for all issues 2026-06-28 18:49:58 -05:00
Aiden Cline 95328b4b6d chore: harden issue fixer workflow 2026-06-28 18:41:46 -05:00
Aiden Cline f0b703f77b chore: simplify issue fixer bash permission 2026-06-28 18:37:51 -05:00
Aiden Cline f838cbe093 chore: add issue fixer workflow 2026-06-28 18:35:24 -05:00
Aiden Cline 755b429839 chore(ci): restrict workflows to main repo 2026-06-28 10:50:27 -05:00
Aiden Cline 0d95bd3fc2 Update model in opencode workflow to gpt-5.5 2026-06-28 10:31:46 -05:00
Aiden Cline 3464977f8b Merge branch 'dev' into lf-opencode-provider-workflow 2026-06-28 10:31:29 -05:00
Aiden Cline 31c1285790 Update opencode action to use latest version 2026-06-28 10:31:04 -05:00
Aiden Cline 251f87abed ci: use opencode provider in workflow
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
2026-06-28 04:27:33 +00:00
Aiden Cline 41dcf3da4b Update model in opencode workflow to Claude Opus 2026-06-27 18:43:00 -05:00
Aiden Cline 798c451bf7 Update model in opencode workflow to gpt-5.5 2026-06-27 17:08:21 -05:00
Thach Nguyen 1163dacba2 feat(deepinfra): automate model catalog sync
Add a DeepInfra sync provider mirroring the existing direct-provider pattern
(Baseten/Venice/xAI), keeping the catalog current automatically from the public
deploy catalog (https://api.deepinfra.com/models/list?type=text-generation).

Derived data:
- pricing: cents/token -> USD per million; cache_read from the cached-rate
  multiplier; context-based tiers parsed from pricing.full (base + cost.tiers,
  supporting an unbounded final tier), falling back to the flat price if the
  string is unrecognized
- context window from max_tokens
- status="deprecated" only when the deprecated unix timestamp is in the past
  (a future timestamp is a scheduled deprecation; the model is still served)

Capabilities (tags only turn a feature ON; an explicit `non-reasoning` tag is
the sole negative signal — otherwise the value is inherited from models/
metadata or the curated value, never clobbered with a default):
- tools -> tool_call
- structured-output -> structured_output (the generic `json`/JSON-mode tag does
  not count)
- reasoning / can-disable-reasoning -> reasoning; can-disable-reasoning also
  surfaces a `toggle` reasoning option
- multimodal/input-audio/input-video merge into existing modalities (never
  dropping curated extras such as video)

Closed-weight passthrough families (anthropic/* Claude, google/gemini-*) are
excluded; open google/gemma-* models are kept.

Wiring: register deepinfra in sync/index.ts (providers map + direct group) so
the hourly sync-models workflow picks it up; add optional DEEPINFRA_API_KEY to
the workflow env and a deepinfra:sync npm script. deleteMissing: false — models
dropped from the API are retained and flagged, never auto-deleted.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 22:53:00 +00:00
Luca Steeb 9629a104d5 feat: add llmgateway.io model sync provider
Add a sync provider for the LLM Gateway (llmgateway.io) aggregator,
mirroring its public /v1/models catalog into providers/llmgateway.

The gateway exposes an OpenRouter-shaped response, but its
supported_parameters and modality data are noisy (it omits "tools" for
flagship models yet lists "temperature" for ones marked temperature=false).
So the gateway is treated as authoritative only for the volatile,
gateway-specific data — cost and served limits — while capability and
modality fields stay curated (preserved from the existing entry, which a
factored model inherits from its base). Only text-output models are synced.

- packages/core/src/sync/providers/llmgateway.ts: new provider
- packages/core/src/sync/index.ts: register in providers + aggregators
- package.json: add llmgateway:sync script
- .github/workflows/sync-models.yml: optional LLMGATEWAY_API_KEY

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 17:01:30 +01:00
Celina Hanouti db8d4aee45 feat(sync): add Hugging Face inference providers sync
Mirror the existing daily model-catalog sync for the Hugging Face
Inference Providers router (https://router.huggingface.co/v1/models),
modeled on the baseten provider.

The router is an aggregator: each model is served by several inference
providers with their own pricing, context window, and capabilities, and
requests are routed to the fastest one. The provider collapses them into
the route a request would actually take -- pricing and context from the
highest-throughput provider, with tool/structured-output support taken
from any provider since a caller can pin a slower one.

New models are created via canonical base_model resolution (the same
resolveCanonicalBaseModel/factorBaseModel path baseten uses); unmappable
or unpriced models are skipped and reported in a notice. For now the sync
only creates new models -- existing curated TOMLs are left untouched via
sameModel -- and never deletes (deleteMissing: false).

HF_TOKEN is optional; the router model list is public.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PzQSYd3VwBK5NAsC9dYmSw
2026-06-18 16:48:44 +02:00
Aiden Cline 63feee7eca Merge pull request #2128 from anomalyco/chore/close-stale-pull-requests
Automate stale pull request cleanup
2026-06-10 15:55:45 -05:00
Aiden Cline 337d50d90f Automate stale pull request cleanup 2026-06-10 15:54:40 -05:00
Aiden Cline 19cb771778 [venice] Generate metadata for new models 2026-06-10 14:40:06 -05:00