fix: integration bug quickwins (#12/#16/#17) + stats --json (#5) + desktop sidecar - #58
Merged
Merged
Conversation
…spawn IRIS Server')
stats emitted ASCII boxes with no --json option; scripts parsing `iris stats --json` got non-JSON. Build structured JSON via writeJson, reusing the existing aggregateSessionStats payload plus admin-derived metrics.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
btoa()with a securerandomBytes(16)nonce in the WhatsApp OAuth state param (platform-run.ts).resolveAccountToIntegrationId()no longer swallows network/transport errors asnull— re-throwsTypeError/FetchError/ECONNREFUSED so outages surface; logs other errors underIRIS_DEBUG; only returnsnullfor genuine no-match.COMPOSIO_API_KEYis now read at call-time viagetComposioKey()instead of at module load, so env vars set after import are honored.iris statshad NO--jsonsupport and always printed ASCII boxes. Added--jsonemitting structured payload viawriteJson(reusingaggregateSessionStats+ admin-derived metrics). Verified end-to-end against prod: valid JSON for--json,--json --admin,--json --models.fix(desktop): resolve iris-cli sidecar via Tauri API— included on this branch but unrelated to the bug work; calling it out explicitly.Test plan
bun run typecheck— cleanbun test ./src/cli/cmd/integration-oauth-local.test.ts— 18/18 passiris stats --json→ valid JSON;--json --admin→adminblock present;--json --models 3→ 3 models.Note
Bug #15 (Canva direct Composio v2 call) is intentionally NOT fixed here — routing
platform-atlas-brand-kit.tsthroughexecuteIntegrationCall("canva", …)requires the fl-api Canva action names (CANVA_LIST_USER_DESIGNS/CANVA_POST_EXPORTS), which are not defined in this repo. Needs backend action mapping first (flagged as blocked).Verification still needed on merge
After this lands on
main, a release build is required for the installed~/.iris/bin/irisbinary to pick it up — the dailyirisruns from the bundled binary, not source.