@dvina/sdk 3.3.124
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/LICENSE +21 -0
- package/README.md +449 -0
- package/dist/_generated_documents-DF34ZUJ3.js +4 -0
- package/dist/_generated_documents-DF34ZUJ3.js.map +1 -0
- package/dist/_generated_documents-W4RHWJ4B.cjs +2041 -0
- package/dist/_generated_documents-W4RHWJ4B.cjs.map +1 -0
- package/dist/adapters/angular/index.cjs +163 -0
- package/dist/adapters/angular/index.cjs.map +1 -0
- package/dist/adapters/angular/index.d.cts +254 -0
- package/dist/adapters/angular/index.d.ts +254 -0
- package/dist/adapters/angular/index.js +159 -0
- package/dist/adapters/angular/index.js.map +1 -0
- package/dist/adapters/react/index.cjs +51 -0
- package/dist/adapters/react/index.cjs.map +1 -0
- package/dist/adapters/react/index.d.cts +62 -0
- package/dist/adapters/react/index.d.ts +62 -0
- package/dist/adapters/react/index.js +49 -0
- package/dist/adapters/react/index.js.map +1 -0
- package/dist/billing/index.cjs +26 -0
- package/dist/billing/index.cjs.map +1 -0
- package/dist/billing/index.d.cts +338 -0
- package/dist/billing/index.d.ts +338 -0
- package/dist/billing/index.js +5 -0
- package/dist/billing/index.js.map +1 -0
- package/dist/chunk-4QKWHQT2.cjs +104 -0
- package/dist/chunk-4QKWHQT2.cjs.map +1 -0
- package/dist/chunk-5WRI5ZAA.js +29 -0
- package/dist/chunk-5WRI5ZAA.js.map +1 -0
- package/dist/chunk-7JUBGIQ2.js +1008 -0
- package/dist/chunk-7JUBGIQ2.js.map +1 -0
- package/dist/chunk-7XBJ77RJ.js +103 -0
- package/dist/chunk-7XBJ77RJ.js.map +1 -0
- package/dist/chunk-DHUFVGJR.cjs +20389 -0
- package/dist/chunk-DHUFVGJR.cjs.map +1 -0
- package/dist/chunk-DZUJEN5N.cjs +32 -0
- package/dist/chunk-DZUJEN5N.cjs.map +1 -0
- package/dist/chunk-GDK2HJTF.cjs +1346 -0
- package/dist/chunk-GDK2HJTF.cjs.map +1 -0
- package/dist/chunk-KG3GNTYI.js +1339 -0
- package/dist/chunk-KG3GNTYI.js.map +1 -0
- package/dist/chunk-KV5SP7RP.cjs +114 -0
- package/dist/chunk-KV5SP7RP.cjs.map +1 -0
- package/dist/chunk-NPIKZKLU.cjs +27 -0
- package/dist/chunk-NPIKZKLU.cjs.map +1 -0
- package/dist/chunk-OAAZZUYL.cjs +1517 -0
- package/dist/chunk-OAAZZUYL.cjs.map +1 -0
- package/dist/chunk-P4BYTXZ7.js +98 -0
- package/dist/chunk-P4BYTXZ7.js.map +1 -0
- package/dist/chunk-PDM2KR7T.js +392 -0
- package/dist/chunk-PDM2KR7T.js.map +1 -0
- package/dist/chunk-QOZI2HY5.js +24 -0
- package/dist/chunk-QOZI2HY5.js.map +1 -0
- package/dist/chunk-RFBLNKW6.js +20035 -0
- package/dist/chunk-RFBLNKW6.js.map +1 -0
- package/dist/chunk-UELAE75E.cjs +408 -0
- package/dist/chunk-UELAE75E.cjs.map +1 -0
- package/dist/client-9Rwj21T9.d.cts +77 -0
- package/dist/client-Bskq7sc_.d.ts +77 -0
- package/dist/client-CLhQragb.d.cts +446 -0
- package/dist/client-CLhQragb.d.ts +446 -0
- package/dist/error-CsVoUTY8.d.cts +95 -0
- package/dist/error-CsVoUTY8.d.ts +95 -0
- package/dist/index-BrGSfyXq.d.cts +79 -0
- package/dist/index-zPcVLagO.d.ts +79 -0
- package/dist/index.cjs +1675 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +9943 -0
- package/dist/index.d.ts +9943 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/inference/index.cjs +70 -0
- package/dist/inference/index.cjs.map +1 -0
- package/dist/inference/index.d.cts +80 -0
- package/dist/inference/index.d.ts +80 -0
- package/dist/inference/index.js +5 -0
- package/dist/inference/index.js.map +1 -0
- package/dist/pagination/index.cjs +34 -0
- package/dist/pagination/index.cjs.map +1 -0
- package/dist/pagination/index.d.cts +6 -0
- package/dist/pagination/index.d.ts +6 -0
- package/dist/pagination/index.js +5 -0
- package/dist/pagination/index.js.map +1 -0
- package/dist/sync-engine-DVKQO-1-.d.cts +423 -0
- package/dist/sync-engine-cLwTqdjv.d.ts +423 -0
- package/dist/types-2RotD0Ab.d.cts +102 -0
- package/dist/types-2RotD0Ab.d.ts +102 -0
- package/package.json +143 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/error.ts"],"names":[],"mappings":"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","file":"chunk-KV5SP7RP.cjs","sourcesContent":["/**\n * Base error class for all Dvina SDK errors.\n */\nexport class DvinaError extends Error {\n\t/** The original error, if any */\n\tpublic readonly cause?: Error;\n\n\tconstructor(message: string, cause?: Error) {\n\t\tsuper(message);\n\t\tthis.name = 'DvinaError';\n\t\tthis.cause = cause;\n\t}\n}\n\n/**\n * Error thrown when the GraphQL response contains errors.\n */\nexport class DvinaGraphQLError extends DvinaError {\n\t/** The raw GraphQL errors array */\n\tpublic readonly errors: readonly GraphQLErrorEntry[];\n\t/** The query that caused the error (for debugging) */\n\tpublic readonly query?: string;\n\t/** The variables that were passed */\n\tpublic readonly variables?: Record<string, unknown>;\n\n\tconstructor(errors: readonly GraphQLErrorEntry[], query?: string, variables?: Record<string, unknown>) {\n\t\tconst message = errors.map((e) => e.message).join('; ') || 'Unknown GraphQL error';\n\t\tsuper(message);\n\t\tthis.name = 'DvinaGraphQLError';\n\t\tthis.errors = errors;\n\t\tthis.query = query;\n\t\tthis.variables = variables;\n\t}\n}\n\n/**\n * Error thrown on network failures (connection refused, timeout, etc.)\n */\nexport class DvinaNetworkError extends DvinaError {\n\t/** HTTP status code, if available */\n\tpublic readonly status?: number;\n\n\tconstructor(message: string, status?: number, cause?: Error) {\n\t\tsuper(message, cause);\n\t\tthis.name = 'DvinaNetworkError';\n\t\tthis.status = status;\n\t}\n}\n\n/**\n * Error thrown when authentication fails (401/403).\n */\nexport class DvinaAuthenticationError extends DvinaError {\n\t/** The token that was used when the auth error occurred (for stale-token detection). */\n\tpublic readonly failedToken?: string;\n\n\tconstructor(message = 'Authentication failed', failedTokenOrCause?: string | Error, cause?: Error) {\n\t\tsuper(message, typeof failedTokenOrCause === 'string' ? cause : failedTokenOrCause);\n\t\tthis.name = 'DvinaAuthenticationError';\n\t\tthis.failedToken = typeof failedTokenOrCause === 'string' ? failedTokenOrCause : undefined;\n\t}\n}\n\n// ─── GraphQL Business Error Codes ────────────────────────────────────────────\n\n/**\n * Known GraphQL error codes returned by the Dvina API in `extensions.code`.\n * Used for programmatic matching in SDK error detection.\n */\nexport const GRAPHQL_ERROR_CODES = {\n\tSESSION_TOKEN_LIMIT_REACHED: 'SESSION_TOKEN_LIMIT_REACHED',\n\tSTORAGE_LIMIT_REACHED: 'STORAGE_LIMIT_REACHED',\n\tDEEP_ANALYSIS_LIMIT_EXCEEDED: 'DEEP_ANALYSIS_LIMIT_EXCEEDED',\n\tPLAN_DETAIL_RESTRICTION: 'PLAN_DETAIL_RESTRICTION',\n\tRESOURCE_NOT_FOUND: 'RESOURCE_NOT_FOUND',\n} as const;\n\n/** Codes that indicate a plan/billing restriction. */\nconst PLAN_RESTRICTION_CODES = new Set<string>([\n\tGRAPHQL_ERROR_CODES.PLAN_DETAIL_RESTRICTION,\n\tGRAPHQL_ERROR_CODES.STORAGE_LIMIT_REACHED,\n\tGRAPHQL_ERROR_CODES.DEEP_ANALYSIS_LIMIT_EXCEEDED,\n]);\n\n// ─── GraphQL Business Error Subclasses ───────────────────────────────────────\n\n/**\n * Base class for plan/billing restriction errors.\n * Thrown when the workspace exceeds a plan limit (storage, capabilities, deep analysis).\n *\n * Consumers can `catch (e) { if (e instanceof DvinaPlanRestrictionError) showUpgradeDialog(); }`\n */\nexport class DvinaPlanRestrictionError extends DvinaGraphQLError {\n\t/** The specific restriction code (e.g. 'PLAN_DETAIL_RESTRICTION') */\n\tpublic readonly restrictionCode: string;\n\n\tconstructor(\n\t\terrors: readonly GraphQLErrorEntry[],\n\t\trestrictionCode: string,\n\t\tquery?: string,\n\t\tvariables?: Record<string, unknown>,\n\t) {\n\t\tsuper(errors, query, variables);\n\t\tthis.name = 'DvinaPlanRestrictionError';\n\t\tthis.restrictionCode = restrictionCode;\n\t}\n}\n\n/**\n * Error thrown when the chat session token limit is reached (SESSION_TOKEN_LIMIT_REACHED).\n * Distinct from inference quota — this is a per-session GraphQL limit.\n */\nexport class DvinaTokenLimitError extends DvinaGraphQLError {\n\tconstructor(errors: readonly GraphQLErrorEntry[], query?: string, variables?: Record<string, unknown>) {\n\t\tsuper(errors, query, variables);\n\t\tthis.name = 'DvinaTokenLimitError';\n\t}\n}\n\n/**\n * Error thrown when a requested resource is not found (RESOURCE_NOT_FOUND).\n */\nexport class DvinaNotFoundError extends DvinaGraphQLError {\n\tconstructor(errors: readonly GraphQLErrorEntry[], query?: string, variables?: Record<string, unknown>) {\n\t\tsuper(errors, query, variables);\n\t\tthis.name = 'DvinaNotFoundError';\n\t}\n}\n\n// ─── Error Detection Helpers ─────────────────────────────────────────────────\n\n/**\n * Extract the first extension code from a list of GraphQL errors (normalized to uppercase).\n * Returns `undefined` if no code is present.\n */\nexport function extractErrorCode(errors: readonly GraphQLErrorEntry[]): string | undefined {\n\tfor (const err of errors) {\n\t\tconst raw = err.extensions?.['code'];\n\t\tif (raw !== undefined && raw !== null) {\n\t\t\treturn String(raw).toUpperCase();\n\t\t}\n\t}\n\treturn undefined;\n}\n\n/**\n * Create the appropriate `DvinaGraphQLError` subclass for the given errors,\n * or return a generic `DvinaGraphQLError` if no specific match is found.\n */\nexport function createGraphQLError(\n\terrors: readonly GraphQLErrorEntry[],\n\tquery?: string,\n\tvariables?: Record<string, unknown>,\n): DvinaGraphQLError {\n\tconst code = extractErrorCode(errors);\n\n\tif (code === GRAPHQL_ERROR_CODES.SESSION_TOKEN_LIMIT_REACHED) {\n\t\treturn new DvinaTokenLimitError(errors, query, variables);\n\t}\n\n\tif (code === GRAPHQL_ERROR_CODES.RESOURCE_NOT_FOUND) {\n\t\treturn new DvinaNotFoundError(errors, query, variables);\n\t}\n\n\tif (code && PLAN_RESTRICTION_CODES.has(code)) {\n\t\treturn new DvinaPlanRestrictionError(errors, code, query, variables);\n\t}\n\n\treturn new DvinaGraphQLError(errors, query, variables);\n}\n\n// ─── Types ───────────────────────────────────────────────────────────────────\n\n/**\n * Shape of a single GraphQL error in the response.\n */\nexport interface GraphQLErrorEntry {\n\tmessage: string;\n\tlocations?: readonly { line: number; column: number }[];\n\tpath?: readonly (string | number)[];\n\textensions?: Record<string, unknown>;\n}\n"]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunk4QKWHQT2_cjs = require('./chunk-4QKWHQT2.cjs');
|
|
4
|
+
|
|
5
|
+
// src/pagination/helpers.ts
|
|
6
|
+
function extractNodes(connection) {
|
|
7
|
+
return connection.nodes;
|
|
8
|
+
}
|
|
9
|
+
function mergeConnections(first, second) {
|
|
10
|
+
return new chunk4QKWHQT2_cjs.Connection(
|
|
11
|
+
first._request,
|
|
12
|
+
second._fetch,
|
|
13
|
+
[...first.nodes, ...second.nodes],
|
|
14
|
+
new chunk4QKWHQT2_cjs.PageInfo({
|
|
15
|
+
hasNextPage: second.pageInfo.hasNextPage,
|
|
16
|
+
hasPreviousPage: first.pageInfo.hasPreviousPage,
|
|
17
|
+
startCursor: first.pageInfo.startCursor,
|
|
18
|
+
endCursor: second.pageInfo.endCursor
|
|
19
|
+
}),
|
|
20
|
+
second.totalCount ?? first.totalCount
|
|
21
|
+
);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
exports.extractNodes = extractNodes;
|
|
25
|
+
exports.mergeConnections = mergeConnections;
|
|
26
|
+
//# sourceMappingURL=chunk-NPIKZKLU.cjs.map
|
|
27
|
+
//# sourceMappingURL=chunk-NPIKZKLU.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/pagination/helpers.ts"],"names":["Connection","PageInfo"],"mappings":";;;;;AAKO,SAAS,aAAgB,UAAA,EAAgC;AAC/D,EAAA,OAAO,UAAA,CAAW,KAAA;AACnB;AAQO,SAAS,gBAAA,CAAoB,OAAsB,MAAA,EAAsC;AAC/F,EAAA,OAAO,IAAIA,4BAAA;AAAA,IACT,KAAA,CAAc,QAAA;AAAA,IACd,MAAA,CAAe,MAAA;AAAA,IAChB,CAAC,GAAG,KAAA,CAAM,KAAA,EAAO,GAAG,OAAO,KAAK,CAAA;AAAA,IAChC,IAAIC,0BAAA,CAAS;AAAA,MACZ,WAAA,EAAa,OAAO,QAAA,CAAS,WAAA;AAAA,MAC7B,eAAA,EAAiB,MAAM,QAAA,CAAS,eAAA;AAAA,MAChC,WAAA,EAAa,MAAM,QAAA,CAAS,WAAA;AAAA,MAC5B,SAAA,EAAW,OAAO,QAAA,CAAS;AAAA,KAC3B,CAAA;AAAA,IACD,MAAA,CAAO,cAAc,KAAA,CAAM;AAAA,GAC5B;AACD","file":"chunk-NPIKZKLU.cjs","sourcesContent":["import { PageInfo, Connection } from './connection.js';\n\n/**\n * Extract all nodes from a connection.\n */\nexport function extractNodes<T>(connection: Connection<T>): T[] {\n\treturn connection.nodes;\n}\n\n/**\n * Merge two connections into a new connection. Appends the second connection's\n * nodes after the first's. Uses the second connection's end cursor and hasNextPage.\n *\n * Neither input connection is modified.\n */\nexport function mergeConnections<T>(first: Connection<T>, second: Connection<T>): Connection<T> {\n\treturn new Connection<T>(\n\t\t(first as any)._request,\n\t\t(second as any)._fetch,\n\t\t[...first.nodes, ...second.nodes],\n\t\tnew PageInfo({\n\t\t\thasNextPage: second.pageInfo.hasNextPage,\n\t\t\thasPreviousPage: first.pageInfo.hasPreviousPage,\n\t\t\tstartCursor: first.pageInfo.startCursor,\n\t\t\tendCursor: second.pageInfo.endCursor,\n\t\t}),\n\t\tsecond.totalCount ?? first.totalCount,\n\t);\n}\n"]}
|