@opengeni/contracts 4.4.1 → 4.5.0
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/dist/artifacts.d.ts +5 -0
- package/dist/atlassian.js +30 -30
- package/dist/{chunk-W3NBPR4E.js → chunk-6JVNWADW.js} +2 -2
- package/dist/{chunk-ETVERQ3S.js → chunk-DJ6PLUZE.js} +21 -21
- package/dist/{chunk-4E32IUCQ.js → chunk-EEJP62UG.js} +2 -2
- package/dist/{chunk-ZYVEJFNU.js → chunk-GFMEIAB3.js} +5 -5
- package/dist/{chunk-RUQ4I6DO.js → chunk-NJMU6O3S.js} +4 -4
- package/dist/{chunk-7TQCV4DO.js → chunk-QVD27B6P.js} +76 -32
- package/dist/chunk-QVD27B6P.js.map +1 -0
- package/dist/{chunk-O52OHRH5.js → chunk-TR623IYR.js} +5 -5
- package/dist/client-error-report.d.ts +1 -1
- package/dist/client-error-report.js +1 -0
- package/dist/client-error-report.js.map +1 -1
- package/dist/connect.js +33 -33
- package/dist/connection-authority.js +31 -31
- package/dist/editable-artifact-codec-registry.js +5 -5
- package/dist/editable-artifact-committed-transaction.js +3 -3
- package/dist/editable-artifact-live.js +5 -5
- package/dist/editable-artifact-serialized-commit.js +6 -6
- package/dist/editable-artifacts.js +33 -33
- package/dist/google-drive.js +31 -31
- package/dist/host-mcp-bindings.js +33 -33
- package/dist/index.d.ts +74 -1
- package/dist/index.js +333 -329
- package/dist/personal-github.js +30 -30
- package/dist/spreadsheet-artifact-commands.js +2 -2
- package/dist/spreadsheet-artifact-query.js +3 -3
- package/package.json +1 -1
- package/src/artifacts.ts +8 -0
- package/src/client-error-report.ts +1 -0
- package/src/index.ts +47 -0
- package/dist/chunk-7TQCV4DO.js.map +0 -1
- /package/dist/{chunk-W3NBPR4E.js.map → chunk-6JVNWADW.js.map} +0 -0
- /package/dist/{chunk-ETVERQ3S.js.map → chunk-DJ6PLUZE.js.map} +0 -0
- /package/dist/{chunk-4E32IUCQ.js.map → chunk-EEJP62UG.js.map} +0 -0
- /package/dist/{chunk-ZYVEJFNU.js.map → chunk-GFMEIAB3.js.map} +0 -0
- /package/dist/{chunk-RUQ4I6DO.js.map → chunk-NJMU6O3S.js.map} +0 -0
- /package/dist/{chunk-O52OHRH5.js.map → chunk-TR623IYR.js.map} +0 -0
|
@@ -6,14 +6,11 @@ import {
|
|
|
6
6
|
} from "./chunk-NVJMJWLL.js";
|
|
7
7
|
import {
|
|
8
8
|
editableArtifactCodecFor
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-DJ6PLUZE.js";
|
|
10
10
|
import {
|
|
11
11
|
DOCUMENT_ARTIFACT_COMMAND_MAX_COMMANDS,
|
|
12
12
|
DOCUMENT_ARTIFACT_MAX_STRUCTURAL_COUNTER
|
|
13
13
|
} from "./chunk-PTSROVDG.js";
|
|
14
|
-
import {
|
|
15
|
-
EDITABLE_ARTIFACT_SERIALIZED_COMMIT_VERSION
|
|
16
|
-
} from "./chunk-WVCFSOUZ.js";
|
|
17
14
|
import {
|
|
18
15
|
ArtifactBinaryReader,
|
|
19
16
|
ArtifactBinaryWriter,
|
|
@@ -24,6 +21,9 @@ import {
|
|
|
24
21
|
fnv1a64,
|
|
25
22
|
strictUtf8
|
|
26
23
|
} from "./chunk-WQI7VNN4.js";
|
|
24
|
+
import {
|
|
25
|
+
EDITABLE_ARTIFACT_SERIALIZED_COMMIT_VERSION
|
|
26
|
+
} from "./chunk-WVCFSOUZ.js";
|
|
27
27
|
|
|
28
28
|
// src/editable-artifact-serialized-commit.ts
|
|
29
29
|
import { bytesToHex } from "@noble/hashes/utils";
|
|
@@ -382,4 +382,4 @@ export {
|
|
|
382
382
|
decodeEditableArtifactSerializedCommit,
|
|
383
383
|
assertCanonicalEditableArtifactSerializedCommit
|
|
384
384
|
};
|
|
385
|
-
//# sourceMappingURL=chunk-
|
|
385
|
+
//# sourceMappingURL=chunk-TR623IYR.js.map
|
|
@@ -129,7 +129,7 @@ export declare const CLIENT_WEB_VITAL_MAX_VALUE: Readonly<Record<ClientWebVitalM
|
|
|
129
129
|
* the two identical). Workspace pages are the first path segment after
|
|
130
130
|
* `/workspaces/<id>/`; the rest are exact top-level routes.
|
|
131
131
|
*/
|
|
132
|
-
export declare const CLIENT_PAGES: readonly ["sessions", "priority", "plugins", "capabilities", "documents", "state", "memory", "schedules", "artifacts", "settings", "organization", "insights", "machines", "files", "agents", "secrets", "variable-sets", "environments", "rigs", "playground", "read-only-chats", "inbox", "home", "session-link", "identity-link", "checkout-return", "integration-return", "device", "connect-agent", "native-sign-in", "reset-password", "setup-account", "account-auth", "site-auth", "personal-security", "other"];
|
|
132
|
+
export declare const CLIENT_PAGES: readonly ["sessions", "priority", "plugins", "capabilities", "documents", "state", "memory", "schedules", "artifacts", "settings", "organization", "insights", "machines", "files", "agents", "secrets", "variable-sets", "environments", "rigs", "playground", "read-only-chats", "inbox", "sites", "home", "session-link", "identity-link", "checkout-return", "integration-return", "device", "connect-agent", "native-sign-in", "reset-password", "setup-account", "account-auth", "site-auth", "personal-security", "other"];
|
|
133
133
|
export type ClientPage = (typeof CLIENT_PAGES)[number];
|
|
134
134
|
export type ClientRequestFailureReport = {
|
|
135
135
|
signal: "request_failure";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/client-error-report.ts"],"sourcesContent":["/**\n * Wire grammar of the web client error beacon (`POST /v1/client-errors`).\n *\n * A report is a closed error kind, the matched route PATTERN (never a concrete\n * URL), the bundle revision, and optional error diagnostics: the error's name,\n * message and stack, plus React's component stack for a render failure. The\n * diagnostics are error text, not analytics. They can occasionally contain a\n * fragment of user content (an error message that quotes a value), so they are\n * scrubbed of obvious credentials and query strings by\n * {@link scrubClientErrorText} and bounded per field by\n * {@link CLIENT_ERROR_DETAIL_MAX_BYTES} in the browser, and the API re-applies\n * the same projection to whatever it receives. The web client that projects a\n * report, the API route that admits it, and the public structured-log\n * projection that prints it all validate against these exact rules, so the\n * browser can only send what the API accepts and logs.\n *\n * The same route also admits the closed operational signals below (requests\n * that never reached the server, live-stream health, and web vitals). They\n * follow the same rules: closed values only, a route pattern or page label,\n * never a URL, message, identifier, or user content.\n */\nexport const CLIENT_ERRORS_PATH = \"/v1/client-errors\";\n\nexport const CLIENT_ERROR_KINDS = [\n \"route_error\",\n \"unhandled_rejection\",\n \"window_error\",\n \"chunk_load\",\n] as const;\nexport type ClientErrorKind = (typeof CLIENT_ERROR_KINDS)[number];\n\n/**\n * Largest UTF-8 byte length of each error diagnostic field. A longer value is\n * cut at the end, so a stack keeps its innermost frames.\n */\nexport const CLIENT_ERROR_DETAIL_MAX_BYTES = {\n name: 128,\n message: 1024,\n stack: 4096,\n componentStack: 4096,\n} as const;\nexport type ClientErrorDetailField = keyof typeof CLIENT_ERROR_DETAIL_MAX_BYTES;\nexport const CLIENT_ERROR_DETAIL_FIELDS = Object.keys(\n CLIENT_ERROR_DETAIL_MAX_BYTES,\n) as ClientErrorDetailField[];\n\n/**\n * Largest accepted report body. The detail fields total 9,344 bytes; JSON\n * escaping at most doubles that, which leaves room for the closed fields.\n */\nexport const CLIENT_ERROR_REPORT_MAX_BYTES = 20 * 1024;\n\nconst ROUTE_SEGMENT = String.raw`(?:[a-z]+(?:-[a-z]+)*|\\$[A-Za-z][A-Za-z0-9]{0,31})`;\n\n/**\n * A route pattern of at most 160 characters that is `/`, `unknown`, or up to\n * twelve `/`-separated segments that are each either a lowercase literal\n * (`variable-sets`) or a `$param` placeholder. The grammar excludes digits in\n * literals, so a concrete id cannot pass as one.\n */\nexport const CLIENT_ERROR_ROUTE_PATTERN = new RegExp(\n String.raw`^(?=.{1,160}$)(?:unknown|/|(?:/${ROUTE_SEGMENT}){1,12})$`,\n);\n\n/** The bundle revision token (a commit SHA, `dev`, or `unknown`). */\nexport const CLIENT_ERROR_REVISION_PATTERN = /^[A-Za-z0-9._-]{1,64}$/;\n\n/** Error diagnostics. Every field is optional and already scrubbed and bounded. */\nexport type ClientErrorDetail = Partial<Record<ClientErrorDetailField, string>>;\n\nexport type ClientErrorReport = {\n kind: ClientErrorKind;\n route: string;\n revision: string;\n error?: ClientErrorDetail;\n};\n\nconst REDACTED = \"[redacted]\";\nconst TRUNCATED = \"…[truncated]\";\n\n// Hosts whose error URLs carry the error's arguments in the query string, and\n// nothing else (React's production error decoder links).\nconst ERROR_DECODER_URL = /^https?:\\/\\/(?:react\\.dev\\/errors\\/|reactjs\\.org\\/docs\\/error-decoder)/i;\n\nconst LONE_SURROGATE = /[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?<![\\uD800-\\uDBFF])[\\uDC00-\\uDFFF]/g;\n// Every control character except tab and newline.\n// oxlint-disable-next-line no-control-regex\nconst CONTROL_CHARACTERS = /[\\u0000-\\u0008\\u000B-\\u001F\\u007F]/g;\nconst URL_WITH_QUERY = /\\bhttps?:\\/\\/[^\\s?#\"'<>()`]*[?#][^\\s\"'<>()`]*/gi;\nconst LINE_AND_COLUMN_SUFFIX = /(?::\\d+){1,2}$/;\n// A credential, not prose such as \"Basic authentication\": it contains a digit.\nconst AUTHORIZATION_VALUE =\n /\\b(Bearer|Basic|Token)\\s+(?=[A-Za-z._~+/=-]*[0-9])[A-Za-z0-9._~+/=-]{8,}/gi;\nconst JWT = /\\beyJ[A-Za-z0-9_-]{5,}\\.[A-Za-z0-9_-]{5,}(?:\\.[A-Za-z0-9_-]*)?/g;\nconst KNOWN_TOKEN =\n /\\b(?:sk-(?:proj-|ant-)?|sk_(?:live|test)_|rk_(?:live|test)_|gh[pousr]_|github_pat_|glpat-|npm_|xox[abposr]-|ops_|AKIA|ASIA|AIza)[A-Za-z0-9_-]{12,}/g;\n// The value never starts with `[` or `…`, so an already redacted value and a\n// truncation marker are left alone and the scrubber stays idempotent.\nconst SECRET_ASSIGNMENT =\n /\\b((?:access[_-]?token|refresh[_-]?token|id[_-]?token|session[_-]?token|token|client[_-]?secret|secret|password|passwd|api[_-]?key|apikey|authorization|cookie|private[_-]?key)[\"']?\\s*[:=]\\s*[\"']?)[^\\s\"'&,;}[…][^\\s\"'&,;}]*/gi;\nconst OPAQUE_RUN = /[A-Za-z0-9+=_-]{32,}/g;\n\n/**\n * A long run that looks like a credential rather than a word, chunk name,\n * path or UUID: it mixes letters and digits and has an unbroken stretch of at\n * least 24 characters between `-`/`_` separators. Content-hashed asset names\n * (`artifact-page-chrome-DkF3x9aB`) and UUIDs have no stretch that long.\n */\nfunction isOpaqueCredential(run: string): boolean {\n return (\n /[0-9]/.test(run) &&\n /[A-Za-z]/.test(run) &&\n run.split(/[-_]/).some((stretch) => stretch.length >= 24)\n );\n}\n\n/**\n * Remove what an error text must never carry while keeping what makes it\n * useful. Query strings and fragments are dropped from http(s) URLs (keeping a\n * stack frame's `:line:column`); authorization values, JWTs, well-known API\n * token formats, the values of `token=`/`password:`-style assignments, and\n * long opaque letter-and-digit runs become `[redacted]`; control characters\n * other than tab and newline become spaces. Messages, file names, route paths,\n * UUIDs and stack frames survive. Applying it twice changes nothing.\n */\nexport function scrubClientErrorText(text: string): string {\n return text\n .replace(LONE_SURROGATE, \"\\uFFFD\")\n .replace(/\\r\\n?/g, \"\\n\")\n .replace(CONTROL_CHARACTERS, \" \")\n .replace(URL_WITH_QUERY, (url) => {\n if (ERROR_DECODER_URL.test(url)) return url;\n const cut = url.search(/[?#]/);\n const suffix = url.slice(cut).match(LINE_AND_COLUMN_SUFFIX)?.[0] ?? \"\";\n return url.slice(0, cut) + suffix;\n })\n .replace(AUTHORIZATION_VALUE, `$1 ${REDACTED}`)\n .replace(JWT, REDACTED)\n .replace(KNOWN_TOKEN, REDACTED)\n .replace(SECRET_ASSIGNMENT, `$1${REDACTED}`)\n .replace(OPAQUE_RUN, (run) => (isOpaqueCredential(run) ? REDACTED : run));\n}\n\nfunction utf8ByteLength(text: string): number {\n return new TextEncoder().encode(text).byteLength;\n}\n\n/**\n * Cut `text` to at most `maxBytes` UTF-8 bytes on a character boundary, ending\n * with a truncation marker when anything was removed.\n */\nexport function boundClientErrorText(text: string, maxBytes: number): string {\n if (utf8ByteLength(text) <= maxBytes) return text;\n const budget = maxBytes - utf8ByteLength(TRUNCATED);\n let bytes = 0;\n let end = 0;\n for (const character of text) {\n const size = utf8ByteLength(character);\n if (bytes + size > budget) break;\n bytes += size;\n end += character.length;\n }\n return text.slice(0, end) + TRUNCATED;\n}\n\n/** Whether `text` is already exactly what the projection would produce for it. */\nexport function isProjectedClientErrorText(text: string, field: ClientErrorDetailField): boolean {\n return (\n text.length > 0 &&\n utf8ByteLength(text) <= CLIENT_ERROR_DETAIL_MAX_BYTES[field] &&\n scrubClientErrorText(text) === text\n );\n}\n\n/**\n * Project raw diagnostics into a {@link ClientErrorDetail}: non-string and\n * blank fields are dropped, the rest scrubbed and then bounded. Returns\n * `undefined` when nothing remains. Bounding after scrubbing keeps a cut from\n * splitting a credential into a fragment the scrubber no longer recognizes;\n * the marker cannot form one, so the result is stable under re-projection.\n */\nexport function projectClientErrorDetail(\n raw: Partial<Record<ClientErrorDetailField, unknown>> | null | undefined,\n): ClientErrorDetail | undefined {\n if (!raw) return undefined;\n const detail: ClientErrorDetail = {};\n for (const field of CLIENT_ERROR_DETAIL_FIELDS) {\n const value = raw[field];\n if (typeof value !== \"string\") continue;\n const projected = boundClientErrorText(\n scrubClientErrorText(value).trim(),\n CLIENT_ERROR_DETAIL_MAX_BYTES[field],\n );\n if (projected) detail[field] = projected;\n }\n return Object.keys(detail).length > 0 ? detail : undefined;\n}\n\n/**\n * Content-free operational signals that share the error beacon route. A\n * signal report carries a `signal` discriminator and only closed values; a\n * report without `signal` is a {@link ClientErrorReport}. Older API servers\n * reject signal reports as invalid, so the extension is backward compatible in\n * both directions.\n */\nexport const CLIENT_SIGNALS = [\"request_failure\", \"stream\", \"web_vital\"] as const;\nexport type ClientSignal = (typeof CLIENT_SIGNALS)[number];\n\n/**\n * Key product mutations whose failure before any HTTP response is counted.\n * `send_message` includes sends the server queues behind an active turn.\n */\nexport const CLIENT_REQUEST_ACTIONS = [\n \"create_session\",\n \"send_message\",\n \"steer_message\",\n \"composer_submit\",\n \"retry_turn\",\n \"connect_integration\",\n \"connect_model\",\n \"checkout_start\",\n] as const;\nexport type ClientRequestAction = (typeof CLIENT_REQUEST_ACTIONS)[number];\n\n/**\n * Why a request never produced an HTTP response: the browser reported no\n * connectivity (`offline`), the client's own deadline expired (`timeout`), or\n * the transport failed (`network`). Cancellations the user or the app\n * initiated are never reported.\n */\nexport const CLIENT_REQUEST_FAILURE_REASONS = [\"network\", \"timeout\", \"offline\"] as const;\nexport type ClientRequestFailureReason = (typeof CLIENT_REQUEST_FAILURE_REASONS)[number];\n\n/** Browser live streams: one session's event stream, or the workspace live stream. */\nexport const CLIENT_STREAMS = [\"session\", \"workspace\"] as const;\nexport type ClientStream = (typeof CLIENT_STREAMS)[number];\n\n/**\n * Live stream health: a live stream dropped and started reconnecting\n * (`reconnect`), stopped reconnecting (`reconnect_exhausted`), or stayed\n * disconnected for longer than the long-disconnect threshold while the tab\n * was visible (`long_disconnect`).\n */\nexport const CLIENT_STREAM_EVENTS = [\n \"reconnect\",\n \"reconnect_exhausted\",\n \"long_disconnect\",\n] as const;\nexport type ClientStreamEvent = (typeof CLIENT_STREAM_EVENTS)[number];\n\n/** Core Web Vitals plus time to first byte, measured once per document. */\nexport const CLIENT_WEB_VITAL_METRICS = [\"lcp\", \"inp\", \"cls\", \"ttfb\"] as const;\nexport type ClientWebVitalMetric = (typeof CLIENT_WEB_VITAL_METRICS)[number];\n\n/**\n * Largest accepted value: seconds for the timing metrics, the unitless layout\n * shift score for `cls`.\n */\nexport const CLIENT_WEB_VITAL_MAX_VALUE: Readonly<Record<ClientWebVitalMetric, number>> = {\n lcp: 600,\n inp: 600,\n cls: 100,\n ttfb: 600,\n};\n\n/**\n * The closed page labels of the web console's product-journey projection\n * (`journeyPage` in apps/web/src/lib/analytics-journey.ts; a drift test keeps\n * the two identical). Workspace pages are the first path segment after\n * `/workspaces/<id>/`; the rest are exact top-level routes.\n */\nexport const CLIENT_PAGES = [\n \"sessions\",\n \"priority\",\n \"plugins\",\n \"capabilities\",\n \"documents\",\n \"state\",\n \"memory\",\n \"schedules\",\n \"artifacts\",\n \"settings\",\n \"organization\",\n \"insights\",\n \"machines\",\n \"files\",\n \"agents\",\n \"secrets\",\n \"variable-sets\",\n \"environments\",\n \"rigs\",\n \"playground\",\n \"read-only-chats\",\n \"inbox\",\n \"home\",\n \"session-link\",\n \"identity-link\",\n \"checkout-return\",\n \"integration-return\",\n \"device\",\n \"connect-agent\",\n \"native-sign-in\",\n \"reset-password\",\n \"setup-account\",\n \"account-auth\",\n \"site-auth\",\n \"personal-security\",\n \"other\",\n] as const;\nexport type ClientPage = (typeof CLIENT_PAGES)[number];\n\nexport type ClientRequestFailureReport = {\n signal: \"request_failure\";\n action: ClientRequestAction;\n reason: ClientRequestFailureReason;\n route: string;\n revision: string;\n};\n\nexport type ClientStreamReport = {\n signal: \"stream\";\n stream: ClientStream;\n event: ClientStreamEvent;\n route: string;\n revision: string;\n};\n\nexport type ClientWebVitalReport = {\n signal: \"web_vital\";\n metric: ClientWebVitalMetric;\n page: ClientPage;\n /** Seconds for timing metrics, the unitless score for `cls`. */\n value: number;\n revision: string;\n};\n\nexport type ClientSignalReport =\n | ClientRequestFailureReport\n | ClientStreamReport\n | ClientWebVitalReport;\n\n/** Every body the beacon route accepts. */\nexport type ClientBeaconReport = ClientErrorReport | ClientSignalReport;\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/client-error-report.ts"],"sourcesContent":["/**\n * Wire grammar of the web client error beacon (`POST /v1/client-errors`).\n *\n * A report is a closed error kind, the matched route PATTERN (never a concrete\n * URL), the bundle revision, and optional error diagnostics: the error's name,\n * message and stack, plus React's component stack for a render failure. The\n * diagnostics are error text, not analytics. They can occasionally contain a\n * fragment of user content (an error message that quotes a value), so they are\n * scrubbed of obvious credentials and query strings by\n * {@link scrubClientErrorText} and bounded per field by\n * {@link CLIENT_ERROR_DETAIL_MAX_BYTES} in the browser, and the API re-applies\n * the same projection to whatever it receives. The web client that projects a\n * report, the API route that admits it, and the public structured-log\n * projection that prints it all validate against these exact rules, so the\n * browser can only send what the API accepts and logs.\n *\n * The same route also admits the closed operational signals below (requests\n * that never reached the server, live-stream health, and web vitals). They\n * follow the same rules: closed values only, a route pattern or page label,\n * never a URL, message, identifier, or user content.\n */\nexport const CLIENT_ERRORS_PATH = \"/v1/client-errors\";\n\nexport const CLIENT_ERROR_KINDS = [\n \"route_error\",\n \"unhandled_rejection\",\n \"window_error\",\n \"chunk_load\",\n] as const;\nexport type ClientErrorKind = (typeof CLIENT_ERROR_KINDS)[number];\n\n/**\n * Largest UTF-8 byte length of each error diagnostic field. A longer value is\n * cut at the end, so a stack keeps its innermost frames.\n */\nexport const CLIENT_ERROR_DETAIL_MAX_BYTES = {\n name: 128,\n message: 1024,\n stack: 4096,\n componentStack: 4096,\n} as const;\nexport type ClientErrorDetailField = keyof typeof CLIENT_ERROR_DETAIL_MAX_BYTES;\nexport const CLIENT_ERROR_DETAIL_FIELDS = Object.keys(\n CLIENT_ERROR_DETAIL_MAX_BYTES,\n) as ClientErrorDetailField[];\n\n/**\n * Largest accepted report body. The detail fields total 9,344 bytes; JSON\n * escaping at most doubles that, which leaves room for the closed fields.\n */\nexport const CLIENT_ERROR_REPORT_MAX_BYTES = 20 * 1024;\n\nconst ROUTE_SEGMENT = String.raw`(?:[a-z]+(?:-[a-z]+)*|\\$[A-Za-z][A-Za-z0-9]{0,31})`;\n\n/**\n * A route pattern of at most 160 characters that is `/`, `unknown`, or up to\n * twelve `/`-separated segments that are each either a lowercase literal\n * (`variable-sets`) or a `$param` placeholder. The grammar excludes digits in\n * literals, so a concrete id cannot pass as one.\n */\nexport const CLIENT_ERROR_ROUTE_PATTERN = new RegExp(\n String.raw`^(?=.{1,160}$)(?:unknown|/|(?:/${ROUTE_SEGMENT}){1,12})$`,\n);\n\n/** The bundle revision token (a commit SHA, `dev`, or `unknown`). */\nexport const CLIENT_ERROR_REVISION_PATTERN = /^[A-Za-z0-9._-]{1,64}$/;\n\n/** Error diagnostics. Every field is optional and already scrubbed and bounded. */\nexport type ClientErrorDetail = Partial<Record<ClientErrorDetailField, string>>;\n\nexport type ClientErrorReport = {\n kind: ClientErrorKind;\n route: string;\n revision: string;\n error?: ClientErrorDetail;\n};\n\nconst REDACTED = \"[redacted]\";\nconst TRUNCATED = \"…[truncated]\";\n\n// Hosts whose error URLs carry the error's arguments in the query string, and\n// nothing else (React's production error decoder links).\nconst ERROR_DECODER_URL = /^https?:\\/\\/(?:react\\.dev\\/errors\\/|reactjs\\.org\\/docs\\/error-decoder)/i;\n\nconst LONE_SURROGATE = /[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?<![\\uD800-\\uDBFF])[\\uDC00-\\uDFFF]/g;\n// Every control character except tab and newline.\n// oxlint-disable-next-line no-control-regex\nconst CONTROL_CHARACTERS = /[\\u0000-\\u0008\\u000B-\\u001F\\u007F]/g;\nconst URL_WITH_QUERY = /\\bhttps?:\\/\\/[^\\s?#\"'<>()`]*[?#][^\\s\"'<>()`]*/gi;\nconst LINE_AND_COLUMN_SUFFIX = /(?::\\d+){1,2}$/;\n// A credential, not prose such as \"Basic authentication\": it contains a digit.\nconst AUTHORIZATION_VALUE =\n /\\b(Bearer|Basic|Token)\\s+(?=[A-Za-z._~+/=-]*[0-9])[A-Za-z0-9._~+/=-]{8,}/gi;\nconst JWT = /\\beyJ[A-Za-z0-9_-]{5,}\\.[A-Za-z0-9_-]{5,}(?:\\.[A-Za-z0-9_-]*)?/g;\nconst KNOWN_TOKEN =\n /\\b(?:sk-(?:proj-|ant-)?|sk_(?:live|test)_|rk_(?:live|test)_|gh[pousr]_|github_pat_|glpat-|npm_|xox[abposr]-|ops_|AKIA|ASIA|AIza)[A-Za-z0-9_-]{12,}/g;\n// The value never starts with `[` or `…`, so an already redacted value and a\n// truncation marker are left alone and the scrubber stays idempotent.\nconst SECRET_ASSIGNMENT =\n /\\b((?:access[_-]?token|refresh[_-]?token|id[_-]?token|session[_-]?token|token|client[_-]?secret|secret|password|passwd|api[_-]?key|apikey|authorization|cookie|private[_-]?key)[\"']?\\s*[:=]\\s*[\"']?)[^\\s\"'&,;}[…][^\\s\"'&,;}]*/gi;\nconst OPAQUE_RUN = /[A-Za-z0-9+=_-]{32,}/g;\n\n/**\n * A long run that looks like a credential rather than a word, chunk name,\n * path or UUID: it mixes letters and digits and has an unbroken stretch of at\n * least 24 characters between `-`/`_` separators. Content-hashed asset names\n * (`artifact-page-chrome-DkF3x9aB`) and UUIDs have no stretch that long.\n */\nfunction isOpaqueCredential(run: string): boolean {\n return (\n /[0-9]/.test(run) &&\n /[A-Za-z]/.test(run) &&\n run.split(/[-_]/).some((stretch) => stretch.length >= 24)\n );\n}\n\n/**\n * Remove what an error text must never carry while keeping what makes it\n * useful. Query strings and fragments are dropped from http(s) URLs (keeping a\n * stack frame's `:line:column`); authorization values, JWTs, well-known API\n * token formats, the values of `token=`/`password:`-style assignments, and\n * long opaque letter-and-digit runs become `[redacted]`; control characters\n * other than tab and newline become spaces. Messages, file names, route paths,\n * UUIDs and stack frames survive. Applying it twice changes nothing.\n */\nexport function scrubClientErrorText(text: string): string {\n return text\n .replace(LONE_SURROGATE, \"\\uFFFD\")\n .replace(/\\r\\n?/g, \"\\n\")\n .replace(CONTROL_CHARACTERS, \" \")\n .replace(URL_WITH_QUERY, (url) => {\n if (ERROR_DECODER_URL.test(url)) return url;\n const cut = url.search(/[?#]/);\n const suffix = url.slice(cut).match(LINE_AND_COLUMN_SUFFIX)?.[0] ?? \"\";\n return url.slice(0, cut) + suffix;\n })\n .replace(AUTHORIZATION_VALUE, `$1 ${REDACTED}`)\n .replace(JWT, REDACTED)\n .replace(KNOWN_TOKEN, REDACTED)\n .replace(SECRET_ASSIGNMENT, `$1${REDACTED}`)\n .replace(OPAQUE_RUN, (run) => (isOpaqueCredential(run) ? REDACTED : run));\n}\n\nfunction utf8ByteLength(text: string): number {\n return new TextEncoder().encode(text).byteLength;\n}\n\n/**\n * Cut `text` to at most `maxBytes` UTF-8 bytes on a character boundary, ending\n * with a truncation marker when anything was removed.\n */\nexport function boundClientErrorText(text: string, maxBytes: number): string {\n if (utf8ByteLength(text) <= maxBytes) return text;\n const budget = maxBytes - utf8ByteLength(TRUNCATED);\n let bytes = 0;\n let end = 0;\n for (const character of text) {\n const size = utf8ByteLength(character);\n if (bytes + size > budget) break;\n bytes += size;\n end += character.length;\n }\n return text.slice(0, end) + TRUNCATED;\n}\n\n/** Whether `text` is already exactly what the projection would produce for it. */\nexport function isProjectedClientErrorText(text: string, field: ClientErrorDetailField): boolean {\n return (\n text.length > 0 &&\n utf8ByteLength(text) <= CLIENT_ERROR_DETAIL_MAX_BYTES[field] &&\n scrubClientErrorText(text) === text\n );\n}\n\n/**\n * Project raw diagnostics into a {@link ClientErrorDetail}: non-string and\n * blank fields are dropped, the rest scrubbed and then bounded. Returns\n * `undefined` when nothing remains. Bounding after scrubbing keeps a cut from\n * splitting a credential into a fragment the scrubber no longer recognizes;\n * the marker cannot form one, so the result is stable under re-projection.\n */\nexport function projectClientErrorDetail(\n raw: Partial<Record<ClientErrorDetailField, unknown>> | null | undefined,\n): ClientErrorDetail | undefined {\n if (!raw) return undefined;\n const detail: ClientErrorDetail = {};\n for (const field of CLIENT_ERROR_DETAIL_FIELDS) {\n const value = raw[field];\n if (typeof value !== \"string\") continue;\n const projected = boundClientErrorText(\n scrubClientErrorText(value).trim(),\n CLIENT_ERROR_DETAIL_MAX_BYTES[field],\n );\n if (projected) detail[field] = projected;\n }\n return Object.keys(detail).length > 0 ? detail : undefined;\n}\n\n/**\n * Content-free operational signals that share the error beacon route. A\n * signal report carries a `signal` discriminator and only closed values; a\n * report without `signal` is a {@link ClientErrorReport}. Older API servers\n * reject signal reports as invalid, so the extension is backward compatible in\n * both directions.\n */\nexport const CLIENT_SIGNALS = [\"request_failure\", \"stream\", \"web_vital\"] as const;\nexport type ClientSignal = (typeof CLIENT_SIGNALS)[number];\n\n/**\n * Key product mutations whose failure before any HTTP response is counted.\n * `send_message` includes sends the server queues behind an active turn.\n */\nexport const CLIENT_REQUEST_ACTIONS = [\n \"create_session\",\n \"send_message\",\n \"steer_message\",\n \"composer_submit\",\n \"retry_turn\",\n \"connect_integration\",\n \"connect_model\",\n \"checkout_start\",\n] as const;\nexport type ClientRequestAction = (typeof CLIENT_REQUEST_ACTIONS)[number];\n\n/**\n * Why a request never produced an HTTP response: the browser reported no\n * connectivity (`offline`), the client's own deadline expired (`timeout`), or\n * the transport failed (`network`). Cancellations the user or the app\n * initiated are never reported.\n */\nexport const CLIENT_REQUEST_FAILURE_REASONS = [\"network\", \"timeout\", \"offline\"] as const;\nexport type ClientRequestFailureReason = (typeof CLIENT_REQUEST_FAILURE_REASONS)[number];\n\n/** Browser live streams: one session's event stream, or the workspace live stream. */\nexport const CLIENT_STREAMS = [\"session\", \"workspace\"] as const;\nexport type ClientStream = (typeof CLIENT_STREAMS)[number];\n\n/**\n * Live stream health: a live stream dropped and started reconnecting\n * (`reconnect`), stopped reconnecting (`reconnect_exhausted`), or stayed\n * disconnected for longer than the long-disconnect threshold while the tab\n * was visible (`long_disconnect`).\n */\nexport const CLIENT_STREAM_EVENTS = [\n \"reconnect\",\n \"reconnect_exhausted\",\n \"long_disconnect\",\n] as const;\nexport type ClientStreamEvent = (typeof CLIENT_STREAM_EVENTS)[number];\n\n/** Core Web Vitals plus time to first byte, measured once per document. */\nexport const CLIENT_WEB_VITAL_METRICS = [\"lcp\", \"inp\", \"cls\", \"ttfb\"] as const;\nexport type ClientWebVitalMetric = (typeof CLIENT_WEB_VITAL_METRICS)[number];\n\n/**\n * Largest accepted value: seconds for the timing metrics, the unitless layout\n * shift score for `cls`.\n */\nexport const CLIENT_WEB_VITAL_MAX_VALUE: Readonly<Record<ClientWebVitalMetric, number>> = {\n lcp: 600,\n inp: 600,\n cls: 100,\n ttfb: 600,\n};\n\n/**\n * The closed page labels of the web console's product-journey projection\n * (`journeyPage` in apps/web/src/lib/analytics-journey.ts; a drift test keeps\n * the two identical). Workspace pages are the first path segment after\n * `/workspaces/<id>/`; the rest are exact top-level routes.\n */\nexport const CLIENT_PAGES = [\n \"sessions\",\n \"priority\",\n \"plugins\",\n \"capabilities\",\n \"documents\",\n \"state\",\n \"memory\",\n \"schedules\",\n \"artifacts\",\n \"settings\",\n \"organization\",\n \"insights\",\n \"machines\",\n \"files\",\n \"agents\",\n \"secrets\",\n \"variable-sets\",\n \"environments\",\n \"rigs\",\n \"playground\",\n \"read-only-chats\",\n \"inbox\",\n \"sites\",\n \"home\",\n \"session-link\",\n \"identity-link\",\n \"checkout-return\",\n \"integration-return\",\n \"device\",\n \"connect-agent\",\n \"native-sign-in\",\n \"reset-password\",\n \"setup-account\",\n \"account-auth\",\n \"site-auth\",\n \"personal-security\",\n \"other\",\n] as const;\nexport type ClientPage = (typeof CLIENT_PAGES)[number];\n\nexport type ClientRequestFailureReport = {\n signal: \"request_failure\";\n action: ClientRequestAction;\n reason: ClientRequestFailureReason;\n route: string;\n revision: string;\n};\n\nexport type ClientStreamReport = {\n signal: \"stream\";\n stream: ClientStream;\n event: ClientStreamEvent;\n route: string;\n revision: string;\n};\n\nexport type ClientWebVitalReport = {\n signal: \"web_vital\";\n metric: ClientWebVitalMetric;\n page: ClientPage;\n /** Seconds for timing metrics, the unitless score for `cls`. */\n value: number;\n revision: string;\n};\n\nexport type ClientSignalReport =\n | ClientRequestFailureReport\n | ClientStreamReport\n | ClientWebVitalReport;\n\n/** Every body the beacon route accepts. */\nexport type ClientBeaconReport = ClientErrorReport | ClientSignalReport;\n"],"mappings":"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","names":[]}
|
package/dist/connect.js
CHANGED
|
@@ -1,53 +1,53 @@
|
|
|
1
1
|
import {
|
|
2
2
|
IntegrationInstanceKey,
|
|
3
3
|
IntegrationSource
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-QVD27B6P.js";
|
|
5
|
+
import "./chunk-EZMMXU2Z.js";
|
|
6
|
+
import "./chunk-CK33N4MN.js";
|
|
7
|
+
import "./chunk-6IXO76Z6.js";
|
|
6
8
|
import "./chunk-A25JT3JW.js";
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-TSWWZMUS.js";
|
|
10
|
-
import {
|
|
11
|
-
PreparedMcpSetup,
|
|
12
|
-
preparedMcpHeaders
|
|
13
|
-
} from "./chunk-XDLAGX66.js";
|
|
9
|
+
import "./chunk-VGP74254.js";
|
|
10
|
+
import "./chunk-EKWNTOG3.js";
|
|
14
11
|
import "./chunk-2ZIHHL72.js";
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-GFMEIAB3.js";
|
|
13
|
+
import "./chunk-C5E5WCHU.js";
|
|
14
|
+
import "./chunk-ZDCRWCGZ.js";
|
|
17
15
|
import "./chunk-SHO4YO4B.js";
|
|
16
|
+
import "./chunk-4JGHSSB7.js";
|
|
17
|
+
import "./chunk-C6HESWDB.js";
|
|
18
|
+
import "./chunk-NDZHPTCL.js";
|
|
19
|
+
import "./chunk-PUIUXIOL.js";
|
|
20
|
+
import "./chunk-LZ2LAHIX.js";
|
|
21
|
+
import "./chunk-YKZ4WU4P.js";
|
|
18
22
|
import "./chunk-4VDMHLLL.js";
|
|
19
|
-
import "./chunk-T3HSWMA5.js";
|
|
20
23
|
import "./chunk-KHHZTBP7.js";
|
|
24
|
+
import "./chunk-SWRN2DJ3.js";
|
|
25
|
+
import "./chunk-HRRU4QPI.js";
|
|
26
|
+
import "./chunk-T3HSWMA5.js";
|
|
27
|
+
import "./chunk-TR623IYR.js";
|
|
21
28
|
import "./chunk-NVJMJWLL.js";
|
|
22
|
-
import "./chunk-ETVERQ3S.js";
|
|
23
29
|
import "./chunk-TOOJIBJC.js";
|
|
24
|
-
import "./chunk-
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-
|
|
27
|
-
import "./chunk-
|
|
30
|
+
import "./chunk-DJ6PLUZE.js";
|
|
31
|
+
import "./chunk-XP5M3IKT.js";
|
|
32
|
+
import "./chunk-6JVNWADW.js";
|
|
33
|
+
import "./chunk-NJMU6O3S.js";
|
|
28
34
|
import "./chunk-OL23ARTF.js";
|
|
29
|
-
import "./chunk-
|
|
30
|
-
import "./chunk-
|
|
31
|
-
import
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
import "./chunk-
|
|
36
|
-
import "./chunk-ZYVEJFNU.js";
|
|
35
|
+
import "./chunk-7272KVWZ.js";
|
|
36
|
+
import "./chunk-RKX3NQYS.js";
|
|
37
|
+
import {
|
|
38
|
+
PreparedMcpSetup,
|
|
39
|
+
preparedMcpHeaders
|
|
40
|
+
} from "./chunk-XDLAGX66.js";
|
|
41
|
+
import "./chunk-J4HQ3UKY.js";
|
|
37
42
|
import "./chunk-PTSROVDG.js";
|
|
43
|
+
import "./chunk-WQI7VNN4.js";
|
|
44
|
+
import "./chunk-D6XFSFSN.js";
|
|
45
|
+
import "./chunk-TSWWZMUS.js";
|
|
38
46
|
import "./chunk-4QO6GJUX.js";
|
|
39
|
-
import "./chunk-EKWNTOG3.js";
|
|
40
47
|
import {
|
|
41
48
|
defineSchema
|
|
42
49
|
} from "./chunk-56SNIMDO.js";
|
|
43
|
-
import "./chunk-XP5M3IKT.js";
|
|
44
|
-
import "./chunk-PUIUXIOL.js";
|
|
45
|
-
import "./chunk-RKX3NQYS.js";
|
|
46
|
-
import "./chunk-7272KVWZ.js";
|
|
47
|
-
import "./chunk-W3NBPR4E.js";
|
|
48
|
-
import "./chunk-RUQ4I6DO.js";
|
|
49
50
|
import "./chunk-WVCFSOUZ.js";
|
|
50
|
-
import "./chunk-WQI7VNN4.js";
|
|
51
51
|
|
|
52
52
|
// src/connect.ts
|
|
53
53
|
import { z } from "zod";
|
|
@@ -6,49 +6,49 @@ import {
|
|
|
6
6
|
ConnectionUseAuthorizationResult,
|
|
7
7
|
ConnectionUseDenialReason,
|
|
8
8
|
ConnectionUseSelectionSource
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-EEJP62UG.js";
|
|
10
|
+
import "./chunk-QVD27B6P.js";
|
|
11
|
+
import "./chunk-EZMMXU2Z.js";
|
|
12
|
+
import "./chunk-CK33N4MN.js";
|
|
13
|
+
import "./chunk-6IXO76Z6.js";
|
|
12
14
|
import "./chunk-A25JT3JW.js";
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-TSWWZMUS.js";
|
|
16
|
-
import "./chunk-XDLAGX66.js";
|
|
15
|
+
import "./chunk-VGP74254.js";
|
|
16
|
+
import "./chunk-EKWNTOG3.js";
|
|
17
17
|
import "./chunk-2ZIHHL72.js";
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-GFMEIAB3.js";
|
|
19
|
+
import "./chunk-C5E5WCHU.js";
|
|
20
|
+
import "./chunk-ZDCRWCGZ.js";
|
|
20
21
|
import "./chunk-SHO4YO4B.js";
|
|
22
|
+
import "./chunk-4JGHSSB7.js";
|
|
23
|
+
import "./chunk-C6HESWDB.js";
|
|
24
|
+
import "./chunk-NDZHPTCL.js";
|
|
25
|
+
import "./chunk-PUIUXIOL.js";
|
|
26
|
+
import "./chunk-LZ2LAHIX.js";
|
|
27
|
+
import "./chunk-YKZ4WU4P.js";
|
|
21
28
|
import "./chunk-4VDMHLLL.js";
|
|
22
|
-
import "./chunk-T3HSWMA5.js";
|
|
23
29
|
import "./chunk-KHHZTBP7.js";
|
|
30
|
+
import "./chunk-SWRN2DJ3.js";
|
|
31
|
+
import "./chunk-HRRU4QPI.js";
|
|
32
|
+
import "./chunk-T3HSWMA5.js";
|
|
33
|
+
import "./chunk-TR623IYR.js";
|
|
24
34
|
import "./chunk-NVJMJWLL.js";
|
|
25
|
-
import "./chunk-ETVERQ3S.js";
|
|
26
35
|
import "./chunk-TOOJIBJC.js";
|
|
27
|
-
import "./chunk-
|
|
28
|
-
import "./chunk-
|
|
29
|
-
import "./chunk-
|
|
30
|
-
import "./chunk-
|
|
36
|
+
import "./chunk-DJ6PLUZE.js";
|
|
37
|
+
import "./chunk-XP5M3IKT.js";
|
|
38
|
+
import "./chunk-6JVNWADW.js";
|
|
39
|
+
import "./chunk-NJMU6O3S.js";
|
|
31
40
|
import "./chunk-OL23ARTF.js";
|
|
32
|
-
import "./chunk-
|
|
33
|
-
import "./chunk-
|
|
34
|
-
import "./chunk-
|
|
35
|
-
import "./chunk-
|
|
36
|
-
import "./chunk-ZDCRWCGZ.js";
|
|
37
|
-
import "./chunk-SWRN2DJ3.js";
|
|
38
|
-
import "./chunk-HRRU4QPI.js";
|
|
39
|
-
import "./chunk-ZYVEJFNU.js";
|
|
41
|
+
import "./chunk-7272KVWZ.js";
|
|
42
|
+
import "./chunk-RKX3NQYS.js";
|
|
43
|
+
import "./chunk-XDLAGX66.js";
|
|
44
|
+
import "./chunk-J4HQ3UKY.js";
|
|
40
45
|
import "./chunk-PTSROVDG.js";
|
|
46
|
+
import "./chunk-WQI7VNN4.js";
|
|
47
|
+
import "./chunk-D6XFSFSN.js";
|
|
48
|
+
import "./chunk-TSWWZMUS.js";
|
|
41
49
|
import "./chunk-4QO6GJUX.js";
|
|
42
|
-
import "./chunk-EKWNTOG3.js";
|
|
43
50
|
import "./chunk-56SNIMDO.js";
|
|
44
|
-
import "./chunk-XP5M3IKT.js";
|
|
45
|
-
import "./chunk-PUIUXIOL.js";
|
|
46
|
-
import "./chunk-RKX3NQYS.js";
|
|
47
|
-
import "./chunk-7272KVWZ.js";
|
|
48
|
-
import "./chunk-W3NBPR4E.js";
|
|
49
|
-
import "./chunk-RUQ4I6DO.js";
|
|
50
51
|
import "./chunk-WVCFSOUZ.js";
|
|
51
|
-
import "./chunk-WQI7VNN4.js";
|
|
52
52
|
export {
|
|
53
53
|
ConnectionAuthoritySelectionSource,
|
|
54
54
|
ConnectionUseAttribution,
|
|
@@ -2,11 +2,12 @@ import {
|
|
|
2
2
|
EDITABLE_ARTIFACT_CODEC_REGISTRY,
|
|
3
3
|
currentEditableArtifactCompatibility,
|
|
4
4
|
editableArtifactCodecFor
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-PTSROVDG.js";
|
|
5
|
+
} from "./chunk-DJ6PLUZE.js";
|
|
7
6
|
import "./chunk-XP5M3IKT.js";
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
7
|
+
import "./chunk-6JVNWADW.js";
|
|
8
|
+
import "./chunk-NJMU6O3S.js";
|
|
9
|
+
import "./chunk-PTSROVDG.js";
|
|
10
|
+
import "./chunk-WQI7VNN4.js";
|
|
10
11
|
import {
|
|
11
12
|
DOCUMENT_ARTIFACT_MODEL_SCHEMA_VERSION,
|
|
12
13
|
DOCUMENT_ARTIFACT_SNAPSHOT_VERSION,
|
|
@@ -15,7 +16,6 @@ import {
|
|
|
15
16
|
SPREADSHEET_ARTIFACT_MODEL_SCHEMA_VERSION,
|
|
16
17
|
SPREADSHEET_COLLABORATION_SNAPSHOT_VERSION
|
|
17
18
|
} from "./chunk-WVCFSOUZ.js";
|
|
18
|
-
import "./chunk-WQI7VNN4.js";
|
|
19
19
|
export {
|
|
20
20
|
DOCUMENT_ARTIFACT_MODEL_SCHEMA_VERSION,
|
|
21
21
|
DOCUMENT_ARTIFACT_SNAPSHOT_VERSION,
|
|
@@ -4,12 +4,12 @@ import {
|
|
|
4
4
|
MAX_COMMITTED_TRANSACTION_CELLS,
|
|
5
5
|
MAX_COMMITTED_TRANSACTION_OPERATIONS,
|
|
6
6
|
decodeCommittedTransactionSummary
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
7
|
+
} from "./chunk-GFMEIAB3.js";
|
|
8
|
+
import "./chunk-NJMU6O3S.js";
|
|
9
|
+
import "./chunk-WQI7VNN4.js";
|
|
9
10
|
import {
|
|
10
11
|
COMMITTED_TRANSACTION_PROTOCOL_VERSION
|
|
11
12
|
} from "./chunk-WVCFSOUZ.js";
|
|
12
|
-
import "./chunk-WQI7VNN4.js";
|
|
13
13
|
export {
|
|
14
14
|
COMMITTED_TRANSACTION_PROTOCOL_VERSION,
|
|
15
15
|
MAX_COMMITTED_TRANSACTION_BYTES,
|
|
@@ -2,16 +2,16 @@ import {
|
|
|
2
2
|
EDITABLE_ARTIFACT_INTENT_MAX_BYTES,
|
|
3
3
|
hashEditableArtifactMutationIntentBytes
|
|
4
4
|
} from "./chunk-NVJMJWLL.js";
|
|
5
|
-
import "./chunk-ETVERQ3S.js";
|
|
6
5
|
import "./chunk-TOOJIBJC.js";
|
|
7
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-DJ6PLUZE.js";
|
|
8
7
|
import "./chunk-XP5M3IKT.js";
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-6JVNWADW.js";
|
|
9
|
+
import "./chunk-NJMU6O3S.js";
|
|
10
|
+
import "./chunk-PTSROVDG.js";
|
|
11
|
+
import "./chunk-WQI7VNN4.js";
|
|
11
12
|
import {
|
|
12
13
|
EDITABLE_ARTIFACT_LIVE_WIRE_VERSION
|
|
13
14
|
} from "./chunk-WVCFSOUZ.js";
|
|
14
|
-
import "./chunk-WQI7VNN4.js";
|
|
15
15
|
|
|
16
16
|
// src/editable-artifact-live.ts
|
|
17
17
|
var MAGIC = new TextEncoder().encode("OGALV002");
|
|
@@ -4,18 +4,18 @@ import {
|
|
|
4
4
|
assertCanonicalEditableArtifactSerializedCommit,
|
|
5
5
|
decodeEditableArtifactSerializedCommit,
|
|
6
6
|
encodeEditableArtifactSerializedCommit
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-TR623IYR.js";
|
|
8
8
|
import "./chunk-NVJMJWLL.js";
|
|
9
|
-
import "./chunk-ETVERQ3S.js";
|
|
10
9
|
import "./chunk-TOOJIBJC.js";
|
|
11
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-DJ6PLUZE.js";
|
|
12
11
|
import "./chunk-XP5M3IKT.js";
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-6JVNWADW.js";
|
|
13
|
+
import "./chunk-NJMU6O3S.js";
|
|
14
|
+
import "./chunk-PTSROVDG.js";
|
|
15
|
+
import "./chunk-WQI7VNN4.js";
|
|
15
16
|
import {
|
|
16
17
|
EDITABLE_ARTIFACT_SERIALIZED_COMMIT_VERSION
|
|
17
18
|
} from "./chunk-WVCFSOUZ.js";
|
|
18
|
-
import "./chunk-WQI7VNN4.js";
|
|
19
19
|
export {
|
|
20
20
|
EDITABLE_ARTIFACT_NATIVE_RECEIPT_MAX_BYTES,
|
|
21
21
|
EDITABLE_ARTIFACT_SERIALIZED_COMMIT_MAX_BYTES,
|
|
@@ -13,11 +13,6 @@ import {
|
|
|
13
13
|
hashEditableArtifactMutationIntent,
|
|
14
14
|
hashEditableArtifactMutationIntentBytes
|
|
15
15
|
} from "./chunk-NVJMJWLL.js";
|
|
16
|
-
import {
|
|
17
|
-
EDITABLE_ARTIFACT_CODEC_REGISTRY,
|
|
18
|
-
currentEditableArtifactCompatibility,
|
|
19
|
-
editableArtifactCodecFor
|
|
20
|
-
} from "./chunk-ETVERQ3S.js";
|
|
21
16
|
import {
|
|
22
17
|
EDITABLE_ARTIFACT_CAUSAL_FRONTIER_MAX_BYTES,
|
|
23
18
|
EDITABLE_ARTIFACT_CAUSAL_FRONTIER_MAX_REPLICAS,
|
|
@@ -27,31 +22,10 @@ import {
|
|
|
27
22
|
encodeEditableArtifactCausalFrontier
|
|
28
23
|
} from "./chunk-TOOJIBJC.js";
|
|
29
24
|
import {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
DOCUMENT_ARTIFACT_MAX_STRUCTURAL_COUNTER,
|
|
35
|
-
DOCUMENT_ARTIFACT_MAX_TABLE_CELLS,
|
|
36
|
-
DOCUMENT_ARTIFACT_MAX_TEXT_RUNS,
|
|
37
|
-
DOCUMENT_ARTIFACT_MAX_TEXT_UTF16,
|
|
38
|
-
DOCUMENT_ARTIFACT_QUERY_MAX_BYTES,
|
|
39
|
-
DOCUMENT_ARTIFACT_QUERY_MAX_ITEMS,
|
|
40
|
-
DOCUMENT_ARTIFACT_QUERY_MAX_TABLE_CELLS,
|
|
41
|
-
DOCUMENT_ARTIFACT_QUERY_MAX_TEXT_UTF16,
|
|
42
|
-
DOCUMENT_ARTIFACT_QUERY_RESPONSE_MAX_BYTES,
|
|
43
|
-
DOCUMENT_ARTIFACT_QUERY_RESPONSE_VERSION,
|
|
44
|
-
DOCUMENT_ARTIFACT_QUERY_VERSION,
|
|
45
|
-
assertCanonicalDocumentArtifactCommandBytes,
|
|
46
|
-
assertCanonicalDocumentArtifactQueryBytes,
|
|
47
|
-
assertCanonicalDocumentArtifactQueryResponseBytes,
|
|
48
|
-
decodeDocumentArtifactCommandBatch,
|
|
49
|
-
decodeDocumentArtifactQuery,
|
|
50
|
-
decodeDocumentArtifactQueryResponse,
|
|
51
|
-
encodeDocumentArtifactCommandBatch,
|
|
52
|
-
encodeDocumentArtifactQuery,
|
|
53
|
-
encodeDocumentArtifactQueryResponse
|
|
54
|
-
} from "./chunk-PTSROVDG.js";
|
|
25
|
+
EDITABLE_ARTIFACT_CODEC_REGISTRY,
|
|
26
|
+
currentEditableArtifactCompatibility,
|
|
27
|
+
editableArtifactCodecFor
|
|
28
|
+
} from "./chunk-DJ6PLUZE.js";
|
|
55
29
|
import {
|
|
56
30
|
PRESENTATION_ARTIFACT_COMMAND_MAX_BYTES,
|
|
57
31
|
PRESENTATION_ARTIFACT_COMMAND_MAX_COMMANDS,
|
|
@@ -106,7 +80,7 @@ import {
|
|
|
106
80
|
encodeSpreadsheetMetadataKernelQuery,
|
|
107
81
|
encodeSpreadsheetViewportKernelProjection,
|
|
108
82
|
encodeSpreadsheetViewportKernelQuery
|
|
109
|
-
} from "./chunk-
|
|
83
|
+
} from "./chunk-6JVNWADW.js";
|
|
110
84
|
import {
|
|
111
85
|
SPREADSHEET_ARTIFACT_COMMAND_MAX_BYTES,
|
|
112
86
|
SPREADSHEET_ARTIFACT_COMMAND_MAX_CELLS,
|
|
@@ -121,7 +95,34 @@ import {
|
|
|
121
95
|
editableArtifactStableId,
|
|
122
96
|
encodeSpreadsheetArtifactCommandBatch,
|
|
123
97
|
spreadsheetSheetId
|
|
124
|
-
} from "./chunk-
|
|
98
|
+
} from "./chunk-NJMU6O3S.js";
|
|
99
|
+
import {
|
|
100
|
+
DOCUMENT_ARTIFACT_COMMAND_MAX_BYTES,
|
|
101
|
+
DOCUMENT_ARTIFACT_COMMAND_MAX_COMMANDS,
|
|
102
|
+
DOCUMENT_ARTIFACT_COMMAND_MAX_STRING_BYTES,
|
|
103
|
+
DOCUMENT_ARTIFACT_COMMAND_VERSION,
|
|
104
|
+
DOCUMENT_ARTIFACT_MAX_STRUCTURAL_COUNTER,
|
|
105
|
+
DOCUMENT_ARTIFACT_MAX_TABLE_CELLS,
|
|
106
|
+
DOCUMENT_ARTIFACT_MAX_TEXT_RUNS,
|
|
107
|
+
DOCUMENT_ARTIFACT_MAX_TEXT_UTF16,
|
|
108
|
+
DOCUMENT_ARTIFACT_QUERY_MAX_BYTES,
|
|
109
|
+
DOCUMENT_ARTIFACT_QUERY_MAX_ITEMS,
|
|
110
|
+
DOCUMENT_ARTIFACT_QUERY_MAX_TABLE_CELLS,
|
|
111
|
+
DOCUMENT_ARTIFACT_QUERY_MAX_TEXT_UTF16,
|
|
112
|
+
DOCUMENT_ARTIFACT_QUERY_RESPONSE_MAX_BYTES,
|
|
113
|
+
DOCUMENT_ARTIFACT_QUERY_RESPONSE_VERSION,
|
|
114
|
+
DOCUMENT_ARTIFACT_QUERY_VERSION,
|
|
115
|
+
assertCanonicalDocumentArtifactCommandBytes,
|
|
116
|
+
assertCanonicalDocumentArtifactQueryBytes,
|
|
117
|
+
assertCanonicalDocumentArtifactQueryResponseBytes,
|
|
118
|
+
decodeDocumentArtifactCommandBatch,
|
|
119
|
+
decodeDocumentArtifactQuery,
|
|
120
|
+
decodeDocumentArtifactQueryResponse,
|
|
121
|
+
encodeDocumentArtifactCommandBatch,
|
|
122
|
+
encodeDocumentArtifactQuery,
|
|
123
|
+
encodeDocumentArtifactQueryResponse
|
|
124
|
+
} from "./chunk-PTSROVDG.js";
|
|
125
|
+
import "./chunk-WQI7VNN4.js";
|
|
125
126
|
import {
|
|
126
127
|
DOCUMENT_ARTIFACT_MODEL_SCHEMA_VERSION,
|
|
127
128
|
DOCUMENT_ARTIFACT_SNAPSHOT_VERSION,
|
|
@@ -131,7 +132,6 @@ import {
|
|
|
131
132
|
SPREADSHEET_ARTIFACT_MODEL_SCHEMA_VERSION,
|
|
132
133
|
SPREADSHEET_COLLABORATION_SNAPSHOT_VERSION
|
|
133
134
|
} from "./chunk-WVCFSOUZ.js";
|
|
134
|
-
import "./chunk-WQI7VNN4.js";
|
|
135
135
|
export {
|
|
136
136
|
DOCUMENT_ARTIFACT_COMMAND_MAX_BYTES,
|
|
137
137
|
DOCUMENT_ARTIFACT_COMMAND_MAX_COMMANDS,
|
package/dist/google-drive.js
CHANGED
|
@@ -1,52 +1,52 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ConnectionMetadata
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-QVD27B6P.js";
|
|
4
|
+
import "./chunk-EZMMXU2Z.js";
|
|
5
|
+
import "./chunk-CK33N4MN.js";
|
|
6
|
+
import "./chunk-6IXO76Z6.js";
|
|
5
7
|
import "./chunk-A25JT3JW.js";
|
|
6
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-VGP74254.js";
|
|
9
|
+
import "./chunk-EKWNTOG3.js";
|
|
10
|
+
import "./chunk-2ZIHHL72.js";
|
|
11
|
+
import "./chunk-GFMEIAB3.js";
|
|
12
|
+
import "./chunk-C5E5WCHU.js";
|
|
13
|
+
import "./chunk-ZDCRWCGZ.js";
|
|
14
|
+
import "./chunk-SHO4YO4B.js";
|
|
15
|
+
import "./chunk-4JGHSSB7.js";
|
|
16
|
+
import "./chunk-C6HESWDB.js";
|
|
17
|
+
import "./chunk-NDZHPTCL.js";
|
|
18
|
+
import "./chunk-PUIUXIOL.js";
|
|
7
19
|
import {
|
|
8
20
|
ConnectorDocumentDestination,
|
|
9
21
|
ConnectorDocumentDestinationSelection
|
|
10
22
|
} from "./chunk-LZ2LAHIX.js";
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-XDLAGX66.js";
|
|
13
|
-
import "./chunk-2ZIHHL72.js";
|
|
14
|
-
import "./chunk-D6XFSFSN.js";
|
|
15
|
-
import "./chunk-NDZHPTCL.js";
|
|
16
|
-
import "./chunk-SHO4YO4B.js";
|
|
23
|
+
import "./chunk-YKZ4WU4P.js";
|
|
17
24
|
import "./chunk-4VDMHLLL.js";
|
|
18
|
-
import "./chunk-T3HSWMA5.js";
|
|
19
25
|
import "./chunk-KHHZTBP7.js";
|
|
26
|
+
import "./chunk-SWRN2DJ3.js";
|
|
27
|
+
import "./chunk-HRRU4QPI.js";
|
|
28
|
+
import "./chunk-T3HSWMA5.js";
|
|
29
|
+
import "./chunk-TR623IYR.js";
|
|
20
30
|
import "./chunk-NVJMJWLL.js";
|
|
21
|
-
import "./chunk-ETVERQ3S.js";
|
|
22
31
|
import "./chunk-TOOJIBJC.js";
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-
|
|
32
|
+
import "./chunk-DJ6PLUZE.js";
|
|
33
|
+
import "./chunk-XP5M3IKT.js";
|
|
34
|
+
import "./chunk-6JVNWADW.js";
|
|
35
|
+
import "./chunk-NJMU6O3S.js";
|
|
27
36
|
import "./chunk-OL23ARTF.js";
|
|
28
|
-
import "./chunk-
|
|
29
|
-
import "./chunk-
|
|
30
|
-
import "./chunk-
|
|
31
|
-
import "./chunk-
|
|
32
|
-
import "./chunk-ZDCRWCGZ.js";
|
|
33
|
-
import "./chunk-SWRN2DJ3.js";
|
|
34
|
-
import "./chunk-HRRU4QPI.js";
|
|
35
|
-
import "./chunk-ZYVEJFNU.js";
|
|
37
|
+
import "./chunk-7272KVWZ.js";
|
|
38
|
+
import "./chunk-RKX3NQYS.js";
|
|
39
|
+
import "./chunk-XDLAGX66.js";
|
|
40
|
+
import "./chunk-J4HQ3UKY.js";
|
|
36
41
|
import "./chunk-PTSROVDG.js";
|
|
42
|
+
import "./chunk-WQI7VNN4.js";
|
|
43
|
+
import "./chunk-D6XFSFSN.js";
|
|
44
|
+
import "./chunk-TSWWZMUS.js";
|
|
37
45
|
import "./chunk-4QO6GJUX.js";
|
|
38
|
-
import "./chunk-EKWNTOG3.js";
|
|
39
46
|
import {
|
|
40
47
|
defineSchema
|
|
41
48
|
} from "./chunk-56SNIMDO.js";
|
|
42
|
-
import "./chunk-XP5M3IKT.js";
|
|
43
|
-
import "./chunk-PUIUXIOL.js";
|
|
44
|
-
import "./chunk-RKX3NQYS.js";
|
|
45
|
-
import "./chunk-7272KVWZ.js";
|
|
46
|
-
import "./chunk-W3NBPR4E.js";
|
|
47
|
-
import "./chunk-RUQ4I6DO.js";
|
|
48
49
|
import "./chunk-WVCFSOUZ.js";
|
|
49
|
-
import "./chunk-WQI7VNN4.js";
|
|
50
50
|
|
|
51
51
|
// src/google-drive.ts
|
|
52
52
|
import { z } from "zod";
|