@oxygen-agent/cli 1.1014.136 → 1.1014.619

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.
Files changed (293) hide show
  1. package/README.md +1 -1
  2. package/dist/admin-primary-providers-render.js +27 -19
  3. package/dist/cli-output.d.ts +12 -0
  4. package/dist/cli-output.js +395 -0
  5. package/dist/cli-paths.d.ts +1 -0
  6. package/dist/cli-paths.js +3 -0
  7. package/dist/cli-profile-context.d.ts +3 -0
  8. package/dist/cli-profile-context.js +13 -0
  9. package/dist/command-manifest.d.ts +15 -0
  10. package/dist/command-manifest.js +23 -1
  11. package/dist/command-support.d.ts +438 -0
  12. package/dist/command-support.js +1610 -0
  13. package/dist/commands/action-column.d.ts +3 -0
  14. package/dist/commands/action-column.js +43 -0
  15. package/dist/commands/activation.d.ts +3 -0
  16. package/dist/commands/activation.js +24 -0
  17. package/dist/commands/admin.d.ts +3 -0
  18. package/dist/commands/admin.js +347 -0
  19. package/dist/commands/ads.d.ts +3 -0
  20. package/dist/commands/ads.js +62 -0
  21. package/dist/commands/agent.d.ts +3 -0
  22. package/dist/commands/agent.js +274 -0
  23. package/dist/commands/api-keys.d.ts +3 -0
  24. package/dist/commands/api-keys.js +77 -0
  25. package/dist/commands/approvals.d.ts +3 -0
  26. package/dist/commands/approvals.js +518 -0
  27. package/dist/commands/auth.d.ts +3 -0
  28. package/dist/commands/auth.js +230 -0
  29. package/dist/commands/billing.d.ts +3 -0
  30. package/dist/commands/billing.js +357 -0
  31. package/dist/commands/blueprints.d.ts +3 -0
  32. package/dist/commands/blueprints.js +312 -0
  33. package/dist/commands/budget.d.ts +3 -0
  34. package/dist/commands/budget.js +55 -0
  35. package/dist/commands/callables.d.ts +3 -0
  36. package/dist/commands/callables.js +111 -0
  37. package/dist/commands/capabilities.d.ts +3 -0
  38. package/dist/commands/capabilities.js +44 -0
  39. package/dist/commands/cells.d.ts +3 -0
  40. package/dist/commands/cells.js +94 -0
  41. package/dist/commands/columns.d.ts +3 -0
  42. package/dist/commands/columns.js +1628 -0
  43. package/dist/commands/commands.d.ts +3 -0
  44. package/dist/commands/commands.js +45 -0
  45. package/dist/commands/comments.d.ts +3 -0
  46. package/dist/commands/comments.js +188 -0
  47. package/dist/commands/companies.d.ts +3 -0
  48. package/dist/commands/companies.js +312 -0
  49. package/dist/commands/connections.d.ts +3 -0
  50. package/dist/commands/connections.js +39 -0
  51. package/dist/commands/context.d.ts +3 -0
  52. package/dist/commands/context.js +170 -0
  53. package/dist/commands/copilot.d.ts +3 -0
  54. package/dist/commands/copilot.js +565 -0
  55. package/dist/commands/crm.d.ts +3 -0
  56. package/dist/commands/crm.js +1672 -0
  57. package/dist/commands/custom-integrations.d.ts +3 -0
  58. package/dist/commands/custom-integrations.js +140 -0
  59. package/dist/commands/dashboards.d.ts +3 -0
  60. package/dist/commands/dashboards.js +240 -0
  61. package/dist/commands/db.d.ts +3 -0
  62. package/dist/commands/db.js +190 -0
  63. package/dist/commands/deliverability.d.ts +3 -0
  64. package/dist/commands/deliverability.js +90 -0
  65. package/dist/commands/directory.d.ts +3 -0
  66. package/dist/commands/directory.js +101 -0
  67. package/dist/commands/domains.d.ts +3 -0
  68. package/dist/commands/domains.js +604 -0
  69. package/dist/commands/egress.d.ts +3 -0
  70. package/dist/commands/egress.js +130 -0
  71. package/dist/commands/email.d.ts +3 -0
  72. package/dist/commands/email.js +49 -0
  73. package/dist/commands/engagement.d.ts +3 -0
  74. package/dist/commands/engagement.js +189 -0
  75. package/dist/commands/enrich-column.d.ts +3 -0
  76. package/dist/commands/enrich-column.js +149 -0
  77. package/dist/commands/enrichment.d.ts +3 -0
  78. package/dist/commands/enrichment.js +49 -0
  79. package/dist/commands/feedback.d.ts +3 -0
  80. package/dist/commands/feedback.js +96 -0
  81. package/dist/commands/feeds.d.ts +3 -0
  82. package/dist/commands/feeds.js +486 -0
  83. package/dist/commands/find.d.ts +3 -0
  84. package/dist/commands/find.js +159 -0
  85. package/dist/commands/followers.d.ts +3 -0
  86. package/dist/commands/followers.js +39 -0
  87. package/dist/commands/formulas.d.ts +3 -0
  88. package/dist/commands/formulas.js +43 -0
  89. package/dist/commands/home.d.ts +3 -0
  90. package/dist/commands/home.js +22 -0
  91. package/dist/commands/inbox.d.ts +3 -0
  92. package/dist/commands/inbox.js +779 -0
  93. package/dist/commands/integrations.d.ts +3 -0
  94. package/dist/commands/integrations.js +290 -0
  95. package/dist/commands/knowledge.d.ts +3 -0
  96. package/dist/commands/knowledge.js +874 -0
  97. package/dist/commands/lead-sourcing.d.ts +3 -0
  98. package/dist/commands/lead-sourcing.js +52 -0
  99. package/dist/commands/limits.d.ts +3 -0
  100. package/dist/commands/limits.js +54 -0
  101. package/dist/commands/linkedin.d.ts +3 -0
  102. package/dist/commands/linkedin.js +275 -0
  103. package/dist/commands/login.d.ts +3 -0
  104. package/dist/commands/login.js +347 -0
  105. package/dist/commands/logout.d.ts +3 -0
  106. package/dist/commands/logout.js +12 -0
  107. package/dist/commands/mailboxes.d.ts +3 -0
  108. package/dist/commands/mailboxes.js +1290 -0
  109. package/dist/commands/managed-inboxes.d.ts +3 -0
  110. package/dist/commands/managed-inboxes.js +361 -0
  111. package/dist/commands/messages.d.ts +3 -0
  112. package/dist/commands/messages.js +78 -0
  113. package/dist/commands/notetaker.d.ts +3 -0
  114. package/dist/commands/notetaker.js +79 -0
  115. package/dist/commands/observability.d.ts +3 -0
  116. package/dist/commands/observability.js +125 -0
  117. package/dist/commands/orgs.d.ts +3 -0
  118. package/dist/commands/orgs.js +237 -0
  119. package/dist/commands/people.d.ts +3 -0
  120. package/dist/commands/people.js +353 -0
  121. package/dist/commands/posts.d.ts +3 -0
  122. package/dist/commands/posts.js +139 -0
  123. package/dist/commands/profiles.d.ts +3 -0
  124. package/dist/commands/profiles.js +250 -0
  125. package/dist/commands/projects.d.ts +3 -0
  126. package/dist/commands/projects.js +94 -0
  127. package/dist/commands/prompts.d.ts +3 -0
  128. package/dist/commands/prompts.js +84 -0
  129. package/dist/commands/publishing.d.ts +3 -0
  130. package/dist/commands/publishing.js +1419 -0
  131. package/dist/commands/recipes.d.ts +3 -0
  132. package/dist/commands/recipes.js +120 -0
  133. package/dist/commands/reviews.d.ts +3 -0
  134. package/dist/commands/reviews.js +75 -0
  135. package/dist/commands/rows.d.ts +3 -0
  136. package/dist/commands/rows.js +27 -0
  137. package/dist/commands/runs.d.ts +3 -0
  138. package/dist/commands/runs.js +37 -0
  139. package/dist/commands/search.d.ts +3 -0
  140. package/dist/commands/search.js +182 -0
  141. package/dist/commands/senders.d.ts +3 -0
  142. package/dist/commands/senders.js +393 -0
  143. package/dist/commands/sequences.d.ts +3 -0
  144. package/dist/commands/sequences.js +2322 -0
  145. package/dist/commands/session.d.ts +3 -0
  146. package/dist/commands/session.js +109 -0
  147. package/dist/commands/signals.d.ts +3 -0
  148. package/dist/commands/signals.js +289 -0
  149. package/dist/commands/signup-leads.d.ts +3 -0
  150. package/dist/commands/signup-leads.js +46 -0
  151. package/dist/commands/skills.d.ts +3 -0
  152. package/dist/commands/skills.js +50 -0
  153. package/dist/commands/sourcing.d.ts +3 -0
  154. package/dist/commands/sourcing.js +27 -0
  155. package/dist/commands/status.d.ts +3 -0
  156. package/dist/commands/status.js +51 -0
  157. package/dist/commands/supabase.d.ts +3 -0
  158. package/dist/commands/supabase.js +128 -0
  159. package/dist/commands/support.d.ts +3 -0
  160. package/dist/commands/support.js +651 -0
  161. package/dist/commands/suppressions.d.ts +3 -0
  162. package/dist/commands/suppressions.js +577 -0
  163. package/dist/commands/table-ingestions.d.ts +3 -0
  164. package/dist/commands/table-ingestions.js +145 -0
  165. package/dist/commands/table-runs.d.ts +3 -0
  166. package/dist/commands/table-runs.js +277 -0
  167. package/dist/commands/tables.d.ts +3 -0
  168. package/dist/commands/tables.js +3505 -0
  169. package/dist/commands/tags.d.ts +3 -0
  170. package/dist/commands/tags.js +147 -0
  171. package/dist/commands/tools.d.ts +3 -0
  172. package/dist/commands/tools.js +246 -0
  173. package/dist/commands/update.d.ts +3 -0
  174. package/dist/commands/update.js +106 -0
  175. package/dist/commands/verify.d.ts +3 -0
  176. package/dist/commands/verify.js +27 -0
  177. package/dist/commands/viewers.d.ts +3 -0
  178. package/dist/commands/viewers.js +72 -0
  179. package/dist/commands/voice.d.ts +3 -0
  180. package/dist/commands/voice.js +351 -0
  181. package/dist/commands/whatsapp.d.ts +3 -0
  182. package/dist/commands/whatsapp.js +226 -0
  183. package/dist/commands/whoami.d.ts +3 -0
  184. package/dist/commands/whoami.js +110 -0
  185. package/dist/commands/worker.d.ts +3 -0
  186. package/dist/commands/worker.js +60 -0
  187. package/dist/commands/workflows.d.ts +3 -0
  188. package/dist/commands/workflows.js +1752 -0
  189. package/dist/commands/workspace.d.ts +3 -0
  190. package/dist/commands/workspace.js +94 -0
  191. package/dist/compact-list-flags.d.ts +7 -0
  192. package/dist/compact-list-flags.js +12 -0
  193. package/dist/crm-support-flags.js +14 -5
  194. package/dist/customer-operation-commands.js +8 -6
  195. package/dist/diagnostic-uploader.d.ts +3 -1
  196. package/dist/diagnostic-uploader.js +29 -8
  197. package/dist/help.d.ts +5 -0
  198. package/dist/help.js +22 -0
  199. package/dist/index.d.ts +98 -1
  200. package/dist/index.js +331 -30719
  201. package/dist/local-module-loader.d.ts +4 -0
  202. package/dist/local-module-loader.js +156 -0
  203. package/dist/visual-commands.js +9 -5
  204. package/node_modules/@oxygen/cli-ugc/dist/commands.js +2 -2
  205. package/node_modules/@oxygen/shared/dist/agent-session-schedule.d.ts +36 -0
  206. package/node_modules/@oxygen/shared/dist/agent-session-schedule.js +69 -0
  207. package/node_modules/@oxygen/shared/dist/agent-sessions.d.ts +14 -5
  208. package/node_modules/@oxygen/shared/dist/agent-sessions.js +14 -3
  209. package/node_modules/@oxygen/shared/dist/capability-discovery.js +175 -14
  210. package/node_modules/@oxygen/shared/dist/compact-list-result.d.ts +6 -0
  211. package/node_modules/@oxygen/shared/dist/compact-list-result.js +27 -0
  212. package/node_modules/@oxygen/shared/dist/contracts/agent-sessions.d.ts +12 -1
  213. package/node_modules/@oxygen/shared/dist/contracts/agent-sessions.js +5 -2
  214. package/node_modules/@oxygen/shared/dist/contracts/browser-operations.js +4 -2
  215. package/node_modules/@oxygen/shared/dist/contracts/compact-list-reads.d.ts +57 -0
  216. package/node_modules/@oxygen/shared/dist/contracts/compact-list-reads.js +23 -0
  217. package/node_modules/@oxygen/shared/dist/contracts/crm-support.d.ts +52 -0
  218. package/node_modules/@oxygen/shared/dist/contracts/crm-support.js +43 -2
  219. package/node_modules/@oxygen/shared/dist/contracts/customer-operations.js +20 -16
  220. package/node_modules/@oxygen/shared/dist/contracts/knowledge-content-reads.js +1 -1
  221. package/node_modules/@oxygen/shared/dist/contracts/knowledge-proposal-reads.d.ts +49 -0
  222. package/node_modules/@oxygen/shared/dist/contracts/knowledge-proposal-reads.js +14 -0
  223. package/node_modules/@oxygen/shared/dist/contracts/knowledge-sync.js +1 -1
  224. package/node_modules/@oxygen/shared/dist/contracts/limits-read.js +60 -7
  225. package/node_modules/@oxygen/shared/dist/contracts/operations.d.ts +9 -1
  226. package/node_modules/@oxygen/shared/dist/contracts/operations.js +13 -5
  227. package/node_modules/@oxygen/shared/dist/contracts/publishing-reads.js +1 -1
  228. package/node_modules/@oxygen/shared/dist/contracts/teammates.d.ts +16 -0
  229. package/node_modules/@oxygen/shared/dist/contracts/teammates.js +115 -0
  230. package/node_modules/@oxygen/shared/dist/cost-estimate-view.js +21 -3
  231. package/node_modules/@oxygen/shared/dist/cost-estimate.d.ts +31 -1
  232. package/node_modules/@oxygen/shared/dist/cost-estimate.js +56 -15
  233. package/node_modules/@oxygen/shared/dist/diagnostic-credentials.d.ts +2 -0
  234. package/node_modules/@oxygen/shared/dist/diagnostic-credentials.js +2 -0
  235. package/node_modules/@oxygen/shared/dist/diagnostic-lock.js +71 -44
  236. package/node_modules/@oxygen/shared/dist/diagnostic-spool.d.ts +18 -0
  237. package/node_modules/@oxygen/shared/dist/diagnostic-spool.js +348 -0
  238. package/node_modules/@oxygen/shared/dist/diagnostic-storage-failure.d.ts +10 -0
  239. package/node_modules/@oxygen/shared/dist/diagnostic-storage-failure.js +42 -0
  240. package/node_modules/@oxygen/shared/dist/diagnostic-storage.d.ts +1 -1
  241. package/node_modules/@oxygen/shared/dist/diagnostic-storage.js +59 -213
  242. package/node_modules/@oxygen/shared/dist/diagnostics.js +3 -2
  243. package/node_modules/@oxygen/shared/dist/email-dsn.d.ts +16 -5
  244. package/node_modules/@oxygen/shared/dist/email-dsn.js +97 -1
  245. package/node_modules/@oxygen/shared/dist/emailguard-placement-probe.js +5 -0
  246. package/node_modules/@oxygen/shared/dist/enrichment-intents.js +4 -5
  247. package/node_modules/@oxygen/shared/dist/file-import.d.ts +8 -0
  248. package/node_modules/@oxygen/shared/dist/file-import.js +21 -2
  249. package/node_modules/@oxygen/shared/dist/hosted-ai.d.ts +30 -0
  250. package/node_modules/@oxygen/shared/dist/hosted-ai.js +20 -0
  251. package/node_modules/@oxygen/shared/dist/knowledge-bootstrap.d.ts +6 -2
  252. package/node_modules/@oxygen/shared/dist/knowledge-seed-content.d.ts +17 -7
  253. package/node_modules/@oxygen/shared/dist/knowledge-seed-content.js +81 -17
  254. package/node_modules/@oxygen/shared/dist/langfuse.js +8 -4
  255. package/node_modules/@oxygen/shared/dist/mailbox-egress-ownership.d.ts +1 -1
  256. package/node_modules/@oxygen/shared/dist/mailbox-import.d.ts +6 -3
  257. package/node_modules/@oxygen/shared/dist/mailbox-import.js +9 -9
  258. package/node_modules/@oxygen/shared/dist/mcp-server-info.d.ts +8 -0
  259. package/node_modules/@oxygen/shared/dist/mcp-server-info.js +10 -0
  260. package/node_modules/@oxygen/shared/dist/object-storage.d.ts +10 -0
  261. package/node_modules/@oxygen/shared/dist/object-storage.js +14 -0
  262. package/node_modules/@oxygen/shared/dist/plan-limits-view.d.ts +5 -0
  263. package/node_modules/@oxygen/shared/dist/plan-limits-view.js +17 -1
  264. package/node_modules/@oxygen/shared/dist/pricing-sheet.d.ts +1 -1
  265. package/node_modules/@oxygen/shared/dist/pricing-sheet.js +1 -1
  266. package/node_modules/@oxygen/shared/dist/provider-selection.d.ts +15 -0
  267. package/node_modules/@oxygen/shared/dist/provider-selection.js +3 -0
  268. package/node_modules/@oxygen/shared/dist/repricing.d.ts +1 -1
  269. package/node_modules/@oxygen/shared/dist/repricing.js +2 -2
  270. package/node_modules/@oxygen/shared/dist/schedule-label.d.ts +6 -0
  271. package/node_modules/@oxygen/shared/dist/schedule-label.js +12 -0
  272. package/node_modules/@oxygen/shared/dist/sequence-failures.d.ts +1 -0
  273. package/node_modules/@oxygen/shared/dist/sequence-failures.js +20 -6
  274. package/node_modules/@oxygen/shared/dist/teammate-groups.d.ts +55 -0
  275. package/node_modules/@oxygen/shared/dist/teammate-groups.js +74 -0
  276. package/node_modules/@oxygen/shared/dist/teammate-messages.d.ts +52 -0
  277. package/node_modules/@oxygen/shared/dist/teammate-messages.js +88 -0
  278. package/node_modules/@oxygen/shared/dist/teammate-notes.d.ts +58 -0
  279. package/node_modules/@oxygen/shared/dist/teammate-notes.js +73 -0
  280. package/node_modules/@oxygen/shared/dist/teammate-routines.d.ts +95 -0
  281. package/node_modules/@oxygen/shared/dist/teammate-routines.js +266 -0
  282. package/node_modules/@oxygen/shared/dist/teammate-tasks.d.ts +56 -0
  283. package/node_modules/@oxygen/shared/dist/teammate-tasks.js +114 -0
  284. package/node_modules/@oxygen/shared/dist/teammates.d.ts +78 -0
  285. package/node_modules/@oxygen/shared/dist/teammates.js +140 -0
  286. package/node_modules/@oxygen/shared/dist/user-capability-routing.js +120 -0
  287. package/node_modules/@oxygen/shared/dist/version.generated.d.ts +1 -1
  288. package/node_modules/@oxygen/shared/dist/version.generated.js +1 -1
  289. package/node_modules/@oxygen/shared/dist/visual-render.d.ts +9 -1
  290. package/node_modules/@oxygen/shared/dist/visual-render.js +12 -5
  291. package/node_modules/@oxygen/shared/dist/warmup-metrics.d.ts +5 -0
  292. package/node_modules/@oxygen/shared/dist/warmup-metrics.js +44 -0
  293. package/package.json +1 -1
