@oxygen-agent/cli 1.1003.12 → 1.1010.644

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 (102) hide show
  1. package/README.md +1 -1
  2. package/dist/column-decision-options.d.ts +20 -0
  3. package/dist/column-decision-options.js +54 -0
  4. package/dist/command-manifest.js +15 -2
  5. package/dist/functions-commands.js +11 -11
  6. package/dist/index.js +1222 -159
  7. package/dist/search-ai-filter-notice.d.ts +17 -0
  8. package/dist/search-ai-filter-notice.js +38 -0
  9. package/dist/skills.js +34 -10
  10. package/dist/util.d.ts +9 -0
  11. package/dist/util.js +14 -0
  12. package/node_modules/@oxygen/cli-ugc/dist/commands.js +296 -140
  13. package/node_modules/@oxygen/cli-ugc/dist/field-parser.d.ts +9 -0
  14. package/node_modules/@oxygen/cli-ugc/dist/field-parser.js +34 -0
  15. package/node_modules/@oxygen/recipe-sdk/dist/index.d.ts +13 -0
  16. package/node_modules/@oxygen/shared/dist/billing.d.ts +21 -0
  17. package/node_modules/@oxygen/shared/dist/billing.js +45 -0
  18. package/node_modules/@oxygen/shared/dist/byok-connect.js +5 -0
  19. package/node_modules/@oxygen/shared/dist/capability-discovery.d.ts +10 -0
  20. package/node_modules/@oxygen/shared/dist/capability-discovery.js +223 -13
  21. package/node_modules/@oxygen/shared/dist/cli-http-error.d.ts +8 -0
  22. package/node_modules/@oxygen/shared/dist/cli-http-error.js +8 -0
  23. package/node_modules/@oxygen/shared/dist/cli-result.js +1 -0
  24. package/node_modules/@oxygen/shared/dist/column-autofill.js +5 -23
  25. package/node_modules/@oxygen/shared/dist/column-decision.d.ts +50 -0
  26. package/node_modules/@oxygen/shared/dist/column-decision.js +228 -0
  27. package/node_modules/@oxygen/shared/dist/company-enrichment-fields.d.ts +9 -4
  28. package/node_modules/@oxygen/shared/dist/company-enrichment-fields.js +11 -8
  29. package/node_modules/@oxygen/shared/dist/copilot-skills.generated.d.ts +4 -4
  30. package/node_modules/@oxygen/shared/dist/copilot-skills.generated.js +4 -4
  31. package/node_modules/@oxygen/shared/dist/cutover-freeze.d.ts +26 -0
  32. package/node_modules/@oxygen/shared/dist/cutover-freeze.js +52 -0
  33. package/node_modules/@oxygen/shared/dist/data-suppliers.d.ts +57 -0
  34. package/node_modules/@oxygen/shared/dist/data-suppliers.js +59 -0
  35. package/node_modules/@oxygen/shared/dist/enrichment-intents.d.ts +6 -2
  36. package/node_modules/@oxygen/shared/dist/enrichment-intents.js +13 -23
  37. package/node_modules/@oxygen/shared/dist/hosted-ai.d.ts +60 -4
  38. package/node_modules/@oxygen/shared/dist/hosted-ai.js +125 -10
  39. package/node_modules/@oxygen/shared/dist/index.d.ts +2 -0
  40. package/node_modules/@oxygen/shared/dist/index.js +2 -0
  41. package/node_modules/@oxygen/shared/dist/langfuse.d.ts +44 -1
  42. package/node_modules/@oxygen/shared/dist/langfuse.js +407 -14
  43. package/node_modules/@oxygen/shared/dist/linkedin-countries.d.ts +1 -0
  44. package/node_modules/@oxygen/shared/dist/linkedin-countries.js +2 -0
  45. package/node_modules/@oxygen/shared/dist/linkedin-country-timezones.d.ts +24 -0
  46. package/node_modules/@oxygen/shared/dist/linkedin-country-timezones.js +276 -0
  47. package/node_modules/@oxygen/shared/dist/linkedin-message-deletion.d.ts +2 -0
  48. package/node_modules/@oxygen/shared/dist/linkedin-message-deletion.js +5 -0
  49. package/node_modules/@oxygen/shared/dist/linkedin-post-keywords.d.ts +44 -0
  50. package/node_modules/@oxygen/shared/dist/linkedin-post-keywords.js +116 -0
  51. package/node_modules/@oxygen/shared/dist/linkedin-sequences.d.ts +96 -0
  52. package/node_modules/@oxygen/shared/dist/linkedin-sequences.js +123 -0
  53. package/node_modules/@oxygen/shared/dist/llm-durable-capture.d.ts +24 -0
  54. package/node_modules/@oxygen/shared/dist/llm-durable-capture.js +89 -0
  55. package/node_modules/@oxygen/shared/dist/llm-prompts.d.ts +75 -0
  56. package/node_modules/@oxygen/shared/dist/llm-prompts.js +161 -0
  57. package/node_modules/@oxygen/shared/dist/mailbox-egress-ownership.d.ts +90 -0
  58. package/node_modules/@oxygen/shared/dist/mailbox-egress-ownership.js +130 -0
  59. package/node_modules/@oxygen/shared/dist/operational-telemetry.d.ts +24 -0
  60. package/node_modules/@oxygen/shared/dist/operational-telemetry.js +73 -0
  61. package/node_modules/@oxygen/shared/dist/otlp-log-sink.d.ts +29 -4
  62. package/node_modules/@oxygen/shared/dist/otlp-log-sink.js +189 -36
  63. package/node_modules/@oxygen/shared/dist/product-analytics-events.d.ts +21 -2
  64. package/node_modules/@oxygen/shared/dist/product-analytics-events.js +21 -1
  65. package/node_modules/@oxygen/shared/dist/redaction.js +4 -1
  66. package/node_modules/@oxygen/shared/dist/scraper-lane-credential.d.ts +18 -0
  67. package/node_modules/@oxygen/shared/dist/scraper-lane-credential.js +23 -0
  68. package/node_modules/@oxygen/shared/dist/sequences.js +5 -1
  69. package/node_modules/@oxygen/shared/dist/signup-lead-payload.d.ts +80 -0
  70. package/node_modules/@oxygen/shared/dist/signup-lead-payload.js +198 -0
  71. package/node_modules/@oxygen/shared/dist/social-capabilities.d.ts +6 -0
  72. package/node_modules/@oxygen/shared/dist/social-capabilities.js +25 -16
  73. package/node_modules/@oxygen/shared/dist/social-post-metrics-core.d.ts +32 -0
  74. package/node_modules/@oxygen/shared/dist/social-post-metrics-core.js +32 -0
  75. package/node_modules/@oxygen/shared/dist/social-post-metrics-linkedin.d.ts +31 -0
  76. package/node_modules/@oxygen/shared/dist/social-post-metrics-linkedin.js +103 -0
  77. package/node_modules/@oxygen/shared/dist/social-post-metrics-series.d.ts +96 -0
  78. package/node_modules/@oxygen/shared/dist/social-post-metrics-series.js +213 -0
  79. package/node_modules/@oxygen/shared/dist/social-post-metrics-x.d.ts +13 -0
  80. package/node_modules/@oxygen/shared/dist/social-post-metrics-x.js +78 -0
  81. package/node_modules/@oxygen/shared/dist/social-post-metrics.d.ts +36 -0
  82. package/node_modules/@oxygen/shared/dist/social-post-metrics.js +51 -0
  83. package/node_modules/@oxygen/shared/dist/stripe-price-catalog.d.ts +36 -0
  84. package/node_modules/@oxygen/shared/dist/stripe-price-catalog.js +184 -0
  85. package/node_modules/@oxygen/shared/dist/stripe-subscription-kind.d.ts +41 -0
  86. package/node_modules/@oxygen/shared/dist/stripe-subscription-kind.js +44 -0
  87. package/node_modules/@oxygen/shared/dist/table-limits.d.ts +3 -0
  88. package/node_modules/@oxygen/shared/dist/table-limits.js +3 -0
  89. package/node_modules/@oxygen/shared/dist/telemetry-export-observer.d.ts +94 -0
  90. package/node_modules/@oxygen/shared/dist/telemetry-export-observer.js +298 -0
  91. package/node_modules/@oxygen/shared/dist/telemetry.d.ts +11 -0
  92. package/node_modules/@oxygen/shared/dist/telemetry.js +19 -1
  93. package/node_modules/@oxygen/shared/dist/ugc.d.ts +22 -11
  94. package/node_modules/@oxygen/shared/dist/ugc.js +10 -0
  95. package/node_modules/@oxygen/shared/dist/version.generated.d.ts +1 -0
  96. package/node_modules/@oxygen/shared/dist/version.generated.js +2 -0
  97. package/node_modules/@oxygen/shared/dist/version.js +8 -1
  98. package/node_modules/@oxygen/shared/dist/workspace-event-catalog.js +0 -23
  99. package/node_modules/@oxygen/shared/dist/workspace-file-storage.d.ts +29 -0
  100. package/node_modules/@oxygen/shared/dist/workspace-file-storage.js +31 -0
  101. package/node_modules/@oxygen/shared/package.json +9 -0
  102. package/package.json +2 -1
