Skip to content

feat(provider): upload local LOGO images when creating services - #59

Merged
dxiongya merged 1 commit into
mainfrom
feature/kanby-105-provider-logo
Oct 19, 2026
Merged

dxiongya merged 1 commit into
mainfrom
feature/kanby-105-provider-logo

Conversation

@dxiongya

@dxiongya dxiongya commented Oct 19, 2026 •

Copy link
Copy Markdown
Collaborator

Provider creation now accepts a local LOGO image:

xapi-to provider create --file ./service.json --logo-file ./logo.png

The CLI validates a readable regular image file (JPG/PNG/GIF/WebP, up to 10 MB), uploads multipart bytes using the existing scoped platform API Key, and sets the returned remote URL as the service's logoUrl before creation. Upload failures stop creation and exit nonzero; neither upload nor create is automatically retried. Existing JSON logoUrl and no-logo requests remain compatible, and supplying a local file with an existing URL fails explicitly. Other provider operations reject --logo-file rather than ignoring it.

Help and both bundled provider guides/skill entry point cover usage, permissions, conflicts, failures and verification. Storage credentials remain server-side. Upload and creation are separate writes; a failed create may leave an unused image. Inspect state before retrying an ambiguous create.

Requires the matching backend endpoint before deployed use: https://github.com/xapi-labs/xapi-backend/pull/521 (dev).

Validation:

  • bun install --frozen-lockfile passed.
  • bun run typecheck passed.
  • bun run build passed.
  • bun run test passed: 1,456 tests, 95 files, zero failures.
  • npm pack --dry-run --ignore-scripts passed.
  • Built CLI multipart upload → create smoke passed on Node v20.18.2.
  • Local HTTP subprocess tests verify exact uploaded bytes, upload → create → get URL consistency, failure/no replay/nonzero exit and unreadable local files. Unit coverage includes all four formats, exact 10 MB/oversize bounds, JSON compatibility, conflicts and authorization/storage/network errors.

Local HTTP tests use a fixture server; deployed R2/public-image/web-console verification is pending backend deployment. This does not publish an npm package or merge any PR. Auto-merge remains disabled. The feat(provider) classification covers the new CLI behavior and matching bundled-skill workflow; Release Please retains version/release authority.

Kanby-Task: KANBY-105

@dxiongya
dxiongya merged commit 8801acc into main Oct 19, 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.

1 participant