Skip to content

Sync upstream v0.80.10 into KKL fork - #18

Merged
junior-ricon merged 85 commits into
mainfrom
junior/sync-upstream-v0.80.10-kkl.1
Jul 18, 2026
Merged

Sync upstream v0.80.10 into KKL fork#18
junior-ricon merged 85 commits into
mainfrom
junior/sync-upstream-v0.80.10-kkl.1

Conversation

@junior-ricon

@junior-ricon junior-ricon commented Jul 18, 2026

Copy link
Copy Markdown

Summary

  • sync KnickKnackLabs/pi with earendil-works/pi through current upstream main 3da591ab / release v0.80.10
  • preserve the KKL queued extension-command and exact tree-navigation changes
  • retain KKL's fork-safe workflow deletions and release workflow
  • exclude upstream's scheduled/R2 model-catalog publishing workflow from the KKL fork
  • move fork package versions and internal workspace dependencies to exact 0.80.10-kkl.1
  • regenerate the root lockfile, coding-agent install lock, and coding-agent shrinkwrap without allowing npm to select stable upstream 0.80.10 over the KKL prerelease

Integration notes

The merge resolves 17 textual conflicts. Most are package-version and generated-lock surfaces. Two KKL tests were migrated to upstream's current model-runtime API while preserving their queued-command and exact-navigation assertions.

This sync also absorbs upstream 5124c61b, which repairs the live-model-catalog drift currently causing unchanged KKL main and PR #15 to fail TypeScript checks.

The upstream publish-model-catalog.yml workflow is intentionally excluded. It targets upstream's fixed R2 endpoint, environment, secrets, and publication schedule. The underlying catalog generation/runtime code remains synchronized.

Local validation

  • npm ci --ignore-scripts passed
  • npm run build passed
  • npm run check passed
  • queued-command and exact-navigation focused coverage passed during the isolated integration assessment
  • print/runtime focused coverage passed during the isolated integration assessment
  • git diff --check passed

./test.sh was started locally. The agent-core and AI workspaces completed successfully, including AI's 556 passing tests, before the interactive run was intentionally aborted while the coding-agent Vitest process was still active. The abort bypassed the script's auth-restoration trap and left one fork worker; Junior restored the exact mode-0600 auth file and removed all surviving test processes. The broad test matrix is intentionally delegated to hosted PR CI.

Boundaries

This PR is only the upstream synchronization. It does not include the print-mode continuation repair from #15, Brownie's #16/#17 fix-its, a release, downstream pin changes, or upstream contact.

davidbrai and others added 30 commits July 10, 2026 16:34
this supports BUN_CONFIG_HTTP_IDLE_TIMEOUT
related to earendil-works#6476
This adds cache-friendly dynamic tool loading anchored to tool results. Purely additive active-tool changes are recorded with `addedToolNames`, allowing supported Anthropic and OpenAI Responses models to load tool definitions at the point they become available instead of placing them in the cached prompt prefix.

It retains safe fallback behavior for unsupported models and non-additive changes but it will wipe caches.
Do not treat Pi’s internal ambient-auth marker as a Bedrock bearer token. This preserves SigV4 signing for AWS profiles, IAM credentials, and roles while retaining bearer authentication for real Bedrock API keys.\n\nFixes earendil-works#6531
…entials (earendil-works#6292)

Cloudflare Workers AI / AI Gateway resolved provider config from the
credential only, never consulting ambient env for a field the credential
omitted. The coding-agent /login flow stores just the API key, so
CLOUDFLARE_ACCOUNT_ID lives only in the environment; the key-only credential
short-circuited the env lookup, the account id stayed unresolved, and requests
hit the literal {CLOUDFLARE_ACCOUNT_ID} base URL -> 404.

resolveValue now merges per field: prefer the credential value, fall back to
ctx.env(name).

closes earendil-works#6021

Signed-off-by: Mark Phelps <209477+markphelps@users.noreply.github.com>
Co-authored-by: Mario Zechner <badlogicgames@gmail.com>
* feat(ai): support forced OpenAI Codex tool calls

* feat(ai): support OpenAI Responses tool choice
…oint (earendil-works#6544)

mai-code-1-flash-picker is not accessible via /chat/completions and
must use the Copilot /responses endpoint. Update generate-models.ts to
send mai-* models to the responses API and regenerate the affected
model entry.
allow null apiKey. uses the same auth flow like compaction

fixes earendil-works#6324
…rks#6604)

otherwise it would fail when there's conflicting peer dependencies in installed packages

fixes: earendil-works#6486
Move provider auth and OAuth flows onto pi-ai Models, compose models.json and extension overlays through ModelRuntime, and retain ModelRegistry as an extension compatibility facade.
mitsuhiko and others added 28 commits July 16, 2026 19:18
Allow extensions to register complete pi-ai Provider objects while preserving models.json composition and resolved provider auth access.

Refs earendil-works#4823 and earendil-works#4824.
@junior-ricon
junior-ricon merged commit ad81157 into main Jul 18, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.