@oxygen-agent/cli 1.1014.136 → 1.1014.618
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.
- package/README.md +1 -1
- package/dist/admin-primary-providers-render.js +27 -19
- package/dist/cli-output.d.ts +12 -0
- package/dist/cli-output.js +395 -0
- package/dist/cli-paths.d.ts +1 -0
- package/dist/cli-paths.js +3 -0
- package/dist/cli-profile-context.d.ts +3 -0
- package/dist/cli-profile-context.js +13 -0
- package/dist/command-manifest.d.ts +15 -0
- package/dist/command-manifest.js +23 -1
- package/dist/command-support.d.ts +438 -0
- package/dist/command-support.js +1610 -0
- package/dist/commands/action-column.d.ts +3 -0
- package/dist/commands/action-column.js +43 -0
- package/dist/commands/activation.d.ts +3 -0
- package/dist/commands/activation.js +24 -0
- package/dist/commands/admin.d.ts +3 -0
- package/dist/commands/admin.js +347 -0
- package/dist/commands/ads.d.ts +3 -0
- package/dist/commands/ads.js +62 -0
- package/dist/commands/agent.d.ts +3 -0
- package/dist/commands/agent.js +274 -0
- package/dist/commands/api-keys.d.ts +3 -0
- package/dist/commands/api-keys.js +77 -0
- package/dist/commands/approvals.d.ts +3 -0
- package/dist/commands/approvals.js +518 -0
- package/dist/commands/auth.d.ts +3 -0
- package/dist/commands/auth.js +230 -0
- package/dist/commands/billing.d.ts +3 -0
- package/dist/commands/billing.js +357 -0
- package/dist/commands/blueprints.d.ts +3 -0
- package/dist/commands/blueprints.js +312 -0
- package/dist/commands/budget.d.ts +3 -0
- package/dist/commands/budget.js +55 -0
- package/dist/commands/callables.d.ts +3 -0
- package/dist/commands/callables.js +111 -0
- package/dist/commands/capabilities.d.ts +3 -0
- package/dist/commands/capabilities.js +44 -0
- package/dist/commands/cells.d.ts +3 -0
- package/dist/commands/cells.js +94 -0
- package/dist/commands/columns.d.ts +3 -0
- package/dist/commands/columns.js +1628 -0
- package/dist/commands/commands.d.ts +3 -0
- package/dist/commands/commands.js +45 -0
- package/dist/commands/comments.d.ts +3 -0
- package/dist/commands/comments.js +188 -0
- package/dist/commands/companies.d.ts +3 -0
- package/dist/commands/companies.js +312 -0
- package/dist/commands/connections.d.ts +3 -0
- package/dist/commands/connections.js +39 -0
- package/dist/commands/context.d.ts +3 -0
- package/dist/commands/context.js +170 -0
- package/dist/commands/copilot.d.ts +3 -0
- package/dist/commands/copilot.js +565 -0
- package/dist/commands/crm.d.ts +3 -0
- package/dist/commands/crm.js +1669 -0
- package/dist/commands/custom-integrations.d.ts +3 -0
- package/dist/commands/custom-integrations.js +140 -0
- package/dist/commands/dashboards.d.ts +3 -0
- package/dist/commands/dashboards.js +240 -0
- package/dist/commands/db.d.ts +3 -0
- package/dist/commands/db.js +190 -0
- package/dist/commands/deliverability.d.ts +3 -0
- package/dist/commands/deliverability.js +90 -0
- package/dist/commands/directory.d.ts +3 -0
- package/dist/commands/directory.js +101 -0
- package/dist/commands/domains.d.ts +3 -0
- package/dist/commands/domains.js +604 -0
- package/dist/commands/egress.d.ts +3 -0
- package/dist/commands/egress.js +130 -0
- package/dist/commands/email.d.ts +3 -0
- package/dist/commands/email.js +49 -0
- package/dist/commands/engagement.d.ts +3 -0
- package/dist/commands/engagement.js +189 -0
- package/dist/commands/enrich-column.d.ts +3 -0
- package/dist/commands/enrich-column.js +149 -0
- package/dist/commands/enrichment.d.ts +3 -0
- package/dist/commands/enrichment.js +49 -0
- package/dist/commands/feedback.d.ts +3 -0
- package/dist/commands/feedback.js +96 -0
- package/dist/commands/feeds.d.ts +3 -0
- package/dist/commands/feeds.js +486 -0
- package/dist/commands/find.d.ts +3 -0
- package/dist/commands/find.js +159 -0
- package/dist/commands/followers.d.ts +3 -0
- package/dist/commands/followers.js +39 -0
- package/dist/commands/formulas.d.ts +3 -0
- package/dist/commands/formulas.js +43 -0
- package/dist/commands/home.d.ts +3 -0
- package/dist/commands/home.js +22 -0
- package/dist/commands/inbox.d.ts +3 -0
- package/dist/commands/inbox.js +779 -0
- package/dist/commands/integrations.d.ts +3 -0
- package/dist/commands/integrations.js +290 -0
- package/dist/commands/knowledge.d.ts +3 -0
- package/dist/commands/knowledge.js +874 -0
- package/dist/commands/lead-sourcing.d.ts +3 -0
- package/dist/commands/lead-sourcing.js +52 -0
- package/dist/commands/limits.d.ts +3 -0
- package/dist/commands/limits.js +54 -0
- package/dist/commands/linkedin.d.ts +3 -0
- package/dist/commands/linkedin.js +275 -0
- package/dist/commands/login.d.ts +3 -0
- package/dist/commands/login.js +347 -0
- package/dist/commands/logout.d.ts +3 -0
- package/dist/commands/logout.js +12 -0
- package/dist/commands/mailboxes.d.ts +3 -0
- package/dist/commands/mailboxes.js +1290 -0
- package/dist/commands/managed-inboxes.d.ts +3 -0
- package/dist/commands/managed-inboxes.js +361 -0
- package/dist/commands/messages.d.ts +3 -0
- package/dist/commands/messages.js +78 -0
- package/dist/commands/notetaker.d.ts +3 -0
- package/dist/commands/notetaker.js +79 -0
- package/dist/commands/observability.d.ts +3 -0
- package/dist/commands/observability.js +125 -0
- package/dist/commands/orgs.d.ts +3 -0
- package/dist/commands/orgs.js +237 -0
- package/dist/commands/people.d.ts +3 -0
- package/dist/commands/people.js +353 -0
- package/dist/commands/posts.d.ts +3 -0
- package/dist/commands/posts.js +139 -0
- package/dist/commands/profiles.d.ts +3 -0
- package/dist/commands/profiles.js +250 -0
- package/dist/commands/projects.d.ts +3 -0
- package/dist/commands/projects.js +94 -0
- package/dist/commands/prompts.d.ts +3 -0
- package/dist/commands/prompts.js +84 -0
- package/dist/commands/publishing.d.ts +3 -0
- package/dist/commands/publishing.js +1419 -0
- package/dist/commands/recipes.d.ts +3 -0
- package/dist/commands/recipes.js +120 -0
- package/dist/commands/reviews.d.ts +3 -0
- package/dist/commands/reviews.js +75 -0
- package/dist/commands/rows.d.ts +3 -0
- package/dist/commands/rows.js +27 -0
- package/dist/commands/runs.d.ts +3 -0
- package/dist/commands/runs.js +37 -0
- package/dist/commands/search.d.ts +3 -0
- package/dist/commands/search.js +182 -0
- package/dist/commands/senders.d.ts +3 -0
- package/dist/commands/senders.js +393 -0
- package/dist/commands/sequences.d.ts +3 -0
- package/dist/commands/sequences.js +2322 -0
- package/dist/commands/session.d.ts +3 -0
- package/dist/commands/session.js +109 -0
- package/dist/commands/signals.d.ts +3 -0
- package/dist/commands/signals.js +289 -0
- package/dist/commands/signup-leads.d.ts +3 -0
- package/dist/commands/signup-leads.js +46 -0
- package/dist/commands/skills.d.ts +3 -0
- package/dist/commands/skills.js +50 -0
- package/dist/commands/sourcing.d.ts +3 -0
- package/dist/commands/sourcing.js +27 -0
- package/dist/commands/status.d.ts +3 -0
- package/dist/commands/status.js +51 -0
- package/dist/commands/supabase.d.ts +3 -0
- package/dist/commands/supabase.js +128 -0
- package/dist/commands/support.d.ts +3 -0
- package/dist/commands/support.js +651 -0
- package/dist/commands/suppressions.d.ts +3 -0
- package/dist/commands/suppressions.js +577 -0
- package/dist/commands/table-ingestions.d.ts +3 -0
- package/dist/commands/table-ingestions.js +145 -0
- package/dist/commands/table-runs.d.ts +3 -0
- package/dist/commands/table-runs.js +277 -0
- package/dist/commands/tables.d.ts +3 -0
- package/dist/commands/tables.js +3492 -0
- package/dist/commands/tags.d.ts +3 -0
- package/dist/commands/tags.js +147 -0
- package/dist/commands/tools.d.ts +3 -0
- package/dist/commands/tools.js +246 -0
- package/dist/commands/update.d.ts +3 -0
- package/dist/commands/update.js +106 -0
- package/dist/commands/verify.d.ts +3 -0
- package/dist/commands/verify.js +27 -0
- package/dist/commands/viewers.d.ts +3 -0
- package/dist/commands/viewers.js +72 -0
- package/dist/commands/voice.d.ts +3 -0
- package/dist/commands/voice.js +351 -0
- package/dist/commands/whatsapp.d.ts +3 -0
- package/dist/commands/whatsapp.js +226 -0
- package/dist/commands/whoami.d.ts +3 -0
- package/dist/commands/whoami.js +110 -0
- package/dist/commands/worker.d.ts +3 -0
- package/dist/commands/worker.js +60 -0
- package/dist/commands/workflows.d.ts +3 -0
- package/dist/commands/workflows.js +1752 -0
- package/dist/commands/workspace.d.ts +3 -0
- package/dist/commands/workspace.js +94 -0
- package/dist/compact-list-flags.d.ts +7 -0
- package/dist/compact-list-flags.js +12 -0
- package/dist/crm-support-flags.js +14 -5
- package/dist/customer-operation-commands.js +8 -6
- package/dist/diagnostic-uploader.d.ts +3 -1
- package/dist/diagnostic-uploader.js +29 -8
- package/dist/help.d.ts +5 -0
- package/dist/help.js +22 -0
- package/dist/index.d.ts +98 -1
- package/dist/index.js +331 -30719
- package/dist/local-module-loader.d.ts +4 -0
- package/dist/local-module-loader.js +156 -0
- package/dist/visual-commands.js +9 -5
- package/node_modules/@oxygen/cli-ugc/dist/commands.js +2 -2
- package/node_modules/@oxygen/shared/dist/agent-session-schedule.d.ts +36 -0
- package/node_modules/@oxygen/shared/dist/agent-session-schedule.js +69 -0
- package/node_modules/@oxygen/shared/dist/agent-sessions.d.ts +14 -5
- package/node_modules/@oxygen/shared/dist/agent-sessions.js +14 -3
- package/node_modules/@oxygen/shared/dist/capability-discovery.js +175 -14
- package/node_modules/@oxygen/shared/dist/compact-list-result.d.ts +6 -0
- package/node_modules/@oxygen/shared/dist/compact-list-result.js +27 -0
- package/node_modules/@oxygen/shared/dist/contracts/agent-sessions.d.ts +12 -1
- package/node_modules/@oxygen/shared/dist/contracts/agent-sessions.js +5 -2
- package/node_modules/@oxygen/shared/dist/contracts/browser-operations.js +4 -2
- package/node_modules/@oxygen/shared/dist/contracts/compact-list-reads.d.ts +57 -0
- package/node_modules/@oxygen/shared/dist/contracts/compact-list-reads.js +23 -0
- package/node_modules/@oxygen/shared/dist/contracts/crm-support.d.ts +52 -0
- package/node_modules/@oxygen/shared/dist/contracts/crm-support.js +43 -2
- package/node_modules/@oxygen/shared/dist/contracts/customer-operations.js +17 -14
- package/node_modules/@oxygen/shared/dist/contracts/knowledge-content-reads.js +1 -1
- package/node_modules/@oxygen/shared/dist/contracts/knowledge-proposal-reads.d.ts +49 -0
- package/node_modules/@oxygen/shared/dist/contracts/knowledge-proposal-reads.js +14 -0
- package/node_modules/@oxygen/shared/dist/contracts/knowledge-sync.js +1 -1
- package/node_modules/@oxygen/shared/dist/contracts/limits-read.js +60 -7
- package/node_modules/@oxygen/shared/dist/contracts/operations.d.ts +9 -1
- package/node_modules/@oxygen/shared/dist/contracts/operations.js +13 -5
- package/node_modules/@oxygen/shared/dist/contracts/publishing-reads.js +1 -1
- package/node_modules/@oxygen/shared/dist/contracts/teammates.d.ts +16 -0
- package/node_modules/@oxygen/shared/dist/contracts/teammates.js +115 -0
- package/node_modules/@oxygen/shared/dist/cost-estimate-view.js +21 -3
- package/node_modules/@oxygen/shared/dist/cost-estimate.d.ts +31 -1
- package/node_modules/@oxygen/shared/dist/cost-estimate.js +56 -15
- package/node_modules/@oxygen/shared/dist/diagnostic-credentials.d.ts +2 -0
- package/node_modules/@oxygen/shared/dist/diagnostic-credentials.js +2 -0
- package/node_modules/@oxygen/shared/dist/diagnostic-lock.js +71 -44
- package/node_modules/@oxygen/shared/dist/diagnostic-spool.d.ts +18 -0
- package/node_modules/@oxygen/shared/dist/diagnostic-spool.js +348 -0
- package/node_modules/@oxygen/shared/dist/diagnostic-storage-failure.d.ts +10 -0
- package/node_modules/@oxygen/shared/dist/diagnostic-storage-failure.js +42 -0
- package/node_modules/@oxygen/shared/dist/diagnostic-storage.d.ts +1 -1
- package/node_modules/@oxygen/shared/dist/diagnostic-storage.js +59 -213
- package/node_modules/@oxygen/shared/dist/diagnostics.js +3 -2
- package/node_modules/@oxygen/shared/dist/email-dsn.d.ts +16 -5
- package/node_modules/@oxygen/shared/dist/email-dsn.js +97 -1
- package/node_modules/@oxygen/shared/dist/emailguard-placement-probe.js +5 -0
- package/node_modules/@oxygen/shared/dist/enrichment-intents.js +4 -5
- package/node_modules/@oxygen/shared/dist/file-import.js +5 -2
- package/node_modules/@oxygen/shared/dist/hosted-ai.d.ts +30 -0
- package/node_modules/@oxygen/shared/dist/hosted-ai.js +20 -0
- package/node_modules/@oxygen/shared/dist/knowledge-bootstrap.d.ts +6 -2
- package/node_modules/@oxygen/shared/dist/knowledge-seed-content.d.ts +17 -7
- package/node_modules/@oxygen/shared/dist/knowledge-seed-content.js +81 -17
- package/node_modules/@oxygen/shared/dist/langfuse.js +8 -4
- package/node_modules/@oxygen/shared/dist/mailbox-egress-ownership.d.ts +1 -1
- package/node_modules/@oxygen/shared/dist/mailbox-import.d.ts +6 -3
- package/node_modules/@oxygen/shared/dist/mailbox-import.js +9 -9
- package/node_modules/@oxygen/shared/dist/mcp-server-info.d.ts +8 -0
- package/node_modules/@oxygen/shared/dist/mcp-server-info.js +10 -0
- package/node_modules/@oxygen/shared/dist/object-storage.d.ts +10 -0
- package/node_modules/@oxygen/shared/dist/object-storage.js +14 -0
- package/node_modules/@oxygen/shared/dist/plan-limits-view.d.ts +5 -0
- package/node_modules/@oxygen/shared/dist/plan-limits-view.js +17 -1
- package/node_modules/@oxygen/shared/dist/pricing-sheet.d.ts +1 -1
- package/node_modules/@oxygen/shared/dist/pricing-sheet.js +1 -1
- package/node_modules/@oxygen/shared/dist/provider-selection.d.ts +15 -0
- package/node_modules/@oxygen/shared/dist/provider-selection.js +3 -0
- package/node_modules/@oxygen/shared/dist/repricing.d.ts +1 -1
- package/node_modules/@oxygen/shared/dist/repricing.js +2 -2
- package/node_modules/@oxygen/shared/dist/schedule-label.d.ts +6 -0
- package/node_modules/@oxygen/shared/dist/schedule-label.js +12 -0
- package/node_modules/@oxygen/shared/dist/sequence-failures.d.ts +1 -0
- package/node_modules/@oxygen/shared/dist/sequence-failures.js +20 -6
- package/node_modules/@oxygen/shared/dist/teammate-groups.d.ts +55 -0
- package/node_modules/@oxygen/shared/dist/teammate-groups.js +74 -0
- package/node_modules/@oxygen/shared/dist/teammate-messages.d.ts +52 -0
- package/node_modules/@oxygen/shared/dist/teammate-messages.js +88 -0
- package/node_modules/@oxygen/shared/dist/teammate-notes.d.ts +58 -0
- package/node_modules/@oxygen/shared/dist/teammate-notes.js +73 -0
- package/node_modules/@oxygen/shared/dist/teammate-routines.d.ts +95 -0
- package/node_modules/@oxygen/shared/dist/teammate-routines.js +266 -0
- package/node_modules/@oxygen/shared/dist/teammate-tasks.d.ts +56 -0
- package/node_modules/@oxygen/shared/dist/teammate-tasks.js +114 -0
- package/node_modules/@oxygen/shared/dist/teammates.d.ts +78 -0
- package/node_modules/@oxygen/shared/dist/teammates.js +140 -0
- package/node_modules/@oxygen/shared/dist/user-capability-routing.js +120 -0
- package/node_modules/@oxygen/shared/dist/version.generated.d.ts +1 -1
- package/node_modules/@oxygen/shared/dist/version.generated.js +1 -1
- package/node_modules/@oxygen/shared/dist/visual-render.d.ts +9 -1
- package/node_modules/@oxygen/shared/dist/visual-render.js +12 -5
- package/node_modules/@oxygen/shared/dist/warmup-metrics.d.ts +5 -0
- package/node_modules/@oxygen/shared/dist/warmup-metrics.js +44 -0
- package/package.json +1 -1
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { markStdinConsumed } from "../auto-update.js";
|
|
2
|
+
import { readCsvOption } from "../command-support.js";
|
|
3
|
+
import { requestOxygen } from "../http-client.js";
|
|
4
|
+
import { readOption } from "../util.js";
|
|
5
|
+
import { OxygenError } from "@oxygen/shared/cli-result";
|
|
6
|
+
import { Command } from "commander";
|
|
7
|
+
import { readFileSync } from "node:fs";
|
|
8
|
+
function parseSupabaseTableSelection(value) {
|
|
9
|
+
const entries = readCsvOption(value);
|
|
10
|
+
if (entries.length === 0)
|
|
11
|
+
return undefined;
|
|
12
|
+
const seen = new Set();
|
|
13
|
+
return entries.map((entry) => {
|
|
14
|
+
const separator = entry.indexOf(".");
|
|
15
|
+
const schema = separator > 0 ? entry.slice(0, separator).trim() : "";
|
|
16
|
+
const table = separator > 0 ? entry.slice(separator + 1).trim() : "";
|
|
17
|
+
if (!schema || !table) {
|
|
18
|
+
throw new OxygenError("invalid_request", `Expected schema.table, received ${entry}.`, {
|
|
19
|
+
details: { value: entry }, exitCode: 1,
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
const key = `${schema}\0${table}`;
|
|
23
|
+
if (seen.has(key)) {
|
|
24
|
+
throw new OxygenError("invalid_request", `Duplicate Supabase table: ${entry}.`, { exitCode: 1 });
|
|
25
|
+
}
|
|
26
|
+
seen.add(key);
|
|
27
|
+
return { schema, table };
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
export function registerSupabaseFamily(program, handleAsyncAction) {
|
|
31
|
+
program
|
|
32
|
+
.command("supabase")
|
|
33
|
+
.description("Connect a read-only Supabase database and import selected base tables into durable Oxygen Tables. Catalog, preview, import, status, cancel, and retry all consume 0 credits; imports never write to Supabase.")
|
|
34
|
+
.addCommand(new Command("connect")
|
|
35
|
+
.description("Validate and encrypt a managed Supabase PostgreSQL URL. The database role must be read-only; Oxygen refuses writable credentials. Read the URL from stdin to keep it out of shell history and process arguments. Run `oxygen integrations connect supabase --json` first for copyable role setup SQL and the secure web path.")
|
|
36
|
+
.requiredOption("--database-url-stdin", "Read the Supabase PostgreSQL URL from stdin.")
|
|
37
|
+
.option("--schemas <schemas>", "Comma-separated user schemas (default: public). Managed/system schemas are refused.")
|
|
38
|
+
.option("--json", "Print a JSON envelope.")
|
|
39
|
+
.action(async (options) => {
|
|
40
|
+
await handleAsyncAction("supabase connect", options, () => {
|
|
41
|
+
if (options.databaseUrlStdin !== true)
|
|
42
|
+
throw new Error("--database-url-stdin is required.");
|
|
43
|
+
markStdinConsumed();
|
|
44
|
+
const databaseUrl = readFileSync(0, "utf8").trim();
|
|
45
|
+
if (!databaseUrl)
|
|
46
|
+
throw new Error("No Supabase database URL was provided on stdin.");
|
|
47
|
+
return requestOxygen("/api/cli/integrations/connect", {
|
|
48
|
+
method: "POST",
|
|
49
|
+
body: {
|
|
50
|
+
integration_id: "supabase",
|
|
51
|
+
database_url: databaseUrl,
|
|
52
|
+
...(readOption(options.schemas) ? { schemas: readOption(options.schemas) } : {}),
|
|
53
|
+
},
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
}))
|
|
57
|
+
.addCommand(new Command("catalog")
|
|
58
|
+
.description("Inspect readable base tables, columns, PostgreSQL types, primary keys, and estimated rows through the saved read-only connection.")
|
|
59
|
+
.option("--connection-id <id>", "Use a specific Supabase connection; defaults to the active default.")
|
|
60
|
+
.option("--json", "Print a JSON envelope.")
|
|
61
|
+
.action(async (options) => {
|
|
62
|
+
await handleAsyncAction("supabase catalog", options, () => requestOxygen("/api/cli/supabase/catalog", {
|
|
63
|
+
method: "POST",
|
|
64
|
+
body: readOption(options.connectionId) ? { connection_id: readOption(options.connectionId) } : {},
|
|
65
|
+
}));
|
|
66
|
+
}))
|
|
67
|
+
.addCommand(new Command("plan")
|
|
68
|
+
.description("Preview exact Oxygen Table creates/refreshes, row-limit posture, deletion semantics, and the schema fingerprint required to start. No writes and 0 credits.")
|
|
69
|
+
.option("--connection-id <id>", "Use a specific Supabase connection.")
|
|
70
|
+
.option("--tables <schema.tables>", "Comma-separated schema.table names; at most 50 per import. Omit to preview every readable table.")
|
|
71
|
+
.option("--json", "Print a JSON envelope.")
|
|
72
|
+
.action(async (options) => {
|
|
73
|
+
await handleAsyncAction("supabase imports plan", options, () => {
|
|
74
|
+
const tables = parseSupabaseTableSelection(options.tables);
|
|
75
|
+
return requestOxygen("/api/cli/supabase/imports/plan", {
|
|
76
|
+
method: "POST",
|
|
77
|
+
body: {
|
|
78
|
+
...(readOption(options.connectionId) ? { connection_id: readOption(options.connectionId) } : {}),
|
|
79
|
+
...(tables ? { tables } : {}),
|
|
80
|
+
},
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
}))
|
|
84
|
+
.addCommand(new Command("import")
|
|
85
|
+
.description("Start the previously previewed snapshot/refresh as durable Postgres-backed work. Creates one Oxygen Table per new source; refreshes primary-keyed sources in place and marks missing source rows instead of deleting them. Consumes 0 credits.")
|
|
86
|
+
.requiredOption("--tables <schema.tables>", "Comma-separated schema.table names from the plan; at most 50 per import.")
|
|
87
|
+
.requiredOption("--catalog-fingerprint <sha256>", "Fingerprint returned by the latest plan; prevents importing against a changed schema.")
|
|
88
|
+
.option("--connection-id <id>", "Use a specific Supabase connection.")
|
|
89
|
+
.option("--project <id-or-slug>", "Create new Oxygen Tables in this project/folder.")
|
|
90
|
+
.option("--json", "Print a JSON envelope.")
|
|
91
|
+
.action(async (options) => {
|
|
92
|
+
await handleAsyncAction("supabase imports start", options, () => {
|
|
93
|
+
const tables = parseSupabaseTableSelection(options.tables);
|
|
94
|
+
if (!tables)
|
|
95
|
+
throw new Error("--tables is required.");
|
|
96
|
+
return requestOxygen("/api/cli/supabase/imports", {
|
|
97
|
+
method: "POST",
|
|
98
|
+
body: {
|
|
99
|
+
tables,
|
|
100
|
+
catalog_fingerprint: readOption(options.catalogFingerprint),
|
|
101
|
+
...(readOption(options.connectionId) ? { connection_id: readOption(options.connectionId) } : {}),
|
|
102
|
+
...(readOption(options.project) ? { project: readOption(options.project) } : {}),
|
|
103
|
+
},
|
|
104
|
+
});
|
|
105
|
+
});
|
|
106
|
+
}))
|
|
107
|
+
.addCommand(new Command("get")
|
|
108
|
+
.description("Get aggregate and per-table status, row counts, failures, and deep-links for a Supabase import.")
|
|
109
|
+
.argument("<import_id>", "Supabase import id.")
|
|
110
|
+
.option("--json", "Print a JSON envelope.")
|
|
111
|
+
.action(async (importId, options) => {
|
|
112
|
+
await handleAsyncAction("supabase imports get", options, () => requestOxygen(`/api/cli/supabase/imports/${encodeURIComponent(importId)}`));
|
|
113
|
+
}))
|
|
114
|
+
.addCommand(new Command("cancel")
|
|
115
|
+
.description("Request cancellation of every still-active child table run in an import.")
|
|
116
|
+
.argument("<import_id>", "Supabase import id.")
|
|
117
|
+
.option("--json", "Print a JSON envelope.")
|
|
118
|
+
.action(async (importId, options) => {
|
|
119
|
+
await handleAsyncAction("supabase imports cancel", options, () => requestOxygen(`/api/cli/supabase/imports/${encodeURIComponent(importId)}/cancel`, { method: "POST", body: {} }));
|
|
120
|
+
}))
|
|
121
|
+
.addCommand(new Command("retry")
|
|
122
|
+
.description("Retry failed child table items without duplicating already-upserted source rows.")
|
|
123
|
+
.argument("<import_id>", "Supabase import id.")
|
|
124
|
+
.option("--json", "Print a JSON envelope.")
|
|
125
|
+
.action(async (importId, options) => {
|
|
126
|
+
await handleAsyncAction("supabase imports retry", options, () => requestOxygen(`/api/cli/supabase/imports/${encodeURIComponent(importId)}/retry`, { method: "POST", body: {} }));
|
|
127
|
+
}));
|
|
128
|
+
}
|