@@ -32,6 +32,35 @@ export declare function readWorkspaceFileObject(input: {
32
32
  mimeType: WorkspaceStoredFileMimeType;
33
33
  signal?: AbortSignal;
34
34
  }): Promise<Uint8Array>;
35
+ /** How long a presigned workspace-file upload stays valid. Long enough for 100 MiB on a slow link. */
36
+ export declare const WORKSPACE_FILE_UPLOAD_PRESIGN_SECONDS = 900;
37
+ /**
38
+ * A presigned PUT for an opaque workspace file whose bytes never pass through
39
+ * the API.
40
+ *
41
+ * The base64-in-JSON path is bounded by the JSON body ceiling (2,000,000
42
+ * bytes, so ~1.5 MB of file) and, on managed production, by the platform's
43
+ * request-body limit — while the store itself allows 100 MiB. The browser and
44
+ * the CLI PUT the bytes straight to object storage instead; the caller declares
45
+ * the size and digest up front (the reservation needs both), and completion
46
+ * runs readWorkspaceFileObject, the same verified readback every stored file
47
+ * gets, so an upload that does not match what was declared is never finalized.
48
+ *
49
+ * `content-type` is signed (the SDK's default is to leave it unsigned) so the
50
+ * stored object's type is the opaque one this store expects; `content-length`
51
+ * is signed by the presigner from ContentLength.
52
+ */
53
+ export declare function presignWorkspaceFileUpload(input: {
54
+ organizationId: string;
55
+ fileId: string;
56
+ fileName: string;
57
+ sizeBytes: number;
58
+ }): Promise<{
59
+ uploadUrl: string;
60
+ storageKey: string;
61
+ expiresInSeconds: number;
62
+ contentType: WorkspaceStoredFileMimeType;
63
+ }>;
35
64
  /** Immutable PUT followed by bounded readback. A matching existing object is a safe retry. */
