Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Tip 💬 Introducing Slack Agent: The best way for teams to turn conversations into code.Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.
Built for teams:
One agent for your entire SDLC. Right inside Slack. 👉 Get your free trial and get 200 agent minutes per Slack user (a $50 value). Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Claude encountered an error —— View job I'll analyze this and get back to you. |
|
Claude encountered an error —— View job I'll analyze this and get back to you. |
- Replace submodule gitlinks for cloud and plugins/plugin-* with tracked files - Remove .gitmodules (already absent at HEAD; no submodule metadata) - Release workflow: stop recursive submodule checkout and dirty-ignore hack - Windows smoke workflows: default checkout without submodules; drop sparse .gitmodules - plugins/package.json: remove git submodule helper scripts - plugin-submodules-dev.mjs: clarify vendored plugin layout Co-authored-by: Cursor <cursoragent@cursor.com>
|
Claude encountered an error —— View job I'll analyze this and get back to you. |
|
Claude encountered an error —— View job I'll analyze this and get back to you. |
- package.json: correct generate:types path (packages/@schemas -> packages/schemas) - packages/schemas/buf.gen.yaml: also emit to packages/core/src/types/generated so @elizaos/core#build can resolve ./generated/eliza/v1/*_pb.js on a clean checkout - packages/schemas/package.json: extend clean script to include core's generated dir - turbo.json: make @elizaos/core#build depend on @elizaos/schemas#build so proto stubs exist before bun build runs (root cause of Server/Client/Plugin Tests failures) - plugins/plugin-feishu/biome.json: drop the broken extends path that resolved outside the repo, letting biome auto-discover parent config (root cause of Format Check failure) - plugins/plugin-clanker/src/utils/errors.ts: re-export ErrorCode so the five test files importing it from utils/errors compile (CodeQL "property access on null or undefined") - packages/app-core/platforms/electrobun/src/main-window-session.ts: add shouldUseHeadlessDesktopSmoke for the contract test that was importing a missing export (Electrobun Desktop Contract failure) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Mechanical changes only: - biome migrate: bumped legacy v1.x configs to v2.4.x schema in packages with old configs (plugin-rlm, plugin-suno, etc.) - biome format --write: applied the project's canonical formatting rules across the affected packages Without this, the targeted plugins/plugin-feishu/biome.json fix in the previous commit unblocks biome but immediately surfaces pre-existing format inconsistencies across many plugins, which would keep the Format Check (biome) CI red. No source-code semantics changed. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Claude encountered an error —— View job I'll analyze this and get back to you. |
Adds cloud-prefixed copies of cloud's tests.yml, cf-deploy.yml, deploy-backend.yml, gateway-discord.yml, and gateway-webhook.yml into the root .github/workflows/. Each: - Sets defaults.run.working-directory: cloud - Scopes paths: filters with cloud/** prefix - References ./cloud/.github/actions/setup-test-env (collocated) - Updates step-level working-directory: foo to cloud/foo - Updates docker build context, helm chart paths, sarif upload paths Cloud's original .github/workflows/* stay in place but are inert (GitHub only scans repo-root .github/workflows/). Skipped: claude.yml, claude-code-review.yml, run-prr.yml — parent already has equivalents and a cloud-prefixed copy would double-fire. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…apps
cloud/examples/edad — copied from elizaOS/cloud-mini-apps@main:apps/edad-chat
Bun.serve proxy + vanilla HTML chat UI. Demonstrates cloud's affiliate
+ app-id headers pattern with @elizaos/cloud-sdk. OAuth-only.
Renamed pkg: edad-chat → @elizaos/example-edad
Drops api/proxy.ts (Next.js mount only, irrelevant standalone).
cloud/examples/clone-ur-crush — copied from elizaOS/cloud-miniapp@main
Full standalone Next.js 15 app with /api/{create-character,
generate-photo, generate-scene, analyze-photo, generate-field} routes,
Privy auth, fal.ai integration. Demonstrates AI-driven character
creation against Eliza Cloud.
Renamed pkg: fake-girlfriend → @elizaos/example-clone-ur-crush
Drops Synpress (web3 wallet test framework, overkill for example).
Both apps register as workspaces via cloud/package.json examples/* glob.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
prettier is not in workspace devDependencies; the plugin's prettier-based format:check fails with `prettier: command not found` (exit 127) and breaks the Format Check (biome) workflow. Switching to biome (already installed workspace-wide) keeps the plugin consistent with the rest of the monorepo. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
When the Anthropic API is unavailable to the action — most commonly low credit balance, but also rate-limit and transient API outages — the action exits non-zero. Today that turns the entire workflow run red: PR checks block, scheduled cron jobs alert, docs CI fails. The Claude review/maintenance/docs-fix passes are best-effort, not gating. Add `continue-on-error: true` to every `anthropics/claude-code-action@v1` invocation across: - claude-code-review.yml (PR review) - claude.yml (@claude trigger) - skill-review.yml (SKILL.md review) - weekly-maintenance.yml (cron) - docs-ci.yml (link + quality fix passes) Failed steps still show as red in the run UI for visibility; only the job-level conclusion is preserved as success when the bot run is the sole failure. Downstream steps in docs-ci.yml already use the "Check for Changes" pattern, so they correctly no-op when the fix pass was skipped. Repro: run-25252396948/job-74046380246 failed PR #7235's claude review with `Credit balance is too low` from the agent SDK. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
# Conflicts: # apps/app-lifeops/src/lifeops/screen-context.ts # biome.json # cloud~origin_develop # package.json # packages/app-core/platforms/electrobun/package.json # packages/app-core/platforms/electrobun/src/application-menu.ts # packages/app-core/platforms/electrobun/src/bridge/electrobun-direct-rpc.ts # packages/app-core/platforms/electrobun/src/electrobun-config-root.test.ts # packages/app-core/platforms/electrobun/src/native/auth-bridge.test.ts # packages/app-core/platforms/electrobun/src/native/browser-workspace.ts # packages/app-core/platforms/electrobun/src/native/credentials.ts # packages/app-core/src/api/auth-pairing-compat-routes.ts # packages/confidant/package.json # packages/confidant/src/crypto/master-key.ts # packages/elizaos/templates-manifest.json # packages/elizaos/templates/plugin/typescript/biome.json # packages/examples/_plugin/biome.json # packages/examples/code/biome.json # packages/examples/elizagotchi/biome.json # packages/examples/next/biome.json # packages/examples/town/biome.json # packages/interop/package.json # packages/prompts/scripts/generate-action-docs.js # packages/python/elizaos/generated/action_docs.py # packages/python/scripts/typecheck-or-skip.sh # packages/rust/package.json # packages/templates/plugin/typescript/biome.json # plugins/plugin-agent-orchestrator~origin_develop # plugins/plugin-anthropic~origin_develop # plugins/plugin-app-control/biome.json # plugins/plugin-bluebubbles/biome.json # plugins/plugin-cli~origin_develop # plugins/plugin-commands~origin_develop # plugins/plugin-cron # plugins/plugin-discord~origin_develop # plugins/plugin-edge-tts~origin_develop # plugins/plugin-evm~origin_develop # plugins/plugin-google-genai~origin_develop # plugins/plugin-imessage~origin_develop # plugins/plugin-local-ai~origin_develop # plugins/plugin-local-embedding~origin_develop # plugins/plugin-music-player~origin_develop # plugins/plugin-ollama~origin_develop # plugins/plugin-openai~origin_develop # plugins/plugin-openrouter~origin_develop # plugins/plugin-plugin-manager~origin_develop # plugins/plugin-shell~origin_develop # plugins/plugin-shopify~origin_develop # plugins/plugin-solana~origin_develop # plugins/plugin-telegram~origin_develop # plugins/plugin-twitter~origin_develop # plugins/plugin-wechat~origin_develop # plugins/plugin-whatsapp~origin_develop # turbo.json
The drizzle migration journal references *_eliza_* names but the SQL files on disk still had old *_milady_* (and one typo: *_milaidy_*) filenames. db:check-migrations was failing in CI as a result. Renamed: 0030_add_milaidy_sandboxes.sql → 0030_add_eliza_sandboxes.sql 0030_add_milaidy_sandboxes.down.sql → 0030_add_eliza_sandboxes.down.sql 0052_add_milady_pairing_tokens.sql → 0052_add_eliza_pairing_tokens.sql 0053_add_milady_billing_columns.sql → 0053_add_eliza_billing_columns.sql 0057_update_milady_hourly_rate_default.sql → 0057_update_eliza_hourly_rate_default.sql Verified locally: bun run --cwd cloud db:check-migrations now passes (101 journal entries, 104 SQL files on disk). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Root .gitignore had a blanket `**/data/` rule that swallowed cloud/apps/frontend/src/lib/data/ — 14 .ts source files (credits, agents, apps, analytics, api-keys, containers, eliza-agents, gallery, invoices, user, video, voices, admin, auth-query). Cloud's frontend imports them via `../../lib/data/*`, so cloud-cf-deploy's typecheck failed in CI with TS2307 "Cannot find module" errors. - .gitignore: scope `**/data/` exception for cloud/apps/frontend/src/lib/data/. Other matches (node_modules, etc.) stay ignored. - Track the 14 frontend data files. This was a parent-eliza .gitignore over-matching cloud sources after the de-submodule. Catch only surfaced once cloud-cf-deploy started running on monorepo PRs. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Three classes of errors blocking lint-and-types in cloud-tests CI: 1. examples/clone-ur-crush/app/cloning/page.tsx: fullBodyImageUrl redeclared in same scope (already destructured at line 85, then re-declared as let at line 137). Renamed second one to freshFullBodyImageUrl, kept the re-read-from-localStorage logic. 2. packages/steward/packages/api/src/defaults/tenant-configs.ts: ELIZA_CLOUD_CONFIG was exported twice (line 121 + 243). The second declaration would have been a SyntaxError at runtime. Same key "eliza-cloud" was also duplicated in DEFAULT_TENANT_CONFIGS map. Removed the second (restrictive) duplicate; first (permissive) wins. 3. packages/steward/packages/react/src/components/StewardUserButton.tsx: Two informational <div role="menuitem"> elements (wallet display + tenant info) flagged for not being focusable. Changed role to "presentation" since they're not interactive. Also includes biome --write auto-formatting of clone-ur-crush example files (different formatting convention from upstream cloud-miniapp) and one apps/api route file. Verified: bun run --cwd cloud lint:check now exits 0 (16 warnings, 0 errors). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Three fixes for cloud-cf-deploy's Verify Frontend tsc check:
1. cloud/.github/actions/setup-test-env/action.yml +
.github/workflows/cloud-cf-deploy.yml: add a "Build Steward" step
after `bun install`. @stwd/react ships type declarations from dist/
(gitignored). Without dist/, tsc can't resolve "@stwd/react" types
even though the workspace symlink exists.
2. cloud/apps/frontend/package.json + cloud/packages/ui/package.json:
declare @stwd/react: workspace:* explicitly so bun creates the
per-package node_modules symlinks. Required because lib/ (which
imports @stwd/react in StewardProvider.tsx) has no package.json
and relied on parent-dir resolution falling through.
3. cloud/packages/ui/src/components/layout/chat-sidebar.tsx:
`!room.characterId === DEFAULT_AGENT_ID` was comparing boolean
to string (always false). Changed to `!room.characterId ||
room.characterId === DEFAULT_AGENT_ID` to match the comment's
intent ("Show rooms with no character assignment OR default Eliza ID").
Verified locally: bun run --cwd cloud/apps/frontend typecheck now passes.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
biome format check was failing on src/service.ts:753 due to extra parens around `!msg.attachments.length === 0`. Auto-fixed. Note: the predicate itself is still buggy (`!attachments.length === 0` is always false because !len is boolean and === 0 compares to a number). Same shape as the chat-sidebar.tsx bug fixed earlier. Leaving the logic bug for the plugin-signal owner since the format fix alone is sufficient to unblock Quality (Extended) CI. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Many conditions were written as `if (!x.length === N)` or
`if (!x === "string")` which evaluates as `(!x) === N` — a
boolean-vs-number/string comparison that's always false. The
intended logic in every case was `x.length === N` / `x === "string"`.
Identified via grep + targeted regex fix; semantics confirmed by
inspecting context (most are "if length is 0, return early / skip").
Failing typecheck blocked Plugin Tests + Server Tests + Client Tests
(packages/core build) and Cloud Tests verify (chat-sidebar.tsx —
already fixed). This pass clears 49 occurrences across:
- packages/core/src/{actions,runtime,services/*,features/*}.ts
- plugins/plugin-{discord,elizacloud,evm,music-library,calendly,xai,
vision,sql,signal,linear,farcaster,computeruse,openai,...}
- cloud/packages/lib/eliza/shared/providers/character.ts
- cloud/packages/lib/services/{social-media,advertising}/providers/meta.ts
- cloud/packages/steward/packages/shared/src/price-oracle.ts
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Re-formatted plugin sources for biome-using and prettier-using plugins so Quality (Extended)'s Format Check passes. Earlier biome --write fixes were applied uniformly but several plugins use Prettier (plugin-clanker, dexscreener, music-library, music-player, nvidiacloud, pumpfun-streaming, retake, streaming-base, telegram, twitch-streaming, twitter, x-streaming, xmtp, youtube-streaming) and needed prettier --write. Verified: bunx turbo run format:check --filter='./plugins/*' now reports 67/67 successful. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
… exports
Round 2 of cloud typecheck fixes after Cloud CF Deploy verify failed.
bang-equals (5 more):
- agent-gateway-router.ts (3 lines): `!owner.organization_id !== args.organizationId`
→ `owner.organization_id !== args.organizationId`
- node-autoscaler.ts: `!bootstrap.controlPlanePublicKey.trim().length === 0`
→ `bootstrap.controlPlanePublicKey.trim().length === 0`
- runtime-factory.ts: `!context.characterId === DEFAULT_AGENT_ID_STRING`
→ `context.characterId === DEFAULT_AGENT_ID_STRING`
other typecheck blockers:
- n8n-credential-bridge.ts: `!k.expires_at > now` was comparing boolean to Date.
Fixed to `(!k.expires_at || k.expires_at > now)` matching intent.
- character.ts:155: added `!character.messageExamples ||` null guard
exposed by the earlier bang-equals fix.
missing exports (storage proxy + vendor-connections work landed but
never wired into index):
- packages/db/repositories/index.ts + schemas/index.ts: add
./org-storage-quota + ./vendor-connections.
Verified: bun run --cwd cloud/apps/{api,frontend} typecheck both PASS.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
.trim()/.length chains and !X !== Y / !X < N variants
Earlier passes used a narrow regex that missed `!X.trim() === ""`,
`!X.trim().length === 0`, `!X.length < N`, and `!X !== Y`. Round 3
runs a broader scan: any `!IDENT(.method())*` followed by ===, !==, <,
or > and a comparand. Result: 29 more lines fixed across 23 files in
cloud, packages/core/src, plugins, and apps.
Sample fixes (all the same shape — drop the spurious leading `!`):
- packages/core/src/features/knowledge/utils.ts:103 — pdf empty-text
check would never fire, returning text contained only whitespace.
- packages/core/src/services/message.ts:6328 — text-empty fallback dead.
- packages/core/src/services/onboarding-state.ts:725,739 — apiKey/
setupToken empty-check inverted; would always proceed past validation.
- packages/core/src/features/trajectories/art-format.ts:289,292 —
small-prompt threshold check inverted.
- plugins/plugin-edge-tts/src/index.ts:209 — empty-text guard inverted
(TTS would attempt to synthesize empty input).
- apps/app-lifeops/src/lifeops/cross-channel-search.ts:1066 — query
empty-string validation never fired.
- apps/app-scape/src/sdk/index.ts, plugins/plugin-{minecraft,openai,
imessage,clanker,...} — same pattern in each.
Verified: bun run --cwd cloud/apps/{api,frontend} typecheck PASS.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The earlier `!x === Y` → `x === Y` fixes broke through TypeScript's "always-false" optimization and exposed 13 underlying TS18048 "possibly undefined" errors that were hidden by the buggy comparisons. Each fix adds a `!X || ` null guard or guards the function-call: empty-array / empty-string guards (11): - packages/core/src/actions.ts:580 (action.parameters) - packages/core/src/features/advanced-capabilities/actions/searchContacts.ts:164 (criteria.categories) - packages/core/src/features/advanced-capabilities/form/validation.ts:244 (control.options) - packages/core/src/features/trajectories/action-interceptor.ts:182,308 (plugin.actions/providers) - packages/core/src/services/message.ts:6295,6328 (responseContent.actions/text) - packages/core/src/services/onboarding-cli.ts:821 (answers.skills) - packages/core/src/services/onboarding-state.ts:725,739 (data.apiKey/setupToken) - packages/core/src/services/optimized-prompt-resolver.ts:36 (optimized.fewShotExamples) function-call guards (2): - packages/core/src/features/secrets/onboarding/config.ts:301,315 visibleIf was called without checking it's defined (TS2722). Pattern: `!setting.visibleIf || !setting.visibleIf(config.settings)`. Verified: bun run --cwd packages/core build succeeds end-to-end. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
plugin-commands/package.json had `../../../node_modules/.bin/biome` which resolves to `<parent-of-repo>/node_modules` — exists locally because the repo lives inside another monorepo, but in CI the repo is at /home/runner/work/eliza/eliza so the path doesn't exist. Format Check (biome) job exited 127 (command not found). Path was over-nested by one level. Changed to ../../node_modules which correctly resolves to the repo root. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
| const existingChar = null as { id: string } | null; | ||
| const body = { | ||
| error: "already linked", | ||
| ...(existingChar?.id ? { existingAgentId: existingChar.id } : {}), |
Round 5 covers parent eliza packages (skipped in earlier rounds)
plus null-guards exposed by the broader bang-equals fix.
Bang-equals fixed across packages/ (broader scan):
- packages/skills/src/loader.ts
- packages/agent/src/{middleware,config,triggers,providers,services}/
- packages/app-core/{platforms,src/{api,state,runtime}}/
- packages/native-plugins/gateway/src/web.ts
- packages/examples/{text-adventure,avatar}/
- packages/benchmarks/app-eval/run-benchmarks.ts
- packages/vault/src/{vault,credentials}.ts
- packages/ui/src/hooks/useKeyboardShortcuts.ts
Null-guards added (exposed by the bang-equals fixes):
- packages/skills/src/loader.ts:131 — `!frontmatter.description ||`
- packages/agent/src/config/zod-schema.providers-core.ts:79 — `!value.customCommands ||`
- packages/agent/src/providers/workspace-provider.ts:129 — `fb.iterationRef !== undefined &&`
- packages/app-core/src/api/client-base.ts:611 — `!this.ws ||`
- packages/app-core/src/api/server-onboarding-compat.ts:147 — `!llmSelection.apiKey ||`
- packages/app-core/src/components/permissions/StreamingPermissions.tsx:335,470 — `def.modes?.includes`
- packages/app-core/src/runtime/build-character-from-config.ts:65 — `!character.adjectives ||`
- packages/native-plugins/gateway/src/web.ts:458 — `!this.ws ||`
- apps/app-lifeops/src/lifeops/checkin/sleep-cycle-dispatch.ts:19 — `!args.state ||`
- apps/app-lifeops/src/lifeops/service-mixin-subscriptions.ts:827 — `!playbook.steps ||`
- apps/app-lifeops/src/website-blocker/service.ts:236 — `!task.id ||`
Plus root package.json: drop turbo --filter for non-existent
@elizaos/computeruse[*] / @mediar-ai/workflow packages (turbo 2.x
errors on filter-targets that don't exist).
Verified: bun run build:typescript succeeds (122/122 packages).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- packages/core/src/features/messaging/triage/actions/listInbox.ts:51 `params.sources.includes(m.source)` → `params.sources?.includes(m.source)`. params.sources is `string[] | undefined` per the schema; the optional-chain default-undefined-includes preserves "include all" intent when no source filter is set. - packages/core/src/services/message.ts: biome auto-format from prior null-guard edit. Verified: bun run --cwd packages/core typecheck and format:check both pass. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Workflow was failing at the wrangler deploy step ("Not logged in")
because CLOUDFLARE_API_TOKEN / CLOUDFLARE_ACCOUNT_ID aren't set as
GitHub secrets in this repo. The verify+build steps were passing,
which is what we actually care about for PR validation — only the
publish step needed the credentials.
Add a "Check Cloudflare credentials" pre-step that emits a warning
to the job summary and gates the actual `wrangler deploy` /
`wrangler pages deploy` step on `secrets.CLOUDFLARE_*` being non-empty.
The workflow now succeeds-with-skipped-deploy until secrets are
configured at https://github.com/elizaOS/eliza/settings/secrets/actions.
Once secrets land, the deploy steps fire automatically — no further
workflow changes needed.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The earlier round-3 fix corrected `!context.characterId === DEFAULT_AGENT_ID_STRING` (always-false) to `context.characterId === DEFAULT_AGENT_ID_STRING`, which is semantically right but exposed a separate bug: the runtime tests pass context.characterId=undefined expecting the default character to load. Original always-false meant `loadCharacter(undefined!, ...)` always ran and threw "Character not found: undefined" — which the buggy code also had to have failed on, so either the tests never reached this codepath in CI before (blocked earlier by the migration journal failure) or the path was never exercised. Either way, runtime-tests on monorepo now hit it. Fix: `isDefaultCharacter = !context.characterId || context.characterId === DEFAULT_AGENT_ID_STRING`. Treats undefined characterId as a request for the default character, matching the test setup in oauth-cache-invalidation.test.ts and runtime-factory.test.ts (both call buildUserContext without specifying characterId). Verified: cloud/apps/api typecheck still passes. Runtime tests progress past the createRuntimeForUser call locally. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
`!shortcut.ctrl === event.ctrlKey` (and the same for shift/alt/meta) had inverted logic — `!shortcut.ctrl` is true when the shortcut DOESN'T require ctrl, so ctrlMatch was true precisely when ctrl was pressed but shouldn't be. Plus the `=== boolean` comparison conflates undefined (no modifier specified) with false (modifier explicitly disabled). Switched to `Boolean(shortcut.ctrl) === event.ctrlKey` which gives the intended "modifier-state matches between shortcut definition and event" semantics for all four flags. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The round-3 bang-equals fix changed `if (!args.steps.length === 0)` to `if (args.steps.length === 0)`. Semantically correct, but the function signature explicitly types `steps: GmailPlanStep[] | undefined` and the test (lifeops-deterministic-llm.test.ts) passes undefined, hitting "Cannot read properties of undefined (reading 'length')" at runtime. Added the missing `!args.steps ||` guard to handle undefined-steps as "no steps to select" — same intent the original buggy condition was trying to express. Failing test: Client Tests > app-lifeops > lifeops-deterministic-llm.test.ts Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…y tests storage-proxy.test.ts was failing in cloud-tests/unit-tests with: "Cannot find module '@brighter/storage-adapter-s3' from .../packages/lib/services/storage/r2-storage-adapter.ts" The package was being installed transitively (so it worked locally) but `bun install --frozen-lockfile` in CI strips anything not pinned in the lockfile root. Added explicit `"@brighter/storage-adapter-s3": "^1.6.3"` to cloud/package.json. Verified: storage-proxy.test.ts now passes locally (15/15). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Same shape of issue as the cloud/apps/frontend/src/lib/data/ fix: parent .gitignore had a blanket `tsconfig.test.json` rule (intended for build artifacts in other packages) that swallowed cloud's real, tracked tsconfig.test.json. Cloud Tests' lint-and-types job's typecheck step (`tsc --project tsconfig.test.json`) was failing in CI with TS5058 because the file wasn't in the checkout. Added scoped negation: keep the global rule but un-ignore cloud/tsconfig.test.json explicitly. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Resolve plugin-sql submodule conflict: replace vendored tree with git submodule at 63c60196 (develop pointer). Add minimal .gitmodules for plugin-sql. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Claude encountered an error —— View job I'll analyze this and get back to you. |
When the Anthropic API is unavailable to the action — most commonly low credit balance, but also rate-limit and transient API outages — the action exits non-zero. Today that turns the entire workflow run red: PR checks block, scheduled cron jobs alert, docs CI fails. The Claude review/maintenance/docs-fix passes are best-effort, not gating. Add `continue-on-error: true` to every `anthropics/claude-code-action@v1` invocation across: - claude-code-review.yml (PR review) - claude.yml (@claude trigger) - skill-review.yml (SKILL.md review) - weekly-maintenance.yml (cron) - docs-ci.yml (link + quality fix passes) Failed steps still show as red in the run UI for visibility; only the job-level conclusion is preserved as success when the bot run is the sole failure. Downstream steps in docs-ci.yml already use the "Check for Changes" pattern, so they correctly no-op when the fix pass was skipped. Repro: run-25252396948/job-74046380246 failed PR #7235's claude review with `Credit balance is too low` from the agent SDK. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
chore: add cloud and plugins, remove rust and python
chore: add cloud and plugins, remove rust and python
This PR simplifies and consolidates