Repository navigation
test(cli): pin the Setup Integrations merged order to each contributor's priority - #28336
Merged
Merged
Conversation
…r's priority Co-authored-by: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01L9qiby1xTh1tChY988SHhX
Contributor
📓 Docs Drift CheckNothing in this diff resolved to a documentable surface (no symbol, route or SDK anchor derived from 0 changed package(s)), so this run has no opinion about the docs. What this run could not see
Coarse fallback — 0 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): |
Contributor
Author
|
domain:ui#1 · os-tesla · session_01L9qibzC6RxMfB59EsgAoNN 席位核对ACCEPT · seat 席位意见:连接器凭证的完整流程已在真实开发栈上实测通过。安装后凭证步骤列出缺失的凭证,跳过后会给出凭证页的链接。在凭证页填好后,连接器不用重启就变为就绪,页面任何地方都不会显示凭证值。另外加了一个测试,钉住 Setup → Integrations 分组的顺序,以后有人悄悄调换顺序就会报红。
|
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.
Requested by Tesla · project thread
Fixes #28260
Refs #27238
Clause-②: no
Metadata-protocol: none
维护者速读
priority读出;另在真实运行的服务上走通了「安装应用 → 缺凭据 → 跳过 → 去凭据页填写 → 连接器无需重启即就绪」的全过程,记录贴在卡上。packages/cli/test/setup-integrations-order.pin.test.ts(顺序断言与优先级读取两段)。pnpm --filter @objectstack/cli exec vitest run --project unit test/setup-integrations-order.pin.test.ts,预期 1 passed;把 Connect an Agent 与 Connector Credentials 的 priority 对调后重建,同一命令变红。What changes
One new test file,
packages/cli/test/setup-integrations-order.pin.test.ts(S2 of the contract review on #28200). It composes the real Setup app shell and the five packages that contribute intogroup_integrations, folds them through the realSchemaRegistry, and asserts:nav_webhooks/nav_http_deliveries/nav_datasources(one priority, compared as a set because the fold's stable sort leaves that tie to registration order), thennav_connect_agent, thennav_connector_credentials, thennav_cloud_connection;@objectstack/plugin-webhooksand@objectstack/service-datasourceregister their contribution frominit(), so they are booted on a context serving only themanifestservice, the same waypackages/cli/scripts/check-app-nav-i18n.mjsboots them. The file usesSchemaRegistrydirectly (nonew ObjectQL(), so it classifies into theunittier.S1 (the live round trip) changes no file. Its record is posted on #28260.
Tests
pnpm --filter @objectstack/cli exec vitest run --project unit test/setup-integrations-order.pin.test.ts test/connect-agent-both-halves-wire.pin.test.ts test/vitest-tiers-partition.test.tsat98931dde: 3 files, 25 tests passed.connector-credentials-ui.ts120 to 110,connect-ui.ts110 to 120) withscripts/ablation-replace.mjs, rebuilt both packages,ablation-dist-preflight.mjssaw both markers indist/, and the pin went red on the tier assertion (expected Set{ 'nav_connector_credentials' } to deeply equal Set{ 'nav_connect_agent' }). Restore proven (blob equals HEAD,git diff HEADempty), both packages rebuilt,--absentpreflight clean, pin green again.pnpm --filter @objectstack/cli exec vitest run --project unit --maxWorkers=2at98931dde: 358 files, 5136 tests passed. Theintegrationtier is declared to CI (the diff touches no integration-tier file or spawn entry).pnpm --filter @objectstack/cli typecheck(tsc pluscheck:test-typecheck): exit 0.Acceptance notes
git grep -il credentialRef origin/mainoverobjectstack-ai/hotcrmata598256returns nothing, and its owncontent/docs/guides/integrations.mdxsays "src/carries no connector metadata of any kind". The Slack connector the decision card [Decision] Where a customer administrator supplies a declarative connector credential: a platform credentials page over an encrypted object, an app-shipped settings manifest, env-only as today, or the OAuth connection record #27230 cites is a roadmap line in that page, so installing HotCRM would list no reference. The probe package (com.example.slackprobe) declares onerestconnector whose bearer token iscredentialRef: SLACK_BOT_TOKEN.cloud.objectos.aiandmarketplace.objectos.ai(CONNECT 403), so the dev stack read its catalog throughOS_MARKETPLACE_PUBLIC_BASE_URLpointed at a local server serving the snapshot shape (packages.json,packages/ID.json,packages/ID/versions/latest/manifest.json). Everything after that (the Console package page,POST /api/v1/marketplace/install-local, the credential step, the Setup page, the credential door, the automation service) is the real stack.… by aPIvyNcbsR4QACN8KHZlCylmhRIImV7v) rather than a name. carrier: none.Verification
Derived gates: 48 derived, 48 run, all exit 0 (reconciled at 98931dd)
node scripts/pm/dispatch-gates.mjs --repo objectstack-ai/objectstack --ran …: "48 derived famil(ies) accounted for — 48 run, 0 NOT-MEASURED".check-plugin-teardown-shape.mjs --self-testfirst answered exit 3 (its fixture commit absent from the shallow clone); aftergit fetch origin 621a487607881c66b2899b7e3477115229a156b4 --depth=1it passed (48 cases).node scripts/check-sdui-manifest.mjs: exit 0. The record is28260-gates-ran-98931dde.listin the seat's out folder.S1 live round trip (summary; the full record is on #28260)
pnpm dev -- --fresh -p 38517(showcase), no connector env var set (SLACK_BOT_TOKENunset), catalog stand-in on 38518. Install from the Console package page:POST /api/v1/marketplace/install-local{"packageId":"slack_probe"}answered 200 withcredentialRefs: [{ref: SLACK_BOT_TOKEN, status: missing}]; the step listedSLACK_BOT_TOKEN · slack_probe_api; Skip showed "Skipped for now" with a link to/_console/apps/com.objectstack.setup/component/automation/connector-credentials; on that pagePUT …/credential-refs/SLACK_BOT_TOKENansweredstatus: set, source: objectwith the connectorstate: ready;GET /api/v1/automation/connectorslistsslack_probe_apireadywith actionrequest. Server pid 15400 before and after. The value appeared in no response body, no DOM text, no input after save, no reloaded page and no server log line.Generated by Claude Code