36
65
  export declare function putWorkspaceFileObject(input: {
37
66
  organizationId: string;
@@ -1,6 +1,7 @@
1
1
  import { Buffer } from "node:buffer";
2
2
  import { createHash } from "node:crypto";
3
3
  import { GetObjectCommand, PutObjectCommand } from "@aws-sdk/client-s3";
4
+ import { getSignedUrl } from "@aws-sdk/s3-request-presigner";
4
5
  import { OxygenError } from "./cli-result.js";
5
6
  import { resolveObjectStorageClient } from "./object-storage.js";
6
7
  export const WORKSPACE_VISUAL_SOURCE_MAX_BYTES = 1_500_000;
@@ -112,6 +113,36 @@ export async function readWorkspaceFileObject(input) {
112
113
  stream.destroy?.();
113
114
  }
114
115
  }
116
+ /** How long a presigned workspace-file upload stays valid. Long enough for 100 MiB on a slow link. */
117
+ export const WORKSPACE_FILE_UPLOAD_PRESIGN_SECONDS = 900;
118
+ /**
119
+ * A presigned PUT for an opaque workspace file whose bytes never pass through
120
+ * the API.
121
+ *
122
+ * The base64-in-JSON path is bounded by the JSON body ceiling (2,000,000
123
+ * bytes, so ~1.5 MB of file) and, on managed production, by the platform's
124
+ * request-body limit — while the store itself allows 100 MiB. The browser and
125
+ * the CLI PUT the bytes straight to object storage instead; the caller declares
126
+ * the size and digest up front (the reservation needs both), and completion
127
+ * runs readWorkspaceFileObject, the same verified readback every stored file
128
+ * gets, so an upload that does not match what was declared is never finalized.
129
+ *
130
+ * `content-type` is signed (the SDK's default is to leave it unsigned) so the
131
+ * stored object's type is the opaque one this store expects; `content-length`
132
+ * is signed by the presigner from ContentLength.
133
+ */
134
+ export async function presignWorkspaceFileUpload(input) {
135
+ if (!Number.isSafeInteger(input.sizeBytes) || input.sizeBytes < 0 || input.sizeBytes > WORKSPACE_OPAQUE_FILE_MAX_BYTES) {
136
+ throw new OxygenError("workspace_file_too_large", "File exceeds 100 MiB.");
137
+ }
138
+ const storageKey = buildWorkspaceFileObjectKey(input);
139
+ const { client, bucket } = resolveObjectStorageClient();
140
+ const contentType = "application/octet-stream";
141
+ const uploadUrl = await getSignedUrl(client, new PutObjectCommand({
142
+ Bucket: bucket, Key: storageKey, ContentLength: input.sizeBytes, ContentType: contentType,
143
+ }), { expiresIn: WORKSPACE_FILE_UPLOAD_PRESIGN_SECONDS, signableHeaders: new Set(["content-type"]) });
144
+ return { uploadUrl, storageKey, expiresInSeconds: WORKSPACE_FILE_UPLOAD_PRESIGN_SECONDS, contentType };
145
+ }
115
146
  /** Immutable PUT followed by bounded readback. A matching existing object is a safe retry. */
116
147
  export async function putWorkspaceFileObject(input) {
117
148
  input.signal?.throwIfAborted();
@@ -166,6 +166,11 @@
166
166
  "import": "./dist/signup-lead-webhook.js",
167
167
  "default": "./dist/signup-lead-webhook.js"
168
168
  },
169
+ "./signup-lead-payload": {
170
+ "types": "./dist/signup-lead-payload.d.ts",
171
+ "import": "./dist/signup-lead-payload.js",
172
+ "default": "./dist/signup-lead-payload.js"
173
+ },
169
174
  "./knowledge-constants": {
170
175
  "types": "./dist/knowledge-constants.d.ts",
171
176
  "import": "./dist/knowledge-constants.js",
@@ -275,6 +280,10 @@
275
280
  "types": "./dist/linkedin-sequences.d.ts",
276
281
  "import": "./dist/linkedin-sequences.js",
277
282
  "default": "./dist/linkedin-sequences.js"
283
+ },
284
+ "./provider-balance-signal": {
285
+ "types": "./dist/provider-balance-signal.d.ts",
286
+ "import": "./dist/provider-balance-signal.js"
278
287
  }
279
288
  },
280
289
  "dependencies": {}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oxygen-agent/cli",
3
- "version": "1.1003.12",
3
+ "version": "1.1010.644",
4
4
  "private": false,
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",
@@ -38,6 +38,7 @@
38
38
  "@langfuse/otel": "^5.11.0",
39
39
  "@langfuse/tracing": "^5.11.0",
40
40
  "@opentelemetry/api": "1.9.1",
41
+ "@opentelemetry/otlp-transformer": "0.221.0",
41
42
  "@opentelemetry/resources": "2.10.0",
42
43
  "@opentelemetry/sdk-trace-base": "2.10.0",
43
44
  "commander": "14.0.3",