@@ -0,0 +1,438 @@
1
+ import { JsonOptions, handleAsyncAction } from "./cli-output.js";
2
+ import { type CliProfileSource } from "./cli-profile-context.js";
3
+ import { type ProfileResolution, type StoredCredentials, type StoredProfileIdentity, type StoredOrganization } from "./credentials.js";
4
+ import { type CliRunWaitConfig } from "./run-wait.js";
5
+ import { type AutomaticSkillsInstallResult } from "./skills.js";
6
+ import { type CollabSubjectKind } from "@oxygen/shared/collab";
7
+ /** `--on` / `--path` help, shared by every command that addresses a subject. */
8
+ export declare const COLLAB_SUBJECT_REF_HELP: string;
9
+ export declare const COLLAB_SUBJECT_PATH_HELP = "Narrow to a sub-object: \"row:<rowId>\" for one row, \"row:<rowId>#<columnKey>\" for one cell, or \"column:<columnKey>\" for one column.";
10
+ /**
11
+ * Both group descriptions end with this, because a surface that is one release
12
+ * old should say so where a user meets it. Beta here means exactly what it means
13
+ * for Agents, the Knowledge Graph, and Recipes: WEB NAV VISIBILITY. Nothing
14
+ * about the gate, the client role, or credit rules is softened by the toggle,
15
+ * and this command group is reachable at either setting — which is what keeps a
16
+ * gate armed from the terminal answerable from the terminal.
17
+ */
18
+ export declare const COLLAB_BETA_NOTE: string;
19
+ /**
20
+ * Parse `--on <kind>:<id>`. Client-side so a typo costs no round trip and the
21
+ * error can list every legal kind — `parseSubjectRef` already throws a typed
22
+ * `invalid_subject_ref` (exit 2) carrying `details.valid_kinds`.
23
+ */
24
+ export declare function requireCollabSubject(value: string | undefined): {
25
+ kind: CollabSubjectKind;
26
+ id: string;
27
+ };
28
+ /** Validate and canonicalize `--path`; undefined when the flag was not passed. */
29
+ export declare function readCollabPath(value: string | undefined): string | undefined;
30
+ export type DirectoryUpdateOptions = JsonOptions & {
31
+ name?: string;
32
+ slug?: string;
33
+ logoUrl?: string;
34
+ logoFile?: string;
35
+ tagline?: string;
36
+ description?: string;
37
+ descriptionFile?: string;
38
+ website?: string;
39
+ companyLinkedin?: string;
40
+ foundersJson?: string;
41
+ bookingUrl?: string;
42
+ contactEmail?: string;
43
+ services?: string;
44
+ regions?: string;
45
+ profileJson?: string;
46
+ };
47
+ export type LogoutOptions = JsonOptions & {
48
+ profile?: string;
49
+ all?: boolean;
50
+ };
51
+ export type LinkedinAccountsConnectOptions = JsonOptions & {
52
+ reconnect?: string;
53
+ country?: string;
54
+ salesNav?: boolean;
55
+ cookieAuth?: boolean;
56
+ customProxy?: boolean;
57
+ count?: string;
58
+ inboxScope?: string;
59
+ acknowledgeRisk?: boolean;
60
+ ownerConsent?: boolean;
61
+ established?: boolean;
62
+ shareLink?: boolean;
63
+ };
64
+ export type LinkedinAccountsSyncOptions = JsonOptions & {
65
+ connectionId?: string;
66
+ };
67
+ export type TablesDeleteOptions = JsonOptions & {
68
+ now?: boolean;
69
+ yes?: boolean;
70
+ purgeAfter?: string;
71
+ reason?: string;
72
+ };
73
+ export type CrmPhotosOptions = JsonOptions & {
74
+ limit?: string;
75
+ live?: boolean;
76
+ dryRun?: boolean;
77
+ };
78
+ export type CrmSignalRecordOptions = JsonOptions & {
79
+ event?: string;
80
+ externalEventId?: string;
81
+ email?: string;
82
+ linkedinUrl?: string;
83
+ companyDomain?: string;
84
+ companyName?: string;
85
+ firstName?: string;
86
+ lastName?: string;
87
+ pageUrl?: string;
88
+ sessionId?: string;
89
+ payloadJson?: string;
90
+ };
91
+ export type CrmLeadsTodayOptions = JsonOptions & {
92
+ limit?: string;
93
+ withinDays?: string;
94
+ };
95
+ export type ContextProfileUpdateOptions = JsonOptions & {
96
+ dataJson?: string;
97
+ summary?: string;
98
+ };
99
+ export type ContextResolveOptions = JsonOptions & {
100
+ purpose?: string;
101
+ assetType?: string;
102
+ assetStatus?: string;
103
+ tags?: string;
104
+ includeArchived?: boolean;
105
+ maxAssets?: string;
106
+ requireReady?: boolean;
107
+ };
108
+ export type KnowledgeSyncOptions = JsonOptions & {
109
+ full?: boolean;
110
+ ifStale?: boolean;
111
+ ttl?: string;
112
+ all?: boolean;
113
+ };
114
+ export type TableRunsListOptions = JsonOptions & {
115
+ table?: string;
116
+ status?: string;
117
+ limit?: string;
118
+ format?: string;
119
+ output?: string;
120
+ };
121
+ export type TableRunsWaitOptions = JsonOptions & {
122
+ timeoutSeconds?: string;
123
+ intervalSeconds?: string;
124
+ };
125
+ export declare const CADENCE_FLAG_DESCRIPTION = "Shorthand schedule: hourly, every_6h, daily@<hour>, or weekly@<day><hour> (e.g. weekly@mon9). Hours 0-23 UTC.";
126
+ export type LimitOptions = JsonOptions & {
127
+ limit?: string;
128
+ };
129
+ export type WhoamiResponse = {
130
+ user: {
131
+ id: string;
132
+ email: string | null;
133
+ firstName?: string | null;
134
+ lastName?: string | null;
135
+ };
136
+ organization: {
137
+ id: string;
138
+ name: string;
139
+ slug: string | null;
140
+ billing_owner_organization_id?: string | null;
141
+ shared_billing?: boolean;
142
+ monthly_credit_cap?: number | null;
143
+ plan_tier?: string;
144
+ plan_name?: string;
145
+ };
146
+ membership?: {
147
+ id: string;
148
+ role: string;
149
+ };
150
+ apiKey?: {
151
+ id: string;
152
+ name: string;
153
+ tokenPrefix: string;
154
+ tokenSuffix: string;
155
+ kind?: "org_api_key" | "user_session" | "oauth";
156
+ };
157
+ authType?: "org_api_key" | "user_session" | "oauth";
158
+ };
159
+ export type OrganizationOption = WhoamiResponse["organization"] & {
160
+ clerkOrgId?: string | null;
161
+ iconUrl?: string | null;
162
+ membership?: {
163
+ id?: string;
164
+ role: string;
165
+ clerkOrgId?: string;
166
+ clerkUserId?: string;
167
+ };
168
+ selected?: boolean;
169
+ };
170
+ export type OrgsCredentialBlock = {
171
+ kind?: string;
172
+ switchable?: boolean;
173
+ reason?: string;
174
+ message?: string;
175
+ next_commands?: string[];
176
+ web_url?: string;
177
+ };
178
+ export type OrgsListResponse = {
179
+ user: WhoamiResponse["user"];
180
+ currentOrganization: OrganizationOption | null;
181
+ organizations: OrganizationOption[];
182
+ selectionRequired?: boolean;
183
+ credential?: OrgsCredentialBlock;
184
+ web_url?: string;
185
+ };
186
+ export type OrgsSelectResponse = {
187
+ user: WhoamiResponse["user"];
188
+ currentOrganization: OrganizationOption;
189
+ credential?: OrgsCredentialBlock;
190
+ };
191
+ export declare const TABLE_INGESTION_WAIT_DEFAULT_TIMEOUT_SECONDS = 600;
192
+ export declare const TABLE_INGESTION_WAIT_DEFAULT_INTERVAL_SECONDS = 5;
193
+ export declare function formatDisabledWorkflowNotices(data: unknown): string[];
194
+ export declare function writeListCapNotice(data: unknown, noun: string, hint?: string): void;
195
+ export declare function parseJsonArray(value: string): unknown[];
196
+ /**
197
+ * Parse a JSON command-input value, mapping `JSON.parse` syntax failures to a
198
+ * typed `invalid_json` envelope. A raw `JSON.parse` throw is an ordinary `Error`,
199
+ * which `@oxygen/shared`'s `toFailure` flattens to a machine-hostile
200
+ * `unexpected_error`; routing through here keeps malformed user JSON actionable.
201
+ * Shape validation, where a caller needs it, stays with the caller. `inputName`
202
+ * is the user-facing flag or source label, e.g. "--steps-file".
203
+ */
204
+ export declare function parseJsonValue(value: string, inputName: string): unknown;
205
+ /**
206
+ * Read a local file and parse it as JSON command input, surfacing syntax
207
+ * failures as a typed `invalid_json` envelope tagged with `inputName`. File-read
208
+ * errors (missing/unreadable path) propagate unchanged — they are not JSON.
209
+ */
210
+ export declare function readJsonFileValue(path: string, inputName: string): unknown;
211
+ export declare function readFileIfPresent(value: string): string;
212
+ export declare function readPublishingPostText(options: {
213
+ text?: string;
214
+ textFile?: string;
215
+ }, required: true): string;
216
+ export declare function readPublishingPostText(options: {
217
+ text?: string;
218
+ textFile?: string;
219
+ }, required: false): string | null;
220
+ export declare function readPublishingTextFile(textFile: string, flag?: string): string;
221
+ export declare function splitCommaList(value: string | undefined): string[];
222
+ export declare function buildCrmSignalRecordBody(options: CrmSignalRecordOptions): Record<string, unknown>;
223
+ export declare function buildCrmLeadsTodayPath(options: CrmLeadsTodayOptions): string;
224
+ export declare function isUuid(value: string): boolean;
225
+ export declare function tableWebhookDeliveriesPath(options: {
226
+ endpointId?: string | undefined;
227
+ table?: string | undefined;
228
+ status?: string | undefined;
229
+ autoRunStatus?: string | undefined;
230
+ limit?: string | undefined;
231
+ }): string;
232
+ export declare function tableRunsListPath(options: TableRunsListOptions & {
233
+ traceId?: string;
234
+ }): string;
235
+ export declare function readRangeOption(value: string | undefined, flag: string): {
236
+ min?: number;
237
+ max?: number;
238
+ } | null;
239
+ export declare function readSearchPlanJson(value: string): Record<string, unknown>;
240
+ export declare function readFilterSelectionOption(value: string | undefined): Record<string, unknown> | undefined;
241
+ export declare function readFilterJsonOption(value: string | undefined): Record<string, unknown>[] | undefined;
242
+ export declare function readFormulaValuesOption(value: string | undefined): "materialized" | null;
243
+ interface GetSurfaceRunWaitParams {
244
+ retryTransientNetworkErrors?: boolean;
245
+ runId: string;
246
+ endpoint: string;
247
+ view?: string;
248
+ requestedTimeoutSeconds?: string | undefined;
249
+ requestedIntervalSeconds?: string | undefined;
250
+ defaultTimeoutSeconds: number;
251
+ defaultIntervalSeconds: number;
252
+ isTerminal: (status: string | null) => boolean;
253
+ runKey: string;
254
+ runIdKey: string;
255
+ timeoutCode: string;
256
+ timeoutMessage: string;
257
+ timeoutDetailIdKey: string;
258
+ }
259
+ export declare function buildGetSurfaceRunWaitConfig(params: GetSurfaceRunWaitParams): CliRunWaitConfig;
260
+ export declare function waitForTableActionRun(runId: string, options: TableRunsWaitOptions): Promise<Record<string, unknown>>;
261
+ export type QueryColumnDescriptor = {
262
+ id?: string;
263
+ key: string;
264
+ label?: string;
265
+ dataType?: string;
266
+ kind?: string;
267
+ semanticType?: string | null;
268
+ definition?: Record<string, unknown>;
269
+ position?: number;
270
+ /**
271
+ * The fields this column's output declares — what `{{column.path}}` can name.
272
+ * Absent for a column that declares nothing.
273
+ */
274
+ output_fields?: Array<{
275
+ path: string;
276
+ label?: string;
277
+ dataType?: string | null;
278
+ }>;
279
+ };
280
+ export type DescribeTableResponse = {
281
+ table?: {
282
+ id?: string;
283
+ slug?: string;
284
+ displayName?: string;
285
+ name?: string;
286
+ projectSlug?: string;
287
+ };
288
+ columns?: QueryColumnDescriptor[];
289
+ };
290
+ export declare function normalizeExportRowsFormat(value: string | undefined): "json" | "jsonl" | "csv" | "table";
291
+ export declare function formatRows(rows: Record<string, unknown>[], format: "json" | "jsonl" | "csv" | "table", columns?: Array<{
292
+ key: string;
293
+ label?: string;
294
+ dataType?: string;
295
+ }>): {
296
+ content: string;
297
+ rescuedCount: number;
298
+ };
299
+ export declare function clipCell(value: string, width: number): string;
300
+ export declare function readCount(value: unknown): number;
301
+ /**
302
+ * Hops one and two of the avatar upload: presign, then PUT the raw bytes straight
303
+ * to Oxygen object storage. Returns the storage key the caller confirms with.
304
+ *
305
+ * Shared because two commands stage the same bytes in the same bucket and then
306
+ * diverge: `managed-inboxes upload-avatar` confirms against the avatars route to
307
+ * get a public URL to paste into an order, while `senders profiles set-photo`
308
+ * hands the key to the profile writer as `avatar_upload_key`, which re-checks org
309
+ * ownership and re-sniffs the bytes itself. Copying the two hops into the second
310
+ * caller would have duplicated the abort timeout and the failure taxonomy, and
311
+ * the copy is exactly where they drift.
312
+ */
313
+ export declare function putAvatarBytesToStorage(path: string): Promise<string>;
314
+ export declare function readRecord(value: unknown, key: string): Record<string, unknown> | null;
315
+ export declare function isTerminalTableIngestionStatus(status: string | null): boolean;
316
+ export type ProfileSource = CliProfileSource;
317
+ export type ResolvedProfileContext = {
318
+ resolution: ProfileResolution;
319
+ source: ProfileSource;
320
+ };
321
+ export declare function resolveActiveProfileWithSource(): Promise<ResolvedProfileContext>;
322
+ /**
323
+ * Write a completed org selection back onto the stored profile.
324
+ *
325
+ * Shared by `orgs use` and `oxygen login --org` so the two-step (log in, then
326
+ * switch) and the one-step collapse cannot drift apart.
327
+ *
328
+ * Gated on the credential being one that can actually carry a selection: an
329
+ * org-bound key's active workspace is a property of the key, not of the profile,
330
+ * so persisting a different one would only produce a profile that lies about
331
+ * where its commands land.
332
+ */
333
+ export declare function persistOrganizationSelection(input: {
334
+ profile: string | null;
335
+ credentials: StoredCredentials | null;
336
+ organization: OrganizationOption | null | undefined;
337
+ }): Promise<boolean>;
338
+ export declare function shellQuote(value: string): string;
339
+ export declare function handleLogoutAction(options: LogoutOptions): Promise<void>;
340
+ export type LoginIdentity = {
341
+ credentials: StoredCredentials;
342
+ whoami: WhoamiResponse | null;
343
+ user: WhoamiResponse["user"];
344
+ activeOrganization: StoredOrganization | null;
345
+ organizations: OrganizationOption[];
346
+ selectionRequired: boolean;
347
+ };
348
+ export declare function resolveLoginIdentity(token: string, apiUrl: string): Promise<LoginIdentity>;
349
+ export declare function pickProfileForLogin(loginIdentity: LoginIdentity): Promise<{
350
+ name: string;
351
+ renamed: boolean;
352
+ }>;
353
+ export declare function readEnvProfileName(): string | null;
354
+ export declare function identityFromWhoami(response: WhoamiResponse): StoredProfileIdentity;
355
+ export declare function storedOrganizationFromOption(organization: Pick<OrganizationOption, "id" | "name" | "slug">): StoredOrganization;
356
+ export declare function buildPostLoginHint(activeProfile: string): Promise<string>;
357
+ export declare function formatLoginSuccessForResolved(loginIdentity: LoginIdentity, profile: string, options?: {
358
+ renamed?: boolean;
359
+ skillsInstall?: AutomaticSkillsInstallResult;
360
+ }): string;
361
+ export declare function formatFingerprint(hex: string): string;
362
+ export declare function createCredentialFingerprint(token: string): string;
363
+ /** Column-aligned plain-text table, two-space indented. Shared by the sequence-variant lenses and the collaboration lists. */
364
+ export declare function renderTextTable(headers: string[], rows: string[][]): string[];
365
+ /** A read command that prints a readable block instead of the raw envelope.
366
+ * `--json` still emits the untouched API envelope, so the lens is presentation
367
+ * only and never becomes a second contract. Used by the sequencer lenses and by
368
+ * `crm objects`. */
369
+ export declare function handleReadActionWithLens(command: string, options: JsonOptions, action: () => Promise<unknown>, render: (data: Record<string, unknown>) => string): Promise<void>;
370
+ export declare function handleCollabAction(command: string, options: JsonOptions, action: () => Promise<unknown>, render: (data: Record<string, unknown>) => string): Promise<void>;
371
+ export declare function collabStyles(): {
372
+ bold: (text: string) => string;
373
+ dim: (text: string) => string;
374
+ green: (text: string) => string;
375
+ yellow: (text: string) => string;
376
+ };
377
+ export declare function collabText(value: unknown, fallback?: string): string;
378
+ export declare function collabLink(data: Record<string, unknown>): string | null;
379
+ /** Coarse age for a list column: seconds, minutes, hours, then days. */
380
+ export declare function formatCollabAge(value: unknown): string;
381
+ /** First line of a body, clipped — a thread's subject line in one cell. */
382
+ export declare function collabSnippet(value: unknown, width?: number): string;
383
+ /** Trailer every collab render shares: what to do next, then the deep-link. */
384
+ export declare function collabTrailer(data: Record<string, unknown>): string[];
385
+ /**
386
+ * Generic confirmation for a write whose payload is one object. The API already
387
+ * writes a `next_step` sentence for each of these, so the renderer's only job is
388
+ * to say what changed and keep the deep-link visible.
389
+ */
390
+ export declare function formatCollabWriteResult(data: Record<string, unknown>): string;
391
+ export declare function describeProfileSource(source: ProfileSource): string;
392
+ export declare function formatAutomaticSkillsInstallStatusLines(result?: AutomaticSkillsInstallResult): string[];
393
+ export declare function ansi(enabled: boolean): {
394
+ bold: (text: string) => string;
395
+ dim: (text: string) => string;
396
+ green: (text: string) => string;
397
+ yellow: (text: string) => string;
398
+ };
399
+ export declare function collectRepeatable(value: string, previous: string[]): string[];
400
+ export declare function readSelectedTranscriptExcerpt(text: string): string;
401
+ export declare function readCsvOption(value: string | undefined): string[];
402
+ export declare function buildDirectoryProfileBody(options: DirectoryUpdateOptions): Promise<Record<string, unknown>>;
403
+ export declare function collectMultiple(value: string, previous: string[]): string[];
404
+ export declare function buildContextResolveBody(options: ContextResolveOptions): Record<string, unknown>;
405
+ export declare const KNOWLEDGE_SYNC_DEFAULT_TTL_MINUTES = 15;
406
+ type KnowledgeMirrorTarget = {
407
+ dir: string;
408
+ apiHost: string;
409
+ orgId: string;
410
+ webUrl: string;
411
+ };
412
+ export declare function knowledgeMirrorTargetFor(apiUrl: string, orgId: string): KnowledgeMirrorTarget;
413
+ export declare function resolveKnowledgeMirrorTarget(): Promise<KnowledgeMirrorTarget>;
414
+ export declare function runKnowledgeMirrorSync(// skipcq: JS-R1005 -- one linear sync pipeline: staleness gate, lock, delta loop, generated files.
415
+ options: KnowledgeSyncOptions, orgOverride?: {
416
+ orgId: string;
417
+ selector: string;
418
+ }): Promise<Record<string, unknown>>;
419
+ export declare function runKnowledgeMirrorSyncAll(options: KnowledgeSyncOptions): Promise<Record<string, unknown>>;
420
+ export declare function readPositiveNumber(value: string | undefined, nextStep?: string): number | undefined;
421
+ /**
422
+ * A spend ceiling where ZERO IS VALID and meaningful: `find company
423
+ * --max-credits 0` asks for the lanes that cost nothing (crustdata's identify
424
+ * lane resolves domain↔LinkedIn for 0 credits) and skips every priced one.
425
+ * readPositiveNumber rejected it client-side, so the free lanes were
426
+ * unreachable from the CLI at all (Plain T-111). Fractional ceilings stay legal
427
+ * — lane estimates are fractional — so this is not the whole-number reader.
428
+ */
429
+ export declare function readCreditCeilingOrZero(value: string | undefined): number | undefined;
430
+ /**
431
+ * A whole count (days, rows, windows). Its positive-number sibling accepts 2.5,
432
+ * which for a scan bound is always a typo — rejected here so it costs no round trip,
433
+ * and rejected rather than rounded so a bound nobody asked for is never scanned.
434
+ */
435
+ export declare function readPositiveInteger(value: string | undefined): number | undefined;
436
+ export declare function readNonNegativeNumber(value: string | undefined): number | undefined;
437
+ export type ExtractedCommandActionHandler = typeof handleAsyncAction;
438
+ export {};