@isomorph.ai/cli 0.7.3 → 0.7.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -109,7 +109,7 @@ Rules live beside this file: \`core.md\` before the first edit; \`integrations.m
|
|
|
109
109
|
## Getting ready
|
|
110
110
|
|
|
111
111
|
- No \`.isomorph/\` yet: \`isomorph init --app-root .\` (empty folder → starter; an existing app → three choices to relay). Node 22+, no Docker.
|
|
112
|
-
- Sign-in (
|
|
112
|
+
- Sign-in, only when a command answers \`CONFIG_REQUIRED\` or \`AUTH_REQUIRED\` (most machines already are): \`isomorph connect <work-email>\`, then \`isomorph login\` — the browser opens and the person finishes there (their one step; say so).
|
|
113
113
|
|
|
114
114
|
## Intent → command
|
|
115
115
|
|
|
@@ -87,6 +87,15 @@ export async function connect(startUrl, path = configPath(), fetchImpl = fetch)
|
|
|
87
87
|
.catch((error) => { throw new CliError("PLATFORM_UNREACHABLE", `Isomorph at ${url.host} could not be reached: ${transportFailure(error)}.`); });
|
|
88
88
|
const body = await response.json().catch(() => undefined);
|
|
89
89
|
if (!response.ok && isRecord(body) && typeof body.error_description === "string") {
|
|
90
|
+
// A person in two companies who is already connected to one of them is
|
|
91
|
+
// not asking a question: every builder on a connected machine ran
|
|
92
|
+
// `connect <email>` on the skill's say-so and got this refusal (bench,
|
|
93
|
+
// 9 of 21 builds). The saved connection stands; a start link switches.
|
|
94
|
+
if (body.error === "tenant_ambiguous" && Array.isArray(body.tenants)) {
|
|
95
|
+
const saved = await loadConfig(path).catch(() => undefined);
|
|
96
|
+
if (saved && body.tenants.some(tenant => isRecord(tenant) && tenant.tenantId === saved.tenantId))
|
|
97
|
+
return saved;
|
|
98
|
+
}
|
|
90
99
|
// The server's sentence already names the fix. Its links are printed without
|
|
91
100
|
// their scheme: the failure printer strips every full URL (output.ts), and
|
|
92
101
|
// `connect` accepts a link without one. `tenants` (with the full links) rides
|
|
@@ -67,7 +67,7 @@ Never guess a connection, channel, table, view, mailbox or column: a guess is re
|
|
|
67
67
|
|
|
68
68
|
## Request
|
|
69
69
|
|
|
70
|
-
\`isomorph integrations request <connection> --reason "<why>" --app-root . --json\` files the one request IT approves once for every environment
|
|
70
|
+
\`isomorph integrations request <connection> --reason "<why>" --app-root . --json\` files the one request IT approves once for every environment; run it once \`isomorph check\` has read the call (\`dev\`/\`deploy\` file it too). \`isomorph integrations status --app-root . --json\`: READY, use it; PENDING, say "IT has to approve this; the app works meanwhile". \`RESOURCE_NOT_APPROVED\`: IT adds the channel, view or mailbox in the console (Controls & integrations); then run the same request again.
|
|
71
71
|
|
|
72
72
|
## Consent
|
|
73
73
|
|